This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC1310 如何同步两个timer?

Other Parts Discussed in Thread: CC1310

准备采用CC1310对一个10MHz的方波信号进行测频,要求精度达到1Hz。进行了下列两个方案的测试:

1. 采用sensor controller studio中的timer-digital-converter ,但由于SCS中的timer只支持16bit,因此计数不足以满足10MHz信号的频率测试精度要求。

2. 同步测频的原理:采用TI-RTOS中的GPTimer driver,用了两个timer,其中timer0配置成24bit的input count 模式,match register 设置为10*10^6,对10MHz信号数1秒;timer1配置成32bit period count-up模式;然后用cc1300 driverlib中的TimerSynchronize函数对上述两个timer进行同步启动;最后在timer0的中断函数中取出timer1的计数值,从而得到10MHz信号的频率值。  但实际测试结果发现每次测频的结果均偏差较大:

怀疑是两个原因导致:

1. driverlib中的TimerSynchronize是否可以与TI-RTOS的GPTimer driver一起使用?

GPTimerCC26XX_start(GPTimer1Handle);
TimerSynchronize(GPT0_BASE, TIMER_1A_SYNC);
GPTimerCC26XX_start(inputEdgeGPTimerHandle);

2. 由于基于TI-RTOS,进入timer HWI的延时不确定,导致在进入input count match capture的时间每次都不一致,在中断中去取timer1的计数值每次均有较大偏差。

 

请问是否有办法实现这一测频需求?