首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >最大Beaglebone黑UART波特?

最大Beaglebone黑UART波特?
EN

Stack Overflow用户
提问于 2015-08-05 21:03:41
回答 3查看 5.3K关注 0票数 5

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

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

谢谢你的帮助。

更新-它与PySerial支持的波特率有关。这给出了一个潜在波特率的列表,但不给出特定的波特率,这些波特率将与特定的硬件一起工作。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-11-05 18:29:28

AM335x技术参考手册(TI document spruh73)给出了UART部分中UART子系统的波特率限制(spruh73l版第19.1.1节,第4208页):

  • 波特率从300 bps到3.6864 Mbps

每个UART模块都有一个48 The的时钟来产生它们的定时。它们可以配置为两种模式之一: UART 16x和UART 13x,其中该时钟分别除以16和13。然后配置一个16位除数,从该时钟生成实际波特率。因此,对于300bps,它将是uart16x,除数为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调用向内核驱动程序发送won,所以它也不会限制您。

Note:我刚刚测试了从BeagleBone黑发送200 bps的数据,它运行得很好,但是它不能生成110个bps (下一个低于300 bps的标准波特率),所以列出的限制实际上是它能生成的最低和最高的标准速率。

票数 6
EN

Stack Overflow用户

发布于 2015-08-09 09:43:49

BBB参考手册不包含任何关于UART的波特率的信息,但是对于串行通信,我通常更喜欢使用BAUDRATE = 115200的值,这在大多数情况下是没有任何问题的。

票数 0
EN

Stack Overflow用户

发布于 2015-08-19 07:05:06

您可以通过连接BBB的UART端口和minicom来手动检查它。若要使此工作,只需缩短UART的Tx和Rx即可。然后打开minicom

代码语言:javascript
运行
复制
$ minicom -s

并设置不同的波特率,看看它是否有效。(按任意键,如果你看到字符,你就知道波特率起作用了)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31842785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档