基于片上系统芯片的传感器模块设计
扫描二维码
随时随地手机看文章
2 传感器模块硬件系统结构
传感器模块(STIM)原理框图如图1所示,主要包括:变送器阵列模块、信号调理模块、多通道数据采集模块、TEDS模块及TII智能接口等部分。为了增强系统的集成度,设计采用了集成式的片上数据采集系统ADuC812。
传感器的输出信号经调理模块放大调理,输入至ADuC812片内的多通道ADC,ADC对相应通道模数转换后,存储于RAM中,然后通过TII智能接口将数据读入NCAP。为了方便TEDS内容的升级与更新,系统采用异步串行口来下载电子数据表格至ADuC812的片内Flash。此外,异步串行口还可用来下载和调试用户程序,方便系统开发。
3 传感器系统硬件详细设计
3.1 STIM传感器前端信号采集电路设计
温度传感器采用AD公司的AD590芯片实现的,它是单片集成两端感温电流源。其电路原理图如图2所示,其中R1=5.1KΩ,R2=R3=10KΩ,R4=2KΩ,R5和R6分别选10KΩ的电位器。AD590受温度变化产生电流信号时,在电阻R1两端产生电势差,从而在运放输入端产生电压信号,由加法电路进行调节零点漂移;由运放OP07进行比例放大,放大倍数由电位器R6调节,使测试温度范围在0~65℃,输出电压相应为0~2.5V。
3.2 复位电路设计
ADuC812需要外接POR(Power-on reset,上电复位)电路。上电复位电路在电源电压低于2.5V时,要使RESET引脚保持高电平;而且,在电源电压高于2.5V时,RESET引脚保持低电平至少10ms。在本模块中采用专门的POR芯片ADM810设计的POR电路。ADM810是CMOS监控电路芯片,能够监控电源电压、电源故障和微处理器的工作状态。复位信号RESET用于启动或重新启动CPU,在上电期间只要电源电压VCC大于1.0V,就能保证输出高电平电压。在VCC上升期间RESET保持高电平直到电源电压升至复位门(4.65V)以上,在超过此门限后,内部定时器大约再维持200ms后释放RESET,使其返回低电平。无论何时,只要电源电压降低到复位门限以下(即电源跌落),RESET引脚就会变高,如果在已经开始的复位脉冲期间出现电源跌落,复位脉冲至少再维持140ms。在掉电期间,一旦电源电压VCC降到复位门限以下,只要VCC不比1.0V还低,就能使RESET维持高电平。
3.3 TII接口模块
TII接口是硬件设计的重点,该接口不是一种额外的网络协议,而是连接NCAP和STIM的接口,主要定义二者之间的点对点连接,同步时钟的短距离接口。TII是基于SPI协议的串口通信接口,其中DIN,DOUT,DCLK和NIOE完成通讯功能,NTRIG和NACK实现与STIM有关的通道读写、触发和应答,STIM使用NINT信号要求从NCAP得到服务,NCAP使用NSDET信号检测STIM模块,实现STIM的即插即用。系统采用ADuC812的SPI总线和其它的I/O资源来模拟实现TII十线接口。连接示意图如图3所示。为了实现STIM模块的热插拔,需对TII接口的供电电源进行处理,可以在STIM方面加入热插拔保护电路,当然也可以在NCAP方面加入保护电路。本系统在NCAP方面加入了保护电路。
3.4 信号调理存储电路设计
数据采集系统的设计过程中,输入数据采集系统的电信号与ADC的输入范围并不一定匹配,因而,一般不直接送入ADC进行转换,必需对输入的信号进行信号调理,经过信号调理后的模拟信号符合ADC的要求。将传感器送来的信号送入放大器OPA4350,此时放大器OPA4350形成一个电压跟随器,起到阻抗变换的作用,以增大输出电流。从放大器输出的信号输入ADuC812控制器的AD转换通道进行数据采集。
由于ADuC812内部只有256字节数据RAM,因此,需外扩大容量RAM,在此选用了IS61C256,扩展了32K数据区。考虑到ADuC812内部集成了640字节Flash,可以作为电子数据表格的存储区,所以无需外扩Flash存储器。
3.5 在线下载与调试
程序存储器阵列可以按两种模式之一来编程:一种是串行下载(在线编程)模式;另一种是并行编程模式。并行编程模式与常规的第三方提供的闪速或EEPROM器件编程器完全兼容,但应用起来较复杂,需要对ADuC812中支持并行编程所需的外部引脚进行配置。所以,在本模块的开发和调试过程中采用的是串行下载模式。作为工厂引导代码的一部分,ADuC812本身具有在线编程的程序,使经过标准UART串行接口实现串行代码下载变得容易,只需通过一个与地相连的1kΩ电阻将ADuC812的/PSEN引脚拉至低电平,那么上电时器件将自动进入串行下载模式。本系统使用图4的RS-232接口电路,从而实现上位机与ADuC812的串行接口通信。
4 传感器模块软件设计
程序软件是系统的灵魂,系统依靠程序软件的运行实现传感器模块的所有功能。程序软件的合理设计可以有效的发挥扩展系统硬件的功能。本模块的软件设计模型的结构化来自于IEEE1451.2标准的结构。系统的处理器是与51系列单片机兼容的ADuC812,可以采用面向MCS-51的程序设计语言,包括ASM51汇编语言和C51高级语言。与以往的80C51单片机不同,ADuC812具有在线调试和下载功能,它由支持ADuC812的开发工具包Quickstart开发系统来提供。也就是说,在用户系统保留ADuC812的情况下,通过开发系统与ADuC812的串行接口通信,直接对用户系统进行调试。
1、STIM的软件模块。
STIM必须包含一个TEDS、控制与状态寄存器、通道、中断标志、地址和函数编译逻辑、数据传输与处理函数,触发和触发承认函数、一个TII驱动和一个传感器接口。IEEE1451.2STIM的软件分了四个主要部分:(1)传感器接口STIM模块;(2)传感器独立接口TII模块;(3)电子数据表格TEDS模块;(4)地址与函数功能模块。
2、数据采集程序。
为了使数据采集系统得到高精度的数据,不但硬件上需要采取上述的一些抗干扰以及提高精度的措施,如对供电电源进行严格稳压处理,对ADC输入信号进行RC高频滤波,采用高精度、高稳定度的ADC基准源,采用高精度的传感器等等,同时软件上的优化也相当重要,合适的软件设计能进一步提高精度,提高数据采集系统整体性能。
3、TEDS下载程序。
本系统的TEDS下载程序是RS232串行通讯程序,分为单片机程序和上位机程序两部分组成。这里研究单片机程序的开发。PC机和单片机之间要实现串行通信,除了要遵守RS232串行通讯协议外,还必须具有各自的通信应用软件。通信软件的设计思路是:PC机为主动方式,在通讯开始后由PC机向单片机发送请求,单片机返回应答信号,通讯正常后,单片机根据PC机发送来的命令,执行相应功能并应答。单片机流程图如图5。
5 系统测试
本测试系统的大体设计思路是:以ADuC812作为下位机,当接收到上位机的指令采集数据,通过串口将采集到的数据传给上位机,上位机将得到的测试数据很容易被转化成直观的图表等形式,并可以保存于计算机中以便将来使用。本系统需要为单片机和上位机分别编制软件,以实现数据的沟通,本系统采用VB来编写上位机的程序,用汇编语言来编写ADuC812的程序。由于VB具有MSCOMM控件,我们可以很方便地用串口来采集所需要的数据。而且,VB的程序通俗易懂,移植性较强,开发简单、周期短,绘图功能强大,特别适合应用到需要绘制曲线的系统。
本文作者创新点: 本文对研制的传感器模块进行了全面的介绍,本系统的研究为IEEE1451网络化智能传感器的研究奠定了一定的基础,为开发各种标准化的IEEE1451传感器模块STIM提供了范例。