发现这两个时钟很不匹配

tianmen431906 2011-03-28 08:44:11
现在要开发一套数控装置的实时现场总线。
总线实时收发程序使用实时网卡的时钟中断信号;
数控程序使用RTX系统里的时钟。
两个程序在一台研华工控机上运行,数控程序依据RTX系统时钟产生数据并打入总线缓存,实时现场总线用实时网卡的时钟中断发送总线缓存的数据。

现在却发现这两个时钟很不匹配,RTX系统里的时钟在一个毫秒里可以比实时网卡的时钟慢20微秒。

实时总线的发送端是硬件发送,就是不管总线缓存里有没有新的数据,它都会按设定的周期发送缓存数据。
RTX系统时钟较慢,就会出现更新总线缓冲不及时的现象,导致数控程序上个周期产生数据被再次发送,系统出错。


如果在接收端加入判断机制,会影响系统实时性。
调节RTX系统时钟为每毫秒980微秒,可以一定程度上缓解这个问题,但是由于RTX里的时钟调节粒度为5微秒,所以不可以完全消除这个误差。

这是什么原因,一般怎么解决啊?
...全文
48 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

15,440

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