Brief
Ver.2
Firmware KDA_US02_20091030.zip
Now supports SDHC, by Microchip FAT32 filesystem.
I',m using Transcend 16GB Class6 SDHC.
Limitation
Microchip lib does not support Long File Name. (anyway LCD is
small)
Supports only 1 depth of folder. (CD folder in root directory. no
subdirectory search)
Pros
No limitation for Folder and File number.
This source uses only 1 File object, to search folder / file, and move to next
file / folder. Source code only remembers how many folder exist / current folder
index / how many WAV in folder / wav index.
Notes
#define __PC__ will
change this source code to PC program. (requires PortAudio)
(SD card is fixed
to E: drive)
Hardware
Now designing.
Schematic 2009/11/01
======================
Ver.1
started at http://www.diyaudio.com/forums/showthread.php?s=&threadid=90725.
We DIY audio maniacs like non-modified, non-ASRCed I2S signal
as diy dac inputs.
but there are no products around market..
The targets of this project are below.
- Simplicfied structure, no motors, all solid state.
- I2S signal output. of course not analog, not SPDIF
- 44.1kHz/16bit acculate
In other word,
DIY Portable Audio Player for WAV file,
SD Card as storage,
Direct Digital Output, by I2S signal.
Schematic
After some discuttion I made this schematic. I selected dsPIC33. Digikey PartsNumber = DSPIC33FJ64GP306-I/PT-ND.

dsPIC has "DCI" module, it can output I2S signal from FIFO. also some
ARM chips has same function but PIC is familier with DIY peoples.
PCB

Dimension: 2.5 x 3.8
U1: dsPIC33
U2: 11.2896MHz master clock
U3: 5V for LCD
U4: 3.3V
J1: 8x2 Character LCD
J2: I2S output
J3: SPI connector, adjusted for http://www.sparkfun.com/commerce/pr...products_id=204
but you can connect any SPI device.
J4: PIC ICSP
J5: Power In (I assume 9V battery cell)
SW1-5: Play, pause, stop, FF, Prev
Some surplus holes (right side of U1)
Making

Right: "Ultimate Source" board. SanDisk 2GB SD is used.
Left: Test board, CS4334 and CS8406.
I2S, 44.1kHz,16bit,64bits/Flame, 11.2896MHz master clock is supplied.
Power supply current is 60mA (no DAC/SPDIF) to 100mA (with DAC/SPDIF).
This board works based on 11.2896MHz master clock, so nothing to think
about 44.1/48 issues. Hardware is absolutely simple, I can delete
nothing. Power consumption is very small, and there are no
motors / no AC which creates noize.

SD card reading is 2.9ms cycle, and it takes 1.4ms.
Then data copied to DMA memory, transfered into DCI/I2S.
Lower wave is DAC output.
Source Code
Summary
Minimum hardware from SD Memory to I2S
signal
Accurate 11.2896MHz based, no SRC
Static operation
Many limitations:
44.1/16 WAV only, no MP3/WMA
no support for folder, long file name, up to 32 musics
2GB FAT16 Sandisk SD media only, I will not test/guarantee other
can not play too much flagmented file
not thinking portable/mobile use, needs 9V battery
no minutes:second display at playing
File
must have "RIFF" headder, no "LIST" and "INFO" chunk. Some ripper like
Windows Media Player's binary format is different. Audacity can convert
to simple format. See binary editor, headder should be "RIFF____WAVEfmt
" "_______________" "____data____xxxx".
Extension must be ".WAV" (case sensitive)
return to home