CN112202528A - 通讯波特率校正方法、装置、电子设备及存储介质 - Google Patents

通讯波特率校正方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN112202528A
CN112202528A CN202010828194.XA CN202010828194A CN112202528A CN 112202528 A CN112202528 A CN 112202528A CN 202010828194 A CN202010828194 A CN 202010828194A CN 112202528 A CN112202528 A CN 112202528A
Authority
CN
China
Prior art keywords
baud rate
compensation factor
rate compensation
data
embedded product
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.)
Granted
Application number
CN202010828194.XA
Other languages
English (en)
Other versions
CN112202528B (zh
Inventor
胡伯良
安晓江
蒋红宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Haitai Fangyuan High Technology Co Ltd
Original Assignee
Beijing Haitai Fangyuan High Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Haitai Fangyuan High Technology Co Ltd filed Critical Beijing Haitai Fangyuan High Technology Co Ltd
Priority to CN202010828194.XA priority Critical patent/CN112202528B/zh
Publication of CN112202528A publication Critical patent/CN112202528A/zh
Application granted granted Critical
Publication of CN112202528B publication Critical patent/CN112202528B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0033Systems modifying transmission characteristics according to link quality, e.g. power backoff arrangements specific to the transmitter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Communication Control (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Dc Digital Transmission (AREA)

Abstract

本发明提供了一种通讯波特率校正方法、装置、电子设备及存储介质。所述方法,包括:根据嵌入式产品内部RC振荡器的标称频率,以及嵌入式产品与校正设备约定的初始波特率,获取第一参数,嵌入式产品通过串口与校正设备通讯;校正设备根据初始波特率,向嵌入式产品重复发送预设数据;嵌入式产品根据第一时钟数,采集串口的数据,第一时钟数根据第一参数以及波特率补偿因子确定得到;根据采集得到的数据的错误信息,调整波特率补偿因子,并获取嵌入式产品最终的目标波特率补偿因子,以在后续通讯过程中,嵌入式产品根据第二时钟数采集串口的数据,第二时钟数根据目标波特率补偿因子和第一参数确定得到。从而取得了提高串口通讯稳定性的有益效果。

Description

通讯波特率校正方法、装置、电子设备及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种通讯波特率校正方法、装置、电子设备及存储介质。
背景技术
在嵌入式系统中,一般由外接晶振(晶体振荡器)提供高精度的时钟,对此时钟进行适当的分频后作为串口通讯的基准时钟。为了降低产品的成本,在某些嵌入式系统中,不采用外部晶振,而是使用MCU(Microcontroller Unit,微控制单元)内部的RC振荡器作为系统的时钟,RC振荡器经过适当的分频后作为串口通讯的基准时钟。
但RC振荡器的精度一般较低,当串口通讯的波特率较高时,通讯容易出错,甚至无法通讯,从而影响串口通讯的可靠性和稳定性。
发明内容
本发明实施例提供一种通讯波特率校正方法、装置、电子设备及存储介质,以解决现有的采用RC振荡器的情况下,当串口通讯的波特率较高时,通讯容易出错,甚至无法通讯,从而影响串口通讯的可靠性和稳定性的问题。
为了解决上述技术问题,本发明是这样实现的:
第一方面,本发明实施例提供了一种通讯波特率校正方法,包括:
根据嵌入式产品内部RC振荡器的标称频率,以及所述嵌入式产品与校正设备约定的初始波特率,获取第一参数,所述第一参数为传输1比特所对应的时钟数,所述嵌入式产品通过串口与所述校正设备通讯;
所述校正设备根据所述初始波特率,向所述嵌入式产品重复发送预设数据;
所述嵌入式产品根据第一时钟数,采集所述串口的数据,所述第一时钟数根据所述第一参数以及波特率补偿因子确定得到,所述波特率补偿因子的初始值为预设数值;
根据采集得到的数据的错误信息,调整所述波特率补偿因子,并获取所述嵌入式产品最终的目标波特率补偿因子,以在后续通讯过程中,所述嵌入式产品根据第二时钟数采集串口的数据;所述错误信息包括所述数据是否出错,以及具体的错误类型,所述第二时钟数根据所述目标波特率补偿因子和所述第一参数确定得到。
可选地,所述串口的串口通讯参数依次包括起始位、数据位、校验位和停止位,且所述数据位中最后一位的值与所述校验位的值相同,所述错误类型包括校验位错、停止位错中的至少一种。
可选地,所述根据采集得到的数据的错误信息,调整所述波特率补偿因子,并获取所述嵌入式产品最终的目标波特率补偿因子的步骤,包括:
根据所述数据的错误信息,调整所述波特率补偿因子,并获取所述嵌入式产品的第一波特率补偿因子和第二波特率补偿因子;
根据所述第一波特率补偿因子和所述第二波特率补偿因子,获取所述目标波特率补偿因子;
所述第一波特率补偿因子为所述错误信息由未出错到出现校验位错的过程中,首次出现校验位错时的波特率补偿因子,或者是所述错误信息由出现校验位错到未出错的过程中,错误信息为未出错之前的最近一次出现校验位错时的波特率补偿因子;所述第二波特率补偿因子为所述错误信息由未出错到出现停止位错的过程中,首次出现停止位错时的波特率补偿因子,或者是所述错误信息由出现停止位错到未出错的过程中,错误信息为未出错之前的最近一次出现停止位错时的波特率补偿因子。
可选地,所述根据所述数据的错误信息,调整所述波特率补偿因子,并获取所述嵌入式产品的第一波特率补偿因子和第二波特率补偿因子的步骤,包括:
若所述数据出现校验位错,调低所述波特率补偿因子,直至所述数据未出错,执行步骤S3;
步骤S2,若所述数据出现停止位错,调高所述波特率补偿因子,直至所述数据未出错,执行步骤S3;
步骤S3,若所述数据未出现任何错误,分别通过调高所述波特率补偿因子,获取所述第一波特率补偿因子,通过调低所述波特率补偿因子,获取所述第二波特率补偿因子;
其中,所述波特率补偿因子每次的调整幅度为所述第一参数的预设比例。
可选地,所述停止位为1,所述校验位为0,在所述校验位为偶校验位的情况下,所述预设数据为00;在所述校验位为奇校验位的情况下,所述预设数据为10。
可选地,在所述根据采集得到的数据的错误信息,调整所述波特率补偿因子,并获取所述嵌入式产品最终的目标波特率补偿因子的步骤之后,还包括:
所述嵌入式产品基于所述第二时钟数,通过所述串口发送预设字符至所述调试设备;
所述调试设备收到所述预设字符,结束针对所述嵌入式产品的波特率调整流程。
可选地,所述目标波特率补偿因子记录于所述嵌入式产品的闪存中。
第二方面,本发明实施例提供了一种通讯波特率校正装置,包括:
参数获取模块,用于根据嵌入式产品内部RC振荡器的标称频率,以及所述嵌入式产品与校正设备约定的初始波特率,获取第一参数,所述第一参数为传输1比特所对应的时钟数,所述嵌入式产品通过串口与所述校正设备通讯;
数据发送模块,用于所述校正设备根据所述初始波特率,向所述嵌入式产品重复发送预设数据;
数据采集模块,用于所述嵌入式产品根据第一时钟数,采集所述串口的数据,所述第一时钟数根据所述第一参数以及波特率补偿因子确定得到,所述波特率补偿因子的初始值为预设数值;
波特率调整模块,用于根据采集得到的数据的错误信息,调整所述波特率补偿因子,并获取所述嵌入式产品最终的目标波特率补偿因子,以在后续通讯过程中,所述嵌入式产品根据第二时钟数采集串口的数据;所述错误信息包括所述数据是否出错,以及具体的错误类型,所述第二时钟数根据所述目标波特率补偿因子和所述第一参数确定得到。
可选地,所述串口的串口通讯参数依次包括起始位、数据位、校验位和停止位,且所述数据位中最后一位的值与所述校验位的值相同,所述错误类型包括校验位错、停止位错中的至少一种。
可选地,所述波特率调整模块,包括:
波特率调整子模块,用于根据所述数据的错误信息,调整所述波特率补偿因子,并获取所述嵌入式产品的第一波特率补偿因子和第二波特率补偿因子;
目标波特率获取子模块,用于根据所述第一波特率补偿因子和所述第二波特率补偿因子,获取所述目标波特率补偿因子;
所述第一波特率补偿因子为所述错误信息由未出错到出现校验位错的过程中,首次出现校验位错时的波特率补偿因子,或者是所述错误信息由出现校验位错到未出错的过程中,错误信息为未出错之前的最近一次出现校验位错时的波特率补偿因子;所述第二波特率补偿因子为所述错误信息由未出错到出现停止位错的过程中,首次出现停止位错时的波特率补偿因子,或者是所述错误信息由出现停止位错到未出错的过程中,错误信息为未出错之前的最近一次出现停止位错时的波特率补偿因子。
可选地,所述波特率调整子模块,具体用于执行以下步骤:
步骤S1,若所述数据出现校验位错,调低所述波特率补偿因子,直至所述数据未出错,执行步骤S3;
步骤S2,若所述数据出现停止位错,调高所述波特率补偿因子,直至所述数据未出错,执行步骤S3;
步骤S3,若所述数据未出现任何错误,分别通过调高所述波特率补偿因子,获取所述第一波特率补偿因子,通过调低所述波特率补偿因子,获取所述第二波特率补偿因子;
其中,所述波特率补偿因子每次的调整幅度为所述第一参数的预设比例。
可选地,所述停止位为1,所述校验位为0,在所述校验位为偶校验位的情况下,所述预设数据为00;在所述校验位为奇校验位的情况下,所述预设数据为10。
可选地,所述装置,还包括:
停止字符发送模块,用于所述嵌入式产品基于所述第二时钟数,通过所述串口发送预设字符至所述调试设备;
校正流程停止模块,用于所述调试设备收到所述预设字符,结束针对所述嵌入式产品的波特率调整流程。
可选地,所述目标波特率补偿因子记录于所述嵌入式产品的闪存中。
第三方面,本发明实施例另外提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如第一方面所述的通讯波特率校正方法的步骤。
第四方面,本发明实施例另外提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的通讯波特率校正方法的步骤。
在本发明实施例中,通过校正设备根据初始波特率,向嵌入式产品重复发送预设数据,同时嵌入式产品采集所述串口的数据,并且根据嵌入式产品实时采集得到的数据的错误信息,对波特率补偿因子进行调整,以获取嵌入式产品的目标波特率调整因子,后续串口通讯采样数据时,加入目标波特率调整因子,可以大幅度提高串口通讯的稳定性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中的一种通讯波特率校正方法的步骤流程图;
图2是本发明实施例中的另一种通讯波特率校正方法的步骤流程图;
图3是本发明实施例中的一种通讯波特率校正装置的结构示意图;
图4是本发明实施例中的另一种通讯波特率校正装置的结构示意图;
图5是本发明实施例中的一种电子设备的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照图1,示出了本发明实施例中一种通讯波特率校正方法的步骤流程图。
步骤110,根据嵌入式产品内部RC振荡器的标称频率,以及所述嵌入式产品与校正设备约定的初始波特率,获取第一参数,所述第一参数为传输1比特所对应的时钟数,所述嵌入式产品通过串口与所述校正设备通讯。
对于采用内部RC振荡器的嵌入式产品,在其投入使用前,为了避免上述的RC振荡器的精度较低,导致通讯容易出错,甚至无法通讯,从而影响串口通讯的可靠性和稳定性的问题,可以使用较高精度的调试设备(例如计算机),通过串口通讯的方式对嵌入式产品的通讯波特率进行校正。
具体地,可以先根据嵌入式产品内部RC振荡器的标称频率,以及所述嵌入式产品与校正设备约定的初始波特率,获取第一参数。其中,所述第一参数为传输1bit(比特)所对应的时钟数,第一参数与标称频率和初始波特率之间的对应关系可以根据需求进行自定义设置,例如可以设置第一参数n=fosc/baudrate,其中fosc为标称频率,baudrate为初始波特率。而且,所述嵌入式产品通过串口与所述校正设备通讯的标称频率,也称为主频或者是时钟频率,单位是MHz,用来表示CPU的运算速度。
步骤120,所述校正设备根据所述初始波特率,向所述嵌入式产品重复发送预设数据。
步骤130,所述嵌入式产品根据第一时钟数,采集所述串口的数据,所述第一时钟数根据所述第一参数以及波特率补偿因子确定得到,所述波特率补偿因子的初始值为预设数值;
为了对嵌入式产品的通讯波特率进行校正,并且实时获知嵌入式产品的校正状态,则需要获取相应嵌入式产品当前与校正设备进行通讯的实际情况,具体地在校正过程中,校正设备可以根据初始波特率,向相应的嵌入式产品重复发送预设数据。相应地,嵌入式产品可以根据第一时钟数,采集所述串口的数据,也即按照第一时钟数,获取校正设备通过串口通讯发送过来的数据,此时串口的数据可以包括上述由嵌入式产品重复发送的预设数据。但是由于嵌入式产品中RC振荡器的实际频率可能会偏离标称频率,从而影响采样速度的准确性,也即相对于校正设备发送的数据,会使得嵌入式产品采集得到的数据出现错误。
其中,预设数据的具体内容可以根据需求进行自定义设置,对此本发明实施例不加以限定,但所选的预设数据应该使校验位的理论值为0,例如,假设串口通讯参数的校验位为偶校验,则预设数据可以为00,等等;而如果串口通讯参数的校验位为奇校验,则预设数据可以为10,等等。第一时钟数可以根据所述第一参数以及波特率补偿因子确定得到,波特率补偿因子的初始值可以根据需求进行自定义设置,而且在校正过程中,可以对波特率补偿因子的取值进行调整,对此本发明实施例不加以限定。例如,可以设置预设数值为0,等等。而且,第一时钟数与第一参数以及波特率补偿因子之间的关系可以根据需求进行自定义设置,对此本发明实施例不加以限定。例如,可以设置第一时钟数为第一参数与波特率补偿因子的和值,等等。
步骤140,根据采集得到的数据的错误信息,调整所述波特率补偿因子,并获取所述嵌入式产品最终的目标波特率补偿因子,以在后续通讯过程中,所述嵌入式产品根据第二时钟数采集串口的数据;所述错误信息包括所述数据是否出错,以及具体的错误类型,所述第二时钟数根据所述目标波特率补偿因子和所述第一参数确定得到。
由于嵌入式产品中RC振荡器的实际频率可能会偏离标称频率,从而影响采样速度的准确性,也即相对于校正设备发送的数据,会使得嵌入式产品采集得到的数据出现错误。而且,在实际应用中,RC振荡器的实际频率可能会偏高于标称频率,也可能偏低于标称频率,而且实际频率高于或者低于标称频率的情况下,可以使得嵌入式产品采集得到的数据产生不同类型的错误。例如,在RC振荡器的实际频率偏高于标称频率的情况下,嵌入式产品的采样速度则会太快,从到导致嵌入式产品采集得到的数据出现停止位错;在RC振荡器的实际频率偏低于标称频率的情况下,嵌入式产品的采样速度则会太慢,从到导致嵌入式产品采集得到的数据出现校验位错,等等。
而且,在实际应用中,获取嵌入式产品采集得到的数据的错误信息,相对于获取嵌入式产品中RC振荡器的实际频率更加容易。因此,在本发明实施例中,可以根据嵌入式产品采集当前采集得到的数据的错误信息,获知其中RC振荡器当前的的实际频率与其标称频率之间的关系,从而调整当前的波特率补偿因子,直至得到嵌入式产品最终合适的目标波特率补偿因子。
具体地,在本发明实施例中,可以根据采集得到的数据的错误信息,调整所述波特率补偿因子,并获取所述嵌入式产品最终的目标波特率补偿因子,以在后续通讯过程中,所述嵌入式产品根据所述第二时钟数采集串口的数据;所述错误信息包括所述数据是否出错,以及具体的错误类型,所述第二时钟数根据所述目标波特率补偿因子和所述第一参数确定得到。
其中,不同错误信息对应的波特率补偿因子的调整方式可以根据需求进行自定义设置,对此本发明实施例不加以限定。例如,如前述,如果当前的错误信息为当前采集的数据出错,且错误类型为校验位错,说明RC振荡器的实际频率小于标称频率,导致采样速度太慢,此时则可以降低波特率补偿因子,以提高RC振荡器的实际频率;而如果当前的错误信息为当前采集的数据出错,且错误类型为停止位错,说明RC振荡器的实际频率大于标称频率,采样速度太快,此时可以提高波特率补偿因子,以降低RC振荡器的实际频率;而若当前的错误信息为没有任何错误,则说明RC振荡器当前的实际频率等于标称频率,此时则无需调整波特率补偿因子;等等。
另外,目标波特率补偿因子的确定方式也可以根据需求进行自定义设置,例如,可以设置目标波特率补偿因子为错误信息为没有任何错误时的波特率补偿因子;或者是设置目标波特率补偿因子为错误信息从没有错误到首次出现停止位错时的波特率补偿因子,与错误信息从没有错误到首次出现校验位错时的波特率补偿因子的平均值;等等。
在本发明实施例中,由于校正设备可以向所述嵌入式产品重复发送预设数据,因此嵌入式产品可以持续性地采集得到校正设备通过串口发送的数据,进而可以持续性地根据采集得到的数据的错误信息,调整所述波特率补偿因子,以得到用于确定目标波特率补偿因子的各个参数,最终确定目标波特率补偿因子。
以在后续通讯过程中,为了避免出现错误,嵌入式产品可以根据第二时钟数采集串口的数据;所述错误信息包括所述数据是否出错,以及具体的错误类型,所述第二时钟数根据所述目标波特率补偿因子和所述第一参数确定得到。其中,第二时钟数与目标波特率补偿因子和所述第一参数之间的关系可以根据需求进行自定义设置,对此本发明实施例不加以限定。例如,第二时钟数可以为目标波特率补偿因子和所述第一参数的和值,等等。
可选地,在本发明实施例中,所述串口的串口通讯参数依次包括起始位、数据位、校验位和停止位,且所述数据位中最后一位的值与所述校验位的值相同,所述错误类型包括校验位错、停止位错中的至少一种。
具体地,串口通讯参数可以包括至少一个起始位,至少一个校验位和至少一个停止位,而且校验位可以为偶校验位、奇校验位等任意一种校验位,对此本发明实施例不加以限定。而且,一般而言,其中校验位的数量可以为1位,也即1位校验位,数据位的数量可以为8位,也即8个数据位,当然起始位、数据位、校验位和停止位的具体数量也可以根据需求进行自定义设置,对此本发明实施例不加以限定。假设数据位为8位,那么在预设数据为00的情况下,表征为数据位可以为00000000,在预设数据为10的情况下,表征为数据位可以为00010000,等等。
其次,在实际应用中,如果数据位中的最后一位的值与校验位不同,那么在采集数据时,如果采样速度太快,可能会在采样校验位(0)时采到了其前面的数据位,出现校验位错;而且,如果采样速度太慢,可能会在采样校验位(0)时采到了后面的停止位(1),也出现校验位错。由此可见,出现校验位错的原因可能为采样速度太快,也可能为采样速度太慢,从而使得在调整波特率补偿因子的过程中,在出现校验位错的情况下,很难准确且快速获知当前出现校验位错的原因是采样速度太快,还是采样速度太慢,从而影响波特率补偿因子在调整过程中的准确性和调整效率。
因此,在本发明实施例中,为了避免上述问题,优选地,可以设置数据位中最后一位的值与所述校验位的值相同,例如在校验位为0(即低电平)的情况下,设置数据位中最后一位也为0(即低电平),等等。或者,在特殊需求的情况下如果设置校验位为1(即高电平),那么相应地可以设置数据位中最后一位也为1(即高电平),对此本发明实施例不加以限定。
需要说明的是,在本发明实施例中,校正设备可以为任意一种可以与嵌入式产品进行通讯,以对嵌入式产品的通讯波特率进行校正的电子设备,例如计算机、智能终端等等,对此本发明实施例不加以限定。
参照图2,在本发明实施例中,所述步骤140进一步可以包括:
步骤141,根据所述数据的错误信息,调整所述波特率补偿因子,并获取所述嵌入式产品的第一波特率补偿因子和第二波特率补偿因子;
步骤142,根据所述第一波特率补偿因子和所述第二波特率补偿因子,获取所述目标波特率补偿因子;所述第一波特率补偿因子为所述错误信息由未出错到出现校验位错的过程中,首次出现校验位错时的波特率补偿因子,或者是所述错误信息由出现校验位错到未出错的过程中,错误信息为未出错之前的最近一次出现校验位错时的波特率补偿因子;所述第二波特率补偿因子为所述错误信息由未出错到出现停止位错的过程中,首次出现停止位错时的波特率补偿因子,或者是所述错误信息由出现停止位错到未出错的过程中,错误信息为未出错之前的最近一次出现停止位错时的波特率补偿因子。
在实际应用中,使得嵌入式产品采集的数据不出现数据异常的实际频率可能为一个取值范围,那么为了从中确定最佳的实际频率,也即确定合适的目标波特率补偿因子,则可以分别确定用以确定目标波特率补偿因子的第一波特率补偿因子和第二波特率补偿因子。其中,目标波特率补偿因子与第一波特率补偿因子和第二波特率补偿因子之间的对应关系可以根据需求进行自定义设置,对此本发明实施例不加以限定。
而且,如果嵌入式产品的实际频率高于标称频率,也即嵌入式产品采集得到的数据出现停止位错,则需要调高波特率补偿因子,直至采集的数据不出现错误,而如果继续调高波特率补偿因子,则可能会使得实际频率小于标称频率,从而出现校验位错;相应地,如果嵌入式产品的实际频率低于标称频率,也即嵌入式产品采集得到的数据出现校验位错,则需要调低波特率补偿因子,直至采集的数据不出现错误,而如果继续调低波特率补偿因子,则可能会使得实际频率高于标称频率,从而出现停止位错。
因此,在本发明实施例中,可以设置所述第一波特率补偿因子为所述错误信息由未出错到出现校验位错的过程中(也即在未出错的情况下逐渐调高波特率补偿因子的过程中),首次出现校验位错时的波特率补偿因子,或者是所述错误信息由出现校验位错到未出错的过程中(也即在出现校验位错的情况下逐渐调低波特率补偿因子的过程中),错误信息为未出错之前的最近一次出现校验位错时的波特率补偿因子;所述第二波特率补偿因子为所述错误信息由未出错到出现停止位错的过程中(也即在未出错的情况下逐渐调低波特率补偿因子的过程中),首次出现停止位错时的波特率补偿因子,或者是所述错误信息由出现停止位错到未出错的过程中(也即在出现停止位错的情况下逐渐调高波特率补偿因子的过程中),错误信息为未出错之前的最近一次出现停止位错时的波特率补偿因子。其中,每次对波特率补偿因子进行调整时的调整幅度可以根据需求进行自定义设置,对此本发明实施例不加以限定,例如可以设置每次调整时的调整幅度为第一参数的预设比例,等等。
例如,嵌入式产品按时钟数n+c采集串口的数据,若出现校验位错,说明RC振荡器的实际频率小于标称频率,采样速度太慢,例如使得在采样校验位(0)时采到了其后面的停止位(1);若出现停止位错,说明RC振荡器的实际频率大于标称频率,采样速度太快,例如使得采样停止位(1)时采到了其前面的校验位(0),当然理论上出现停止位错的原因也可能是采样太慢,采到了下一个字节的起始位(0),甚至是数据位(00),但如果是这样的话,前面采样校验位就先出错了,也即会先出现校验位错,从而避免采样太慢的情况下实际出现停止位错;若没有任何错误,说明RC振荡器的实际频率等于标称频率;其中n表示第一参数,c表示波特率补偿因子。那么则可以执行以下步骤以获取第一波特率补偿因子c1和第二波特率补偿因子c2:
步骤1、嵌入式产品按时钟数n+c采集串口的数据;
步骤2、若当前的实际频率小于标称频率,也即当前采集数据出现校验位错,则将波特率补偿因子调整为:c=c-0.01n,执行步骤1,直到采集的数据未出错的情况,则可以执行步骤4,另外此时也可以记录未出错之前最近一次出现校验位错时的波特率补偿因子作为c1,或者也可以记录从出现校验位错首次转换至未出错时的波特率补偿因子作为c1,那么此时在执行步骤4时,则可以仅需执行步骤4.2,以获取c2;
步骤3、若当前的实际频率大于标称频率,也即当前采集数据出现停止位错,则将波特率补偿因子调整为:c=c+0.01n,执行步骤1,直到采集的数据未出错的情况,则可以执行步骤4,另外此时也可以记录未出错之前最近一次出现停止位错时的波特率补偿因子作为c2,或者也可以记录从出现停止位错首次转换至未出错时的波特率补偿因子作为c2,那么此时在执行步骤4时,则可以仅需执行步骤4.1,以获取c1;
步骤4、若当前的实际频率等于标称频率,也即当前采集数据未出错,则可以分别执行以下步骤:
步骤4.1、设c=c+0.01n,执行步骤1,直到出现校验位错的情况,记录当前的c为c1;
步骤4.2、设c=c-0.01n,重复步骤1,直到出现停止位错的情况,记录当前的c为c2。
其中,在执行上述步骤2和步骤3时并未获取c1、c2的情况下,则可以在执行步骤4的过程中通过步骤4.1和步骤4.2分别获取c1和c2。
可选地,在本发明实施例中,所述步骤141进一步可以包括:
步骤S1,若所述数据出现校验位错,调低所述波特率补偿因子,直至所述数据未出错,执行步骤S3;
步骤S2,若所述数据出现停止位错,调高所述波特率补偿因子,直至所述数据未出错,执行步骤S3;
步骤S3,若所述数据未出现任何错误,分别通过调高所述波特率补偿因子,获取所述第一波特率补偿因子,通过调低所述波特率补偿因子,获取所述第二波特率补偿因子;
其中,所述波特率补偿因子每次的调整幅度为所述第一参数的预设比例。预设比例的具体取值可以根据需求进行自定义设置,例如可以设置预设比例为上述的0.01,等等。
其中,在执行上述的步骤S1-S3时,嵌入式产品始终可以采集串口的数据,并且以最新采集得到的数据执行上述步骤S1-S3。
如果获取得到c1和c2,则可以根据c1和c2,获取嵌入式产品最终的目标波特率补偿因子。例如,如果目标波特率补偿因子为第一波特率补偿因子和第二波特率补偿因子的平均值,那么则可以取目标波特率补偿因子为(c1+c2)/2。
参照图2,在本发明实施例中,所述方法进一步还可以包括:
步骤150,所述嵌入式产品基于所述第二时钟数,通过所述串口发送预设字符至所述调试设备;
步骤160,所述调试设备收到所述预设字符,结束针对所述嵌入式产品的波特率调整流程。
另外,在获取得到嵌入式产品的目标波特率补偿因子之后,也即该嵌入式产品的通讯波特率校正完毕,那么则可以控制校正设备停止向嵌入式产品重复发送用于进行校正的预设数据,以避免资源浪费。因此嵌入式产品则可以通知校正设备,以结束针对该嵌入式产品的波特率调整流程。
具体地,所述嵌入式产品可以基于所述第二时钟数,通过所述串口发送预设字符至所述调试设备;相应地,所述调试设备收到所述预设字符,则可以结束针对所述嵌入式产品的波特率调整流程。其中,预设字符可以根据需求进行自定义设置,对此本发明实施例不加以限定。例如,可以设置预设字符为“OK”,等等。
可选地,所述停止位为1,所述校验位为0,在所述校验位为偶校验位的情况下,所述预设数据为00;在所述校验位为奇校验位的情况下,所述预设数据为10。
如上述,在实际应用中,起始位一般为0,停止位一般为1,那么为了在采集数据时准确检测错误类型是停止位错还是校验位错,可以设置校验位不同于停止位,也即应该设置校验位为0,也即所选的预设数据应该使校验位的理论值为0,例如,假设串口通讯参数的校验位为偶校验,则发送数据00时,校验位为0,因此在本发明实施例中,在串口通讯参数中的校验位为偶校验位的情况下,所发送的预设数据可以为00,而在串口通讯参数中的校验位为奇校验位的情况下,所发送的预设数据可以为10。
可选地,在本发明实施例中,所述目标波特率补偿因子记录于所述嵌入式产品的闪存中。
在实际应用中,在嵌入式产品校正完成之后,为了方便在后续使用过程中,可以校正后的目标波特率补偿因子进行通讯,则可以将校正后得到的目标波特率补偿因子存储至相应的嵌入式产品中,例如其中的ROM(Read-Only Memory,只读存储器)、RAM(RandomAccess Memory,随机存取存储器)等存储空间中。而且为了避免目标波特率补偿因子在嵌入式产品掉电等情况下丢失,则可以将目标波特率补偿因子记录于所述嵌入式产品的闪存(Flash)中。
本发明实施例提出了一种通讯波特率校正方法,以对在嵌入式产品的通讯波特率进行校正,具体地通过校正设备根据初始波特率,向嵌入式产品重复发送预设数据,同时嵌入式产品采集所述串口的数据,并且根据嵌入式产品实时采集得到的数据的错误信息,对波特率补偿因子进行调整,以获取嵌入式产品的目标波特率调整因子,并将它保存到嵌入式产品的FLASH中,后续串口通讯采样数据时,加入目标波特率调整因子,可以大幅度提高串口通讯的稳定性。
参照图3,示出了本发明实施例中一种通讯波特率校正装置的结构示意图。
本发明实施例的通讯波特率校正装置包括:参数获取模块210、数据发送模块220、数据采集模块230和波特率调整模块240。
下面分别详细介绍各模块的功能以及各模块之间的交互关系。
参数获取模块210,用于根据嵌入式产品内部RC振荡器的标称频率,以及所述嵌入式产品与校正设备约定的初始波特率,获取第一参数,所述第一参数为传输1比特所对应的时钟数,所述嵌入式产品通过串口与所述校正设备通讯;
数据发送模块220,用于所述校正设备根据所述初始波特率,向所述嵌入式产品重复发送预设数据;
数据采集模块230,用于所述嵌入式产品根据第一时钟数,采集所述串口的数据,所述第一时钟数根据所述第一参数以及波特率补偿因子确定得到,所述波特率补偿因子的初始值为预设数值;
波特率调整模块240,用于根据采集得到的数据的错误信息,调整所述波特率补偿因子,并获取所述嵌入式产品最终的目标波特率补偿因子,以在后续通讯过程中,所述嵌入式产品根据第二时钟数采集串口的数据;所述错误信息包括所述数据是否出错,以及具体的错误类型,所述第二时钟数根据所述目标波特率补偿因子和所述第一参数确定得到。
参照图4,在本发明实施例中,所述所述串口的串口通讯参数依次包括起始位、数据位、校验位和停止位,且所述数据位中最后一位的值与所述校验位的值相同,所述错误类型包括校验位错、停止位错中的至少一种。
所述所述波特率调整模块240,进一步可以包括:
波特率调整子模块241,用于根据所述数据的错误信息,调整所述波特率补偿因子,并获取所述嵌入式产品的第一波特率补偿因子和第二波特率补偿因子;
目标波特率获取子模块242,用于根据所述第一波特率补偿因子和所述第二波特率补偿因子,获取所述目标波特率补偿因子;所述第一波特率补偿因子为所述错误信息由未出错到出现校验位错的过程中,首次出现校验位错时的波特率补偿因子,或者是所述错误信息由出现校验位错到未出错的过程中,错误信息为未出错之前的最近一次出现校验位错时的波特率补偿因子;所述第二波特率补偿因子为所述错误信息由未出错到出现停止位错的过程中,首次出现停止位错时的波特率补偿因子,或者是所述错误信息由出现停止位错到未出错的过程中,错误信息为未出错之前的最近一次出现停止位错时的波特率补偿因子。
可选地,在本发明实施例中,所述波特率调整子模块241,具体用于执行以下步骤:
步骤S1,若所述数据出现校验位错,调低所述波特率补偿因子,直至所述数据未出错,执行步骤S3;
步骤S2,若所述数据出现停止位错,调高所述波特率补偿因子,直至所述数据未出错,执行步骤S3;
步骤S3,若所述数据未出现任何错误,分别通过调高所述波特率补偿因子,获取所述第一波特率补偿因子,通过调低所述波特率补偿因子,获取所述第二波特率补偿因子;
其中,所述波特率补偿因子每次的调整幅度为所述第一参数的预设比例。
参照图4,在本发明实施例中,所述装置进一步还可以包括:
停止字符发送模块250,用于所述嵌入式产品基于所述第二时钟数,通过所述串口发送预设字符至所述调试设备;
校正流程停止模块260,用于所述调试设备收到所述预设字符,结束针对所述嵌入式产品的波特率调整流程。
可选地,在本发明实施例中,所述目标波特率补偿因子记录于所述嵌入式产品的闪存中,所述停止位为1,所述校验位为0,在所述校验位为偶校验位的情况下,所述预设数据为00;在所述校验位为奇校验位的情况下,所述预设数据为10。
本发明实施例提供的通讯波特率校正装置能够实现图1至图2的方法实施例中实现的各个过程,为避免重复,这里不再赘述。
优选的,本发明实施例还提供了一种电子设备,包括:处理器,存储器,存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述通讯波特率校正方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述通讯波特率校正方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random AccessMemory,简称RAM)、磁碟或者光盘等。
图5为实现本发明各个实施例的一种电子设备的硬件结构示意图。
该电子设备500包括但不限于:射频单元501、网络模块502、音频输出单元503、输入单元504、传感器505、显示单元506、用户输入单元507、接口单元508、存储器509、处理器510、以及电源511等部件。本领域技术人员可以理解,图5中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,电子设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
应理解的是,本发明实施例中,射频单元501可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器510处理;另外,将上行的数据发送给基站。通常,射频单元501包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元501还可以通过无线通信系统与网络和其他设备通信。
电子设备通过网络模块502为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
音频输出单元503可以将射频单元501或网络模块502接收的或者在存储器509中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元503还可以提供与电子设备500执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元503包括扬声器、蜂鸣器以及受话器等。
输入单元504用于接收音频或视频信号。输入单元504可以包括图形处理器(Graphics Processing Unit,GPU)5041和麦克风5042,图形处理器5041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元506上。经图形处理器5041处理后的图像帧可以存储在存储器509(或其它存储介质)中或者经由射频单元501或网络模块502进行发送。麦克风5042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元501发送到移动通信基站的格式输出。
电子设备500还包括至少一种传感器505,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板5061的亮度,接近传感器可在电子设备500移动到耳边时,关闭显示面板5061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别电子设备姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器505还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
显示单元506用于显示由用户输入的信息或提供给用户的信息。显示单元506可包括显示面板5061,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板5061。
用户输入单元507可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元507包括触控面板5071以及其他输入设备5072。触控面板5071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板5071上或在触控面板5071附近的操作)。触控面板5071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器510,接收处理器510发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板5071。除了触控面板5071,用户输入单元507还可以包括其他输入设备5072。具体地,其他输入设备5072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
进一步的,触控面板5071可覆盖在显示面板5061上,当触控面板5071检测到在其上或附近的触摸操作后,传送给处理器510以确定触摸事件的类型,随后处理器510根据触摸事件的类型在显示面板5061上提供相应的视觉输出。虽然在图5中,触控面板5071与显示面板5061是作为两个独立的部件来实现电子设备的输入和输出功能,但是在某些实施例中,可以将触控面板5071与显示面板5061集成而实现电子设备的输入和输出功能,具体此处不做限定。
接口单元508为外部装置与电子设备500连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元508可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到电子设备500内的一个或多个元件或者可以用于在电子设备500和外部装置之间传输数据。
存储器509可用于存储软件程序以及各种数据。存储器509可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器509可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器510是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器509内的软件程序和/或模块,以及调用存储在存储器509内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。处理器510可包括一个或多个处理单元;优选的,处理器510可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器510中。
电子设备500还可以包括给各个部件供电的电源511(比如电池),优选的,电源511可以通过电源管理系统与处理器510逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
另外,电子设备500包括一些未示出的功能模块,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
本领域普通技术人员可以意识到,结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
本申请还公开了A1、一种通讯波特率校正方法,包括:
根据嵌入式产品内部RC振荡器的标称频率,以及所述嵌入式产品与校正设备约定的初始波特率,获取第一参数,所述第一参数为传输1比特所对应的时钟数,所述嵌入式产品通过串口与所述校正设备通讯;
所述校正设备根据所述初始波特率,向所述嵌入式产品重复发送预设数据;
所述嵌入式产品根据第一时钟数,采集所述串口的数据,所述第一时钟数根据所述第一参数以及波特率补偿因子确定得到,所述波特率补偿因子的初始值为预设数值;
根据采集得到的数据的错误信息,调整所述波特率补偿因子,并获取所述嵌入式产品最终的目标波特率补偿因子,以在后续通讯过程中,所述嵌入式产品根据第二时钟数采集串口的数据;所述错误信息包括所述数据是否出错,以及具体的错误类型,所述第二时钟数根据所述目标波特率补偿因子和所述第一参数确定得到。
A2、如A1所述的方法,所述串口的串口通讯参数依次包括起始位、数据位、校验位和停止位,且所述数据位中最后一位的值与所述校验位的值相同,所述错误类型包括校验位错、停止位错中的至少一种。
A3、如A2所述的方法,所述根据采集得到的数据的错误信息,调整所述波特率补偿因子,并获取所述嵌入式产品最终的目标波特率补偿因子的步骤,包括:
根据所述数据的错误信息,调整所述波特率补偿因子,并获取所述嵌入式产品的第一波特率补偿因子和第二波特率补偿因子;
根据所述第一波特率补偿因子和所述第二波特率补偿因子,获取所述目标波特率补偿因子;
所述第一波特率补偿因子为所述错误信息由未出错到出现校验位错的过程中,首次出现校验位错时的波特率补偿因子,或者是所述错误信息由出现校验位错到未出错的过程中,错误信息为未出错之前的最近一次出现校验位错时的波特率补偿因子;所述第二波特率补偿因子为所述错误信息由未出错到出现停止位错的过程中,首次出现停止位错时的波特率补偿因子,或者是所述错误信息由出现停止位错到未出错的过程中,错误信息为未出错之前的最近一次出现停止位错时的波特率补偿因子。
A4、如A3所述的方法,所述根据所述数据的错误信息,调整所述波特率补偿因子,并获取所述嵌入式产品的第一波特率补偿因子和第二波特率补偿因子的步骤,包括:
若所述数据出现校验位错,调低所述波特率补偿因子,直至所述数据未出错,执行步骤S3;
步骤S2,若所述数据出现停止位错,调高所述波特率补偿因子,直至所述数据未出错,执行步骤S3;
步骤S3,若所述数据未出现任何错误,分别通过调高所述波特率补偿因子,获取所述第一波特率补偿因子,通过调低所述波特率补偿因子,获取所述第二波特率补偿因子;
其中,所述波特率补偿因子每次的调整幅度为所述第一参数的预设比例。
A5、如A2-A4中任一项所述的方法,所述停止位为1,所述校验位为0,在所述校验位为偶校验位的情况下,所述预设数据为00;在所述校验位为奇校验位的情况下,所述预设数据为10。
A6、如A1-A4中任一项所述的方法,在所述根据采集得到的数据的错误信息,调整所述波特率补偿因子,并获取所述嵌入式产品最终的目标波特率补偿因子的步骤之后,还包括:
所述嵌入式产品基于所述第二时钟数,通过所述串口发送预设字符至所述调试设备;
所述调试设备收到所述预设字符,结束针对所述嵌入式产品的波特率调整流程。
A7、如A1-A4中任一项所述的方法,所述目标波特率补偿因子记录于所述嵌入式产品的闪存中。
本申请还公开了B8、一种通讯波特率校正装置,包括:
参数获取模块,用于根据嵌入式产品内部RC振荡器的标称频率,以及所述嵌入式产品与校正设备约定的初始波特率,获取第一参数,所述第一参数为传输1比特所对应的时钟数,所述嵌入式产品通过串口与所述校正设备通讯;
数据发送模块,用于所述校正设备根据所述初始波特率,向所述嵌入式产品重复发送预设数据;
数据采集模块,用于所述嵌入式产品根据第一时钟数,采集所述串口的数据,所述第一时钟数根据所述第一参数以及波特率补偿因子确定得到,所述波特率补偿因子的初始值为预设数值;
波特率调整模块,用于根据采集得到的数据的错误信息,调整所述波特率补偿因子,并获取所述嵌入式产品最终的目标波特率补偿因子,以在后续通讯过程中,所述嵌入式产品根据第二时钟数采集串口的数据;所述错误信息包括所述数据是否出错,以及具体的错误类型,所述第二时钟数根据所述目标波特率补偿因子和所述第一参数确定得到。
B9、如B8所述的装置,所述串口的串口通讯参数依次包括起始位、数据位、校验位和停止位,且所述数据位中最后一位的值与所述校验位的值相同,所述错误类型包括校验位错、停止位错中的至少一种。
B10、如B9所述的装置,所述波特率调整模块,包括:
波特率调整子模块,用于根据所述数据的错误信息,调整所述波特率补偿因子,并获取所述嵌入式产品的第一波特率补偿因子和第二波特率补偿因子;
目标波特率获取子模块,用于根据所述第一波特率补偿因子和所述第二波特率补偿因子,获取所述目标波特率补偿因子;
所述第一波特率补偿因子为所述错误信息由未出错到出现校验位错的过程中,首次出现校验位错时的波特率补偿因子,或者是所述错误信息由出现校验位错到未出错的过程中,错误信息为未出错之前的最近一次出现校验位错时的波特率补偿因子;所述第二波特率补偿因子为所述错误信息由未出错到出现停止位错的过程中,首次出现停止位错时的波特率补偿因子,或者是所述错误信息由出现停止位错到未出错的过程中,错误信息为未出错之前的最近一次出现停止位错时的波特率补偿因子。
B11、如B10所述的装置,所述波特率调整子模块,具体用于执行以下步骤:
步骤S1,若所述数据出现校验位错,调低所述波特率补偿因子,直至所述数据未出错,执行步骤S3;
步骤S2,若所述数据出现停止位错,调高所述波特率补偿因子,直至所述数据未出错,执行步骤S3;
步骤S3,若所述数据未出现任何错误,分别通过调高所述波特率补偿因子,获取所述第一波特率补偿因子,通过调低所述波特率补偿因子,获取所述第二波特率补偿因子;
其中,所述波特率补偿因子每次的调整幅度为所述第一参数的预设比例。
B12、如B9-B11中任一项所述的装置,所述停止位为1,所述校验位为0,在所述校验位为偶校验位的情况下,所述预设数据为00;在所述校验位为奇校验位的情况下,所述预设数据为10。
B13、如B8-B11中任一项所述的装置,所述装置,还包括:
停止字符发送模块,用于所述嵌入式产品基于所述第二时钟数,通过所述串口发送预设字符至所述调试设备;
校正流程停止模块,用于所述调试设备收到所述预设字符,结束针对所述嵌入式产品的波特率调整流程。
B14、如B8-B11中任一项所述的装置,所述目标波特率补偿因子记录于所述嵌入式产品的闪存中。
本申请还公开了C15、一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如A1至A7中任一项所述的通讯波特率校正方法的步骤。
本申请还公开了D16、一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如A1至A7中任一项所述的通讯波特率校正方法的步骤。

