微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于CAN总线的嵌入式水位监测系统设计

基于CAN总线的嵌入式水位监测系统设计

时间:12-14 来源:互联网 点击:

针对封闭式引水隧道内多点水位信息的实时、准确的采集,提出基于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数据收发。传感器输出的信号经过滤波和调理转换为所需要的电信号。采用12位低功耗、串行输出模数转换器TLC2574采集电压信号,使监测终端能准确、稳定地采集电压信号。

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接口,其性能稳定、功能强大,广泛应用于协议转换、通信、工业控制领域。应用LPC2368开发监测终端可以有效控制成本。工业网络需要强稳定性,但实验证明超过60%的总线带宽使用率就会造成冲突。1根AHB总线是完全不够的,而LPC2368具有双总线机制和DMA协处理机制。任何一根总线都可以通过总线桥与其余总线通信,消除了通信瓶颈。
1.2.2 CAN总线接口硬件设计
通过CAN总线通信接口可使各监测终端和监控计算机通信,实现监测终端的数据共享。CAN总线接口硬件电路如图3所示。

LPC2368内部集成有2个兼容CAN2.0/2.0B的CAN控制器,只需增加一个CAN总线收发器就能满足设计要求。CTM8251T是一款带隔离的通用CAN收发器,该器件内部集成了所需的CAN隔离及CAN收、发器,它可以将CAN控制器的逻辑电平转换为CAN总线的差分电平,将CAN总线差分电平转换成逻辑电平,具有DC 2 500 V的隔离功能和CAN总线过压保护功能,而且在某一节点掉电时不会影响总线。
各个监测终端间通过带屏蔽双绞线构成CAN总线网络,总线两端连接120 Ω的匹配电阻,用于提高系统的稳定性、增强系统的抗干扰能力。
1.2.3 嵌入式终端电源电路设计
基于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采集驱动等。上层应用程序基于以上各个模块,完成用户要实现的各种功能,通常按功能分成多个模块。本设计中主要包括传感器数据采集模块、参数设置模块、CAN通信模块。由表1所列的任务完成以上模块功能。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top