本发明专利技术提供了一种串行通信波特率实时自适应方法,其包括:S1:在接收到串行信号时,将预设时长值作为波特率的采样周期;S2:按照采样周期对串行信号中空闲信号的比特长度进行测量直至检测到串行信号出现第一个下降沿,获取空闲信号的比特长度;S3:从第一个下降沿开始计时并在检测到第一个上升沿时停止计时,获取计时值;S4:判断比特长度是否大于或等于预设数量个比特,预设数量不少于一帧数据所包含的比特总数;S5:如果比特长度大于或等于预设数量个比特,则将计时值作为波特率的采样周期采样数据位和停止位,并在采样完停止位后返回步骤S2。通过上述方式,本发明专利技术能够实时适应波特率的动态变化。
【技术实现步骤摘要】
本专利技术涉及数据传输
,特别是涉及一种串行通信波特率实时自适应方法。
技术介绍
串行通信的设备成本低,使用简单,易于实现,可实现各种串行通信设备(如计算机)的远程通信,因此串行通信在通信应用中非常普遍,并起着非常重要的作用。在串行通信过程中,数据的传送速率称为“波特率”,只有通信双方采用相同的波特率和通信格式时,才能实现数据的正确传输。然而,由于支持串行接口通信的设备多种多样,波特率和通信格式各不相同,这为串行通信设备的使用带来不便,特别是对于波特率动态变化的情况。如果能够实现串行通信波特率的自适应,无疑会提高串行设备使用的灵活性和通用性,从而使串口通信设备具备“即插即用”能力。目前,波特率自适应的常用方法主要有两种:标准波特率穷举法和码元宽度实时检测法。标准波特率穷举法要求数据终端传输数据所采用的波特率必须在有限的几个固定波特率之间变化,如标准波特率序列,串行设备启动后,逐个尝试以不同的波特率接收数据终端发出的特征字符,直到能正确接收为止。码元宽度实时检测法要求数据终端按照约定发送特征字符,串行设备测量输入数据的码元宽度,而后计算出待测的波特率。该方法比标准波特率穷举法具有更大的灵活性,是目前应用比较广泛的一种自适应方法。以上两种方法都具有较大的局限性。标准波特率穷举法只能适应有限的几个固定波特率,难以适应波特率的动态变化;码元宽度实时检测法要求串行设备发送的数据为约定的特征字符或要求接收数据和发送数据时所采用的波特率具有一定的比例关系,也难以适应波特率的动态
变化。两种方法都需要对多种情况进行判断比较,实时性较差,降低了串行通信设备使用上的灵活性和通用性,因此难以实现异种串行通信设备间的互连互通。
技术实现思路
本专利技术主要解决的技术问题是提供一种串行通信波特率实时自适应方法,能够实时适应波特率的动态变化。为解决上述技术问题,本专利技术采用的一个技术方案是:提供一种串行通信波特率实时自适应方法,包括:S1:在接收到串行信号时,将预设时长值作为波特率的采样周期,所述预设时长值为上一次接收串行信号时的采样周期值或者任一初始值;S2:按照所述采样周期对所述串行信号中空闲信号的比特长度进行测量直至检测到所述串行信号出现第一个下降沿,获取所述空闲信号的比特长度;S3:从所述第一个下降沿开始计时并在检测到第一个上升沿时停止计时,获取计时值;S4:判断所述空闲信号的比特长度是否大于或等于预设数量个比特,所述预设数量不少于一帧数据所包含的比特总数;S5:如果所述空闲信号的比特长度大于或等于预设数量个比特,则将所述计时值作为波特率的采样周期采样数据位和停止位,并在采样完停止位后返回步骤S2。优选地,所述串行通信波特率实时自适应方法还包括:S6:如果所述空闲信号的比特长度小于预设数量个比特,则仍将所述预设时长值作为波特率的采样周期采样数据位和停止位,并在采样完停止位后返回步骤S2。优选地,所述将所述计时值作为波特率的采样周期采样数据位和停止位的步骤具体为:将所述计时值作为波特率的采样周期,并在所述采样周期的二分之一时长处采样数据位和停止位;所述将所述预设时长值作为波特率的采样周期采样数据位和停止位的步骤具体为:将所述计时值作为波特率的采样周期,并在所述采样周期的二分之一时长处采样数据位和停止位。优选地,所述将所述计时值作为波特率的采样周期采样数据位和停
止位或者所述将所述预设时长值作为波特率的采样周期采样数据位和停止位的步骤具体包括:将所述计时值或者所述预设时长值作为波特率的采样周期开始采样数据位时检测数据位是否出现下降沿;在每次检测到数据位出现下降沿时,对数据位的低电平的持续时长进行计时,获得持续时长值;判断所述持续时长值是否小于所述采样周期;如果所述持续时长值小于所述采样周期,则将所述持续时长值作为波特率的采样周期采样剩余的数据位和停止位,否则仍将所述计时值或者所述预设时长值作为波特率的采样周期采样剩余的数据位和停止位。优选地,所述步骤S2具体包括:S21:检测所述串行信号是否出现第一个下降沿;S22:如果没有出现所述第一个下降沿,则按照所述采样周期对所述串行信号中空闲信号的比特长度进行测量,并在测量完一个比特后返回步骤S21;S23:如果出现所述第一个下降沿,则获取所述空闲信号的比特长度。区别于现有技术的情况,本专利技术的有益效果是:1、可以实时检测码元宽度,具备自适应一定范围内任意波特率的能力,解决了现有自适应方法仅支持部分特定波特率的问题,有利于提高串行通信设备的灵活性;2、不要求接收数据和发送数据时所采用的波特率具有一定的比例关系,可以简化波特率检测过程,降低对发送方串行通信设备的要求,使波特率的检测更准确、更快速、更可靠,应用更方便;3、波特率的自适应过程不依赖串行通信设备发送的特征字符,仅要求发送方串行通信设备在改变波特率时其数据位的第一比特为1,从而最大限度降低对发送设备的要求,解决了现有自适应方法难以实现异种设备互通的局限性;4、通过准确检测起始位的计时值(也就是起始位的码元宽度),实现对接收数据时所使用的波特率进行实时更新,具备对波特率的快速适应能力,提高了系统的可靠性、安全性,使得串行通信设备能在复杂环境下工作;5、在更新接收数据时所使用的波特率时,可以实时更新发送数据
时所使用的波特率,实现接收波特率和发送波特率实时同步,真正做到实时检测,实时自适应,实时匹配收发波特率。解决了现有自适应方法实时性差,判决时间长,适应时延大,使用不方便的问题。附图说明图1是本专利技术实施例串行通信波特率实时自适应方法的流程示意图。图2是根据本专利技术实施例串行通信波特率实时自适应方法编制的一种程序的处理流程示意图。图3是采用本专利技术实施例的串行通信波特率实时自适应方法动态切换波特率时的原理示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。参见图1,是本专利技术实施例串行通信波特率实时自适应方法的流程示意图。该串行通信波特率实时自适应方法包括以下步骤:S1:在接收到串行信号时,将预设时长值作为波特率的采样周期,预设时长值为上一次接收串行信号时的采样周期值或者任一初始值。其中,接收数据的串行通信设备开机初始化或者发送数据的串行通信设备在发送完上一个串行信号后再次发送串行信号后,可以接收到串行信号。如果接收数据的串行通信设备开机初始化,那么预设时长值为串行通信设备所支持的任一初始值,如果是发送数据的串行通信设备再次发送串行信号,那么预设时长值为上一次接收串行信号时的采样周期。S2:按照采样周期对串行信号中空闲信号的比特长度进行测量直至
检测到串行信号出现第一个下降沿,获取空闲信号的比特长度。其中,按照串行通信的起止式异步通信协议的协议特点,在每两帧数据之间的间隔为空闲信号(即Idle信号),空闲信号为高电平,而每帧数据依次包括起始位、数据位和停止位,起始位为低电平,因此,在监测空闲信号时出现低电平,说明串行信号正在传输数据。在按照采样周期对串行信号中空闲信号本文档来自技高网...
【技术保护点】
一种串行通信波特率实时自适应方法,其特征在于,包括:S1:在接收到串行信号时,将预设时长值作为波特率的采样周期,所述预设时长值为上一次接收串行信号时的采样周期值或者任一初始值;S2:按照所述采样周期对所述串行信号中空闲信号的比特长度进行测量直至检测到所述串行信号出现第一个下降沿,获取所述空闲信号的比特长度;S3:从所述第一个下降沿开始计时并在检测到第一个上升沿时停止计时,获取计时值;S4:判断所述空闲信号的比特长度是否大于或等于预设数量个比特,所述预设数量不少于一帧数据所包含的比特总数;S5:如果所述空闲信号的比特长度大于或等于预设数量个比特,则将所述计时值作为波特率的采样周期采样数据位和停止位,并在采样完停止位后返回步骤S2。
【技术特征摘要】
1.一种串行通信波特率实时自适应方法,其特征在于,包括:S1:在接收到串行信号时,将预设时长值作为波特率的采样周期,所述预设时长值为上一次接收串行信号时的采样周期值或者任一初始值;S2:按照所述采样周期对所述串行信号中空闲信号的比特长度进行测量直至检测到所述串行信号出现第一个下降沿,获取所述空闲信号的比特长度;S3:从所述第一个下降沿开始计时并在检测到第一个上升沿时停止计时,获取计时值;S4:判断所述空闲信号的比特长度是否大于或等于预设数量个比特,所述预设数量不少于一帧数据所包含的比特总数;S5:如果所述空闲信号的比特长度大于或等于预设数量个比特,则将所述计时值作为波特率的采样周期采样数据位和停止位,并在采样完停止位后返回步骤S2。2.根据权利要求1所述的串行通信波特率实时自适应方法,其特征在于,所述串行通信波特率实时自适应方法还包括:S6:如果所述空闲信号的比特长度小于预设数量个比特,则仍将所述预设时长值作为波特率的采样周期采样数据位和停止位,并在采样完停止位后返回步骤S2。3.根据权利要求1或2所述的串行通信波特率实时自适应方法,其特征在于,所述将所述计时值作为波特率的采样周期采样数据位和停止位的步骤具体为:将所述计时值作为波特率的采样周期,并在所述采样周期的二分之一时长处采样数据...
【专利技术属性】
技术研发人员:黄建刚,陈绍祥,罗正华,
申请(专利权)人:成都大学,
类型:发明
国别省市:四川;51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。