您的位置 首页 电源

根据CAN总线节点的长途在线晋级体系规划

针对特种纤维检测控制系统各节点软件升级困难的问题,设计了基于CAN总线应用层协议的一种远程在线升级系统,实现了单节点、多节点同时在线升级。通过实际运行分析,该系统具有可靠性高、升级操作简便、系统稳定的

导言

特种纤维检测操控体系是对出产线上产出的纤维产品各种参数进行实时检测和设备的操控设备。体系由多个数据收集节点组成,经过CAN总线网络将数据汇总到主节点,主节点对数据进行处理、剖析后输出相应的操控信号,完结对出产线设备的实时调整和操控。传统状况下,假如需求针对节点进行软件晋级更新,就需求专业技能人员到出产现场,经过专用的下载设备进行程序烧录更新,使体系维护本钱大幅进步,降低了出产功率。因而,结合特种纤维检测操控体系现有的CAN总线网络,并运用节点微操控器的IAP功用,规划一个节点长途在线晋级体系非常有必要。

本文在完结CAN总线报文数据收发的基础上,参阅TCP/IP协议中的TFTP协议规范,规划了一个简略有用的体系在线晋级运用层协议,并结合微操控器的IAP功用,完结待晋级节点软件晋级的意图。

1 IAP技能及晋级体系整体结构

1.1 IAP技能及其编程完结

IAP(In Application Programming,在运用中编程)是指用户在运转运用程序过程中经过程序操控完结对片上Flash存储器的擦除和读/写等操作。IAP技能是完结体系在线晋级的必要条件,本体系中待晋级节点选用NXP公司的依据Cortex—M4内核的微操控器LPC4357。该芯片集成了功用强大的IAP技能,可以单次最多向方针Flash中写入4 KB数据。

IAP的功用函数被固化在ROM的Boot中。以LPC4357为例,ROM的地址0x 1040 0100作为指针指向IAP功用函数进口地址IAP_entry,因而当运用C言语编写调用函数时,首要界说IAP进口地址。在进行IAP函数调用时,经过寄存器R0 作为指针来传递指令代码和参数。IAP指令的回来成果经过寄存器R1作为指针来传递。

完结节点软件晋级的要害一步便是将CAN总线接纳的代码数据经过IAP编程到指定的片上Flash的扇区。IAP经过以下几个过程完结编程操作:IAP初始化、预备扇区、擦除扇区、预备扇区、编程扇区和数据校验。

1.2 在线晋级体系整体结构

体系由检测节点、CAN总线网络和晋级服务器组成。其间检测节点和CAN总线网络是特种纤维检测操控体系的组成部分,因而,只需将晋级服务器接入CAN总线网络,就可以建立在线晋级体系的硬件渠道。晋级体系整体框图如图1所示。

a.jpg

晋级体系的软件由节点端软件和服务器端软件组成,节点端和服务器端经过CAN总线进行数据交互,在此基础上,规划CAN运用层协议。本文经过剖析TCP/IP协议中的TFTP协议规范,规划了一款简略有用并且适用于CAN总线网络的体系晋级协议。晋级体系协议分层结构如图2所示。

b.jpg

2 体系晋级协议规划

2.1 TFTP协议及文件传输根本流程

TFTP(Trivial File Transfer Protocol,简略文件传输协议)是TCP/IP协议族中的运用层协议,依据UDP传输协议。开端用来引导无盘体系,首要用于传输小文件。TFTP协议报文分为:读/写恳求报文、数据包报文、承认信息报文以及过失报文。TFTP报文格局如图3所示。

c.jpg

TFTP客户端首要向服务器的端口69发送文件下载/上传恳求,恳求的相应报文格局如图3(a)所示。服务器接纳恳求后翻开一个新的端口与客户端进行通讯,服务器端口69则持续等候其他客户端的恳求,然后完结一起呼应多个客户端的文件传输恳求。当客户端发送的文件下载恳求得到服务器ACK承认后,开端发送编号为1的数据包,数据包的报文格局如图3(b)所示。每个数据包的巨细为固定的512字节,服务器每次发送数据包之前都必须得到客户端的ACK承认。当客户端接纳到小于固定字节的数据包时,则以为文件传输完毕。

TFTP协议也供给了相应的过错处理机制。服务器端和客户端都可完结超时重传,只需有一端呈现超时,就将重传丢掉的报文,然后有用的进步文件传输的正确率。在传输过程中呈现过错时,服务器端向客户端发送过失报文。

2.2 体系晋级协议的报文格局

CAN总线协议界说了5种类型的帧:数据帧、遥控帧、过错帧、过载帧、距离帧。其间,数据帧用于发送单元向接纳单元传送数据。数据帧格局分为规范格局和扩展格局,两者差异在于标识符别离占11位和29位,这儿仅运用规范格局的数据帧作为节点和晋级服务器通讯的根本单位。

因为一个数据帧最多只能带着8字节数据,而在一般文件传输运用中数据以数据块的方式进行传输,因而在文件传输时需求进行数据拆分、重组的操作。在运用层的数据报文中对这一操作进行屏蔽,具体操作经过底层协议完结,因而这儿仅需关怀数据帧的数据段。晋级协议的报文分为:晋级指令、数据包、承认信息、过错信息,相应的报文格局如图4所示。

d.jpg

晋级指令由晋级服务器宣布,ID号用于承认待晋级节点,晋级形式分为单节点晋级形式和多节点一起晋级形式。数据包用于服务器向节点传输晋级所需的二进制文件,每个数据包带着固定的1024字节数据,这是因为节点运用IAP技能进行软件晋级时,每次对片上Flash编程的字节数是固定的,可选512字节、1024字节、4096字节3个选项,这儿选用1024字节。承认信息和过错信息参阅TFTP协议的相应报文格局。

