CN109510689A - 串口通信方法、装置及系统 - Google Patents

串口通信方法、装置及系统 Download PDF

Info

Publication number
CN109510689A
CN109510689A CN201811587721.1A CN201811587721A CN109510689A CN 109510689 A CN109510689 A CN 109510689A CN 201811587721 A CN201811587721 A CN 201811587721A CN 109510689 A CN109510689 A CN 109510689A
Authority
CN
China
Prior art keywords
baud rate
host
communication equipment
timer
serial
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
CN201811587721.1A
Other languages
English (en)
Other versions
CN109510689B (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.)
Maipu Communication Technology Co Ltd
Original Assignee
Maipu Communication 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 Maipu Communication Technology Co Ltd filed Critical Maipu Communication Technology Co Ltd
Priority to CN201811587721.1A priority Critical patent/CN109510689B/zh
Publication of CN109510689A publication Critical patent/CN109510689A/zh
Application granted granted Critical
Publication of CN109510689B publication Critical patent/CN109510689B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/0002Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
    • 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/0015Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy

Landscapes

  • Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)

Abstract

本发明公开了一种串口通信方法、装置及系统,涉及计算机技术领域,该方法通过随机变换通信设备的当前波特率,杜绝了通过串口随意通信的安全隐患。同时,本发明的通信设备和主机在波特率适配成功后还增加了认证过程,进一步保证了进行串口通信的主机的合法性,实现简单,具备较好的通用性。

Description

