Part Number: AM3359
Hi,
we are having an intermittent issue with timer3 on the AM3359 chip. We setup timer3 to interrupt every 2.08us and it seem to work fine for many hours until the interrupt just stop coming for a few minutes and resume as normal afterward. Base on our test not all the PCB has the issue. This problem can only be reproduced on a few PCB.
Upon investigation, we captured with Ethercat data that the timer register (TCRR) went beyond its range for our application. It is supposed to be range bounced between 0xFFFF_FFCD to 0xFFFF_FFFF but we have captured value way out side of this range in TCRR register. We also used the debugger to monitor any write to the TCLR, TCRR, TLDR, and TTGR registers and have no hits. We looked at the Errata and did not find any anything.
This is how we set up timer3
Timer_Params timerParams;
Timer_Params_init(&timerParams);
timerParams.extFreq.lo = 24000000;
timerParams.extFreq.hi = 0;
timerParams.period = NXT_CLK_REFERENCE_COUNTS; // Nominally 50
timerParams.periodType = Timer_PeriodType_COUNTS; //Timer_PeriodType_MICROSECS
timerParams.startMode = Timer_StartMode_USER;
nxtClkTimer = Timer_create(1,stepIO_HwIsr,&timerParams,NULL); //TimerID1 at runtime => HWTIMER3
We also switch to use timer4 and find that the issue is still there but occur with even less frequency.
Do you know of any intermittent issue with timer3?
Our system is running at 550MHz.
timer3 is clocked by 24MHz
We are using CCS6.0.1.00040
Sys/Bios 6.35.5.54 and XDCtools 3.24.7.73
Thanks
Robbie