DSP2812定时器0的设置问题

来源:百度知道 编辑:UC知道 时间:2024/06/14 20:58:18
我的DSP2812晶振为30兆,PLL为0X0A,CPU的频率就是150兆对吗?假设CPUtimer0的频率也为150兆,定时器的周期寄存器的初始化值是否为150*中断时间(中断时间单位为微妙),如果是这样,我要每50微秒产生一个定时器0的中断,怎么查看时间是否准确啊,谢谢各位高手!

DSP2812晶振为30兆,PLL为0X0A,CPU的频率就是150兆对吗?
----------对的。主频等于(晶振/2)*PLL。这是2812的最高主频。

假设CPUtimer0的频率也为150兆,定时器的周期寄存器的初始化值是否为150*中断时间(中断时间单位为微妙)
----------是的。但前提是CPUtimer0预分频寄存器的值为0。

如果是这样,我要每50微秒产生一个定时器0的中断,怎么查看时间是否准确啊
----------在定时器0中断服务程序中对一个IO口进行取反操作,用示波器观察这个IO的输出,周期是100微秒就对了。这个时间一般都是非常准确的,不用担心,只要你的设置是正确的,晶振是好的。

DSP上有一个TOUT引脚,如果在TCR0寄存器中设置成每中断一次输出信号电平翻转,这样用示波器观察TOUT的输出波形,其周期应该是中断的周期的二倍。
另外DSP的工作频率尽管可以用锁相环倍频,好像不能超过DSP频率的上限吧,你可以观察CLKOUT引脚看分频后的波形,(有个寄存器设置分频数,我忘了),来推断锁相环倍频的设置是否正确