MicroSD Memory Card Transport Project

Chiaki and Bunpei have made a prototype of �gMicroSD Memory Card Transport�h. (In the picutre below, you can look at just black margin of the memory card under the PCB board in right hand. Some colored cablings are for I2S signals.)
70-i2s2.jpg

http://www.chiaki.cc/Timpy/images/70-i2s2.jpg
Our tiny MicroSD Memory Card Transport plays 16bit/48KHz WAV files stored on a MicroSD Memory Card (MicroSD in short) and outputs 16bit/48KHz I2S signals to a DAC device. The sound produced by the system is very clear, detailed and natural taste of �gpure-audio�h quality in spite of its low cost for materials and we are much satisfied with the result.
We believe that a jitter is very little and data processed here are almost bit-perfect though we have not confirmed them by any measurements.
In the transport, a microcontroller of 8bit 8051 architecture, C8051F316 12MHz, with specially developed firmware reads a WAV file on a MicroSD and sends the data to VLSI VS1053b codec chip.
http://www.vlsi.fi/en/products/vs1053.html
VS1053b codec converts the PCM data into I2S signals based on 12.288MHz system clock generated by TXCO, Fox XPRESSO Crystal Oscillator.
http://www.foxonline.com/pdfs/FXO_HC73.pdf
In our case, the I2S output is directly connected to Wolfson WM8741 Evaluation Board.
http://www.wolfsonmicro.com/products/WM8741EV1M/
The reason why we chosen this DAC is the evaluation board provides easy pin headers for a direct I2S input
70-wm8741a.jpg

http://www.chiaki.cc/Timpy/images/70-wm8741a.jpg
and the board is easily available from an online shop with a reasonable price.
http://www.profusionplc.com/pro/gex/pcatdtl0?ipartno=WM8741GEDS-V

Bunpei proposed the basic idea of connecting the VS1053b I2S output to the WM8741 evaluation board and Chiaki prepared the actual VS1053b-based hardware and the 8051 software by modifying his own prototypes. Bunpei owes this successful implementation to Chiaki�fs state of art crafting technique for both hardware and software accumulated through his own Timpy (Tiny MP3 Player) projects using VS10xx series and 8051.
http://www.chiaki.cc/Timpy/index.htm ( In Japanese )

The current prototype has a limitation for WAV file quality. It accepts 16bit/48KHz only. We therefore convert a 16bit/44.1KHz WAV file into 48KHz in PC and copy the file into MicroSD media through USB.
 
patriz said:
any chance to buy one?
We have no idea for selling this prototype as of now.
If we get a certain amount of requests, we will consider selling revised ones.

dddac said:
Wouldn't it be better, if you want bit perfect playback, to use 44.1kHZ fs in staed of 48kHz ?
All my CD's (ripped) are 44.1 ...
Is your design flexible enough to make it 44.1 ?
You are right, dddac. Strictly speaking, it's not bit-perfect when we compare the played WAV data in Micro SD with original one in CD.
As a default external clock frequency for VS1053b is 12.288MHz ( 48KHz x 256), we just chose it.
If we use 11.2896MHz crystal, VS1053b can handle 44.1KHz WAV files. We should select just one of them.
 
Bunpei said:
As a default external clock frequency for VS1053b is 12.288MHz ( 48KHz x 256), we just chose it.
If we use 11.2896MHz crystal, VS1053b can handle 44.1KHz WAV files. We should select just one of them.

Zoran said:
but,Yes why 48KHz, 44,1 maybe is better?
and could You perform PCM output?It will be nice to have it, straight?
for instance to use it with a sabre dac which is accepting pcm format...

I have to correct what I explained in my previous post.
A support staff of VLSI company pointed out our misunderstanding.
The frequency of the clock injected to VS1053b just confines the sampling rate of I2S LRCLK output.
12.288 MHz -> 48KHz, 11.2896 MHz -> 44.1KHz
Contrarily, even in the case of 12.288 MHz clock, VS1053b can accept 8,16,32,44,1,48KHz WAV files. The chip converts sampling rate (up-samples) automatically and internally.
Hence, our transport can handle WAV files of all the frequencies listed above.

I understand the term "PCM output" means "S/PDIF".
I intended to eliminate a transmitter device for S/PDIF in this experiment. I wanted to try a direct connection via I2S because some people complain an unexpected jitters introduced by the S/PDIF trasmitting- receiving interface.
However, it's true that only a few DAC models provide a raw I2S inerface and this is a big problem.
 
EUVL said:
Could you perhaps kindly explain why you chose the VS1053b together with a microcontroller, instead of using e.g. a dsPIC3x which supports I2S internally and hence has everything in one ?

Actually, I was inspired by Koon Lab's SD Card Player.
The reason why we chose VS1053b instead was that Chiaki had already gotten the combination of 8051 and VS10xx under his thumb. He had been very familiar with programming of those chips. The combination was well-proven technology for him.
Afterward we noticed the following good points of VS1053b.
- Low cost, small size, low power consumption
- Time-critical FIFO buffering mechanism is already implemented in VS1053b
- VS1053b can process various type of sound formats other than WAV
- VS1053b can generate a low-jitter LRWCLK signal
 
I hope one day we'll be able to do a direct sonic comparison between yours and Koon's solution. I need a couple of months to build one.

