Altera_Forum
Honored Contributor
10 years agoMultiple synchronous clocks and PLL in digital audio application
I am about to make a digital audio transceiver in a Cyclone V device and I am a little bit stuck on the clock strategy (and slightly rusty):
On the receiver the data is synchronized on a input bitclock, bclk (running at 64*fs) and a separate master clock, mclk (256*fs). They are normally synchronous to each others, but I have no control over that. The transmitter requires a clock of 128*fs. The question is how to design the clock-setup for this. I (can) use the Altera PLL from mclk to generate 128*fs (and 64*fs) clocks from the master clock. What would be a good approach to the clock setup in this case? 1) Is it necessary with clock domain synchronizes when crossing two synchronous clock domains generated from the same PLL, but running at different speeds? 2) Are there any advantages from running a design using a single higher rate clock, than using multiple synchronous slower clocks? Granted, power consumption is affected. 3) On the receiver I see three clocking options: a) Run the receiver on the input bitclock (64*fs), which later requires data clock synchronization on the collected data inwards the FPGA, b) Run the receiver on mclk (256*fs) and use the incoming bitclock edges to advance the data reception. c) Synchronize the incoming data against the PLL generated 64*fs clock. This requires that the assumption that the bitclock and the PLL generated clock is completely synchronous (which I doubt can be true). Any thoughts around this would be appreciated Thanks.