[SOLVED] AVR mp3 player project

Status
Not open for further replies.

3wais

Member level 4
Joined
Sep 12, 2011
Messages
70
Helped
3
Reputation
6
Reaction score
3
Trophy points
1,288
Location
Alexandria,Egypt
Visit site
Activity points
1,787
I want to make an mp3 player using avr but I have some questions .


I have seen many on the internet using some mp3 decoder ICs. Can the decoding be done on software (16Mhz atmega) aside with controlling a graphical LCD and keypad or pushbuttons (is the processing speed sufficient)?

Also do I have to use a RTOS ?? generally how to decide whether to use RTOS or not ??
 

I doubt that it is possible to achieve on an ATmega, at least not for real-time processing.
This is why people use a decoder ic, or a far more powerful CPU - plus you'd need more RAM than
available on a usual ATmega..
 
Last edited:

Maybe, but you have to ask yourself, do you have the expertise (and time) to take the specification and write the C code to decode MP3?
If not, then you may wish to use open source. If you go down that road, then chances are that most open source implementations may use (in places) functions that are part of libraries available for Linux. So, you'd have to either run Linux on your CPU, or alternatively write those functions yourself.
If you are willing to do that, then yes a 120MHz CPU may do the job possibly. I don't know anything about ST
devices, so if you went the Linux route then of course the device must be capable of that - does it have a memory
management unit? If not, then you can't run conventional Linux on it anyway...
 
Reactions: 3wais

    3wais

    Points: 2
    Helpful Answer Positive Rating
I have seen many on the internet using some mp3 decoder ICs. Can the decoding be done on software (16Mhz atmega) aside with controlling a graphical LCD and keypad or pushbuttons (is the processing speed sufficient)?

I would tend to agree with sky_123 that the ATMEGA would most likely not provide the required MIPS or architecture to decode an MP3 in real time, especially with the other tasks you mention.

It is doable with a higher performance microcontroller/processor like an ARM as the following example demonstrates using an ARM7TDMI (AT91SAM7S256) and the open source Helix routines:



**broken link removed**

The above example utilizes a CODEC which brings up several other performance issues, of course the use of simple demodulated PWM output would alleviate many of these of these issues, the audio quality would be rather poor in comparison.

Therefore, if the exercise is a proof of concept, it can be done. However, both audio quality and performance would most likely be sacrificed.

Also do I have to use a RTOS ?? generally how to decide whether to use RTOS or not ??

RTOSs are typically implemented to efficiently manage multiple tasks through, however RTOSs do come with a price, consuming both precious cycles and resources of the microcontroller. When implementing a task such as MP3 decoding with limited resources to begin with, the implementation of an RTOS may not be of any benefit.


BigDog
 

hi.did you find the way for solve this problem?I need help basicly. I have to find a way for making an mp3 with avr plz help me plzzzzzzzzzzzzzzzzzzzzzzzz:--?:sad:
 
Last edited:

hi.i have a request i can't find vs1003 in proteus what should ido?
 

Status
Not open for further replies.

Similar threads

Cookies are required to use this site. You must accept them to continue using the site. Learn more…