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.

[参考译文] TMS320F2.8377万S:使用SCI进行通信时,波特率高于1 m ,通信期间的错误率相对较高

Guru**** 2480515 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1093473/tms320f28377s-using-sci-for-communication-the-baud-rate-is-more-than-1m-and-the-error-rate-during-communication-is-relatively-high

部件号:TMS320F2.8377万S

您好,

我的问题是:使用TMS320F2.8377万SPZP测试SCI通信时,使用的波特率是2.5 m (我在1 m 到5 m 的情况下尝试过,但也存在相同的问题)。 上层计算机发送3个字节的数据,报头为0x55,最后两个是大于0x80的数据。 它通常显示接收到的数据标头是正确的,最后两个错误(0x55接收正确,最后两个数字错误,并且将显示小于0x80的数字)。 最后两个数字中的大多数都以0x00的形式接收。 例如,上层计算机发送0x55,0x9f和0xff,然后在32us的间隔后发送0x55,0xaf和0xaf,然后以32us的间隔发送0x55,0xbf和0xbf)。 这三个数据字符串以循环方式发送。 一段时间后,接收端2.8377万将显示接收的数据为0x55,0x00,0x00,这三个数字(其他数字将显示在最后两个数字中,例如0x46,0x01,大多数为0x00),而scirxbuf的值为0xc0cc。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Depeng,

    主题专家目前不在办公室,请在 星期一结束前回复。

    最佳,

    Matthew

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Depeng,

    对于 非计时通信(如UART)上的长通信电缆,这种情况相对常见,因为在较高波特率下存在问题。 但这可能与SW/FIFO相关。  

    要确定原因是电缆长度还是SW,需要尝试两件事:

    1.在C2000 FIFO每次中断后,请尝试在向C2000 SCI-RX (另一器件上的Put Delay)传输数据时设置1位延迟。 例如,如果 将RX-FIFO设置为触发3字节的中断,则另一设备必须在3字节的数据包之间等待1位。 这是SCI-RXFIFO中断延迟的限制,不依赖于波特率  

    2.如果上述操作不能解决问题,请在故障期间捕获RX线的范围。 导线的寄生性可能会导致位的充分变形,从而导致错误检测。 如果看起来有问题,请尝试降低波特率并查看是否纠正了该问题。 如果确实如此,则可以采取一些措施来改进UART线缆(尽管即使是最好的修复,真的很长的线缆也会出现问题):

    A.双绞线电缆,而不是非双绞线。

    B.估计通信速度和回转的铁氧体磁珠。

    此致,

    文斯