Claims (10)

1.一种通讯波特率校正方法,其特征在于,包括:
根据嵌入式产品内部RC振荡器的标称频率,以及所述嵌入式产品与校正设备约定的初始波特率,获取第一参数,所述第一参数为传输1比特所对应的时钟数,所述嵌入式产品通过串口与所述校正设备通讯;
所述校正设备根据所述初始波特率,向所述嵌入式产品重复发送预设数据;
所述嵌入式产品根据第一时钟数,采集所述串口的数据,所述第一时钟数根据所述第一参数以及波特率补偿因子确定得到,所述波特率补偿因子的初始值为预设数值;
根据采集得到的数据的错误信息,调整所述波特率补偿因子,并获取所述嵌入式产品最终的目标波特率补偿因子,以在后续通讯过程中,所述嵌入式产品根据第二时钟数采集串口的数据;所述错误信息包括所述数据是否出错,以及具体的错误类型,所述第二时钟数根据所述目标波特率补偿因子和所述第一参数确定得到。
2.根据权利要求1所述的方法,其特征在于,所述串口的串口通讯参数依次包括起始位、数据位、校验位和停止位,且所述数据位中最后一位的值与所述校验位的值相同,所述错误类型包括校验位错、停止位错中的至少一种。
3.根据权利要求2所述的方法,其特征在于,所述根据采集得到的数据的错误信息,调整所述波特率补偿因子,并获取所述嵌入式产品最终的目标波特率补偿因子的步骤,包括:
根据所述数据的错误信息,调整所述波特率补偿因子,并获取所述嵌入式产品的第一波特率补偿因子和第二波特率补偿因子;
根据所述第一波特率补偿因子和所述第二波特率补偿因子,获取所述目标波特率补偿因子;
所述第一波特率补偿因子为所述错误信息由未出错到出现校验位错的过程中,首次出现校验位错时的波特率补偿因子,或者是所述错误信息由出现校验位错到未出错的过程中,错误信息为未出错之前的最近一次出现校验位错时的波特率补偿因子;所述第二波特率补偿因子为所述错误信息由未出错到出现停止位错的过程中,首次出现停止位错时的波特率补偿因子,或者是所述错误信息由出现停止位错到未出错的过程中,错误信息为未出错之前的最近一次出现停止位错时的波特率补偿因子。
4.根据权利要求3所述的方法,其特征在于,所述根据所述数据的错误信息,调整所述波特率补偿因子,并获取所述嵌入式产品的第一波特率补偿因子和第二波特率补偿因子的步骤,包括:
S1,若所述数据出现校验位错,调低所述波特率补偿因子,直至所述数据未出错,执行S3;
S2,若所述数据出现停止位错,调高所述波特率补偿因子,直至所述数据未出错,执行S3;
S3,若所述数据未出现任何错误,分别通过调高所述波特率补偿因子,获取所述第一波特率补偿因子,通过调低所述波特率补偿因子,获取所述第二波特率补偿因子;
其中,所述波特率补偿因子每次的调整幅度为所述第一参数的预设比例。
5.根据权利要求2-4中任一项所述的方法,其特征在于,所述停止位为1,所述校验位为0,在所述校验位为偶校验位的情况下,所述预设数据为00;在所述校验位为奇校验位的情况下,所述预设数据为10。
6.根据权利要求1-4中任一项所述的方法,其特征在于,在所述根据采集得到的数据的错误信息,调整所述波特率补偿因子,并获取所述嵌入式产品最终的目标波特率补偿因子的步骤之后,还包括:
所述嵌入式产品基于所述第二时钟数,通过所述串口发送预设字符至所述调试设备;
所述调试设备收到所述预设字符,结束针对所述嵌入式产品的波特率调整流程。
7.根据权利要求1-4中任一项所述的方法,其特征在于,所述目标波特率补偿因子记录于所述嵌入式产品的闪存中。
8.一种通讯波特率校正装置,其特征在于,包括:
参数获取模块,用于根据嵌入式产品内部RC振荡器的标称频率,以及所述嵌入式产品与校正设备约定的初始波特率,获取第一参数,所述第一参数为传输1比特所对应的时钟数,所述嵌入式产品通过串口与所述校正设备通讯;
数据发送模块,用于所述校正设备根据所述初始波特率,向所述嵌入式产品重复发送预设数据;
数据采集模块,用于所述嵌入式产品根据第一时钟数,采集所述串口的数据,所述第一时钟数根据所述第一参数以及波特率补偿因子确定得到,所述波特率补偿因子的初始值为预设数值;
波特率调整模块,用于根据采集得到的数据的错误信息,调整所述波特率补偿因子,并获取所述嵌入式产品最终的目标波特率补偿因子,以在后续通讯过程中,所述嵌入式产品根据第二时钟数采集串口的数据;所述错误信息包括所述数据是否出错,以及具体的错误类型,所述第二时钟数根据所述目标波特率补偿因子和所述第一参数确定得到。
9.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的通讯波特率校正方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的通讯波特率校正方法的步骤。
CN202010828194.XA 2020-08-17 2020-08-17 通讯波特率校正方法、装置、电子设备及存储介质 Active CN112202528B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010828194.XA CN112202528B (zh) 2020-08-17 2020-08-17 通讯波特率校正方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010828194.XA CN112202528B (zh) 2020-08-17 2020-08-17 通讯波特率校正方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN112202528A true CN112202528A (zh) 2021-01-08
CN112202528B CN112202528B (zh) 2021-06-29

