周雪松,许立瑾,马幼捷,张海涛,田 密,齐 鸣
(天津理工大学,天津 300384)
立体车库作为解决城市停车难的有效手段之一,在其电气控制系统中主要采用以可编程控制器(PLC)为主要核心,其信号之间采用有线通信的方式进行传输。有线通信布线多且比较复杂,在车板移动的过程中,线缆由于被拖拽很容易发生断裂,这样中断了信号之间的传输。又由于数据的无线传输方式适用于不易布线或或环境比较恶劣的情况,其应用也十分广泛,已成功应用于小区门禁系统,抄表系统,水质监测,勘探及生产的监测等多个领域,技术相对成熟。在立体车库中,为了实现信号之间的有效传输,考虑应用无线技术。但到目前为止,在国内外的研究中将无线数据采集技术应用于立体车库中并不多见。因而本文提出了一种基于DSP和nRF905模块的立体车库无线数据采集系统的设计。
该立体车库无线数据采集系统框图如图1所示,其由立体车库传感器信号单元、数据采集与无线收发单元、无线收发与中央处理单元组成。其系统采用主从分布式的组成结构,由一台主机(DSP)、多个从机(微控制器)和同等数量的无线收发模块组成。主机作为系统的控制中心,它控制整个系统的运行。从机用来采集现场的数据及向主机发送采集到的数据。无线收发模块则用来实现主机与从机的无线通信。
图1 总体结构设计图
立体车库传感器信号单元包括限位开关、极限开关和光电开关,其输出信号全为数字量。
立体车库的数据采集与无线收发单元由微控制器和无线收发模块组成。
2.2.1 芯片的选择
1)微控制器的选择。我们选用的是Atmel公司的AT89C51单片机,它是一种低功耗、高性能的、片内含有4KB Flash ROM 的8位CMOS单片机,工作电压范围为2.7~6V(实际使用+5V供电,8位数据总线。它有一个可编程的全双工串行通信接口,能同时进行串行发送和接收。通过RXD引脚(串行数据接收端)和TXD引脚(串行数据发送端)与外界进行通信。
2)无线收发模块的选择。我们选用的是挪威Nordic VLSI 公司推出的nRF905无线收发一体的芯片,工作电压为1.9~3.6 V ,32引脚QFN 封装(5 mm×5 mm) ,工作于433/ 868/915 MHz 三个ISM(工业、科学和医学) 频道,频道之间的转换时间小于650μs。nRF905 由频率合成器、接收解调器、功率放大器、晶体振荡器和调制器组成,不需外加声表面滤波器。使用SPI 接口与微控制器通信,Shock Burst工作模式,自动处理字头和CRC(循环冗余码校验) ,配置非常方便。此外,其功耗非常低,以- 10dBm的输出功率发射时电流只有11mA ,工作于接收模式时的电流为12.5mA ,内建空闲模式与关机模式,易于实现节能。
2.2.2 无线收发模块的工作模式
nRF905 有两种工作模式和两种节能模式。两种工作模式分别是Shock Burst接收模式和Shock Burst发送模式;两种节能模式分别是关机模式和空闲模式。nRF905的工作模式由TRX_CE、TX_EN 和PWR_UP 三个引脚决定,(0代表低电平,1代表高电平,X代表高电平或低电平任意状态),详见表1。
表1 nRF905工作模式
2.2.3 硬件电路设计
1)接口电路的设计。此接口电路是指立体车库传感器信号和AT89C51单片机之间的接口。输出信号为4-20mA的传感器,一般输出负载阻抗是200--250欧姆(最大不超过400欧姆),如以200欧姆计算,电压变化范围就是0.8v~4v,而AT89C51单片机的工作电压为+5V,所以传感器和单片机需要进行电平的转换。
2)SPI接口电路的设计。无线收发模块nRF905使用SPI接口与AT89C51单片机进行通信,如图2所示。
图2 nRF905与AT89C51通信图
无线收发与中央处理单元由无线收发模块nRF905和数字信号处理器(DSP)组成。
2.3.1 芯片的选择
我们选用的中央处理器是T I公司的TMS320F2812 DSP芯片,其具有面向控制的32位定点,主频150MHz,具有丰富的片上外设,尤其是12位分辨率的A/D转换模块和脉冲输出的PWM模块,以及强大的数据处理能力。
2.3.2 硬件电路设计
此接口电路主要实现无线收发模块nRF905与DSP之间的电平转换。(DSP的工作电压为+3.3V,而nRF905的输出信号为+5V电平)。其由去耦电路、电平转换电路和滤波电路组成,如图3所示。
发送端的单片机将接收机的地址和要发送的数据写完后,就要控制nRF905 模块将数据信息发送出去,nRF905 模块在发送模式时会自动产生字头和CRC 校验码。当发送过程结束后,nRF905模块的数据传输完成管脚会通知单片机数据发送完毕。
下面为典型的nRF905 模块数据发送流程:
1)当微控制器要发送数据时,将接收机的地址和发送数据通过SPI 接口传输给nRF905 模块;
2)微控制器设置TRX_CE 和TX_EN 管脚同时置为高电平,启动发送端的nRF905 模块为发送模式;
3)发送端的nRF905 模块发送过程处理:
(1)射频寄存器开启;
(2)数据打包(加字头和CRC 校验码);
(3)数据包发送;
(4)当数据包发送结束,将数据发送完成管脚(DR 管脚)置为高电平;
4)如果AUTO_RETRAN 被设置为高,nRF905 模块将连续地发送数据包,直到TRX_CE被设置为低;
5)TRX_CE 被设置为低时,nRF905 模块数据包发送过程结束并回到待机模式。
接收端的单片机控制nRF905 模块进入接收模式后,当nRF905 模块监测到有同一频段的载波信号且接收到相匹配的地址时,就开始数据包接收。当数据包正确接收完毕后,接收端的单片机在nRF905 模块处于待机状态时通过SPI 接口提取数据包中的有效接收数据。
下面为典型的nRF905 模块数据接收流程:1)微控制器控制TRX_CE 为高电平、TX_EN为低电平,nRF905 模块进入接收模式;
2)650us 后,nRF905 模块监测空中的信息,等待接收数据;
3)当nRF905 模块检测到与接收频率相同的载波时,设置载波检测管脚(CD 管脚)为高电平;
4)当nRF905 模块接收到有效的地址时,设置地址匹配管脚(AM 管脚)为高电平;
5)当一个正确的数据包接收完毕后,nRF905模块自动去掉数据包的字头、地址和CRC 校验码,然后将数据接受完成管脚置为高电平;
6)微控制器将TRX_CE 设置为低电平;
7)微控制器通过SPI 接口以一定的速率提取数据包中的有效接收数据;
8)当所有的有效数据接收完毕,微控制器控制nRF905模块数据接收完成管脚(DR 管脚)和地址匹配管脚(AM管脚)为低电平;
图3 接口电路图
9)nRF905 进入待机模式。
本文将DSP芯片和无线收发模块nRF905应用于立体车库的数据采集系统中,在国内外的研究中并不多见。其创新点在于:1)最大程度地避免了车位在运动过程中由于拖拽电缆而造成电缆的损坏的情况,有效地保证了信号之间的传输;2)将DSP芯片取代PLC作为立体车库采集系统的中央处理单元,在采集的速度和精度上较PLC都有很大的提高,从而增强了车位运行的可靠性与稳定性,保证立体车库系统安全运行。鉴于此,笔者认为基于DSP和nRF905模块的立体车库无线数据采集系统将对研究该方向的工程技术人员有很大的借鉴意义。
[1] 马金祥,何一鸣.基于nRF905模块的AT89S单片机无线收发系统设计[J].通信技术,2009,(02):36-38.
[2] 周雪松,田密,马幼捷,等.智能化立体车库存取车优化控制策略的研究[J].制造业自动化, 2008,(10):29.
[3] 胡国宁.PLC在多层升降横移类立体停车设备设计中的应用[J].制造业自动化,2008,(01):72-73.
[4] 杨光松.基于nRF905的无线温度数据采集系统[J].微计算机信息,2008(06):58-60.
[5] 马幼捷,张海涛,邵宝福,等.电子智能化立体车库的研究现状与走向[J].电气自动化,2008(05):15.
[6] 李洪涛,黄甫堪,王展,等.AT89C51单片机在无线数据传输中的应用[J].单片机与嵌入式系统应用,2003(06):58-60.