一种设备串口通讯方法及系统与流程

文档序号:35208781发布日期:2023-08-24 02:15阅读:29来源:国知局
一种设备串口通讯方法及系统与流程

本技术涉及串口通讯的,尤其是涉及一种设备串口通讯方法及系统。


背景技术:

1、串口通信是指外设和计算机间,通过数据信号线、地线、控制线等,按位进行传输数据的一种通讯方式。

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


技术实现思路

1、为了解决现有的设备串口通讯时需要通过拨码或软件进行地址设置比较麻烦的问题,本技术提供一种设备串口通讯方法及系统,采用如下的技术方案:

2、第一方面,本技术提供一种设备串口通讯方法,应用于设备串口通讯系统中,所述系统包括主设备和多个子设备,多个所述子设备串行连接,多个所述子设备中包括一个最下端子设备和一个最上端子设备,所述主设备与所述最上端子设备连接,所述方法包括:

3、在所述子设备上传数据时,所述子设备执行如下步骤:

4、接收下端子设备发送的数据包,其中,所述数据包采用预设协议格式进行编码,所述预设协议格式包括包头、设备号、数据内容和校验位,每个子设备的数据内容长度固定,所述最下端子设备具有一个初始设备号;

5、拷贝接收到的数据,并将自身的数据内容添加至所述数据包的数据内容中,并将所述设备号加一个预设数值,重新组包;

6、将重新组包后的数据包向上端发送,直至所述主设备接收到数据包;

7、在所述子设备接收数据时,所述子设备执行如下步骤:

8、接收上端设备发送的数据包,其中,所述数据包采用预设协议格式进行编码,所述预设协议格式包括包头、设备号、数据内容和校验位,每个子设备的数据内容长度固定,所述主设备发送的数据包中设备号为接收到的设备号减去目标子设备的设备号;

9、将接收到的数据包中的设备号减一个预设数值;

10、判断所述设备号是否为初始设备号,在所述设备号为初始设备号的情况下,确定自身为目标子设备,获取所述数据包中的数据内容并进行处理;

11、在所述设备号不为初始设备号的情况下,重新组包并将重新组包后的数据包发送至下端子设备。

12、通过采用上述技术方案,本技术在子设备上传数据时,通过预设协议格式对数据包进行编码,预设协议格式中包括设备号和数据内容,且固定每个子设备的数据内容长度,然后子设备拷贝自身数据并添加至数据内容尾部,并将设备号加一个预设数值,将重新组包的数据包发送至下一个子设备,直至主设备接收到数据包,从而使得主设备接收到的数据包中包括设备号和所有子设备的自身数据,其中,最下端子设备具有一个初始设备号,由于从最下端子设备开始,每个子设备在数据包发送之前都将设备号加一个预设数值,因此,可以根据最后主设备接收到的设备号和预设数值计算所有子设备的设备个数。

13、当主设备想要根据某一个目标子设备的自身数据进行反馈时,只要将数据包中的设备号设置为接收到的设备号减去目标子设备的设备号;然后发送到最上端子设备,当子设备接收到数据包后,子设备将设备号减一个预设数值,然后对设备号进行判断,当序号为初始设备号时,获取数据内容并进行处理,在序号不为初始设备号时,重新组包并将重新组包后的数据包发送至下端子设备。

14、通过子设备在接收下端子设备和上端子设备的数据时的两种处理方法,从而通过设备号和子设备之间的接力传递数据,实现在数据传递过程中自动确定设备地址,不用通过人工编码或软件进行设置地址。

15、可选的,所有所述子设备每间隔第一预设时间周期向上端设备发送数据。

16、通过采用上述技术方案,所有子设备每间隔第一预设时间周期向上端设备发送数据,从而实现了自动数据传递。

17、可选的,在子设备超过预设时间阈值没有接收到数据包的情况下,所述子设备确定自身为最下端子设备,将设备号置为初始设备号并向上端发送数据包,其中,所述预设时间阈值大于所述第一预设时间周期。

18、通过采用上述技术方案,当子设备超过预设时间阈值没有接收到数据包时,子设备的下端可能没有其他子设备,即子设备为最下端子设备,此时子设备将设备号置为初始设备号并向上端发送数据包,从而实现了自动上传数据并且自动确定设备地址。

19、可选的,子设备每间隔第二预设时间检测自身引脚电平,基于所述引脚电平状态确定自身为最下端子设备。

