一种异步串口uart自动波特率调整方法及装置制造方法

文档序号:6632148阅读:239来源:国知局
一种异步串口uart自动波特率调整方法及装置制造方法
【专利摘要】本发明公开了一种异步串口UART自动波特率调整方法及装置,包括:上位机向中央处理器CPU发送具有特定帧格式的预设字符;所述CPU上电复位,接收所述预设字符,启动测量模块依据异步串口UART的工作时钟对所述预设字符的脉宽进行计数,使配置模块依据计数值配置相应的串口波特率,得到调整后的波特率,并向所述上位机反馈确认字符;所述上位机接收所述确认字符在验证正确后确定完成UART自动波特率调整,实现在原有芯片上进行UART自动波特率调整,不需要增加额外的芯片引脚,节省开销的目的。
【专利说明】—种异步串口…卩了自动波特率调整方法及装置

【技术领域】
[0001]本发明涉及波特率调整的【技术领域】,特别是涉及一种异步串口以奶自动波特率调整方法及装置。

【背景技术】
[0002]^87110^0110118',异步串口)常用来传输数据、调试数据,执行搬移程序13001以奶的接口为非源同步接口,没有时钟信号,因此口八尺I的传输波特率需要通信双方约定一致。
[0003]0?11 (06111:1-81 ?1~006881118 11=11:,中央处理器)的晶振频率的初始化配置需要在13001:启动的过程中实现,但是由于13001:通常是固化在001(0621(1 01117.0017,只读内存),相应的801也称作1300丨801,因此,该固化后的1300丨不便于对不同的频率设备配置不同的波特率设置程序。
[0004]目前,可以通过设置专门芯片引脚指示外部晶振频率,1300^读取该专门芯片引脚的参数并据此配置相应波特率。但是这种方式需要增加额外的芯片引脚,增加额外的开销。


【发明内容】

[0005]本发明的目的是提供一种异步串口以奶自动波特率调整方法及装置,以实现在原有芯片上进行以奶自动波特率调整,不需要增加额外的芯片引脚,节省开销的目的。
[0006]为解决上述技术问题,本发明提供以下技术方案。
[0007]一种异步串口 V八尺7自动波特率调整方法,包括:
[0008]上位机向中央处理器0^发送具有特定帧格式的预设字符;
[0009]所述0^上电复位,接收所述预设字符,启动测量模块依据异步串口以奶的工作时钟对所述预设字符的脉宽进行计数,使配置模块依据计数值配置相应的串口波特率,得到调整后的波特率,并向所述上位机反馈确认字符;
[0010]所述上位机接收所述确认字符在验证正确后确定完成以奶自动波特率调整。
[0011]优选的,所述启动测量模块依据异步串口以奶的工作时钟对所述预设字符的脉宽进行计数,包括:
[0012]所述测量模块中的异步时钟域同步处理器⑶87110通过所述以奶的接收数据的引脚狀0接收所述预设字符的数据位上的数据进行同步处理,其中,所述数据为8位二进制数据或十六进制数据;
[0013]所述测量模块中的计数器0011111:61*2在接收复位信号1*6861:或重置信号之后,在所述狀0接收所述数据的情况下开始计数,且所述8X0在接收到所述数据的脉宽为上升沿时计数加一,并生成计数使能信号6!!发送至所述测量模块中的计数器0)1!社虹1,在所述8X0接收完毕所述数据的情况下,停止计数和向所述测量模块中的计数器0)1X1^61*1发送所述计数使能信号⑶,并得到计数值II ;
[001 4] 所述在复位或重置之后,依据所述V八尺7输入的工作时钟信号皿代^],对在接收到所述计数使能信号611的情况下接收所述数据的周期数进行计数,并在结束计数时得到计数值0111:及准备信号1*621(17。
[0015]优选的,所述使配置模块依据计数值配置相应的串口波特率,得到调整后的波特率,包括:
[0016]所述配置模块在检测到所述准备信号I'册办的情况下,获取计数值⑶丨和计数值II,依据=配置所述蘭?I的串口波特率,得到调整后的波特率;其中,(11^ = 011:氺 16/=0
[0017]优选的,所述具有特定帧格式的预设字符包括1个起始位,8个数据位,1个偶校验位和1个停止位。
[0018]优选的,当所述预设字符中的8个数据位上的数据为0x55时,所述测量模块中的计数器0311111:61*2在接收复位信号1*6861:或重置信号1*681^1*1:之后,在所述0X0接收所述数据的情况下开始计数,且在所述狀0接收到所述数据的脉宽为上升沿时计数加一,并生成计数使能信号6!!发送至所述测量模块中的计数器0)1!社虹1,在所述狀0接收完毕所述数据的情况下,停止计数和向所述测量模块中的计数器0)111^61*1发送所述计数使能信号的,并得到计数值II,包括:
[0019]在接收所述复位信号1*6861:或重置信号1*681^1*1:之后进行复位或重置;
[0020]在所述狀0接收到所述数据0x55的脉宽为上升沿时计数加一,并生成计数使能信号611发送至所述测量模块中的计数器0)1X1^61*1 ;其中,所述数据0x55的脉宽上升沿共有5个;
[0021]在所述狀0接收到所述数据0x55的脉宽的5个上升沿后,停止计数和向所述测量模块中的计数器0)111^61*1发送所述计数使能信号的,并得到计数值II为5。
[0022]优选的,所述上位机接收所述确认字符在验证正确后确定完成以奶自动波特率调整之后,还包括:
[0023]所述上位机开始向所述0^传输数据。
[0024]一种异步串口以奶自动波特率调节装置,包括:上位机和中央处理器0^ ;
[0025]所述上位机,用于向所述0^发送具有特定帧格式的预设字符;接收所述0^反馈的确认字符在验证正确后确定完成以奶自动波特率调整;
[0026]所述0^,用于上电复位,接收所述预设字符,启动测量模块依据异步串口以奶的工作时钟对所述预设字符的脉宽进行计数,使配置模块依据计数值配置相应的串口波特率,得到调整后的波特率,并向所述上位机反馈确认字符。
[0027]优选的,所述上位机包括机。
[0028]优选的,所述⑶II包括:设置有异步时钟域同步处理器⑶0 87110,计数器03皿1:61~1和计数器0)111^61*2的测量模块;
[0029]所述⑶(:87110,用于通过所述以奶的接收数据的引脚狀0接收所述预设字符的数据位上的数据进行同步处理,其中,所述数据为8位二进制数据或十六进制数据;
[0030]所述用于在接收复位信号1*686丨或重置信号1~68仏代之后,在所述狀0接收所述数据的情况下开始计数,且所述狀0在接收到所述数据的脉宽为上升沿时计数加一,并生成计数使能信号6!1发送至所述测量模块中的计数器0)1!社虹1,在所述狀0接收完毕所述数据的情况下,停止计数和向所述测量模块中的计数器0)111^61*1发送所述计数使能信号⑶,并得到计数值!1;
[0031]所述用于在复位或重置之后,依据所述以奶输入的工作时钟信号1181*1^011^,对在接收到所述计数使能信号611的情况下接收所述数据的11211*1^0IV周期数进行计数,并在结束计数时得到计数值准备信号1*6—7。
[0032]优选的,所述0^包括配置模块;
[0033]所述配置模块,用于在所述检测到所述准备信号I'册办的情况下,获取计数值⑶七和计数值II,依据=置所述以奶的串口波特率,得到调整后的波特率
;其中,心=0111:^16/110
[0034]本发明所提供的一种异步串口以奶自动波特率调整方法及装置,所述⑶口上电复位,接收所述上位机向所述0^发送的具有特定帧格式的预设字符,启动测量模块依据异步串口以奶的工作时钟对所述预设字符的脉宽进行计数,使配置模块依据计数值配置相应的串口波特率并得到调整后的波特率,且所述上位机接收所述调整后的波特率并向所述0?^反馈确认字符,所述0^接收所述确认字符在验证正确后确定完成以奶自动波特率调整,从而实现在原有芯片上进行以奶自动波特率调整,不需要增加额外的芯片引脚,节省开销的目的。

