Uart模块、uart模块传输参数的调节方法和系统级芯片

文档序号:1309996 发布日期:2020-07-10 浏览:22次 >En<

阅读说明:本技术 Uart模块、uart模块传输参数的调节方法和系统级芯片 (UART module, UART module transmission parameter adjusting method and system-on-chip ) 是由 胡小龙 彭小卫 于 2019-01-03 设计创作,主要内容包括:本发明提出一种UART模块、UART模块传输参数的调节方法和系统级芯片,其中UART模块与第一终端通信连接,方法包括:发送步骤:UART模块采用当前传输参数向第一终端发送原始数据,以使第一终端在接收到原始数据后将原始数据作为返回数据返回给UART模块;接收步骤:UART模块接收返回数据;判断步骤:判断返回数据与原始数据是否一致;调节步骤:当返回数据与原始数据不一致时,从尚未被选取过的备选传输参数中选取一个备选传输参数作为UART模块的当前传输参数。从而解决了UART模块的通信故障问题。(The invention provides a UART module, a method for adjusting transmission parameters of the UART module and a system-level chip, wherein the UART module is in communication connection with a first terminal, and the method comprises the following steps: a sending step: the UART module sends original data to the first terminal by adopting the current transmission parameters, so that the first terminal returns the original data serving as return data to the UART module after receiving the original data; a receiving step: the UART module receives return data; a judging step: judging whether the returned data is consistent with the original data; and (3) adjusting: and when the returned data is inconsistent with the original data, selecting one alternative transmission parameter from the alternative transmission parameters which are not selected yet as the current transmission parameter of the UART module. Therefore, the problem of communication fault of the UART module is solved.)

UART模块、UART模块传输参数的调节方法和系统级芯片

技术领域

本发明涉及数据传输领域,特别涉及一种UART模块、UART模块传输参数的调节方法和系统级芯片。

背景技术

通用异步收发传输器(Universal Asynchronous Receiver/Transmitter,UART),通常称作UART,是一种异步收发传输器,通常是电脑硬件的一部分。它将要传输的资料在串行通信与并行通信之间加以转换。作为把并行输入信号转成串行输出信号的芯片,UART通常被集成于其他通信接口的连结上。

UART模块,由于设计简单,使用方便,对对接设备要求简单,一般用于芯片打印信息的接口。在现有技术中,需要作为发送方的UART模块的波特率、奇偶校验等传输参数与接收端的设置参数一致才可以正常通信,经常出现通信故障无法通信。

因此,解决UART模块的通信故障,是现有技术中亟待解决的问题。

发明内容

本发明提供了一种UART模块、UART模块传输参数的调节方法和系统级芯片,以解决UART模块的通信故障。

为了解决上述问题,作为本发明的一个方面,提供了一种UART模块传输参数的调节方法,UART模块与第一终端通信连接,包括:

发送步骤:UART模块采用当前传输参数向第一终端发送原始数据,以使第一终端在接收到原始数据后将原始数据作为返回数据返回给UART模块;

接收步骤:UART模块接收返回数据;

判断步骤:判断返回数据与原始数据是否一致;

调节步骤:当返回数据与原始数据不一致时,从尚未被选取过的备选传输参数中选取一个备选传输参数作为UART模块的当前传输参数。

可选的,传输参数包括:波特率、数据位、停止位、奇偶校验位中的一个或多个。

可选的,在发送步骤之前还包括:

预存步骤:统计各个传输参数的使用频率;获取使用频率最高的多个传输参数作为备选传输参数。

可选的,预存步骤还包括:

为备选传输参数设置对应的优先级;

其中,备选传输参数的优先级与使用频率正相关。

可选的,调节步骤包括:当返回数据与原始数据不一致时,从尚未被选取过的备选传输参数中选取一个优先级最高的备选传输参数作为UART模块的当前传输参数。

可选的,原始数据包括第一原始数据和第二原始数据;

