时间:2024-07-28
王 灿,李良荣
(贵州大学 大数据与信息工程学院,贵州 贵阳 550025)
CAN高层协议在隧道照明节能控制系统中的应用探索
王灿,李良荣
(贵州大学 大数据与信息工程学院,贵州 贵阳550025)
低碳经济背景下,要求隧道照明安全、节能,信息传输技术关系到照明智能控制实施的有效性。CAN总线具有多主竞争、无损仲裁的特点,其优异的实时性和可靠性是选择用于隧道照明节能控制系统的基础,然而目前CAN总线尚未形成统一的高层协议。本文在隧道照明节能控制需求基础上、通过几种典型CAN应用协议特点的对比分析,提出在隧道照明节能控制应用下CAN高层协议的解决方案。
隧道照明;节能;信息传输;CAN总线;应用层协议
随着社会经济的大发展,近几年我国高速公路里程呈现井喷之势,有效的隧道照明是隧道行车安全的重要保障,而高速公路隧道照明长明灯的能耗问题也日益突出,这既给高速公路运营带来了沉重负担,也有悖于国家的绿色发展战略。如何在安全运营与节能降耗之间寻求平衡,是基于LED灯的隧道照明节能控制技术研究的出发点[1-2],实现隧道照明节能控制需要有可靠性高、实时性强的系统控制总线和通信协议,传统的RS-485总线已经不能满足要求[3-4],科技人员开始把目光投向功能更强的CAN(Contoller Area Network)总线[5-6],但目前关于CAN高层(应用层)协议在隧道照明节能控制系统中应用的技术资料没有查到,究其原因,CAN总线的协议规范只对底层的物理层和数据链路层作了定义,这虽为CAN总线的广泛应用提供了基础,也意味着具体行业在使用CAN总线时,需要制定相应的CAN高层协议,这无疑也给应用带来了困难和风险。目前不同工业部门都制定了符合本行业需求的CAN高层协议,比如占领国际主要市场的DeviceNet协议和CANopen协议等,值得一提的是近年来国内市场上的iCAN(Industry CAN-bus Application Protocol)协议也异军突起。不过,一个为特定行业制定的CAN高层协议不可能完全挖掘CAN总线的全部应用潜力,不合理的引用甚至会对其它行业具体应用形成桎梏。选择合适的CAN高层协议对隧道照明节能控制系统研究具有重要意义,借鉴、改进已有的典型CAN高层协议是更为经济有效的做法。
为克服驾驶员隧道行车的“黑洞效应”及“白洞效应”问题,我国交通运输部颁布的《公路隧道照明设计细则》(JTG/T D70/2-01—2014,以下简称《细则》)[7]规定,长于200 m的隧道都要有照明设施。《细则》将隧道照明划分为四段,即入口段、过渡段、中间段和出口段照明,如图1所示,图中参数计算依据文献[7]。
本项目组研究隧道照明智能控制系统,将传感器实时采集的隧道内外光照强度、车流信息作为隧道照明开/关控制及动态调光的触发信号,追求“按需照明”的理想设计目标[8],系统中要求信息传输的控制总线及高层协议:①有可靠的容错机制;②有高速的实时信息传输能力;③节点控制器之间能直接通信;④能承载大量数据传输;⑤有足够的通信距离;⑥有升级潜力。
图1 隧道路段亮度设计规范Fig.1 Code for design of brightness of tunnel section
控制器局域网CAN是由德国Bosch公司为解决汽车内部众多控制器与测量设备之间的数据交换而开发的一种串行数据通信总线,是一种有效支持分布式或实时控制系统的通信网络。CAN总线以其可靠、实时、经济、灵活的特点成为国际上广受青睐的一种现场总线标准,并广泛应用于汽车工业、航空工业、工业控制、安全监控、工程机械、医疗器械、楼宇自动化等诸多领域[9]。
CAN总线可由节点控制器和终端电阻构成分布式控制网络,如图2所示,推荐使用120Ω的终端电阻消除导线上的信号反射避免信号失真。如果加上中继器可以克服CAN总线基本线性网络的局限性。
图2 CAN总线网络结构Fig.2 Can bus network architecture
CAN总线网络结构基于ISO/OSI(International Organization for Standardization,ISO;Open System Interconnection,OSI)参考模型,定义了物理层和数据链路层,加上用户自定义的应用层协议便组成CAN总线通信协议栈,如图3所示,三层协议栈保证了CAN总线强大的通信功能。
图3 CAN协议栈Fig.3 CAN protocol stack
3.1CAN高层协议
CAN总线协议规范只定义了物理层和数据链路层,分为CAN2.0A和CAN2.0B两个版本,主要区别在于前者的标识符为11位,后者可以使用11/29位标识符的帧格式。高层协议为系统组网、设备开发和通信提供了更高层的执行规范和标准,CAN高层协议以CAN协议规范为基础,实现各节点端到端的通信。目前主流的高层协议有真正占领国际市场的DeviceNet协议和CANopen协议,也包括后起之秀的国产iCAN协议。
3.1.1iCAN协议
iCAN协议,是我国具有自主知识产权的CAN应用层协议,具有理解简单、应用灵活、容易实现、实时可靠的特点,适合各种不同工业环境中的分布数据控制网络[10]。iCAN协议使用资源节点作为统一设备描述和访问的模型,详细定义了CAN报文中ID及数据的分配,并定义了I/O资源和访问规则。资源节点分为I/O数据资源节点和配置资源,在资源节点表格中,设备ID配置信息以及I/O单元均有唯一的表格地址与之相对应。iCAN报文沿用了3种固定的帧类型:数据帧,发送实时信息;错误帧,检测到总线错误即发错误帧;过载帧,用于附加延时。iCAN网络中一般由主控节点作为源节点以“命令帧”形式发起通信,从控节点根据情况发出“响应帧”作为回应。
3.1.2DeviceNet协议
美国Allen-Bradley公司1990年开始研发了DeviceNet协议,后来由ODVA(Open DeviceNet Vendor Association)协会负责管理和市场推广。该协议最初专为解决设备内部部件组网问题而特别定制,主要适用于工厂自动化控制领域。作为一个非常成熟的开放式网络,DeviceNet协议允许各种不同复杂设备间互连使用。DeviceNet协议根据抽象的对象模型(Object Mode)定义网络中所有可见的数据和功能,来描述如何建立和管理设备的特性和通信。DeviceNet协议支持两种报文格式:I/O报文用于传输主节点或从节点的实时信息,格式简洁、数据传输速度快、传输数据量大,可以选择应答方式或无应答方式,多选用无应答方式以节省时间,I/O报文可以点对点或点对多通信,一般被赋予较高优先级;显示报文(Explicit Message)用于两个设备之间多用途的信息交换,多用于节点配置和故障诊断,属于“询问/应答”方式,一般被赋予较低的优先级。
3.1.3CANopen协议
1993年开始,德国Bosch等公司开发了基于CAL(CAN Application Layer)的CANopen协议,CIA(CAN in Automation)协会负责CANopen协议的管理与发展,这是一种为用于产品部件内部网络通信而研发的协议,目前已成为全欧洲最重要的嵌入式网络标准。CANopen协议用包含了描述设备及其网络行为所有参数的OD(Object Dictionary,对象字典)作为通信的设备模型,CANopen网络中每个节点都有一个OD, OD是应用单元与通信单元的接口,实际上是设备所有参数列表[11]。CANopen协议不仅定义了通信子协议和设备子协议,也为可编程系统、不同器件和接口定义了帧状态。网络中传输4种类型的COB(Communication Object,通信对象):PDO(Process Data Object,过程数据对象)用来传输实时数据; SDO(Service Data Object,服务数据对象)用来读/写其它CANopen设备的对象字典或传输大数据块;预定义对象,用于同步、时间和紧急报文;网络管理对象用来控制NMT(Network Management)状态机和检测设备。
3.2三种协议的区别
3.2.1CAN报文标识符分配
CAN报文标识符决定了报文相关的优先权,报文标识符分配的方法是基于CAN总线系统的主要特点。它同时也影响了报文滤波适用性、通信结构适用性、报文等待时间及标识符使用效率。CAN报文在CAN总线传输中有两种类型:标准帧格式,具有11位标识符;扩展帧格式,具有29位标识符。在一个网络中,通常只选取一种报文类型。一般情况下,扩展帧ID可以容纳较多的数据和信息。
1)iCAN报文标识符分配。iCAN协议和CAN2.0B扩展帧的帧结构信息完全相同,29位报文标识分为5部分:源节点MAC ID、目标节点MAC ID、响应标志位ACK、功能代码FUNC ID和资源节点Source ID。6位MAC ID意味着iCAN协议最多支持64个节点,8位Source ID用于指示所要操作的设备内部单元,包括两类:I/O数据单元和配制数据单元。
2)DeviceNet报文标识符分配。DeviceNet协议以CAN标准帧为基础,对11位标识符进行了详细的功能划分,根据报文用途的差异分为4个报文组,报文组1到报文组4优先级依次降低。如果2个设备同时发送报文,报文ID号较小的设备总是先发送。由于11位标识符内容所限,实际CAN通信程序时只能占用数据区部分字节来说明源节点地址。
3)CANopen报文标识符分配。CANopen协议中通信对象COB ID配置定义了“预定义主/从连接集”,默认采用11位CAN标识符分配方案,如表1所示,包括一个4位的功能代码和一个7位的节点ID,让设备具有同样的网络特性,使调试更加方便。
标识符的值作为待传输信息的优先级,所以在设定帧的标识符时,必须根据系统中各种消息的重要性来设置对应的数值。
表1 默认COB ID分配
3.2.2通信模式
通信模式是指明通过什么样的方式来发起和结束通信的机制,不同的通信方式需要不同通信对象、通信服务,以及不同的可能触发信息传输的模式。常见的几种通信模式有:主/从方式,只能进行主节点到从节点的通信;客户/服务器方式,需要2次握手信息是最为可靠的通信方式;生产者/消费者方式,可以直接实现从节点到从节点的通信;事件触发方式会使从节点主动向上传输数据报文。三种协议的通信方式如表2所示。
表2 通信方式
多种可选的通信方式均可自由指定,通过合理的选择数据的通信方式可以明显地提高网络的使用效率。
3.2.3通信协议类型
数据通信协议类型分为:“面向节点的协议”和“面向报文的协议”两种,数据交换是建立在报文标识符基础上的。由CAN总线的特性可知,CAN报文是通过标识符进行识别的,所以CAN协议可以看成面向报文的协议,面向报文的协议可以最大限度的利用CAN总线的通信特性(仲裁、滤波机制),大大提高了网络的通信效率。值得注意的是,由于标识符具体分配方法的不同,并非所有基于CAN总线的应用层协议都是面向报文的协议。三种协议的数据通信类型如表3所示。
表3 通信协议类型
不同应用层协议制定过程中,两种方式常常混合使用,既保证了网络的通信效率又兼顾了对于需要确认通信的可靠性。
3.2.4应用范围和支持的节点数
DeviceNet协议和iCAN协议多用应用在工厂自动化控制网络中,适合有传感器和微型执行器等部件的设备内部组网,两者最多支持64个节点,进行远距离通信需要使用网络中继器。CANopen协议不仅适合用在运动监控等精密复杂设备的嵌入式网络,在中远距离通信中也表现出色,其最远通信距离达10 km,且同一CANopen网络中支持的节点数多达127个。
iCAN协议使用站地址编码方式,是面向节点的协议,从节点之间不能直接通信,CAN总线的多主竞争和优先级仲裁特点不如在DeviceNet协议和CANopen协议更充分的得到应用。在不使用中继器的情况下CANopen协议比DeviceNet协议能支持更长的通信距离和更多的节点,而且CANopen报文更为简洁和开放,实现效率也更高。综合各种因素,基于CAN总线的CANopen协议更适合做隧道照明节能控制系统的高层协议。根据隧道照明节能控制特点,我们设计隧道照明节能控制系统的CANopen分布式通信网络结构如图4所示。
图4 CANopen网络在隧道中的基本结构Fig.4 The basic structure of CANopen network in the tunnel
图4中节点控制器以洞外亮度L20(s)作为照明亮度的调节参数,依据车流量和车速,使用查表法从《细则》推荐表中查找,然后综合算出各隧道路段的实时亮度控制命令。
CANopen网络中,主节点(工控PC)使用管理报文对各隧道路段节点初始化;将L20(s)信息以PDO广播到网络中,处理各节点以预定义对象形式的紧急报文;可以手动调取各节点的视频监控信息(SDO)进行远端控制通信。各路段从节点接受来自网络的L20(s)信息,结合现场车流信息综合生成用于实时亮度控制的PWM信息,然后发送给LED灯组驱动器;并对本节点进行错误检测和判断,依据错误等级决定是否需要离线并将故障报告以紧急报文发送给网络;根据实际需要用PDO与其它从机进行通信;回应主节点的视频请求并将该点视频信息以SDO打包发送给主节点。整个CANopen网络中,紧急报文优先级最高,PDO优先级次之,用于传输视频信息的SDO优先级最低,其它通信对象优先级根据实际控制需要设定。
CANopen协议为分布式控制系统提供了便捷的实现方式,包括:①设备描述方式和网络功能;②标准化的系统通信模式;③不同CAN设备间的互操作性和互换性;④网络节点功能的可扩展性。基于CANopen协议的隧道照明节能控制系统是以控制器为节点的分布式控制网络,各节点相互独立。某部分出现故障,不会影响系统的正常运行,多主竞争和无损仲裁的特点保证了系统的可靠性和信息传输的及时性。项目研究实现了隧道照明根据隧道实时情况动态调光,真正达到了“按需照明”的应用效果。同时,该系统集照明节能控制和交通视频监控等功能于一身,有助于推进ITS(Intelligent Traffic System,智能交通系统)建设,能有效保障交通运行安全,有良好的社会效益。
[1] 涂耘,王少飞,邓欣.基于低碳理念的公路隧道绿色照明技术研究[J].公路隧道,2013(3):10-15.
[2] 周晓黎,崔泽英.智能化LED隧道照明系统[J].半导体技术,2010,35:165-169.
[3] 胥清华,李强.CAN总线发展与其他总线的比较[J].电气技术,2011(7):46-48.
[4] 范辉.RS-485总线与CAN总线应用比较[J].上海电机学院学报,2005,8(5):55-56.
[5] 张倩文.基于FPGA的公路隧道照明控制系统的设计[D].大连:大连海事大学,2014:38-54.
[6] 郭珊.智能LED隧道照明控制系统设计与应用[D].杭州:浙江大学,2012:39-41.
[7] 公路隧道照明设计细则:JTG/T D70/2-01—2014[S].北京:人民交通出版社,2014.
[8] 李良荣,王在浩,李震,等.自适应隧道节能照明控制系统设计方案[J].贵州大学学报:自然科学版,2014,31(5):48-51.
[9] 牛跃听,周立功.等.CAN总线应用层协议实例解析[M].北京:北京航空航天大学出版社,2014.
[10] 周立功.iCAN现场总线原理与应用[M].北京:北京航空航天大学出版社,2007.
[11] HOLGER Zeltwanger.现场总线CANopen设计与应用[M].周立功,黄晓清,严寒亮,译.北京:北京航空航天大学出版社,2011.
The Application and Exploration of CAN High-level Protocol in Tunnel Lighting Energy Saving Control System
WANG Can,LI Liangrong
(Big Data and Information Engineering Institute,Guizhou University,Guiyang550025,China)
Under the background of low carbon economy, the tunnel-lighting requires safety and energy conservation. The information transmission technology is related to the effectiveness of the implementation of intelligent lighting control system. The CAN-bus has characteristics of multi-master competition and nondestructive arbitration. It is chosen in tunnel energy-saving lighting control system by excellent real-time and reliability characters.However, the CAN-bus has not yet formed a unified High-level protocol. In this paper, we give a solution in using CAN-bus application layer protocol at tunnel energy-saving lighting control system, after comparing several typical CAN application layer protocol and analysing the tunnel energy-saving lighting control requirements.
tunnel lighting;energy conservation;information transmission;CAN-bus;application layer protocol
国家自然科学基金“高速公路隧道节能照明关键技术研究”(61361012)
李良荣,E-mail:llr100@sina.com
TN915.04
ADOI:10.3969/j.issn.1004-440X.2016.05.011
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!