SPRUJ55D September 2023 – July 2025 AM263P2 , AM263P2-Q1 , AM263P4 , AM263P4-Q1
This diagnostic check is used for monitoring the degradation or loss of excitation frequency coming back as part of the modulated Sine and Cosine signals from external Resolver to RDC.
For this diagnostic check, rotation is not required. Even for fixed angle(with external Resolver stationary or with no rotation), there should be an excitation signal component at least on either Sine or Cosine inputs. For example, for a fixed angle of 0(Zero) Degrees, Sine channel will be flat zero amplitude, but Cosine channel will have maximum amplitude signal, containing the modulated component of the Excitation signal.
For this diagnostic check, Zero crossings of both Sine and Cosine signals are detected, which runs a counter at frequency of = Excitation Frequency × 1000 (20MHz for 20KHz fexct, 10MHz for 10KHz fexct etc.). Between each zero crossing of the Sine and Cosine signals, the count should be 500 for each half cycle. So this counter should return a count of 500 ideally for each half cycle of Sine and Cosine Signals.
This count is compared to the threshold from excfreqdrift_threshold_hi and excfreqdrift_threshold_lo registers. If the counter is outside of these threshold limits, then this results in an increase in glitch counter. For each fault, the glitch counter of this diagnostic gets increased and gets compared to excfreqdrift_glitchcount register before triggering the error.
For typical use cases, a tolerance of ±10%, which is 450 and 550 can be used.
The below Table 7-135 shows the relevant diagnostics registers for both RDC0 and RDC1.| RDC Instance | Register Name | Physical Address | Offset |
|---|---|---|---|
| RDC0 | DIAG2_0 | 502C B09Ch | 09Ch |
| DIAG3_0 | 502C B0A0h | 0A0h | |
| DIAG4_0 | 502C B0A4h | 0A4h | |
| RDC1 | DIAG2_1 | 502C B26Ch | 26Ch |
| DIAG3_1 | 502C B270h | 270h | |
| DIAG4_1 | 502C B274h | 274h |
The below Table 7-136 shows the corresponding bits to be programmed in the diagnostics registers.
| Diagnostic Register Name | Bit | Field | Type | Reset | Typical Programmed Value | Description |
|---|---|---|---|---|---|---|
|
DIAG2_0 |
31:16 | excfreqdetected_cos | R | x | - | Counts zero crossing of Excitation frequency in Cosine Signal |
| 15:0 | excfreqdetected_sin | R | x | - | Counts zero crossing of Excitation frequency in Sine Signal | |
|
DIAG3_0 |
31:16 | excfreqdrift_threshold_lo | R/W | 0x0 | 450 | Low threshold count to detect Excitation Frequency Drift |
| 15:0 | excfreqdrift_threshold_hi | R/W | 0x0 | 550 | High threshold count to detect Excitation Frequency Drift | |
|
DIAG4_0 |
23:16 | excfreqdrift_glitchcount | R/W | 0x1 | - | Excitation Frequency Drift counter limit for issuing error |
| 15:0 | excfreq_level | R/W | 0x0 | - | Threshold of ADC value which detects zero crossings |
The below Table 7-137 shows the register bits of IRQ registers to be used for Reading Status, Enabling/Disabling the Error Diagnostic check.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 13 | excfreqdrift_hi_err | R/W | 0x0 | Bit showing Excitation frequency high limit crosssed for Cosine |
| 12 | excfreqdrift_cos_lo_err | R/W | 0x0 | Bit showing Excitation frequency low limit crosssed for Cosine |
| 11 | excfreqdrift_sin_lo_err | R/W | 0x0 | Bit showing Excitation frequency low limit crosssed for Sine |
The below are the typical steps for programming the Degradation/loss excitation frequency Diagnostics.
Associated AM263Px MCU+ SDK API with this check: Diag_Mon_ExcFreq_Degradation_data