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.

[参考译文] UART 频率。

Guru**** 2393725 points
Other Parts Discussed in Thread: TL16C752D

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/598517/uart-frequency

您好!

我在"串行端口完成、第二版"一书中看到、UART 的时钟应该是波特率的16倍。 但我从未见过任何微控制器、在将 UART 配置为特定波特率之前、我们在其中设置了 UART 的频率。!!! 所以、


1) 1)为什么频率应为波特率的16倍?

2) 2)您能给我一个示例(任何微控制器的示例)、我们可以在其中设置 UART 频率吗????

2) 2)如果我们有计时器、那么将时钟频率设置为 UART 有什么用途??? 就像我们在简单的89c52到 Timer1中生成波特率一样、我们不会设置任何频率!!!!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    还有使用计时器设置波特率的想法、如我们在89c5x 中所做的那样。 它是如何链接到 UART 频率的???
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Khan

    也许通过这个图、您可以更好地了解此协议的工作原理。 对于异步系统、发送器使用内部时钟来确定何时发送每个位、接收器检测到起始的下降沿、然后使用其内部时钟来读取其中心附近的以下位。 异步传输要求每台计算机都有自己的时钟。 所有通信协议都有一个规范、在这种情况下、这是 UART 规范的一部分。

    这很有用、因为这是一个异步通信系统、很难与接收器同步、然后这些系统使用 过采样之类的东西。

    请查看下一个链接(ww1.microchip.com/.../en026583.pdf) 、您可以在其中找到有关微控制器中 UART 模式的信息、请查看第21-9页。

    从另一个视图中可以看到、定时器是分频器、UART 使用该分频器时钟频率除以16并生成波特率。

    这些系统具有一些标准波特率、如115200bps、并且某些器件可以使用相同的时钟频率生成不同的波特率。

    我希望这些信息可以帮助您、如果您有任何其他问题、请告诉我。

    此致

    弗朗西斯科

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我告诉您的图表位于本数据表 www.ti.com/.../tl16c752d.pdf 的第12页 (图7)

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

    链接已死(ww1.microchip.com/.../en026583.pdf)。。另外、您的答案不能解释时钟频率为何应为波特率的16倍。 此外、如果我们有计时器等、它也没有明确提到时钟的需要。请仔细查看我的问题。

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

    我测试了链路并正在工作、这是微控制器中包含的 UART 的特定模块、您可以在包含此选项的不同微控制器数据表中找到此信息。 波特率发生器和时钟频率之间的关系是通用异步接收器发送器规范的一部分。 一些 UART 器件包含一个预分频器、可让您对频率进行分频、并生成更多波特率值、您或许可以通过同一数据表(www.ti.com/.../tl16c752d.pdf)第24页的图22更好地了解这一点。 时钟和计时器是不同的。 如果要生成计时器、则需要时钟(参考信号)。 我为您提供了一个有关微控制器(www.microcontrollerboard.com/pic-timer0-tutorial.html)和 大多数微控制器(或 UART 器件)中的计时器的小教程、您可以使用具有特定频率值的物理 xtal、一些微控制器在芯片内部包含振荡系统。
    因此、按照您的问题顺序、可以是这样的:

    1) 1)为什么频率应为波特率的16倍?
    是 UART 规范的一部分

    2) 2)您能给我一个示例(任何微控制器的示例)、我们可以在其中设置 UART 频率吗????
    ww1.microchip.com/.../en026583.pdf

    2) 2)如果我们有计时器、那么将时钟频率设置为 UART 有什么用途??? 就像我们在简单的89c52到 Timer1中生成波特率一样、我们不会设置任何频率!!!!
    您不会设置时钟频率、您将根据要生成的波特率选择时钟频率、波特率发生器类似于计时器(获取频率并除以16和其他额外值) 有时、分频器不会为您提供所需的波特率的准确值、这就是为什么它们包含一个额外的预分频器并让您生成较小值的原因、这也是为什么存在一些具有1.8432MHz 等值的 xtals 的原因。

    我希望这些信息可以帮助您、如果您有任何其他问题、请告诉我。

    此致
    弗朗西斯科