发送步骤包括:UART模块向第一终端循环发送第一原始数据和第二原始数据。

可选的,还包括:存储步骤:当返回数据与原始数据相一致时,获取第一终端的型号和/或终端参数,设置并保存当前传输参数与型号和/或终端参数的对应关系。

本申请还提出了一种UART模块,UART模块与第一终端通信连接,包括:

发送单元,用于采用当前传输参数向第一终端发送原始数据,以使第一终端在接收到原始数据后将原始数据作为返回数据返回给UART模块;

接收单元,用于接收返回数据;

判断单元,用于判断返回数据与原始数据是否一致;

调节单元,用于当返回数据与原始数据不一致时,从尚未被选取过的备选传输参数中选取一个备选传输参数作为UART模块的当前传输参数。

可选的,传输参数包括:波特率、数据位、停止位、奇偶校验位中的一个或多个。

可选的,还包括:

预存单元,用于统计各个传输参数的使用频率;获取使用频率最高的多个传输参数作为备选传输参数。

可选的,预存单元还用于:

为备选传输参数设置对应的优先级;

其中,备选传输参数的优先级与使用频率正相关。

可选的,调节单元用于:当返回数据与原始数据不一致时,从尚未被选取过的备选传输参数中选取一个优先级最高的备选传输参数作为UART模块的当前传输参数

可选的,原始数据包括第一原始数据和第二原始数据;

发送单元,用于向第一终端循环发送第一原始数据和第二原始数据;

可选的,还包括:存储单元,用于当返回数据与原始数据相一致时,获取第一终端的型号和/或终端参数,设置并保存当前传输参数与型号和/或终端参数的对应关系。

本申请还提出一种系统级芯片,其特征在于,包括处理器、存储器以及存储在存储器上可在处理器上运行的程序,处理器执行程序时实现本申请提出的任一方法的步骤。

本申请还提出一种系统级芯片,其特征在于,包括本申请提出的任一的UART模块。

本发明提出了一种UART模块、UART模块传输参数的调节方法和系统级芯片,在当前传输参数与第一终端无法正常通信时,从备选传输参数作为当前传输参数,从而解决UART模块通信故障的问题。

附图说明

图1为本发明实施例中一种UART模块传输参数的调节方法;

图2为本发明实施例中一种UART模块与第一终端的示意图;

图3为本发明实施例中一种UART模块的结构示意图;

图4为本发明实施例中另一种UART模块传输参数的调节方法。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明具体实施例及相应的附图对本发明技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

在现有技术中,当采用UART模块与例如电脑端进行通信连接时,需要将具有UART模块的芯片的传输参数调节至与相连的设备的传输参数相一致,才能进行正常传输,否则会产生乱码等通信错误。通常由用户手动一个参数一个参数进行调节,导致调节效率低,费时费力。

本申请提出一种UART模块传输参数的调节方法,以快速的确定UART模块的传输参数,节省调节器传输参数的时间。在本申请中UART模块与第一终端通信连接,具体例如可以是具有UART模块的芯片通过UART模块与电脑通信连接。如图1所示,本申请提出的方法,包括:S11:发送步骤、S12:接收步骤、S13:判断步骤和S14:调节步骤。

发送步骤包括:控制UART模块采用当前传输参数向第一终端发送原始数据,以使第一终端在接收到原始数据后将原始数据作为返回数据返回给UART模块;

接收步骤包括:控制UART模块接收返回数据;

判断步骤包括:判断返回数据与原始数据是否一致;

调节步骤包括:当返回数据与原始数据不一致时,从尚未被选取过的备选传输参数中选取一个备选传输参数作为UART模块的当前传输参数。

