新闻中心

EEPW首页 > 嵌入式系统 > 牛人业话 > 串口速率,我拿什么识别你?

串口速率,我拿什么识别你?

作者:jobs时间:2014-03-10来源:电子产品世界收藏

    ,作为单片机最常用的通讯接口已经深入每一个嵌入式工程师的脑海。有着简单、实用的特性,嵌入式工程师常常用来将其作为调试系统的重要工具。的配置参数有很多,但是最常用,且需要修改的参数只有通讯波特速率这一个。可是这仅有的一个参数又常常给我们带来许多困扰。那么,我们对于串口波特速率该如何呢?笔者在这里介绍三种串口速率的方法,供大家参考。

本文引用地址:http://www.eepw.com.cn/article/234415.htm

  UART(Universal Asynchronous serial Receiver and Transmitter)异步串行接收/发送接口,是嵌入式系统里最为重要的接口之一,它不仅用于板级芯片之间的通讯,而且应用于实现系统之间的通信和系统中。UART作为异步串口的一种,工作原理是将传输数据的每个字符一位接一位地传输,其字符数据帧格式如下图所示:


  图1 UART字符数据帧格式

  从上面图中的帧格式可以看出,UART数据帧由1个开始同步位,1个数据字,1个结束停止位,以及可选的校验位组成。由于UART为异步通讯,因此,其按位发送时必须严格遵守设定的波特率,而接收方也必须在相同的波特率下才能正确解析发送的字符数据。于是,接收方正确、配置波特率就相当关键了。下面笔者根据实际经验介绍三种识别串口波特率的方法:

  穷举法

  理论上,发送波特率可以设定为任意的值,但是平时我们使用的串口速率只有这么几种数值,如图2所示:


图2 常用串口波特速率

  既然知道了常用串口速率,于是我们就可以一个一个试,总会有一个是成功。当然前提是我们知道主机发送的内容是什么,否则如何才能知道串口速率正确匹配呢!这里必须注意,在设定波特率与实际波特率成倍数的情况下,是可以读出来数据——当然,数据是错误的。

  示波器法

  示波器被秒为电子工程师的“眼睛”,我们可以就用这双眼睛来“看”出串口发送数据的波特率。这里我们先排除掉高端的带有数字逻辑分析功能的示波器,因为,这样的示波器已经远超笔者的IQ了,不是我们本篇讨论的内容。

  上一部分,我们讲述了波形的帧格式,这里我们就利用波形,发送一个特殊的字符0x55(1010 1010B)。从理论上面分析,这个波形应该会产生一个按位翻转的波形效果。图3是笔者使用示波器采集下来的截图:


  图3 9600bps发送0x55波形图

  看到图3所示的波形图,再加上理论分析,我们知道波形是按位翻转,于是我们使用示波器的指针功能(cursor)来直接查看波特率。如图3左上角的测量结果显示,每位翻转的频率为9.615KHz,与我们设定的频率9600kbps基本相符,可以确定此发送频率为9600bps。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