gpt4 book ai didi

python - 最大 Beaglebone Black UART 波特率?

转载 作者:太空狗 更新时间:2023-10-30 02:59:20 26 4
gpt4 key购买 nike

我一直在寻找 Beaglebone Black (BB) 支持的 UART 波特率。我在 BB 系统引用手册或 sitara 处理器本身的数据表中找不到它。我正在使用 pyserial 和 Adafruit BBIO 库通过 UART 进行通信。

这是否支持任何合理的值,还是更标准(9600、115200 等)?

感谢您的帮助。

-更新-它与 PySerial 支持的波特率有关。这给出了潜在波特率的列表,但不是特定的波特率是否适用于特定硬件。

最佳答案

AM335x 技术引用手册(TI 文档 spruh73)在 UART 部分(第 19.1.1 节,版本 spruh73l 中的第 4208 页)给出了 UART 子系统的波特率限制:

  • Baud rate from 300 bps up to 3.6864 Mbps

每个 UART 模块都有一个 48MHz 的时钟来生成它们的时序。它们可以配置为两种模式之一:UART 16x 和 UART 13x,其中时钟分别除以 16 和 13。然后有一个配置的 16 位除数从该时钟生成实际波特率。因此,对于 300 bps,它将是 UART 16x 和 10000 的除数,或 48MHz/16/1000 = 300 bps

当您告诉 omap-serial 内核驱动程序(即 BeagleBone 上用于 UART 的驱动程序)时,它会计算最接近您所需速率的模式和除数。您将获得的实际速率受其生成方式的限制 - 例如,如果您要求 2998 bps 的任意波特率,我想您实际上会得到 2997.003 bps,因为 48MHz/16/1001 = 2997.00348 MHz/16/1000 = 3000 更接近 2998。

因此,UART 模块当然可以生成所有标准波特率,以及大范围的任意波特率(您必须实际进行数学计算,看看它能达到多接近)。在基于 Linux 的系统上,PySerial 只是将您告诉它的波特率通过 ioctl 调用发送给内核驱动程序,因此它也不会限制您。

注意:我刚刚测试了从 BeagleBone Black 以 200 bps 发送数据,它工作正常,但它不会生成 110 bps(下一个低于 300 bps 的较低标准波特率),所以列出的限制实际上是它可以生成的最低和最高标准速率。

关于python - 最大 Beaglebone Black UART 波特率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31842785/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com