具体的,UART模块用于异步通信,可实现全双工传输和接收,UART模块在发送步骤所采用的当前传输参数在未被设置或更改的情况下可以是上一次与外部设备进行通信时所采用的传输参数,也可以是UART模块预存的默认传输参数,或者任一用户设置的传输参数。此处的原始数据可以是任意数据,其可以预先存储在UART模块中,例如可以在UART模块中增加1个或2个32位的寄存器,专门用于存储原始数据,原始数据可以专门用于通信测试以确定与第一终端匹配的传输参数。UART模块可以设置在一系统级芯片上,该系统级芯片将原始数据发送给第一终端,第一终端再将其作为返回数据进行返回。如果第一终端的设置参数和有UART模块的传输参数不相匹配,则第一终端接收到的原始数据会有乱码,第一终端将原始数据作为返回数据返回后,UART模块接收的返回数据中也会有乱码,这样返回数据与原始数据就将不一致,说明UART模块的传输参数与第一终端的设置参数不匹配,此时需要调节UART的传输参数,以保证UART模块能够与第一终端正常通信,此时从备选传输参数中选取一个备选传输参数,做为当前传输参数,并重复发送步骤、接收步骤和调节步骤,再次判断返回数据与原始数据是否相一致,如果仍然不一致,则从尚未别选取的备选传输参数中选取另一个备选传输参数作为当前传输参数,重复发送步骤、接收步骤和调节步骤,直到返回数据与原始数据相一致,则不再改变当前传输参数,此时当前传输参数与第一终端的设置参数相匹配,尚未被选取的备选传输参数是指尚未在调节步骤中被选取为当前传输参数的备选传输参数,本申请解决了现有技术中UART模块的通信故障问题。

在本申请中,传输参数包括:波特率、数据位、停止位、奇偶校验位中的一个或多个。UART模块采用异步串口通信协议,工作过程是将待传输数据的每个字符一位接一位地传输。起始位是先发出的一个逻辑”0”的信号,表示传输字符的开始。资料位是紧接着起始位之后的数据。资料位的个数可以是4、5、6、7、8等,构成一个字符,通常采用ASCII码。从最低位开始传送,靠时钟定位。奇偶校验位是资料位加上的一位,其用于使得“1”的位数应为偶数或奇数,以此来校验资料传送的正确性。停止位是一个字符数据的结束标志。可以是1位、1.5位、2位的高电平。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。

在本申请提出的调节方法中,在发送步骤之前还包括:

预存步骤:统计各个传输参数的使用频率;获取使用频率最高的多个传输参数作为备选传输参数。

具体的,此处可以是预先通过大数据获取各个传输参数的使用频率,优选地是获取与第一终端的型号相匹配的各个传输参数的使用频率,即先按照第一终端的型号获取备选传输参数,然后统计备选传输参数的使用频率,可选的,所述预存步骤还包括:为所述备选传输参数设置对应的优先级;其中,所述备选传输参数的优先级与所述使用频率正相关。备选传输参数的优先级与使用频率正相关,即备选传输参数的使用频率越高,且对应的优先级越高。

可选的调节步骤包括:当所述返回数据与所述原始数据不一致时,从尚未被选取过的备选传输参数中选取一个优先级最高的备选传输参数作为所述UART模块的当前传输参数。

具体的,此时从备选传输参数中选取一个优先级最高的备选传输参数,做为当前传输参数,并重复发送步骤、接收步骤和调节步骤,再次判断返回数据与原始数据是否相一致,如果仍然不一致,则从尚未别选取的备选传输参数中选取一个优先级最高的备选传输参数作为当前传输参数,重复发送步骤、接收步骤和调节步骤,直到返回数据与原始数据相一致,则不再改变当前传输参数,此时当前传输参数与第一终端的设置参数相匹配,尚未被选取的备选传输参数是指尚未在调节步骤中被选取为当前传输参数的备选传输参数,与现有技术相比,本实施例的特点在于预先为各个备选传输参数设置了优先级,当需要调节调节UART模块的传输参数时,按照优先级依次选用备选传输参数作为UART模块的当前传输参数,优先级可以是依照各个传输参数的使用频率确定的,即优先级高的备选传输参数是使用概率最高的传输参数,因此,可以节省用户调节传输参数的时间。