串口通信方法、装置及系统
技术领域
本发明涉及计算机通信领域,尤其涉及一种串口通信方法、装置及系统。
背景技术
串口通信因为成本低、易于实现,是目前嵌入式系统中常用的一种通信模式。在串口通信中,波特率是一个衡量通信速度的参数,它表示每秒钟传送的bit的个数。串口通信常用的波特率选项有300、600、1200、2400、4800、9600、19200、38400、43000、56000、57600、115200等,通信的双方只有保持相同波特率的条件下才能适配成功,实现正常的串口通信,否则会出现调试指令无效、显示乱码的现象。
目前需要串口通信的场景中,由于通信设备通常采用固定波特率,主机只要选取相同的波特率就可以通过串口与通信设备进行串口通信,从而造成未知的安全隐患。鉴于此,如何找到一种安全的串口通信技术方案成了本领域技术人员亟待解决的问题。
发明内容
本发明提供一种串口通信方法、装置及系统,解决了使用串口通信时,通信设备因采用固定波特率而导致的安全隐患问题。
第一方面,本发明提供一种串口通信方法,包括以下步骤:
主机按照其当前波特率通过串口发送请求连接消息到通信设备;所述通信设备按照其当前波特率等待所述请求连接消息;其中,所述主机的当前波特率是在支持的多种波特率中顺序循环选取的;所述通信设备的当前波特率是在支持的多种波特率中随机选取的;
确定所述主机的当前波特率与所述通信设备的当前波特率适配时,所述通信设备采用适配成功时的当前波特率通过串口向所述主机发送请求连接响应消息,所述主机接收所述请求连接响应消息后,采用适配成功时的当前波特率与所述通信设备进行串口通信;
其中,所述主机的串口和所述通信设备的串口都为全双工串口。
所述主机按照其当前波特率通过串口发送请求连接消息到通信设备,包括:所述主机的串口为UP状态时启动第一定时器,如果在所述第一定时器的定时周期内所述主机未收到所述通信设备发送的所述请求连接响应消息,在所述第一定时器超时后所述主机在支持的多种波特率中顺序循环选取下一个波特率作为最新的当前波特率;重新启动所述第一定时器,所述主机按照其最新的所述当前波特率通过串口继续发送请求连接消息到所述通信设备;
所述通信设备按照其当前波特率等待所述请求连接消息,包括:所述通信设备的串口为UP状态时启动第二定时器,如果在所述第二定时器的定时周期内所述通信设备未收到所述请求连接消息或者无法识别接收到的所述请求连接消息,在所述第二定时器超时后所述通信设备在支持的多种波特率中随机选取任一波特率作为最新的当前波特率;重新启动所述第二定时器,所述通信设备按照其最新的所述当前波特率继续等待所述请求连接消息;
所述确定所述主机的当前波特率与所述通信设备的当前波特率适配,包括:所述通信设备识别接收到的所述请求连接消息,所述通信设备维持其适配成功的当前波特率不再变化;
其中,所述主机支持的多种波特率与所述通信设备支持的多种波特率相同;所述第二定时器的定时周期等于所述支持的多种波特率个数乘以所述第一定时器的定时周期。
所述主机采用适配成功时的当前波特率与所述通信设备进行串口通信,包括:在所述通信设备采用适配成功时的当前波特率与所述主机进行串口通信时,启动第三定时器,如果在所述第三定时器的定时周期内所述通信设备未接收到所述主机发送的任何串口数据,在所述第三定时器超时后所述通信设备在支持的多种波特率中随机选取任一波特率作为最新的当前波特率;重新启动所述第三定时器,所述通信设备按照其最新的所述当前波特率继续等待所述请求连接消息;
所述主机采用适配成功时的当前波特率与所述通信设备进行串口通信时,启动第四定时器;如果在所述第四定时器的定时周期内所述主机未向所述通信设备发送任何串口数据,在所述第四定时器超时后所述主机如需再次向所述通信设备发送串口数据,所述主机在支持的多种波特率中顺序循环选取下一个波特率作为最新的当前波特率;所述主机先按照其最新的所述当前波特率重新通过串口发送所述请求连接消息到所述通信设备进行适配;待适配成功后,所述主机采用适配成功时的当前波特率与所述通信设备进行串口通信;其中,所述第四定时器的定时周期与所述第三定时器的定时周期相同。
在第一种可能的实现方式中,所述方法还包括:所述主机按照其当前波特率通过串口发送请求连接消息到通信设备,包括:所述主机按照其当前波特率通过串口发送携带有秘钥信息的请求连接消息到通信设备;所述通信设备按照其当前波特率等待所述请求连接消息,包括:所述通信设备按照其当前波特率等待携带有秘钥信息的所述请求连接消息;所述通信设备采用适配成功时的当前波特率通过串口向所述主机发送请求连接响应消息,包括:所述通信设备认证所述请求连接消息中的秘钥信息,采用适配成功时的当前波特率通过串口向所述主机发送携带有认证结果的请求连接响应消息;所述主机接收所述请求连接响应消息后,采用适配成功时的当前波特率与所述通信设备进行串口通信,包括:所述主机接收携带有认证结果的请求连接响应消息;如果所述认证结果指示认证成功,所述主机采用适配成功时的当前波特率与所述通信设备进行串口通信;否则,所述主机提示认证失败,所述通信设备继续按照其当前波特率等待携带有秘钥信息的所述请求连接消息。
第二方面,本发明提供一种串口通信装置,应用于通信设备,具体包括:
波特率发生器模块,用于产生所述通信设备的当前波特率;其中,所述通信设备的当前波特率是在所述通信设备支持的多种波特率中随机产生的;
串口通信模块,用于按照所述通信设备的当前波特率从串口等待主机发送的请求连接消息,并确定所述主机的当前波特率与所述通信设备的当前波特率是否适配;以及用于确定所述主机的当前波特率与所述通信设备的当前波特率适配时,采用适配成功时所述通信设备的当前波特率通过串口向所述主机发送请求连接响应消息,并与所述主机进行串口通信;其中,所述通信设备的串口为全双工串口。
其中,所述装置还包括定时器模块:所述定时器模块,用于在所述串口为UP状态时启动第二定时器;以及用于在接收到所述串口通信模块启动所述第二定时器的通知时,重新启动所述第二定时器;所述串口通信模块,具体用于如果在所述第二定时器的定时周期内未收到所述请求连接消息或者无法识别接收到的所述请求连接消息,在所述第二定时器超时后,通知所述波特率发生器模块产生一个最新的当前波特率;通知所述定时器模块重新启动所述第二定时器,所述串口通信模块按照所述通信设备最新的所述当前波特率从串口等待主机发送的请求连接消息;以及用于识别接收到的所述请求连接消息,并维持其适配成功的当前波特率不再变化;所述波特率发生器模块,还用于在接收所述串口通信模块的通知时,在支持的多种波特率中随机产生一个最新的当前波特率;其中,所述主机支持的多种波特率与所述通信设备支持的多种波特率相同。
可选的,所述定时器模块,还用于所述通信设备与所述主机进行串口通信时,启动第三定时器;以及用于在接收到所述串口通信模块启动所述第三定时器的通知时,重新启动所述第三定时器;所述串口通信模块,还用于如果在所述第三定时器的定时周期内所述串口通信模块未接收到所述主机发送的任何串口数据,在所述第三定时器超时后,通知所述波特率发生器模块产生一个最新的当前波特率;通知所述定时器模块重新启动所述第三定时器,所述串口通信模块按照最新的所述当前波特率继续等待所述请求连接消息。
可选的,所述装置还包括认证模块;所述认证模块,用于在所述串口通信模块确定所述主机的当前波特率与所述通信设备的当前波特率适配时,认证所述请求连接消息中的秘钥信息;所述串口通信模块,还具体用于在所述认证模块认证所述请求连接消息中的秘钥信息后,采用适配成功时所述通信设备的当前波特率通过串口向所述主机发送携带有认证结果的请求连接响应消息;如果所述认证结果指示认证成功,与所述主机进行串口通信;否则,继续按照所述通信设备的当前波特率从串口等待所述主机发送的携带有秘钥信息的请求连接消息。
第三方面,本发明提供一种串口通信装置,应用于主机,具体包括:
波特率发生器模块,用于产生所述主机的当前波特率;其中,所述主机的当前波特率是在所述主机支持的多种波特率中顺序循环产生的;所述主机支持的多种波特率与所述通信设备支持的多种波特率相同;
串口通信模块,用于按照所述主机的当前波特率通过串口发送请求连接消息到通信设备;以及用于接收请求连接响应消息,并采用适配成功时所述主机的当前波特率与所述通信设备进行串口通信;或者,所述串口通信模块,用于按照所述主机的当前波特率通过串口发送携带有秘钥消息的请求连接消息到所述通信设备;以及用于接收携带有认证结果的所述请求连接响应消息,如果认证结果指示认证成功,采用适配成功时所述主机的当前波特率与所述通信设备进行串口通信,否则,所述串口通信模块提示认证失败;其中,所述主机的串口为全双工串口。
可选的,所述装置还包括定时器模块;所述定时器模块,用于在所述串口为UP状态时启动第一定时器;以及用于在接收到所述串口通信模块启动所述第一定时器的通知时,重新启动所述第一定时器;所述串口通信模块,具体用于如果在所述第一定时器的定时周期内所述串口通信模块未收到所述通信设备发送的所述请求连接响应消息,在所述第一定时器超时后,通知所述波特率发生器模块产生一个最新的当前波特率;通知所述定时器模块重新启动所述第一定时器,按照最新的所述当前波特率通过串口继续发送请求连接消息到所述通信设备;或者,所述串口通信模块,具体用于如果在所述第一定时器的定时周期内所述串口通信模块未收到所述通信设备发送的携带有认证结果的所述请求连接响应消息,在所述第一定时器超时后,通知所述波特率发生器模块产生一个最新的当前波特率;通知所述定时器模块重新启动所述第一定时器,按照其最新的所述当前波特率通过串口继续发送所述携带有秘钥消息的请求连接消息到所述通信设备。
在第三种可能的实现方式中,所述定时器模块,还用于所述通信设备与所述主机进行串口通信时,启动第四定时器,其中,所述第四定时器的定时周期与所述第三定时器的定时周期相同;以及用于在接收到所述串口通信模块启动所述第四定时器的通知时,重新启动所述第四定时器;所述串口通信模块,还用于如果在所述第四定时器的定时周期内所述串口通信模块未向所述通信设备发送任何串口数据,在所述第四定时器超时后,所述串口通信模块如需再次向所述通信设备发送串口数据,通知所述波特率发生器模块产生一个最新的当前波特率;所述串口通信模块先按照最新的所述当前波特率重新通过串口发送所述请求连接消息或者携带有认证结果的的所述请求连接消息到所述通信设备进行适配;所述波特率发生器模块,还用于在接收所述串口通信模块的通知时,在支持的多种波特率中顺序循环产生一个最新的当前波特率。
第四方面,本发明提供一种串口通信系统,具体包括:主机和通信设备;所述通信设备包括如第二方面所述的装置,所述主机包括如第三方面所述的装置;其中,所述第二定时器的定时周期等于所述支持的多种波特率个数乘以所述第一定时器的定时周期。
综上所述,本发明通过随机变换通信设备的当前波特率,杜绝了通过串口随意通信的安全隐患。而且本发明中通信设备和主机在波特率适配成功后还增加了认证过程,进一步保证了进行串口通信的主机的合法性,实现简单,具备较好的通用性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的一种串口通信方法的流程图;
图2示出了本发明实施例提供的一种应用于通信设备的串口通信装置示意图;
图3示出了本发明实施例提供的另一种应用于通信设备的串口通信装置示意图;
图4示出了本发明实施例提供的另一种应用于通信设备的串口通信装置示意图;
图5示出了本发明实施例提供的一种应用于主机的串口通信装置示意图;
图6示出了本发明实施例提供的另一种应用于主机的串口通信装置示意图;
图7示出了本发明实施例提供的一种串口通信系统示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面通过具体实施例,分别进行详细的说明。
实施例一
本发明实施例提供了一种串口通信方法,其示意图如图1所示,包括如下步骤:
步骤S101,主机按照其当前波特率通过串口发送请求连接消息到通信设备;所述通信设备按照其当前波特率等待所述请求连接消息。
其中,主机的当前波特率是在支持的多种波特率中顺序循环选取的;通信设备的当前波特率是在支持的多种波特率中随机选取的。主机支持的多种波特率与通信设备支持的多种波特率相同。例如,主机支持的多种波特率和通信设备支持的多种波特率都有9600、19200、38400、43000、56000、57600、115200七种波特率。
在本实施例中,请求连接消息可以包含一个起始字符,例如,请求连接消息使用0XF0作为起始字符,当主机的当前波特率与通信设备的当前波特率适配时,通信设备可以通过该起始字符识别请求连接消息。
步骤S102,确定所述主机的当前波特率与所述通信设备的当前波特率适配时,所述通信设备采用适配成功时的当前波特率通过串口向所述主机发送请求连接响应消息,所述主机接收所述请求连接响应消息后,采用适配成功时的当前波特率与所述通信设备进行串口通信。
其中,主机的串口和通信设备的串口都为全双工串口。本实施例中,主机的串口为UP状态时(通信连接状态为连通状态)启动第一定时器。如果在第一定时器的定时周期内主机未收到通信设备发送的请求连接响应消息,在第一定时器超时后主机在支持的多种波特率中顺序循环选取下一个波特率作为最新的当前波特率。例如,主机的当前波特率为115200,在第一定时器超时后,主机在支持的七种波特率中顺序循环选取下一个波特率9600作为最新的当前波特率。其中,请求连接响应消息可以包含一个起始字符,例如,请求连接响应消息使用0XFE作为起始字符,当主机的当前波特率与通信设备的当前波特率适配时,主机可以通过该起始字符识别请求连接响应消息。
主机在确定最新的当前波特率时,重新启动第一定时器,主机按照其最新的当前波特率通过串口继续发送请求连接消息到通信设备。通信设备的串口为UP状态时启动第二定时器。如果在第二定时器的定时周期内通信设备未收到请求连接消息或者无法识别接收到的请求连接消息,在第二定时器超时后通信设备在支持的多种波特率中随机选取任一波特率作为最新的当前波特率。通信设备在确定最新的当前波特率时,重新启动第二定时器,通信设备按照其最新的当前波特率继续等待请求连接消息。如果在第二定时器的定时周期内通信设备能够识别接收到的请求连接消息,说明主机的当前波特率与通信设备的当前波特率适配成功,此时通信设备维持其适配成功的当前波特率不再变化,采用适配成功的当前波特率等待主机发送的串口数据。主机接收请求连接响应消息后,停止发送请求连接消息,此时主机采用适配成功时的当前波特率可以向通信设备发送串口数据。其中,第二定时器的定时周期等于支持的多种波特率个数乘以第一定时器的定时周期。
本实施例中,在通信设备采用适配成功时的当前波特率与主机进行串口通信时,通信设备可以启动第三定时器。如果在第三定时器的定时周期内通信设备未接收到主机发送的任何串口数据,在第三定时器超时后通信设备在支持的多种波特率中随机选取任一波特率作为最新的当前波特率。重新启动第三定时器,通信设备按照其最新的当前波特率继续等待请求连接消息。在本发明实施例中,主机采用适配成功时的当前波特率与通信设备进行串口通信时,主机可以启动第四定时器。如果在第四定时器的定时周期内主机未向通信设备发送任何串口数据,在第四定时器超时后主机如需再次向通信设备发送串口数据,主机在支持的多种波特率中顺序循环选取下一个波特率作为最新的当前波特率。主机先按照其最新的当前波特率重新通过串口发送请求连接消息到通信设备进行适配。待适配成功后,主机采用适配成功时的当前波特率与通信设备进行串口通信。其中,第四定时器的定时周期与第三定时器的定时周期相同。
作为本实施例的另一个优选的技术方案,主机按照其当前波特率通过串口发送携带有秘钥信息的请求连接消息到通信设备。通信设备按照其当前波特率等待携带有秘钥信息的请求连接消息。当接收到携带有秘钥信息的请求连接消息时,通信设备认证请求连接消息中的秘钥信息,采用适配成功时的当前波特率通过串口向主机发送携带有认证结果的请求连接响应消息。主机接收携带有认证结果的请求连接响应消息,如果认证结果指示认证成功,主机采用适配成功时的当前波特率与通信设备进行串口通信;否则,主机提示认证失败,通信设备继续按照其当前波特率等待携带有秘钥信息的请求连接消息。
本实施例中,通信设备采用随机变换的当前波特率,可以杜绝串口随意连接的安全隐患。同时通信双方的当前波特率适配成功后,本实施例还支持对主机进行认证,进一步保证了进行串口通信的安全性。本实施例实现简单,复杂度低,具备较好的通用性。
实施例二
本发明实施例提供了一种串口通信装置20,应用于通信设备,其示意图如图2所示,具体包括:
波特率发生器模块201,用于产生所述通信设备的当前波特率。
其中,所述通信设备的当前波特率是在所述通信设备支持的多种波特率中随机产生的。
串口通信模块202,用于按照所述通信设备的当前波特率从串口等待主机发送的请求连接消息,并确定所述主机的当前波特率与所述通信设备的当前波特率是否适配;以及用于确定所述主机的当前波特率与所述通信设备的当前波特率适配时,采用适配成功时所述通信设备的当前波特率通过串口向所述主机发送请求连接响应消息,并与所述主机进行串口通信。
其中,所述通信设备的串口为全双工串口。优选的,如图3所示,应用于通信设备的装置20中除包括如图2所示的波特率发生器模块201和串口通信模块202外,还包括定时器模块203。所述定时器模块203,用于在所述串口为UP状态时启动第二定时器;以及用于在接收到所述串口通信模块202启动所述第二定时器的通知时,重新启动所述第二定时器。所述串口通信模块202,具体用于如果在所述第二定时器的定时周期内未收到所述请求连接消息或者无法识别接收到的所述请求连接消息,在所述第二定时器超时后,通知所述波特率发生器模块201产生一个最新的当前波特率。通知所述定时器模块203重新启动所述第二定时器,所述串口通信模块202按照所述通信设备最新的所述当前波特率从串口等待主机发送的请求连接消息。以及用于识别接收到的所述请求连接消息,并维持其适配成功的当前波特率不再变化。其中,所述主机支持的多种波特率与所述通信设备支持的多种波特率相同。
本实施例中,所述定时器模块203,还用于所述通信设备与所述主机进行串口通信时,启动第三定时器。以及用于在接收到所述串口通信模块202启动所述第三定时器的通知时,重新启动所述第三定时器。所述串口通信模块202,还用于如果在所述第三定时器的定时周期内所述串口通信模块202未接收到所述主机发送的任何串口数据,在所述第三定时器超时后,通知所述波特率发生器模块201产生一个最新的当前波特率;通知所述定时器模块203重新启动所述第三定时器,所述串口通信模块202按照最新的所述当前波特率继续等待所述请求连接消息。
优选的,作为本实施例的另一个技术方案,如图4所示,应用于通信设备的装置20除包括如图3所示的波特率发生器模块201、串口通信模块202和定时器模块203外,还包括认证模块204。所述认证模块204,用于在所述串口通信模块202确定所述主机的当前波特率与所述通信设备的当前波特率适配时,认证所述请求连接消息中的秘钥信息。所述串口通信模块202,还具体用于在所述认证模块204认证所述请求连接消息中的秘钥信息后,采用适配成功时所述通信设备的当前波特率通过串口向所述主机发送携带有认证结果的请求连接响应消息;如果所述认证结果指示认证成功,与所述主机进行串口通信;否则,继续按照所述通信设备的当前波特率从串口等待所述主机发送的携带有秘钥信息的请求连接消息。
本实施例中,通信设备采用随机变换的当前波特率,可以杜绝串口随意连接的安全隐患。同时通信双方的当前波特率适配成功后,本实施例还支持对主机进行认证,进一步保证了进行串口通信的安全性。本实施例实现简单,复杂度低,具备较好的通用性。
实施例三
本发明实施例提供了一种串口通信装置30,应用于主机,其示意图如图5所示,具体包括:
波特率发生器模块301,用于产生所述主机的当前波特率。
其中,所述主机的当前波特率是在所述主机支持的多种波特率中顺序循环产生的;所述主机支持的多种波特率与所述通信设备支持的多种波特率相同。
串口通信模块302,用于按照所述主机的当前波特率通过串口发送请求连接消息到通信设备。以及用于接收请求连接响应消息,并采用适配成功时所述主机的当前波特率与所述通信设备进行串口通信。优选的,所述串口通信模块302,用于按照所述主机的当前波特率通过串口发送携带有秘钥消息的请求连接消息到所述通信设备。以及用于接收携带有认证结果的所述请求连接响应消息,如果认证结果指示认证成功,采用适配成功时所述主机的当前波特率与所述通信设备进行串口通信,否则,所述串口通信模块302提示认证失败。其中,所述主机的串口为全双工串口。
本实施例中,如图6所示,应用于主机的装置30除包括如图5所示的波特率发生器模块301和串口通信模块302外,还包括定时器模块303。所述定时器模块303,用于在所述串口为UP状态时启动第一定时器。以及用于在接收到所述串口通信模块302启动所述第一定时器的通知时,重新启动所述第一定时器。所述串口通信模块302,具体用于如果在所述第一定时器的定时周期内所述串口通信模块302未收到所述通信设备发送的所述请求连接响应消息,在所述第一定时器超时后,通知所述波特率发生器模块301产生一个最新的当前波特率。通知所述定时器模块303重新启动所述第一定时器,按照最新的所述当前波特率通过串口继续发送请求连接消息到所述通信设备。优选的,所述串口通信模块302,具体用于如果在所述第一定时器的定时周期内所述串口通信模块302未收到所述通信设备发送的携带有认证结果的所述请求连接响应消息,在所述第一定时器超时后,通知所述波特率发生器模块301产生一个最新的当前波特率。通知所述定时器模块303重新启动所述第一定时器,按照其最新的所述当前波特率通过串口继续发送所述携带有秘钥消息的请求连接消息到所述通信设备。
本实施例中,所述定时器模块303,还用于所述通信设备与所述主机进行串口通信时,启动第四定时器,其中,所述第四定时器的定时周期与所述第三定时器的定时周期相同。以及用于在接收到所述串口通信模块302启动所述第四定时器的通知时,重新启动所述第四定时器。所述串口通信模块302,还用于如果在所述第四定时器的定时周期内所述串口通信模块302未向所述通信设备发送任何串口数据,在所述第四定时器超时后,所述串口通信模块302如需再次向所述通信设备发送串口数据,通知所述波特率发生器模块301产生一个最新的当前波特率。所述串口通信模块302先按照最新的所述当前波特率重新通过串口发送所述请求连接消息或者携带有认证结果的的所述请求连接消息到所述通信设备进行适配。所述波特率发生器模块301,还用于在接收所述串口通信模块302的通知时,在支持的多种波特率中顺序循环产生一个最新的当前波特率。
本实施例中,主机采用顺序变换的当前波特率与采用随机变换当前波特率的通信设备进行适配,可以杜绝串口随意连接的安全隐患。同时通信双方的当前波特率适配成功后,本实施例的主机还支持发送携带有秘钥信息的请求连接消息至通信设备进行认证,进一步保证了进行串口通信的安全性。本实施例实现简单,复杂度低,具备较好的通用性。
实施例四
本发明实施例提供了一种串口通信系统40,如图7所示,具体包括:主机401和通信设备402。
所述通信设备402包括如实施例二所述的装置,所述主机401包括如实施例三所述的装置;其中,所述第二定时器的定时周期等于所述支持的多种波特率个数乘以所述第一定时器的定时周期。
本实施例中,通信设备采用随机变换的当前波特率,可以杜绝串口随意连接的安全隐患。同时通信双方的当前波特率适配成功后,本实施例还支持对主机进行认证,进一步保证了进行串口通信的安全性。本实施例实现简单,复杂度低,具备较好的通用性。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (11)