Family

ID=74006538

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010828194.XA Active CN112202528B (zh) 2020-08-17 2020-08-17 通讯波特率校正方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN112202528B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113757932A (zh) * 2021-08-27 2021-12-07 Tcl空调器(中山)有限公司 空调通讯故障处理方法、装置、计算机设备及存储介质
CN115776365A (zh) * 2021-09-07 2023-03-10 合肥移瑞通信技术有限公司 串口波特率的校正方法及系统、通信模块及存储介质

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1570899A (zh) * 2004-04-25 2005-01-26 赵红刚 电脑与串口外接模块自动匹配通信的方法
CN103138677A (zh) * 2011-11-29 2013-06-05 江苏林洋电子股份有限公司 一种波特率校准方法、装置及系统
CN104113391A (zh) * 2014-07-10 2014-10-22 佛山市顺德区美的电热电器制造有限公司 波特率调整装置和方法以及烹饪器具
CN104360974A (zh) * 2014-10-29 2015-02-18 上海伽利略导航有限公司 一种异步串口uart自动波特率调整方法及装置
CN104679098A (zh) * 2013-11-29 2015-06-03 上海华虹集成电路有限责任公司 微控制器时钟频率自动校准电路
CN105049151A (zh) * 2015-07-03 2015-11-11 福州瑞芯微电子股份有限公司 一种用于串口通信控制的方法和通信串口
CN206133354U (zh) * 2016-07-12 2017-04-26 中南大学 一种易于实现的SOC内置高精度RC Oscillator的校准系统
CN107566088A (zh) * 2017-09-07 2018-01-09 维沃移动通信有限公司 一种波特率的调整方法及充电适配器
CN109302181A (zh) * 2017-07-24 2019-02-01 恩智浦有限公司 振荡器校准系统
CN109324209A (zh) * 2017-08-01 2019-02-12 青岛海尔洗衣机有限公司 用于检测干衣机滚筒是否转动的方法和装置
CN109687867A (zh) * 2018-11-30 2019-04-26 珠海慧联科技有限公司 一种无晶振usb设备时钟校准方法及校准电路
US20190149156A1 (en) * 2017-11-14 2019-05-16 Beijing Sigma Microelectronics Co., Ltd Method and Device for Calibrating RC Oscillator, Storage Medium and Processor
CN110581814A (zh) * 2019-09-06 2019-12-17 惠州志顺电子实业有限公司 通信设备波特率调节方法及通信设备
CN110908940A (zh) * 2019-10-14 2020-03-24 百富计算机技术(深圳)有限公司 串口通讯参数调整的方法及终端设备

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1570899A (zh) * 2004-04-25 2005-01-26 赵红刚 电脑与串口外接模块自动匹配通信的方法
CN103138677A (zh) * 2011-11-29 2013-06-05 江苏林洋电子股份有限公司 一种波特率校准方法、装置及系统
CN104679098A (zh) * 2013-11-29 2015-06-03 上海华虹集成电路有限责任公司 微控制器时钟频率自动校准电路
CN104113391A (zh) * 2014-07-10 2014-10-22 佛山市顺德区美的电热电器制造有限公司 波特率调整装置和方法以及烹饪器具
CN104360974A (zh) * 2014-10-29 2015-02-18 上海伽利略导航有限公司 一种异步串口uart自动波特率调整方法及装置
CN105049151A (zh) * 2015-07-03 2015-11-11 福州瑞芯微电子股份有限公司 一种用于串口通信控制的方法和通信串口
CN206133354U (zh) * 2016-07-12 2017-04-26 中南大学 一种易于实现的SOC内置高精度RC Oscillator的校准系统
CN109302181A (zh) * 2017-07-24 2019-02-01 恩智浦有限公司 振荡器校准系统
CN109324209A (zh) * 2017-08-01 2019-02-12 青岛海尔洗衣机有限公司 用于检测干衣机滚筒是否转动的方法和装置
CN107566088A (zh) * 2017-09-07 2018-01-09 维沃移动通信有限公司 一种波特率的调整方法及充电适配器
US20190149156A1 (en) * 2017-11-14 2019-05-16 Beijing Sigma Microelectronics Co., Ltd Method and Device for Calibrating RC Oscillator, Storage Medium and Processor
CN109687867A (zh) * 2018-11-30 2019-04-26 珠海慧联科技有限公司 一种无晶振usb设备时钟校准方法及校准电路
CN110581814A (zh) * 2019-09-06 2019-12-17 惠州志顺电子实业有限公司 通信设备波特率调节方法及通信设备
CN110908940A (zh) * 2019-10-14 2020-03-24 百富计算机技术(深圳)有限公司 串口通讯参数调整的方法及终端设备

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113757932A (zh) * 2021-08-27 2021-12-07 Tcl空调器(中山)有限公司 空调通讯故障处理方法、装置、计算机设备及存储介质
CN113757932B (zh) * 2021-08-27 2022-12-13 Tcl空调器(中山)有限公司 空调通讯故障处理方法、装置、计算机设备及存储介质
CN115776365A (zh) * 2021-09-07 2023-03-10 合肥移瑞通信技术有限公司 串口波特率的校正方法及系统、通信模块及存储介质

