Part Number: TMS570LS0432
Other Parts Discussed in Thread: SN65HVD230
Hello,
I have a batch of prototype boards stuffed with the Hercules TMS570LS0432 microcontroller and SN65HVD230 CAN transceiver. Unfortunately, the oscillator design failed on these boards, but I'd still like to develop and test using the internal high-frequency low-power oscillator (HFLPO) at 10MHz. Everything works well so far, except for varying CAN performance across different boards. Some boards can transmit and receive without any errors on the bus, and others accrue errors immediately, causing the DCAN peripheral to turn off (either the Bus-Off State bit in ES Register, or the Receive Error Passive bit in the ERRC Register). Others still can transmit and receive with occasional bit errors, but the DCAN peripheral still shuts down eventually.
My tests use a Kvaser USBcan Pro v2 and Busmaster V3.1. I am using a Spectrum Digital XDS200 JTAG emulator to pause the 570LS and view its DCAN registers. The other devices on the CAN Bus have been validated, and I do not believe are part of the problem.
I have tried many different bit timing settings, but here are my current settings:
10MHz VCLKA1 input w/ BRP 1
200ns quanta time & nom. bit time of 10
1 Sync Seg
1 Prop Seg
4 Phase 1 Seg
4 Phase 2 Seg
4 Sync. Jump Width
The above settings are recommended by the TRC to give the highest bit-timing tolerance to oscillator frequency variations (TMS570LS04x TRM Rev. B; Section 20.2.3.1.4: Oscillator Tolerance Range).
Could the instability of the internal oscillator be the cause of the varying performance across otherwise identical boards?
Thanks for you help,
Matthew