Forums

MP3 Decoding from flashcard without decoder chip

Started by Unknown May 9, 2006
I'd appreciate some pointers to sites which could explain to me some
details on
1. Using a flash card (i.e. SD) to store MP3 data
2. Using a (powerful, i.e. PowerPC) controller to read the bit stream
3. Perform the decoding, outputting to a DAC

Point three I can find much info but I'm having problems finding info
on one and two. I'm interested if a TOC or similar is used on the flash
devices in order for the host controller to determine the number of
tracks etc.

Any links would be appreciated.

Thanks

myusenetaccount@yahoo.co.uk wrote:
> I'd appreciate some pointers to sites which could explain to me some > details on > 1. Using a flash card (i.e. SD) to store MP3 data
Easiest way is to get a USB SD reader.
> 2. Using a (powerful, i.e. PowerPC) controller to read the bit stream
Of course, you need USB host support on the PPC.
> 3. Perform the decoding, outputting to a DAC > > Point three I can find much info but I'm having problems finding info > on one and two. I'm interested if a TOC or similar is used on the flash > devices in order for the host controller to determine the number of > tracks etc.
MP3s are files, not tracks, in most implementations.
> > Any links would be appreciated. > > Thanks
linnix wrote:

> > 1. Using a flash card (i.e. SD) to store MP3 data > > Easiest way is to get a USB SD reader.
Depends on the PowerPC. Easiest way is more likely to use GPIOs or the on-chip SPI controller, if they have any.
>> Point three I can find much info but I'm having problems finding info >> on one and two. I'm interested if a TOC or similar is used on the flash >> devices in order for the host controller to determine the number of >> tracks etc.
>MP3s are files, not tracks, in most implementations.
Yep of course. Sorry. So the controller would look through the files on the external file system reading header info from each mp3 file to determine track name / lenght etc. Right? Any links to how this is done in practice?
>Depends on the PowerPC. Easiest way is more likely to use GPIOs or the >on-chip SPI controller, if they have any.
Yep the idea is to use the SPI for this purpose.
> Any links to how this is done in practice?
look for yampp d.
MyUsenetAccount wrote:
> >> Point three I can find much info but I'm having problems finding info > >> on one and two. I'm interested if a TOC or similar is used on the flash > >> devices in order for the host controller to determine the number of > >> tracks etc. > > >MP3s are files, not tracks, in most implementations. > > Yep of course. Sorry. So the controller would look through the files on > the external file system reading header info from each mp3 file to > determine track name / lenght etc. Right?
Yes, there is a header at the beginning of each mp3 file.
> Any links to how this is done in practice?
Same as reading/writing any files on the flash, usually FAT file system. Most OS would have FAT fs on USB drives/readers. You might have to do it yourself on SPI.
> > >Depends on the PowerPC. Easiest way is more likely to use GPIOs or the > >on-chip SPI controller, if they have any. > Yep the idea is to use the SPI for this purpose.
linnix wrote:

> Most OS would have FAT fs on USB drives/readers. You might have > to do it yourself on SPI.
What is with this USB fetish? Most OS that have a FAT filesystem would be properly designed, with a layered driver model. The filesystem driver would not care if it is reading from SPI or from USB or from anything else, for that matter. As a point of order, a "USB" block device is really an ATAPI device on top of a USB transport layer.
>> Any links to how this is done in practice?
>look for yampp
Thanks but this implementation uses a dedicated decoding chip. I'm looking for infos on using a controller to do this. innix wrote:
> Most OS would have FAT fs on USB drives/readers. You might have > to do it yourself on SPI.
>What is with this USB fetish?
>>Most OS that have a FAT filesystem would be properly designed, with a >>layered driver model. The filesystem driver would not care if it is >>reading from SPI or from USB or from anything else, for that matter.
>>As a point of order, a "USB" block device is really an ATAPI device on >>top of a USB transport layer.
So I require a fat32 file system on the controller which uses the SPI driver to read the files back. I should check the interface that the file system requires the SPI driver to support, right? I gather that NOT all file systems expect the same interface or is it OS dependant? Thank
>> Any links to how this is done in practice?
>look for yampp
Thanks but this implementation uses a dedicated decoding chip. I'm looking for infos on using a controller to do this. innix wrote:
> Most OS would have FAT fs on USB drives/readers. You might have > to do it yourself on SPI.
>What is with this USB fetish?
>>Most OS that have a FAT filesystem would be properly designed, with a >>layered driver model. The filesystem driver would not care if it is >>reading from SPI or from USB or from anything else, for that matter.
>>As a point of order, a "USB" block device is really an ATAPI device on >>top of a USB transport layer.
So I require a fat32 file system on the controller which uses the SPI driver to read the files back. I should check the interface that the file system requires the SPI driver to support, right? I gather that NOT all file systems expect the same interface or is it OS dependant? Thanks
MyUsenetAccount wrote:

> >>Most OS that have a FAT filesystem would be properly designed, with a > >>layered driver model. The filesystem driver would not care if it is > >>reading from SPI or from USB or from anything else, for that matter. > > So I require a fat32 file system on the controller which uses the SPI > driver to read the files back. I should check the interface that the > file system requires the SPI driver to support, right? I gather that > NOT all file systems expect the same interface or is it OS dependant?
The interface between FS and block device driver is OS dependent. If you are not using an OS, one free FAT filesystem for you to play with is mine, http://www.zws.com/products/dosfs/