Unfortunately I do not have any product based experience with the BU9458 or BU9457 devices from Rohm. Nor do I know of a commercial product on the market that uses them.
Also, it appears that the datasheets for those devices do not offer much info on any application circuit. So I can't really judge very well a potential product design based on them.
However, the basic idea of the parts is good in that you have both SD card and USB (flash memory drive) as input sources for the formatted audio material. Also, a key advantage is that the part can operate self contained as a decoder or can be controlled via an external processor/micro-controller.
My direct experience with an MP3 player design was one involving a PIC microcontroller + an MP3 decoder which in turn was controlled by a larger CPU running a complex system that happened to need audio at various operations. That design used a standard SD card with very simple file naming structure which may not meet your needs. If you want more info on this, let me know.
Thank you very much.
I find solution thanks to Element14 PDF files on the server which are not has been available on any other place (even I could find that kind documentation on Rohm site) and later I got help from Anglia by providing to me Demo board and more info, but essentially this is the same information found on Element 14 for BU9458. There has been problem with information about "access code" as that part of information has not being 100% documented ( This is not so obvious until you try to finish product by using available information form PDF). After solving that problems chip is so easy to use and work perfectly. Really nice things are, that firmware inside the chip do all for you and find out about what kind a memory you are using (FAT32, 16, sectors, organizations etc). Even it is possible to read data from USB or SD not necessary MP3. Thanks to BU9458, Microcontroller can use large SD and USB not just to control music. It is possible to Read USB or SD and use this information to flash micro controller or just to use data for some other useful purpose to microcontroller as configurations files for example.
Thank you very much again and best regards
Hi Aleksandar, I'm trying to understand the "access data" too.
Chould you kindly specify the sequence of commands to extract directory/files names ( in mode3 )?
- how to read the name of the first folder (It shold be the root folder)?
- how to read the name of the first file in the first folder?
- how to read the name of the second file in the first folder?
- how to read the name of the first file in the second folder?
- how to read the name of the second file in the second folder?
- how to read names of subfolders too?
Ha-ha... those are exactly questions which I had before I find the solution. And this just proves that definitely there is a need for more information to be added to PDF files about BU9457X.
I will not surprise if you all ready find one for yourself. But if you did not I will provide you more information.
I am working on MP3 player with microchip graphic TFT solutions and PIC 32. I also using mod 3 for BU9458 (BU9457 and BU9458 are equally good and no software need to be changed, hardware is the same as well).
What I will explain here I do not claim that this is the very best solution (as there is not documented that this is the right way how need to be done but its work perfectly and I strongly suspect that this is idea of designers of BU9457x how to control BU9457X in order to play right MP3 file.
If you find better solution please let me know although as I say this solution working perfectly well for me.
1. Very first you need to use command SET DIRECT and access code, should be 0, 0, 0, 0, 0, 0.
(All binary zeros not ASCII).
2. Then use GET DIRECT
3. Then use READ FILE INFO command
4. Then use READ BUFFER from 20 (think as memory location 20 hex and it is called COMAREA)
Now use access code which you get from process in steps 3. and 4.. You can find access code information from buffer comarea and use this access code to SET DIRECT in next step.
5.SET DIRECT ( StatusOutputOffset[25hex}, ...24,23,22,21…;StatusOutputOffset[20hex])
You are ready for first MP3 to play, by setting command PLAY DIRECT.
6. PLAY DIRECT this will start the music (if you all ready have your SD or USB files with MP3)
That command will play very first MP3, but what if you don’t want to play very first song?
Then you need to repeat steps 3. Then 4. N times in case that your song is song number N.
But how to be sure that song number N is the right one?
Just repeat 3. (Read file info) and after 4. ( Read buffer comarea from 20 hex)
You have information in comarea about name of the song (MP3 file). If this is right one just set command play if not continue to repeat steps 3. and step 4 read until you get right one.
Now there is more then that. For example you need to wait that BU9458 is available by checking status 1 , 2, 3 etc to confirm that BU945X is analyzed all and is not busy, that BU945X has recognized USB or SD but I recommend at first stage to simplified all by using loops of 10 ms so you can avoid to read STATUS 1,2,3 etc between each steps. When you have mastered control over BU945X then you can add more improvement (for start use even more then 10 ms, 100 ms will ensure that between each step (commands) are more then enough time and is definitely long enough for all internal processes inside BU9457X so you can use what I explain and without checking STATUS 1,2…
If all of that is not working for you probably you having problems with I2C communication.
Any way I can send you my C code (give me your e mail), if you promise that you will not laugh on my code, but don’t forget…. my code works
Best Regards Alex
Just to add on my previous e mail as a replay to you.
Try first to take control over BU9457X as I describe to you, play little bit with chip and then use PDF file to understand how to get names of files and folders (you get names and folders by repeating steps 3 and 4 and reading from COMAREA).
Although document is not specific for repeating steps 3 and 4 the rest of the document is good.
So you can use existing Rohm PDF files to get to the bottom of all problems.
Everything is easy if you manage to do what I explain to you.
The moment when you do, Rohm document suddenly has a sense… or document is fine but we just can not find sense in the document for that part.
Whatever is the case I am sure after trying mu suggestion everything will work fine for you…
Best Regards Alex
! Alex for President !
Thank you for sharing your code ( and your schematic ), now I have a good ( and working ) starting point.
The project is an 'mp3 player for armchairs': a client of us produces relaxing/massaging armchairs, and he want to add this function to his armchairs.
The player should have an usb input ( so each one with an usb memory could listen to his favorite music ).
Two versions are planned: a 'dumb version' ( with no display ) and a 'smart version' ( with grafical display ) and bu9457/8 addresses both versions.
P.S. oddly enough rohm applications for bu9457/8 already knows of this strange use ( as an mp3 player for armchairs ), the image is from rohm site
That’s it! …this is second time that I have been suggested for President and I will go for it!
Use of MP3 player in armchair is quite good idea.
I like option where you do not need to put headphones on your head and yet music can be loud because speakers proximity to user head at the same time you not distract any body and yet not bother with headphones…just one touch of the button and relax… much more then armchair…not odd at all…
Best Regards Alex
Ken: You had previously given me an excellent answer on June 3, 2010 in regard to my efforts to create a better hearing aid device. Nicolas Gray completelly concurred with your answer. He went so far as to show me the connection of A/D converter to EEPROM. The device would modify the output of the A/D converter using a EPROM to program changed values. Now if you could give me a contact to build a breadboard to demonstrate this improvement I would appreciate that very much. Al
Where are you located? Maybe there is a prototype house nearby that can be found.
Also, from your question I am assuming that "hearing aid size" is not the objective yet, but rather proving your alternative data values for correcting or improving hearing is most important right now.
You will need to specify exactly what you want the prototype house to do. Are you supplying a preferred board layout, or leaving it up to them? Do you want the builder to source the parts for you? Questions like these and many more will help you located the right builder.
A company like InDesign (http://www.indesign-llc.com/electrical_engineering_services.asp?gclid=CKm1woqWs6MCFSH5iAodliq34g) might be the type of company you want if you don't have much direct experience at building electronic projects. There are many other which can be found via a Google search.
Another one is Gunn Systems at http://www.gunnsys.com/product-dev/
I have no experience with these firms nor do I recommend them (or not) so you need to do your due diligence. I offer them as examples of the type of firm you may be looking for. I have no idea of their cost structure either, nor your budget for the project.
I hope this helps you.
Once again your answer to me is right on the button. Even your guesses as to what I am shooting for gets right to the heart of it. All us millions of hard-of -hearing (HOH) individuals hear sounds with our expensive hearing aids but cannot discern what is being said. Thus the goal of what I want to build is voice clarity and thus understandability. I am fairly far along in my theorizing and now I want the proof of concept to begin..... I live in the greater Los Angeles area, Torrance California to be specific. Size shape and all the other future considerations are secondary at this moment. Constructing a breadboard and programing the EEPROM for a maximum output of understandability is the present goal. If you can steer me in the direction of a local -that is, a range of 100 miles- pre-prototype shop that would be greatly appreciated.. I would love to try doing it myself, but there is too much of a learning cure before I could to it effectively. Again, thanks for your cogent replies. Nate Almond
Happy to help, if I can.
I did a quick search in your area, but mostly turn up full fledged electronic manufacturing service houses (EMS). EMS's are not what you need right now.
Other companies I turned up were either IC design houses, or passive component design houses (transformer, etc).
The type of company you need may not be in your back yard. Maybe you could contact the following companies and at least get an idea of what they are willing to do for you at what price. These smaller companies specialize in design prototypes. One of them is close to you.
GUNN SYSTEMS, INC.
E-Mail: firstname.lastname@example.org Phone: (352) 326-3264 begin_of_the_skype_highlighting (352) 326-3264 end_of_the_skype_highlighting Fax: (321) 988-0226 Address: 37703 Ricker Drive
Lady Lake, FL 32159
20 Mural Street, Unit 7
Richmond Hill, ON L4B 1K3
Phone: 905.763.6938 begin_of_the_skype_highlighting 905.763.6938 end_of_the_skype_highlighting
P.O. Box 31161
Santa Barbara, CA 93105
5959 Hollister Avenue; Suite C
Goleta, CA 93117
TEL: (805) 895-4608 end_of_the_skype_highlighting
Let me know what you find out - just curious :>)
I don't want to rain on your parade but are you aware of current DSP based hearing aid products. ?
If you Google/AltaVista for dsp hearing aid you will get million+ hits - there are even special hearing aid DSPs (eg Ezairo form Onsemi).
I feel you might do better to start with a development kit from a DSP supplier rather than paying for a new hardware develoipment.
In fact you could probably start with just a PC and a sound card (and some little transducers from www.knowlesacoustics.com ).