自适应调节串口通信波特率的方法及串口装置制造方法及图纸

技术编号:20944234 阅读:21 留言:0更新日期:2019-04-24 02:17
本发明专利技术提供一种自适应调节串口通信波特率的方法及串口装置,所述串口装置设置于硬件加速仿真器,所述串口装置包括数据接收模块、触发沿检测模块、计数器、波特率计算模块、采样时钟生成模块和数据发送模块。本发明专利技术的串口装置无需人工配置串口波特率,而是通过自适应动态训练的方式对串口波特率进行调节,能够自动准确地匹配对端串口波特率,从而实现串口通信。

Method of Adaptive Adjustment of Serial Port Communication Baud Rate and Serial Port Device

The invention provides a method and a serial device for adaptively adjusting the baud rate of serial communication. The serial device is set in a hardware acceleration simulator. The serial device includes a data receiving module, a trigger edge detection module, a counter, a baud rate calculation module, a sampling clock generation module and a data transmission module. The serial port device of the invention does not need to configure the serial port baud rate manually, but adjusts the serial port baud rate by means of adaptive dynamic training, and can automatically and accurately match the baud rate of the opposite end serial port, thereby realizing serial communication.

【技术实现步骤摘要】
自适应调节串口通信波特率的方法及串口装置
本专利技术涉及数据通信
,尤其涉及一种自适应调节串口通信波特率的方法及串口装置。
技术介绍
在硬件设计和嵌入式开发的过程中,由于串口通信需要发送方和接收方的波特率和帧结构保持一致,才能保证数据的正确传输,因此双方必须事先约定好发送速率和帧结构。帧结构信息包括起始位、停止位、数据位的个数,以及是否有校验位,若有,是以何种形式校验,这样才能在接收到正确信息的基础上进行校验,并把起始位、停止位、校验位剔除掉,将有用信息识别出来;而波特率表示每秒传输的比特个数,在不知道对端发送速率的情况下,接收端无法正确的采样所接收到的数据。通常情况下,由于串口通信的场景都是短距离的低速通信,所以终端设备大都没有使用校验位,但仍然需要事先确定通信所使用的波特率,并且手动配置到通信双方的设备中。在使用硬件仿真加速器对所设计的寄存器传输级模型进行仿真的过程中,由于每一次编译出来的系统最大可运行频率都不一样,基于此频率所生成的波特率时钟自然也不一样,所以每次都需要手动计算并在仿真的过程中进行配置,这样的操作非常麻烦,而且可拓展性差,容易由于疏忽导致数据异常。
技术实现思路
本专利技术提供的自适应调节串口通信波特率的方法及串口装置,无需人工配置串口波特率,而是通过自适应动态训练的方式对串口波特率进行调节,能够自动准确地匹配对端串口波特率,从而实现串口通信。第一方面,本专利技术提供一种自适应调节串口通信波特率的串口装置,设置于硬件加速仿真器,所述串口装置包括数据接收模块、触发沿检测模块、计数器、波特率计算模块、采样时钟生成模块和数据发送模块;所述数据接收模块,用于接收计算机发送的数据,并将所述计算机发送的数据发送至所述触发沿检测模块,以及根据所述采样时钟生成模块发送的同步完成的标志信号和波特率时钟对从所述计算机接收到的数据进行打拍;所述触发沿检测模块,用于对所述数据接收模块发送的数据进行电平检测,生成同步码开始发送的标志信号和同步码停止发送的标志信号,并将所述同步码开始发送的标志信号和所述同步码停止发送的标志信号发送至所述计数器;所述计数器,用于当接收到所述同步码开始发送的标志信号时以最高系统时钟为参考对符合计数规则的电平开始计数,当接收到所述同步码停止发送的标志信号时停止计数且生成同步完成的标志信号,并将所述计数值发送至所述波特率计算模块;以及将所述同步完成的标志信号发送至所述采样时钟生成模块、所述数据发送模块和所述数据接收模块;所述波特率计算模块,用于根据接收到的所述计数值计算得到波特率时钟翻转信号,并将计算得到的波特率时钟翻转信号发送至所述采样时钟生成模块;所述采样时钟生成模块,用于根据接收到所述同步完成的标志信号和所述波特率时钟翻转信号生成当前计算机串口所使用的波特率时钟,并将所述波特率时钟发送至所述数据发送模块和所述数据接收模块;所述数据发送模块,用于根据接收的所述同步完成的标志信号和所述波特率时钟对待发出的数据进行打拍并发送至所述计算机。第二方面,本专利技术提供一种自适应调节串口通信波特率的方法,应用于硬件加速仿真器,所述方法包括:数据接收模块,接收计算机发送的数据,并将所述计算机发送的数据发送至触发沿检测模块;所述触发沿检测模块,对所述数据接收模块发送的数据进行电平检测,生成同步码开始发送的标志信号和同步码停止发送的标志信号,并将所述同步码开始发送的标志信号和所述同步码停止发送的标志信号发送至计数器;所述计数器,当接收到所述同步码开始发送的标志信号时以最高系统时钟为参考对符合计数规则的电平开始计数,当接收到所述同步码停止发送的标志信号时停止计数且生成同步完成的标志信号,并将所述计数值发送至波特率计算模块;以及将所述同步完成的标志信号发送至采样时钟生成模块、数据发送模块和所述数据接收模块;所述波特率计算模块,根据接收到的所述计数值计算得到波特率时钟翻转信号,并将计算得到的波特率时钟翻转信号发送至所述采样时钟生成模块;所述采样时钟生成模块,根据接收到所述同步完成的标志信号和所述波特率时钟翻转信号生成当前计算机串口所使用的波特率时钟,并将所述波特率时钟发送至所述数据发送模块和所述数据接收模块;所述数据接收模块,根据接收的所述同步完成的标志信号和波特率时钟对从所述计算机接收到的数据进行打拍;所述数据发送模块,用于根据接收的所述同步完成的标志信号和所述波特率时钟对待发出的数据进行打拍并发送至所述计算机。本专利技术实施例提供的自适应调节串口通信波特率的方法及串口装置,与现有技术相比,无需人工配置串口波特率,而是通过自适应动态训练的方式对串口波特率进行调节,能够自动准确地匹配对端串口波特率,从而实现串口通信。附图说明图1为本专利技术一实施例自适应调节串口通信波特率的串口装置结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例还提供一种自适应调节串口通信波特率的串口装置,如图1所示,设置于硬件加速仿真器,所述串口装置包括数据接收模块、触发沿检测模块、计数器、波特率计算模块、采样时钟生成模块和数据发送模块;所述数据接收模块,用于接收计算机发送的数据,并将所述计算机发送的数据发送至所述触发沿检测模块,以及根据所述采样时钟生成模块发送的同步完成的标志信号和波特率时钟对从所述计算机接收到的数据进行打拍;所述触发沿检测模块,用于对所述数据接收模块发送的数据进行电平检测,生成同步码开始发送的标志信号和同步码停止发送的标志信号,并将所述同步码开始发送的标志信号和所述同步码停止发送的标志信号发送至所述计数器;所述计数器,用于当接收到所述同步码开始发送的标志信号时以最高系统时钟为参考对符合计数规则的电平开始计数,当接收到所述同步码停止发送的标志信号时停止计数且生成同步完成的标志信号,并将所述计数值发送至所述波特率计算模块;以及将所述同步完成的标志信号发送至所述采样时钟生成模块、所述数据发送模块和所述数据接收模块;所述波特率计算模块,用于根据接收到的所述计数值计算得到波特率时钟翻转信号,并将计算得到的波特率时钟翻转信号发送至所述采样时钟生成模块;所述采样时钟生成模块,用于根据接收到所述同步完成的标志信号和所述波特率时钟翻转信号生成当前计算机串口所使用的波特率时钟,并将所述波特率时钟发送至所述数据发送模块和所述数据接收模块;所述数据发送模块,用于根据接收的所述同步完成的标志信号和所述波特率时钟对待发出的数据进行打拍并发送至所述计算机。本专利技术实施例提供的自适应调节串口通信波特率的串口装置,通过测量串口总线上所传输的信号,能够准确计算出对端所使用的波特率,从而免去由于最大可用频率不一样导致的事先配置波特率非常麻烦且容易出错的问题。由此可见,本专利技术的串口装置无需人工配置串口波特率,而是通过自适应动态训练的方式对串口波特率进行调节,能够自动准确地匹配对端串口波特率,从而实现串口通信。可选地,所述触发沿检测模块,用于在对所述数据接收模块发送的数据进本文档来自技高网...

【技术保护点】
1.一种自适应调节串口通信波特率的串口装置,设置于硬件加速仿真器,其特征在于,所述串口装置包括数据接收模块、触发沿检测模块、计数器、波特率计算模块、采样时钟生成模块和数据发送模块;所述数据接收模块,用于接收计算机发送的数据,并将所述计算机发送的数据发送至所述触发沿检测模块,以及根据所述采样时钟生成模块发送的同步完成的标志信号和波特率时钟对从所述计算机接收到的数据进行打拍;所述触发沿检测模块,用于对所述数据接收模块发送的数据进行电平检测,生成同步码开始发送的标志信号和同步码停止发送的标志信号,并将所述同步码开始发送的标志信号和所述同步码停止发送的标志信号发送至所述计数器;所述计数器,用于当接收到所述同步码开始发送的标志信号时以最高系统时钟为参考对符合计数规则的电平开始计数,当接收到所述同步码停止发送的标志信号时停止计数且生成同步完成的标志信号,并将所述计数值发送至所述波特率计算模块;以及将所述同步完成的标志信号发送至所述采样时钟生成模块、所述数据发送模块和所述数据接收模块;所述波特率计算模块,用于根据接收到的所述计数值计算得到波特率时钟翻转信号,并将计算得到的波特率时钟翻转信号发送至所述采样时钟生成模块;所述采样时钟生成模块,用于根据接收到所述同步完成的标志信号和所述波特率时钟翻转信号生成当前计算机串口所使用的波特率时钟,并将所述波特率时钟发送至所述数据发送模块和所述数据接收模块;所述数据发送模块,用于根据接收的所述同步完成的标志信号和所述波特率时钟对待发出的数据进行打拍并发送至所述计算机。...

