This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

THVD1426: 1M的波特率下,会出现比较严重的掉帧和误码现象,是正常的吗?

Part Number: THVD1426

各位大神好,目前我调试THVD1426,可以自动切换收发模式,发现在115200波特率下可以稳定工作,但是在1M的波特率下会出现严重的误码和丢帧现象,请问这个是什么原因?

  • 您好,

          您怎么测试的?

          请参考RS-485: What is Auto-Direction and Why it is Useful in Systems? 文档中“2.1 Test One: Auto Direction in Action”的测试情况。

  • 我的pcb板使用的是两块stm32的芯片+THVD1426,一个pcb板发送固定的字符0xAA 0xAA,另一个PCb板收到了之后就马上回复0x55 0x55,通信的周期是1khz,两个pcb各自统计收到的数据掉帧率和误码率,发现在115200的波特率下正常,但是在超过25600之后,丢包率和误码率会指数级的上升。

    我看了一下THVD1426的发送和接收的切换时间,最长时间是1.4us,是不是这种情况下,一个bit的时间是不是要远远大于这个1.4us才能够正常的传输,触发内部的自动切换?

    STM32发送使用的是非DMA发送,接收使用的是DMA空闲中断接收(非DMA也试过),并且测试了rx和tx的波形,发现有异常的时候,AB的电平是不对的,A的电平有变化,但是B的没有闭环,正常情况下,无论是0还是1,AB差分都应该是同步变化的。

  • 您好,

         1.4us是发送的持续时间。

         

         请问两个终端电阻加了吗?           

            

  • 加了终端电阻的

  • 我看了以下论坛资料,说THVD1426建议是在超过1MHZ波特率下运行,是不是在1M-115200hz之间的波特率都是有风险的?

  • 是不是需要发送持续1.4us,内部的rx模式和rx模式才能够正常切换成功?如果不是这样理解,那自动切换的条件是什么,自动切换需要多长时间能够切换成功?

  • 单向的测试没有问题,就是单独发送或者单独接收都正常,现在就是一发一收模式有问题。

  • 您好,

          内部确认了一下,如数据手册”8.4“章节描述,t_device_auto_dir是driver active的持续时间,不是切换的时间,是receiver临时关闭的时间。

          过了t_device_auto_dir时间,driver 关闭,receiver开启。

          简单来说,如果总数据包小于 t_device_auto_dir,则可以使用 auto direction。

          如果时间超过,最好考虑使用流控方式。

  • 好的,我明白了,非常感谢,也就是自动切换是存在一定的前提条件的,不同的波特率以及不同的传输字节长度,可能会存在一定的影响。

x 出现错误。请重试或与管理员联系。