基于C8051和Atmegal6的无线温度测量系统设计
egal6。其系统软件模块流程图如图3所示。
本系统在上电复位后,应首先对C8051F020的各功能模块进行初始化。包括串口0、串口1、AD转换器、计数器TO、Tl、T2和中断程序等。系统每50 ms通过12位AD转换器对输入信号进行一次采样,并将采样信号查表转换成温度数据。然后对数据加上帧头,帧尾和校验位。最后将几帧数据打成一个数据包。
当发送标志允许时,C805lF020每50 ms将数据包写入FLASH芯片AT45DB041D。同时将数据包通过串口发送给Atmegal6。
2.2 无线发射模块程序设计
无线发射程序的主要功能是通过Atmegal6完成对CCl000的初始化,从C805lF020接收数据,并由CCl000发送出去。无线发射程序的流程如图3 (b)所示。
在设计无线发射模块的程序时,首先应通过Atmegal6完成端口初始化,以及TO和T1的初始化,同时还有串口初始化和中断程序,并对CC1000进行初始化编程。然后,Atmegal6进入循环等待。当确认接收到数据时,先确认数据有效,然后唤醒CC1000并将数据包发送出去。
3 系统性能分析
本测温系统的特点在于使用了双CPU和独立的温度补偿电路,其意义在于有效提高了温度采集的速度,进而提高测量温度变化的灵敏度。实际测试表明,本系统的测量精度为O.5%,温度采集速度为50 ms。
本系统采用的独立温度补偿电路是以电压式温度传感器TMP35为温度补偿原件。热电偶的输入电动势经温度补偿之后,经精密轨对轨运放OP747进一步放大,再输入到C8051F020的AD转换器。这样可避免使用某些集成热电偶温度补偿芯片所带来的速度受限问题。
本系统采用C8051F020作为新一代的SOC芯片,具有丰富而强大的外设,它具有2个AD转换器,其中ADO具有12位精度,故可有效保证温度信号的精确采集。
而采用双CPU结构C805lF020和Atmegal6,则可确保系统50 ms的采集时间。因为无线发射和写FLASH往往要占用大多数时间,而采用双CPU就可以将两者分开,这样就有效的保证了系统的速度和稳定性。
采用FLASH芯片AT45DB041D则可在温度采集时实时将数据写入FLASH,以便在无线发射出现障碍时仍可有效保存数据。测试系统保存的数据可由上位机通过USB接口读取。
4 结束语
与国内外目前的主流无线温度测量系统相比,本系统在测温精度上达到了较高的水平。而在温度采集速度上,由于使用了独立的温度补偿电路,同时采用了双CPU的系统结构,因而有效的提高了温度测量的灵敏度和系统稳定性。另外,由于使用了FLASH芯片,可以保存实时数据,也提高了系统的可靠性和实用性。
- 基于CC2430和DS18B20的无线测温系统设计(04-11)