Hi Hercules team,
For our fail safe self test, I try to trigger a PLL2 slip error (ESM1.42). We have two projects: Project A and project B. Both use the TMS570LC4357 device. With the same code, I can trigger the PLL2 slip error in the project A, but not in the project B.
Below is my basic fault insertion flow:
Currently in both projects, the setting of the system 2 PLL Control Register 3 (PLLCTL3) is 0x02037700.
To trigger the PLL2 slip error, I changed the PLLMUL factor from 0x7700 to 0x0000.
This change will trigger the PLL2 slip error in project A, but not in project B.
I have tried to maximize the PLLMUL change with the following code in project B:
Change PLLCTL3 from 0x02037700 to 0x02030000.
Flush the cache. (No error triggered).
Change PLLCTL3 from 0x02030000 to 0x0203FF00.
Flush the cache. (No error triggered).
I have compared all the primary and secondary system control registers (SYS and SYS2) of the two projects. Except the Pin control register, the DIE ID register, and the LPOMONCTL register, there is no difference.
I have also changed the register CLKSLIP from 0x0005 to 0x010A before the test, but this doesn’t help.
I have tested the project B with two ECUs. Neither ECU can trigger the PLL2 slip error.
Could you please tell me, which register I still need to check?
Thank you for a quick feedback!
Best regards,
Libo