一种用于串口通信控制的方法和通信串口的制作方法_2

文档序号:9330279阅读:来源:国知局
式;接口探测单元再通过串口数据输出线向上位机发送接口探测信号。若有接收到任意数据,则认为上位机和嵌入式设备处于连接状态;若嵌入式设备在设定的周期内未接收到任意数据,则将嵌入式设备的波特率降低到llObit/s。
[0039]区别于现有技术,上述技术方案通过发送数据请求线(RTS)发现上位机,并将上位机切换到波特率适配模式。该方法使得嵌入式设备与上位机的通信中,不需要知道嵌入式设备和上位机的波特率,也不需要为它们设置相同的波特率,而是通过自动的波特率匹配去识别上位机的波特率,使通信更便捷。
【附图说明】
[0040]图1为本发明实施例的一种的方法流程图;
[0041]图2为本发明实施例的一种的模块示意图;
[0042]图3为本发明实施例的一种的模块示意图。
【具体实施方式】
[0043]为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
[0044]比特率是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300个bit。当我们提到时钟周期时,就是指比特率,例如如果协议需要4800波特率,即时钟是4800Hz。时钟意味着串口通信在数据线上的采样率。通常电话线的比特率为 14400bit/s,28800bit/s 和 36600bit/s。
[0045]串口通信最重要的参数是比特率、数据位、停止位和奇偶校验。停止位是用于表示单个包的最后一位,其值为1、1. 5和2位。校验是在串口通信中一种简单的检错方式,其有五种检错方式:偶(even)、奇(odd)、高(mark)、低(space)、空(none)。通常停止位和奇偶校验为默认设置,即停止位为1,校验位为空,即不做就校验。在开始波特率适配方法之前,设置停止位和奇偶校验分别为1和空。
[0046]发明人提供一种用于串口通信控制方法,包括以下步骤:
[0047]上位机模式切换单元通过发送数据请求线(RTS)向嵌入式设备输出第一特征电平信号,并将上位机切换到波特率适配模式;嵌入式设备的模式切换单元监听发送数据请求线上的信号,当判断接收到的信号为第一特征电平信号时,嵌入式设备切换到波特率适配模式,开始波特率适配方法;
[0048]请参考图1,所述波特率适配方法包括以下步骤:
[0049]初始化未尝试的波特率的集合为全部可能的波特率的值的集合,接收序列生成单元输出一串特征侦测序列;
[0050]S101、在未尝试的波特率的集合中选取一个波特率作为尝试波特率;
[0051]S102、嵌入式设备以尝试波特率发送特征侦测序列;
[0052]S103、上位机按上位机的波特率采集收到的数据信息,并以上位机的波特率发送收到的数据信息;
[0053]S104、嵌入式设备以尝试波特率采集收到的数据信息;
[0054]S105、判断嵌入式设备采集到的数据信息和特征侦测序列是否一致,
[0055]S106、若一致则结束此次自动适配,所述尝试波特率即等于上位机的波特率,并将所述尝试波特率作为嵌入式设备的波特率;
[0056]若不一致,则返回步骤S101,直到嵌入式设备采集到的数据信息和特征侦测序列一致或未尝试过的波特率的集合为空。
[0057]串口通信的可能波特率为 110bit/s、300bit/s、600bit/s、1200bit/s、2400bit/s、4800bit/s、9600bit/s、14400bit/s、19200bit/s、38400bit/s、57600bit/s、115200bit/s、230400bit/s、380400bit/s、460800bit/s 和 921600bit/s 中的的一种,所述全部可能的波特率的值的集合即上述列举的波特率。所述特征侦测序列是用于波特率适配模式中与上位机通信的信号,在通信中是一串电平序列,其满足如果用不同的波特率编码发送特征侦测序列,则其表现为不一样的电平序列。
[0058]上述方法中,上位机切换到波特率适配模式,嵌入式设备通过发送数据请求线(RTS)发现上位机,并进入波特率适配模式。。该方法使得嵌入式设备与上位机的通信中,不需要知道嵌入式设备和上位机的波特率,也不需要手动的为它们设置相同的波特率,而是通过自动的波特率匹配去识别上位机的波特率,使通信更便捷。
[0059]在另一些实施例中,所述波特率适配方法还包括步骤:
[0060]当检测到未尝试过的波特率的集合为空时,将停止位和奇偶校验位分别设置其为未尝试过的组合后,初始化未尝试的波特率的集合为全部可能的波特率的值的集合,重复步骤SlOl至S106,直至嵌入式设备采集到的数据信息和特征侦测序列一致;当嵌入式设备采集到的数据信息和特征侦测序列一致时,所述尝试波特率即等于上位机的波特率。将所述尝试波特率作为嵌入式设备的波特率,所述停止位和奇偶校验位作为嵌入式设备的停止位和奇偶校验位。
[0061]停止位的取值有三种情况,即停止位为1、1.5和2位;校验的取值有5中情况,即校验为偶校验(even)、奇校验(odd)、高校验(mark)、低校验(space)、空(none)。空即为无校验。5种校验方式和3中停止位取值方式,其组合有15种情况。
[0062]当检测到未尝试过的波特率的集合为空时,将停止位和奇偶校验位分别设置其为未尝试过的组合,再次遍历所有可能的波特率,直到找出上位机的波特率、停止位、校验位的组合情况。
[0063]上述方案提供了一种停止位和校验位不是默认设置时的,识别上位机的波特率、停止位和校验位的方法,即可自动匹配波特率、停止位和校验位,而不需要在通信前在上位机和嵌入式设备上手动设置。
[0064]在另一些实施例中,在嵌入式设备需要修改波特率时,嵌入式设备操作清除发送线向上位机发送第二特征电平信号,上位机的模式切换单元监听到嵌入式设备的第二特征电平信号,根据第二特征电平信号对应的波特率设置上位机的波特率。
[0065]第二特征电平信号是一组特征信号的集合中的一个,该组中的每个特征电平信号对应唯一的译码,该译码指示固定的波特率、校验位和停止位。例如在某些实施例中,0x100000000,代表波特率为110bit/S,停止位为1,校验位为空;其中最高2位的代表停取值,第3?5位代表校验位取值,第6?9位代表波特率取值。通过固定的译码使得上位机的串口直接设置波特率,完成串口通信设置,较其他方法简单方便。
[0066]在另一些实施例中,在嵌入式设备通过串口收到的调试信息较少时,通知上位机降低串口波特率,并采用再次自动匹配波特率。在某些实施例中,嵌入式设备的流量控制单元监测串口在单位时间内收发的信息量,当单位时间内收发的数据量低于第一设置值或高于第二设置值时,嵌入式设备操作清除发送线向上位机发送第三特征电平信号,上位机的模式切换单元监听到嵌入式设备的特征电平信号后,下调或上调上位机的波特率。在下调上位机的波特率后,再次自动匹配波特率,自动识别匹配下调后的波特率。
[0067]在某些实施例中,第三特征电平信号的特征与第二特征电平信号的特征相同,其实现的功能也相同。
[0068]上述方案在嵌入式设备收到信息较少时,采用较低的波特率进行通信,降低嵌入式设备的功耗。
[0069]在另一实施例中,嵌入式设备定期检查与上位机的连接是否是有效的。例如嵌入式设备的接口探测单元以设定的周期通过发送数据请求线向上位机发送特征序列信号,上位机监测到所述特征序列信号时进入接口探测模式;嵌入式设备再通过串口数据输出线向上位机发送接口探
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1