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.

[FAQ] [参考译文] [常见问题解答] TMS570LC4357:SCI 模块中不同类型的环回路径有详细说明

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1311361/faq-tms570lc4357-different-types-of-loopbacks-in-sci-module-with-detailed-explanation

器件型号:TMS570LC4357

说明 SCI 模块中不同类型的环回。

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

    我们主要可以使用 SCI 模块执行两种不同类型的环回。

    1. 使用 SCIGCR1的第16位环回(环回)

    2. 使用 IODFTCTR  寄存器(IODFTENA & LPB ENA)环回

    主要区别在于使用第16位 SCIGCR1的环回类似于安全环回。 这意味着、即使 SCI 与其他 SCI 器件连接、也可以在不影响实际通信的情况下完成此回送。

    1. 使用 SCIGCR1的第16位进行环回(环回):

    在此环回中、SCITX 内部通过 SCIRX 连接、但外部 SCITX 引脚将处于逻辑高电平、SCIRX 将处于开路阻抗、直到该环回再次禁用。

    因此、在该环回测试完成之前、另一端 SCI 器件接收引脚将只读取逻辑高电平。 其他终端设备无法向该设备发送任何数据、因为其 SCIRX 引脚处于高阻抗模式。

     使用 IODFTCTR 寄存器(IODFTENA & LPB ENA)环回:

    此环回进一步分为两个子环回:

    数字环回和模拟环回。

    这两个环回 模式之间的主要区别在于、模拟环回模式下可测试通过 I/O 的完整通信路径、而在数字环回模式下、I/O 缓冲器不包括在此路径中。 这意味着在数字环回中、将禁用 I/O 缓冲器、因此不会向输出或 Tx 线路传输数据。 而在模拟环回中、将测试完整路径、因此也可以在 Tx 线路上看到数据、并且此数据会自动环回到 Rx 线路。

     建议仅在连接到其他 SCI 器件之前执行此环回。 我的意思是、在通信过程中不鼓励进行此类回送。 因为尤其是 此测试中的模拟环回模式会受到 另一个 器件的影响或也会影响另一个器件。 我的意思是环回测试数据会传递到另一个 SCI 器件、否则环回数据会受其他终端 SCI 器件的影响。

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

    为了更好地理解、我使用不同的组合进行了一些测试、结果如下:

    1.仅启用 IODFTCTRL 模拟环回:

    正如您在上面的代码中所看到的、我刚刚禁用了 SCIGCR1环回、并且只启用了 IODFTCTRL 模拟环回。

    在此测试中、我可以看到 RD 寄存器中的数据、这意味着数据被回送、而且我还在串行终端上接收到数据、这意味着在此模式下 I/O 缓冲区未被禁用。

    2.  仅启用 IODFTCTRL 数字环回:

    如上面的代码所示、我刚刚禁用了 SCIGCR1环回、而只启用了 IODFTCTRL 数字环回。

    在此测试中、我 可以 看到 RD 寄存器中的数据、这意味着数据被回送 、但 我没有在串行终端上接收到任何数据、这意味着 I/O 缓冲区被禁用、回送仅发生在内部。

    3.  仅使用 SCIGCR1的第16位进行环回:

    如上面的代码所示、我刚刚 启用了 SCIGCR1环回并 禁用了 IODFTCTRL 环回。

    在此测试中、我还 可以 看到 RD 寄存器中的数据、这意味着数据被  回送、但我没有在串行终端上收到任何数据、这意味着此回送也发生在内部。 该环回与数字环回之间的主要区别在于、在该环回中、Tx 引脚输出将变为高电平、Rx 引脚将处于开漏状态、这不会发生在数字环回中、在数字环回中、只有 I/O 缓冲器将被禁用。

    4、 使用第16位 SCIGCR1和 IODFTCTRL 模拟环回的环回:

    正如您在上面的代码中看到 的、我启用了 SCIGCR1环回以及   IODFTCTRL 模拟环回。

    在此测试中、我还 可以 看到 RD 寄存器中的数据、这意味着数据被回送 、但 在串行终端上没有接收到任何数据。 这与 SCIGCR1环回的行为类似、因为该环回将在内部连接 Tx 和 Rx 引脚、Tx 引脚将处于高电平、Rx 引脚将处于高阻抗状态。

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

    我附加用于本次测试的工程:

    e2e.ti.com/.../SCI_5F00_LoopBack_5F00_Test_5F00_LS3137.zip