现场总线CAN在监控系统网络中通信协议设计

发布者:LogicLeaper最新更新时间:2016-05-16 来源: eefocus关键字:现场总线  CAN  监控系统网络  通信协议 手机看文章 扫描二维码
随时随地手机看文章
  1 前言

  船舶电站监控系统主要用于监控船舶发电机组的运行状态,调节改善船舶供电的电力品质。本系统取代传统的点对点连线的控制方法,采用CAN 现场总线技术,实现发电机组的远程控制。基于CAN 总线具有结构简单、通信方式灵活的特点及其非破坏总线仲裁技术,为该监控系统提高数据传输可靠性、增强系统运行稳定性提供了新的解决方案。

  2 网络通信平台设计

  船舶电站监控系统采用 CAN 现场总线连接各设备,通信网络由监测网络与控制网络组成,采用双冗余总线结构,系统网络结构图如图1 所示。

  
图1 电站监控系统网络结构示意图

  监测网络由若干个数据采集模块与1 个网关组成,主要负责采集传输现场用于测量柴油发电机组绕组温度、燃油压力等传感器数据;控制网络由1 台上位机、1 台能量管理控制器与3 个输入输出模块组成,完成对柴油发电机组起动、停车、合闸、解列以及能量管理的遥控控制。监测网络和控制网络均采用双绞线电缆作为通讯介质,根据网络规模与数据传输流量,设置网络总线速率为100kpbs。

  数据采集模块:数据采集模块根据不同的传感器类型分别能够采集、测量 Pt100 温度信号、4~20mA 电流信号以及开关量等信号。

  能量管理控制器:实现电站监视与电能管理功能。

  输入输出模块:接收来自能量管理控制器的命令,控制发电机组运行,同时监测发电机组相关的电参数。

  网关:实现不同网络间的数据交换。

  监测网络部分:数据采集模块从外部采集传感器数据后,将数据发送至网关,网关将所有传感器数据发送至上位机完成集中显示与报警功能。

  控制网络部分:上位机将人工控制命令发送至能量管理控制器,该控制器将控制命令进行处理表决,将结果发送至输入输出模块,由输入输出模块输出控制信号控制发电机组状态。另外,输入输出模块采集发电机组相关电参数(电压,电流,有功、无功功率等)发送至能量管理控制器进行监测与管理。

  网络系统由两条总线构成硬件双冗余结构,若其中一条总线电缆受损或出现故障后,另一条总线仍能维持系统正常工作,防止通信网络瘫痪。此外,为了保证通信网络的可靠性与实事性,各个网络节点还具有在线故障诊断,传感器故障诊断等功能。

  3 网络通信标识符设计

  在该网络通信系统中,底层智能模块选用Intel16 位的MCU,CAN 网络控制器选用Philips 公司的SJA1000,实现CAN 网络数据收发功能,系统中网络总线使用CAN2.0B 协议格式,根据该系统监测网络与控制网络的不同功能,分别设计两种网络的报文标识符。

  3.1 监测网络协议

  监测网络中的数据采集模块采集现场传感器的模拟信号,通过 A/D 转换将其转换为数字量信号后发送至监测网络,数据刷新频率为每秒2 批次。对于监测模块而言,仅仅发送测量所得的现场传感器数据,不需要接收其他网络数据,因此设置验收屏蔽寄存器禁止其他网络数据接收,网关接收到各个数据采集模块发送的数据之后将其发送至上位机。下表为监测网络的报文标识符定义:

  表 1 监测网络CAN 标识符

  每个数据采集模块分配唯一的网络节点号,每个网络节点分配节点地址,此外,为了使网关设备快速判断各数据采集模块工作以及所发送的报文是否出现异常状况,每个数据采集模块在发送各自的报文时设置索引值,使用CAN 标识符的第13~22 位表示。当某个数据采集模块起动新的一个批次数据发送时,索引值清零,每发送成功一帧报文后下一帧报文的索引值加1,当前批次数据发送完毕后索引值计数器清零,从而可根据每个模块在一个批次内发送的报文个数确定该模块的最大索引值。接收方在接收到某一节点发送的报文后先判断标识符中的索引值信息,若接收到报文的索引值为不合理数值,则放弃对当前报文的接收处理。由此可以防止网关接收在传输时或者程序出错时产生错误的报文,以提高网络数据的可靠性。此外,监测网络数据采集模块设置定时向网关设备发送表示自身通信是否正常的协议帧,网关将其接收后转发至上位机向用户显示系统网络各个单元当前的工作状态,即网络通讯状态。

  3.2 控制网络协议

  控制网络中产生的控制命令一般是猝发式的,对于控制系统而言必须确保控制命令被及时并且成功的发送,控制网络报文标识符定义如下表所示:

  表 2 控制网络CAN 标识符


  CAN 总线中非破坏性总线仲裁技术,是从协议帧标识符的最高位开始,即BIT.28 逐位比较下去,当出现参加仲裁的双方在某一位第一次出现显隐性不同时,为显性位的那个协议帧赢得仲裁。根据CAN 总线的这一特性,即标识符值越小发送优先级越高,根据系统中总线流程以及控制网络中各网络节点优先级的高低从小到大设置各个模块的网络节点号,如表3 所示:

 

  表3 控制网络模块网络节点分配

  当控制网络数据发送频繁时,可能导致部分控制命令帧由于标识符优先级的原因而丢失SJA1000 控制器的仲裁,虽然SJA1000 具有丢失仲裁后的自动重新发送该报文的功能,但该控制命令帧仍然存在发送失败的可能性,最终导致控制功能的失效。CAN 协议帧优先晋升方案能够大大降低上述情况发生的可能性,为实现控制命令帧发送时在丢失仲裁后重发的优先级晋升,则必须禁止MAC 子层的自动重发功能,由应用层来实现报文的重发。该系统采用Philips 公司的SJA1000 作为CAN 网络控制器,可以通过在报文发送时设置其命令寄存器的第0、1 位禁止其自动重发功能,改为单次发送。

  起动发送报文之后,MCU 须判断该网络节点是否已经成功发送了一条报文或者报文发送失败:首先,当SJA1000 中断寄存器出现了仲裁丢失中断或者发送中断,表明该节点已经处理完了一条报文,但是仍然不知道是否发送成功。如果成功,中断寄存器就没有仲裁丢失中断,但是会产生发送中断,因为发送成功后发送缓冲区会释放。如果发送不成功,一定是与较高优先级的协议帧竞争的结果,所以会有仲裁丢失中断。但是改为单次发送后,发送失败以后也会释放缓冲区,因此将同时产生仲裁丢失中断以及发送中断。在得到节点已经处理完一条报文后,只要用以上的规则进行判断就能知道上一条报文是否发送成功,也就是用来判断是否需要晋升节点所发送信息帧的优先级并重发该帧。

  控制网络的标识符划分为三个部分,其中标识符的第 21 至28 位用于协议帧优先晋升,这部分标识仅表示协议帧的优先级,它由调度机制分配给协议帧的优先级的变化而变化,设Pi=(2n-1)-kt,Pi 项为当前控制命令协议帧的优先级,(2n-1)代表其优先级队列的初始值,即为队尾;n 为优先级队列的二进制数,BIT28:21 共有8 位数,所以这一项数值为0FFH。kt表示优先级晋升项,t 为首次发送以来协议帧丢失仲裁的次数,k 为晋升权重,k 取值越大协议帧优先晋升速度就越快(该系统中取k=1)。由此可见,当某协议帧第一次发送时,Pi=0FFH,当它在发送时与其他协议帧碰撞并失去仲裁时,退出发送并且置Pi=0FEH 重新发送,因为此时其优先级高于其他协议帧,在整个网络中如果没有其他和它具有相同优先级的协议帧同时发送时,即使与其他第一次发送的协议帧碰撞,也会赢得仲裁,所以增大了该帧发送成功的概率。下图为报文优先级晋升控制流程:

  
