一种设备串口通讯方法及系统技术方案

技术编号:38577033 阅读:14 留言:0更新日期:2023-08-26 23:24
本申请涉及串口通讯的技术领域,尤其涉及一种设备串口通讯方法及系统。本申请通过采用预设协议格式的数据包发送数据,将子设备串联起来,通过设备号和子设备之间的接力传递,实现了在数据传递过程中自动确定设备地址,不同人工编码或者软件进行设置地址,提高了串口通讯的便捷性。讯的便捷性。讯的便捷性。

【技术实现步骤摘要】
一种设备串口通讯方法及系统


[0001]本申请涉及串口通讯的
,尤其是涉及一种设备串口通讯方法及系统。

技术介绍

[0002]串口通信是指外设和计算机间,通过数据信号线、地线、控制线等,按位进行传输数据的一种通讯方式。
[0003]RS485通讯是串口通信的一种方式,其使用的数据线少,在远距离通讯中可以节约成本,具有传输距离远、稳定性好、成本低等优点,因此被广泛应用于各种设备串口通信。现有的RS485通讯采用RS485总线连接,数据通过RS485总线传递,通过拨码或软件为每个从机设备进行地址设置,然后基于每个从机设备的地址进行通讯,对设备的编址比较麻烦,对此情况有待进一步改善。

技术实现思路

