一种上位机软件与单片机程序通讯方法与流程

文档序号:27449582发布日期:2021-11-18 00:38阅读:768来源:国知局
一种上位机软件与单片机程序通讯方法与流程

1.本发明涉及通讯技术领域,特别的为一种上位机软件与单片机程序通讯方法。


背景技术:

2.上位机是指可以直接发出操控命令的计算机,会在屏幕上显示各种信号变化(液压,水位,温度等),单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器cpu、随机存储器ram、只读存储器rom、多种i/o口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、a/d转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。
3.目前对上位机软件与单片机程序通讯方法,在进行进行通讯时,单一的验证方式,易造成通讯泄露,安全性不佳,同时,在进行通讯过程中,通讯通道易发生堵塞,进而影响通讯过程的稳定,无法满足使用者的使用需求。
4.综上所述,研发一种上位机软件与单片机程序通讯方法,仍是通讯技术领域中急需解决的关键问题。


技术实现要素:

5.本发明提供的发明目的在于提供一种上位机软件与单片机程序通讯方法,解决上述背景技术中的问题。
6.为实现以上目的,本发明通过以下技术方案予以实现:一种上位机软件与单片机程序通讯方法,包括以下步骤:
7.s1、在上位机软件和单片机程序之间建立连接;
8.s2、上位机软件与单片机程序之间发送数据;
9.s3、对上位机软件和单片机程序间的通讯进行冲突检测,并根据冲突检测结果动态调整数据发送频率;
10.s4、完成上位机软件和单片机程序间的所有数据的交互。
11.进一步的,在s1操作步骤中,在上位机软件和单片机程序之间建立连接,包括以下步骤:
12.s101、上位机软件向单片机程序发送链路请求;
13.s102、单片机程序接收上位机软件发送的链路请求;
14.s103、单片机程序向上位机软件发送链路应答;
15.s104、上位机软件接收单片机发送的链路应答;
16.s105、上位机软件向单片机发送密钥;
17.s106、单片机程序接收上位机软件发送的密钥。
18.进一步的,在s2操作步骤中,所述数据的结构包括同步字、数据类型、传输数据和验证数据。
19.进一步的,所述同步字用于通讯双方的数据同步。
20.进一步的,所述数据类型包括密钥、密钥响应、读写写入和读写响应。
21.进一步的,所述验证数据用于验证数据完整性。
22.进一步的,所述传输数据为上位机软件和单片机程序之间传输的有效数据。
23.进一步的,在s2操作步骤中,上位机软件与单片机程序之间发送数据,包括以下步骤:
24.s201、对数据进行加密,并将密钥根据建立的链路发送给单片机程序;
25.s202、单片机程序接收密钥;
26.s203、上位机软件将加密后的数据根据建立的链路发送给单片机程序;
27.s204、单片机程序对数据进行解密,并根据数据结构,向上位机软件发送接收响应;
28.s205、上位机软件接收响应,并将新的密钥发送给单片机程序;
29.s206、重复步骤s202

s205,进行上位机软件和单片机程序间的数据交互。
30.进一步的,在进行加解密时,采用des加解密算法。
31.进一步的,在s3操作步骤中,对上位机软件和单片机程序间的通讯进行冲突检测,包括以下步骤:
32.s301、假设上位机软件和单片机程序间的通讯时间为q,完成通讯指定的间隔为q,有效通讯效率为u
q
,通讯数据为p;
33.s302、计算z个通讯信号在上位机软件通讯中可执行概率,计算公式为:
[0034][0035]
s303、计算通讯效率:
[0036]
u
q
=r1=q|1/q||1+1/q|
q+1

[0037]
s304、获取通讯效率的极大值,并计算出在时刻t进行等待的通讯任务的有效数量,计算公式为:
[0038]
e
t
=q(1+1/q)
q+1

