PCIE转串口对比USB转串口,实时性能差多少?
用串口控制PLC设备,对实时性要求比较高。USB转串口当然是最方便的,但总觉得USB实时性比较低,用PCIE转串口实时性会好一些吗,能差多少?有没有了解的坛友,分享一下经验吧 差这几毫秒? 你这点实时性,我怕还没有串口传输1字节耽搁的时间多吧?
如果你做过电脑上位机软件,那么你可以自己写一个来测试,你自己写几句测试代码,打开电脑原生串口和一个usb转的串口,同时发一个字节数据出去,硬件那边用示波器两个通道对比看TX脚的信号,看看延迟了多少? 如果你的应用中都是可以人眼直观可见的所谓延迟了,那压根不是usb的锅了哦 电脑操作系统都不是实时的,你纠结这个? 讲个笑话:串口的实时性好 PCIE的可以视为原生串口,USB的是模拟的(实时性理论上最高也就1ms)。所以,从实时性、兼容性、稳定性,两者差别很大。
有条件用PCIE转串口,就用PCIE转串口
我用串口下载STM32程序 ,,用FlyMcu, 不管用哪个品牌的USB转串口,都非常慢,几十到一百多的都试过, 用PCIE转串口 和电脑主板自带的串口,都非常快,
本帖最后由 dukelec 于 2023-2-27 12:02 编辑
之前做机械臂,主控 x64 平台,外挂 xr17v35x 系列 pcie串口芯片,linux 打了 preempt-rt 实时补丁,我修改了 xr17v35x 的驱动,不走串口框架,通过 /sys 接口直接和用户空间实时任务通讯,实时性可以做到很好,最坏抖动在 100us 以内。
再后来,我直接用 fpga 搞 pcie,用 cdbus ip 核做串口通讯,和用户空间打算用 cdipc 通讯,kernel 和 用户空间通过直接共享内存交换数据包,理论上可以最大化的确保实时性。不过目前还没有机会测试。 如果你上操作系统了,就别提啥实时性了。 电脑主板的USB都是原生的吗?
见过一些ARM平台的USB还是PCIE转出来的 本帖最后由 locky_z 于 2023-2-27 16:25 编辑
原生串口,发一个字节等对方回应一个字节,例如115200bps的话,这样一个对话一两百us可以结束。
但通过USB,这样一个对话可能要2ms。因为USB下你一个字节也要1帧,1500字节也要一帧,一帧就要1ms,来回就要2ms,但不排除某些芯片的驱动会利用15us那种高速帧来传输。
PCIE转串口估计等于原生吧,还未试过。 usb容易掉串口 pcie就等于原生的了。
主板上的外设总线都来自于pcie。主板自带的接在南桥上,南桥本身也是pcie连cpu的。 初音之恋 发表于 2023-2-28 08:26
usb容易掉串口
(引用自13楼)
{:biggrin:} usb的协议转换了N次,不掉才怪.....试试工业环境24小时运行,这个坑.... 工业应用尽量不要用USB转串口。 usb转串口,不是实时性问题,是可靠性问题。除了临时玩玩,绝对不要用usb转串口 redroof 发表于 2023-2-28 09:22
pcie就等于原生的了。
主板上的外设总线都来自于pcie。主板自带的接在南桥上,南桥本身也是pcie连cpu的。 ...
(引用自14楼)
99%等于吧,剩下那1%是因为bios下面看不到
页:
[1]