摘要:文章介绍了无线通讯芯片CC1101的主要特点和工作原理,在此基础上设计了CC1101与单片机MC9S08QE32的硬件接口电路和一个简单的通讯协议。此外,还设计了无线通讯过程中的发射和接收流程。
关键词:无线通讯;CC1101;单片机;接口设计;低功耗
中图分类号:TP273文献标识码:A
文章编号:1009-2374 (2010)21-0015-03
随着物联网标准的制定和不断完善、随着技术不断发展,无线通讯因其组网方便快捷,在测控领域的应用越来越广,如小型数据网络、安全防火系统、遥控系统、生物信号采集、水文气象监控、机器人控制等。为实现这些应用,许多无线通讯芯片生产厂家开发出性能越来越高的芯片,CC1101就是TI公司推出的单片无线收发芯片。在实际应用中,CC1101往往成为微型计算机系统的一个无线接口,因此,实现CC1101与微机(如单片机)的接口就是一个需要解决的问题。本文给出了一个单片机MC9S08QE32与CC1101的一个接口方案,包括硬件连接和简单通讯协议,该方案具有低功耗的特点。
1硬件系统设计
1.1CC1101的简介
C1101是一种低成本真正单片的UHF收发器,为低功耗无线应用而设计。电路主要设定为在315、433、868和915MHz的ISM和SRD频率波段,也可以容易地设置为300-348MHz、387-464MHz和779-928MHz的其它频率。RF收发器集成了一个高度可配置的调制解调器。这个调制解调器支持不同的调制格式,其数据传输率可达500kbps。通过开启集成在调制解调器上的前向误差校正选项,能使性能得到提升。CC1101为数据包处理、数据缓冲、突发数据传输、清晰信道评估、连接质量指示和电磁波激发提供广泛的硬件支持。
从图1可知,使用CC1101只需要少量的外部元件,方便用户调试和降低成本,便于生产提高良品率。其内部组成包括:发射电路、接收电路、控制接口电路等部分。CC1101有一个Low-IF接收器。接收的RF信号通过低噪声放大器(LNA)放大,再对中间频率(IF)求积分来向下转换。在IF下,I/Q信号通过ADC被数字化,自动增益控制(AGC),细微频率滤波和位/数据包解调均被同步数字化。CC1101的发送器部分基于RF频率的直接合成。频率合成器包含一个完整的在芯片LCVCO和一个在接收模式下的为产生I和Q信号产生90度相移LO到向下的转换混频器。
CC1101提供6根I/O口与MCU相连,如图2所示,它们分别负责通讯参数配置、工作模式选择、数据通讯等。管脚SCLK、SO、SI、CSn组成的SPI接口负责CC1101接收模式选择、发射模式选择、RF信道选择、RF功率设置、工作模式切换等;GDO0、GDO2作为一般用途数字输出管脚可以作为测试信号、FIFO状态信号、时钟输出、连续输入TX数据四个功能之一使用。
RF部分只需外部连接几个电容和电感,C131,C121,L121和L131形成一个平衡转换器,用以将CC1101上的微分RF端口转换成单端RF信号(C124也用在直流模块上)。同一个合适LC网络一起,平衡转换器元件也将阻抗转换以匹配50欧的天线。
1.2系统结构原理
系统有电源、中央处理单元、射频部分、天线等组成,该系统使用3V电源,中央处理单元部分完成射频部分初始化、配置、外部串口通讯、与射频部分的通讯等功能;射频电路及天线部分完成无线通讯功能。
1.3MC9S08QE32的特点及与CC1101的连接
MC9S08QE32是飞思卡尔新一代8位单片机产品,HCS08是市场上广泛使用的HC08系列的升级产品,将原有的HC08系列产品的功能与性能提升到更高层次。在HCS08中应用了众多新技术,包括:电池寿命延长技术、增强型的低功耗性能以及超低电压下的高级运行能力等。MC9S08QE32管脚少、低电压及低功耗、体积小,低成本,但具有极高的集成度,集成了很多系统级功能,非常适合低功耗、低成本的场合。
根据MC9S08QE32特点和CC1101的接口要求,设计如图4所示的硬件连接。MC9S08QE32的SPI接口正好与CC1101的接口进行连接,实现该接口进行频段、通道、功率、工作模式等配置以及通讯。GDO0用作测试信号连接到MCU的IO口,GDO2用作时钟输出信号连接到MCU的IO口,MCU可以据此判断CC1101工作情况和是否有时钟输出,如果没有时钟输出,则说明CC1101工作不正常。为了更有效节能和灵活运用。单片机通过重复使用SPI接口上的SI,SCLK和CSn,控制CC1101的电磁波方式。这个特性使通讯的主要状态通过一个简单的3脚控制:休眠,空闲,RX和TX。另外CC1101的具有电磁波激活(WOR)的功能,WOR功能使CC1101能够周期地从深度休眠状态激活,从而不需要MCU的作用即能侦测到来的数据包。
2无线通讯的软件流程设计
MC9S08QE32通过CC1101进行无线通讯时,除了待机和掉电模式,其它模式都可对CC1101进行配置和初始化。但是在待机和掉电模式时,寄存器的内容仍然保留有效,只有在下次对CC1101进行配置时,旧的配置数据被删除,保存新配置数据。
在进行数据通讯前,需要对CC1101的工作参数和工作模式进行初始化、对通讯数据帧的格式进行定义,为了减少无线通讯过程中的相互干扰,数据帧不能太长,同时为了提高通讯效率,数据帧也不能太短。综合考虑,采用如表1所示的数据帧格式,采用固定帧长的方式,它由帧头(5字节)、地址字(6字节)、数据信息(12字节)、校验字(2字节)四个部分组成。
表1通讯数据帧格式
帧头地址字数据信息校验字
5bytes1byte12bytes2字节
数据帧中包头定义为BBBBBBBBF0h,该字段进行接收和发射数据帧同步。地址字(Address word)是设备地址,该地址要求在本无线通讯系统内地址不重复,并且也应该减少与其它同频率通讯的系统该部分内容重复,采用以太网的地址字节数,采用6个字节。数据字(Message word)是该数据帧要传输的内容,固定为12字节。如果要传输更多的内容,可以采用多个数据帧的方式。校验字为两个字节,本文的设计采用CRC方式,它是利用除法及余数的原理来做错误侦测(Error Detecting)的。在应用时,发送端计算出CRC值并随数据一同发送给接收端,接收端对收到的数据重新计算CRC并与收到的CRC相比较,若两个CRC值不同,则说明数据通讯出现错误,要求重传。
由MC9S08QE32和CC1101组成的通讯系统的接收和发送的程序流程图如图5所示,流程图包括发送程序和接收程序部分。通讯方式为半双工通讯,在发射和接收之间切换时需要等待CC1101的稳定时间。根据该流程图可以很好地写出程序。在发射模式下,单片机将被传送的有效载荷必须写入TXFIFO。在固定数据包的长度时,第一个写入TXFIFO的字节被解释为目的地址。调制器会先送入控制数目的前导字节。如果TXFIFO中的数据可用,调制器会发送2字节(或4字节)同步词汇,接着是TXFIFO中的有效载荷。然后计算所有拉入TXFIFO中数据的检验合。然后在有效载荷数据末端,这个结果被以2个额外字节发送。当发射一个数据包后,将转到接收模式,在接收模式下,解调器和数据包处理装置将会搜寻有效的前导和同步词汇。找到后,解调器就得到了位和字节同步,然后开始接收第一个有效载荷字节,并判断接收数据是否正确,不正确则要求重传。
3结论
本文叙述了单片机MC9S08QE32和无线通信芯片CC1101的接口设计,单片机MC9S08QE32可以通过其I/O控制CC1101的工作状态、工作频率和发射功率等参数,并能实现半双工无线通讯。通过软件设计对单片机的UART进行了配置,采用了一个定长的简单数据包,这样既提高了通信的可靠性,又可以节省功耗。这些方法都具有普遍意义,可以广泛用在各种类似系统当中。
参考文献
[1] W. Alan Davis KrishnaK. Agarwal著,李福乐,等译.射频电路设计[M].机械工业出版社,2005.
[2] 陈邦媛.射频通讯电路[M].科学出版社,2003.
[3] 李刚,陈世利,周鑫玲.飞思卡尔8位单片机实用教程[M].电子工业出版社,2009.
[4] 谢嘉奎,宣月清,冯军.电子线路(非线性部分)(第四版)[M].高等教育出版社,1999.
[5] Donald A.Neamen著,赵桂钦,卜艳萍译.电子电路分析与设计[M].电子工业出版社,2003.
扩展阅读文章
推荐阅读文章
77范文网 https://www.hanjia777.com
Copyright © 2015-2024 . 77范文网 版权所有
Powered by 77范文网 © All Rights Reserved. 备案号:粤ICP备15071480号-27