CN114006842B - 一种检测波特率的方法、装置、设备和介质 - Google Patents
一种检测波特率的方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN114006842B CN114006842B CN202111274910.5A CN202111274910A CN114006842B CN 114006842 B CN114006842 B CN 114006842B CN 202111274910 A CN202111274910 A CN 202111274910A CN 114006842 B CN114006842 B CN 114006842B
- Authority
- CN
- China
- Prior art keywords
- baud rate
- verified
- receiving
- start bit
- baud
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Communication Control (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本申请实施例提供一种检测波特率的方法、装置、设备和介质,该方法包括:在确认波特率检测功能打开的情况下,获取发送设备发送的起始位;根据接收设备的工作时钟,获取起始位的传输时间;根据传输时间确定发送设备传输一比特的时长,获得待验证波特率;根据待验证波特率接收由发送设备发送的验证数据,并确认正确接收验证数据;锁存待验证波特率作为自动检测的波特率,能够使接收设备根据发送设备发送的起始位来更新接收设备的波特率,从而有效避免了为接收设备预先配置的波特率不能适应发送设备波特率改变的技术问题,从而使接收设备的波特率与发送设备的波特率一致。
Description
技术领域
本申请实施例涉及波特率检测领域,具体涉及一种检测波特率的方法、装置、设备和介质。
背景技术
相关技术中,通用异步收发传输器是一种通用串行数据总线,用于异步通信。由于串行通信时信号线上并不传输时钟信号,因此,需要在通信开始前为发送设备和接收设备配置完成传输的波特率。但是,发送设备向接收设备发送数据的过程中,可能会出现预先配置的波特率发生变化的情况,在这种情况下,如果接收设备仍然使用预先配置的波特率接收数据,就会导致数据接收错误。
因此,如何使得接收设备更好的适应发送端发送波特率的变化成为亟待解决的问题。
发明内容
本申请实施例提供一种检测波特率的方法、装置、设备和介质,通过本申请的一些实施例至少能够使接收设备根据发送设备发送的起始位来更新接收设备的波特率,从而有效避免了为接收设备预先配置的波特率不能适应发送设备波特率改变的技术问题,从而使接收设备的波特率与发送设备的波特率一致,省去了为接收设备配置波特率的操作。
第一方面,本申请实施例提供一种检测波特率的方法,应用于接收设备,包括:在确认波特率检测功能打开的情况下,获取发送设备发送的起始位;根据所述接收设备的工作时钟,获取所述起始位的传输时间;根据所述传输时间确定所述发送设备传输一比特的时长,获得待验证波特率;根据所述待验证波特率接收由所述发送设备发送的验证数据,并确认正确接收所述验证数据;锁存所述待验证波特率作为自动检测的波特率。
因此,本申请实施例通过在接收设备中自动检测波特率,能够使接收设备根据发送设备发送的起始位来更新接收设备的波特率,从而有效避免了为接收设备预先配置的波特率不能适应发送设备波特率改变的技术问题,从而使接收设备的波特率与发送设备的波特率一致,省去了为接收设备配置波特率的操作。
结合第一方面,在一种实施方式中,所述待验证波特率的计算公式如下:
Baud=[(wcnt/M)+0.5]-a
其中,Baud表示所述待验证波特率的控制字,wcnt表征所述起始位的传输时间,M表征所述接收设备的参数,a与当前设备规定的控制字与波特率之间的映射关系相关。
因此,本申请实施例通过待验证波特率和起始位的传输时间之间的映射关系,计算获得待验证波特率,能够使接收设备与发送设备之间的波特率同步,从而保证数据传输的准确性。
结合第一方面,在一种实施方式中,所述根据所述接收设备的工作时钟,获取所述起始位的传输时间,包括:根据所述接收设备工作的最高时钟,对所述起始位的低电平宽度进行计数,获得计数值;根据所述计数值和所述最高时钟得到所述起始位的传输时间。
因此,本申请实施例通过使用工作的最高时钟获取起始位的宽度,能够保证计算结果的精度。通过获取发送设备发送的起始位的传输时间,能够及时的适应发送设备的波特率,从而避免由于发送设备与接收设备的波特率不一致,而导致的数据传输错误的问题。
结合第一方面,在一种实施方式中,所述检测波特率的方法还包括:在根据所述待验证波特率接收由所述发送设备发送的验证数据,并确认未正确接收所述验证数据时,则等待接收所述发送设备发送的起始位。
结合第一方面,在一种实施方式中,在所述锁存所述待验证波特率作为自动检测的波特率之后,所述方法还包括:关闭自动检测波特率使能。
结合第一方面,在一种实施方式中,所述检测波特率的方法还包括:在确认不需要检测波特率的情况下,关闭自动检测波特率使能,恢复正常的异步收发功能。
因此,本申请实施例通过对待验证波特率进行验证,能够保证计算获得的待验证波特率的准确性,从而保证接收设备与发送设备波特率的同步,保证接收设备接收的数据的准确性。
第二方面,本申请实施例提供一种检测波特率的装置,包括:获取模块,被配置为在确认波特率检测功能打开的情况下,获取发送设备发送的起始位;计时模块,被配置为根据所述接收设备的工作时钟,获取所述起始位的传输时间;运算模块,被配置为根据所述传输时间确定所述发送设备传输一比特数据的时长,获得待验证波特率;比较模块,被配置为根据所述待验证波特率接收由所述发送设备发送的验证数据,并确认正确接收所述验证数据;锁存模块,被配置为锁存所述待验证波特率作为自动检测的波特率。
结合第二方面,在一种实施方式中,所述待验证波特率的计算公式如下:
Baud=[(wcnt/M)+0.5]-a
其中,Baud表示所述待验证波特率的控制字,wcnt表征所述起始位的传输时间,M表征所述接收设备的参数,a与当前设备规定的控制字与波特率之间的映射关系相关。
结合第二方面,在一种实施方式中,所述计时模块还被配置为:根据所述接收设备工作的最高时钟,计数所述起始位的低电平宽度,获得计数值;将所述计数值和所述最高时钟进行计算,获得所述起始位的传输时间。
结合第二方面,在一种实施方式中,所述检测波特率的装置还被配置为:在根据所述待验证波特率接收由所述发送设备发送的验证数据,并确认未正确接收所述验证数据时,则等待接收所述发送设备发送的起始位。
结合第二方面,在一种实施方式中,所述锁存模块还被配置为:关闭自动检测波特率使能。
结合第二方面,在一种实施方式中,所述检测波特率的装置还被配置为:在确认不需要检测波特率的情况下,关闭自动检测波特率使能,恢复正常的异步收发功能。
第三方面,本申请实施例提供一种检测波特率的接收设备,包括:波特率检测芯片,被配置为在确认波特率检测功能打开的情况下,获取发送设备发送的起始位;根据所述接收设备的工作时钟,获取所述起始位的传输时间;根据所述传输时间确定所述发送设备传输一比特数据的时长,获得待验证波特率;根据所述待验证波特率接收由所述发送设备发送的验证数据,并确认正确接收所述验证数据;锁存所述待验证波特率作为自动检测的波特率;接收控制单元,根据所述自动检测的波特率,接收所述发送设备发送的信号。
结合第三方面,在一种实施方式中,所述波特率检测芯片包括:电平获取单元,被配置为在确认波特率检测功能打开的情况下,获取发送设备发送的起始位;计时器,被配置为根据所述接收设备的工作时钟,获取所述起始位的传输时间;运算单元,被配置为根据所述传输时间确定所述发送设备传输一比特数据的时长,获得待验证波特率;比较器,被配置为根据所述待验证波特率接收由所述发送设备发送的验证数据,并确认正确接收所述验证数据;锁存单元,被配置为锁存所述待验证波特率作为自动检测的波特率。
第四方面,本申请实施例提供一种电子设备,包括:处理器、存储器和总线;所述处理器通过所述总线与所述存储器相连,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,用于实现第一方面及其所有实施方式任一项所述的方法。
第五方面,本申请实施例提供一种计算可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被执行时实现如第一方面及其所有实施方式中任一项所述的方法。
附图说明
图1为本申请实施例示出的一种波特率检测的系统;
图2为本申请实施例示出的一种波特率检测的流程;
图3为本申请实施例示出的起始位和验证数据;
图4为本申请实施例示出的一种波特率检测的具体实施例;
图5为本申请实施例示出的一种接收设备;
图6为本申请实施例示出的一种波特率探测器;
图7为本申请实施例示出的一种波特率检测的装置;
图8为本申请实施例示出的一种电子设备。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对附图中提供的本申请的实施例的详情描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护范围。
为了改善背景技术中存在的相关问题,在本申请的一些实施例中,接收设备具备主动检测发送设备的波特率的功能。例如,在本申请的一些实施例中,接收设备根据发送设备发送的报文帧的起始位和验证数据,自动检测的发送设备的波特率。在本申请的一些实施例中,接收设备在接收到报文帧的起始位(该起始位由一个比特位的数据组成的)数据后,获得起始位数据的宽度得到单比特数据的传输时间。之后,接收设备再根据单比特数据的传输时间与波特率之间的对应关系(即Baud=[(wcnt/M)+0.5]-a),获得待验证的波特率。接着利用待验证的波特率接收验证数据并确认验证数据被正确接收的情况下,将待验证的波特率作为自动检测的波特率(即作为接收设备得到的发送设备的波特率)。如果利用待验证的波特率并未正确接收验证数据,则需要重新接收起始位并统计起始位的传输时长来重新得到一个新的待验证的波特率。
可以理解的是,在本申请一些实施例中采用接收设备上的波特率检测芯片来获得检测发送设备的波特率。
下面结合附图详细描述本申请实施例中的方法步骤。
图1提供了可以应用本申请技术方案的一种波特率检测系统,图1的波特率检测系统包括:发送设备110和接收设备120,其中,发送设备110向接收设备120发送数据(即在波特率检测的过程中,发送至少包括起始位和验证数据的报文帧),接收设备120接收报文帧并根据报文帧中的起始位确定一个待验证的波特率,之后再用验证数据验证待验证的波特率估算是否准确,如果准确则将根据起始位估算的波特率作为发送设备当前的波特率。
与本申请实施例不同的是相关技术中,在通信开始前会为接收设备配置发送设备波特率,接收设备并不具备自动检测发送设备波特率的功能,因此如果采用相关技术的技术方案当发送设备波特率发生变化的情况下,而又没有为接收设备重新配置波特率就会导致接收设备接收的数据发送错误。可以理解的是,如果在接收设备接收数据中的过程中发送设备改变了波特率,而接收设备必须被重新配置,否则接收设备会继续利用原有的波特率接收的数据,进而导致接收的数据发生错误。
至少为了解决上述问题,本申请一些实施例提供一种使用发送设备发送的起始位和验证数据,获取自动检测的波特率的方法。例如:在确认接收设备的波特率检测功能打开的情况下,获取发送设备发送的起始位;根据接收设备的工作时钟,获取起始位的传输时间;根据传输时间确定发送设备传输一比特的时长,获得待验证波特率;根据待验证波特率接收由发送设备发送的验证数据,并确认正确接收验证数据;锁存待验证波特率作为自动检测的波特率。本申请实施例通过在接收设备中自动检测波特率,能够使接收设备根据发送设备发送的起始位来更新接收设备的波特率,从而有效避免了为接收设备预先配置的波特率不能适应发送设备波特率改变的技术问题,从而使接收设备的波特率与发送设备的波特率一致。
下文将描述本申请实施例中的应用于上述接收设备120的一种检测波特率的方法。
如图2所示,本申请实施例中的检测波特率的方法包括:S210,在确认波特率检测功能打开的情况下,获取发送设备发送的起始位。S220,根据接收设备的工作时钟,获取起始位的传输时间。S230,根据传输时间确定发送设备传输一比特的时长,获得待验证波特率。S240,根据待验证波特率接收由发送设备发送的验证数据,并确认正确接收验证数据。S250,锁存待验证波特率作为自动检测的波特率。
在本申请的一些实施例中,发送设备向接收设备发送的数据如图3所示,包括起始位310和验证数据320(即异步串口通信协议中的资料位)。图3的起始位310采用1比特位宽的低电平信号表征,图3的验证数据320采用4比特位宽的电平信号表征。需要说明的是,图3的验证数据仅用于示例性说明,在本申请的另一些实施例中验证数据可以包括1比特位宽的脉冲信号,也可以包括6比特位宽的脉冲信息,本申请的实施例并限定验证数据包括的具体比特数,该比特数可以在接收设备检测波特率之前由接收设备和发射设备预先协商确定。
在本申请的一些实施例中,在需要检测波特率的情况下,使能接收设备的自动检测波特率功能,执行S210接收发送设备发送的低电平起始位,其中,接收设备和发送设备约定起始位用于传输1bit的低电平数据。
在本申请的一些实施例中,S220包括:根据接收设备工作的最高时钟,采用计数器记录起始位对应的低电平信号的宽度,获得计数值。根据计数值和最高时钟得到起始位的传输时间。例如,计数值与最高时钟的时钟频率的倒数相乘得到起始位的传输时间。
也就是说,在接收设备接收低电平起始位的过程中,读取接收设备工作的最高时钟,对起始位的低电平宽度进行计数,获得计数值。在获得计数值后,将计数值与最高时钟相乘,获得起始位的传输时间(即1bit数据传输的时间)。
例如:在接收设备接收低电平起始位的过程中,每0.2S记一个数,在低电平结束的时候,一共记了5个数,即计数值为5。那么,将最高时钟频率的倒数0.2S乘以低电平结束时对应的最大计数值5,得到起始位的传输时间就为1S,即1bit数据传输的时间为1S。
需要说明的是,接收设备工作的最高时钟是设备的自身属性。在本申请的一些实施例中,接收设备工作的最高时钟可以是100M/S。在本申请的另一些实施例中,接收设备工作的最高时钟可以是200M/S。
因此,本申请实施例通过使用工作的最高时钟获取起始位的宽度,能够保证计算结果的精度。通过获取发送设备发送的起始位的传输时间,能够及时的适应发送设备的波特率,从而避免由于发送设备与接收设备的波特率不一致,而导致的数据传输错误的问题。
在本申请的一些实施例中,S230中,待验证波特率由公式(1)计算获得:
Baud=[(wcnt/M)+0.5]-a
(1)
其中,Baud表示待验证波特率的控制字,wcnt表征起始位的传输时间,M表征接收设备的参数,a与当前设备规定的控制字与波特率之间的映射关系相关,[(wcnt/M)+0.5]表示对(wcnt/M)四舍五入取整。M为根据当前设备(即当前正在使用的主设备和从设备)规定的控制字与波特率映射关系反推该公式内的参数,M和a由当前通信设备的定义相关。
也就是说,在上述S220中计算获得起始位的传输时间后,将起始位的传输时间作为发送设备传输1bit的时长(即上述公式(1)中的wcnt),和接收设备的参数M,输入到上述公式(1)中,获得待验证波特率,从而获得相对应的待验证波特率。
在本申请的一些实施例中,待验证波特率可以由公式(2)推导得到:
CLK/(Baud+1)*8 (2)
其中,CLK表示接受设备工作的最高时钟频率,Baud表示待验证波特率的控制字,8(即公式(1)中的M)表示接受设备的参数。
需要说明的是,所有的接收设备中低电平的传输时间(即wcnt)与待验证波特率(即Baud)都存在如公式(1)所示的映射关系,且不同型号的接受设备所对应公式(1)中的参数M和参数a的具体取值不同,但是这些参数值都可以通过设备出厂时的配置信息来获取。在本申请的一种实施方式中,通过查询配置信息得到第一型号接收设备对应的参数M的取值为:M=8,参数a的取值为:a=1。在本申请的另一种实施方式中,第二型号接收设备对应的参数取值为:M=16,a=1。
在本申请的一种实施例中,在Baud=0或1的情况下,对应的最大波特率为CLK/16。
因此,本申请实施例通过待验证波特率和起始位的传输时间之间的映射关系,计算获得待验证波特率,能够使接收设备与发送设备之间的波特率同步,从而保证数据传输的准确性。
在本申请的一种实施例中,在S230中获得待验证波特率后,执行S240,根据待验证波特率接收由发送设备发送的验证数据,并确认正确接收验证数据。
也就是说,接收设备使用计算获得的待验证波特率,接收由发送设备发送的验证数据(即协议约定的8bit的资料位数据),并且将预先协议约定的自动检测波特率标志与接收的8bit数据进行比较,确认自动检测波特率标志与8bit数据相同,则确认正确接收验证数据。
例如:预先协议约定的自动检测波特率的标志为二进制数11001110。接收设备使用待验证波特率,接收发送设备发送的8bit的验证数据,确认接收的验证数据与二进制数11001110相同,则确认正确接收验证数据。
需要说明的是,自动检测波特率标志是发送设备与接收设备预先协议约定完成的。在本申请的一些实施例中,自动检测波特率的标志可以是二进制数11001110。在本申请的另一些实施例中,自动检测波特率的标志可以是十六进制中的41 61等。
因此,本申请实施例通过对待验证波特率进行验证,能够保证计算获得的待验证波特率的准确性,从而保证接收设备与发送设备波特率的同步,保证接收设备接收的数据的准确性。
在本申请的一些实施例中,确认未正确接收验证数据时,则等待接收发送设备发送的起始位。
也就是说,在接收设备接收的验证数据与自动检测波特率的标志不同的情况下,确认为正确接收验证数据(即波特率检测失败),则返回等待接收发送设备发送的起始位。
在本申请的一些实施例中,在接收设备确认接收验证数据后,执行S250,锁存待验证波特率作为自动检测的波特率,并且关闭自动检测波特率使能,恢复正常的异步收发功能。
在本申请的一些实施例中,在确认不需要检测波特率的情况下,关闭自动检测波特率使能,恢复正常的异步收发功能。
上文描述了一种检测波特率方法的实施方式,下文将描述一种检测波特率方法的具体实施方式。
在本申请的一些实施例中,接收设备与发送设备预先通过协议规定,验证数据是8bit的数据。将自动检测波特率的标志设置为二进制数11001110,其中,bit0为1,bit1-bit7不限制。无奇偶校验。
下面结合图4示例性阐述本申请的一些实施例还提供的检测波特率的方法,该方法包括:
S410,使能自动检测波特率,并且等待接收起始位。
在需要检测波特率的情况下,使能接收设备的自动检测波特率功能,并且等待接收发送设备发送的起始位。
S420,获取发送设备发送的起始位。
S430,根据最高时钟,计算起始位的宽度,获得一比特的传输时间。
在接收设备接收低电平起始位的过程中,使用最高时钟200M/S,对起始位的宽度进行计数,获得计数值。再将计数值与最高时钟相乘,获得起始位传输一比特的传输时间。
S440,根据一比特的传输时长和计算公式,获得待验证比特率。
将S430获得的一比特的传输时间和接收设备的参数(即M=8,a=1)输入到公式(1)中,获得Baud,由此相对应的获得待验证波特率。
S450,确认待验证波特率与验证数据相符。
预先协议约定的自动检测波特率的标志为二进制数11001110。接收设备使用待验证波特率,接收发送设备发送的8bit的验证数据,确认接收的验证数据与二进制数01001110相同,则确认正确接收验证数据,继续执行S460。
在接收设备接收的验证数据与自动检测波特率的标志不同的情况下,确认为正确接收验证数据(即波特率检测失败),则执行S410。
S460,锁存待验证波特率,关闭自动检测波特率使能,恢复正常异步传输功能。
检测完成或者不需要检测时关闭自动检测波特率使能,恢复正常异步传输功能,此时锁存的波特率为自动检测波特率的结果。
因此,本申请实施例中,接收设备可以接收任意波特率的有效帧。具体地,发送设备发送协议完成的波特率检测帧信号,接收设备计算待验证波特率并验证计算得到待验证波特率正确后,以计算得到的待验证波特率接收发送设备发送的数据。
上文描述了一种检测波特率方法的具体实施方式,下文将描述一种检测波特率的接收设备。
在本申请的一些实施例中,如图5所示,一种检测波特率的接收设备120,包括:波特率检测芯片121和接收控制单元122。
波特率检测芯片121,被配置为在确认波特率检测功能打开的情况下,获取发送设备发送的起始位。根据接收设备的工作时钟,获取起始位的传输时间。根据传输时间确定发送设备传输一比特数据的时长,获得待验证波特率。根据待验证波特率接收由发送设备发送的验证数据,并确认正确接收验证数据。锁存待验证波特率作为自动检测的波特率。
接收控制单元122,根据自动检测的波特率,接收发送设备发送的信号。
也就是说,发送设备110向波特率检测芯片121发送起始位和验证数据,波特率检测芯片121在接收起始位后计算得到待验证波特率后,接收验证数据对待验证波特率进行验证,获得自动检测的波特率并锁存。并且将自动检测的波特率传输给接收控制单元122,接收控制单元122根据锁存的自动检测的波特率,接收发送设备在正常异步传输功能中发送的数据。
在本申请的一些实施例中,如图6所示,波特率控制检测芯片121包括:电平获取单元601、计时器602、运算单元603、验证数据获取单元604、比较器605和锁存单元606。
电平获取单元601,被配置为在确认波特率检测功能打开的情况下,获取发送设备发送的起始位。计时器602,被配置为根据接收设备的工作时钟,获取起始位的传输时间。运算单元603,被配置为根据传输时间确定发送设备传输一比特数据的时长,获得待验证波特率。比较器605,被配置为根据待验证波特率接收由发送设备发送的验证数据,并确认正确接收验证数据。锁存单元606,被配置为锁存待验证波特率作为自动检测的波特率。
也就是说,发送设备110向电平获取单元601发送起始位,电平获取单元601将起始位传输到计时器602中。计时器602计算得到起始位传输时间,并且将起始位传输时间传到运算单元603中。运算单元603计算获得待验证波特率,并且将待验证波特率传输到验证数据获取单元604中。验证数据获取单元604使用待验证波特率获取验证数据,并且将待验证波特率输入到比较器605中。同时,比较器605接收将验证数据与预先设置的标志进行对比,获得比较结果,并且输入到锁存单元606中。锁存单元606在接收到待验证波特率后,将其锁存,获得自动检测的波特率,并且传输到接收控制单元122。
接收控制单元122使用自动检测的波特率来接收发送设备110发送的信号。
需要说明的是,具体实施过程参照上述S210-S250,在此不再赘述。
因此,本申请实施例中,采用异步收发传输器串行接口的全双工通信接口的接收设备可以自动检测发送设备的波特率,省去了专门为接收设备配置发送波特率的操作。
上文描述了一种检测波特率的接收设备,下文将描述一种检测波特率的装置。
如图7所示,一种检测波特率的装置700,包括:获取模块710、计时模块720、运算模块730、比较模块740和锁存模块750。
在一种实施方式中,本申请实施例提供一种检测波特率的装置700,包括:获取模块710,被配置为在确认波特率检测功能打开的情况下,获取发送设备发送的起始位;计时模块720,被配置为根据接收设备的工作时钟,获取起始位的传输时间;运算模块730,被配置为根据传输时间确定发送设备传输一比特数据的时长,获得待验证波特率;比较模块740,被配置为根据待验证波特率接收由发送设备发送的验证数据,并确认正确接收验证数据;锁存模块750,被配置为锁存待验证波特率作为自动检测的波特率。
在一种实施方式中,待验证波特率的计算公式如下:
Baud=[(wcnt/M)+0.5]-a
其中,Baud表示待验证波特率的控制字,wcnt表征起始位的传输时间,M表征接收设备的参数,a与当前设备规定的控制字与波特率之间的映射关系相关。
在一种实施方式中,计时模块还被配置为:根据接收设备工作的最高时钟,计数起始位的低电平宽度,获得计数值;将计数值和最高时钟进行计算,获得起始位的传输时间。
在一种实施方式中,检测波特率的装置还被配置为:在根据待验证波特率接收由发送设备发送的验证数据,并确认未正确接收验证数据时,则等待接收发送设备发送的起始位。
在一种实施方式中,锁存模块还被配置为:关闭自动检测波特率使能。
在一种实施方式中,检测波特率的装置还被配置为:在确认不需要检测波特率的情况下,关闭自动检测波特率使能,恢复正常的异步收发功能。
在本申请实施例中,图7所示模块能够实现图1至图4方法实施例中的各个过程。图7中的各个模块的操作和/或功能,分别为了实现图1至图4中的方法实施例中的相应流程。具体可参见上述方法实施例中的描述,为避免重复,此处适当省略详细描述。
如图8所示,本申请实施例提供一种电子设备800,包括:处理器810、存储器820和总线830,所述处理器通过所述总线与所述存储器相连,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,用于实现如上述所有实施例中任一项所述的方法,具体可参见上述方法实施例中的描述,为避免重复,此处适当省略详细描述。
其中,总线用于实现这些组件直接的连接通信。其中,本申请实施例中处理器可以是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。存储器中存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,可以执行上述实施例中所述的方法。
可以理解,图8所示的结构仅为示意,还可包括比图8中所示更多或者更少的组件,或者具有与图8所示不同的配置。图8中所示的各组件可以采用硬件、软件或其组合实现。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被执行时实现上述所有实施方式中任一所述的方法,具体可参见上述方法实施例中的描述,为避免重复,此处适当省略详细描述。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (9)
1.一种检测波特率的方法,其特征在于,应用于接收设备,包括:
在确认波特率检测功能打开的情况下,获取发送设备发送的起始位;
根据所述接收设备的工作时钟,获取所述起始位的传输时间;
根据所述传输时间确定所述发送设备传输一比特的时长,获得待验证波特率;
根据所述待验证波特率接收由所述发送设备发送的验证数据,并确认正确接收所述验证数据;
锁存所述待验证波特率作为自动检测的波特率;
其中,所述待验证波特率由公式(1)计算获得:
Baud=[(wcnt/M)+0.5]-a (1)
其中,Baud表示所述待验证波特率的控制字,wcnt表征起始位的传输时间,M表征所述接收设备的参数,a与当前设备规定的控制字与波特率之间的映射关系相关,[(wcnt/M)+0.5]表示对(wcnt/M)四舍五入取整,M为根据所述当前设备规定的控制字与波特率映射关系反推该公式内的参数,M和a由当前通信设备的定义相关,其中,所述当前设备为正在使用的主设备和从设备;
其中,公式(1)可以由公式(2)推导得到:
CLK/(Baud+1)*8(2)
CLK表示所述接收设备工作的最高时钟频率,Baud表示待验证波特率的控制字,8表示所述接收设备的参数;
其中,所有的接收设备中低电平的传输时间与所述待验证波特率都存在如公式(1)所示的映射关系,且不同型号的接受设备所对应公式(1)中的参数M和参数a的具体取值不同;
其中,所述所有的接收设备中包括第一型号接收设备,所述第一型号接收设备对应的参数M的取值为M=8,参数a的取值为a=1;
其中,在所述接收设备接收低电平起始位的过程中,读取所述接收设备工作的最高时钟,对起始位的低电平宽度进行计数,获得计数值;在获得计数值后,将计数值与最高时钟相乘,获得起始位的传输时间,即1bit数据传输的时间。
2.根据权利要求1所述的方法,其特征在于,所述根据所述接收设备的工作时钟,获取所述起始位的传输时间,包括:
根据所述接收设备工作的最高时钟,对所述起始位的低电平宽度进行计数,获得计数值;
根据所述计数值和所述最高时钟得到所述起始位的传输时间。
3.根据权利要求1所述的方法,其特征在于,所述检测波特率的方法还包括:
在根据所述待验证波特率接收由所述发送设备发送的验证数据,并确认未正确接收所述验证数据时,则等待接收所述发送设备发送的起始位。
4.根据权利要求1所述的方法,其特征在于,在所述锁存所述待验证波特率作为自动检测的波特率之后,所述方法还包括:
关闭自动检测波特率使能。
5.根据权利要求1所述的方法,其特征在于,所述检测波特率的方法还包括:
在确认不需要检测波特率的情况下,关闭自动检测波特率使能,恢复正常的异步收发功能。
6.一种检测波特率的装置,其特征在于,包括:
获取模块,被配置为在确认波特率检测功能打开的情况下,获取发送设备发送的起始位;
计时模块,被配置为根据接收设备的工作时钟,获取所述起始位的传输时间;
运算模块,被配置为根据所述传输时间确定所述发送设备传输一比特数据的时长,获得待验证波特率;
比较模块,被配置为根据所述待验证波特率接收由所述发送设备发送的验证数据,并确认正确接收所述验证数据;
锁存模块,被配置为锁存所述待验证波特率作为自动检测的波特率;
其中,所述待验证波特率由公式(1)计算获得:
Baud=[(wcnt/M)+0.5]-a (1)
其中,Baud表示所述待验证波特率的控制字,wcnt表征起始位的传输时间,M表征所述接收设备的参数,a与当前设备规定的控制字与波特率之间的映射关系相关,[(wcnt/M)+0.5]表示对(wcnt/M)四舍五入取整,M为根据所述当前设备规定的控制字与波特率映射关系反推该公式内的参数,M和a由当前通信设备的定义相关,其中,所述当前设备为正在使用的主设备和从设备;
其中,公式(1)可以由公式(2)推导得到:
CLK/(Baud+1)*8(2)
CLK表示所述接收设备工作的最高时钟频率,Baud表示待验证波特率的控制字,8表示所述接收设备的参数;
其中,所有的接收设备中低电平的传输时间与所述待验证波特率都存在如公式(1)所示的映射关系,且不同型号的接受设备所对应公式(1)中的参数M和参数a的具体取值不同;
其中,所述所有的接收设备中包括第一型号接收设备,所述第一型号接收设备对应的参数M的取值为M=8,参数a的取值为a=1;
其中,在所述接收设备接收低电平起始位的过程中,读取所述接收设备工作的最高时钟,对起始位的低电平宽度进行计数,获得计数值;在获得计数值后,将计数值与最高时钟相乘,获得起始位的传输时间,即1bit数据传输的时间。
7.一种检测波特率的接收设备,其特征在于,包括:
波特率检测芯片,被配置为在确认波特率检测功能打开的情况下,获取发送设备发送的起始位;根据所述接收设备的工作时钟,获取所述起始位的传输时间;根据所述传输时间确定所述发送设备传输一比特数据的时长,获得待验证波特率;根据所述待验证波特率接收由所述发送设备发送的验证数据,并确认正确接收所述验证数据;锁存所述待验证波特率作为自动检测的波特率;
其中,其中,所述待验证波特率由公式(1)计算获得:
Baud=[(wcnt/M)+0.5]-a (1)
其中,Baud表示所述待验证波特率的控制字,wcnt表征起始位的传输时间,M表征所述接收设备的参数,a与当前设备规定的控制字与波特率之间的映射关系相关,[(wcnt/M)+0.5]表示对(wcnt/M)四舍五入取整,M为根据所述当前设备规定的控制字与波特率映射关系反推该公式内的参数,M和a由当前通信设备的定义相关,其中,所述当前设备为正在使用的主设备和从设备;
其中,公式(1)可以由公式(2)推导得到:
CLK/(Baud+1)*8(2)
CLK表示所述接收设备工作的最高时钟频率,Baud表示待验证波特率的控制字,8表示所述接收设备的参数;
其中,所有的接收设备中低电平的传输时间与所述待验证波特率都存在如公式(1)所示的映射关系,且不同型号的接受设备所对应公式(1)中的参数M和参数a的具体取值不同;
其中,所述所有的接收设备中包括第一型号接收设备,所述第一型号接收设备对应的参数M的取值为M=8,参数a的取值为a=1;
接收控制单元,根据所述自动检测的波特率,接收所述发送设备发送的信号;
其中,在所述接收设备接收低电平起始位的过程中,读取所述接收设备工作的最高时钟,对起始位的低电平宽度进行计数,获得计数值;在获得计数值后,将计数值与最高时钟相乘,获得起始位的传输时间,即1bit数据传输的时间。
8.根据权利要求7所述的接收设备,其特征在于,所述波特率检测芯片包括:
电平获取单元,被配置为在确认波特率检测功能打开的情况下,获取发送设备发送的起始位;
计时器,被配置为根据所述接收设备的工作时钟,获取所述起始位的传输时间;
运算单元,被配置为根据所述传输时间确定所述发送设备传输一比特数据的时长,获得待验证波特率;
比较器,被配置为根据所述待验证波特率接收由所述发送设备发送的验证数据,并确认正确接收所述验证数据;
锁存单元,被配置为锁存所述待验证波特率作为自动检测的波特率。
9.一种电子设备,其特征在于,包括:处理器、存储器和总线;
所述处理器通过所述总线与所述存储器相连,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,用于实现如权利要求1-5所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111274910.5A CN114006842B (zh) | 2021-10-29 | 2021-10-29 | 一种检测波特率的方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111274910.5A CN114006842B (zh) | 2021-10-29 | 2021-10-29 | 一种检测波特率的方法、装置、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114006842A CN114006842A (zh) | 2022-02-01 |
CN114006842B true CN114006842B (zh) | 2023-03-10 |
Family
ID=79925406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111274910.5A Active CN114006842B (zh) | 2021-10-29 | 2021-10-29 | 一种检测波特率的方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114006842B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114465844B (zh) * | 2022-03-12 | 2023-11-07 | 大连爱智控制系统有限公司 | 一种高可靠的波特率自适应系统及方法 |
CN115412469B (zh) * | 2022-11-01 | 2023-03-24 | 深圳市航顺芯片技术研发有限公司 | 容差检测方法、计算机设备及可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01305644A (ja) * | 1988-06-02 | 1989-12-08 | Fujitsu Ltd | データ転送速度自動認識方式 |
JP2011234128A (ja) * | 2010-04-27 | 2011-11-17 | Yazaki Corp | シリアル通信用ボーレート検出装置およびシリアル通信用ボーレート補正装置ならびにシリアル通信用ボーレート検出方法 |
CN103684678A (zh) * | 2012-11-01 | 2014-03-26 | 国网电力科学研究院 | 一种用于uart的波特率自适应方法、装置及uart |
JP2018152643A (ja) * | 2017-03-10 | 2018-09-27 | 三菱電機エンジニアリング株式会社 | 調歩同期式シリアルデータ通信装置のデータ受信回路 |
CN111258514A (zh) * | 2020-01-20 | 2020-06-09 | 东莞炜煌打印机有限公司 | 一种自适应波特率的方法、装置及打印机 |
CN111412580A (zh) * | 2020-03-30 | 2020-07-14 | 美的集团股份有限公司 | 波特率校准方法、空调器及计算机可读存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69702066T2 (de) * | 1997-11-13 | 2001-01-18 | Optimay Gmbh | Baudratendetektion bei serieller Datenübertragung |
KR100778876B1 (ko) * | 2001-08-01 | 2007-11-22 | 매그나칩 반도체 유한회사 | 자동 보드 레이트 검출 장치 및 검출 방법 |
CN103618588B (zh) * | 2013-11-26 | 2016-10-05 | 中国科学院嘉兴微电子与系统工程中心 | 一种自动波特率检测方法及检测模块 |
-
2021
- 2021-10-29 CN CN202111274910.5A patent/CN114006842B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01305644A (ja) * | 1988-06-02 | 1989-12-08 | Fujitsu Ltd | データ転送速度自動認識方式 |
JP2011234128A (ja) * | 2010-04-27 | 2011-11-17 | Yazaki Corp | シリアル通信用ボーレート検出装置およびシリアル通信用ボーレート補正装置ならびにシリアル通信用ボーレート検出方法 |
CN103684678A (zh) * | 2012-11-01 | 2014-03-26 | 国网电力科学研究院 | 一种用于uart的波特率自适应方法、装置及uart |
JP2018152643A (ja) * | 2017-03-10 | 2018-09-27 | 三菱電機エンジニアリング株式会社 | 調歩同期式シリアルデータ通信装置のデータ受信回路 |
CN111258514A (zh) * | 2020-01-20 | 2020-06-09 | 东莞炜煌打印机有限公司 | 一种自适应波特率的方法、装置及打印机 |
CN111412580A (zh) * | 2020-03-30 | 2020-07-14 | 美的集团股份有限公司 | 波特率校准方法、空调器及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114006842A (zh) | 2022-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114006842B (zh) | 一种检测波特率的方法、装置、设备和介质 | |
CN101010915B (zh) | 用于对总线系统上的数字信号进行非比特率依赖性编码的方法 | |
US6275526B1 (en) | Serial data communication between integrated circuits | |
CN109669899B (zh) | 自适应调节串口通信波特率的方法及串口装置 | |
CN112751738B (zh) | 波特率自适应方法、装置、计算机设备和可读存储介质 | |
CN102170347B (zh) | 同步信号检测装置 | |
JP6538715B2 (ja) | ハイブリッド仮想gpio | |
US20050188206A1 (en) | Battery authentication system | |
CN103684678A (zh) | 一种用于uart的波特率自适应方法、装置及uart | |
CN102713648A (zh) | 用于监控频率信号的方法和设备 | |
CN109495215B (zh) | 一种半双工总线的通信方法、系统、装置及可读存储介质 | |
CN103416035A (zh) | 具有can总线模块及自动速度检测的微控制器 | |
TWI408931B (zh) | 資料通訊裝置、及通訊控制方法、以及程式産品 | |
CN105340223A (zh) | 确定can总线连接单元的内部延迟时间的设备和测量方法 | |
JP5977152B2 (ja) | 通信装置 | |
CN111984582B (zh) | 一种pcie链路训练方法、设备以及介质 | |
CN115840725B (zh) | 具有自检功能的端对端通讯电路和芯片设备 | |
CN114006688A (zh) | 一种基于lin协议的波特率更新的方法、装置、设备和介质 | |
US20020114409A1 (en) | Serial data communication apparatus and detection method for communication error | |
CN210780844U (zh) | 自动波特率检测电路 | |
CN112822226B (zh) | 一种数据传输方法、装置、电子设备及机器可读存储介质 | |
EP4380113A1 (en) | Determining the load on a controller area network (can) bus | |
CN116915367B (zh) | 数据检测方法、存储介质和电子设备 | |
JP6927678B2 (ja) | 半導体装置、通信システムおよび初期化方法 | |
CN111903096B (zh) | 通信系统、接收装置、发送间隔变更方法及计算机程序 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |