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.

[参考译文] CC2642R-Q1:UART 的开始位和停止位之间的间隔

Guru**** 2589280 points


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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1372071/cc2642r-q1-the-spacing-between-the-start-bits-and-stop-bits-of-the-uart

器件型号:CC2642R-Q1

工具与软件:

你(们)好

我对发送和接收 UART 时位之间的间隔有疑问。

过去、我们听到贵公司的以下消息。

 *发送时,1CLK 的波特率是免费的。

 * 接收时,如果您可以在时钟边沿的停止位和开始位之间进行锁存,这很好

   => 如果间隔为1CLK (48 MHz =>21ns)或更长时间、最好比较合适。

我想了解该位之间的间隔所在的位置、哪一个是正确的?
另请参见附图。

  1、1 CLK 分钟要求从停止位结束到开始位开始的时间间隔。

  2.如果停止位和起始位的宽度大于时钟、则可以通过每个位宽度之间的时钟边沿来进行高/低检测、

因此、停止位的结束和开始位的开始之间不需要间隔。

作为确认的背景信息、我们假设上述情况为1、但当客户更改为 UART 的 FIFO 格式时、

停止位和开始位之间的间隔不能被1个 CLK 占用、但我们想要确认主岛是否需要这一间隔。

此致、

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

    确认背景校正。 我曾向客户建议、从停止位的末尾到开始位的开头、我应采用1个 CLK (接收时大约18ns)、但当客户更改 UART 的 FIFO 格式时、我无法将间隔缩短1个 CLK、但我想确认这是否真的是必需的。

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

    我们正在收到客户的回复。 您今天能回答吗?

    客户能够保护的"从停止位结束到开始位开始的时间"小于10ns。(FIFO)

    即使没有21ns 的时间间隔(UART 时钟:UART) 48MHz 或更长的时间间隔,我们也会检查 UART 通信是否有任何问题。

    另外、如果您有答案1、您可以对此做些什么吗?

    例如、如果答案1是、将停止位的数量更改为2位毫无意义、因为它是由从停止位到开始位的间隔定义的。

    此致、

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

    Masaki-San、

    我已将此任务分配给团队中的某个人进行研究、但反馈可能需要几天时间才能得到问题的详细信息。 我们会跟进。  

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

    Evan-San、

    感谢您的答复。

    客户的固件版本为本周、因此请尽快响应。

    此致、

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

    Evan-San、

    我想提供更多关于背景的信息。

    此外、客户在以下条件下更新固件。

    尽管固件更新本身可以完成、但无法识别 RESET 命令的 ACK、并且 RESET 失败。

    (当它不是 FIFO UART 时、似乎会成功)

    正如我们所知、CC2681的 FIFO 设置默认处于启用状态。

    如果您需要作为解决方案更改 IC 端的设置、请告知我。

    UART:FIFO UART
    如何进行固件更新:引导程序

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

    您好!

    发送 UART 数据包时、STOP 和 START 位之间不需要间隔。 在一个停止位之后马上发送一个开始位是合法的。 也就是说、如果在线路上发生任何比比特率更快的转换、则可能无法捕获转换的正确状态。 例如、当波特率为57600时、线路上的状态应该被保持至少18us 以确保一个有效状态被采样。 如果状态变化的持续时间小于此值、则可能会对状态进行错误解释。


    假设您说 UART 使用的是 FIFO、而不是用于执行 UART 读取的环形缓冲区、那么您是指硬件 FIFO。 UART 的用途是什么驱动程序? 是 UART2吗? 另外、在上下文中、这是哪个 SDK?

    此致!
    Achyut Ray

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

    Achyut-San、

    感谢您的快速响应。

    我知道停止位和开始位之间的间隔不是必需的。

    此外、"接收 UART"也不需要位之间的间隔?

    我们还将就 SDK 的信息与您联系。

      SDK 版本: 6.30.00.84

      UART : DISPLAY_UART(  用于引导加载程序和正常操作的固件更新。 这种情况出现在固件更新中。)

             UART2_0 (由 PTM 使用。 没有问题。)

    此致、

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

    尊敬的 Masaki-san:

    您的理解是正确的。 即使通过 UART 接收、间距也不是必需的。 输入的数据将直接发送到硬件 FIFO、并在此处一直存储、直到通过软件读取。 当 FIFO 已满、并且我们在未从 FIFO 提取数据的情况下接收到更多数据时、将生成溢出错误(OE)中断、然后必须在应用代码中进行处理。

    感谢您提供有关 SDK 以及所使用的 UART 驱动程序类型的附加信息。 TI 建议仅将 DISPLAY_UART 驱动程序用于显示/调试应用程序(将内容打印到串行终端/将内容打印到 BOOSTXL_SHARP128 LCD BoosterPack 上)。 对于所有其他 UART 应用、我建议改用 UART2驱动程序。

    此致!
    Achyut Ray