基于ARM的CAN总线电缆沟道监测系统的设计
扫描二维码
随时随地手机看文章
城市高低压输电电缆人地率已成为城市管理水平的标志之一。城市输配电电缆近年正逐渐从架空线改为电力电缆,电缆沟道作为电缆线路的通道,其建设速度逐年加快,建设里程逐年递增,以后更会大规模展开。
研制一套电缆沟道检测系统,采用现代化的设备和手段对电缆沟道环境和电缆运行状态进行实时传输,全程监测,状态显示,临界报警,预测提示,事件分析统计等,通过此设备使电缆沟道的管理由人工周期巡检,事后补救式转变为全程实时监测、人工周期维护和事件应急反应处理相结合的管理模式。将事故隐患消除在萌芽状态,防患于未然,降低事故发生率和人员成本,提高供电质量,增加经济效益。这里基于LPC2292控制器和CAN现场总线技术,考虑经济、实用因素,提出并设计了一种结构简单、性价比高、扩充灵活、通用性强的分布式电缆沟道监测系统。
2 系统总体设计方案
设计的是一种分层(级)式分布多CPU结构形式的电力电缆沟道监测系统。该监测系统按照结构功能可分为3个层次,分别为:下位机信号采集层;上位机数据处理层:网络通讯服务层。系统结构框图如图1所示。
(1)下位机信号采集层控该层制器件是LPC2292,其内嵌有ARM7微处理器。并在此器件上移植μC/OS-II操作系统。该层主要职责:当有小偷进入沟道,下位机产生预警信号给上位机,即防盗功能;以及具备防潮,防爆,防毒等功能,所以该层还具有采集监测信息的传感设备,包括:温度传感器,防盗传感器,水位传感器等。
(2)上位机数据处理层 上位机是CAN总线与IP网之间的连接设备,该层的控制器件也是LPC2292。不过在这层不接传感器,而是网络连接模块、液晶接口、键盘、以及CAN通信模块。除了与下位机之间进行CAN通信有关功能外,还将从下位机得到的电力沟道信息显示在LCD上,可通过键盘设置系统参数。还需将CAN总线上所有监测点传来的检测信号按照时间先后顺序组织成IP包,在IP链路畅通时发送给中心的通讯服务器。
(3)网络服务器层 主要由网络通信服务器和数据服务器组成。将电缆沟道信息、传感器信息、位置信息和报警信号等进行整理、存储、并按照业务逻辑和要求的格式与地理信息系统(GIS)的数据复合,然后以WEB的方式发布给授权管理系统的人员和供电局各级领导,完成系统的管理和维护等,包括数据库服务器,GIS系统,应用服务器,管理机等。
3 系统硬件设计
下位机系统设备硬件组成如图2所示:控制器件LPC2292,CAN通信模块,JTAG,Flash,SRAM存储器,电源模块,电流转电压模块,传感器及接口电路,上位机系统设备硬件组成与下位机类似。
3.1 LPC2292简介
控制系统核心控制器件采用LPC2292微处理器,该处理器内部集成了2个CAN控制器,其主要特性:支持实时仿真和跟踪的16/32位ARM7TDMI-STM CPU;对代码规模有严格控制的应用可使用16位Thumb模式,将代码规模降低超过30%,性能的损失却很小;LPC2290具有144引脚封装,极低的功耗、多个32位定时器、8路1O位A/D转换器、2路CAN、PWM通道以及多达9个外部中断。LPC2292不但具有了主控制器的作用,同时还作为CAN的节点控制器,与网络中的其他节点实现数据传输与交换。
3.2 CAN接口电路
CAN接口电路是整个电路进行CAN通信的关键,其硬件电路如图3所示,由ARM微控制器LPC2292、CAN总线收发器TJA1050T、高速光耦6N137和电源隔离模块B0505S等组成。其中引脚P0.23 RD2和引脚P0.24 TD2是LPC2292的CAN控制模块的收发引脚。
LPC229内部集成的两路CAN控制器,符合CAN规范CAN2.0B,ISO11898-1标准。总线数据波特率均可达1 Mb/s,可访问32位的寄存器和RAM。
收发器TJA1051T是CAN协议控制器和物理总线之间的接口,与ISO11898标准完全兼容,CANH和CANL理想配合,可使电磁辐射减到更低。LPC2292的CANH和CANL分别通过高速光耦6N137与TJA1050T的RXD和TXD相连。光耦电路所采用的两个电源必须完全隔离,电源的完全隔离采用小功率电源隔离模块B0505S,电路虽较复杂,但提高了节点的稳定性和安全性。
4 模拟传感器接口电路设计
甲烷,一氧化碳传感器,水位传感器,温度传感器均属于模拟传感器,模拟类传感器原理相似,这里只介绍温度传感器。常用模拟传感器有两线制和三线制,区别是:三线制,两根接电源线,其中一根接正电源,一根接地,另一根是信号线输出电流信号。而两线制,一根线接正电源,另一根用作信号输出线也输出电流信号。系统采用温度传感器是两线制。两线制和三线制基本原理相同,只是连接方法不同。
系统模拟传感器都采用线性输出,这使得电压转换成真实值的计算变得很容易。只需选两点试验温度,同时测出此时电压值,两点确定一条直线,就能列出测量电压与温度的关系。水位,甲烷等其他模拟传感器使用方法一样。其电路连接如图4所示。
CON8插座是模拟传感器的连接插座,24 V用于给模拟传感器供电,信号输出引脚直接连接到运放LF347输入引脚。温度传感器输出与被测温度成线性的4~20 mA的电流信号。所以系统采用射随器,先让电流流过125 Ω电阻到地,将4~20 mA电流信号转换成相对应0.5~2.5 V电压。电压输入信号经过射随器,运放输出的电压信号大小不变,直接连接到LPC2292的A/D引脚。这样下位机将数字、模拟传感器各种信号经A/D转换器转换采集后,打包通过CAN总线直接上传到上位机,上位机再通过数值转换,就可得到沟道中各种信息真实值。这种电流转换电压设计不仅简单,而且精度高,稳定性好。
5 CAN通信软件设计
设计选用μC/OS-II嵌入式实时操作系统来实现CAN通信,在LPC2292上移植成功后,可用作为内核来编写监控系统的控制软件。
5.1 运行μC/OS-II操作系统
工程的CAN实现主要通过建立两个任务来实现,即CAN发送任务和CAN采集任务。在主函数main中先利用OSInit()初始化μC/OS-II操作系统,建立一个信号量并把信号计数器清零,然后利用OSTaskCreate()创建第一个任务Tasksend(),再通过OSStart()启动操作系统的多任务调度机制,开始运行系统的主要应用程序。主函数代码如下:
5.2 数据的收发
接收数据可采用查询方式或中断方式。为了提高效率,数据接收采用中断方式。两个任务中,设置任务Tasksend()的优先级最高,任务Taskrev()的优先级次高。任务Tasksend()主要负责初始化CAN,初始化定时器0,初始化VIC,建立信号量用于任务Taskadrev()与中断通信并建立新的任务Taskrev(),并处理采集数据。任务Taskadrev()一直处于等待信号状态,一旦从中断得到信号,立刻采集数据,并通过邮箱将采集到数据指针发给任务Tasksend()。
基于μC/OS-II的CAN接收数据、发送数据任务流程图如图5,6所示。
6 结语
以ARM7TDMI内核的嵌入式微控制器LPC2292作为主控制器、CAN总线作为数据传输方式通信的嵌入式系统得到了广泛的应用,同时CAN通信的优良可靠性也成为影响系统性能的关键。以LPC2292为开发平台,并且在成功地移植μC/OS-II的基础上,研究CAN通信软件设计。实验结果说明该系统设计可行,并且满足了快速、准确、多信息量的要求。