SPRUJ17H March 2022 – October 2024 AM2631 , AM2631-Q1 , AM2632 , AM2632-Q1 , AM2634 , AM2634-Q1
DCC has two sets of counters with each set having programmable clock selection.
COUNT0 and COUNT1 are configured based on the ratio between the frequencies of Clock0 and Clock1 (Clock1 frequency * COUNT0 = Clock0 frequency * COUNT1). Further, the tunable counter VALID0 on the Clock0 (reference clock) defines the window of margin for COUNT1 to end after COUNT0. This COUNT1 needs to complete within valid window for operation where clock relationship is as expected.
The error signal is generated by any one of the following conditions:
Any of these errors causes the counters to stop counting by default. An application may then read out the counter values to help determine what caused the error. It would take multiple clocks (2-3 in each clock domain i.e. source and VBUSP_CLK) to stop the counters due to the cross-clock domain synchronizations. Counters can also be configured in a mode to reload and continue down-counting despite error so successive error event is not missed. Error is reported as exception and application is expected to read the counter values for determining quantum and direction of error.
Reloads or restarts occur under the following conditions:
The DCC module does not check jitter for Clock0 or Clock1.
As the counter preset signal is synchronized to either of the source clock domains, the counters begin downcounting after two corresponding source clock cycles.
The error signal is to be captured to the VBUSP_CLK domain. There is 1 VBUSP_CLK period uncertainty on either side of the fixed width counting window (VALID0) in generating the error signal since the counters work in a different clock domain. This should be accounted for, when setting the count value for VALID0.
Operating the DCC with ‘0’ in the COUNTSEED1 or COUNTSEED0 or VALIDSEED0 register will result in undefined operation
Figure 13-265 through Figure 13-269 shows examples of counters relationship and error generation.