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.

[参考译文] TMS320F28384D:SCI 通信的最大错误率

Guru**** 2534260 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1160990/tms320f28384d-the-maximum-error-rate-of-sci-communication

器件型号:TMS320F28384D

您好、查姆斯、

说到 SCI 通信、处理器通过在位中间进行三个采样(第四个、第五个和第六个 SCICLK 周期)来确定位值。

如果有一个主机波特率不准确、那么最大误差率容差是多少、以便 C28x 仍能接收正确的数据帧?

此致、

Luke

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

    您好、Luke、

    感谢您的提问。 由于系统噪声或噪声产生的时钟/波特抖动甚至可能导致"完美波特率"出现故障、因此这一点并不容易解决。 但是、如果您假设波特率没有任何抖动、则:

    假设"start"和"sync-"位之间的最大位为12位、并且两个波特率在时序开始时完全对齐:

    *对于保证故障,波特率之间的总误差容差>4.1%将保证最终误差

    *请注意、此误差%包括所有时序误差、包括但不限于:振荡器精度误差、抖动、噪声、波特不精确度、波特粒度(能够设置波特率)、有效波特率的差异。

    我还强烈建议在使用任何 SCI 中断时、确保 C28x 器件在字节之间使用2个停止位来接收数据。 这意味着发送到 C28x 的另一个器件应发送2个停止位。 这是因为停止位和 ISR 开始之间的处理时间是((7*BAUD_CLK_PERIOD)/8 + 3*SYSCLK_PERIOD。 因此、在 ISR 开始处理之前、波特周期大约为7/8。 1个停止位将允许低于1/8波特周期的波特率来处理 ISR。

    此致、

    Vince

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

    Vince、

    如果接收到更多位、则会累加错误率。 例如、如果误码率为1%、那么当接收到第10位时、误码率将为10%。

    但是、根据 SCI 位采样方法(第四个、第五个和第六个 SCICLK 周期)、我认为 SCI 具有25%的错误率容差(第七个和第八个 SCICLK 周期)、这意味着如果累积的位错误率小于25%、那么 SCI 应该能够正常工作。

    你怎么看?

    此致、

    Luke  

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

    您好、Luke、

    [引用 userid="114524" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1160990/tms320f28384d-the-maximum-error-rate-of-sci-communication/4366252 #4366252"]但是、基于 SCI 位采样方法(第四个、第五个和第六个 SCICLK 周期)、我认为 SCI 具有25%的错误率容差(第七个和第八个 SCICLK 周期)、这意味着如果累积的位错误率小于25%、则 SCI 应该能够正常工作[引用/引用]。

    如果我正在正确读取、您在上面提供的理解是不正确的。 它不会是累积的25%误差率。

    尽管累积误差起着一个因素、但总累积误差必须导致一个小于4.1%的字节(12位)内的移位。

    这是一个图、说明了两种极端误差条件。 与传入的数据相比,“慢时钟”和“快速时钟”是从接收器的角度来看的。

     

    假定一个字节总共有12位、那么下表显示了选通信号将在哪个点注册一个不正确的位:

    每帧总位数

    12.

    停止位5选通

    93   (从帧起始的 SCI 时钟)

    理想的停止位最后边沿

    97   (从帧起始的 SCI 时钟)

    前缘理想停止位

    89   (从帧起始的 SCI 时钟)

    慢时钟最大误差百分比

    4.12 (%)<-这是最低百分比、我们必须使用的限制也是如此。

    慢时钟最大连接

    4.0  (SCI 时钟中的时间间隔误差、INTERV=START_BIT、导致 STOP_BIT 最终沿)

    快速时钟最大误差百分比

    4.49(%)  

    快速时钟最大连接

    4.0 (SCI 时钟中的时间间隔误差、INTERV=START_BIT 导致 STOP_BIT缘)

    无论发送多少字节、这都适用。 调整周期发生在每个字节。 因此、累积的误差必须在1个字节内足够导致误差。 波特率为4.1%或更高时会发生这种情况。

    此致、

    Vince