【技术特征摘要】
1.一种自适应调节串口通信波特率的串口装置,设置于硬件加速仿真器,其特征在于,所述串口装置包括数据接收模块、触发沿检测模块、计数器、波特率计算模块、采样时钟生成模块和数据发送模块;所述数据接收模块,用于接收计算机发送的数据,并将所述计算机发送的数据发送至所述触发沿检测模块,以及根据所述采样时钟生成模块发送的同步完成的标志信号和波特率时钟对从所述计算机接收到的数据进行打拍;所述触发沿检测模块,用于对所述数据接收模块发送的数据进行电平检测,生成同步码开始发送的标志信号和同步码停止发送的标志信号,并将所述同步码开始发送的标志信号和所述同步码停止发送的标志信号发送至所述计数器;所述计数器,用于当接收到所述同步码开始发送的标志信号时以最高系统时钟为参考对符合计数规则的电平开始计数,当接收到所述同步码停止发送的标志信号时停止计数且生成同步完成的标志信号,并将所述计数值发送至所述波特率计算模块;以及将所述同步完成的标志信号发送至所述采样时钟生成模块、所述数据发送模块和所述数据接收模块;所述波特率计算模块,用于根据接收到的所述计数值计算得到波特率时钟翻转信号,并将计算得到的波特率时钟翻转信号发送至所述采样时钟生成模块;所述采样时钟生成模块,用于根据接收到所述同步完成的标志信号和所述波特率时钟翻转信号生成当前计算机串口所使用的波特率时钟,并将所述波特率时钟发送至所述数据发送模块和所述数据接收模块;所述数据发送模块,用于根据接收的所述同步完成的标志信号和所述波特率时钟对待发出的数据进行打拍并发送至所述计算机。2.根据权利要求1所述的串口装置,其特征在于,所述触发沿检测模块,用于在对所述数据接收模块发送的数据进行电平检测之前,对所述数据接收模块发送的数据进行信号消抖处理。3.根据权利要求1所述的串口装置,其特征在于,所述触发沿检测模块,用于当检测到所述数据接收模块发送的数据出现低电平时生成所述同步码开始发送的标志信号,并将所述同步码开始发送的标志信号发送至所述计数器;当检测到所述数据接收模块发送的数据出现高电平时生成所述同步码停止发送的标志信号,并将所述同步码停止发送的标志信号发送至所述计数器。4.根据权利要求1所述的串口装置,其特征在于,所述波特率计算模块根据接收到的所述计数值计算得到波特率时钟翻转信号包括以下步骤:将所述计数值除以一固定值,以得到波特率时钟每翻转一次所保持的时间;设置一个计数器变量,以所述最高系统时钟为参考频率,以所述固定值为步长对所设置的计数器变量进行累加;当所述计数器变量大于或者等于所述计数值时,令所述计数器变量等于所述计数值减去所述计数器变量,同时产生所述波特率时钟翻转信号;其中,所述固定值为所述最高系统时钟所在比特数的两倍。5.根据权利要求1所述的串口装置,其特征在于,所...

【专利技术属性】
技术研发人员:李小波宋仕坤石燕刘佳宜
申请(专利权)人:中科曙光信息产业成都有限公司成都海光集成电路设计有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1