APP下载

基于LPC2378的温度测试系统设计

2010-11-05胡鑫杰周群

电子测试 2010年3期
关键词:总线控制器精度

胡鑫杰,周群

(电子工程学院,合肥 230037)

0 引言

温度测试在工业生产、医疗卫生和环境监测等领域的应用十分广泛。传统的模拟仪表测量已经不能满足现代科技对测试速度和精度的要求,越来越多的数字化集成温度传感器开始使用。为了满足现代温度测试的实时性和大容量数据存储的需求,构建一种以计算机为信息处理中心,微控制器系统为终端的智能测试系统已成为测试仪表的发展方向。本文在此基础上设计了一种基于LPC2378微控制器的高精度、多通道智能温度测试系统。

1 系统整体结构和硬件设计

系统设计的总体构架如图1所示,主要包括:温度传感器、信号调理电路、A/D转换器、LPC2378主控制器、SD卡存储单元和USB通信单元。温度传感器采集的多路模拟信号经过调理电路后由模/数转换器实现信号的采集和数字化。微控制器LPC2378负责数字信号的处理和整个系统的控制功能。USB总线使外设和计算机连接更加快捷方便,数据可以通过USB送到计算机显示。SD卡的使用扩展了系统的存储空间和增加了系统的灵活性,在USB总线无法连接或出现故障的情况下,数据可以直接保存在SD卡上,然后再转移到计算机显示处理。这非常适合在不利于现场作业的测试环境中应用。

图1 温度测试系统总体框图

1.1 模拟前端电路

模拟前端电路由温度传感器和信号调理电路组成。选择体积小、精度高、稳定性好的Pt100作为温度传感器,为消除导线电阻对Pt100阻值的影响,进一步提高测量精度采用了四线制的接法[1]。四线制测量原理如图2所示,RL1、RL2、RL3和RL4分别为导线L1、L2、L3和L4的等效电阻,在V1和V2两端外接恒流源激励I,V3和V4两端接入高输入阻抗电路,则流过RL3和RL4电流值为0,故V3、V4两端的测量电压值为热电阻RTD两端的真实电压值。

图2 热电阻四线制原理

图 3为具体应用电路,LM358内部包含两个独立的运算放大器U1A和U1B,U1A构成了测量回路的外部恒流源。根据运输放大器虚短和虚断的概念,U1A的正向输入端和反向输入端的电压值相等且输入电流值为零,所以不论Pt100的阻值如何变化,流过其电流值的大小始终为为了减少流过Pt100电流所产生的温度对自身阻值的影响,外部恒流源的激励电流不易过大,一般不超过5mA[2]。U1B实现对传感器输出信号的放大功能。为了增加U1B的输入阻抗,R2和R3的取值要尽可能的大。根据流经R3和R5电流值相等,可得公式:

图3 Pt100恒流源测温电路

1.2 主控制器和A/D转换器

LPC2378提供了丰富的串行接口资源,能够满足绝大多数串行通信的需要。主控制器内部集成了一个转换精度为10位的逐次逼近式模数转换器可供一般数据采集系统使用,但考虑到本系统对分辨率和测量精度要求,在设计时采用了外置模/数转换器AD7718。

AD7718是一款低噪声、高分辨率、高可靠性和线性度较好的24位A/D转换器件。图4所示为AD7718利用SPI总线主微控制器实现数据通信。LPC2378设置为SPI主机,AD7718为从机。主控制器的P0-14口用查询的方式来检测数据有效否,为提高系统效率也可以利用外部中断口采用中断方式来检测。LPC2378读写AD7718的时序控制如图5所示。

图4 LPC2378和AD7718接口电路

图5 AD7718读写时序图

1.3 USB接口电路设计

主控制器LPC2378内部集成了USB2.0设备控制器,使CPU与外设之间的数据交换可以稳定地达到很高的速度,同时也减少了开发难度,提高了芯片的性价比。USB接口电路如图6所示,USB1D-和USB1D+为LPC2378中USB端口的一对差分数据线,分别通过27 的匹配电阻与USB接口连接。VBUS用于检测USB总线电源是否连接,当USB总线连接时,该管脚输入高电平。U1CONNECT灵活控制LPC2378与PC之间的连接与断开。当该口输出低电平时,D+数据线通过1.5kΩ的上拉电阻连接到VD3V3通知PC:设备要与之连接;输出高电平时,D+数据线与电源VD3V3断开,通知PC:设备已经断开与主机的连接。USB_U1UP_LED口用于控制LED亮灭以指示USB总线的活动状态,当USB设备枚举成功时,LED点亮;枚举成功后,当USB总线处于正常通行状态时,LED闪烁;当USB设备处于挂起状态或通信不正常时,LED熄灭[4]。PRTR5V0U2X为ESD元件,用于防止静电从USB总线中进入电路中损坏芯片。

1.4 SD卡存储电路设计

为了扩展系统的存储空间和使用范围,增加系统的灵活性,在设计中采用了移动设备中使用较为广泛的SD卡作为数据存储器件。LPC2378内部提供了一个SD接口,支持SPI和SD两种读写模式。本设计中采用了SD模式,SD卡与主机的接口电路如图7所示。将SD卡与主控制器相应的数据线(DATA[3:])、时钟线(CLK)和命令线(CMD)直接相连。SD_CD定义为通用输入管脚,用来检测SD卡是否完全插入。当SD卡完全插入时,卡座内部的触点连接到GND,输出低电平;当卡拔出时,该引脚同过47K的电阻上拉至高电平[5]。同理,SD_WP用来检测SD卡的写保护操作。

