您好,我想计算一个中断(利用starterware编写)的响应,处理的时间,现行的的方法是利用DMTimer来计时,但DMTimer的时钟源的频率貌似有限,下面是《AM335x_Technical Reference Manual》上的记载:
20.1.2.2 Timer Clock and Reset Management
Each DMTimer[2–7] functional clock is selected within the PRCM using the associated CLKSEL_TIMERx_CLK register from 3 possible sources:
• The 24-MHz (typ) system clock (CLK_M_OSC)
• The PER PLL generated 32.768 KHz clock (CLK_32KHZ)
• The TCLKIN external timer input clock.
The DMTimer 0 functional clock is fixed to use the internal 32KHz RC Clock (CLK_RC32K).
24MHZ的系统时钟是不能满足中断响应时间的计时的,TCLKIN时钟实现起来有点难度,AM335x中,还有其他可利用的,高频率的(至少100MHZ),可用来计时的单元吗?
Yaoming Qin:
我查了下文档,timer的计时精度最高可以到25M,但问题是,中断响应计时有必要 到100M的精度么,请澄清下,谢谢
jianyi wang:
回复 Yaoming Qin:
最高25M的限制我也看到了,估计DMTmer不能满足需要了。
我测试别的MPU用的是100MHZ,所以现在还想用100MHZ,而且中断的响应时间在10个时钟周期左右,精度低的话测试不准。
Yaoming Qin:
回复 jianyi wang:
你说的是什么中断响应,和timer是怎么样的关系,我没有明白你的意思
jianyi wang:
回复 Yaoming Qin:
我要测试一个中断(任何中断都可以)的响应时间,时间想用DMTimer来计时。但是DMTimer的时钟频率有限(也就是说测试的时间精度有限),想找别的一个精度高的,能用来计时的东西
jianyi wang:
回复 Yaoming Qin:
您说的那个应该是CP15的C9寄存器,我大致看了一下,应该可以满足计时。
1.我做的东西很简单,就是评价AM3359的中断响应时间,没有特别高的要求,其实系统24MHZ也可以的,只是我想提高点精度,毕竟中断的响应很快,大概在10个时钟周期左右,精度低的话偏差会很大。
2.目前没有具体的要求,只是想评价一下。
3.我的做法其实很山寨,不是专业的评价。做法就是:进入中断处理的时刻-触发中断的时刻 ,得到响应的时间。
最后还想请教下,除了使用CP15寄存器,没有别的精度很高的可用来计时的单元了吗(DMTimer之外的)?
Yaoming Qin:
回复 jianyi wang:
我觉得你这样的测试方法是很不准的,因为你开启timer,到中断进来有一段时间的延时,很难测试准确,这个不是时钟精度的问题,是测试方法不准。中断你还是看看trm中描述的过程,没什么必要进行这样的测试
jianyi wang:
回复 Yaoming Qin:
谢谢您的指点,这个方法肯定不对,但作为用户级别的测试还算可以,符合项目需求吧。
Yaoming Qin:
回复 jianyi wang:
你的误差和要测量的数值在一个数量级上,这样的测试结果你觉得意义大么?
naiyin mu:
回复 Yaoming Qin:
你好。请问你说的是 AM335x ARM® Cortex™-A8 Microprocessors (MPUs) Technical Reference Manual 这个文档么?怎么没有3.2章呢?只有3.1章