Windows FTDI USB到RS232比真正的RS232 COM端口好吗?

Windows FTDI USB到RS232比真正的RS232 COM端口好吗?,windows,serial-port,ftdi,Windows,Serial Port,Ftdi,我使用Zebra DS457扫描仪通过COM端口(RS232)读取条形码和二维码。在我的测试环境中,我使用了带有Win10的MSI终端,它在真正的COM端口上工作,没有任何问题。但在其他设备(Win10和Win7)上,存在一些软件触发器无法通过且读取的信息无法发送回计算机的问题。当我使用USB到RS232 FTDI适配器时,我没有任何问题。但是为什么呢?首先,我认为它是Win10,传统的支持可能更好,但适配器在所有设备上都更好更快。这怎么可能?也许是司机的事?我正在使用此适配器。FTDI串行端口

我使用Zebra DS457扫描仪通过COM端口(RS232)读取条形码和二维码。在我的测试环境中,我使用了带有Win10的MSI终端,它在真正的COM端口上工作,没有任何问题。但在其他设备(Win10和Win7)上,存在一些软件触发器无法通过且读取的信息无法发送回计算机的问题。当我使用USB到RS232 FTDI适配器时,我没有任何问题。但是为什么呢?首先,我认为它是Win10,传统的支持可能更好,但适配器在所有设备上都更好更快。这怎么可能?也许是司机的事?我正在使用此适配器。

FTDI串行端口将在字符通过线路到达和应用程序可以看到之间,以及应用程序想要发送内容和通过线路之间施加最小延迟。在较旧的设备上,每个延迟至少为1ms,但我认为一些较新的高速设备已将其降低到125us。此外,由于我不太理解的原因,以错误速度到达的数据有时会导致数百毫秒的额外延迟

另一方面,FTDI设备可以缓冲来自导线的256字节数据,或来自USB端口的128字节数据通过导线发送,并处理RTS/CTS握手,而无需任何软件干预——这是PC串行端口使用的UART芯片所缺乏的能力。如果软件向FTDI设备提供128个字节,则它将开始发送该字节,直到远程设备解除其握手线路,此时FTDI设备将在当前字节完成后立即停止发送;一旦远程设备再次握手,它就会恢复传输。如果FTDI设备通过线路接收到足够的数据,其UART有溢出的危险,它将自动解除握手输出,而无需任何软件干预。相比之下,用于PC串行端口的UART需要一个快速中断处理程序来控制或响应握手线。如果中断处理程序维护4096字节的缓冲区,它可以在缓冲区已满75%时解除握手连接,但如果缓冲区未满75%,并且在UART中断处理程序之前,有17个字节快速连续地通过连接到达,则不会解除握手连接。更糟糕的是,如果启用了传输缓冲,并且当远程设备解除其握手线路时,PC已向UART提供16个字节以进行传输,那么无论远程设备是否准备好接收这些字节,都将发送这16个字节(根据握手线路,很可能不是这样)

因此,有些应用程序可以更好地使用FTDI UART,有些应用程序可以更好地使用实际的串行端口