PDA

View Full Version : Block diagram for PIC based mp3 player



joseph Degorio
- 17th December 2007, 08:42
Hi everyone,
Can anyone give some guide for creating an mp3 player, what kind of pic should I use and how to start to make this project.



Thanks in advance,
joe

T.Jackson
- 17th December 2007, 08:58
Hi everyone,
Can anyone give some guide for creating an mp3 player, what kind of pic should I use and how to start to make this project.



Thanks in advance,
joe

I doubt that any PIC would have enough horsepower for that.

joseph Degorio
- 17th December 2007, 10:25
Hi,
I got this link http://www.teuthis.com/html/daisy_mp3.html. Using PIC18F45j10 and codes in C.
Is it possible PBP can do the task? I know it's gonna be a challenge for me to learn this but I know It can be done one step at a time.


Thanks,
Joe

T.Jackson
- 17th December 2007, 10:43
The real power driving that thing is the; VS1011 mp3 decoder w/ dac & amplifier.

T.Jackson
- 17th December 2007, 10:57
Hi,
Is it possible PBP can do the task?


Absolutely.

T.Jackson
- 17th December 2007, 12:40
I don't think that C for micros is all that more involved really (see comparisons below) Makes me wonder what exactly it is that makes it so much more efficient.



void main()
{
trisb = 0;
while(1)
{
portb.0 = 1;
delay_ms(500);
portb=0x02;
delay_ms(500);
}
}




main:
portb.0 = 1
pause 500
portb = 2
pause 500
goto main


I'm relatively tempted to merge over to C

skimask
- 17th December 2007, 13:30
Hi,
I got this link http://www.teuthis.com/html/daisy_mp3.html. Using PIC18F45j10 and codes in C.
Is it possible PBP can do the task? I know it's gonna be a challenge for me to learn this but I know It can be done one step at a time.


Thanks,
Joe

http://web.ndak.net/jdgrotte/mp3player/mp3_player.html

But as sparky said there a couple of posts ago, the real work is done (in my case) with the STA013. The only thing the PIC does is move the data around as needed, handle the keypad, the lcd, battery management, IR receiver, RF receiver, hard drive/compact flash management, and the USB hookup is offloaded to the FTDI chip.... All the PIC is doing is directing traffic.
PBP and normal 'PICs' don't have the horsepower to do real time MP3 decoding...MAYBE at VERY low bit rates, but I'd doubt it. The dsPICs, maybe the PIC24 and/or the PIC32 could handle decoding MPEG data real time, but again, good luck with writing the code to do the decoding in straight PBP.

mister_e
- 17th December 2007, 15:19
There's a guy/team on microchip who have done it with a DsPIC.. looks impressive

http://forum.microchip.com/tm.aspx?m=166133&mpage=4

Trent, as you know, C, Basic Pascal or assembler, the real power is made by the guy back to the keyboard. C is more considered as an industry standard. There's still the command set and brand who can makes a slight difference. Nice to have more than one tool so far.

Ioannis
- 17th December 2007, 17:56
Well, about that C stuff, C in general forces you to be a better programmer, having to structure your program more efficiently. Also forces you to use functions, the equivalent of a subroutine, but more efficiently. For example, calling a function in C, lets you pass variables that really aren't used before and won't be used after. So memory is really conserved that way.

In Basic compiler this is not the case. You have to declare the variables that are going to be used and they reserve their location permanently.

Other than that, I think it is up to the compliler to be as much efficient as possible.

See how Fred Eady managed to convert C routines to PBP and create TCP/IP stack:

http://www.edtp.com/downloads.htm

And Trent, yes. The C example you post has nothing different from the respective PBP one.

Only that C programmers when see a goto are getting crazy. So I would use at PBP also the same while 1/wend to cool them down! At the produced ASM code level, it is really the same, so what's the fuzz about?

Ioannis

T.Jackson
- 17th December 2007, 22:44
Trent, as you know, C, Basic Pascal or assembler, the real power is made by the guy back to the keyboard.

Absolutely. But I much prefer a Sidchrome spanner over a Stanley.

T.Jackson
- 17th December 2007, 22:47
Well, about that C stuff, C in general forces you to be a better programmer, having to structure your program more efficiently. Also forces you to use functions, the equivalent of a subroutine, but more efficiently. For example, calling a function in C, lets you pass variables that really aren't used before and won't be used after. So memory is really conserved that way.

In Basic compiler this is not the case. You have to declare the variables that are going to be used and they reserve their location permanently.


That's an excellent explanation that makes a lot of sense.

T.Jackson
- 18th December 2007, 13:01
http://web.ndak.net/jdgrotte/mp3player/mp3_player.html


That's quite an amusing read. I think you've got a pretty high IQ. Possible too high.

mister_e
- 18th December 2007, 15:17
Ah come on Trent!

skimask
- 18th December 2007, 16:13
Ah come on Trent!

Just wait for my new improved retro-turbo-super encabulator device.
It'll be SUPER...