陈 伟,施国梁
(苏州大学 电子信息学院,江苏 苏州 215006)
近年来汽车网络越来越受到人们的关注,无线通信技术在消费电子的汽车化和更环保、更安全、更方便的驾车环境的要求下不断应用和发展,尤其是如何能够提高驾车安全、减少甚至排除交通事故已经成为当前一个重要的研究课题[1]。而高精度、高可靠性、宽广的监测视角以及高性价比的防碰撞系统成为迫在眉睫的需要。其中的关键问题是快速、准确计算出汽车行驶的安全距离。而测距的方法不同就会大大影响车辆的防碰撞控制。因此,这里提出了一种通过无线通信技术实时的将车辆行驶数据发送给对方的系统,从而通过算法得到准确的车间距离[2]。
本系统关键技术在于无线数据传输技术的应用。微功率短距离无线数据传输技术作为一种无线通信实用技术,一般使用单片射频收发芯片,加上微控制器和少量外围器件构成专用或通用无线通信模块[3],只需根据指令操作就可实现数据无线传输功能。
一个无线数据传输系统可由微控制器,单片射频收发芯片以及少量辅助设备和显示设备构成[4],无线传输系统结构如图1所示。
该系统包括微处理器、无线收发模块、液晶显示模块和外围的辅助模块。自车通过无线收发模块向其周围通信范围内的其他车辆广播自己的行驶数据(包括位置、车速和航向等)和接收并显示从其他车辆发来的数据,同理,其他车辆也同样广播自己的数据和接收并显示来自他车的数据,该系统实现了车间的双工通信。
图1 无线传输系统结构
微处理器选用 STC公司最新第六代加密型 CPU——STC12C5A60S2单片机。该单片机将大量的外围模块整合到单片机内,包括看门狗、两个串行通讯口(UART0、1)、一个 SPI口、一个 10位 A/D转换器、基本定时器(Basic Timer)等,同时具有60 kB的ROM和1280 B的RAM,处理速度比普通的8051快8~12倍,足够满足系统要求,且该单片机具有简单实用、成本低,抗干扰能力强,功耗低等特点[5]。STC12C5A60S2单片机外围电路如图2所示。
图2 CPU外围电路
短距离无线收发模块包括无线发射器和无线接收器两部分组成,其通信的基本原理是发射器的数据通过无线发射出去,接收器天线接收后,进行处理,得到正确的、经过检验的准确数据[6]。该模块的通信示意图如图3所示。
图3 短距离无线通信示意
CC1101是 Chipcon公司最新的高性能无线通信芯片,其电路主要设定为在315 MHz、433 MHz、868 MHz和915 MHz的 ISM(工业,科学和医学)和 SRD(短距离设备)频率波段,也可以容易地设置为 300~348 MHz、400~464 MHz和800~928 MHz的其他频率。CCl101集成了一个高度可配置的调制解调器,支持不同的调制格式,其数据传输率最高可达 500 kb/s。通过开启集成在调制解调器上的前向误差校正选项,能使性能得到提升。在发射状态下,其发射功率可编程调节,其最大发射功率达到+10 dBm,且接收灵敏度可达-110 dBm,抗干扰能力强,功耗较低。
该设计中 CCll01通过对 4线 SPI接口(SI,SO,SCLK和CSn)和GDO2测试接口的配置进行工作。SPI接口是一种同步串行通信接口,CSn是芯片选择引脚,当该引脚为低电平时,SPI接口可以通信,否则不能通信。SI和S0为数据传输引脚,SI为数据输入,SO为数据输出。SCLK为同步时钟,在时钟的上升沿或下降沿数据被写入或读出;若信道中有数据,GDO2脚电平跳变[7]。
在此,MCU通过软件去设置各种射频参数和其他辅助功能。在无需外加功放电路的情况下,可使其通讯距离达到200 m以上。该系统采用 433 MHz频段,STC12C5a60S2的P1.4 、P1.5 、P1.6、 P1.7引脚分别与 CC1101的 SPI口的 CSn、SI、SO、SCLK连接,对其进行寄存器配置和无线数据收发控制;该单片机的P3.2脚与CC1101的GDO2脚连接,当信道中有数据时,GDO2脚电平跳变,单片机产生中断并进行数据接收。无线收发电路如图4所示。
图4 无线收发电路
该系统采用模块化设计方法,以便提高代码重复利用率、便于调试排错,并易于扩展。该部分主要完成车辆数据交换,并将接收的数据显示到液晶屏上。总体流程图如图5所示。
图5 总体流程
该系统将每辆车视为一个节点,每个节点都是对等的,即每个节点是交替进入发送状态和接受状态的。在某段时间内,A节点采用广播方式广播数据,此时,B节点发生中断并接收数据,直到该数据通信结束;之后,发送节点和接受节点状态交换,即是,B节点开始广播数据,A节点发生中断并接受数据,以此继续下去。各发送节点采用不同的时间延迟来间隔发送数据。通信协议格式如图6所示。
图6 通信协议格式
长度:字头+长度+数据+校验,系统设为21;
数据:系统中需要传输节点的经纬度、速度以及航向等数据,预留18个字节;
校验:字头+长度+数据的累加,系统设为0xAB。
系统上电之后,可根据需要进行设置。这里需对P1口,P3口用到的引脚状态进行设置。当初始化SPI口时,可以对SPCTL寄存器和SPSTAT寄存器根据具体要求设置。在这里,选择主机模式,同步时钟频率为晶振频率的1/8,数据字的最高位先传送,在时钟上升沿对数据进行采样。
SPI口初始化程序为:
在上电之初,CCllO1处于默认状态,需要对相应的寄存器进行设置才能工作。CCll01有40多个寄存器需要配置,其决定了CCll01的工作模式,具体配置可以参照CCll01的详细参考资料。在设置寄存器值时,使用SPI接口通信,该程序涉及单片机的SPSTAT、SPDAT等寄存器。首先把欲配置的寄存器的地址或数据写入数据寄存器SPDAT中,当检测到SPSTAT寄存器的SPIF位为高时,即数据寄存器已空,数值发送完。参照上面提到的寄存器读写方式,可以依次对CCll01内部寄存器进行配置。完成一个CC1101寄存器设置的程序为:
配置寄存器结束之后,CC1101处于等待状态,可以通过STX和SRX指令使其进入发射或接收状态,进行数据传输。
测试场景为:天气晴,测试地点为电子信息楼前的马路上,将系统放在车上,即设置三个节点分别为A、B、C三点。
通过硬件的测试,验证整个系统静态和低速动态环境下的实用性。
(1)静态性能
条件为:A、B、C三点都静止,之间相距一定距离。
结果:节点间数据传输正确率100%,最大延时小于10 ms,传输距离最大为240 m,通信稳定。因此,静态性能符合应用要求。
(2)动态性能
条件为:A、B、C都以低速行驶,之间相距一定距离。
结果:节点间数据传输正确率99%,最大延时小于100 ms,传输距离最大220 m,通信稳定。因此该系统低速动态性能较好。
通过对以STC12C5a60S2为微处理器,以CC1101为无线收发器的通信系统的软硬件设计实现,对该系统的工作原理及其接口进行分析,对此车间无线数据交换系统的各项性能及其动静态性能指标进行深入研究,从测试结果中可看出此CC1101无线通信模块在车载上的应用中具有良好的静态和低速动态性能,但若要使该系统满足中高速移动要求,则还需对其进行进一步的测试和改进,而其将对后期的大范围车辆碰撞预警项目开发起到指导性作用。
[1] 胡瑜.汽车防碰撞系统的应用与研究[J].机械工程与自动化,2010,8(04):214-216.
[2] 金纯,柳兴,万宝红,等.IEEE802.11P:车载环境下的无线局域网[J].通信技术,2009,42(01):323-325.
[3] 王秀梅,刘乃安.利用2.4 GHz射频芯片CC2420实现ZigBee无线通信设计[J].国外电子元器件,2005,3(03):59-62.
[4] 王晓利.智能汽车防追尾互通信系统的研究[J].通信技术,2011,44(09):92-94.
[5] 陈桂友.增强型8051单片机实用开发技术[M].北京:北京航空航天大学出版社,2010:15-250.
[6] 李路,严明,何友国.基于PIC单片机的无线报警系统设计[J].通信技术,2011,44(03):48-50.
[7] 李丽军,王代华,祖静.基于CC1100的无线数据传输系统设计[J].国外电子测量技术,2007,26(12):42-45.