图 2 报文优先级晋升控制流程

  除此之外,系统具有控制参数在线修改的功能(如修改系统参数)。参数修改命令由上位机发出修改帧,能量管理控制器接收后进行操作执行。当进行在线控制参数修改时,能量管理控制器将发出广播消息通知控制网络所有节点禁止所有控制动作的输出,以防止意外情况的发生。

  在进行参数的下载修改过程中,为避免修改帧发送失败或丢失,从而导致系统参数混乱,甚至导致系统瘫痪的情况发生,使用帧标识符的第11、12 位表征修改帧的结构类型:单帧、非结束多帧和结束多帧。当待修改的参数数量较少,单个协议帧能够包含所有修改信息时,能量管理控制器接收到来自上位机的修改帧,并判断该修改帧为单帧标识后,则立即进行参数存储空间的修改;若待修改的参数较多,单个协议帧无法包括所有待修改数据时,上位机首先发出部分修改帧使用非结束多帧标识,发送至最后一个修改帧时,标记为结束多帧。功率管理模块只有在将全部待修改的参数接收完毕(即收到结束多帧标识)之后,才开始对相应参数存储空间进行数据修改的操作。完成操作之后,能量管理控制器再将相应存储空间修改完毕的数据发送反馈至上位机,进行握手确认。采用以上系统参数修改机制同时结合协议帧优先晋升方案,大幅提升了电站重要参数修改的可靠性。

  表 4 参数修改帧的标识

  4 结束语

  船舶电站监控系统网络通信的实现,节省了大量的现场线缆,整个系统便于调试。网络数据传输过程中使用的协议帧优先级晋升算法机制等处理方案以及双冗余的网络硬件结构,提高了现场总线网络的可靠性和稳定性。同时,此网络适应力及扩展力强,可根据不同船舶电站系统的结构差异灵活配置系统的设备,并且随时能加入新的站点及第三方设备。

