我在我的FPGA板上添加了一个THVD1426DRLR(SOT-5×3封装)芯片,并参考了datasheet中的设计,设计的原理图和对应PCB如下
原理图:
PCB:(红框部分为对应电路)
其中A、B端连接至一个RS422转USB模块至上位机
第一次测试
用FPGA以10ms/s一次的速率定时发送固定的14个16进制数:A5 5A 11 22 33 44 55 66 77 88 99 AA BB CC,波特率采用921600,在上位机中观察收到的数据
测试结果
上位机软件中会出现偶发性的数据异常,如下图:
注:图中的图表是按照项目的实际需求对14位的数据进行解算绘制的,发送恒定的14个字节理论上绘制出的是一条平直线
第二次测试
使用TI官方的RS485-HF-DRLX-EVM评估板进行测试。评估板上使用的芯片是在TI官网申请的THVD1426DR(SOIC封装)
在输入端和输出端分别使用TTL转USB、上述的RS422转USB模块连接至PC端,在电脑上使用串口调试助手,波特率设置为921600,定时10ms/s发送同样的14个字节的数据至上位机测试
测试结果
结果一切正常,无异常跳点
第三次测试
在一片空的FPGA PCB板上焊接THVD1426DRLR芯片,并飞线至第二次测试中所用的评估板,重复第二次测试条件
测试结果
有异常跳点
总结
在高速串口测试中,使用TI官方的评估板以及大封装的THVD1426DR,不会出现数据异常,使用小封装的THVD1426DRLR无论是在我个人项目的PCB板上还是官方EVM上都会有异常
希望工程师能帮忙解答疑惑,是否我的设计出了问题