But please keep us posted of your development.


Patrick

PS While the VS1053 has many features (and one can argue whether they are of value), I still have some doubts whether this diversity would (not) compromise of the quality of the I2S output. I am saying this of course with no solid proof but rather pure speculation.
 
EUVL said:
1) What size of SD card can your solution support ?

Chiaki's firmware only supports FAT16 and the upper size limit is 2GB.

EUVL said:
2) How about user interfaces -- control buttons, display, remote control, .... ? I only see 2 push buttons on the first photo.....

Three buttons and one blue LED are prepared for the purpose.
Chiaki developed his original human interface of three modes using these devices. Three modes are
1) single file playing mode
2) file selection mode
3) folder selection mode
 
EUVL said:
Would be real nice if it can support FAT32 and a bit bigger memory size, say 32GB.

Yes, it's important.
Chiaki and I are making a concept for the next step. My requirement is 24bit 192KHz I2S output. This means 9.216 Mbps and 550 MB/Min.
FAT32 is essential. 32bit ARM CPU or something like that will be necessary. For example, ARM LPC2388 has an I2S output.
Anyone tried programming of ARM to output I2S for 24bit 192KHz?
 
Dear Prinzinio,

In my case, first I used simple UM-01 batteies ( 1.5V x 8 = 12V, plus and minus, totally 16 pieces ). It was not good.
Now, I am tentatively using two cheap so-called "AC adapters" ( 12V 500mA , 4$/each). The result is not desperate at all. Within acceptable level.

However, if you expect "the best", it might be better for you to prepare any non-switching type regulated power supplies
with large and good capacitors.

My recommendation is to use "balanced output".
(As for WM8742 Evaluation board, XLR connectors are on-board)

Bunpei
 
thank You Bunpei for the answer,
I might be wrong but isn't 500ma to low to provide enough amount of power?

Probably You saw this site:
http://www.lampizator.eu/LAMPIZATOR/REFERENCES/wolfsondac/WolfsonWM8742DAC.html

There is written that at we need at least 30vac (30vac / 12v= 2.5A) to make good psu for this board.
I'm not a specialist, i'm just asking for Your point of view :)

btw. Your "ac adapter" is supplier of AC, or is it just called "ac adapter" but it gives DC on the output?
 
I'm sorry, an "AC adaptor" must be a Japanese English. Of course, it outputs DC from AC 100V input.

A Japanese audiophile expert presented such measurement result in a Japanese website;
- Under the condition of no load, no sound, stable state
- +12V side: 180mA, -12V side: less than 30mA

As you know, the +12V side includes all VDD and DVDD.
The net current that 2 x 2 opa2227 LSI require is not 1 - 2A order but 100-200mA order, I guess.

Another Japanese well-experienced audiofile told me that small influence of variability in +-12V power voltage for opa2227 can be understood when you read "POWER SUPPLY AND COMMON-MODE REJECTION RATIO vs FREQUENCY" on the page 5 of the datasheet;
http://focus.tij.co.jp/jp/lit/ds/symlink/opa2227.pdf
That's why the evaluation board has no internal voltage regulators for +-12V.

Bunpei
 
Chiaki and I made the second version using "VS1053b Proto Board"
http://www.vlsi.fi/en/support/evaluationboards/vs10xxprotoboard.html
which is provided by VLSI Solution Oy. The board is available at their webstore;
http://verkkokauppa.planeetta.net/e...tPath=/Shops/vlsi/Products/VS1053_PROTO_BOARD

We changed and added the following three points:
1. We could obtained an "I2S output enabled" version of their "Standalone player", a EEPROM based firmware, through the courtesy of the supporting staff of the company this time. They may provide it to you if you request it at the timing of ordering.
2. Chiaki designed and made a piggy-back board for a S/PDIF output.
The board contains, Cirrus Logic 8406 Digital Audio Interface Transmitter and a pulse transformer for RCA output.
3. Chiaki replaced original crystal for 12.288 MHz with a TCXO, product of FOX.

Now, we can output to generic DACs of S/PDIF input.
However, hardware output fs from VS1053b is limited to 48kHz even if a 44.1kHz WAV file is played. That's because the board has just one 12.288MHz (256 x 48kHz) crystal.

Bunpei
 
With all respect, I think you are making it more complicated than necessary. Other than the designs from Koon and ECDesign, there are many examples of SD Card Wave Players which all look very minimalistic, e.g.

http://www.omniboard.be/
(The Echo 2 will play WAV as well as MP3, I was told).

One thing in common -- they all use some versions of dsPIC33 family.
Maybe dsPIC33 is the right choice for the purpose ....


Patrick
 
Dear Patrick,

I just wanted to contact to you by e-mail.

As a matter of fact, this Proto Board version
http://www.vlsi.fi/fileadmin/evaluation_boards/vs10xxpp20-sch.pdf
is simpler than previous one because it has no MPU. The VS1053b codec (also a DSP) reads sound files on SD memory card by itself.

S/PDIF is somewhat redundant. But it's just a removable option.

The reason why we use 8051 architecture is that Chiaki is really an expert for the MPU (he is an author of book that explains how to programming in assembly language of the CPU. The book is written in Japanese.) He has accumulated much for it.

If you are interested in this version, you can purchase the Proto Board (80 Euro) from VLSI webstore.

Bunpei