【专利附图】

【附图说明】
[0035]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0036]图1为本发明实施例一所提供的异步串口以奶自动波特率调整方法的流程图;
[0037]图2为本发明实施例二所提供的异步串口以奶自动波特率调整方法的部分流程图;
[0038]图3为本发明实施例二所提供的时钟信号皿和数据的波形图;
[0039]图4为本发明实施例二所提供的简要的流程图;
[0040]图5为本发明实施例三所提供的异步串口以奶自动波特率调整方法的部分流程图;
[0041]图6为本发明实施例四所提供的异步串口以奶自动波特率调整装置中的结构图。

【具体实施方式】
[0042]本发明的核心是提供一种异步串口以奶自动波特率调整方法及装置,以实现在原有芯片上进行以奶自动波特率调整,不需要增加额外的芯片引脚,节省开销的目的。
[0043]为了使本【技术领域】的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0044]实施例一
[0045]请参考图1,图1为本发明实施例一所提供的异步串口以奶自动波特率调整方法的流程图,该方法包括:
[0046]步骤3101:上位机向中央处理器0^发送具有特定帧格式的预设字符;
[0047]步骤3102:所述0^上电复位,接收所述预设字符,启动测量模块依据异步串口口八尺I的工作时钟对所述预设字符的脉宽进行计数,使配置模块依据计数值配置相应的串口波特率,并向所述上位机反馈确认字符;
[0048]步骤3103:所述上位机接收所述确认字符在验证正确后确定完成以奶自动波特率调整;
[0049]基于本发明实施例所提供的异步串口以奶自动波特率调整方法,所述⑶口上电复位,接收所述上位机向所述0^发送的具有特定帧格式的预设字符,启动测量模块依据异步串口以奶的工作时钟对所述预设字符的脉宽进行计数,使配置模块依据计数值配置相应的串口波特率并得到调整后的波特率,并向所述上位机反馈确认字符,所述上位机接收所述确认字符在验证正确后确定完成以奶自动波特率调整,从而实现在原有芯片上进行口八尺I自动波特率调整,不需要增加额外的芯片引脚,节省开销的目的。
[0050]实施例二
[0051]基于上述本发明实施例一所公开的异步串口以奶自动波特率调整方法,本发明实施例二主要公开了中步骤3102中的所述启动测量模块依据异步串口以奶的工作时钟对所述预设字符的脉宽进行计数,如图2所示,并结合图5,优选采用以下步骤实现:
[0052]步骤3201:所述测量模块中的异步时钟域同步处理器通过所述以奶的接收数据的引脚狀0接收所述预设字符的数据位上的数据进行同步处理;
[0053]在步骤3201中,所述数据为8位二进制数据或十六进制数据。
[0054]步骤3202:所述测量模块中的计数器0)1!社虹2在接收复位信号1~68的或重置信号1*68仏代之后,在所述狀0接收所述数据的情况下开始计数,且所述狀0在接收到所述数据的脉宽为上升沿时计数加一,并生成计数使能信号的发送至所述测量模块中的计数器
在所述8X0接收完毕所述数据的情况下,停止计数和向所述测量模块中的计数器发送所述计数使能信号611,并得到计数值II ;
[0055]步骤3203:所述0)111^61*1在复位或重置之后,依据所述V八尺7输入的工作时钟信号11211*1^011^对在接收到所述计数使能信号611的情况下接收所述数据的11211*1^01&周期数进行计数,并在结束计数时得到计数值⑶丨及准备信号
[0056]其中,对于步骤3202和步骤3203,结合图3,图3为所述皿!'&和所述数据的波形图,图中8^代表明测量模块开始启动,在所述数据波形的每一个上升沿处,所述0011111:61-2计数加一,所述0011111:61*1对与所述数据波形的上升沿相应的所述波形的周期数进行计数。
[0057]基于上述优选及本发明实施例一所公开的异步串口以奶自动波特率调整方法,本发明实施例三公开了步骤3102中的使配置模块依据计数值配置相应的串口波特率,得到调整后的波特率,优选采用以下步骤实现:
[0058]步骤3301:所述配置模块在检测到所述准备信号I'册办的情况下,获取计数值⑶七和计数值II,依据=置所述以奶的串口波特率,得到调整后的波特率
[0059]在步骤3301中,(1:1^ = 0111:^16/11,当所述配置模块检测到所述准备信号1*621(17为“1”时,即检测到0011111:61*1发送的准备信号1*621(17,获取计数器0011111:61*2中的计数值0111:和计数值II,依据己?=及;^& =获得调整后的波特率匕―,当所述配置模块检测到所述准备信号为“0”时,即检测到的准备信号I'册办为空时,所述0?^重新启动测量模块,再次执行后续步骤。
[0060]基于上述优选及本发明实施例一所公开的异步串口以奶自动波特率调整方法,优选的,在步骤3103之后还包括:
[0061]步骤3501:所述上位机开始向所述0^传输数据。
[0062]在步骤3501执行的过程中,需要执行搬移程序化0丨收发数据,并跳转至主程序执行数据传输。
[0063]基于上述所有优选,需要说明的是,在执行步骤3102中的向所述上位机反馈确认字符的过程中,所述上机位向所述0^反馈的确认字符包括字符“八I”,此字符“八I”为确认字符。
[0064]综合以上所述,简要的过程参考图4,图4为所述0^的简要流程图,流程步骤如下:
[0065]81:上电复位;
[0066]82:接收所述上位机发送的预设字符,启动测量模块;
[0067]83:依据异步串口以奶的工作时钟对所述预设字符的脉宽进行计数,在结束计数时得到所述准备信号I'册办;
[0068]84:判断所述I'册办是否为“ 1 ”,若是,进入34 ;若不是,进入52 ;
[0069]85:获取所述计数值⑶丨和所述计数值II,配置所述V八尺7的串口波特率,得到调整后的波特率;
[0070]86:向所述上位机反馈确认字符“船(”;
[0071]87:所述上位机接收所述确认字符“纟I”在验证正确后确定完成后,执行搬移程序1300〖收发数据;
[0072]88:跳转至主程序执行数据传输。
[0073]基于本发明实施例所提供的异步串口以奶自动波特率调整方法,所述⑶口上电复位,接收所述上位机向所述0^发送的具有特定帧格式的预设字符,所述0)(: 87110通过所述8X0接收所述预设字符的数据位上的数据进行同步处理,所述0)1!社61*2在接收复位信号1*68的或重置信号『68仏代之后,在所述狀0接收所述数据的情况下开始计数,且所述狀0在接收到所述数据的脉宽为上升沿时计数加一,并生成计数使能信号611发送至所述0011111:61*1,在所述0X0接收完毕所述数据的情况下,停止计数和向所述0011111:61*1发送所述计数使能信号⑶,并得到计数值II。
[0074]进一步的,所述在复位或重置之后,依据所述皿1~1:^11^对在接收到所述计数使能信号6!!的情况下接收所述数据的周期数进行计数,并在结束计数时得到计数值⑶丨及准备信号所述配置模块在检测到所述准备信号I'册办的情况下,获取计数值⑶七和计数值II,依据= 4…配置所述以奶的串口波特率,得到调整后的波特率4^,并向所述上位机反馈确认字符。
[0075]进一步的,所述上位机接收所述确认字符在验证正确后确定完成以奶自动波特率调整,之后所述上位机开始向所述0^传输数据,从而实现在原有芯片上进行以奶自动波特率调整,不需要增加额外的芯片引脚,节省开销的目的。
[0076]实施例三
[0077]基于上述本发明实施例一及本发明实施例二所公开的异步串口自动波特率调整方法,优选的,所述具有特定帧格式的预设字符包括1个起始位,8个数据位,1个偶校验位和1个停止位。
[0078]基于上述本发明实施例一及本发明实施例二所公开的异步串口以奶自动波特率调整方法,当所述预设字符中的8个数据位上的数据为0x55时,本发明实施例三公开了步骤3202:所述测量模块中的计数器0011111:61*2在接收复位信号!'6861:或重置信号1*681^1*1:之后,在所述狀0接收所述数据的情况下开始计数,且所述狀0在接收到所述数据的脉宽为上升沿时计数加一,并生成计数使能信号6!!发送至所述测量模块中的计数器0)1!社虹1,在所述狀0接收完毕所述数据的情况下,停止计数和向所述测量模块中的计数器(^皿仏“发送所述计数使能信号6!!,并得到计数值,如图5所示,优选采用以下步骤实现:
[0079]步骤3401:在接收所述复位信号『6861:或重置信号『681^1*1:之后进行复位或重置;
[0080]步骤3402:在所述狀0接收到所述数据0x55的脉宽为上升沿时计数加一,并生成计数使能信号6!!发送至所述测量模块中的计数器0)1!社虹1 ;
[0081]其中,所述数据0x55的脉宽上升沿共有5个;
[0082]步骤3403:在所述狀0接收到所述数据0x55的脉宽的5个上升沿后,停止计数和向所述测量模块中的计数器⑶皿仏匕发送所述计数使能信号的,并得到计数值II为5。
[0083]基于本发明实施例所提供的异步串口以奶自动波特率调整方法,所述⑶口上电复位,接收所述上位机向所述0^发送的具有1个起始位,8个数据位,1个偶校验位和1个停止位的预设字符,所述0)(: 87110通过所述狀0接收所述预设字符的数据位上的数据0x55进行同步处理,所述0011111:61*2在接收复位信号1*6861:或重置信号之后,在所述尺父0接收到所述数据0x55的脉宽为上升沿时计数加一,并生成计数使能信号011发送至所述测量模块中的计数器0)1!社虹1,在所述狀0接收到所述数据0x55的脉宽的5个上升沿后,停止计数和向所述测量模块中的计数器¢011社虹1发送所述计数使能信号6!1,并得到计数值!1为5。
[0084]进一步的,所述在复位或重置之后,依据所述皿1~1:^11^对在接收到所述计数使能信号611的情况下接收所述数据0x55的周期数进行计数,并在结束计数时得到计数值⑶丨及准备信号使配置模块依据计数值配置相应的串口波特率并得到调整后的波特率,并向所述上位机反馈确认字符,所述上位机接收所述确认字符在验证正确后确定完成以奶自动波特率调整,从而实现在原有芯片上进行以奶自动波特率调整不需要增加额外的芯片引脚,节省开销的目的。
[0085]实施例四
[0086]在上述本发明实施例一至实施例三中公开的异步串口 V八尺7自动波特率调整方法,本发明实施例四还对应上述方法公开了一种异步串口以奶自动波特率调整装置,包括:
[0087]上位机和中央处理器;
[0088]所述上位机,用于向所述发送具有特定帧格式的预设字符;接收所述得到的调整后的波特率;接收所述确认字符在验证正确后确定完成以奶自动波特率调整;
[0089]所述0^,用于上电复位,接收所述预设字符,启动测量模块依据异步串口以奶的工作时钟对所述预设字符的脉宽进行计数,使配置模块依据计数值配置相应的串口波特率,得到调整后的波特率,并向所述上位机反馈确认字符。
[0090]优选的,上述装置中的所述上位机包括机;
[0091]优选的,参考图6,上述装置中的所述包括:设置有异步时钟域同步处理器⑶8711(^100,计数器 0)11111:61~1?200 和计数器 0)11111:61~2?300 的测量模块;
[0092]所述⑶87110?100,用于通过所述II仙I的接收数据的引脚0X0接收所述预设字符的数据位上的数据进行同步处理,其中,所述数据为8位二进制数据或十六进制数据;
[0093]所述?:0111^61~2?300,用于在接收复位信号1*686丨或重置信号之后,在所述狀0接收所述数据的情况下开始计数,且所述狀0在接收到所述数据的脉宽为上升沿时计数加一,并生成计数使能信号6!!发送至所述测量模块中的计数器0)1!社虹1,在所述狀0接收完毕所述数据的情况下,停止计数和向所述测量模块中的计数器发送所述计数使能信号⑶,并得到计数值II ;
[0094]所述用于在复位或重置之后,依据所述以奶输入的工作时钟信号1181*1^011^,对在接收到所述计数使能信号611的情况下接收所述数据的11211*1^01&周期数进行计数,并在结束计数时得到计数值及准备信号1*6^17。
[0095]优选的,上述装置中的所述0^包括配置模块;
[0096]所述配置模块,用于在所述检测到所述准备信号I'册办的情况下,获取计数值⑶七和计数值II,依据=置所述以奶的串口波特率,得到调整后的波特率
;其中,心=0111:^16/110
[0097]本发明实施例所提供的一种异步串口以奶自动波特率调整装置,所述⑶口上电复位,接收所述上位机向所述0^发送的具有特定帧格式的预设字符,所述0)(: 87110通过所述8X0接收所述预设字符的数据位上的数据进行同步处理,所述0)1!社61*2在接收复位信号1*68的或重置信号『68仏代之后,在所述狀0接收所述数据的情况下开始计数,且所述狀0在接收到所述数据的脉宽为上升沿时计数加一,并生成计数使能信号611发送至所述0011111:61*1,在所述0X0接收完毕所述数据的情况下,停止计数和向所述0011111:61*1发送所述计数使能信号⑶,并得到计数值II。
[0098]进一步的,所述在复位或重置之后,依据所述皿1~1:^11^对在接收到所述计数使能信号6!!的情况下接收所述数据的周期数进行计数,并在结束计数时得到计数值⑶丨及准备信号『6^17,所述配置模块在所述检测到所述准备信号I'册办的情况下,获取计数值⑶七和计数值II,依据=配置所述臥奶的串口波特率,且(14 = 得到调整后的波特率4^,并向所述上位机反馈确认字符,所述上位机接收所述确认字符在验证正确后确定完成以奶自动波特率调整,之后所述上位机开始向所述0^传输数据,从而实现在原有芯片上进行以奶自动波特率调整不需要增加额外的芯片引脚,节省开销的目的。
[0099]以上对本发明所提供的一种异步串口以奶自动波特率调整方法及装置进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本【技术领域】的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
【权利要求】
1.一种异步串口 UART自动波特率调整方法,其特征在于,包括: 上位机向中央处理器CPU发送具有特定帧格式的预设字符; 所述CPU上电复位,接收所述预设字符,启动测量模块依据异步串口 UART的工作时钟对所述预设字符的脉宽进行计数,使配置模块依据计数值配置相应的串口波特率,得到调整后的波特率,并向所述上位机反馈确认字符; 所述上位机接收所述确认字符在验证正确后确定完成UART自动波特率调整。
2.如权利要求1所述的方法,其特征在于,所述启动测量模块依据异步串口UART的工作时钟对所述预设字符的脉宽进行计数,包括: 所述测量模块中的异步时钟域同步处理器CDC sync通过所述UART的接收数据的引脚RXD接收所述预设字符的数据位上的数据进行同步处理,其中,所述数据为8位二进制数据或十六进制数据; 所述测量模块中的计数器Counted在接收复位信号reset或重置信号restart之后,在所述RXD接收所述数据的情况下开始计数,且所述RXD在接收到所述数据的脉宽为上升沿时计数加一,并生成计数使能信号en发送至所述测量模块中的计数器Counterl,在所述RXD接收完毕所述数据的情况下,停止计数和向所述测量模块中的计数器Counterl发送所述计数使能信号en,并得到计数值η ; 所述Counterl在复位或重置之后,依据所述UART输入的工作时钟信号uart_clk,对在接收到所述计数使能信号en的情况下接收所述数据的uart_clk周期数进行计数,并在结束计数时得到计数值cnt及准备信号ready。
3.如权利要求2所述的方法,其特征在于,所述使配置模块依据计数值配置相应的串口波特率,得到调整后的波特率,包括: 所述配置模块在检测到所述准备信号ready的情况下,获取计数值cnt和计数值n,依据fbaud = fuart_cik/16/div配置所述UART的串口波特率,得到调整后的波特率fbaud ;其中,div = cnt氺16/n。
4.如权利要求3所述的方法,其特征在于,所述具有特定帧格式的预设字符包括I个起始位,8个数据位,I个偶校验位和I个停止位。
5.如权利要求4所述的方法,其特征在于,当所述预设字符中的8个数据位上的数据为0x55时,所述测量模块中的计数器Counter2在接收复位信号reset或重置信号restart之后,在所述RXD接收所述数据的情况下开始计数,且在所述RXD接收到所述数据的脉宽为上升沿时计数加一,并生成计数使能信号en发送至所述测量模块中的计数器Counterl,在所述RXD接收完毕所述数据的情况下,停止计数和向所述测量模块中的计数器Counterl发送所述计数使能信号en,并得到计数值n,包括: 在接收所述复位信号reset或重置信号restart之后进行复位或重置; 在所述RXD接收到所述数据0x55的脉宽为上升沿时计数加一,并生成计数使能信号en发送至所述测量模块中的计数器Counterl ;其中,所述数据0x55的脉宽上升沿共有5个; 在所述RXD接收到所述数据0x55的脉宽的5个上升沿后,停止计数和向所述测量模块中的计数器Counterl发送所述计数使能信号en,并得到计数值η为5。
6.如权利要求1?5中任意一项所述的方法,其特征在于,所述上位机接收所述确认字符在验证正确后确定完成UART自动波特率调整之后,还包括: 所述上位机开始向所述CPU传输数据。
7.一种异步串口 UART自动波特率调节装置,其特征在于,包括:上位机和中央处理器CPU ; 所述上位机,用于向所述CPU发送具有特定帧格式的预设字符;接收所述CPU反馈的确认字符在验证正确后确定完成UART自动波特率调整; 所述CPU,用于上电复位,接收所述预设字符,启动测量模块依据异步串口 UART的工作时钟对所述预设字符的脉宽进行计数,使配置模块依据计数值配置相应的串口波特率,得到调整后的波特率,并向所述上位机反馈确认字符。
8.如权利要求7所述的装置,其特征在于,所述上位机包括PC机。
9.如权利要求7所述的装置,其特征在于,所述CPU包括:设置有异步时钟域同步处理器CDC sync,计数器Counterl和计数器Counter2的测量模块; 所述CDC sync,用于通过所述UART的接收数据的引脚RXD接收所述预设字符的数据位上的数据进行同步处理,其中,所述数据为8位二进制数据或十六进制数据; 所述Counter2,用于在接收复位信号reset或重置信号restart之后,在所述RXD接收所述数据的情况下开始计数,且所述RXD在接收到所述数据的脉宽为上升沿时计数加一,并生成计数使能信号en发送至所述测量模块中的计数器Counter I,在所述RXD接收完毕所述数据的情况下,停止计数和向所述测量模块中的计数器Counterl发送所述计数使能信号en,并得到计数值η; 所述Counterl,用于在复位或重置之后,依据所述UART输入的工作时钟信号uart_elk,对在接收到所述计数使能信号en的情况下接收所述数据的uart_clk周期数进行计数,并在结束计数时得到计数值cnt准备信号ready。
10.如权利要求9所述的装置,其特征在于,所述CPU包括配置模块; 所述配置模块,用于在所述检测到所述准备信号ready的情况下,获取计数值cnt和计数值n,依据fbaud = fuart elk/16/div配置所述UART的串口波特率,得到调整后的波特率fbaud ;其中,div = cnt氺 16/n。
【文档编号】G06F13/38GK104360974SQ201410593284
【公开日】2015年2月18日 申请日期:2014年10月29日 优先权日:2014年10月29日
【发明者】迟朋, 刘精轶 申请人:上海伽利略导航有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1