20、通过采用上述技术方案,在一些实施例中,最下端子设备的后面没有接其他设备时,子设备的硬件电路可以通过每间隔第二预设时间检测自身一个引脚电平高低,基于引脚电平状态确认后面没有接其他设备,即,子设备为最下端子设备。

21、可选的,所述方法还包括:

22、设备在接收到数据包后,对接收到的数据包进行校验。

23、通过采用上述技术方案,在接收到数据包后,对接收到的数据包进行校验,从而确认接收到的数据包是否正常,从而对脏数据进行过滤。

24、可选的,所述校验采用crc校验。

25、通过采用上述技术方案,通过采用crc循环冗余校验码进行校验,编码检码简单,检错能力强。

26、可选的,所述主设备和所述子设备,以及所述子设备之间均采用rs485连接。

27、通过采用上述技术方案,设备之间均采用rs485连接,具有传输距离远、稳定性好、成本低的优点。

28、第二方面,本技术提供一种设备串口通讯方法,应用于设备串口通讯系统中,所述系统包括主设备和多个子设备,多个所述子设备串行连接,多个所述子设备中包括一个最下端子设备和一个最上端子设备,所述主设备与所述最上端子设备连接,所述方法包括:

29、接收最上端子设备发送的数据包;

30、确定要发送的目标子设备;

31、将数据包中设备号设置为接收到的设备号减去目标子设备的设备号;

32、将数据包发送至最上端子设备。

33、通过采用上述技术方案,当主设备发送数据时,通过先接收最上端子设备发送的数据包,然后确定要发送的目标子设备,然后将数据包中设备号设置为目标子设备的设备号,将数据包发送至最上端子设备,即可实现将数据发送至目标子设备。

34、第三方面,本技术提供一种串口通讯子设备,包括:

35、第一数据包接收单元,用于接收下端子设备发送的数据包,其中,所述数据包采用预设协议格式进行编码,所述预设协议格式包括包头、设备号、数据内容和校验位,每个子设备的数据内容长度固定,所述最下端子设备具有一个初始设备号;

36、第一设备号更新单元,用于拷贝接收到的数据,并将自身的数据内容添加至所述数据包的数据内容中,并将所述设备号加一个预设数值,重新组包;

37、上传单元,用于将重新组包后的数据包向上端发送,直至所述主设备接收到数据包;

38、第二数据包接收单元,用于接收上端设备发送的数据包,其中,所述数据包采用预设协议格式进行编码,所述预设协议格式包括包头、设备号、数据内容和校验位,每个子设备的数据内容长度固定,所述主设备发送的数据包中设备号为接收到的设备号减去目标子设备的设备号;

39、第二设备号更新单元,用于将接收到的数据包中的设备号减一个预设数值;

40、判断单元,用于判断所述设备号是否为初始设备号;

41、处理单元,用于在所述设备号为初始设备号的情况下,确定自身为目标子设备,获取所述数据包中的数据内容并进行处理;

42、下传单元,用于在所述设备号不为初始设备号的情况下,重新组包并将重新组包后的数据包发送至下端子设备。

43、第四方面,本技术提供一种串口通讯主设备,包括:

44、第三数据包接收单元,用于接收最上端子设备发送的数据包;

45、目标子设备确定单元,用于确定要发送的目标子设备;

46、设备号设置单元,用于将数据包中设备号设置为接收到的设备号减去目标子设备的设备号;

47、发送单元,用于将数据包发送至最上端子设备。

48、第五方面,本技术提供一种串口设备通讯系统,包括主设备和多个子设备,其中,

49、所述子设备配置为执行上述第一方面提供的任意一种所述的设备串口通讯方法;

50、所述主设备配置为执行上述第二方面提供的设备串口通讯方法。

51、综上所述,本技术包括以下至少一种有益技术效果:

52、1.本技术通过采用预设协议格式的数据包发送数据,将子设备串联起来,通过设备号和子设备之间的接力传递,实现了在数据传递过程中自动确定设备地址,不同人工编码或者软件进行设置地址,提高了串口通讯的便捷性;

53、2.本技术中,当子设备超过预设时间阈值没有接收到数据包时,子设备确定自身为最下端子设备,然后将设备号置为0并向上端发送数据包,从而实现了自动上传数据并且自动确定设备地址。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1