SPRUI30H November 2015 – May 2024 DRA745 , DRA746 , DRA750 , DRA756
The tracking mechanism is capable of handling all input (baseband) and output (audio) sampling rates used by HD Radio. The ATL works on a single-clock domain and is insensitive to a particular choice of the master clock frequency as long as it is divisible by the desired audio frequency.
Figure 31-3 shows the functional block diagram of the four instances of the ATL module.
The ATL consists of two circuits: Measurement Circuit and Adjustment Circuit.
The main interface includes two registers: a read register in the measurement circuit, baseband sample register ATL_BBSR0; and a write register in the adjustment circuit, parts-per-milion register ATL_PPMR0.
The measurement circuit includes an 8-bit rolling counter, a 16-bit rolling counter, and the 16-bit sample count register. The 8-bit counter counts audio clock cycles. The 16-bit counter counts the number of baseband samples received by the modem. When the 8-bit counter rolls over, the content of the 16-bit counter is strobed into the sample count register ATL_BBSR0[15:0] SAMPLE_COUNT. The HD Radio library uses this content to determine the relative frequency offset between the audio clock and baseband sampling clock.
The adjusting circuit produces a timing signal at the top of the audio clock tree, which is used by dividers that make the audio timing signals including DAC oversampling clock, bit clock, and word select. The output is occasionally adjusted by altering the divide count by one “tick” of the master clock. It includes a 20-bit accumulator circuit with a 9-bit PPM ATL_PPMR0[8:0] PPM_SETTING register and an adjustable clock divider ATL_ATLCR0[4:0] ATLINTERNAL_DIVIDER. The content of the ATL_PPMR0 register is subtracted from the accumulator every master clock (ATLPCLK) cycle. On underflow, the audio clock divider adds or subtracts one master clock (ATLPCLK) period from the nominal periods of the audio clocks. The rate of adjustments in PPM (parts-per-220) is exactly the value written to ATL_PPMR0[8:0] PPM_SETTING. The MSB or ATL_PPMR0[15] PPM_SLOWDOWN of the PPM register determines whether the audio clock period is shortened or lengthened.
ATCLK is the adjusted audio clock output from the ATL. ATCLK is internally multiplexed into the McASP high-speed clock (AHCLKX) signal path per the clocking shown in the PRCM chapter (see Chapter 3, Power, Reset, Clock Management Module). This lets the McASP drive the master clock for an audio DAC while at the same time driving the McASP dividers for AFSX and ACLKX. ATCLK should be 128 × Fs or higher for the DAC oversampling clock.