APP下载

基于STM32和CAN总线的楼宇自动化系统设计①

2014-03-25□□,,

建材技术与应用 2014年5期
关键词:楼宇测控总线

□□ , ,,

(1.山西职业技术学院,山西 太原 030006;2.济南大学 自动化与电气工程学院,山东 济南 250022)

引言

随着经济社会的发展,人们对居住和工作环境的要求越来越高,这就使城市的楼宇建设越来越复杂,其复杂程度不仅体现在建筑外形上,还体现在楼宇内的电气控制及自动化程度方面。

楼宇自控系统应具有可靠性高、可操作性强、实时性好以及性价比高等特点。目前,国内大多数楼宇的各个系统都分立工作,没有形成总体监控,使楼宇的监管和维护变得复杂繁琐,且成本高昂[1]。为解决此问题,本文研究了一种基于STM32单片机和CAN总线的低成本楼宇自动化系统。

1 不同区域内测控点的设计

把空间上分立的区域定为一个独立区域,为维持这个区域内的适宜环境,就不得不涉及多种子系统。如客房区域内的空调系统和照明系统共同工作维持室内温度与亮度;再如门厅走廊区域,通过消防系统与门禁系统的合作便可隔离火源、抑制火灾等。集合如此多种不同的子系统,分别采用单片机技术来实现最为合适。而在众多的单片机中,STM32单片机具有很高的性价比,因此采用该系列单片机作为各个独立测控点的MCU。

1.1 硬件配置

1.1.1 STM32系列单片机的性能特点

在高性能单片机中,STM32系列单片机的性能十分突出。它采用意法半导体公司的ARM Cortex-M3处理器作为内核,使其性能与普通16位单片机相比有了质的飞跃,且与其他32位处理器相比,其低成本、低功耗的特质又显得尤为突出[2]。以STM32F107为例,其主要技术特点有:

(1)低功耗。它的内核采用130 nm专用低泄漏电流控制工艺,在开启所有外设的状态下消耗电流仅为36 mA,在可唤醒低功耗模式下降低至可忽略的2 μA。

(2)一流的外设。翻转频率可达到18 MHz。5个4 MHz/s的UART,3个SPI模块,两路12位的A/D转换器,两路12位D/A转换器以及1个温度传感器。两个CAN2.0B型控制器,具有USB和以太网模块。可满足单个区域的多而复杂的检测及控制要求。此外,新型产品还强化了音频性能。结合USB功能,STM32可以从外部存储器读取、解码和输出音频信号[3]。

1.1.2 区域控制原理

STM32单片机采用CAN总线把所有的系统联系在一起,在特定的区域可能还会用到其他网络,比如室内智能家用电器通过无线网与户主取得联系,还设有其他网络模块。STM32系列单片机的I/O口最高可以达到112个,在设计时留出下载端口,I/O口预留10%~20%的冗余设计为可插拔端口,可在不影响原功能的前提下快捷地进行二次开发。图1给出了一个独立区域的测控原理图。

1.2 独立测控点的测控策略

位于独立区域中的STM32系列的单片机除了完成本区域内的测控任务外,还兼顾处理CAN总线上传来的参数信息。由于每个区域内的测控内容不同,则每个控制点的基本流程也不尽相同。

图1 测控原理图

2 总线通信的设计

整个楼宇内有很多独立的空间,有的空间内需测控的参数数目众多,而有的区域间信息互联很紧密,因此线束量也很多。还有些区域间虽信息互不紧密但相隔较远,也要进行长距离的布线。此时如采用CAN总线技术,便可大量节省线束使用量。

2.1 CAN总线简介

20世纪70年代后期,汽车行业蓬勃发展,汽车内的电子控制单元越来越多,多点对多点的信息交流使得车内的链接线束急剧增加。为此,德国BOSCH公司率先开发出一种多主机的局部网,即CAN总线局域网,凭借其优异的可靠性和灵活性,现已广泛应用于工业过程自动化、楼宇自动化、环境控制、农业生产自动化等众多领域[4]。

CAN总线除了在汽车电子系统和楼宇自动化方面的优势十分明显外,CAN总线的层结构使其在通讯错误检测以及抗干扰等方面的表现也很突出[5]。

CAN总线的主要特点如下:

(1)通讯介质和传输距离。CAN总线可用多种媒介作为数据通信介质,最常用的是双绞线并在连线末端加上匹配电阻,直接通讯距离可达到10 km,最高通讯速率达到1 Mbps。

(2)总线电平。CAN总线共有两条带电压导线:CANH线和CANL线,两条线上电压值相同且为2.5 V时,即表示逻辑状态为0;当CANH线上的电平升高至3.5 V,CANL线上电平降至1.5 V,电压差到达2 V时,即表示逻辑状态为1[6]。

