CH347T 驱动问题结论

在贵司技术建议下,采用CH347T 进行串口通信方案的设计。

设计目标,在Linux 环境(Kernel 3.10)下使用 CH347T 支持非标波特率传输。预设波特率 23040 368640 46080等。

以下测试均为 8bit 数据位 1停止位 无硬件流控 无奇偶校验

测试结果:

在 Windows 环境使用 CH347T 使用上述波特率AB通道回环测试,正常,无误码。

在 Windows 环境使用 CH347T与FTDI FT232RL采用上述波特率测试,正常,无误码。

在 Linux 环境使用 CH347T与AB通道回环测试(波特率设定为23040),可以正常通信,但是实际波特率是多少,不确定。

在 Linux 环境使用 CH347T与FTDI FT232RL测试(波特率设定为23040),无法通信FTDI FT232RL发送的数据在CH347T端 16进制读到都是0, CH347T对FTDI FT232RL发送的数据无法被FTDI FT232RL正确识别。切换为115200 /9600等标准波特率,工作正常,切换到38400波特率无法工作,现象和23040状态下一致。


由于设备端采用FPGA设计,时钟经过验证无误,FTDI方案可以与FPGA端进行通信,波特率为23040,数据可靠。

在切换为CH347T后 Windows 环境下可以配置成23040波特率,且可以正常通信,说明IC设计没有问题。但是在Linux环境下,相同硬件无法完成通信,且使用开源软件gtkterm 写入到硬件的波特率23040是否正确不得而知。


结论:有可能是驱动问题导致该设备无法在linux环境正常工作。期待解决。






您好,您所列出的波特率皆支持,问题出现原因在于gtkterm使用了特殊的通道进行非标波特率的设置,与常规设置波特率方式不一,我们也可兼容此种方式,基于此当前您可使用该C语言串口工具进行测试与功能验证:

WCHSoftGroup/tty_uart: linux tty uart application (github.com)

兼容gtkterm设置非标波特率的驱动将通过邮箱发送给您,另外感谢您的反馈。


只有登录才能回复,可以选择微信账号登录