可选的,在本申请提出的的调节方法中,原始数据包括第一原始数据和第二原始数据;发送步骤包括:控制UART模块向第一终端循环发送第一原始数据和第二原始数据;具体的,采用第一原始数据和第二原始数据循环发送是因为:UART模块原本是全双工工作的,如果只选用第一原始数据发送给第一终端,则需要等待第一终端返回,在第一终端传输返回数据的过程中UART模块只能等待,无法发送数据,造成时间上的浪费,如果UART模块连续发送相同的第一原始数据,每次发送第一原始数据时采用的传输参数不同,因为传输和接收必然是存在时间延迟的,也可能出现短暂的通讯中断造成数据丢失,当接收到的返回数据与第一原始数据相同时,难以确定接收到的返回数据对应的传输参数,容易造成混乱。因此本申请中采用第一原始数据和第二原始数据循环传输的方式,假设中间某个数据丢失,则根据接收到的返回数据的类型可以确定丢失的数据是第一原始数据还是第二原始数据,例如:第一原始数据data1、第二原始数据为data2,UART模块发送依次发送data1、data2、data1、data2、data1、data2,而接收到的是data1、data2、data1、data1、data2,因为UART模块采用先进先出队列操作规则,因此可以确定丢失了第二次传输的data2,就能够确认丢失的data2对应的传输参数,如果始终发送data1那么当丢失了一个data1后,难以确认丢失的是哪一个data1以及对应的传输参数。

可选的,本申请提出的调节方法,还包括:存储步骤:当返回数据与原始数据相一致时,获取第一终端的型号和/或终端参数,设置并保存当前传输参数与型号和/或终端参数的对应关系。本申请中每次调节了传输参数后,就为传输参数设置并保存对应的终端的型号和/或终端参数,这样一来,随着调节次数的增加,就可以得知各个终端对应的传输,在以后检测到相同的终端型号和/或终端参数时,就可以无需调节,直接选用对应的运行参数,以节省时间。

如图2所示,本申请还提出一种UART模块,UART模块与第一终端通信连接,包括:

发送单元10,用于采用当前传输参数向第一终端发送原始数据,以使第一终端在接收到原始数据后将原始数据作为返回数据返回给UART模块;

接收单元20,用于接收返回数据;

判断单元30,用于判断返回数据与原始数据是否一致;

调节单元40,用于当返回数据与原始数据不一致时,从尚未被选取过的备选传输参数中选取一个备选传输参数作为UART模块的当前传输参数。在本实施例中,若果UART模块无法正常通信,则用备选传输参数替代当前传输参数,直到UART模块能够正常通信,从而解决了现有技术中UART模块的通信故障问题。

可选的,传输参数包括:波特率、数据位、停止位、奇偶校验位中的一个或多个。

可选的,本申请提出的UART模块,还包括:预存单元50,用于统计各个传输参数的使用频率;获取使用频率最高的多个传输参数作为备选传输参数。优选地,是获取与第一终端的型号相匹配的各个传输参数的使用频率,即先按照第一终端的型号获取备选传输参数,然后统计备选传输参数的使用频率。因为备选传输参数是使用频率最高的传输参数,因此可以节省调节时间。可选的,所述预存单元还用于:为所述备选传输参数设置对应的优先级;其中,所述备选传输参数的优先级与所述使用频率正相关。

可选的,调节单元用于:当返回数据与原始数据不一致时,从尚未被选取过的备选传输参数中选取一个优先级最高的备选传输参数作为UART模块的当前传输参数。

与现有技术相比,本实施例的特点在于预先为各个备选传输参数设置了优先级,当需要调节调节UART模块的传输参数时,按照优先级依次选用备选传输参数作为UART模块的当前传输参数,优先级可以是依照各个传输参数的使用频率确定的,即优先级高的备选传输参数是使用概率最高的传输参数,因此,可以节省用户调节传输参数的时间。

