diyAudio

diyAudio (http://www.diyaudio.com/forums/)
-   Digital Source (http://www.diyaudio.com/forums/digital-source/)
-   -   MicroSD Memory Card Transport Project (http://www.diyaudio.com/forums/digital-source/142562-microsd-memory-card-transport-project.html)

Bunpei 19th April 2009 03:44 PM

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.)
http://www.chiaki.cc/Timpy/images/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
http://www.chiaki.cc/Timpy/images/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/...o=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 20th April 2009 10:25 AM

any chance to buy one?

dddac 20th April 2009 03:59 PM

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 ?

Bunpei 20th April 2009 04:23 PM

Quote:

Originally posted by patriz
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.

Quote:

Originally posted by dddac
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.

Zoran 21st April 2009 05:53 PM

Hi,
first thanks for the great job You gyus did...
I dont want to complain sorry, 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...
thanks:cool:

Bunpei 23rd April 2009 02:50 PM

Quote:

Originally posted by Bunpei
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.

Quote:

Originally posted by Zoran
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 23rd April 2009 03:47 PM

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 ?

Examples :

http://www.diyaudio.com/forums/showt...05#post1068005
http://www.koonlab.com/UltimateSource.html
http://www.diyaudio.com/forums/showt...5&pagenumber=1


Thx,
Patrick

Bunpei 24th April 2009 03:03 PM

Quote:

Originally posted by EUVL
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

EUVL 24th April 2009 03:19 PM

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 24th April 2009 03:25 PM

A couple more questions :

1) What size of SD card can your solution support ?
2) How about user interfaces -- control buttons, display, remote control, .... ?

I only see 2 push buttons on the first photo.....


Patrick


All times are GMT. The time now is 09:02 AM.


vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2014 DragonByte Technologies Ltd.
Copyright ©1999-2014 diyAudio


Content Relevant URLs by vBSEO 3.3.2