[0004]为了解决现有的设备串口通讯时需要通过拨码或软件进行地址设置比较麻烦的问题,本申请提供一种设备串口通讯方法及系统,采用如下的技术方案:第一方面,本申请提供一种设备串口通讯方法,应用于设备串口通讯系统中,所述系统包括主设备和多个子设备,多个所述子设备串行连接,多个所述子设备中包括一个最下端子设备和一个最上端子设备,所述主设备与所述最上端子设备连接,所述方法包括:在所述子设备上传数据时,所述子设备执行如下步骤:接收下端子设备发送的数据包,其中,所述数据包采用预设协议格式进行编码,所述预设协议格式包括包头、设备号、数据内容和校验位,每个子设备的数据内容长度固定,所述最下端子设备具有一个初始设备号;拷贝接收到的数据,并将自身的数据内容添加至所述数据包的数据内容中,并将所述设备号加一个预设数值,重新组包;将重新组包后的数据包向上端发送,直至所述主设备接收到数据包;在所述子设备接收数据时,所述子设备执行如下步骤:接收上端设备发送的数据包,其中,所述数据包采用预设协议格式进行编码,所述预设协议格式包括包头、设备号、数据内容和校验位,每个子设备的数据内容长度固定,所述主设备发送的数据包中设备号为接收到的设备号减去目标子设备的设备号;将接收到的数据包中的设备号减一个预设数值;判断所述设备号是否为初始设备号,在所述设备号为初始设备号的情况下,确定自身为目标子设备,获取所述数据包中的数据内容并进行处理;在所述设备号不为初始设备号的情况下,重新组包并将重新组包后的数据包发送至下端子设备。
[0005]通过采用上述技术方案,本申请在子设备上传数据时,通过预设协议格式对数据包进行编码,预设协议格式中包括设备号和数据内容,且固定每个子设备的数据内容长度,
然后子设备拷贝自身数据并添加至数据内容尾部,并将设备号加一个预设数值,将重新组包的数据包发送至下一个子设备,直至主设备接收到数据包,从而使得主设备接收到的数据包中包括设备号和所有子设备的自身数据,其中,最下端子设备具有一个初始设备号,由于从最下端子设备开始,每个子设备在数据包发送之前都将设备号加一个预设数值,因此,可以根据最后主设备接收到的设备号和预设数值计算所有子设备的设备个数。
[0006]当主设备想要根据某一个目标子设备的自身数据进行反馈时,只要将数据包中的设备号设置为接收到的设备号减去目标子设备的设备号;然后发送到最上端子设备,当子设备接收到数据包后,子设备将设备号减一个预设数值,然后对设备号进行判断,当序号为初始设备号时,获取数据内容并进行处理,在序号不为初始设备号时,重新组包并将重新组包后的数据包发送至下端子设备。
[0007]通过子设备在接收下端子设备和上端子设备的数据时的两种处理方法,从而通过设备号和子设备之间的接力传递数据,实现在数据传递过程中自动确定设备地址,不用通过人工编码或软件进行设置地址。
[0008]可选的,所有所述子设备每间隔第一预设时间周期向上端设备发送数据。
[0009]通过采用上述技术方案,所有子设备每间隔第一预设时间周期向上端设备发送数据,从而实现了自动数据传递。
[0010]可选的,在子设备超过预设时间阈值没有接收到数据包的情况下,所述子设备确定自身为最下端子设备,将设备号置为初始设备号并向上端发送数据包,其中,所述预设时间阈值大于所述第一预设时间周期。
[0011]通过采用上述技术方案,当子设备超过预设时间阈值没有接收到数据包时,子设备的下端可能没有其他子设备,即子设备为最下端子设备,此时子设备将设备号置为初始设备号并向上端发送数据包,从而实现了自动上传数据并且自动确定设备地址。
[0012]可选的,子设备每间隔第二预设时间检测自身引脚电平,基于所述引脚电平状态确定自身为最下端子设备。
[0013]通过采用上述技术方案,在一些实施例中,最下端子设备的后面没有接其他设备时,子设备的硬件电路可以通过每间隔第二预设时间检测自身一个引脚电平高低,基于引脚电平状态确认后面没有接其他设备,即,子设备为最下端子设备。
[0014]可选的,所述方法还包括:设备在接收到数据包后,对接收到的数据包进行校验。
[0015]通过采用上述技术方案,在接收到数据包后,对接收到的数据包进行校验,从而确认接收到的数据包是否正常,从而对脏数据进行过滤。
[0016]可选的,所述校验采用CRC校验。
[0017]通过采用上述技术方案,通过采用CRC循环冗余校验码进行校验,编码检码简单,检错能力强。
[0018]可选的,所述主设备和所述子设备,以及所述子设备之间均采用RS485连接。
[0019]通过采用上述技术方案,设备之间均采用RS485连接,具有传输距离远、稳定性好、成本低的优点。
[0020]第二方面,本申请提供一种设备串口通讯方法,应用于设备串口通讯系统中,所述系统包括主设备和多个子设备,多个所述子设备串行连接,多个所述子设备中包括一个最
下端子设备和一个最上端子设备,所述主设备与所述最上端子设备连接,所述方法包括:接收最上端子设备发送的数据包;确定要发送的目标子设备;将数据包中设备号设置为接收到的设备号减去目标子设备的设备号;将数据包发送至最上端子设备。
[0021]通过采用上述技术方案,当主设备发送数据时,通过先接收最上端子设备发送的数据包,然后确定要发送的目标子设备,然后将数据包中设备号设置为目标子设备的设备号,将数据包发送至最上端子设备,即可实现将数据发送至目标子设备。
[0022]第三方面,本申请提供一种串口通讯子设备,包括:第一数据包接收单元,用于接收下端子设备发送的数据包,其中,所述数据包采用预设协议格式进行编码,所述预设协议格式包括包头、设备号、数据内容和校验位,每个子设备的数据内容长度固定,所述最下端子设备具有一个初始设备号;第一设备号更新单元,用于拷贝接收到的数据,并将自身的数据内容添加至所述数据包的数据内容中,并将所述设备号加一个预设数值,重新组包;上传单元,用于将重新组包后的数据包向上端发送,直至所述主设备接收到数据包;第二数据包接收单元,用于接收上端设备发送的数据包,其中,所述数据包采用预设协议格式进行编码,所述预设协议格式包括包头、设备号、数据内容和校验位,每个子设备的数据内容长度固定,所述主设备发送本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种设备串口通讯方法,其特征在于,应用于设备串口通讯系统中,所述系统包括主设备和多个子设备,多个所述子设备串行连接,多个所述子设备中包括一个最下端子设备和一个最上端子设备,所述主设备与所述最上端子设备连接,所述方法包括:在所述子设备上传数据时,所述子设备执行如下步骤:接收下端子设备发送的数据包,其中,所述数据包采用预设协议格式进行编码,所述预设协议格式包括包头、设备号、数据内容和校验位,每个子设备的数据内容长度固定,所述最下端子设备具有一个初始设备号;拷贝接收到的数据,并将自身的数据内容添加至所述数据包的数据内容中,并将所述设备号加一个预设数值,重新组包;将重新组包后的数据包向上端发送,直至所述主设备接收到数据包;在所述子设备接收数据时,所述子设备执行如下步骤:接收上端设备发送的数据包,其中,所述数据包采用预设协议格式进行编码,所述预设协议格式包括包头、设备号、数据内容和校验位,每个子设备的数据内容长度固定,所述主设备发送的数据包中设备号为接收到的设备号减去目标子设备的设备号;将接收到的数据包中的设备号减一个预设数值;判断所述设备号是否为初始设备号,在所述设备号为初始设备号的情况下,确定自身为目标子设备,获取所述数据包中的数据内容并进行处理;在所述设备号不为初始设备号的情况下,重新组包并将重新组包后的数据包发送至下端子设备。2.根据权利要求1所述的设备串口通讯方法,其特征在于:所有所述子设备每间隔第一预设时间周期向上端设备发送数据。3.根据权利要求2所述的设备串口通讯方法,其特征在于:在子设备超过预设时间阈值没有接收到数据包的情况下,所述子设备确定自身为最下端子设备,将设备号置为初始设备号并向上端发送数据包,其中,所述预设时间阈值大于所述第一预设时间周期。4.根据权利要求1所述的设备串口通讯方法,子设备每间隔第二预设时间检测自身引脚电平,基于所述引脚电平状态确定自身为最下端子设备。5.根据权利要求1所述的一种设备串口通讯方法,其特征在于,所述方法还包括:设备在接收到数据包后,对接收到的数据包进行校验。6.根据权利要求5所述的一种设备串口通讯方法,其特征在于:所述校验采用CRC校验。7.一种设备串口通讯方法,其特征在于,应用于设...

【专利技术属性】
技术研发人员:林斌
申请(专利权)人:深圳市中联创新自控系统有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1