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.
  1. Simplicfied structure, no motors, all solid state.
  2. I2S signal output. of course not analog, not SPDIF
  3. 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.
Schematic Image

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

PCB Icon

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

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.

Waveform

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