时钟很不匹配
现在要开发一套数控装置的实时现场总线。
总线实时收发程序使用实时网卡的时钟中断信号;
数控程序使用RTX系统里的时钟。
两个程序在一台研华工控机上运行,数控程序依据RTX系统时钟产生数据并打入总线缓存,实时现场总线用实时网卡的时钟中断发送总线缓存的数据。
现在却发现这两个时钟很不匹配,RTX系统里的时钟在一个毫秒里可以比实时网卡的时钟慢20微秒。
实时总线的发送端是硬件发送,就是不管总线缓存里有没有新的数据,它都会按设定的周期发送缓存数据。
RTX系统时钟较慢,就会出现更新总线缓冲不及时的现象,导致数控程序上个周期产生数据被再次发送,系统出错。
如果在接收端加入判断机制,会影响系统实时性。
调节RTX系统时钟为每毫秒980微秒,可以一定程度上缓解这个问题,但是由于RTX里的时钟调节粒度为5微秒,所以不可以完全消除这个误差。
这是什么原因,一般怎么解决啊?