关键字:现场总线  CAN  监控系统网络  通信协议 引用地址:现场总线CAN在监控系统网络中通信协议设计

上一篇:FF现场总线的配电与短路保护及其防爆
下一篇:基于现场总线的埋弧焊接控制系统设计

推荐阅读最新更新时间:2024-05-03 00:23

基于CAN总线的智能温度测控系统
0 前 言 本文将研究一种由CAN总线完成测控系统间数据通信、结构灵活、通用性号的温度测控系统,在此系统中,我们同时使用了单总线数字温度传感器DS18B20,为适应不同场合应用需要,还可以使用Pt100,并能方便的实现系统互联。将传感器的输出变换成标准电压或电流信号,通过A/D转换变成数字量。将数字量信号传给单片机,最后单片机将采集到的数据送到CAN总线控制器,通过CAN总线收发器传上总线,完成数据采集工作。 1 温度测控系统总体方案选择 根据应用场合的需要,本温度测控系统主要完成的功能有:对热电偶温度传感器Pt100的信号进行检测;利用数字温度传感器DS18B20对温度的检测;现场LED显示数字温度信号、微型打印机打印温度
[单片机]
基于<font color='red'>CAN</font>总线的智能温度测控系统
STM32--CAN总线应运
CAN 总线在控制领域使用的非常广泛,如今大多数CPU芯片外围都扩展CAN接口。本文重点介绍以STM32F103E系列芯片为基础介绍CAN 总线的使用方法。 1. 硬件基础 CAN总线工作需要两根数据线,RX和TX,即为输入总线和输出总线。一般CPU与外界通信需要接一个驱动芯片(这点很像UART接口),常用的CAN芯片主要有:SN65VHD230、PCA82C250T等,本系统使用SN65VHD230作为CAN接口芯片。而CPU提供的CAN接口为CAN_L和CAN_H。 2. 软件设计 在进行软件设计时,我们首先来看这样的一个结构体: typedef struct { uint32_t StdId;
[单片机]
基于CAN总线的航空电缆测试系统分布机研究
  0 引言   航空电缆是飞机的神经系统,连接着飞机电气、航电、火控、操纵等各系统,为飞机各部件提供动力电源、控制信号和数据信息。受飞机机身空间的限制,电缆系统布线一般都集中于狭小的机壁内,飞机机壁内几乎遍布导线,因此航空电缆系统要求高可靠、高集成、高轻便;由于导线种类繁多,各类电源线、高低频信号线、数据线混杂在一起,长度可达数百公里,电气环境十分复杂,从而使其潜在故障增多,许多空难事故和飞行器故障都直接或间接与电缆系统故障有关,因此,航空电缆的“健康”是飞机安全运行的重要保障,电缆安全问题尤为重要。但是国内对于航空全机电缆测试技术的研发比较欠缺,远落后于国外已处于常规应用的现状。   根据飞机全机电缆分布距离长(近百米)、
[测试测量]
基于<font color='red'>CAN</font>总线的航空电缆测试系统分布机研究
基于DSPIC30F3013的CAN总线数据采集系统方案
引言   在工业控制中,为了保证系统的可靠运行,需要检测周围的环境变量(如温度、气压、湿度等)。通常的做法是将分布在各处的传感器采集到的信号通过各自的线路连接到监控中心,这种方式在有效地完成检测任务的同时也造成了线路资源的极大浪费。因此,提出了简化线路布局的要求。CAN(控制器局域网)是串行通信协议,能有效支持高安全等级的分布实时控制,同时在理论上,CAN总线网络内的节点近乎没有限制。基于此,本设计将一种基于数字信号控制器的CAN总线数据采集系统作为一个CAN节点,每一个需要监控的区域放置一个CAN节点,各个节点通过CAN总线与监控中心实施通信。系统总体框图如图1所示。      1 硬件构成   该数据采集系统由两部分构
[模拟电子]
基于DSPIC30F3013的<font color='red'>CAN</font>总线数据采集系统方案
CAST和Fraunhofer IPMS提供CAN-XL控制器IP核
IP提供商CAST和Fraunhofer IPMS日前宣布,为他们流行的CAN 2.0和CAN FD控制器IP核增加了CAN XL标准的支持。 CAN XL是一种新的数据通信协议,自2018年起由CAN-XL特别兴趣小组(CiA)组织,汽车和半导体代表(包括Fraunhofer IPMS)参与开发。目标是通过将CAN协议的数据有效载荷大小增加到2048字节,将其传输比特率提高到10Mbit/s,同时保持与CAN 2.0和CAN FD的互操作性,从而赋予CAN协议更强的能力。因此,CAN-XL将CAN协议的优点扩展到要求更高的应用,在面向信号的CAN-FD和面向服务的高速以太网之间提供了一个中间选择。 针对早期采用者,CAS
[汽车电子]
CAN-FD总线协议及其车载网络应用简介
CAN-FD通过改变帧结构和提高位速率等方法成功的把数据传输速率提高到了5Mbit/s。诗讯半导体(Spansion)近期发布的Cortex-R5系列汽车级MCU产品全系列支持CAN-FD总线通信。 CAN及CAN-FD背景介绍 自1986年博世(Bosch)首次在SAE国际大会上展示CAN(Controller Area Network,控制器域网络)通信方案以来,这种高速、可靠、易用的通信总线就一直被汽车产业所关注,并得到了绝大多数整车厂和零部件厂的支持。经过了20多年的发展与沉淀,CAN通信目前已经成为车载网络领域最成熟、应用最广泛的通信总线之一(CAN的发展历程如图1所示)。 图1 CAN通信方案的发展历程
[嵌入式]
汽车电子系统总线LIN通信协议简介
简介 本地互联网络 LIN(Local Interconnect Network)总线协议,是基于UART/SCI(Universal Asynchronous Receiver-Transmitter/SerialCommunication Interface通用异步收发器/串行通信接口)的低成本串行通信协议。在车载电子系统中,相对于CAN总线而言,LIN总线协议较为简单,对单片机的要求也并不高,基本的串口就可以实现,成本较低,可作为CAN总线的辅助总线。LIN总线广泛应用于车门、车窗、车灯以及中控锁等车身控制领域。 表x LIN总线协议大事记 最新的标准: ISO 17897-2016/2019 SAE J2602
[嵌入式]
汽车电子系统总线LIN<font color='red'>通信协议</font>简介
Canalys:2013年Q1中国智能机市场三星占20% 排名第一
    据国外媒体报道,根据市场调查公司Canalys的最新调查,中国已经成为了智能手机行业最重要的市场之一,而苹果手机份额在中国市场排在第五,其老对手三星则排名第一。 2013年第一季度,iPhone在中国智能手机市场占据8%的份额,明显落后于三星,三星上一季度进一步巩固了其领先优势,市场份额从17.7%涨至20%。宇龙通信(自有品牌酷派)、华为、联想分列第二至第四位。而苹果和三星是仅有两家跻身中国智能手机品牌前十行列的外国公司,中国本地厂商合占了大约68%的市场份额。 据悉,中国目前是全球第一大智能手机市场,第一季度智能手机出货量达8200万部,规模为美国市场的三倍多(第一季度出货2700万部)。
[手机便携]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved