Searching \ for '[PIC] MP3 Player was [OT] You got to read this in' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: www.piclist.com/techref/microchip/devices.htm?key=pic
Search entire site for: 'MP3 Player was [OT] You got to read this in'.

Exact match. Not showing close matches.
PICList Thread
'[PIC] MP3 Player was [OT] You got to read this in '
2006\02\21@111801 by Mario Mendes Jr.

flavicon
face

> Sure as hell doesn't keep "mad people" away though. Me for example - "Mr. I'm
> Going To Build An MP3 Player Because It Looks Like Fun". I've got the CPU,
> the CODEC is in the post, now I just need to find that pesky 11.2896MHz
> (or 16.9344MHz) crystal for the CODEC's clock circuit, and some power supply
> components.
>
> Separate 3.3V AVDD/DVDD, plus 5V for the hard drive. Maybe with a 10F202 to
> sequence them on startup, and an 18F4550 for the USB->ATA interface.


Wow, I'm [was] going through the same thing.  I even got an 18f4550 to read
and write to the hdd (with and without an 8255) but gave up when I had to come
up with a way to do dynamic memory management and had to learn yet one more
thing, how to build a dram controller with a cpld or the like.  I was just one
more thing to add to the list of "must learn and master" things prior to
getting the thing finished.  Then I decided to take someonelse's tip to use
static ram, but then it would no longer be small enough to carry it around.

The breadboard is still there sitting on my bench waiting for me to sit down
one day and continue on, but I decided I don't absolutely need to build this,
I don't even need an mp3 player, since I already have a laptop in the car.

I guess it is true what they say, "don't pick a project too big when you first
start" =)

I do love the "I built it from scratch myself" pride factor though.  So I keep
on building things that I have no real need for, but they're still neat =)

-Mario

2006\02\21@152441 by Philip Pemberton

face picon face
In message <spam_OUT54179.12.38.198.125.1140538680.squirrelTakeThisOuTspamwebmail.saturn.lunarpages.com>>          "Mario Mendes Jr." <.....marioKILLspamspam@spam@mmendes.com> wrote:

> Wow, I'm [was] going through the same thing.  I even got an 18f4550 to read
> and write to the hdd (with and without an 8255) but gave up when I had to come
> up with a way to do dynamic memory management and had to learn yet one more
> thing, how to build a dram controller with a cpld or the like.

Here's how I'm doing it:

                   [ Samsung LTS180S3-HF1 TFT LCD ]
                                 |
[ 16Fsomething ]-----------[ ColdFire CPU ]------*----[ Laptop hard drive ]
      |                          |              |        |
[ Switches, PSU ]      [ Wolfson WM8731 CODEC ]  +---[ 18F4550 ]---[ USB ]
[ and battery   ]                 |
[ management    ]           [ Headphones ]


The 16F links the low-level UI components to the ColdFire via I2C (or maybe
SPI). It also manages the power supply sequencing and interrogates the
battery's charge gauge IC.

The ColdFire is an SCF5250, which has an onboard sound codec. Feed it audio
data, and it serialises it and feeds it to the DAC automagically. It also has
(IIRC) onboard SPI and I2C, which is used not only to communicate with the
16F, but also to control the CODEC (volume, recording mode, etc.)

When the USB cable is connected, the 4550 powers up and immediately signals
the ColdFire to ask it to release the ATA bus. Where possible, the ColdFire
releases the bus, disables the buffer and passes control over to the 4550.
The 4550 then enables its I/O lines, probes the hard drive and enables the
USB controller. This stops the contents of the drive changing while the
Coldfire is reading from the disc. I might run the "negotiation" section
through the 16F - if only so I can add USB battery charging via a Maxim
MAX1811 chip. Charging a 2Ah lithium-ion cell at 100mA might take a while
though, so I'll probably add a socket for a 1A 5V AC adapter too.

Did I mention the ColdFire has an onboard SDRAM controller? Oh yes. Wire it
straight to the SDRAM and watch the fun.

The big reason I want to build the player is because I'm getting sick of
swapping minidiscs. "Hmm, I fancy a bit of Bon Jovi this morning... DAMN!
That's on the MD I left on the kitchen table!"

Plus I can't find any nice players that support Ogg files. It's all MP3 and
WMA and AAC. Sure, I like the iPod, but I don't like having to transcode (or
re-rip) my music to MP3 or AAC to play it -- nearly all the stuff on my PC is
in Ogg format.

Firmware-wise, I'm going to port Rockbox - <http://www.rockbox.org/>. Some of
the iAudio hardware is similar to my design, so most of it can be ported over
and the memory map tweaked. All I really need to write is the LCD/HID driver.

> I guess it is true what they say, "don't pick a project too big when you first
> start" =)

:P

> I do love the "I built it from scratch myself" pride factor though.  So I keep
> on building things that I have no real need for, but they're still neat =)

The big problem at the moment is finding a small hard drive. I'll probably
just make the whole thing the same sort of size as a 2.5" HDD and say to hell
with the size. As long as it fits in my (rather large) coat pocket, I don't
much care.

Like I said, I can get Flash and SDRAM chips from Farnell. The big problem
is going to be getting my mitts on some suitable clock crystals to drive the
CPU and CODEC (the latter is more critical). I can use either an 11.2896MHz
or 16.9344MHz parallel-resonant fundamental-mode crystal for the CODEC, but
I'm not sure about the CPU yet.

Comments?

Thanks.
--
Phil.                         | Kitsune: Acorn RiscPC SA202 64M+6G ViewFinder
philpemspamKILLspamdsl.pipex.com         | Cheetah: Athlon64 3200+ A8VDeluxeV2 512M+100G
http://www.philpem.me.uk/     | Tiger: Toshiba SatPro4600 Celeron700 256M+40G
... Don't use a big word where a diminutive one will suffice.

2006\02\21@154655 by Marcel Birthelmer

picon face
I just wanted to point out that there's an Atmel that has built-in USB
(device) and mp3 decoder and a good amount of CPU power. You can find it on
their website.

On 2/21/06, Philip Pemberton <.....philpemKILLspamspam.....dsl.pipex.com> wrote:
{Quote hidden}

> -

2006\02\21@155803 by James Humes

picon face
Also, I think the same device has an on-board MMC port that operates at full
speed (instead of SPI like you see a lot of).




On 2/21/06, Marcel Birthelmer <KILLspammarcelb.listsKILLspamspamgmail.com> wrote:
>
> I just wanted to point out that there's an Atmel that has built-in USB
> (device) and mp3 decoder and a good amount of CPU power. You can find it
> on
> their website.
>

2006\02\21@161336 by Mario Mendes Jr.
flavicon
face
I started with just an 16f877

            [generic 4x40 lcd]
                    |
[switches]-------[16F877]-------[8255]-------[hdd]
                    |
                 [sta013]
                    |
               [dac cs4340]

Then I wanted the possibility of usb so I switched the pic to an 18f4550 and
at the same time removed the 8255 for speed, but that eliminated a bunch of io
lines which then led me to investigate an ADC type keyboard, where each key
would generate a different voltage with a resistor matrix.

As I started the work, I realized that I needed a way to cache large chuncks
of data in order to both free up the pic from always being busy issuing ata
commands to read the data and also to let the drive go to sleep to save power.
This is when I started to investigate the dram and using the old 72-pin
computer simms and found out I had to now leard about cpld/fpga to control the
dram.  So sram became the choice, and I quickly became discouraged by the
amount of chips I was going to need to have a sizeable cache of sorts to
maintain the file system and cache.

>From there I investigated other ways to do it, including an atmel at89c51snd1c
which has an ide controler, usb, lcd driver, and mp3 decoding in it, but had
the problem with the 3.3v cpu with the 5v hdd as I could not find any readly
available 3.3v hdds in the market (maybe I just did not look hard enough), but
the atmel chip still did not have a dram controler in it.

At this point I started to look for cpus with dram controllers built-in, and
even looked at some possibilities of using an ARM cpu, but this is when I
remembered I had a dell laptop gathering dust in my office since I had bought
a new one for work, so I decided to put it to some good use.  I put it in the
car with ms streets and trips and a gps sensor to go with it, a g wireless
card, and a radio shack fm transmiter to trasmit the mp3s to the radio.  It is
onlya PIII 533MHz running XP, but since it only plays mp3s and works as a gps
receiver is it more than enough.  Best of all, it was free as it had been
given to me by one of my past employers when I left and they had no more use
for it.

