ultimate source

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
My QA-550 is now sounding good via I2S into a TDA1543 DAC chip. Better resolution and dynamics than SPDIF, imo.

A couple of operational issues:
1. Although a track can be selected by number, a folder can only be selected by cycling (rather slowly) through all the folders on the card.
2. In those cases where the music continues across a track change, a short interruption can be heard at the moment of transition.
Perhaps these problems are capable of being resolved by a future software update. I'll report them to QLS in the hope that they might be able to do something.

John
 
in my opinion, we can't use internal PLL please refer to the dspic datasheet, the jitter of the PLL is 0.5-3.0% !!!!

so the better way is using 2 dsPIC

SD card->dsPIC1(PLL full speed 40MIPS)->[wav data out via SPI or other port]
->SPI WAV data in->dsPIC2(NO PLL,11.2896MHz TCXO only)->DCI/I2S digital out.

i strong recommend you to using two dsPIC33FJ64GP802 (28pin DIP)

only this way can eliminate the PLL jitter in the CPU!

Have people considered what Kutkm said here? the dsPIC2 datasheet claims "- Extremely low jitter PLL" but it is not mentioned again. Does anyone know hat level of jitter you are getting out of the device? PLL synthesis of audio clocks is fraught with jitter noise traditionally.

As usual the jitter quoted in the products spec says " 4 pin high accuracy crystal clock 2ppm 11.2896Mhz TCXO" This is not a measure of clock jitter so this could be a piece of junk?
 
Have people considered what Kutkm said here? the dsPIC2 datasheet claims "- Extremely low jitter PLL" but it is not mentioned again. Does anyone know hat level of jitter you are getting out of the device? PLL synthesis of audio clocks is fraught with jitter noise traditionally.

As usual the jitter quoted in the products spec says " 4 pin high accuracy crystal clock 2ppm 11.2896Mhz TCXO" This is not a measure of clock jitter so this could be a piece of junk?

at dsPIC33FJ64GP306 datasheet,pages 270
Param
No. Symbol Characteristic Min Typ(1) Max Units Conditions
OS53 DCLK CLKO Stability (Jitter) -3.0 0.5 3.0 % Measured over 100 ms
period


0.5-3.0% jitter!!!!
 
My QA-550 is now sounding good via I2S into a TDA1543 DAC chip. Better resolution and dynamics than SPDIF, imo.

A couple of operational issues:
1. Although a track can be selected by number, a folder can only be selected by cycling (rather slowly) through all the folders on the card.
2. In those cases where the music continues across a track change, a short interruption can be heard at the moment of transition.
Perhaps these problems are capable of being resolved by a future software update. I'll report them to QLS in the hope that they might be able to do something.

John

Hi John,

could you please post a picture of the system e.g. the I2S interface of the QA550.
 
Attached source code is my ultimate-source ver.2 for FAT32.
Now I'm listening with Transcend Class6 16GB SDHC.
Hardware is same as Ver.1, dsPIC / LCD / power / switches / Crystal.

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 Ver.2 will have Li-ion battery and charger, quality 1ppm TCXO, separated clock power supply and I2S reclocking circuit.
 

Attachments

  • KDA_US02.zip
    118.1 KB · Views: 146
I was just itching to ask you about progress, but thought I should be patient. Hey, this is great.

> Microchip lib does not support Long File Name. (anyway LCD is small)

No issue, but 2x16 character display possible ??
2x8 is really a bit limited in info.

> Supports only 1 depth of folder.

Also no issue. But how to go up and down between folder and wave, or to change folder ? Need extra keys ?

> Hardware Ver.2 will have Li-ion battery and charger, quality 1ppm TCXO, separated clock power supply and I2S reclocking circuit.

I have been playing around with the QA550, so the DAC hardware there can also be used for the Ultimate Source V2.
I need to hurry up with the Ultimate Source Hardware as well.

One more question if not too greedy -- how about extension to remote ?
Need to make allowance for extra hardware connection to an additional uP ?


Many thanks for sharing in any case,
Patrick

:)
 
Hi EUVL, sorry I was playing with my huge commicshelf / Scansnap scanner / Astak Ebook reader :) for 2 months.

Ver.2 PCB will be 4in x 5in (just twice as large as Ver.1)
2x16: I ordered 2x16 black on green, to SparkFun today.

Folders: new 2 button, CD-FF and CD-PREV.
They handle next Folder and Previous Folder as if multi-CD player (one CD = one folder). FF and PREV handle next wav file, previous wave file, same as ver.1.

Remote extension: I'm not sure current dsPIC has enough time slot to handle IR input, but I can reserve U1RX/SDI1/RF2 pin for signal receiving.
Or, current firmware just monitors pin is Low (switch off) or High (switch ON).
you will need small PIC to receive remote signal to make 7 output signal.
Ver.2 board already have 9 pin external holes. (GND, signal, VCC).
 
No problem with remote, I can do it with hardware by shorting the push buttons with optocoupler. No extra work for the dsPIC. Same as display off -- just cut VFD supply.

One more issue -- is the play sequence within one CD according to alphanumerical order, e.g. Track01, then Track02, ....., or according to the order the files are placed in the SD card, or else ?

And fragmented file issue also resolved ? Though this one is also solvable by defragmentation .....


Thx,
Patrick
 
Hi EUVL,

Play sequence is same as "dir *.wav", depends on FSlib Search function.
Some of Flagmented file could be played.
Ver.1: make sector listing and remember, uses large file info / smaller play buffer
Ver.2: rely on Filesystem, smaller file info / 4 times large play buffer
So filesystem can have some time slot to search next sector, between buffer filling.
But still will have problem when "All sectors are flagemented". Yes WAV files should be aligned to avoid unnecessary MPU/Disc operation.

I used port F.2, F.3 to test CDFF and CDPREV. (not written in schematic, just on board terminal)
Attached Ver.2 schematic...

If you want to DIY the board, I can send files. see ExpressPCB - Free PCB layout software - Low cost circuit boards - Top quality PCB manufacturing for free CAD.
 

Attachments

  • KDA_US02_SCH01.pdf
    63 KB · Views: 269
Attached is current board image.
4 in X 5 in
16 x 2 LCD, 7 Keys
3.7V 2000mAh battery on back, charged by 2.1mm or USB-miniB
5V TCXO(U6), clock buffer(U8), I2S signal re-clock(U7)
SDHC up to 32GB

Now waiting for Digikey to check new parts library.

>EUVL , 2 in x 2 in will be enough for your configuration.
(dsPIC, Caps and connectors only, everything outside)
 

Attachments

  • board_20091105.PNG
    board_20091105.PNG
    121.3 KB · Views: 658
I have been on trip and have not had a chance too look at the codes yet.
But maybe a couple of questions which might also be of general interest :

1. What exactly will the 2x16 character display shows ? Is it relatively easy to change for customised needs ?
2. Do I need additional hardware switch debounce, or it is implemented in software ?
3. If we were to need an additional uP anyway for remote, would there be any advantage in using the remote uP to handle the push buttons as well ? Is there a performance advantage (dsPIC relieved of constant scanning of human interfaces) ?


Thanks,
Patrick
 
Hi EUVL
1. now(8x2) folder / file name, number, and time. not easy to change. you need to look into how to get filename, time info, and making string to display. see lcd.c, main.c, player.c. some routine must not be called while playing because it will crash file object.
2. switches are de-bounced by firmware. see timer.c and button.c
3. maybe nothing? (check IO port) vs (check serial RX in) will not be a large difference.
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.