Hi I rely on Microchip's library, function FSFindFirst() and FSFindNext().
It looks like folder: copied order, file: alphanumeric.
Library supports long file name so you don't have to limit file name length.
it shows 01merr~1.wav etc. (see dir /X on windows to see how filename reduced)
It looks like folder: copied order, file: alphanumeric.
Library supports long file name so you don't have to limit file name length.
it shows 01merr~1.wav etc. (see dir /X on windows to see how filename reduced)
I just found this forum while doing searches for audio codec. This is great!
KOON3876... thanks VERY much for posting your excellent work using the dsPIC33F. I've downloaded all your referred documents and have started looking at them.
I have a need to record as well as play back .wav files. I got a dsPIC Analog Development kit from Custom Computing Systems (www.ccsinfo.com) which uses a dsPIC33F128GP706 chip and has an SD card socket. It also uses a TLV320AIC32B audio codec chip on the front-end (back-end) for recording (playing back). I need to record two channels at CD quality (44.1KHz) for up to about two or three minutes and save the data as a .wav file to the SDHC card. I also need to be able to playback a .wav file into an external pair of speakers.
Has anyone else done anything like this?
Thanks.
Dave
KOON3876... thanks VERY much for posting your excellent work using the dsPIC33F. I've downloaded all your referred documents and have started looking at them.
I have a need to record as well as play back .wav files. I got a dsPIC Analog Development kit from Custom Computing Systems (www.ccsinfo.com) which uses a dsPIC33F128GP706 chip and has an SD card socket. It also uses a TLV320AIC32B audio codec chip on the front-end (back-end) for recording (playing back). I need to record two channels at CD quality (44.1KHz) for up to about two or three minutes and save the data as a .wav file to the SDHC card. I also need to be able to playback a .wav file into an external pair of speakers.
Has anyone else done anything like this?
Thanks.
Dave
Hi,
I have not looked at the entire thread in detail, but this appears an open project as source code is available from Mr Koon.
There is a new dspic33 board for $40 at seeedstudio.com
I wonder we can adapt the project to this board
I have not looked at the entire thread in detail, but this appears an open project as source code is available from Mr Koon.
There is a new dspic33 board for $40 at seeedstudio.com
An externally hosted image should be here but it was not working when we last tested it.
I wonder we can adapt the project to this board
It looks great 🙂
I'm not sure but there are connector, for RB4,5,6,7 (Remappable Pin RP4,5,6,7).
So I2S signals can be remapped to these pins.
For LCD and keypad : you need external controller. (or, USB serial connected PC etc)
Clock: For audio, need accurate 11.2896MHz, to Pin 30/31. but already used by ETH controller. ETH_INT signal should be routed to somewhere.
So MAYBE you can use this board with some hardware modification and large firmware modification.
I'm not sure but there are connector, for RB4,5,6,7 (Remappable Pin RP4,5,6,7).
So I2S signals can be remapped to these pins.
For LCD and keypad : you need external controller. (or, USB serial connected PC etc)
Clock: For audio, need accurate 11.2896MHz, to Pin 30/31. but already used by ETH controller. ETH_INT signal should be routed to somewhere.
So MAYBE you can use this board with some hardware modification and large firmware modification.
so are these boards available? i'm very interested in building a couple.
Hi I'm using ExpressPCB (free CAD/dedicated factory), can not post CAD file but if you need I can eMail.
It looks great 🙂
I'm not sure but there are connector, for RB4,5,6,7 (Remappable Pin RP4,5,6,7).
So I2S signals can be remapped to these pins.
For LCD and keypad : you need external controller. (or, USB serial connected PC etc)
Clock: For audio, need accurate 11.2896MHz, to Pin 30/31. but already used by ETH controller. ETH_INT signal should be routed to somewhere.
So MAYBE you can use this board with some hardware modification and large firmware modification.
Sounds doable, but right now it is over my head. Just graduating to Arduino stuff 🙂. Since it has ethernet, maybe a web GUI instead of LCD and keypad...
Hi,
Been a while. Hope you are still watching.
I have a question regarding an extra push button for display ON/OFF via software command to LCD controller.
Please see PM. You may of course also answer on the forum.
Any hints most appreciated.
BR,
Patrick
Been a while. Hope you are still watching.
I have a question regarding an extra push button for display ON/OFF via software command to LCD controller.
Please see PM. You may of course also answer on the forum.
Any hints most appreciated.
BR,
Patrick
Hi!
Congrat for the project, very nice!
I was thinking if could be possible to interface an IDE hard drive to the SD card slot through two adapters:
an IDE to USB and USB to SD card 🙄?
What do you think? Can it work?
Thanks,
Zsolt
Congrat for the project, very nice!
I was thinking if could be possible to interface an IDE hard drive to the SD card slot through two adapters:
an IDE to USB and USB to SD card 🙄?
What do you think? Can it work?
Thanks,
Zsolt
Last edited:
In the meantime I saw EUVL asked same questions in another similar thread and got pertinent responses.
...so forget my previous questions 😛
Based on the responses EUVL got I googled a bit and found this device MAX3421E USB module for SD card slot. Complete schematics and pcb layout on the page. Would be interesting to know if somebody tried this as it seems a solution.
...so forget my previous questions 😛
Based on the responses EUVL got I googled a bit and found this device MAX3421E USB module for SD card slot. Complete schematics and pcb layout on the page. Would be interesting to know if somebody tried this as it seems a solution.
The MAX3421 USB Module (link above) can be configured to work as an USB host and communicate with the uC through SPI. I'm not stating that just by plugging in this module is enough to connect to an USB drive, but I hope that some minor coding is enough to make it work. Is the 12Mbits/sec enough for 44.1Khz 16bit audio?No way.
I think I should kick start this project 🙂
Does somebody has spare PCBs for this project?
The things I posted so far are not good to interface an USB flash drive or HDD indeed, but Google is a magnificent thing 😉
These should do the job 🙂
- FTDI-VDIP1: FTDI-VDIP1 - MCU to USB host controller development module - Dontronics
- uALFAT USB Board: GHI Electronics
- FTDI-VDRIVE2: http://eu.mouser.com/search/ProductDetail.aspx?qs=vnwGVgFuQiZQSHig5qjpOQ==
Thanks for Koon I will soon start this project. I plan to make it work with sdcard first then try out one of the above modules by rewriting the code (I'm not totally newbie in programming but I really hope I will get some help on this)
@Koon
I saw on you web page that you wrote: "Folders and Files number: no limitation (just it goes slower)"
How slow can it go to access an, e.g. 320GB USB HDD with 6000 WAV files on it (expecting to have the high read speed of USB2.0)?
Thanks,
Zsolt
later edit: added VDRIVE2 which could add a more professional look to the whole setup
These should do the job 🙂
- FTDI-VDIP1: FTDI-VDIP1 - MCU to USB host controller development module - Dontronics
- uALFAT USB Board: GHI Electronics
- FTDI-VDRIVE2: http://eu.mouser.com/search/ProductDetail.aspx?qs=vnwGVgFuQiZQSHig5qjpOQ==
Thanks for Koon I will soon start this project. I plan to make it work with sdcard first then try out one of the above modules by rewriting the code (I'm not totally newbie in programming but I really hope I will get some help on this)
@Koon
I saw on you web page that you wrote: "Folders and Files number: no limitation (just it goes slower)"
How slow can it go to access an, e.g. 320GB USB HDD with 6000 WAV files on it (expecting to have the high read speed of USB2.0)?
Thanks,
Zsolt
later edit: added VDRIVE2 which could add a more professional look to the whole setup
Last edited:
to search 6000 WAV files, PIC will read 6000 x 512 bytes.
Total 3MB reading. SPI is not so fast like USB 2.0.
it will take minutes...
(remember USB1.0 connection for large Hard disk)
Total 3MB reading. SPI is not so fast like USB 2.0.
it will take minutes...
(remember USB1.0 connection for large Hard disk)
does somebody have spare PCBs for this project??...huh?? arent you describing something custom that you are designing (or expecting others to design with/for you) I think you will have to design your own PCB for you to have 'spares' it seems that you are not looking at the whole picture, but rather pulling specs from datasheets and thinking it will al work together. you must think of process, think of power supply, think of goals and think of budget and time to design. then work from there
Last edited:
The goals? to modify this ready made project to read 44.1KHz, 16bit WAV files from a mid sized USB HDD (min 100GB) by connecting a VDRIVE2 like device to its sdcard connector.does somebody have spare PCBs for this project??...huh?? arent you describing something custom that you are designing (or expecting others to design with/for you) I think you will have to design your own PCB for you to have 'spares' it seems that you are not looking at the whole picture, but rather pulling specs from datasheets and thinking it will al work together. you must think of process, think of power supply, think of goals and think of budget and time to design. then work from there
Consider this the green-light phase of a brainstorming process 😉 (hope Koon doesn't see this as his project's thread hijacking)
In the red-light phase of this brainstorming process we will sort out the possible solutions and see if they are feasible using Koon's ready made project (I really hope so).
Yes, I would love others to come up with constructive ideas about modifying this project possibly doing the hard work in "soft" mode. I earn my living as a programmer, although not uC, so I believe I can grasp pretty fast a source code and modify it where needed so I don't expect Koon or others to rewrite it for me but I know I will suck at some point that's why I hope for help.
I don't think of time because this is my hobby. I have to meet schedules everyday at my work at least here I want to forget about that. Nevertheless I have my personal life beyond this hobby so nobody should expect a steady progress on it, however, if I start something I usually finish it even if it takes 1-2 years 🙂
The budget? being my hobby I'm biased to spend more than others think its logical to spend on audio stuff. This project's price is not about parts to be bought but about R&D time spent on it. I'm a newbie in uC things and alike and I don't know what/where to search and also have to learn on the fly. If I quantify the time I spent so far googling for a VDRIVE2 like thing it is already more than the parts of this project.
Last edited:
I found this paper on FTDI about its transfer speeds:to search 6000 WAV files, PIC will read 6000 x 512 bytes.
Total 3MB reading. SPI is not so fast like USB 2.0.
it will take minutes...
(remember USB1.0 connection for large Hard disk)
Application Note - VNC1L Data Transfer Speeds. I think the FAT reading muscle work it's done by the VNC1L IC, so the uC can have time to do else.
By the way, they have another module called VMusic2 which uses VLSI VS1003 IC for decoding the audio files and this is its application note: Application Note - VMUSIC SPI Example
It uses the PIC uC from the example only for commands, to browse music and to display on the eval board's screen (source link)
At least this demonstrated that it's not voodoo what I would like to do.
Last edited:
I think the FAT reading muscle work it's done by the VNC1L IC, so the uC can have time to do else.
that's correct, my design does muscle work through slow SPI.
for 44.1k WAV, throughput is 44.1k x 16bit x 2 = 176.4KB/sec.
by application note "Typical maximum rate is 200kbyte/s"
10% overhead will cause noise. please watch your step.
Thanks for pointing to this.that's correct, my design does muscle work through slow SPI.
for 44.1k WAV, throughput is 44.1k x 16bit x 2 = 176.4KB/sec.
by application note "Typical maximum rate is 200kbyte/s"
10% overhead will cause noise. please watch your step.
I asked the FTDI support today and they assured me that I can have 200KB/sec continuous read sped through SPI.
I'm researching the uALFAT-USB as well, but the FTDI seems to meet the SPI speed requirements while uALFAT not.
The VNC2 supports the usage of own firmware, so another solution would be to move the WAV-I2S decoding to VNC2's MCU, but this is out of the scope of this thread 🙂
- Status
- Not open for further replies.
- Home
- Source & Line
- Digital Source
- ultimate source