2.3 体系晋级协议及文件传输流程

体系晋级指令由晋级服务器宣布,节点在接纳到晋级指令后经过校验ID号判别晋级形式,进入相应的晋级状况,并向服务器发送承认信息ACK。晋级服务器接纳到ACK承认后,开端发送编号为1的数据包,节点接纳到数据包就立行将1024字节数据编程到片内Flash中,编程成功后回来ACK 1,以此类推。假如最终一个数据包N的数据长度小于1024字节,则自意向数据包增加0,使数据包长度正好为1024字节。

晋级服务器接纳到节点承认信息ACK N,标明节点晋级完结。这儿,节点端选用边接纳边晋级的计划。假如将晋级文件悉数接纳后再进行晋级,则需求很多的RAM空间,一旦晋级文件过大,节点晋级就会失利。体系晋级流程如图5所示。

e.jpg

2. 4 体系晋级中的过错处理

在体系晋级过程中,可能会呈现发送数据包丢掉、衔接间断的状况。当服务器端发送的数据包丢掉或节点端接纳该数据包失利时,节点端向服务器端发送过错信息。服务器端接纳过错信息,依据过错内容判别是否需求从头发送数据包。假如服务器端在必定时间内没有接纳到节点端的承认信息或过错信息,则以为体系晋级失利,服务器端会向节点端发送晋级失利的过错信息ERROR,节点端接纳该信息后进入晋级失利状况。

3 节点端软件晋级协议的完结

检测节点选用NXP公司的依据Cortex-M4内核的微操控器LPC4357作为数据收集和操控中心,片上集成了1MB的Flash,分为BankA和BankB两个存储体,每个存储体各占512KB。

节点程序分为两部分:Bootloader晋级程序和APP运用程序。APP运用程序分为两个区:默许运用程序区和晋级运用程序区。片上Flash功用分区如图6所示。

f.jpg

Bootloader晋级程序烧录在片上Flash的BankA扇区0处,占用8KB空间。体系启动时,最早履行该处程序,首要进行体系初始化操作,包含CAN总线接口初始化、IAP初始化、读器材ID号等。初始化完结后,进入等候晋级状况。在该状况下,假如接纳到晋级服务器发送的晋级指令,则进入晋级状况。体系晋级成功后进入待跳转状况,最终体系跳转到晋级后的运用程序区。节点晋级状况转化图如图7所示。

g.jpg

当Bootloader初始化完结且等候晋级指令超时后,体系跳转到APP运用程序的默许运用程序区,开端履行节点运用程序。运用程序除了完结数据收集和CAN总线数据传输功用,还能在接纳到晋级服务器的晋级指令时,间断体系运转并跳至Bootloader区,进入体系晋级状况。

因为体系启动时不是直接开端履行APP运用程序,而是从Bootloader程序跳转进入该处程序,因而,在APP运用程序初始化之前必须将间断向量表重映射,避免APP运用程序产生间断时进入Bootloader程序的间断函数。

当晋级失利时跳转到默许运用程序区,使体系在晋级犯错时仍然可以正常运转。体系晋级时,对晋级运用程序区进行擦除、编程操作,晋级成功后进入该程序区履行晋级后的运用程序。Bootloader程序的待跳转状况依据等候超时、晋级状况别离进入默许运用程序区或晋级运用程序区。

4 晋级服务器端软件规划

晋级服务器是一般PC机,经过USB-CAN接口卡完结与CAN总线的衔接。因而,晋级服务器首要初始化并装备USB—CAN接口卡,经过以下过程完结:

①翻开USB—CAN接口卡对应的COM口。

②装备相应COM口波特率、校验位等参数。

③经过向COM口发送装备信息,对USB—CAN接口卡进行参数装备。

其间,应设置USB-CAN接口卡波特率与外部CAN总线网络的波特率相匹配;接着,晋级服务器将对晋级程序的二进制文件进行操作,该二进制文件在编译器对节点晋级程序进行编译时生成,也可经过对生成的HEX文件进行转化得到。首要,晋级服务器获取文件巨细N KB,将该数值N传递给晋级指令,节点端接纳晋级指令的一起可获取文件巨细,然后确认IAP编程次数;然后,晋级服务器将该二进制文件读入内存中,在晋级开端后,依据晋级协议的相关格局将数据进行封装并发送到相应节点端。

晋级服务器也可依据需求挑选不同的晋级形式。可供挑选的晋级形式有:单节点晋级形式和多节点一起晋级形式。单节点和多节点一起晋级的差异在于,多节点晋级运用了CAN总线节点可接纳播送数据的特性,经过装备USB—CAN接口卡的ID过滤器,晋级服务器可接纳相应节点发送的承认信息,完结多个节点一起晋级的操作。晋级服务器的软件界面如图8所示。

h.jpg

结语

本文结合特种纤维检测操控体系现有的CAN总线网络和节点的IAP功用,规划了节点在线晋级体系。参阅TFTP协议,规划了一种适用于CAN总线网络的体系晋级协议。经过将节点端的片上Flash进行功用分区,完结了在晋级呈现过错时保持节点安稳运转。依据实践运用需求,服务器端挑选相应晋级形式,进步了晋级功率。体系的实践运转成果标明,晋级操作简略高效,节点在晋级后运转安稳,体系功能杰出。CAN总线网络和智能节点广泛运用在工业操控等范畴,该体系为节点晋级的实践需求供给了一种可行的解决计划。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/dianyuan/296769.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部