0 引言
目前广泛应用的温度采集设备,其温控系统的内部芯片普遍采用单片机,其缺点是采集终端硬件功能简单、芯片性能低、软件设计复杂、任务调度麻烦、系统升级困难等。随着当今社会科技的发展,人们对温度采集系统也有了越来越高的要求,具体体现在系统的实时性、精度、软件设计、升级等方面。由于嵌入式操作系统的发展,本文设计了一种基于ARM7的温度采系统,其具有采集精度高,软件设计简单,软硬件功能修改方便、升级便利等优点,有效地解决了过去采用单片机作为内部芯片中的问题。该系统可用于温室、仓库等需要实时监控温度的场所,为人们的生活生产提供了便利的可靠的解决方案。
1 系统硬件结构
1.1 系统总体设计
该设计采用了Samsung公司所生产的S3C44B0X硬件平台,配置嵌入式μCLinux操作系统。通过LM35温度传感器把温度物理量转换成模拟物理量的电流信号,同时放大信号,然后采用运算放大器把输入的电流信号转换成电压信号,经滤波器滤波送给A/D转换器进行A/D转换(采用S3CB4480本身集成的8路10位A/D转换器),转换结果处理后在LED(发光二极管)上显示。设计要求精确到0.1 ℃,反应时间应在1 s以内,总体设计如图1所示。
1.2 温度传感器LM35
该系统说采用的温度传感器是用National Semiconductor所生产的LM35,其输出电压与摄氏温标呈线性关系,转换公式如式(1)。0℃时输出为0 V,每升高1 ℃,输出电压增加10 mV。LM35有多种不同封装型式。在常温下,LM35不需要额外的校准处理即可达到±1/4℃的准确率。其电源供应模式有单电源与正负双电源2种,其接脚如图2,图3所示,正负双电源的供电模式可提供负温度的量测,单电源模式在25 ℃下静止电流约50μA,工作电压较宽,可在4~20 V的供电电压范围内正常工作非常省电。可以提供±1/4℃的室温常用精度。
Vout_LM35(T)=10×T (1)
接下来实际对LM35进行测试,测试使用单电源模式,并且将输出已非反相放大器放大10倍,以10 Hz的频率记录放大后的电压值,得到如图4的温度时间图。
1.3 A/D转换模块
本系统选用的S3C4480X自带的A/D转换器为逐次逼近型8路模拟输入的10位ADC。该ADC的内部结构包括模拟AMXU(输入多路复用器)、CO MP(自动调零比较器)、PSR(时钟产生器)、10位逐次逼近寄存器SAP,ADCDART(输入寄存器)。S3C44B0X内部ADC的特征如表1所示。
S3C44B0X的内部ADC的功能结构如图5所示。
相关寄存器:
(1)ADCCON(采样控制寄存器)的位定义如表2所示。
(2)ADCDAT(转换数据寄存器)的位定义如表3所示。
该寄存器的10位表示转换后的结果,全为1时为满量程2.5 V。
(3)ADCPSR(转换预分频寄存器)的位定义如表4所示。
若系统当前的时钟频率为X MHz,ADC预分频为Y,N位数字量的转换时间为(X/2×(Y+1))/T。
2 系统的软件设计
2.1 软件环境
(1)ARM ADS(ARM Developer Suite)是ARM公司推出的新一代ARM集成开发工具,支持软件调试及JTAG硬件仿真调试,支持汇编、C、C++源程序,具有编译效率高、系统库功能强等特点,可在WindowsXP,Windows ME以及Redhat Linux上运行。ADS由命令行开发工具、ARM时实库、GUI开发环境(CodeWarrior和AXD)、实用程序和支持软件等组成,用户可以为ARM系列的RISC处理器编写和调试开发的应用程序。
(2)Code Warrior for ARM是一套完整的集成开发工具,充分发挥了ARM RISC的优势,它可以加速并简化嵌入式开发过程中的每一个环节,使得开发人员只需要通过一个集成软件就可以研制出ARM产品。在整个开发过程中,开发人员无需离开Code Warrior开发环境,使得开发人员有更多的精力投入到代码的编写上来。
(3)ADS调试器本身是一个软件,用户可以通过这个软件使用Debug agent对包含有调试信息的、正在运行的可执行代码进行查看、断点的控制等调试操作。
ADS包含有3个调试器:AXD是ARM扩展调试器;Armsd是ARM符号调试器;ADW/ADU是与老版本的Windows或Unix下的ARM调试工具。
2.2 软件流程与设计
2.2.1 A/D转换
A/D转换流程如图6所示。
采用以下语句对ADC相关寄存器进行初始化:
2.2.2 温度采集部分主要程序
2.3 实验结果数据分析
用Protel设计此系统的电路,并完成软件设计,做出电路板,将LM35传感器置于室温状态下,测试温度在超级终端下显示并用0.01℃用温度计所测试的温度进行比较,如表5所示。
从数据的结果来看,符合所要达到的设计要求,其精度为0.1℃,随着温度的改变,本系统的显示结果也会相应的改变,用秒表测量此结果变化均在1s以内,证明了此系统的实时性比较好。
4 结语
从实验结果来看,用LM35传感器与S3CCB0X构建的温度测试系统,具有测温准确、实时性好、抗干扰能力强、设计简单等优点。此系统还可拓展其他功能,例如:可以采用Nand FLASH和UART分别存储和传输数据,实现了监测数据的长期存储和通信传输。