当前位置:首页 > 通信技术 > 通信技术
[导读]对串行通信波特率自动识别的方法进行深入的研究和分析;创新性地提出在码元宽度捕捉的基础上,用求最大公约数的方法进行波特率的自动识别,实现了不对待测系统发送的数据进行特殊要求即实现其串行通信数据的有效识别。

摘要串行通信波特率自动识别的方法进行深入的研究和分析;创新性地提出在码元宽度捕捉的基础上,用求最大公约数的方法进行波特率的自动识别,实现了不对待测系统发送的数据进行特殊要求即实现其串行通信数据的有效识别。该方法具有一般性,可广泛应用于多机通信、通信测试等不同的领域。
关键词 串行通信波特率 自动识别 最大公约数法


    对于异步串行通信,只有在通信双方波特率相同时,才能实现数据的正确传输与接收;而一些系统总是希望能实现对各种波特率的兼容。通常的实现方法是,要求对方首先发出规定的字符或数据,系统收到该字符或数据后,计算对方的波特率.以适应对方的波特率进行工作,例如某些无线收发模块、GSM通信模块等。然而对于检测、测试等领域,是不能要求被测系统发送某个固定的字符或数据的,那么对于这类通信系统,如何实现波特率的可靠识别呢?本文创新性地提出了在码元宽度捕捉的基础上求最大公约数的方法。该方法不对待测系统发送的数据进行特殊要求即可实现波特率识别,且保证了波特率识别的有效性和可靠性。下面对该方法进行详细说明。


1 波特率自动识别的传统方法及基本原理

    串行通信的数据是按位顺序传输的,而异步串行通信由于没有位定时时钟,因此各个数据位之问需要严格的定时,才能保证正确的通信。也就是说,只有在通信双方波特率相同时,才能实现数据的正确传输与接收。传统的波特率自动识别的方法主要有两种:
    ①标准波特率穷举法。标准波特率穷举法适用于主机侧的波特率必须在有限的几个固定数值之间变化,如300~19200之间的标准值;且从机侧的工作振荡频率已知且稳定。从机启动通信程序后,逐个尝试以不同的波特率接收主机发出的特定字符,直到能正确接收为止,因此,该方法的运用有一定的局限性。
    ②码元宽度实时检测法。该方法要求主机按照约定发送某一数据,从机通过单片机的定时器测量RXD引脚上输入数据的码元宽度,而后计算出待测系统通信的波特率。该方法目前应用比较广泛。例如,某GSM模块在设计时为了适应各种通信波特率,要求其通信的系统首先发送08H,之后发送指令,它就是依靠数据08H的码元宽度计算出对方波特率的。

2 最大公约数法的原理及其实现
   
