串口通信的验证方法及验证系统的制作方法
【技术领域】
[0001]本发明涉及数据通信技术领域,特别是涉及一种串口通信的验证方法及验证系统。
【背景技术】
[0002]由于串口所具备的通信线路简单等特点,通信常常会被用于MCU(微型处理器)之间的通信以。为了保证MCU之间大量数据稳定可靠的传输,需要使用标准串口通信协议。现有的串口通信协议包括波特率都是MCU内部分频实现,不同的MCU时钟差异会导致波特率频偏,通信线路硬件匹配度不好、衰减大,以及MCU对接收大数据量的串口数据处理能力有限,都会极大的影响大数据量的可靠传输。
[0003]现有技术中,当串口通信不稳定时,通过降低波特率来减小误码概率,但是这种方案并不能规避串口传输数据的丢失和错误;况且降低波特率也影响通信速率,不适合两个MCU之间大数据的通信需求。
【发明内容】
[0004]鉴于以上所述现有技术的缺点,本发明的目的在于提供一种串口通信的验证方法及验证系统,用于解决现有技术中利用串口通信协议进行数据传输时容易造成数据丢失的问题。
[0005]为实现上述目的及其他相关目的,本发明提供一种串口通信的验证方法,所述串口通信的验证方法包括以下步骤:在第一处理器与第二处理器之间设置相同的波特率;由第二处理器发送预设帧长的检验码至一处理器;第一处理器将接收到的所述预设帧长的检验码反馈至第二处理器;所述第二处理器将第一处理器反馈的检验码与发送的检验码进行比对以判定通信是否正常;当判定结果为通信异常时,调整第一处理器与第二处理器间进行通信的数据帧内字节的传输延时。
[0006]于本发明的一实施例中,所述预设帧长的检验码为16进制ASCII校验码。
[0007]于本发明的一实施例中,通过二分法来调整第一处理器与第二处理器间进行通信的数据帧内字节的传输延时。
[0008]于本发明的一实施例中,所述通过二分法来调整第一处理器与第二处理器间进行通信的数据帧内字节的传输延时的步骤包括:将传输延时的时间设定为第一预设时间;按照第一预设时间传输数据帧内的字节;判断第一处理器与第二处理器之间的通信是否正常;若正常,将传输延时的时间设定为第二预设时间,所述第二预设时间小于所述第一预设时间;按照第二预设时间传输数据帧内的字节;判断第一处理器与第二处理器之间的通信是否正常;若异常,将传输延时的时间设定为第三预设时间;所述第三预设时间为所述第一预设时间与第二预设时间的平均值;按照第三预设时间传输数据帧内的字节;重复执行判断第一处理器与第二处理器之间的通信是否正常的步骤以及将传输延时的时间进行设定的步骤直到在通信正常时,所述传输处理的时间设定为最小值。
[0009]于本发明的一实施例中,所述通过二分法来调整第一处理器与第二处理器间进行通信的数据帧内字节的传输延时的步骤包括:将传输延时的时间设定为第一预设时间;按照第一预设时间传输数据帧内的字节;判断第一处理器与第二处理器之间的通信是否正常;若异常常,将传输延时的时间设定为第四预设时间,所述第四预设时间大于所述第一预设时间;按照第四预设时间传输数据帧内的字节;判断第一处理器与第二处理器之间的通信是否正常;若正常,将传输延时的时间设定为第五预设时间;所述第五预设时间为所述第一预设时间与第四预设时间的平均值;按照第五预设时间传输数据帧内的字节;重复执行判断第一处理器与第二处理器之间的通信是否正常的步骤以及将传输延时的时间进行设定的步骤直到在通信正常时,所述传输处理的时间设定为最小值。
[0010]本发明提供一种串口通信的验证系统所述串口通信的验证系统包括:波特率设置模块、第一处理器、第二处理器、调整模块;所述波特率设置模块用于在第一处理器与第二处理器之间设置相同的波特率;所述第二处理器用于发送预设帧长的检验码至一处理器;所述第一处理器用于将接收到的所述预设帧长的检验码反馈至第二处理器;所述第二处理器还用于将第一处理器反馈的检验码与发送的检验码进行比对以判定通信是否正常;所述调整模块用于当判定结果为通信异常时,调整第一处理器与第二处理器间进行通信的数据帧内字节的传输延时。
[0011]于本发明的一实施例中,所述预设帧长的检验码为16进制ASCII校验码。
[0012]于本发明的一实施例中,所述调整模块通过二分法来调整第一处理器与第二处理器间进行通信的数据帧内字节的传输延时。
[0013]于本发明的一实施例中,所述调整模块包括:预设单元,用于将传输延时的时间设定为第一预设时间;所述第二处理器按照第一预设时间传输数据帧内的字节至第一处理器;所述第二处理器判断第一处理器与第二处理器之间的通信是否正常;所述预设单元还用于在通信正常时,将传输延时的时间设定为第二预设时间,所述第二预设时间小于所述第一预设时间;所述第二处理器按照第二预设时间传输数据帧内的字节至第一处理器;所述第二处理器判断第一处理器与第二处理器之间的通信是否正常;所述预设单元还用于在通信异常,将传输延时的时间设定为第三预设时间;所述第三预设时间为所述第一预设时间与第二预设时间的平均值;所述第二处理器按照第三预设时间传输数据帧内的字节;所述第二处理器重复执行判断第一处理器与第二处理器之间的通信是否正常的步骤以及所述预设单元重复将传输延时的时间进行设定的步骤直到在通信正常时,所述传输处理的时间设定为最小值。
[0014]于本发明的一实施例中,所述调整模块包括:预设单元,用于将传输延时的时间设定为第一预设时间;所述第二处理器按照第一预设时间传输数据帧内的字节至第一处理器;所述第二处理器判断第一处理器与第二处理器之间的通信是否正常;所述预设单元还用于在通信正常时,将传输延时的时间设定为第四预设时间,所述第四预设时间小于所述第一预设时间;所述第二处理器按照第四预设时间传输数据帧内的字节至第一处理器;所述第二处理器判断第一处理器与第二处理器之间的通信是否正常;所述预设单元还用于在通信异常,将传输延时的时间设定为第五预设时间;所述第五预设时间为所述第一预设时间与第四预设时间的平均值;所述第二处理器按照第五预设时间传输数据帧内的字节;所述第二处理器重复执行判断第一处理器与第二处理器之间的通信是否正常的步骤以及所述预设单元重复将传输延时的时间进行设定的步骤直到在通信正常时,所述传输处理的时间设定为最小值。
[0015]如上所述,本发明的串口通信的验证方法及验证系统,具有以下有益效果:
[0016]本发明串口通信的验证方法及验证系统,能够在不改变通信波特率的前提下,实现两个MCU之间通信的最大数据流量无误码传输,不仅提高了数据流量的传输精度,而且还提高了数据的传输效率。
【附图说明】
[0017]图1显示为本发明串口通信的验证方法于一实施例中的流程示意图。
[0018]图2显示为本发明检验码的格式示意图。
[0019]图3显示为本发明数据传输过程中数据丢失的示意图。
[0020]图4显示为本发明串口通信的验证系统于一实施例中的结构示意图。
[0021]元件标号说明
[0022]2串口通信的验证系统
[0023]21波特率设置模块
[0024]22第一处理器
[0025]23第二处理器
[0026]24调整模块
[0027]S11 ?S15 步骤
【具体实施方式】
[0028]以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的【具体实施方式】加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0029]需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0030]请参阅图1,本发明提供一种串口通信的验证方法,所述串口通信的验证方法包括以下步骤:
[0031]S11,在第一处理器与第二处理器之间设置相同的波特率;
[0032]S12,由第二处理器发送预设帧长的检验