1.一种串口通信方法,其特征在于,所述方法包括:
主机按照其当前波特率通过串口发送请求连接消息到通信设备;所述通信设备按照其当前波特率等待所述请求连接消息;其中,所述主机的当前波特率是在支持的多种波特率中顺序循环选取的;所述通信设备的当前波特率是在支持的多种波特率中随机选取的;
确定所述主机的当前波特率与所述通信设备的当前波特率适配时,所述通信设备采用适配成功时的当前波特率通过串口向所述主机发送请求连接响应消息,所述主机接收所述请求连接响应消息后,采用适配成功时的当前波特率与所述通信设备进行串口通信;
其中,所述主机的串口和所述通信设备的串口都为全双工串口。
2.如权利要求1所述的方法,其特征在于,
所述主机按照其当前波特率通过串口发送请求连接消息到通信设备,包括:
所述主机的串口为UP状态时启动第一定时器,如果在所述第一定时器的定时周期内所述主机未收到所述通信设备发送的所述请求连接响应消息,在所述第一定时器超时后所述主机在支持的多种波特率中顺序循环选取下一个波特率作为最新的当前波特率;重新启动所述第一定时器,所述主机按照其最新的所述当前波特率通过串口继续发送请求连接消息到所述通信设备;
所述通信设备按照其当前波特率等待所述请求连接消息,包括:
所述通信设备的串口为UP状态时启动第二定时器,如果在所述第二定时器的定时周期内所述通信设备未收到所述请求连接消息或者无法识别接收到的所述请求连接消息,在所述第二定时器超时后所述通信设备在支持的多种波特率中随机选取任一波特率作为最新的当前波特率;重新启动所述第二定时器,所述通信设备按照其最新的所述当前波特率继续等待所述请求连接消息;
所述确定所述主机的当前波特率与所述通信设备的当前波特率适配,包括:所述通信设备识别接收到的所述请求连接消息,所述通信设备维持其适配成功的当前波特率不再变化;
其中,所述主机支持的多种波特率与所述通信设备支持的多种波特率相同;所述第二定时器的定时周期等于所述支持的多种波特率个数乘以所述第一定时器的定时周期。
3.如权利要求1所述的方法,其特征在于,所述主机采用适配成功时的当前波特率与所述通信设备进行串口通信,包括:
在所述通信设备采用适配成功时的当前波特率与所述主机进行串口通信时,启动第三定时器,如果在所述第三定时器的定时周期内所述通信设备未接收到所述主机发送的任何串口数据,在所述第三定时器超时后所述通信设备在支持的多种波特率中随机选取任一波特率作为最新的当前波特率;重新启动所述第三定时器,所述通信设备按照其最新的所述当前波特率继续等待所述请求连接消息;
所述主机采用适配成功时的当前波特率与所述通信设备进行串口通信时,启动第四定时器;如果在所述第四定时器的定时周期内所述主机未向所述通信设备发送任何串口数据,在所述第四定时器超时后所述主机如需再次向所述通信设备发送串口数据,所述主机在支持的多种波特率中顺序循环选取下一个波特率作为最新的当前波特率;所述主机先按照其最新的所述当前波特率重新通过串口发送所述请求连接消息到所述通信设备进行适配;待适配成功后,所述主机采用适配成功时的当前波特率与所述通信设备进行串口通信;其中,所述第四定时器的定时周期与所述第三定时器的定时周期相同。
4.如权利要求1所述的方法,其特征在于,
所述主机按照其当前波特率通过串口发送请求连接消息到通信设备,包括:所述主机按照其当前波特率通过串口发送携带有秘钥信息的请求连接消息到通信设备;
所述通信设备按照其当前波特率等待所述请求连接消息,包括:所述通信设备按照其当前波特率等待携带有秘钥信息的所述请求连接消息;
所述通信设备采用适配成功时的当前波特率通过串口向所述主机发送请求连接响应消息,包括:所述通信设备认证所述请求连接消息中的秘钥信息,采用适配成功时的当前波特率通过串口向所述主机发送携带有认证结果的请求连接响应消息;
所述主机接收所述请求连接响应消息后,采用适配成功时的当前波特率与所述通信设备进行串口通信,包括:所述主机接收携带有认证结果的请求连接响应消息;如果所述认证结果指示认证成功,所述主机采用适配成功时的当前波特率与所述通信设备进行串口通信;否则,所述主机提示认证失败,所述通信设备继续按照其当前波特率等待携带有秘钥信息的所述请求连接消息。
5.一种串口通信装置,其特征在于,应用于通信设备,所述装置包括:
波特率发生器模块,用于产生所述通信设备的当前波特率;其中,所述通信设备的当前波特率是在所述通信设备支持的多种波特率中随机产生的;
串口通信模块,用于按照所述通信设备的当前波特率从串口等待主机发送的请求连接消息,并确定所述主机的当前波特率与所述通信设备的当前波特率是否适配;以及用于确定所述主机的当前波特率与所述通信设备的当前波特率适配时,采用适配成功时所述通信设备的当前波特率通过串口向所述主机发送请求连接响应消息,并与所述主机进行串口通信;其中,所述通信设备的串口为全双工串口。
6.如权利要求5所述的装置,其特征在于,所述装置还包括定时器模块;
所述定时器模块,用于在所述串口为UP状态时启动第二定时器;以及用于在接收到所述串口通信模块启动所述第二定时器的通知时,重新启动所述第二定时器;
所述串口通信模块,具体用于如果在所述第二定时器的定时周期内未收到所述请求连接消息或者无法识别接收到的所述请求连接消息,在所述第二定时器超时后,通知所述波特率发生器模块产生一个最新的当前波特率;通知所述定时器模块重新启动所述第二定时器,所述串口通信模块按照所述通信设备最新的所述当前波特率从串口等待主机发送的请求连接消息;以及用于识别接收到的所述请求连接消息,并维持其适配成功的当前波特率不再变化;
所述波特率发生器模块,还用于在接收所述串口通信模块的通知时,在支持的多种波特率中随机产生一个最新的当前波特率;
其中,所述主机支持的多种波特率与所述通信设备支持的多种波特率相同。
7.如权利要求6所述的装置,其特征在于,
所述定时器模块,还用于所述通信设备与所述主机进行串口通信时,启动第三定时器;以及用于在接收到所述串口通信模块启动所述第三定时器的通知时,重新启动所述第三定时器;
所述串口通信模块,还用于如果在所述第三定时器的定时周期内所述串口通信模块未接收到所述主机发送的任何串口数据,在所述第三定时器超时后,通知所述波特率发生器模块产生一个最新的当前波特率;通知所述定时器模块重新启动所述第三定时器,所述串口通信模块按照最新的所述当前波特率继续等待所述请求连接消息。
8.如权利要求5所述的装置,其特征在于,所述装置还包括认证模块;
所述认证模块,用于在所述串口通信模块确定所述主机的当前波特率与所述通信设备的当前波特率适配时,认证所述请求连接消息中的秘钥信息;
所述串口通信模块,还具体用于在所述认证模块认证所述请求连接消息中的秘钥信息后,采用适配成功时所述通信设备的当前波特率通过串口向所述主机发送携带有认证结果的请求连接响应消息;如果所述认证结果指示认证成功,与所述主机进行串口通信;否则,继续按照所述通信设备的当前波特率从串口等待所述主机发送的携带有秘钥信息的请求连接消息。
9.一种串口通信装置,其特征在于,应用于主机,所述装置包括:
波特率发生器模块,用于产生所述主机的当前波特率;其中,所述主机的当前波特率是在所述主机支持的多种波特率中顺序循环产生的;所述主机支持的多种波特率与所述通信设备支持的多种波特率相同;
串口通信模块,用于按照所述主机的当前波特率通过串口发送请求连接消息到通信设备;以及用于接收请求连接响应消息,并采用适配成功时所述主机的当前波特率与所述通信设备进行串口通信;
或者,所述串口通信模块,用于按照所述主机的当前波特率通过串口发送携带有秘钥消息的请求连接消息到所述通信设备;以及用于接收携带有认证结果的所述请求连接响应消息,如果认证结果指示认证成功,采用适配成功时所述主机的当前波特率与所述通信设备进行串口通信,否则,所述串口通信模块提示认证失败;
其中,所述主机的串口为全双工串口。
10.如权利要求9所述的装置,其特征在于,所述装置还包括定时器模块;
所述定时器模块,用于在所述串口为UP状态时启动第一定时器;以及用于在接收到所述串口通信模块启动所述第一定时器的通知时,重新启动所述第一定时器;
所述串口通信模块,具体用于如果在所述第一定时器的定时周期内所述串口通信模块未收到所述通信设备发送的所述请求连接响应消息,在所述第一定时器超时后,通知所述波特率发生器模块产生一个最新的当前波特率;通知所述定时器模块重新启动所述第一定时器,按照最新的所述当前波特率通过串口继续发送请求连接消息到所述通信设备;
或者,所述串口通信模块,具体用于如果在所述第一定时器的定时周期内所述串口通信模块未收到所述通信设备发送的携带有认证结果的所述请求连接响应消息,在所述第一定时器超时后,通知所述波特率发生器模块产生一个最新的当前波特率;通知所述定时器模块重新启动所述第一定时器,按照其最新的所述当前波特率通过串口继续发送所述携带有秘钥消息的请求连接消息到所述通信设备;
所述定时器模块,还用于所述通信设备与所述主机进行串口通信时,启动第四定时器,其中,所述第四定时器的定时周期与所述第三定时器的定时周期相同;以及用于在接收到所述串口通信模块启动所述第四定时器的通知时,重新启动所述第四定时器;
所述串口通信模块,还用于如果在所述第四定时器的定时周期内所述串口通信模块未向所述通信设备发送任何串口数据,在所述第四定时器超时后,所述串口通信模块如需再次向所述通信设备发送串口数据,通知所述波特率发生器模块产生一个最新的当前波特率;所述串口通信模块先按照最新的所述当前波特率重新通过串口发送所述请求连接消息或者携带有认证结果的的所述请求连接消息到所述通信设备进行适配;
所述波特率发生器模块,还用于在接收所述串口通信模块的通知时,在支持的多种波特率中顺序循环产生一个最新的当前波特率。
11.一种串口通信系统,其特征在于,所述系统包括主机和通信设备;所述通信设备包括如权利要求5至8任一项所述的装置,所述主机包括如权利要求9或10所述的装置;其中,所述第二定时器的定时周期等于所述支持的多种波特率个数乘以所述第一定时器的定时周期。
CN201811587721.1A 2018-12-25 2018-12-25 串口通信方法、装置及系统 Active CN109510689B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811587721.1A CN109510689B (zh) 2018-12-25 2018-12-25 串口通信方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811587721.1A CN109510689B (zh) 2018-12-25 2018-12-25 串口通信方法、装置及系统