[0039]
s305、对t时刻等待的通讯任务有效数量计算公式进行离散变换,获得:
[0040]
e
q
=q(1+r0+r1)=q(1+(1+1/q)
q
+q/q(1+1/q)
q+1
);
[0041]
s306、计算第k个时间段中的情景数目,计算公式为:
[0042][0043]
等待任务的有效数量为:
[0044][0045]
本发明提供了一种上位机软件与单片机程序通讯方法。具备以下有益效果:
[0046]
(1)、本发明采用动态的密钥,实现上位机软件和单片机之间的数据解密,能够有效的提升数据交互过程中的安全性,避免了非法数据的侵入。
[0047]
(2)、本发明通过进行冲突检测,使得上位机软件和单片机程序之间的数据交互,能够平稳的进行,避免了通讯时的数据堵塞,提升了通讯质量。
[0048]
(3)、本发明在进行上位机软件和单片机程序之间的通讯时,采用发起通讯请求和接收应答响应的方式,能够确保通讯过程中,数据交互的准确性,整个通讯过程快速、简单,值得推广。
附图说明
[0049]
图1为一种上位机软件与单片机程序通讯方法的流程图。
具体实施方式
[0050]
下面结合附图及具体实施例对本发明作进一步的详细描述,但不是对本发明的限定。
[0051]
实施例:
[0052]
请参照图1所示,一种上位机软件与单片机程序通讯方法,包括以下步骤:
[0053]
步骤一、在上位机软件和单片机程序之间建立连接。
[0054]
在上位机软件和单片机程序之间建立连接,包括以下步骤:
[0055]
101)、上位机软件向单片机程序发送链路请求。
[0056]
102)、单片机程序接收上位机软件发送的链路请求。
[0057]
103)、单片机程序向上位机软件发送链路应答。
[0058]
104)、上位机软件接收单片机发送的链路应答。
[0059]
106)、单片机程序接收上位机软件发送的密钥。
[0060]
步骤二、上位机软件与单片机程序之间发送数据。
[0061]
数据的结构包括同步字、数据类型、传输数据和验证数据。
[0062]
同步字用于通讯双方的数据同步。
[0063]
数据类型包括密钥、密钥响应、读写写入和读写响应。
[0064]
验证数据用于验证数据完整性。
[0065]
传输数据为上位机软件和单片机程序之间传输的有效数据。
[0066]
上位机软件与单片机程序之间发送数据,包括以下步骤:
[0067]
201)、对数据进行加密,并将密钥根据建立的链路发送给单片机程序。
[0068]
202)、单片机程序接收密钥。
[0069]
203)、上位机软件将加密后的数据根据建立的链路发送给单片机程序。
[0070]
204)、单片机程序对数据进行解密,并根据数据结构,向上位机软件发送接收响应。
[0071]
205)、上位机软件接收响应,并将新的密钥发送给单片机程序。
[0072]
206)、重复步骤202)

205),进行上位机软件和单片机程序间的数据交互。
[0073]
在进行加解密时,采用des加解密算法,des加解密算法的入口参数有三个:key、data、mode。key为加密解密使用的密钥,data为加密解密的数据,mode为其工作模式。当模式为加密模式时,按照64位进行分组,形成明文组,key用于对数据加密,当模式为解密模式时,key用于对数据解密。
[0074]
在上位机软件与单片机程序之间,也可以由单片机程序向上位机软性发送数据。
[0075]
步骤三、对上位机软件和单片机程序间的通讯进行冲突检测,并根据冲突检测结
果动态调整数据发送频率。
[0076]
对上位机软件和单片机程序间的通讯进行冲突检测,包括以下步骤:
[0077]
301)、假设上位机软件和单片机程序间的通讯时间为q,完成通讯指定的间隔为q,有效通讯效率为u
q
,通讯数据为p。
[0078]
302)、计算z个通讯信号在上位机软件通讯中可执行概率,计算公式为:
[0079][0080]
303)、计算通讯效率:
[0081]
u
q
=r1=q|1/q||1+1/q|
q+1
.
[0082]
304)、获取通讯效率的极大值,并计算出在时刻t进行等待的通讯任务的有效数量,计算公式为:
[0083]
e
t
=q(1+1/q)
q+1
.
[0084]
305)、对t时刻等待的通讯任务有效数量计算公式进行离散变换,获得:
[0085]
e
q
=q(1+r0+r1)=q(1+(1+1/q)
q
+q/q(1+1/q)
q+1
).
[0086]
s306、计算第k个时间段中的情景数目,计算公式为:
[0087][0088]
等待任务的有效数量为:
[0089][0090]
步骤四、完成上位机软件和单片机程序间的所有数据的交互。
[0091]
本发明采用动态的密钥,实现上位机软件和单片机之间的数据解密,能够有效的提升数据交互过程中的安全性,避免了非法数据的侵入,通过进行冲突检测,使得上位机软件和单片机程序之间的数据交互,能够平稳的进行,避免了通讯时的数据堵塞,提升了通讯质量,在进行上位机软件和单片机程序之间的通讯时,采用发起通讯请求和接收应答响应的方式,能够确保通讯过程中,数据交互的准确性,整个通讯过程快速、简单,值得推广。
[0092]
以上的仅是本发明的优选实施方式,应当指出,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1