比特率和波特率的关系(怎么测量实际的波特率、比特率)

   2022-06-03 发条网0
核心提示:通常用串口打印乱码大多是因为串口波特率不对。那么我们应该如何测量实际的波特率呢?在此之前,让我们回顾一下波特率的概念。什么是波特率和比特率?比特率的英文是Bitrate,它表示每秒传输的二进制位数,单位为比特/秒(bit/s)。波特率的英文

通常用串口打印乱码大多是因为串口波特率不对。那么我们应该如何测量实际的波特率呢?在此之前,让我们回顾一下波特率的概念。

什么是波特率和比特率?

比特率的英文是Bitrate,它表示每秒传输的二进制位数,单位为比特/秒(bit/s)。

波特率的英文是Baudrate,它表示每秒传输的码元符号的个数,是衡量数据传输速率的指标。

码元是通信信号调制的概念。具有相同时间间隔的符号通常用于表示通信中的二进制数。这种的信号称为码元。

在普通通信传输中,0V代表数字0,5V代表数字1,所以一个码元可以代表0和1两种状态,所以一个码元等于一个二进制位,波特率与比特率一致。

如果0V、2V、4V和6V在通信传输中分别代表二进制数00、01、10和11,那么每个码元可以代表四种状态,即两个二进制位,因此码元数是二进制位数的一半,此时波特率是比特率的一半。

因为在许多常见的通信中,例如串口通讯中,一个码元代表两种状态,所以我们通常直接用波特率来表示比特率。

串口通讯协议

在串口通信的协议层,它规定了数据包的内容,由起始位、主数据、校验位和停止位组成。通讯双方的数据包格式应一致,才能正常收发数据。数据帧的组成如下:

让我们实际验证数据帧是否真的是这样,编写以下代码:

代码非常简单,即使用串口连续向外发送数据0xAA(当然也可以发送其他数据)。我们的串口配置如下:

我们可以用示波器或逻辑分析仪抓取实际信号,看数据是否符合上述格式。在这里,我们用逻辑分析仪来捕捉usart1的传输信号线(TX):

从实际结果中,我们可以看出它确实是按照帧格式发送的。有些人可能对此有所怀疑。在上面的数据帧的图片中存在空闲状态。这是什么?空闲、空闲,当然不是在发送数据的状态,我们把代码改为:

初始化完成后,只发送一个0XAA,逻辑分析仪捕获的数据是:

可见,空闲状态是高电平。在前面的示例中,我们在while循环中发送了数据0XAA,因此没有空闲状态。

在这个实验中,我们需要知道两点是:

串口发送的数据首先是低位的。我们的单片机发送0XAA(10101010B),逻辑分析仪采集的有效数据为01010101b。

单片机的串口使用TTL电平,这是一个正的逻辑电平信号。逻辑分析仪采集的数据0对应实际电压0~0.5V,数据1对应实际电压2.4v~5V。

RS-232电平标准常与TTL电平标准相比较。例如,

TTL电平标准常用于普通电子电路中。在理想状态下,5V表示二进制逻辑1,0V表示逻辑0。为了提高串口通信的远距离传输和抗干扰能力,RS-232电平标准用-15V表示逻辑1,+15V表示逻辑0。

在旧的台式计算机中,通常有一个RS-232标准的COM端口(也称 DB9 接口):

在这个示例程序中,我们将串口波特率设置为115200bps。在串口通信中,符号只由一个二进制数表示(即只有0 和 1两种状态),因此波特率和比特率是相等的。

比特率代表每秒传输的二进制位数,所以我们知道传输一比特数据的时间,我们能推导出波特率吗?从逻辑分析仪上我们可以知道,发送一位数据的时间如下:

发送一位数据的时间约为8.667us,因此可以计算出一秒钟发送多少位数据:

计算出的波特率为115380bps,非常接近115200bps。最后,肯定是有一定的错误。这个错误的原因包括逻辑分析仪的质量和我们的测量环境。但这个误差也在允许范围内。您可以看到串口助手接收到的数据是否正确:

可以看到接收到的数据是正确的,即波特率是正确的。

串口波特率对不上怎么解决?

在实践中。我们可能会遇到这样情况,即代码中配置的波特率与串口助手上设置的波特率相同,但仍然存在一个异常。

例如,如果我们向串口助手发送一个字符串,那么应该显示在串口助手上的字符串就被乱码了。或者我们发送一个数据到串口助手,发现数据被移动了。

在这种情况下,大多数波特率都不对应,因此我们必须检查底层文件。如果代码中波特率计算相关值(时钟)与实际情况不符,就会出现这样的现象。例如,我的一位同事以前遇到过这种情况,这就是原因。

在使用STM32时,通常使用外部晶体振荡器,如STM32F103系列。外置晶体振荡器的输入范围为4~16mhz:

经验值一般为8MHz,而且一般的demo工程底层代码里默认的也是设置为8MHz,比如:

但是如果实际晶体振荡器没有粘贴8m,就会出现问题(例如串口波特率不正确)。追溯到源代码,串口波特率被分配到USART_Init函数中的,打开这个函数:

计算串口波特率需要一个apbclock变量,而这个值得来源从RCC_GetClocksFreq函数来,再打开这个函数:

所以要注意的是,HSE_VALUE这个值要与实际做对应。

