针对封闭式引水隧道内多点水位信息的实时、准确的采集,提出基于CAN总线的嵌入式水位监测系统设计思想,集总线技术、单片机技术于一体,实现了对多点水位信息的采集、计算、储存、发送等处理功能。使用iCAN协议,使水位监测点可以对多点水位信息进行集中控制采集,可实时准确地掌握隧道内多点水位信息。
1 系统总体方案设计
1.1 系统基本结构
嵌入式水位监测系统由数据监测终端、上位机监测服务器和CAN总线网络组成,系统总体结构框图如图l所示。
系统采用分布式集中管理的结构,分为2层:1)第1层是数据采集终端层。数据采集终端通过水位传感器对水位信息进行采样,通过CAN总线接口与第2层进行通信;2)第2层是监测管理层。第1层通过CAN总线延长通信距离,再经过CAN适配卡与第2层的监测服务器相连。一台监测服务器可以管理多个数据采集终端。
在网络中的监测终端可以独立的对传感器进行数据采集、计算、储存等,监测服务器可以通过CAN总线和各个监测点之间进行实时通信,接收监测终端的水位信息向监测终端发出查询指令。通过iCAN协议实现监测节点的分散监测和集中管理。当系统需要增加监测节点时,可以直接将其挂在CAN网络上,对系统其他节点不会有任何影响。
1.2 监测终端硬件电路设计
监测终端的硬件结构框图如图2所示,主要包括微处理器、数据存储电路、键盘和显示电路以及CAN收发等电路。微处理器采用基于ARM7 TDMI核的32位RISC芯片LPC2368,其内置2路CAN控制器,通过外接CAN收发器可方便的进行CAN数据收发。传感器输出的信号经过滤波和调理转换为所需要的电信号。
1.2.1 器件选型
为提高系统的实时性和可靠性,监测终端选用可移植嵌入式操作系统的ARM7 TDMI内核的32位RISC芯片LPC2368。LPC2368是一款功能强大的超低功耗ARM7TDMIS内核的32位微控制器,支持72MHz工作频率,片内有Flash 512KB,ROM 56KB,集成10/100全双工Ethemet MAC,2个兼容CAN2.0A/2.OB的CAN控制器,带RMII接口,其性能稳定、功能强大,广泛应用于协议转换、通信、工业控制领域。1根AHB总线是完全不够的,而LPC2368具有双总线机制和DMA协处理机制。任何一根总线都可以通过总线桥与其余总线通信,消除了通信瓶颈。
1.2.2 CAN总线接口硬件设计
CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由研发和生产汽车电子产品着称的德国BOSCH公司开发了的,并终成为国际标准(ISO118?8)。是国际上应用广泛的现场总线之一。 在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。近年来,其所具有的高可靠性和良好的错误检测能力受到重视,被广泛应用于汽车计算机控制系统和环境温度恶劣、电磁辐射强和振动大的工业环境
CAN属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络。较之目前许多RS-485基于R线构建的分布式控制系统而言, 基于CAN总线的分布式控制系统在以下方面具有明显的优越性:
通过CAN总线通信接口可使各监测终端和监控计算机通信,实现监测终端的数据共享。CAN总线接口硬件电路如图3所示。
LPC2368内部集成有2个兼容CAN2.0/2.0B的CAN控制器,只需增加一个CAN总线收发器就能满足设计要求。CTM8251T是一款带隔离的通用CAN收发器,该器件内部集成了所需的CAN隔离及CAN收、发器,它可以将CAN控制器的逻辑电平转换为CAN总线的差分电平,将CAN总线差分电平转换成逻辑电平,具有DC 2 500 V的隔离功能和CAN总线过压保护功能,而且在某一节点掉电时不会影响总线。
1.2.3 嵌入式终端电源电路设计
嵌入式技术是国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。
可以这样认为,嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是是由单个程序实现整个控制逻辑。
基于ARM内核的微处理器的嵌入式系统性能在很大程度上取决于电源电路的稳定性和可靠性,因此设计稳定可靠的电源非常重要。LPC23 68有数字电源输入和模拟电源输入2种,分别是+3.3 V和-3.3 V,另外CAN收发器的供电电压为+5 V。系统电源采用LM2576系列稳压器,把外部直流电源稳压成+5 V电源,为CAN收发器提供电源。采用SPXlll7把+5 V电源稳压成2路+3.3 V电源,以提供LPC2368的数字和模拟电源,数字电源和模拟电源之间通过磁珠隔离。
2 系统软件设计
系统软件设计部分包括2方面:1)监测终端软件设计,主要是对传感器的数据采集和处理,完成与上位机之间的数据通信功能;2)上位机软件设计,主要包括CAN节点初始化、报文发送和报文接收。
2.1 监测终端软件设计
监测终端软件主要由启动代码、断处理、实时操作系统、设备驱动和应用程序组成。启动代码完成启动、初始化硬件、引导系统正常运行等工作。实时操作系统μC/OS-Ⅱ是系统运行的指挥中心,完成任务调度和资源分配等工作。设备驱动是操作系统上层应用软件和下层硬件的联系,本设计主要包括CAN控制器驱动、A/D采集驱动等。上层应用程序基于以上各个模块,完成用户要实现的各种功能,通常按功能分成多个模块。
2.1.1 定时数据采集
定时数据采集模块负责定时采集传感器的信号。A/D转换由定时器产生周期中断标志触发,当采样完1个周期后,由中断服务程序发给Task_AD发送信号量,Task_AD收到信号量后,将数据进行相应的处理。
数据采集,又称数据获取,是利用一种装置,从系统外部采集数据并输入到系统内部的一个接口。数据采 集技术广泛引用在各个领域。比如摄像头,麦克风,都是数据采集工具。
被采集数据是已被转换为电讯号的各种物理量,如温度、水位、风速、压力等,可以是模拟量,也可以是数字量。采集一般是采样方式,即隔一定时间(称采样周期)对同一点数据重复采集。采集的数据大多是瞬时值,也可是某段时间内的一个特征值。准确的数据量测是数据采集的基础。数据量测方法有接触式和非接触式,检测元件多种多样。不论哪种方法和元件,均以不影响被测对象状态和测量环境为前提,以保证数据的正确性。数据采集含义很广,包抱对面状连续物理量的采集。
2.1.2 CAN收发子程序
CAN协议是建立在ISO的开放系统互联模型的基础上的,取其中的3层:物理层、数据链路层和应用层。物理层和数据链路层的功能可由CAN接口芯片实现,而应用层的功能则要靠应用程序完成。CAN总线接口通信模块是接收和发送CAN总线数据。主要操作包括CAN控制器初始化和CAN总线上接收和发送数据的操作。
CAN控制器有3个独立的发送缓冲寄存器,发送时要判断缓冲空闲。本设计中,先判断主发送缓冲区,然后进行数据格式转换,启动发送数据。接收采用中断方式。报文发送、接收数据流程如图4所示。
2.1.3 iCAN协议报文处理
iCAN协议为CAN总线的应用层协议。该协议是基于CAN的内部通信协议,小巧、通信效率高,对硬件资源要求低,适用于小型系统。系统中的设备统称为iCAN节点。iCAN协议定义的通信方式是“面向节点,基于连接”的通信方式。“面向节点”是指源节点地址及目的节点地址均已给定,即对于任何一个报文参与通信的双方是确定的。“基于连接”是指在网络中任何一个参与通信的从站设备都必须和主站设备之间建立一个独立的通信连接。这样也为对任何一个设备的通信进行监控提供可能。
iCAN协议使用了扩展帧格式CAN报文,对CAN报文的29位标识符和报文数据都做了详细规定。报文标识符制定了数据通信中的源节点MACID和目标节点MACID,并指示了报文的功能以及所要访问的资源。报文标识符被分为5个部分:SrcMACID(源节点编号)、De2stMACID(目标节点编号)、ACK位、FUNC ID(功能码)、Source ID(资源节点编号)。
监测终端要收发的数据必须符合iCAN协议报文的格式,先要把CAN的数据转换成符合iCAN协议格式的报文,再通过CAN的首发子程序接收和发送。
2.2 上位机管理软件设计
上位机是指人可以直接发出操控命令的计算机,一般是PC,屏幕上显示各种信号变化(液压,水位,温度等)。下位机是直接控制设备获取设备状况的计算机,一般是PLC/单片机之类的。上位机发出的命令首先给下位机,下位机再根据此命令解释成相应时序信号直接控制相应设备。下位机不时读取设备状态数据(一般为模拟量),转换成数字信号反馈给上位机。简言之如此,实际情况千差万别,但万变不离其宗:上下位机都需要编程,都有专门的开发系统
完成上述设计后,在计算机端还需要一套水位监测系统管理软件,以实现网络数据采集、与数据库的连接和数据实时查询等功能。上位机软件流程如图5所示。
监测终端采集传感器信号,实时获得水位数据并通过ZOPC_SERVER服务器传输到客户端KingVIEW,同时KingVIEW作为服务器提供数据给SQL数据库。在KingVIEW的图形化界面上既可以显示实时水位数据,又可以查看历史水位数据。
3 结束语
实验结果表明:该系统可通过1根双绞线在通信速率为9 600 b/s的情况下,可在6 km范围内实时监测63个节点的水位信息。此嵌入式水位监测系统可应用在基于ARM7的多点水位监测的工厂、城市供水、隧道等场合。本系统可以实现水位信息采集的现场总线通信,使各节点连接在总线网络上,实时获取水位信息,方便数据库的管理和更新,可进行数据库的定点定时水位查询。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。