可选的,原始数据包括第一原始数据和第二原始数据;发送单元10,用于向第一终端循环发送第一原始数据和第二原始数据。

可选的,本申请提出的UART模块,还包括:存储单元60,用于当返回数据与原始数据相一致时,获取第一终端的型号和/或终端参数,设置并保存当前传输参数与型号和/或终端参数的对应关系。本申请中调节单元每次调节了传输参数后,存储单元60就为传输参数设置并保存对应的终端的型号和/或终端参数,这样一来,随着调节次数的增加,就可以得知各个终端对应的传输,在以后检测到相同的终端型号和/或终端参数时,就可以无需调节,直接选用对应的运行参数,以节省时间。可以用键值对的形式保存上述对应关系,键值对的键为传输参数、键值对的值为对应的型号和/或终端参数。

为了更好的说明本申请的有益效果,以下提出一优选实施例。

图3为UART模块与第一终端的示意图,图4为图3中的UART模块调节传输参数时的工作流程图。

本实施例的UART模块与现有技术中的UART模块相比,在发送单元中增加了2个32位的数据寄存器,用于存放原始数据,增加了判断单元。

本实施例中的UART模块的寄存器可以通过总线进行配置。本实施例中UART模块为系统级芯片的一部分,系统级芯片通过UART模块连接第一终端,并在第一终端上打开串口调试程序。并将串口程序设置成回环模式。在调节传输参数时按照如下过程进行:

发送步骤:往两个数据寄存器写入两个原始数据DATA0、DATA1,往寄存器UART_BAUD,配置自动波特率匹配模式,原始数据DATA0、DATA1会通过发送模块从TX通道(传输通道)先后发出来

接收步骤:检测RX通道(接收通道)的数据(当RX通道检测到下降沿时,表明有数据),用当前波特率的配置去采样RX信号。将接收到的前两笔数据存储在接收端数据寄存器,这两笔数据为:RCV_DATA0、RCV_DATA1。

判断步骤:将发送的数据与接收数据进行比较,如果DATA0=RCV_DATA0,DATA1=RCV_DATA1,则判断正确,并将当前的波特率配置作为运行时波特率配置,如果不等,则进入调节步骤。

调节步骤:检测失败后(即DATA0不等于RCV_DATA0或DATA1不等于RCV_DATA1,),硬件会自动将之前存储的另一个波特率(备选传输参数)配置装载到相应的波特率寄存器UART_BAUD位置,并重复发送步骤、接收步骤和判断步骤。

本申请中,备选传输参数可以优选存储多个,其中按照优先级从高到低排序的前十个备选传输参数如下:

1)波特率115200,奇偶检验NONE,数据位8,停止位1;

2)波特率115200,奇偶校验NONE,数据位8,停止位2;

3)波特率9600,奇偶检验NONE,数据位8,停止位1;

4)波特率9600,奇偶校验NONE,数据位8,停止位2;

5)波特率19200,奇偶检验NONE,数据位8,停止位1;

6)波特率19200,奇偶校验NONE,数据位8,停止位2;

7)波特率38400,奇偶检验NONE,数据位8,停止位1;

8)波特率38400,奇偶校验NONE,数据位8,停止位2;

9)波特率57600,奇偶检验NONE,数据位8,停止位1;

10)波特率57600,奇偶校验NONE,数据位8,停止位2。

上述10个备选传输参数是实际工程上使用频率最高,应用范围最广的传输参数,先按照上述备选传输参数调节UART模块,可以尽可能的节省调节时间。

本申请还提出一种系统级芯片,包括处理器、存储器以及存储在存储器上可在处理器上运行的程序,处理器执行程序时实现本申请提出的任一方法的步骤。本申请还提出一种系统级芯片,包括本申请提出的任一的UART模块。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种OCP转接卡及计算机设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!