基于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接口,其性能稳定、功能强大,广泛应用于协议转换、通信、工业控制领域。应用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所列的任务完成以上模块功能。
2.1.1 定时数据采集
定时数据采集模块负责定时采集传感器的信号。A/D转换由定时器产生周期中断标志触发,当采样完1个周期后,由中断服务程序发给Task_AD发送信号量,Task_AD收到信号量后,将数据进行相应的处理。
评论