一种基于网络的多单片机一次刷机系统及实现方法与流程

文档序号:11917748阅读:372来源:国知局
一种基于网络的多单片机一次刷机系统及实现方法与流程

本发明涉及嵌入式开发技术领域,尤其涉及一种基于网络的多单片机一次刷机系统及实现方法。



背景技术:

传统的单片机刷机时需要人工接线刷机,当需要刷写固件的单片机达到一定数量时,通过人工接线刷写固件的方式效率低下,且费时费力;当单片机置于包装外壳内时,刷写固件往往还需要拆开外壳,十分不便利;当固件内容过大单片机不能一次性存储时,需要逐条刷写。



技术实现要素:

本发明目的在于解决传统的单片机刷机时需要人工接线刷机,当需要刷写固件的单片机达到一定数量时,通过人工接线刷写固件的方式效率低下,且费时费力;当单片机置于包装外壳内时,刷写固件往往还需要拆开外壳,十分不便利;当固件内容过大单片机不能一次性存储时,需要逐条刷写的问题的不足而提供的一种新型基于网络的多单片机一次刷机系统及实现方法。

本发明是通过以下技术方案来实现的:一种基于网络的多单片机一次刷机系统及实现方法,包括如下步骤:

(1)准备构建基于网络的多单片机一次刷机系统的硬件系统;硬件系统由需要刷固件的所有单片机和一个PC端构成;

(2)所有单片机和PC端同时连接网络;

(3)PC端通过不同的IP地址对单片机进行识别;

(4)通过自定义的通信协议,PC端发送固件内容到所有单片机并逐条刷写固件到所有单片机;

(5)通过自定义的通信协议验证固件内容;

(6)完成发送固件内容。

进一步地,所述步骤(1)中硬件系统由需要刷固件的所有单片机和一个PC端构成,所有单片机包含外接串口转WIFI模块或者树莓派支持WIFI的系统模块,PC端必须支持发送固件和界面显示。

进一步地,所述步骤(2)所有单片机和PC端同时连接网络;由路由器发射WIFI信号,并且所有单片机和PC端同时连接上这个WIFI信号。

进一步地,所述步骤(3)PC端通过不同的IP地址对单片机进行识别;在连接网络信号的前提下,用PC端逐一连接单片机,并对单片机的IP地址进行修改,如修改为192.168.1.1,192.168.1.2,192.168.1.3,192.168.1.4···,192.168.1.n。

进一步地,所述步骤(4)通过自定义的通信协议,PC端发送固件内容到所有单片机并逐条刷写固件到所有单片机;自定义的通信协议为:0xbe+1byte id+1byte sequence+2bytes length+N bytes data,每次发送下一条消息时,序列号加一,重传时,序列号不变。

进一步地,所述步骤(5)通过自定义的通信协议验证固件内容;PC端每次发送一条消息之后,需要收到单片机发出的相同的序列号的应答才进行下一条序列号消息的发送,否则1s后自动重新发送该条消息,序列号不变,重传5次之后仍未收到应答则判定为超时;若多次收到相同序列号的消息,则只有第一次收到的消息有效,在原来基础上,当主机发送Send_Over后,下位机需要给上位机应答一个相同序列号的02号消息;之后下位机在发送下一个序列号给上位机来发送验证消息;

经验证,如果发送信息与应答信息不能相互匹配,则该条消息失效,返回到步骤(4),继续发送固件内容;

经验证,如果发送信息与应答信息能够相互匹配,则该条消息正确发送,转到步骤(6),成功发送固件内容。

进一步地,所述步骤(6)完成发送固件内容,PC端界面显示刷机成功。

本发明的有益效果在于:

(1)效率更高,传统刷写方法中,接线之后才能刷机,且每次只能刷写一个单片机的固件,引入网络刷机方法之后,可以同时支持多片单片机的固件更新,极大提高了更新固件的效率,大大减少工作量;

(2)刷写固件更方便,当需要刷写固件的单片机达到一定数量时,通过人工接线刷写固件的方式非常不方便,且费时费力,当单片机置于包装外壳内时,刷写固件往往还需要拆开外壳,十分不便利,通过网络的方式刷写固件更加方便;

(3)刷写功能更加多样化,引入自定义的通信协议之后,使得单片机更新固件时不必一次性存储全部固件,很好地解决了固件内容过大的问题,使刷写固件功能多样化。

【附图说明】

图1为本发明基于网络的多单片机一次刷机系统结构图;

图2为本发明基于网络的多单片机一次刷机系统刷多机示意图;

图3为本发明基于网络的多单片机一次刷机系统刷机流程图;

图4为本发明自定义通信协议的时序图。

【具体实施方式】

下面结合附图及具体实施方式对本发明做进一步描述:

如图1、图2、图3、图4所示,一种基于网络的多单片机一次刷机系统及实现方法,包括如下步骤:

(1)准备构建基于网络的多单片机一次刷机系统的硬件系统;硬件系统由需要刷固件的所有单片机和一个PC端构成;

(2)所有单片机和PC端同时连接网络;

(3)PC端通过不同的IP地址对单片机进行识别;

(4)通过自定义的通信协议,PC端发送固件内容到所有单片机并逐条刷写固件到所有单片机;

(5)通过自定义的通信协议验证固件内容;

(6)完成发送固件内容。

进一步地,所述步骤(1)中硬件系统由需要刷固件的所有单片机和一个PC端构成,所有单片机包含外接串口转WIFI模块或者树莓派支持WIFI的系统模块,PC端必须支持发送固件和界面显示。

进一步地,所述步骤(2)所有单片机和PC端同时连接网络;由路由器发射WIFI信号,并且所有单片机和PC端同时连接上这个WIFI信号。

进一步地,所述步骤(3)PC端通过不同的IP地址对单片机进行识别;在连接网络信号的前提下,用PC端逐一连接单片机,并对单片机的IP地址进行修改,如修改为192.168.1.1,192.168.1.2,192.168.1.3,192.168.1.4···,192.168.1.n。

进一步地,所述步骤(4)通过自定义的通信协议,PC端发送固件内容到所有单片机并逐条刷写固件到所有单片机;自定义的通信协议为:0xbe+1byte id+1byte sequence+2bytes length+N bytes data,每次发送下一条消息时,序列号加一,重传时,序列号不变。

进一步地,所述步骤(5)通过自定义的通信协议验证固件内容;PC端每次发送一条消息之后,需要收到单片机发出的相同的序列号的应答才进行下一条序列号消息的发送,否则1s后自动重新发送该条消息,序列号不变,重传5次之后仍未收到应答则判定为超时;若多次收到相同序列号的消息,则只有第一次收到的消息有效,在原来基础上,当主机发送Send_Over后,下位机需要给上位机应答一个相同序列号的02号消息;之后下位机在发送下一个序列号给上位机来发送验证消息;

经验证,如果发送信息与应答信息不能相互匹配,则该条消息失效,返回到步骤(4),继续发送固件内容;

经验证,如果发送信息与应答信息能够相互匹配,则该条消息正确发送,转到步骤(6),成功发送固件内容。

进一步地,所述步骤(6)完成发送固件内容,PC端界面显示刷机成功。

根据上述说明书的揭示和教导,本发明所属领域的技术人员还可以对上述实施方式进行适当的变更和修改。因此,本发明并不局限于上面揭示和描述的具体实施方式,对本发明的一些修改和变更也应当落入本发明的权利要求的保护范围内。此外,尽管本说明书中使用了一些特定的术语,但这些术语只是为了方便说明,并不对本发明构成任何限制。

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