图7 SD卡接口电路

2 系统软件设计

系统软件设计包括3个部分:下位机固件设计、USB驱动开发和上位机软件设计。

下位机固件是整个系统软件设计的关键,是系统功能实现的重要保障。下位机系统固件主要完成用A/D转换器实现多路温度信号的采集,把采集到的电压信号通过计算变换为温度值送到上位机显示或直接存储在SD卡上[6]。系统固件设计采取分块设计的思想,根据硬件功能和信号流程分块编写了系统初始化、数据采集、数据存储和显示存储等4个子程序,主函数通过调用各子程序实现系统功能。软件主程序设计流程如图8所示。

在整个固件设计中,数据处理模块是程序的核心部分,它负责完成采集电压值向温度值的转换,直接影响了系统的测试精度。为了提高温度的测试精度和稳定性,减少系统随机事件引起的误差,采取数字滤波的方法处理A/D转换值。本设计中采取了滑动平均的处理方法[7]:先读取AD转换的前5个值,分别保存在一个数组内,去掉其中最小值和最大值后取其它3个值的平均值,利用所得均值来计算要实际测量的温度值。此后,每读取一次AD值,数组更新一次。

图8 系统软件流程图

为了减小设计难度和开发时间,USB驱动程序采用了广州致远电子有限公司开发的LPC23xx.inf驱动文件。该公司还提供了与驱动程序相对应 的EasyUSB23xx.dll动 态 库, 可 供VC、VB、VF、Delphi、C++ Builder和 Power Builder等 调用。EasyUSB23xx.dll提供了读写USB的两个函数:ReadData23xx()和 WriteData23xx()[8]。

上位机软件设计相对比较简单,其功能是实现对整个测试系统的控制和数据的接收、保存,并在计算机上绘图显示动态温度曲线。本设计采用了C++Builder 6调用EasyUSB23xx.dll的方法实现对USB设备的读写操作,绘图显示采用了TChart控件完成[9]。

3 测试结果

为标定系统的测试精度和误差,在输入端采取固定电阻代替Pt100的方法对系统进行测试。经过多次实现和测量,系统模拟前端的放大电路线性度良好,增益值为10.57。AD7718的内部参考电压值为2.5V,限定了系统的温度测试范围为-200℃~400℃。系统的测试分辨率为0.01℃,测试精度达到 ℃,能够满足预期的设计要求和一般工业测量的需要。图9为本系统在波峰焊接机工作过程中所测试的6路温度曲线,很好的反映了微电子焊接过程中的温度曲线,对调整焊接温度提高焊接质量有一定的参考价值。

图9 波峰焊接机温度曲线

4 结束语

本文详细介绍了多通道、高精度温度测试系统的硬件设计,并给出了软件设计的核心思路。利用USB总线建立下位机与计算机的通信简单方便,也是未来计算机与外设连接的发展趋势之一。SD卡的使用不仅大大扩展了数据的存储容量,而且给使用人员提供了更大的选择空间。在一些不适合现场作业或对实时采集没有要求的情况下,可以将大量数据保存在SD卡,然后再转移到PC进行数据的分析和处理。本系统已经很好的应用于工业测试中,使用方便,效果良好。

[1] 何希才,任力颖,杨静.实用传感器接口电路[M].北京:中国电力出版社,2007:16-19.

[2] 黎飞鸿,刘锦高.RTD Pt100的一种单电源信号调理电路[J].仪器仪表用户,2007,14(1):70-72.

[3] 许新利,刘峰,张东辉.基于AD7718的高精度微弱信号测试系统[J].应用科技,2006,11(33):33-36.

[4] 周立功.深入浅出ARM7-LPC2378(下册)[M].广州:广州致远电子有限公司,2008:216-222.

[5] 高学军 ,王 君.基于ARM7的SD卡控制器的设计[J].仪表技术,2009(2):16-19.

[6] 卢佳廷. 基于ARM7-TDMI的多路温度信号采集系统设计[J]. 电脑知识与技术,2007,4(21):739-748.

[7] 柯兆盛.无线传输高精度测温系统[D].吉林:吉林大学,2004:13-14 .

[8] 周立功. ARM嵌入式系统应用笔记-基于LPC2300(下册)[M].广州:广州致远电子有限公司,2008:58-59.

[9] 吴逸贤,吴目诚.精彩C++ Builder 6程序设计[M].北京:科学出版社,2003.

猜你喜欢

总线控制器精度
分析误差提精度
基于PCI Express总线的xHC与FPGA的直接通信
机载飞控1553B总线转以太网总线设计
基于DSPIC33F微处理器的采集精度的提高
GPS/GLONASS/BDS组合PPP精度分析
多通道ARINC429总线检查仪
改进的Goldschmidt双精度浮点除法器
模糊PID控制器设计及MATLAB仿真
MOXA RTU控制器ioPAC 5542系列
倍福 CX8091嵌入式控制器