1.引言
随着科技的不断进步,在多数领域中有线连接的方式已经不能满足科技高速发展的要求,无线通信正进入到我们生活中的各个领域,它与有线连接方式相比,具有携带方便、使用灵活、不必考虑走线等优点。在无线报警、工业数据采集、遥控、遥测射频IC卡、手持PDA、无线图像传输、不停车收费、无线抄表等各个方面有着极其广泛的应用。本文所介绍的测温系统也是无线通讯系统的应用之一。它以SOC单片机C8051F020为中央控制器,以CC1000为无线传送模块和温度测量电路构成了多路无线温度采集系统。
将8路的温度数据进行采集,通过无线方式送给主机C8051F020进行处理。
调制解调由CC1000完成,系统采用频移键控调制(FSK),载波频率为433MHz,带宽64kHz,数据采用差分曼彻斯特编码发送,空中发送数据速率可以根据需要设置。在发送时控制器C8051F020单片机从用户接口接收采集命令,进行8路温度信号的采集,并将采集到的温度数据进行打包转换成数据帧传送给CC1000,控制CC1000进行数据发送。
在接收时,控制器C8051F020接收从CC1000传送过来的温度数据,进行简单处理后把这些数据传送给上位机进行详细的分析处理。硬件框图如图1和图2所示。
2.系统硬件设计
2.1 无线收发模块
本设计的无线收发模块采用了ChipconComponent公司的高性能RF收发芯片CC1000,它是一种单片高频无线收发IC,电流损耗低,通信速率可调,最高可达72.8kbit/s,接收灵敏度为-109dB.m,发射信号功率在-20~10dB.m内可调,设计时电路简单,所用的外围器件较少,编码简单,改变电路和器件参数可以使其工作的频率范围在300~1000MHz内变化。同时该器件内部集成了发射功率放大器、FSK调制/解调、低噪声接收放大器、混频器、压控振荡器、鉴相器等电路,是一款集成度极高的芯片,可直接与单片机进行通信。该IC极适合嵌入到各种低功耗要求较高的测量或控制系统中,我们在该系统中选则433MHz的频段,CC1000内部结构图如图3所示。
2.2 主控芯片C8051F020及控制电路
C8051Fxxx是Cygnal公司推出的一系列8位高速片上系统(SOC)单片机,C8051F020是其中的一款,它的CIP-51与MCS-51指令集完全兼容,具有以下优点:(1)速度高,最大处理速度可达25MIPS;完全满足本设计中的实时性要求。(2)集成度高,片内集成了极其丰富的模拟及数字外设:两个多通道模/数转换系统,包括一个8位ADC和一个12位ADC,以及两个可编程增益放大器和两个模拟多路选择器;两个12位数/模转换系统;两个模拟比较器:一个片内温度传感器;丰富的总线接口包括SMBus总线接口、通用异步串行总线接口UART、SPI总线接口;5个16位通用定时器;8个8位I/O端口;一个64K的FLASH和一个256B的内部RAM一个4096B外部RAM(XRAM);以及看门狗电路等;这些片内资源大大减化了本设计的硬件电路设计,极大的缩短了开发周期。(3)交叉开关使I/O端口分配更加灵活。
基于C8051F020的片内资源,可以完全满足对多点的温度数据进行实时采集及处理。C8051F020对CC1000的控制电路如图4所示。
如图4微控制器C8051F020使用P3.0、P3.1、P3.2与CC1000的PDATA(编程数据)、PCLK(编程时钟)、PALE(编程允许)连接对CC1000进行编程配置和校准,使其工作在433MHz,带宽64kHz,数据采用差分曼彻斯特编码发送。单片机C8051F020的P0.2、P0.3与CC1000的DIO和DCLK连接进行数据的发送与接收,单片机将采集到的温度数据进行打包经P0.2引脚送给CC1000的DIO引脚,DIO引脚输入的数字信号被频移键控(FSK)后送到功率放大器,再通过CC1000的天线发射出去;CC1000天线接收到的射频信号经低噪声放大器(LNA)放大后送给混频器,再由解调器(DEMCO)解调成数字信号由DIO脚输出,单片机的P0.2引脚将DIO引脚的数字信号接收后传送给上位机进行分析处理。
2.3 测温电路
测温放大电路如图5所示,测温部分由8路K型热电偶进行,使温度信号转成电压信号,热电偶的变化范围是40.7uV/C,由于热电偶的变化范围很小,因此要进行放大,放大电路采用集成运放LM224构成同向比例运算电路进行放大。将采集到的模拟量Vi经放大器LM224放大Vo=(1+605/4.99)*Vi,8路放大后的模拟信号Vo接SOC单片机C8051F020的8路12位A/D的模拟输入端AIN0.0~AIN0.7进行模/数转换,然后换算成温度值储存并等待无线发送。
3.系统软件设计
本设计使用的软件是Kei C51,使用的语言是C语言和汇编语言,为了得到精确延时,所以延时子程序采用汇编语言编写。以下主要介绍一下无线通信部分。
3.1 通信协议的设计合理的通信协议是可靠的进行无线数据传输的关键,对于点对多点的无线通信,本设计所采用的协议具有代表性。由于在发射端与接收端进行无线通信时,极易被外界噪声干扰而产生错误数据或数据丢失,因此本设计将要发送的数据进行打包再发送,数据的组织格式如图6所示。
数据包格式OxAA OxAA 0xAA 0xAA 0x330xCC地址 数据…数据 检验和,其中4个0xAA是同步头0×33 0xCC是特殊标识,由于噪声中OxAA后面紧跟0×33 0xCC的机率极小所以发送4个OxAA后发送0×33 0xCC作为标识头,每次只接收以4个OxAA 0×33 0xCC作为标识头的数据,然后发送地址,每个从机都有唯一的地址,从机接收时只接收和自己地址相同的包,最后采用校验和的方式来保证数据的可靠性。
3.2 主程序的设计流程
通信由上位机发起,当需要通信时,上位机首先发送同步头,然后发送地址其后等待下位机应答。而下位机使用中断的方式与上位机进行通信,即下位机每收到一个数据包检侧是否有同步头信息,如果没有同步头信息,无线通信模块转入休眠状态;反之,下位机接收上位机信息:如果接收到的地址为本机地址,则对数据进行分析处理,否则转人休眠。这种通信方式虽然速度较慢,但是却使得下位机的功耗大大降低,延长了下位机电池的寿命。程序流程图见图7所示。
CC1000对硬件和软件的要求都很高,要获得良好无线通信效果需注意以下几点:
(1)电源滤波要好,单片机C8051F020和CC1000用两路电源供电,电源芯片用LDO的TPS7133Q芯片以防串扰和确保输出电压的稳定性。
(2)PCB布局时将将射频和低频元件分开布,与CC1000相关的电容和电感紧密地布在CC1000的周围,以增加CC1000的接地面积和通信可靠性。
(3)模式转换的延时一定要足够。
4.结束语
本方案采用C8051F020单片机和无线收发芯片CC1000实现了8路温度数据的采集与无线传输,从实验结果可看出该系统很好的满足了无线测温系统的要求,并有效的降低了系统的功耗和体积。