CAN总线在逆变电源监控模块中的研究与应用
扫描二维码
随时随地手机看文章
1引言
新型高频中小功率逆变电源设备运用电源模块之间的并联实现功率合成,组成积木式、智能化的分布式大功率电源系统,是当今很有应用前景的新型技术。将若干电源模块组合起来,可以构成任意功率等级的供电系统,有着广泛的应用前景。以现场总线为基础的全数字化自动控制系统是当今世界各国在工业自动化领域的热点课题。本文采用CAN现场总线组建监控网络,对含DSP的嵌入式智能控制器的电源模块进行单模块和多模块监控。
CAN (Controler Area Network)总线属于现场总线的范畴,是一种串行数据通信总线。CAN总线结构模型取ISO/OSI参考模型的第1、2、7层协议,即物理层、数据链路层和应用层。应用层的内容主要取决于用户的需要,所以实际应用CAN总线时,用户可以根据需要实现应用层的功能。
2 系统结构
逆变电源现场总线监控系统包括上位机操作站、现场DSP模块控制器。在系统中设置一台PC计算机(以下均称操作站),它负责对整个系统进行管理。操作站通过CAN接口适配卡与以DSP为核心的逆变电源模块控制器(以下均称控制器)通信,实现对逆变电源的监控功能。系统采用适配卡SC2102作为PC机与CAN总线的接口,通过连接器与CAN总线相连,负责CAN总线与PC机之间数据交换的功能模块。各个电源模块的控制器间以及模块控制器与操作站之间通过控制器局域网(CAN)连接通信,在硬件实现上采用DSP TMS320LF2407A的内嵌CAN控制器实现与上位机的数字通信。
操作站软件分为三个基本的模块:通信模块、主监控模块、数据管理模块。通信模块的功能包括利用CAN适配卡及其函数库,实现CAN总线应用层协议,实现操作站与各控制器的网络通信,完成通信命令和数据的编/解码以及特殊处理。主监控模块的功能包括提供监控界面;系统运行的初始化配置功能;查询各现场单元的实时采集数据,并将数据实时显示;设置被控对象的参数,保证逆变电源的正常运行。数据管理与显示模块包括对各现场单元的采集数据的处理,报警,统计,报表查询输出;数据查询等。
3 CAN总线应用层的实现
CAN物理层和数据链路层协议在CAN的相关器件中已经基本实现了,而应用层协议至今仍然没有统一的标准,并且现实应用又是多种多样的,所以,如何选用或制定一种CAN应用层协议,就成为CAN网络应用中的核心问题。
3.1报文格式
操作站与控制器之间的通信是实现监控制功能的基础和关键。针对逆变电源监控系统,经过通信双方具体协商制定,使用现场总线CAN网络技术,制定了CAN应用层协议,包括报文格式,标识符的分配,多报文的处理,错误处理等。报文个格式如图2所示。
(1)广播位操作站向控制器发送广播时该位为1,其它情况为0。
(2)目标地址表示数据报文所要到达节点的地址。
(3)数据包类型(TYPE) 报文的类型。
(4)RTR位 在数据报文中必须是“显性”电平0,在远程报文中必须是“隐性”电平1。
(5)数据长度码DLC标识报文中该字节往后的数据长度,最长为8字节。
(6)源地址表示发出数据报文的节点地址,当接收节点收到此报文后,会把此源地址作为目标地址发送响应报文。
(7)忙表示操作站正与某一控制器通信,此时此位为1。
3.2标识符分配方案
由CAN的数据链路层协议已经知道,CAN的每一帧都有一个11位的标识符,用来标识该帧数据,并且决定仲裁。
标识符分配是CAN应用层协议中的重要问题,标识符要能反映报文的地址信息,报文类型,体现报文级别。另外,很重要的是报文标识符决不能重复。在逆变电源监控系统CAN应用层协议中,标识符由三项确定:广播位,地址域和数据包类型域,如图3所示。
这三项包含了是主机还是从机,网络节点地址以及报文承载的数据信息。广播位决定一半的优先级,因此主机发出的命令优先级一定高于从机的数据。网络节点地址域使不同节点发出的报文标识符不同。
3.3 多报文的处理
在数据链路层中,CAN协议规定每帧最大8字节。为了传输大于8字节的数据包,在应用层中采用多报文机制。多报文发送时要有报文标识,在多报文的发送期间通过识别这一标识判断是否属于同一多报文,在多报文发送完毕时有多报文结束标识。在报文发送期间,如果同时收到其它报文则不做处理,待多报文发送完毕后再让它重新发送。
3.4 错误处理
对于数据传输中的错误,应采取分层的概念做出处理。即下一层对上一层提交一定可信度的信道,使上一层只关注于解决本层可能出现的错误,并解决下一层无法处理,提交上来的错误。反之,上一层如果认为下一层信道是安全可靠的,在把数据交给下一层后,它将不认为会出现数据传输错误,当然对线路断开,目的站离线等严重错误,下一层无法解决的错误,交给上一层后,上层要有解决措施,帮助恢复下层信道。
CAN网络的特征之一就是安全可靠的链路层,对链路传输中因干扰造成的数据传输错误,丢帧错误有自动重发的功能;对线路出现的断线,目标站点不在线等严重错误,有自动离线的功能。因此,在应用层将数据交给数据链路层的数据后,认为一定会安全可靠到达目的站点,不需要再对丢帧情况,数据传送出错情况作处理。只需在应用层向下传输没有接到返回响应报文的情况下重发即可。
3.5程序框图
应用层的实现程序主要包括操作站发送报文和接收报文,操作站接收报文的程序框图如图4所示,包括发送广播报文反对控制器争主,多报文的处理,以及报文数据的处理。
操作站和DSP模块控制器之间通过CAN总线进行通信,主要实现DSP模块控制器将逆变电源自身的状态数据通过CAN总线传送给操作站,并将操作站的控制信息经CAN总线传送给DSP模块控制器来控制电源模块的运行。由信息的传送方向可分为操作站传送给DSP模块控制器和DSP模块控制器传送给操作站。信息由操作站传送给DSP模块控制器主要是控制信息和控制命令包括对逆变电源进行开启、关闭,对逆变电源模块运行参数的设定、修改,检查电源模块是否运行正常,查看模块状态,以及回应DSP模块控制器发送来的验证操作站是否瘫痪的信号;信息由DSP模块控制器传送给操作站主要是返回操作站发来的控制信号收到的确认信号,发送逆变电源模块状态数据给操作站,发送探测操作站是否工作正常并在操作站瘫痪时行使操作站功能的争主信号。
4 监控功能实现
操作站监控功能包括各逆变电源模块状态数据显示,设定和调整逆变电源参数,对DSP模块控制器进行检测,绘制逆变电源参数的实时波形,数据存入数据库,状态参数打印等功能。监控程序结构如图5所示。
5 结论
该系统已经通过了第一次联和调试,成功的实现了对逆变电源的监控。实验证明该监控系统设计合理,监控界面友好,易于操作,工作稳定可靠,达到了预期的目标。
本文作者创新点:利用CAN总线实现对逆变电源模块间通信并完成对其控制,同时实现了CAN总线应用层协议。