(3)通信协议。CAN总线属于多节点串行通讯,任意节点以广播的方式将信息发送至线上的其他所有节点,其他节点会根据需求留下所需信息。其信息是以帧的方式进行传递的,而根据功能的不同,帧分为4种:数据帧、错误帧、远程帧和过载帧。每个帧的最后一个域由7个退让位组成[7]。

2.2 系统总线的硬件设计

CAN总线按信息传播速度可分为高速总线和低速总线。在楼宇系统中,有些信息实时性很强,如漏电信号、火险信号和门禁信号等,所以把这些信号挂接在高速CAN总线上,其余的实时性不是很强的信号可挂接在低速CAN总线上,这样便可将分散在不同区域或同一区域的不同测控点连接起来。

2.2.1 CAN总线接口硬件电路

单片机读写信号线TX和DX经过光电隔离电路后,与CAN总线收发模块PCA82C250相连接,实现数据信息的传递,接口电路原理如图2所示。

图2 总线接口电路

2.2.2 CAN总线的冗余设计

在整个楼宇内,二次装修的时间和区域是不确定的。有时施工单位的变更,很可能在不知情的情况下破坏或阻断CAN总线,导致通信故障。为使整个系统更加稳定可靠,CAN总线采用冗余设计,即把高速总线和低速总线都做成两条,正常工作时,信号在总线1上传递,当出现故障时,在报警的同时,信息转向另一条总线[8]。

2.3 通信流程

CAN总线的数据通信流程如图3所示。

图3 数据通信流程

CAN总线通讯的最主要部分为数据信息的发送部分和接收部分,以下是这两部分的子程序。

2.3.1 CAN总线的数据发送子程序

Void User_CANTransmit(uint16_t val)

{

CanTxMsgTxMessage;

uint8_t TransmitMailbox;

TxMessage.StdId=val&0x7FF;

TxMessage.RTR=CAN_RTR_DATA;

TxMessage.IDE=CAN_ID_STD;

TxMessage.DLC=2;

TxMessage.Data[0]=val;

TxMessage.Data[1]=(val≫8);

TransmitMailbox=CAN_Transmit(CAN1,&TxMessage);

while((CAN_TransmitStatus(CAN1,Tra nsmitMailbox)!=CANTXOK));

}

2.3.2 CAN总线的数据接收子程序

void CAN1_RX0_ISR(void)

{

if(CAN_GetITStatus(CAN1,CAN_IT_FMP0)!=RESET)

{

uint16_t ch;

CAN_ClearITPendingBit(CAN1,CAN_IT_FMP0);

CAN_Receive(CAN1,CAN_FIFO0,&RxMessage);

ch=(RxMessage.Data[1]≪8)|RxMessage.Data[0];User_Uart1SendChar(ch);

}

}

3 结语

根据楼宇自动化系统多区域多子系统的特点,本文提出了一种可以完成楼宇自动化基本任务且成本较低的设计方案,主要依靠STM32系列单片机的高性能与低成本的特性,以及CAN总线通讯的多主机和可冗余机制。在信息化和新材料技术快速发展的21世纪,楼宇自动化系统的发展有着非常光明的前景,必然会成为智能建筑工程的重要基础设施。同时,楼宇自动化的科技水平也将成为国家综合国力的一个具体体现。

参考文献:

[1] 徐岩.浅谈智能建筑中的楼宇自动化系统[J].智能建筑电气技术,2008,2(5):15-18.

[2] 孙书鹰,陈志佳,寇超.新一代嵌入式微处理器STM32 F103开发与应用[J].微计算机应用,2010,31(12):59-63.

[3] 董佳.CAN总线分析仪设计[D].广州:华南理工大学,2012.

[4] 朱帅.基于CAN总线分布式电动汽车充电站控制系统研究[D].赣州:江西理工大学,2012.

[5] 赵雨斌,苗满香,陈宇.基于CAN总线的楼宇智能监控报警系统研究与设计[J].核电子学与探测技术,2008,28(5):915-918.

[6] 杨贵永,罗亚峰,封桂荣,等.CAN总线在楼宇自动化系统中的应用[J].工业控制计算机,2013,26(5):74-75.

[7] 顾羽洁,解大,张明,等.基于CAN总线的楼宇自控系统设计[J].现代建筑电气,2010,1(8):10-14.

[8] 禹春来,许化龙,刘根旺,等.CAN总线冗余方法研究[J].测控技术,2003,22(10):28-30,41.

猜你喜欢

楼宇测控总线
通信生产楼宇建设项目造价问题分析
商务楼宇治理中党建融入的逻辑与路径——基于广州S楼宇的观察与思考
基于LabWindows/CVI与TekVISA的Tek示波器远程测控软件设计
基于PCI Express总线的xHC与FPGA的直接通信
机载飞控1553B总线转以太网总线设计
智美兼具的精品——评测君和睿通Homates H10楼宇对讲室内门口机
基于现代测控技术及其应用分析
向着新航程进发——远望7号测控船首航记录
高层楼宇灭火装备
多通道ARINC429总线检查仪