Publications (2)

Publication Number Publication Date
CN109510689A true CN109510689A (zh) 2019-03-22
CN109510689B CN109510689B (zh) 2022-03-22

Family

ID=65754599

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811587721.1A Active CN109510689B (zh) 2018-12-25 2018-12-25 串口通信方法、装置及系统

Country Status (1)

Country Link
CN (1) CN109510689B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110213021A (zh) * 2019-06-10 2019-09-06 海尔优家智能科技(北京)有限公司 串行通讯数据传输方法及装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6675215B1 (en) * 2000-02-17 2004-01-06 Microsoft Corporation Automatic baud rate detection of null modem unimodem client connection
CN102231667A (zh) * 2011-07-29 2011-11-02 飞天诚信科技股份有限公司 串口设备注册的方法和装置
CN104598417A (zh) * 2015-01-04 2015-05-06 硅谷数模半导体(北京)有限公司 基于片上系统的串口发送方法和装置
US20160330044A1 (en) * 2013-12-30 2016-11-10 Schneider Electric It Corporation System and method for automatically selecting baud rate in a can network
CN106209148A (zh) * 2016-07-01 2016-12-07 中国电子科技集团公司第十研究所 多功能射频模块通用接口系统
CN107566088A (zh) * 2017-09-07 2018-01-09 维沃移动通信有限公司 一种波特率的调整方法及充电适配器
CN108092746A (zh) * 2017-12-26 2018-05-29 上海斐讯数据通信技术有限公司 一种串口通信方法及系统
CN108153696A (zh) * 2017-12-29 2018-06-12 广州市中海达测绘仪器有限公司 嵌入式系统串口模块匹配方法、装置、介质和计算机设备
US20180278444A1 (en) * 2016-02-23 2018-09-27 Huawei Technologies Co., Ltd. FFE-Aided CDR to Calibrate Phase Offset and Enhance Gain In Baud Rate Sampling Phase Detector

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6675215B1 (en) * 2000-02-17 2004-01-06 Microsoft Corporation Automatic baud rate detection of null modem unimodem client connection
CN102231667A (zh) * 2011-07-29 2011-11-02 飞天诚信科技股份有限公司 串口设备注册的方法和装置
US20160330044A1 (en) * 2013-12-30 2016-11-10 Schneider Electric It Corporation System and method for automatically selecting baud rate in a can network
CN104598417A (zh) * 2015-01-04 2015-05-06 硅谷数模半导体(北京)有限公司 基于片上系统的串口发送方法和装置
US20180278444A1 (en) * 2016-02-23 2018-09-27 Huawei Technologies Co., Ltd. FFE-Aided CDR to Calibrate Phase Offset and Enhance Gain In Baud Rate Sampling Phase Detector
CN106209148A (zh) * 2016-07-01 2016-12-07 中国电子科技集团公司第十研究所 多功能射频模块通用接口系统
CN107566088A (zh) * 2017-09-07 2018-01-09 维沃移动通信有限公司 一种波特率的调整方法及充电适配器
CN108092746A (zh) * 2017-12-26 2018-05-29 上海斐讯数据通信技术有限公司 一种串口通信方法及系统
CN108153696A (zh) * 2017-12-29 2018-06-12 广州市中海达测绘仪器有限公司 嵌入式系统串口模块匹配方法、装置、介质和计算机设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李蔚等: "机载计算机高速异步串口设计与实现", 《计算机测量与控制》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110213021A (zh) * 2019-06-10 2019-09-06 海尔优家智能科技(北京)有限公司 串行通讯数据传输方法及装置
CN110213021B (zh) * 2019-06-10 2022-01-25 海尔优家智能科技(北京)有限公司 串行通讯数据传输方法及装置