-Mario


{Quote hidden}

>> --

2006\02\21@162702 by Philip Pemberton

face picon face
In message <4545d0e0602211246q45b4c3d6u15f02ade197c3e49EraseMEspam.....mail.gmail.com>>          "Marcel Birthelmer" <EraseMEmarcelb.listsspamgmail.com> wrote:

> I just wanted to point out that there's an Atmel that has built-in USB
> (device) and mp3 decoder and a good amount of CPU power. You can find it on
> their website.

And - like most Atmel stuff - it's likely to be manufactured from 99.9993%
pure refined Unobtainium. Well, that or it'll have a 21-week lead time while
they refine the unobtainium to the proper purity...

Re-read that sentence you wrote - "mp3" and "decoder" are the operative
words. Now read my message again - notice I said I wanted it to play Oggs.
You need a serious amount of CPU horsepower to get Tremor running in
realtime; even more if you consider you need to handle audio buffering too.
Ideally, you want somewhere between 1.25 and 2x realtime so you can keep the
buffer reasonably full during playback, even if the HDD stutters.

--
Phil.                         | Kitsune: Acorn RiscPC SA202 64M+6G ViewFinder
RemoveMEphilpemEraseMEspamEraseMEdsl.pipex.com         | Cheetah: Athlon64 3200+ A8VDeluxeV2 512M+100G
http://www.philpem.me.uk/     | Tiger: Toshiba SatPro4600 Celeron700 256M+40G
... The future is like the present, only longer.

2006\02\21@165639 by Mario Mendes Jr.

flavicon
face
The atmel at89c51snd1c is pretty easy to purchase, they're were available at
digikey when I purchased 2 of them for playing around (I fried one though).
Now the 2c version is another story.  But you're right, it's only got the mp3
decoder and you'd have to deal with oggs in software, so no good for you.

-Mario


{Quote hidden}

> -

2006\02\21@191933 by Bill & Pookie

picon face
Not sure what a cpld is, but the apple II had a interesting way of
refreshing it's dynamic memory.  The screen text/pixels were stored in
memory is such a way that as it read the 40x24 characters to display them,
it was using the proper address lines to refresh all the memory chips.

Bill

{Original Message removed}

2006\02\23@033940 by Chen Xiao Fan

face
flavicon
face


> -----Original Message-----
> From: RemoveMEpiclist-bouncesKILLspamspammit.edu
> [piclist-bouncesSTOPspamspamspam_OUTmit.edu]On Behalf Of Philip Pemberton
>
>Here's how I'm doing it:
>
>                    [ Samsung LTS180S3-HF1 TFT LCD ]
>                                  |
>[ 16Fsomething ]-----------[ ColdFire CPU ]------*----[ Laptop hard drive ]
>       |                          |              |        |
>[ Switches, PSU ]      [ Wolfson WM8731 CODEC ]  +---[ 18F4550 ]---[ USB ]
>[ and battery   ]                 |
>[ management    ]           [ Headphones ]

Wow this is a huge project. Just one question, why do you need the
first 16F? I guess the 18F4550 has enough power to handle

>Firmware-wise, I'm going to port Rockbox - <http://www.rockbox.org/>. Some of
>the iAudio hardware is similar to my design, so most of it can be ported over
>and the memory map tweaked. All I really need to write is the LCD/HID driver.

They are quite some examples for 18F4550 for LCD/HID function. Check for
Microchip Forum USB section. A guy named "yts" has posted some example
codes.

A guy named Holger Klabunde also has a USB CDC based LCD codes for
18F2550. He has a CrystalFontz Display emulation example and a
Matrix Orbital Display emulation example. I forgot where I got
his demo codes. Most likely I got it from Microchip Forum as well.

Regards,
Xiaofan

More... (looser matching)
- Last day of these posts
- In 2006 , 2007 only
- Today
- New search...