基于Cortex—M3的多点温度监测系统设计

时间:2022-10-25 10:52:47

基于Cortex—M3的多点温度监测系统设计

【摘要】温度测量在日常生活和工农业生产中具有重要的作用,尤其是在能源日益紧缺的现在,关心并制定高可靠、高能效、智能化的温度测试系统有着越来越紧迫的需求。本文的设计基于Cortex-M3硬件平台,使用高性价比STM32F103RBT6芯片结合Maxim公司的带链路功能的1-Wire数字温度计,构造了多点温度监测系统,具有布线网络简洁,硬件成本低,软件开发简单等特点。

【关键词】Cortex-M3;1-Wire;温度监测;DS28EA00;多点;STM32

1.引言

具EPA统计,2006年数据中心的能源消耗占整个美国电力消耗的1.5%(610亿kWh)?。令人吃惊的是,IT设备本身的消耗只占该项电力消耗的一半;电源和致冷设备的能耗占用了另一半。传统的制冷设备缺乏智能化的热管理功能,很多冗余的冷却区域会浪费大量的能源。测量多点的温度分布,从中区分出需要降温的位置,结合适当的温度数据处理,是解决问题的关键。

使用Maxim公司的1-Wire技术,系统可以将所有的支持1-Wire技术的温度传感器通过单条连线传输,在简化了连线的同时,降低了成本。通过链路模式和传感器内光刻的64bit ROM,可以定位每个传感器的物理位置。

本文选用了ST(意法半导体)公司高性价比ARM Cortex-M3芯片STM32F103RBT6作为硬件平台,结合Maxim公司DS28EA00这款带顺序检测的1-Wire数字温度计,设计了一种多点温度监测系统,具有低成本,高性能,连线简单的特点。

2.STM32简介

Cortex-M3是首款基于ARMv7-M体系结构的32位标准处理器,具有低功耗、少门数、短中断延迟、低调试成本等众多优点。它是专门为在微控制系统、汽车车身系统、工业控制系统和无线网络等对功耗和成本敏感的嵌入式应用领域实现高系统性能而设计的,它大大简化了编程的复杂性,集高性能、低功耗、低成本于一体[1]。

Cortex-M3是一个32位处理器内核。内部的数据路径是32位的,寄存器是32位的,存储器接口也是32位的。Cortex-M3采用了哈佛结构,拥有独立的指令总线和数据总线,可以让取指与数据访问并行不悖。这样一来数据访问不再占用指令总线,从而提升了性能,其简化视图如下[2]:

ST(意法半导体)公司的STM32无论是在市场占有率,还是技术支持方面,都远超其他对手[3],拥有价格低廉,外设丰富,实行控制性好,功耗控制完善等特点,本设计选用的型号为STM32F103RBT6,具有128KB的闪存,20KB的SRAM,2个12位AD,2个SPI,1个16位高级定时器,3个普通的16位定时器,3个串口,1个USB口,1个CAN口,51个通用I/O口,价格仅为3.85美元。

3.DS28AE00特点

Maxim公司的DS28EA00数字温度计具有9位(0.5℃)至12位(1/16℃)分辨率,8引脚μSOP封装,工作范围-40℃到+85℃,其特点有:

(1)用户可以编程来设置非易失的高、低温报警门限;

(2)每个DS28EA00都有一个出厂前设置好的唯一的64位序列号;

(3)支持标准和高速1-Wire模式;

(4)支持链路顺序检测,可利用PIO引脚检测器件在测温网络中的具体物理位置;

(5)支持寄生供电模式,可以省去外部电源,这种模式下,芯片VDD管脚必须接地;

(6)报警搜索命令能够快速确定温度超出设定范围的器件。

使用链路方式串接时,PIOA的作用为DONE,PIOB的作用为EN,第一个DS28EA00的PIOB引脚接地,最后一个DS28EA00的PIOA引脚悬空或者接地,典型工作电路如图2所示[4]。

4.系统设计

多点温度监测系统主要由DS28EA00测温网络、STM32F103RBT6处理平台、PC上位机三部分组成,如图3所示。DS28EA00测温网络内部由诺干个DS28EA00使用链路模式连接,通过1-Wire总线接入STM32F103RBT6,进行逻辑转换,数据处理后过STM32F103RBT6自带的RS232串口及USB接口与上位机交换数据。上位机采用NI公司的Labview进行RS232或者USB口通信协议的实现,并处理采样回来的温度数据,发出警报或者安全提示。

设计具体硬件的时候需要注意,建立可靠的l—Wire总线网络必须提供正确的时序和适当的输出电压摆率。单片机发送信号的时序不正确会导致与温度传感器DS28EA00器件之间的通信间断或完全失败[5]。

5.软件设计

温度的读数单位为℃,采用16位符号扩展的2的补码格式,报警寄存器的数值为8位2进制数,温度转换结果会自动与之进行比较,以确定是否发生报警状态,如果等于或者超过门限,会产生报警。上电顺序检测后,即可记录下温度监测网络中每一个数字温度计的ROM,顺序检测的功能流程图如图4所示。

STM32F103这款Cortex-M3芯片拥有很多外设接口,可利用其中的USB口或者串口将读出的测温网络温度信息反馈到上位机中。自带的USB从控制器符合USB通信连接规范,和PC主机之间通过共享一个专用的数据缓冲区来完成。按照规范实现令牌分组的检测,数据发送、接受的处理,握手的处理等。整个传输格式由硬件完成,其中包括CRC的生成和校验。

在PC机或工控机上,抛弃传统的Windows DDK开发驱动,再使用VC编写DLL(动态链接库)的方法[6],使用NI公司的LabView图形编程工具调用NI-VISA库访问USB接口或者串口,可很方便的读取测温网络数据。NI VISA是美国国家仪器NI公司开发的一种用来与各种仪器总线进行通信的高级应用编程接口。VISA总线I/O软件是一个综合软件包,不受平台、总线和环境的限制,可用来对USB、GPIB、串口、VXI、PXI和以太网系统进行配置、编程和调试。

6.结论

基于Cortem-M3硬件平台的多点温度测试系统充分利用了Cortem-M3的高性价比,接口资源丰富的特点,结合Maxim公司数字温度计的1-Wire总线技术,使得系统具备集成度高,走线少,拓扑简单,开发周期短等特点,可广泛应用在各种需要热管理技术的场合。

参考文献

[1]李宁.基于MDK的STM32处理器开发应用[M].北京:北京航空航天大学出版社,2008.

[2]Joseph Yiu.ARM Cortex-M3权威指南[M].北京:北京航空航天大学出版社,2009.

[3]刘军.例说STM32[M].北京:北京航空航天大学出版社,2011.

[4]1-Wire Digital Thermometer with Sequence Detect and PIO.Maxim,2009.

[5]杜军.基于1-Wire总线技术的远程多点温度采集系统解决方案[J].自动化技术与应用,2010(2):79-81,85.

[6]余志荣,杨莉.基于NIVISA与LabVIEW的USB接口应用设计[J].单片机与嵌入式系统应用,2007(1):66-69.

作者简介:陈晓宇(1981—),男,安徽淮北人,工程硕士,研究方向:数字信号处理,嵌入式系统。

上一篇:基于Solidworks的传送小车车体受力分析及优化 下一篇:公交车—公交车站一体化语音播报系统