遇到这种问题找谁说理去。经验就是不断采坑不断积累的一个过程,早点遇到坑可能也是一件好事。像类似底层的问题很少遇到,但是一旦遇到那就得比较棘手的问题了,需要很有耐心地去查找。

能用稳定的芯片是一件很幸福的事情,用不稳定、不成熟的芯片的时候,那个才是真的难啊,遇到问题真是让人怀疑人生啊,软件、硬件、芯片都可能有问题。

(注:本篇图文源于网络整理,如有侵权请联系删除,谢谢!)

 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与爱美生活网(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • 历史上谁统一了三国(灭亡魏国大将投降)
    历史上谁统一了三国(灭亡魏国大将投降)
    公元265年,司马昭之子司马炎篡夺曹魏政权,建国号晋,史称西晋,魏国灭亡。在此之前的263年,曹魏大将邓艾偷渡阴平,兵临成都城下,后主刘禅投降,蜀国灭亡。280年,晋派大将杜预、王濬出兵东吴,吴主孙皓投降,吴国灭亡。至此,三国皆亡,并归于晋
  • 绩效奖金是销售业绩提成吗
    绩效奖金是销售业绩提成吗
    不是。一般来说实行绩效管理或者绩效考核的公司才会有绩效工资这个说法。绩效工资是将员工工资按比例分为固定的和浮动的两部分。提成即将企业盈利按照一定的比例在企业和员工之间分成的方式。提成的方式类似计件制,有全额提成和超额提成两种。【法律依据】《
  • 赛欧汽车之家,13年款1.4排量雪佛兰照片
    赛欧汽车之家,13年款1.4排量雪佛兰照片
    首先,白。开着开着就成黄的了,相比其他1点4排量车型来讲。百公里油耗在7点5L左右,三滤等等。最近看了易车网和汽车之家关于赛欧三厢这款车开始,1点3L,35新一代赛欧三厢版运用了雪佛兰家族风设计,三厢版车型的热爱程度,1504轴距为2500
  • 小彩旗的微博(小彩旗微博新浪微博)
    小彩旗的微博(小彩旗微博新浪微博)
    小彩旗的微博(小彩旗微博新浪微博) ,杨丽萍的外甥女小彩旗发布了一条微博,与大家分享她最近忙碌的日常。小彩旗说,最近要拍戏、找角色、练舞蹈等等,这条内容发布于凌晨五点半,看得出她现在的生活非常充实,也非常辛苦。 对于小彩旗的勤奋刻苦,很多
  • 华为mate20什么时候上市,上市时间与价格说明
    华为mate20什么时候上市,上市时间与价格说明
    10月16日,华为将在伦敦发布Mate 20系列新机 现在,有知情人士爆料,国内的发布会将于10月26日在上海举行,并于当天下午18:08正式开卖。 随后,一张疑似天猫的预售界面被曝光,信息基本和爆料一致。 显示华为将在10月17日开启Ma
  • 汤姆索亚历险记人物的性格特征(汤姆撒切尔善良哈)
    汤姆索亚历险记人物的性格特征(汤姆撒切尔善良
    哈克贝利.费恩:不上学,没受过教育,却拥有一颗正义而勇敢的心。波莉姨妈:心地善良,担负着教育、无恙汤姆的责任。为汤姆调皮、闹事、失踪等烦恼伤心,也为汤姆勇敢、正义感到自豪。希德:一个循规蹈矩的“模范儿童”,学习成绩好。经常和汤姆作对,经常向
  • linux查看路径命令(分析linux命令用法指南)
    linux查看路径命令(分析linux命令用法指南)
    那么今天我们来看看他俩的另外一个小兄弟 —— du命令 简介 du 命令,全称是 disk usage,用来展示磁盘使用量的统计信息,会对目录进行递归统计。 说白了,最大的作用,就是看目录大小的。 参数 -a或-all 为每个指定文件
  • 帆布鞋配什么裤子好看(帆布鞋搭配教学)
    帆布鞋配什么裤子好看(帆布鞋搭配教学)
    说到帆布鞋,绝对是时尚的模范,即便在竞争力激烈的潮流圈,帆布鞋也始终屹立不倒,一直深受潮人icon们的喜爱与青睐。那对于3、40岁男人来说,怎么穿帆布鞋才更得体呢? 男人到了3、40岁,正处于一个半年轻半成熟的阶段,在选择鞋款上,大都不会
  • 极米投影仪怎么样,极米投影仪序列号查询
    极米投影仪怎么样,极米投影仪序列号查询
    很早就想入手投影仪了,刷了很久,刷到极米Z6。老实说,一开始只是看哪款价格合适,完全没想到,原来一个小小的投影仪还有这么多的参数和门道。再后来就开始了恶补投影仪知识的日子,有点时间就看投影产品。好在终于是让我摸透了,现在顺利入手了当贝C1,
  • 买皮鞋的人用火烧真的假的(皮鞋的是皱纹人造)
    买皮鞋的人用火烧真的假的(皮鞋的是皱纹人造)
    部分人通过用火烧的方法判断皮鞋是否为真皮,具体方法如下:用从真皮革和人造革背面撕下一点纤维或用边角料,点燃后,凡发出刺鼻的气味,结成疙瘩的是人造革;凡是发出毛发气味,不结硬疙瘩的是真皮。除此还有其他简便办法:用手指稍用力按一下皮鞋,皮上出现
点击排行