Linux串行端口优先级
问题描述:
目前我们正在使用Fedora Core 3作为我们正在开发的系统。该系统需要通过串行通信。通信的时机对时序至关重要。目前看来,串行驱动程序在将数据从4k fifo推送到16byte硬件uart时出现延迟。Linux串行端口优先级
有没有什么办法强制Linux用更高的优先级来对待这个动作?
答
尝试使用setserial设置low_latency选项。
默认情况下,串行端口针对吞吐量而非延迟进行了优化,我认为这个选项可以让您对其进行更改。
答
考虑让设备供应商在时间无关紧要的情况下将协议更改为不那么笨的协议。
有一个时序关键的串行协议,或者确实需要你在发送下一个消息之前确认一条消息,这真的很愚蠢。
rs232风格的串口真的很慢,而任何使它们变得更糟的东西是一个坏主意。
我写了一个程序来控制一个有愚蠢协议的设备 - 每个数据字节被单独确认(duuh!),下一个数据直到ack到达才被发送 - 这意味着数据传输速率是它应该是它的一小部分。
看看zmodem协议,例如,它不那么愚蠢。
更好的是,让供应商进入90年代并使用USB。
+0
嘿马克 我与你一路在此。但系统是固定的。遗产是一个婊子。 该系统的下一个版本将使用更多最新的技术。 – 2010-09-03 13:26:34
这似乎有一点帮助,但主要与RX有关。欢呼声 – 2010-09-01 22:53:01