微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > 基于以太网和CAN总线的楼宇自动化系统设计

基于以太网和CAN总线的楼宇自动化系统设计

时间:10-21 来源:3721RD 点击:

随着现代化城市建设的发展,出现了越来越多的高层建筑,如何统一管理和监控建筑内公用的机电设备,成为当今楼宇自动化研究的热点方向之一。以"分散控制,集中管理"为基本思想,设计了一种基于以太网和CAN总线的楼宇自动化控制系统。采用分层管理和控制,与传统控制结构相比,每个现场设备节点都具有通信和控制能力,各自可以独立控制而不依赖于主控计算机,同时也具有简单的故障自动修复功能,因而只要控制规律确定以后,平时主控机只需要监视设备节点既可,这样就提高了整个系统的自动化水平。所选的以太网和CAN总线的组合,相比其他总线,软硬件技术成熟、安全可靠、传输速度快且成本低廉、易于扩展和维护。

1 网络结构设计

系统结构如图1所示。系统设计两层网络,第1层是以太网,由路由器和交换机组成,负责连接主控机和各个区域的上位机,各上位机内嵌简单的TCP/IP协议栈,通过以太网将其下的设备节点的状态实时的反馈到主控机中,也可以接受主控机发送出的控制指令。以太网提供了冗余网络结构,主控机的位置可以随时移动,通过新的路由器接入网络即可。第2层是CAN网络,由CAN控制器和收发器组成,负责连接设备节点,将采集到的数据传送至上位机,并接收上位机的命令消息。由于上位机实际上起到了一个网关的作用,因此两层网络结构扩大了通信的带宽,减轻了总线的负担。再加上CAN特有的非破坏性总线仲裁技术,即使在网络负重很大的情况下,也不会出现网络瘫痪情况。

2 硬件方案

上位机以NXP LPC2478为主芯片,由电源稳压模块、以太网收发器,隔离变压器、CAN收发器等组成。LPC2478以ARM7为内核,它包括1个10/100以太网媒体访问控制器(MAC)、1个带4 kB终端RAM的USB全速设备/主机/OTG控制器、4个UART、两路CAN通道、1个SPI接口、2个同步串行端口、3个I2C接口和1个I2S接口。同时还带有1个4 MHz的片内振荡器、98 kB RAM、以及一个外部存储器控制器来支持上述的各种串行通信接口。电源稳压模块将输入电源电压滤波并稳定在3.3 V左右,可以防止电压瞬时的下降导致的程序跑飞。CAN收发器采用PCA82C250,以太网接口用常见的的RJ45型网线接口。

设备节点使用STC89C52单片机作为微控制器,外扩SJA1000为CAN控制器,为便于调试,扩展电平转换芯片MAX232作为备用调试通道。根据不同需要,还要连接不同的传感器和其他执行机构,比如中央空调系统,可连接DS18B20温度传感器将温度采集并以数字量直接传送给STC 89C52,STC89C52则按预先设置好的方案,控制压缩机工作。必要时可以由主控机发送控制命令,修改预先设置的方案参数。

将上位机的网口连接至交换机网口,路由器的LAN口也和交换器连接,路由器的WAN口连接进入楼宇局域网。

3 软件架构

软件由主控机人机接口界面、上位机软件、设备节点软件组成。上位机软件包括嵌入式TCP/IP协议簇、以太网收发软件包、CAN收发软件包等,设备节点软件包括CAN模块、数据采集分析模块等组成。

3.1 移植μC/OS-Ⅱ实时操作系统的方法

上位机既要和主控机通信,又要负责管理下属的设备节点,负载较大。移植μC/OSⅡ操作系统可以使上位机具有多任务运行的功能。 μC/OS-Ⅱ是一个完整的,可移植、固化、裁剪的占先式实时多任务内核。它包含了任务调度、任务管理、时间管理、内存管理和任务间的通信和同步等基本功能。μC/OS-Ⅱ采用的是可剥夺型实时多任务内核,可剥夺型的实时内核在任何时候都运行就绪了的最高优先级的任务。

在ARM下移植μC/OS-Ⅱ操作系统主要是修改μC/OS-Ⅱ中一部分与CPU相关的汇编代码,这里主要是任务上下文的切换代码。

任务切换发生在任务调度的时候,μC/OS-Ⅱ下任务调度的时机主要有以下几种情况:1)高优先级的任务因为需要某种临界资源,主动请求挂起,让出处理器,此时将调度就绪状态的最高优先级任务并执行。2)高优先级的任务因为时钟节拍到来,在时钟中断的处理程序中,内核发现更高优先级的任务就绪,获得了执行条件,则在中断后直接切换到更高优先级任务执行。

任务切换就是保存前一个任务的基本信息,同时读取新任务在上一次被切换时保存的这些信息。调度器将前一任务的上述信息保存在该任务的栈空间中,其目的是为了下次运行时能够恢复到被切换时的状态,调度器将从该任务的栈空间中读取上述信息,从而从该任务上次被中断的位置继续执行,其基本过程如下:

1)将当前任务的PC位置、通用寄存器数据、CPU状态入栈。

2)将全局变量OSPrioCur(当前任务优先级变量)的值修改为全局变量OSP

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

网站地图

Top