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.

[参考译文] Linux/AM3352:波特率更改所需的 UART 软复位。

Guru**** 2540720 points
Other Parts Discussed in Thread: AM3352

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/618592/linux-am3352-uart-soft-reset-required-for-baud-rate-change

器件型号:AM3352

工具/软件:Linux

我正在为 AM3352开发一个定制 UART 驱动程序、该驱动程序在 TI SDK 4.4随附的 Linux 内核4.9.28上运行。 要改变波特率、首先 系统配置寄存 器(SYSC)中的 SOFTRESET 位被置为高电平、然后等待系统状态寄存器(SYSS)中的 RESETDONE 变为高电平。 复位完成后、会为 UART_DLL 和 UART_DLM 寄存器分配新值。 UART 软复位完成所需的时间不一致、有时可能在9ms 至250ms 之间变化。 我的问题是

1、为什么软复位 UART 的时间变化很大? 为什么软复位有时需要更多时间?

2.更改波特率是否需要 UART 复位?

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

    我已通知软件团队。 他们的反馈将在此处发布。

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

    您在以下问题的答案:

    1.复位 UART 的请求很可能需要一段时间、因为通常当内核必须等待某个操作完成时、它就能够被调度程序抢先。 换言之、我们不想停止内核或阻止中断处理程序在等待位翻转时运行。

    2.是的、UART 需要在波特率改变后复位。

    此致、
    Mike