Also Published As

Publication number Publication date
CN112202528B (zh) 2021-06-29

Similar Documents

Publication Publication Date Title
CN108153422B (zh) 一种显示对象控制方法和移动终端
CN108600546B (zh) 一种环境光检测方法及移动终端
CN108846663B (zh) 一种二维码调整方法、装置及移动终端
CN108600668B (zh) 一种录屏帧率调整方法及移动终端
CN110704328B (zh) 接口测试方法、装置、电子设备及可读存储介质
CN108362304B (zh) 一种数据处理方法及移动终端
EP3740016A1 (en) Transmission method, mobile terminal, and network device
CN107977113B (zh) 一种控制方法及移动终端
US20210091845A1 (en) Beam state detection method and terminal
CN111049510B (zh) 触控按键、控制方法及电子设备
CN112202528B (zh) 通讯波特率校正方法、装置、电子设备及存储介质
CN109995862B (zh) 一种资源调度方法及终端
CN110933494A (zh) 一种画面共享方法及电子设备
CN110456923B (zh) 一种姿态传感数据处理方法及电子设备
CN111240567B (zh) 一种显示屏的角度调整方法及电子设备
CN112118188A (zh) 一种流量限速方法、装置、电子设备及存储介质
CN108521417B (zh) 一种通信处理方法及移动终端
CN109858447B (zh) 一种信息处理方法及终端
US20220110036A1 (en) Random access method and terminal
CN108388400B (zh) 一种操作处理方法及移动终端
CN111107636A (zh) 信道状态信息测量方法、终端及计算机存储介质
CN109889568B (zh) 一种数据导出方法、服务器及系统
CN110113490B (zh) 一种信息处理方法、终端及计算机可读存储介质
CN110210197B (zh) 屏幕灵敏度调整方法及移动终端
CN110489037B (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