Also Published As

Publication number Publication date
CN109510689B (zh) 2022-03-22

Similar Documents

Publication Publication Date Title
KR100688272B1 (ko) 무선통신 시스템, 통신 장치, 통신 제어 방법 및 통신 제어 프로그램을 기록한 기록 매체
EP2941854B1 (en) Authenticating a wireless dockee to a wireless docking service
CN107113171B (zh) 安全通信系统、方法及装置
KR101018435B1 (ko) 사용자 단말기의 보안 관리 장치 및 방법
CN101699820B (zh) 动态口令的认证方法和装置
CN101964789B (zh) 安全访问受保护资源的方法及系统
CN103491084A (zh) 一种客户端的认证处理方法及装置
EP2544397B1 (en) Method and communication device for accessing to devices in security
WO2015130734A1 (en) Two-factor authentication systems and methods
CN109688573A (zh) 蓝牙设备间的交互方法及蓝牙设备
CN112398894B (zh) 车用的安全验证方法及装置
JP2009140275A (ja) 非接触icカード認証システム
CN107113172B (zh) 无人机认证方法,安全通信方法及对应系统
CN110620792A (zh) 通信加密方法、通信设备、系统及计算机可读存储介质
CN109510689A (zh) 串口通信方法、装置及系统
WO2024060673A1 (zh) 物理钥匙的激活方法、系统、装置、设备及介质
CN109039595A (zh) 一种降低物联网终端临时密码下发时延的方法、装置和服务器
CN104823509B (zh) 随机接入方法及设备
CN109525462B (zh) 网关测试方法及装置
CN106657034A (zh) 一种业务鉴权的方法及鉴权能力开放服务器
JP2014127005A (ja) 画像形成装置及び機器情報管理システム
JPH07152520A (ja) 印刷装置
CN101640680B (zh) 一种网络接入控制的方法、系统和装置
CN107624229B (zh) 用于在网络中产生机密或密钥的方法
CN101998382B (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
CP02 Change in the address of a patent holder

Address after: 610041 nine Xing Xing Road 16, hi tech Zone, Sichuan, Chengdu

Patentee after: MAIPU COMMUNICATION TECHNOLOGY Co.,Ltd.

Address before: 610041 15-24 floor, 1 1 Tianfu street, Chengdu high tech Zone, Sichuan

Patentee before: MAIPU COMMUNICATION TECHNOLOGY Co.,Ltd.

CP02 Change in the address of a patent holder