基于C8051F020的多路无线温度采集系统的设计方案
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语言和汇编语言,为了得到精确延时,所以延时子程序采用汇编语言编写。以下主要介绍一下无
- 一种基于单片机的心肺复苏系统(04-17)
- 单片机与串行AD转换器TLC0834的接口设计(01-22)
- 单收/单发RS-232接口芯片 ADM101E及其应用(01-25)
- 基于单片机的通用型智能充电器设计(01-06)
- 一种通信用高频开关型整流器监控系统的实现方案(02-13)
- 基于16位单片机的逆变电源系统的设计(05-26)