基于XTR108的智能温度传感器变送器硬件设计
2021-02-05张玉晗
张 震,张玉晗
(中国卫星海上测控部远望5号船,江苏 江阴 214431)
0 引言
目前,温度变送器有两种类型,智能化与非智能化。非智能传感器采用硬件电路将信号放大和线性化,其特点是成本低,但只生产固定范围的产品,使用时缺乏灵活性。同时线性电平误差较大,可靠性精度低。智能一体化温度变送器通过电脑或手持设备,对模型的HART调制解调器通信范围的远程信息管理、组态、变量监测、校准和维护功能,根据用户的实际需求调整变送器的显示方向,发射机和显示被测介质温度、传感器值的变化,输出电流和百分比。
1 硬件框图设计
硬件电路的设计包括PC上位机设计、C8051F340单片机C2口及USB口设计、键盘及其显示电路设计、EEPROM工作电路设计以及以XTR108为核心的4~20mA电流输出环路。系统的硬件设计框图如图1所示。
图1 系统硬件框图
PC上位机将处理的数据传输到下位机当中,通过单片机将XTR108需要的参数值存储到EEPROM中,同时通过LCD模块显示出实时温度,从而实现智能一体化管理及控制,用户通过上位机设置量程大小即可完成4~20mA标准模拟信号的输出[1]。
2 单片机接口电路
2.1 C8051F340单片机简介
本设计使用的是C8051F340单片机开发板,开发板外围电路由USB扩展电路、C2扩展电路、键盘和显示电路等组成。本设计中仿真器使用的是U-EC6 C8051仿真器,U-EC6 C8051仿真器是Silabs公司推出的一款不占用单片机内部空间的在线调试仿真器,C2扩展电路便是用于单片机C8051F340与外部仿真器连接,外部仿真器通过该接口既可在线仿真调试,又可以烧录程序到单片机;USB扩展电路既可以为单片机提供工作电源(外接5V电压),又可作为上位机通信的接口。
C8051F340[2]微处理器是Silicon Laboratories研发的完全集成的混合信号系统型芯片。相比于普通51系列单片机,C8051F340具有快速、流水线架构与8051系列单片机兼容的CIP51内核;片内资源丰富,具有64K片内FLASH存贮器,4352字节片内数据存储器,具有两个片内电压比较器,四个16位计数器;C8051F系列单片机没有51系列单片机时钟周期的概念,其处理速度比80C51系列MCU高出约10倍。
相比于普通51系列单片机,C8051F340单片机在CIP51内核与外设等关键性方面做出了提升改良。该单片机内部提供16个中断源,而普通51系列单片机仅仅提供7个,这就使得外围电路更加多元化,允许了大量模拟量/数字量来中断微控制器;复位源提升至9个,包括上电复位、USB复位、外部管脚复位等;I/O端口丰富,多达40个I/O端口,大大满足用户扩展电路的需求,用户可以根据自己的需要在该设计基础上继续添加扩展模块。而普通51系列单片机往往由于引脚的限制,需要外部扩展I/O接口;内部时钟源振荡器在生产时被校准为12 MHz,精度为0.25%,时钟恢复电路可使内部的振荡器与时钟乘法器相匹配,提供全速USB时钟源。
2.2 USB接口
USB[3]技术应用到四根线,即两根传输数据的电缆D+、D-,还有两根是分别提供工作电源的电源线及地线。USB传输数据时有两种模式可供选择:低速模式,传输速率大概维持在2.5Mbps;快速模式,传输速度可稳定高达15Mbps。凭借着外围电路,USB总线在两种输出方式下自行转换。一个完整的USB系统由主机、集线器、功能设备三部分构成,三者相辅相成构成一个稳定、高效的整体。
2.3 C2调试接口电路
C8051F340单片机的二线调试接口C2,允许用户进行在线、不占片内资源的系统调试。
2.4 键盘及显示接口电路
有些用户在实际需求中除了设计可以使用主机设置的范围外,还需要手动设置量程功能。本设计显示部分用LCD模块SMS0408显示设定的范围。当检测现场没有电源供给时,按S4按钮使单片机接通电源,C8051F340单片机开始根据用户需求将预设参数写到AT25010中。按下S1键,LCD模块显示“0000”;之后可按S2、S3键上下调整量程大小,此时LCD显示出相应的量程大小,即6.25、15、25、50等,调整结束可松开S1键,如果LCD显示模块显示“1111”,则说明调试成功。
2.5 模数转换电路
ADS7866是一款Texas Instruments公司生产的12位、低功耗A/D、串行通信的转换芯片,用其将电路内4~20mA电流信号转换成数字量,随后将对应的温度显示到LCD模块SMS0408上。连接电路如图2所示。
图2 模数转换电路
3 温度检测电路设计
温度检测电路如图3所示,本设计采用三线制接线法[4],用以补偿导线电阻所产生的误差。其中Cfliter引脚可以外接滤波电容,给可编程高增益运放PGA的电源滤波,起到稳定芯片电源的作用,因为如果PGA增益过高,电源稍微有一点波动就能引起输出的很大变化,因此滤波电容是非常必要的,滤波电容C2电容值为0.01μF。基准电流转换电阻为13.1kΩ,零点电阻R1为100kΩ,V/I转换电阻为6.34kΩ,R4为500kΩ,线性电阻R2为15.8kΩ。图中设计的参数以XTR108芯片英文说明书中给定的借鉴值为参考依据。
图3 温度检测电路图
4 AT25010接口电路
4.1 AT25010芯片介绍
温度检测处理环节能够精确地测量需要一个外部EEPROM存储器,本设计使用的是Atmel公司生产的AT25010。
AT25010[5]芯片是一个1024位(128字节)的外部扩展数据寄存器,擦除和读/写均以一字节为单位,支持SPI通信模式0和SPI通信模式3,正常工作电源为2.7V~5.5V,静态电流十分小,可达到3μA~5μA,因此芯片适合要求低功耗的场合。
AT25010芯片具有内部8位状态寄存器,C8051F340单片机可直接通过串行通信接口进行读/写。AT25010芯片支持读/写的指令如表1所示。数据首先传输最高有效位(MSB),在SCK上升沿时数据加载到数据缓冲区,在SCK下降沿时数据从SO管脚输出,在管脚上升沿时数据传输结束。
表1 AT25010操作指令
1) 设置写使能
当AT25010芯片上电时写入状态默认被禁止,在写字节前必须首先设置写使能WREN控制字,将命令位置1时WP管脚必须保持在高电平。
2) 设置写保护
当写命令WRDI位置1时不考虑WP管脚的状态,AT25010芯片的写保护状态可以防止芯片的内容因为误写而破坏。
3) 读取状态寄存器
AT25010芯片内部置有一个8位状态寄存器,通过读取状态寄存器可直接观测芯片是否在工作状态下。状态寄存器每位具有如图4所示的含义,状态寄存器数据允许通过指令RDSR阅读。
图4 AT25010状态寄存器
状态寄存器内的A3和A2位可以直接写入,以便在选择一定的存储区域设置写保护或将所有存储单元设置为写保护。读取AT25010内部的数据需要分成三步进行,首先CS管脚生效片选AT25010芯片,第一步发送READ指令代码,第二步输送需要读取的地址A7—A0,第三步将读取的数据逐位从SO管脚移出。读操作在CS引脚设置为高电平后需要立即停止,防止AT25010芯片内部指针计存器自动继续向后读取数据(当内部指针计存器达到最大值时自动设置为0)。
4.2 AT25010连接电路
如图5所示为AT25010芯片的连接电路。其中Vcc接口为工作电源,外接5V电源(本设计运用电压转换模块,将24V直流电转换成5V直流电);SO、SI口是SPI串行通信接口,输入输出为同一引脚;AT25010芯片的片选管脚连接到XTR108芯片的CS2引脚上,当XTR108芯片上电时,AT25010芯片被选择,XTR108从AT25010内读取数据覆盖自身寄存器初始值。
图5 AT25010的连接电路
5 结束语
本文首先分别介绍了以XTR108为核心的温度检测电路,之后分别介绍了AT25010、C8051F340、XTR108等外围接口电路,为后续程序实现与实物调试提供理论基础。