传统的方法对待测系统发送的数据都有一定的限制或要求才能够实现波特率的识别,但有些时候是无法约束待测系统首先发送特定字符的。这里,根据不同的应用需求,提出更为通用的波特率识别方法——最大公约数法。
    为了便于说明问题,设主机的波特率为BPS,位传输时间为t1bit,测试系统测得的波特率为BAUD,位传输时间为txbit。以l位起始位、8位数据位、1位停止位、无奇偶校验位为例,通信数据格式如图l所示。除了起始位始终为0,停止位始终为1外,8位数据位的电平高低是由传输的数据决定的,要测得待测系统的波特率,根据波特率的实际意义BPS=l/t1bit,只要检测出待测系统通信数据的位传输时间t1bit即可。

    位传输时间t1bit对应的就是单位码元宽度时间,只要知道单位码元宽度时间,系统波特率就很容易计算出来了。由于不能要求待测系统按照规定发出特定的数据或字符,因此这里使用码元宽度捕捉的方法来查找码元宽度时间,要将单片机挂入待测系统的通信线路,采用对待测系统TXD(或RXD)引脚的高、低电平脉冲持续时间不断采集的方式,来捕捉单位码元宽度时间t1bit,显然单片机直接采集到的单个高、低电平脉冲持续时间可能是nt1bit,其中1≤n≤9。如何从采集到的nt1bit找出t1bit,成为波特率识别的关键。
    经过对串行通信数据格式的特点进行分析,本文提出了码元宽度最大公约数法来从捕捉到的码元宽度时间中计算单位码元宽度时间,也就是位传输时间t1bit。具体实现方法如下:在待测系统正常工作后,将测试单片机挂入其通信线路;首先对正、负脉冲宽度都进行计时,分别采集n次,剔除正脉冲溢出的部分后,把所有不相等的有效脉冲宽度时间从小到大排序(△t<5μs就认为两个时间相等,这一点在后面将有说明),假设依次为t1,t2,t3,…,tm(1≤m≤9);由于采集到的时间一定是t1bit的整数倍,计算出t1,t2,t3,…,tm的最大公约数为txbit,那么txbit就可以作为系统的最小脉冲宽度来计算波特率。这里计算得到的txbit可能等于t1bit,也可能不等于t1bit。下面分类讨论其作为位传输时间t1bit来计算波特率的可靠性及依据。
    第1种情况,txbit=t1bit:待测系统通信过程中出现最窄正脉冲或最窄负脉冲,得到的txbit等于t1bit,那么使用txbit计算波特率是可靠的;待测系统通信过程中未出现最窄正脉冲或最窄负脉冲,但系统通信过程中出现的脉冲宽度的最大公约数为最窄脉冲宽度,如待测系统处出现了2t1bit、3t1bit脉冲时间或者待测系统出现了4t1bit,7t1bit、8t1bit脉冲时间,此时最大公约数txbit仍等于t1bit,这种情况下波特率是可以可靠识别的。
    第2种情况,txbit≠t1bit,即txbit=N’t1bit(2≤N’≤9):若系统通信过程中出现的脉冲宽度时间都是N’t1bit的整数倍,以N’=2为例,待测系统通信过程中可能只出现类似图2(a)所示的数据,求得的最大公约数txbit=2t1bit,BAUD=BPS/2,实际测得的波特率是被测系统波特率的1/2。但我们注意到,测得的数据如图2(b)所示,依次为FFH、FEH、FDH、FCH、FBH、FAH、F9H、F8H,尽管测得的波特率并不是被测系统波特率,但是并不会导致信息丢失,所有的数据都可以正确还原,因此这种情况下使用最大公约数法计算波特率也是完全可靠的。

    求最大公约数需要注意的问题:
    ①近似相等。前面提到,检测到的串行通信某两个脉冲宽度时间差△t<5μs就认为两个时间近似相等,这是由串行通信的特点决定的。假设采集系统设计指标要求系统能够识别波特率在300~38 400 bps,那么计算可得位传输时间t1bit为26μs≤t1bit≤3400μs;而检测到的脉冲时间可以表达为nt1bit,其中n为自然数日1≤n≤9,那么任意两个脉冲宽度的时间差△t=(n-1)t1bit。显然两个脉冲的时间差△t,要么为t1bit的整数倍,要么为O,而26μs≤t1bit≤3400μs,因此如果检测到待测系统的某两个脉冲宽度时间差△t小于5μs,那么就可以认为两个时间近似相等(实验结果表明,任意两个脉冲宽度时间差都小于等于2μs,之所以有时不等于0,是由串行通信时脉冲上升沿和下降沿时间及单片机启动计时与结束计时带来的误差)。
    ②近似等于0。位传输时间t1bit为26μs≤t1bit≤3400μs,所以检测到的脉冲宽度一定≥26μs。如果检测到待测系统的脉冲宽度小于5μs,就可以认为其近似等于O。实际上经过大量的实验,直接检测到某脉冲宽度时间小于5μs的结果是不会出现的。其意义在于:在计算最大公约数时,要用采集到的有效脉冲时间t1,t2,t3,…,tm分别除以最小时间t1,设余数由小到大依次为A2,A3,…,Am,此时除了与t1近似相等的余数外,还有一部分余数小于5μs,那么此时就认为余数近似等于0,剩下的部分余数既不近似等于t1也不近似等于O。近似相等的余数只保留一个,设这些余数从小到大依次为Ax、Ay、Az(最多有3个),那么就认为Ax、Ay、Az是计算得到的更小的脉冲宽度时间。然后用前面采集到的时间t1,t2,t3,…,tm和Ay、Az,分别除以Ax。假设余数分别为B1,B2,B3,…,Bk,如果不存在余数符合在区间(5,Ax-5),那么Ax可以作为t1bit来计算波特率;如果存在Bx满足条件,那么Bx就可以作为t1bit来计算被测系统波特率(不需要继续求余,其依据不再赘述)。


3 实验结果及结论
   
由于波特率在±3%的偏移范围内仍然可以正确识别和通信,因此笔者判断不同波特率的位传输时间的参考区间如表1所列。经过大量的实验与测试,这里也给出了不同波特率时采集到的位传输时间典型值与波特率的对应关系,采集到的其他样本值与典型值的最大偏差均小于1%,因此该方法实现波特率识别是可行、可靠的。

    本文提出的码元宽度最大公约数法实现波特率识别,使用C5l系列单片机及汇编语言即可实现;其算法简单,程序空间需求小,速度快,效率高。在需要实时检测与数据处理的应用设计中,可以使用按键中断的方式启动波特率识别程序,识别完成后检测系统设置自身的波特率与待测系统一致后中断返回,进入主程序进行通信和数据处理。经过大量测试和实验,证明该方法实现波特率识别是可行且可靠的,可以在不同的应用领域推广,尤其在检测和测试领域有着很大的潜力。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