Can I change 1053 playback speed with a DDS as XTAL?

Designing hardware that uses VLSI Solution's devices as slave codecs such as an external MP3 decoder chip for a host microcontroller.
fwachsmuth
Senior User
Posts: 28
Joined: Sun 2016-01-10 14:58

Re: Can I change 1053 playback speed with a DDS as XTAL?

Post by fwachsmuth » Fri 2019-01-04 10:17

Just so you know, I was finally able to finish this super niche project and soldered the first small batch of 10 boards. They sold within 3 hours!
Not bad for a hobby project. :)

The final result is here: https://www.filmkorn.org/synkino/?lang=en

Thanks to all the great VLSI peeps for the thorough help I got here! You have been absolutely amazing.
Attachments
D15F37BB-4704-4AEC-9C05-C381F513F7F1.jpeg
D15F37BB-4704-4AEC-9C05-C381F513F7F1.jpeg (3.89 MiB) Viewed 316 times

User avatar
Panu
VLSI Staff
Posts: 2631
Joined: Tue 2010-06-22 13:43

Re: Can I change 1053 playback speed with a DDS as XTAL?

Post by Panu » Fri 2019-01-04 11:38

Thanks, and congratulations! It's always very satisfying to see something nice like this to get done successfully!

Pasi is here at the lab with me, he also seems quite happy, wondering if you managed to do the fine tuning successfully in the end... :)

-Panu
Info: Line In and Line Out, VS1000 User interface, Overlay howto, Latest VSIDE, MCU Howto, Youtube
Panu-Kristian Poiksalo, VLSI Solution Oy

fwachsmuth
Senior User
Posts: 28
Joined: Sun 2016-01-10 14:58

Re: Can I change 1053 playback speed with a DDS as XTAL?

Post by fwachsmuth » Fri 2019-01-04 16:10

I did!
The biggest challenge was fine tuning the PID controller in the end... to catch up timely, oscillate as little as possible and don't make changes which are too audible.

BTW: Your Audio/Ground Considerations where gold. The thing sounds amazing. The MAX4741 is a bit pricey, but it was worth to get rid of the pop.

Next step: Solder the remaining 90 boards. 10 done so far... sigh. ;)

fwachsmuth
Senior User
Posts: 28
Joined: Sun 2016-01-10 14:58

Re: Can I change 1053 playback speed with a DDS as XTAL?

Post by fwachsmuth » Sun 2019-01-13 4:07

Hey guys,

I have soldered ~30 boards so far (quite some work!) and about 15% don't work.
The symptom is always the same: Right after powering on, the load on the 1.8V CVDD line is so high that my power controller shuts down after a second or two (it's peak current is 250 mA).
I have failed so far to find out what causes this load. My soldering is solid and clean, I have quite some experience. I also carefully take care of ESD protection.

On most boards it helped to unsolder the the VS1053B and replace it with another, fresh one. This is some work and pricey, but it helped. I am reflowing with peak temp 235° (for about 4 seconds), is it possible that this is really too much heat for the chip already?

However, I have two boards where I replaced the chip now three times already (giving extra big care to solder as quick and careful as possible) and the effect is still the same – as soon as I feed CVDD with its 1.8V, the load goes through the roof.

Nothing but pin 5, 7, 24 and 31 are connected to CVDD, I basically follow your connection diagram from the data sheet. The caps (100u and 3x 100n) are also fine.

Is it maybe a known problem that overheating while soldering causes the CVDD to short? But is a normal reflow really overheating already?
Do you have any other hint what on earth could cause the CVDD input to draw so much load?

fwachsmuth
Senior User
Posts: 28
Joined: Sun 2016-01-10 14:58

Re: Can I change 1053 playback speed with a DDS as XTAL?

Post by fwachsmuth » Sun 2019-01-13 19:20

I found it!
It was too high load on GBUF.

I use the MAX4741 switch and apparently some of the boards had a teeny tiny short between two pins because of a dent in my stencil! And since the MAX4741 is buried under a display, I missed that during visual inspection.
Interestingly, some 1053 caused the high current draw, while others just played back very silent with this short. Seems there are two versions (I use plenty of different date codes, since I sourced from Aliexpress), or the short I had was just on the edge between those two reactions.

Anyway I found it. Now all is green, all the boards were fixed and work well :)


F

User avatar
pasi
VLSI Staff
Posts: 1552
Joined: Thu 2010-07-15 16:04

Re: Can I change 1053 playback speed with a DDS as XTAL?

Post by pasi » Mon 2019-01-21 11:53

Great that you found the issue.

There's a short-circuit protection in the output of vs1053b, which disconnects GBUF at a certain current. Naturally that varies somewhat from IC to IC, so with some of them the power controller shuts down first before the short-circuit protection kicks in.
Visit https://www.facebook.com/VLSISolution VLSI Solution on Facebook

fwachsmuth
Senior User
Posts: 28
Joined: Sun 2016-01-10 14:58

Re: Can I change 1053 playback speed with a DDS as XTAL?

Post by fwachsmuth » Sun 2019-02-03 0:28

Hey guys, I do have one more question: How can I determine the original Sampling Rate of a loaded ogg file?

Chapter 9.9.6 of the data sheet suggests to read Bit 15:1 from SCI_AUDATA, but when I do that and shift 1 to the right, I actually get 23350 instead of 22050. The file is definitely a 44.1kHz file.

When reading during playback, I get pretty random numbers.

Is there a less hacky way to determine the file's sampling rate than reading Byte 40 and 42 from the files's header?

User avatar
pasi
VLSI Staff
Posts: 1552
Joined: Thu 2010-07-15 16:04

Re: Can I change 1053 playback speed with a DDS as XTAL?

Post by pasi » Mon 2019-02-04 11:17

You don't shift the bits, you just ignore the lowest bit (by & 0xfffe). Thus 0xac45 becomes 0xac44, i.e. 44100Hz.

(An Ogg Vorbis file could technically also be 46700Hz.)
Visit https://www.facebook.com/VLSISolution VLSI Solution on Facebook

fwachsmuth
Senior User
Posts: 28
Joined: Sun 2016-01-10 14:58

Re: Can I change 1053 playback speed with a DDS as XTAL?

Post by fwachsmuth » Mon 2019-02-04 21:19

Well, on page 44 of the data sheet says "Bits 15:1 contain the samplerate divided by two, and bit 0 is 0 for mono data and 1 for stereo". But yes, I should have shifted to the left then :)

Nevertheless, my file has 44.1 kHz and SCI_AUDATA tells me it is 46.7kHz.
Also, when reading from there during playback, I get very random numbers, often not even close to the actual sampling rate.

I have the plugins loaded and the 15/16 bit Resampler enabled. It is possible that the latter interferes?

User avatar
pasi
VLSI Staff
Posts: 1552
Joined: Thu 2010-07-15 16:04

Re: Can I change 1053 playback speed with a DDS as XTAL?

Post by pasi » Tue 2019-02-05 15:34

The 15/16 resampler does not affect SCI_AUDATA. (If it did, the rate would read out as lower than nominal.)

Reading (semi)random numbers from SCI is probably a sign that there's something wrong with your SCI read routine.

Check that the SPI clock is low enough compared to the internal clock frequency and that you are using the correct clock edge. Also double-check your chip select handling.
Visit https://www.facebook.com/VLSISolution VLSI Solution on Facebook

Post Reply