STM32 -> ADAU1701
I'm finalising a design with an AD1701 using the STM32 as the USB-audio driver (it's a modular, mix and match design but the STM32 is the most appropriate for the "reference design".
And herein is the issue, for a decent sample rate of 48 or 96 KHz (not audiophile but good enough) an accurate master clock running at 12,288 MHz which I can't get from the 1701 and in any case throwing that sort of frequency down jumpers is likely to end up in the board getting hoisted by a few kilograms of a home-made petard.
CubeMX calculates the error as high as 1.72% for 96 KHz for example with a 25 Mhz HS clock input.
I'm a little confused (I hail from the days when CPUs ran at 4-8MHz and we thought they were fast) so it might be my age but I don't understand how to correct this sort of error. I'd appreciate if someone more knowledgeable about I2S (or the SAI peripherals) of how to best ameliorate this issue.
I know how PLLs work to lock onto a signal but I'm out of my depth (I'm primarily a writer and design is largely a hobby for my own education). Mostly I'm confused on what effect the error will have on the recorded audio. I wonder if I'd be better of generating a 12.288 MHz from a simple Xtal oscillator using a Pierce oscillator and be done with it?
At least I can control both devices from a single master but I'm honestly baffled what this clock drift does.
