Block diagram for PIC based mp3 player


Closed Thread
Results 1 to 14 of 14
  1. #1

    Default Block diagram for PIC based mp3 player

    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

  2. #2
    T.Jackson's Avatar
    T.Jackson Guest


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by joseph Degorio View Post
    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.

  3. #3


    Did you find this post helpful? Yes | No

    Default

    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

  4. #4
    T.Jackson's Avatar
    T.Jackson Guest


    Did you find this post helpful? Yes | No

    Default

    The real power driving that thing is the; VS1011 mp3 decoder w/ dac & amplifier.

  5. #5
    T.Jackson's Avatar
    T.Jackson Guest


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by joseph Degorio View Post
    Hi,
    Is it possible PBP can do the task?
    Absolutely.

  6. #6
    T.Jackson's Avatar
    T.Jackson Guest


    Did you find this post helpful? Yes | No

    Default Basic Vs C

    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.

    Code:
    void main()
    {
       trisb = 0;       
       while(1)    
       {
          portb.0 = 1;        
          delay_ms(500);  
          portb=0x02;       
          delay_ms(500);    
       }
    }
    Code:
    main:
    portb.0 = 1
    pause 500
    portb = 2 
    pause 500
    goto main
    I'm relatively tempted to merge over to C

  7. #7
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by joseph Degorio View Post
    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.

  8. #8
    Join Date
    Sep 2004
    Location
    montreal, canada
    Posts
    6,898


    Did you find this post helpful? Yes | No

    Default

    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.
    Steve

    It's not a bug, it's a random feature.
    There's no problem, only learning opportunities.

  9. #9
    Join Date
    Nov 2003
    Location
    Greece
    Posts
    3,803


    Did you find this post helpful? Yes | No

    Default

    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
    Last edited by Ioannis; - 17th December 2007 at 18:00.

  10. #10
    T.Jackson's Avatar
    T.Jackson Guest


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by mister_e View Post
    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.

  11. #11
    T.Jackson's Avatar
    T.Jackson Guest


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by Ioannis View Post
    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.

  12. #12
    T.Jackson's Avatar
    T.Jackson Guest


    Did you find this post helpful? Yes | No

    Default

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

  13. #13
    Join Date
    Sep 2004
    Location
    montreal, canada
    Posts
    6,898


    Did you find this post helpful? Yes | No

    Thumbs down

    Ah come on Trent!
    Steve

    It's not a bug, it's a random feature.
    There's no problem, only learning opportunities.

  14. #14
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by mister_e View Post
    Ah come on Trent!
    Just wait for my new improved retro-turbo-super encabulator device.
    It'll be SUPER...

Similar Threads

  1. Embedded MP3 player from Sparkfun
    By ScaleRobotics in forum General
    Replies: 3
    Last Post: - 10th March 2010, 04:41
  2. config bits
    By brianD in forum mel PIC BASIC Pro
    Replies: 5
    Last Post: - 9th February 2010, 13:45
  3. Setting up internal clock correctly?
    By JohnM in forum mel PIC BASIC Pro
    Replies: 2
    Last Post: - 18th March 2008, 20:29
  4. PICBasic newbie problem
    By ELCouz in forum mel PIC BASIC Pro
    Replies: 32
    Last Post: - 12th February 2008, 00:55
  5. PortE problems (PIC18F4455)
    By RubenR in forum mel PIC BASIC Pro
    Replies: 15
    Last Post: - 12th July 2006, 15:26

Members who have read this thread : 1

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts