这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 目标机的系统辅助时钟设置

共8条 1/1 1 跳转至

目标机的系统辅助时钟设置

菜鸟
2007-08-08 09:53:19     打赏

最近在目标机上用sysAuxClkRateSet设置辅助时钟的频率,可是设置不成功,无论我设置时钟的频率为多少,用sysAuxClkRateGet得到的实际辅助时钟的频率是64。我已在BSP中已经加入了AUX clock模块,而且设置的频率在最大值和最小值之间。而在Simpc上使用sysAuxClkRateSet没有什么问题。这是什么原因,还请各位多指教。

 




关键词: 目标机     系统     辅助     时钟     设置    

菜鸟
2007-08-08 13:00:41     打赏
2楼
首先看看sysAuxClkRateSet返回值是否为OK,如果不是,则现象正常。如果返回OK确没有设置成功,则应该是BSP中的辅助时钟驱动问题。
另外,x86系统的辅助时钟必须是2的n次幂。其它系统是否有限制,需要看下对应的源码实现。

菜鸟
2007-08-09 10:51:47     打赏
3楼

按照版主的指点,我做了一下测试。x86系统的辅助时钟必须是2的n次幂,当频率设置为其他的例如5000等等,不是2的n次幂时,sysAuxClkRateSet返回值为ERROR,不能设置频率。不过在x86系统的辅助时钟不能为其他值吗?我现在需要一个定时器,每隔10ms或者是更短的时间产生一个中断,如果x86系统的辅助时钟必须是2的n次幂就不能用它准确进行定时。只能采用系统时钟和看门狗了。而对系统时钟,一般不推荐频率太高。如果想用系统辅助时钟有什么办法,让它的频率像系统时钟,在最大和最小值任何值都可以。


菜鸟
2007-08-15 15:22:13     打赏
4楼
x86的辅助始终默认是用的RTC时钟,可以看看pePentium的target.nr。要该的话必须硬件还有其他可用时钟。
其实,对于定时,也不是非得用辅助时钟,尽管有些外围应用程序是跟辅时钟绑定起来的,比如matlab,这种外围应用程序也是可以改的。

菜鸟
2007-08-21 19:25:25     打赏
5楼

是的,我就是在使用matlab时发现辅助时钟不能够设置一些我期望的频率。没有办法,只好将里面的辅助时钟改为系统时钟。不过如果在Simulink将仿真步长设得很小,系统时钟得频率就会很高,一般情况希望系统时钟得频率太高。不过也可以考虑使用外部定时器,让定时器产生中断。


菜鸟
2007-08-22 00:03:29     打赏
6楼
呵呵,还真让我猜中了。步长不会低于1ms吧?如果硬件较好,主时钟设置为1000问题不大。应该够用了。不过系统时钟率不适合总是改动。所以,最好是把matLab的时钟机制给改了,改为在固定的较高的时钟率的情况下,可以设置步长而又不用改时钟率。当然,有条件做硬件定时器就更好了。

菜鸟
2007-08-23 08:53:51     打赏
7楼
不过使用系统时钟的频率可以设得很高,我使用新的工控机可以到20微妙,即系统时钟的频率可以到50000,使用差的机子的话在130微妙左右。不过把系统时钟的频率设这么高是不太好的。还是使用外部时钟比较合适。

菜鸟
2007-08-23 10:43:40     打赏
8楼

呵呵,把主时钟设置得太高会带来其他问题,硬实时性能会下降,操作系统本身带来的负荷太大了。计算硬件性能再好,也不推荐这样做。


共8条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]