摘要:为了实现对药品冷藏运输及配送过程中温度变化的实时记录,介绍了一种低功耗冷链温度记录仪的软硬件设计方法。温度记录仪硬件包括温度数据采集、数据读取及处理、数据存储3个部分,其功能分别由数字温度传感器STT$75、低功耗微控制器STM8L101F3,以及具有I2C和RF双接口的数据存储器M24LR64完成。软件编程采用模块化思想,通过对STTS75、STM8L101F3工作模式配置可以实现系统低功耗运。M24L-R64内存储的温度数据在需要时可以通过射频方式读出。
引言
随着工业化技术的不断发展,疫苗、生物制剂和药品等对温度敏感的商品在加工、储存、运输、销售等过程中,需要对各个过程中的温度参数进行记录跟踪,以保证产品质量,这就是冷链体系。药品冷链由冷冻加工、冷冻贮藏、冷藏运输及配送、冷冻销售4个方面构成,而在冷藏运输及配送环节zui容易出现问题。药品冷藏运输及配送需要温度保持在2~8℃范围内,而原有监测技术手段滞后是zui大的技术瓶颈。为了保证在药品冷藏运输及配送环节实现温度监控,克服实时性差、监管脱节、取证和责任界定困难的不足,本文设计了一种可实现温度数据自动存储、非接触式读出的冷链
温度记录仪。
1、系统总体结构及功能
1.1系统总体结构
冷链温度记录仪主要由温度传感器、微控制器和数据存储器组成,如图1所示。整个系统基本工作流程是:首先温度传感器利用内部A/D转换器将采集的温度值转换后得到相对应的数字量,接收到微控制器发出的串行时钟脉冲(SCL)和读数据指令后通过I2C总线将数据传送至微控制器,微控制器对温度传感器传送的数据进行相应处理,然后微控制器向存储器发出串行时钟脉冲(SCL)和写数据指令,通过I2C总线将数据存储于数据存储器内。
1.2系统功能
冷链温度记录仪应用在药品冷藏运输及配送环节,需要考虑产品的耐温性能、续航时间、数据存储能力,因此器件选择需要考虑器件适用温度范围、数据传输方式和速度、功耗等多方面因素。温度记录仪应当具有以下功能:
◆测量温度范围2~8℃,测量精度±0.5℃。
◆系统功耗低,续航时间长。
◆数据存储空间大,数据读取方便。
◆体积小,便于安装。
◆更换电池方便,价格低,可循环使用。
2、硬件电路设计
2.1器件选型
(1)温度传感器
温度传感器选用ST(意法半导体)公司生产的STTS75数字温度传感器,它内置一个9~12位A/D转换器,温度测量范围-55~125℃,供电电压为2.7~5.5V,在3.3V电压下工作电流为75mA。STTS75有8个引脚,A2、A1、A0三个引脚可实现8个传感器共用同一条总线而不会发生地址冲突(地址为1001A2A1A0),SCL、SDA通过I2C总线可以将传感器配置为比较模式、中断模式、关闭模式和单发模式。在单发模式下,通过对数据的间歇性采集,可以达到降低功耗的目的。首先将传感器设置为关闭模式(shut-upmode,电流只有1μA),当微控制器发送信号启动单发模式后采集一次温度数据,数据采集完成后自动进入关闭模式,即传感器处于休眠状态。
(2)微控制器
微控制器选用ST公司的8位低功耗单片机STM8L101F3,它具有16MHzRC振荡器和38kHzRC振荡器,8KBFlash,3种低功耗模式,具有自动唤醒功能,供电电压1.65~3.6V。STM8L101F3具有5.1μA低功耗工作模式、3.0μA低功耗等待模式、1.2μA暂停模式、350nA停止模式4种电源管理模式。在暂停模式下可以利用自动唤醒单元(AWU)设置自动唤醒时间间隔。
(3)数据存储器
数据存储器选用ST公司2010年新推出的M24LR64,它是一款内置标准I2C串口和ISO15693标准RF接口的EEPROM存储器,供电电压1.8~5.5V,具有64位*标识符(UID),I2C传输频率为400kHz,RF传输载波频率13.56MHz,存储器容量64KB,采集数据可保留40年。M24LR64有8个引脚,SCL、SDA通过I2C总线实现数据的存储,E1、E0为器件选择码(b2b1位),在不接的情况下默认为0,AC0、AC1为天线线圈连接端。M-24LR64提供一个ISO15693标准的RF接口,可与RFID阅读器进行无线通信。ISO15693是一种无源RFID标准,能同时从RF系统获取电能和数据。在RF模式下,读写M24LR64不需要电源,从而节省板上电源,轻松、便捷地无线存取电子产品参数。
2.2硬件系统工作原理
冷链温度记录仪由温度传感器、微控制器和数据存储器组成,硬件电路如图2所示。温度传感器STTS75、微控制器STM8L101F3和数据存储器M24LR64都是低功耗产品,3V纽扣电池即可实现冷链温度记录仪系统供电。系统上电后,微控制器STM8L101F3首先实现初始化操作,通过I2C总线向STTS75内部配置寄存器(ConfigurationRegister)写入配置信息,使其工作模式为关闭模式、模/数转换为9位模式,然后STM8L101F3向配置寄存器写入数据使sTTS75处于单发模式。STTS75进行一次温度数据采集,在数据转换完成后将自动进入关闭模式,等待下一次唤醒。接着STM8L101F3从温度寄存器(TemperatureRegister)内读取温度数据,进行数据处理,继而通过I2C总线将处理后的数据写入M24LR64内,zui后进入暂停模式。经过AWU设置的延时时间后,STM8L101F3将自动唤醒,向STTS75发送配置信息使其进入单发模式,然后读取数据、处理数据,并将处理后数据存入M24LR64的下一空间内,接着进入暂停模式。周而复始即可实现温度数据在固定时间间隔内的采集、处理和存储。
3、软件设计
软件开发环境选用STVisualDevelop(STVD)IDE,软件设计采取模块化思想,主要由温度数据采集、数据处理和数据存储3个部分组成。系统上电后首*行传感器和M24LR64的初始化,然后对传感器进行配置,数据转换结束后进行数据读取,然后将数据存储于M24LR64内,数据存储完成后进人暂停模式,AWU功能启用,延时一段时间后将自动唤醒微控制器重复以上操作,具体流程如图3所示。
冷链温度记录仪程序主要由传感器初始化函数、M24LR64初始化函数、传感器配置函数、读传感器数据函数、温度数据处理函数和写M24LR64程序组成。在程序起始的时候需要定义I2C传输速度,声明传感器和M24LR64的地址以及M24LR64写入数据的起始地址。传感器配置函数主要进行ADC输出数据位数(9,10,12)和传感器模式(shutdown,one-shot)配置。
部分主要代码如下:
结语
本文设计了一种由低功耗微控制器STM8L101F3、数字温度传感器STTS75和数据存储器M24LR64构成的冷链温度记录仪。经测试表明:记录仪测量精度为±0.5℃,记录时间间隔可自行设置(1s~255min),可以记录8192组温度数据,由3V纽扣锂电池供电,在记录间隔设置在10s以上的情况下,可以使用1年(室温环境)、3个月(冷藏环境)。与传统的冷链温度记录仪利用RS-232、I2C、SD卡、USB方式读取数据相比,利用M24LR64实现的冷链温度记录仪具有电路硬件少、结构简单、低功耗、低成本、高稳定性、自行设定数据采集间隔、存储空间大、RF方式读取数据、电池更换方便、可循环利用、不需要打开包装、易于管理等诸多优点,可以广泛应用在食品、药品、鲜花等物品的冷藏运输及配送环节,并且将STTS75的工作方式稍加修改就可以用于恒温箱的温度监控系统中,具有广泛的实际应用前景。