Page 4 of 5

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

Posted: Fri 2019-01-04 10:17
by fwachsmuth
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.

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

Posted: Fri 2019-01-04 11:38
by Panu
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

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

Posted: Fri 2019-01-04 16:10
by fwachsmuth
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. ;)

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

Posted: Sun 2019-01-13 4:07
by fwachsmuth
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?

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

Posted: Sun 2019-01-13 19:20
by fwachsmuth
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

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

Posted: Mon 2019-01-21 11:53
by pasi
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.

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

Posted: Sun 2019-02-03 0:28
by fwachsmuth
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?

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

Posted: Mon 2019-02-04 11:17
by pasi
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.)

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

Posted: Mon 2019-02-04 21:19
by fwachsmuth
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?

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

Posted: Tue 2019-02-05 15:34
by pasi
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.