引言
随着测控系统的自动化程度、复杂性、精度和可靠性要求的不断提高,人们对传感器性能的要求也越来越高。目前IEEE 1451.4为传感器提供了新的标准。该标准建立了一个使传感器具有即插即用功能的通用方法——为模拟接口传感器附加自我描述的功能,以减少传感器配置所用的时间,以及在此过程中面临的风险。识别模块作为即捅即用传感器的重要组成部分,为传感器提供自我描述信息。DS2430A是Maxim公司推出的256位一线式EE-PROM,具有3引脚TO-92小体积封装形式或6引脚TSOC表面贴封装形式,能安装到印制电路板上或进行引线,其典型应用包括储存校准系数、板卡识别以及产品升级的状态信息等,很适合应用到即插即用传感器系统的识别模块中。它除了具有一般1-Wire器件的特性外,还有一些特殊的结构和要求。
1 DS2430A的内部基本结构
DS2430A内部结构如图1所示。DS2430A有2个主要的数据部件:光刻ROM和存储器。其存储器由3个独立部分组成,分别为256位数据存储器EEPROM、64位应用寄存器和8位状态寄存器。每个数据存储器和应用寄存器都有其对应的暂存单元,称为暂存器,当向该器件写入数据时,暂存器可作为缓冲器使用。数据存储器可在需要时反复读写,而应用寄存器只能编程一次。一旦对应用寄存器进行编程,它将自动进入写保护状态。状态寄存器用于指示应用寄存器是否已被锁定或是否可用于存储数据。在应用寄存器被编程之前,读出的状态寄存器值是FFH。当把暂存器的数据写入到应用寄存器时,状态寄存器的两个最低有效位将被清零,此后读出的状态寄存器结果是FCH。
图1 DS2430A内部结构框图
2 DS2430A的存储器功能命令及使用方法
(1)Write Scratchpad[0Fh]写暂存器
发出Write Scratchpad命令后,紧接着单片机必须发出1字节的地址,随后将需要送入数据存储器的数据写入暂存器。DS2430A每收到1字节后地址会自动加1。当地址为1Fh的暂存器也收到了数据字节以后,地址计数器将返回到00h,可继续写入下一个字节,直到单片机发出复位脉冲。
(2)Read Scratchpad[AAh]读暂存器
该命令用于在将暂存器数据复制到EEPROM存储器之前对数据进行验证。单片机发出Read Scratchpad命令后,要紧接着发出1字节的地址,表明读取数据的起始地址。主机每读取一个字节,DS2430A地址将自动加1。读取地址为1Fh的数据后,地址计数器将返回到00h,可继续读取下一个字节,直到单片机发出复位脉冲。
(3)Copy Scratchpad[55h]复制暂存器
存入暂存器的数据经过确认后,单片机便可发出Copy Scratchpad命令和确认字节A5h,把数据从暂存器写入EEPROM存储器。该命令总是把暂存器的全部数据复制到EEPROM。如果只想改变EEPROM中几个字节的数据,在发出Write Scratchpad和Copy Scrlatchpad命令之前,暂存器中应该包含了最新的EE-PROM数据。发出该命令后,数据线要保持逻辑高电平状态至少10 ms。
(4)Read Memory[F0h]读存储器
Read Memory命令用于读取EEPROM数据存储器中的部分或全部数据,或把数据存储器中的全部内容复制到暂存器,为仅改变EEPROM部分字节做准备。当把数据从数据存储器复制到暂存器并进行读取时,单片机必须发出Read Memory命令和1字节的数据读取起始地址。单片机每读取1字节的数据,DS2430A的地址自动加1。读取地址1Fh的数据后,地址计数器将返回到00h,以便继续读取下一个字节,直到主机发出复位脉冲。如果只希望将数据存储器中的全部数据复制到暂存器中,而不必读取数据,单片机可以在发出命令字节后,立即发送复位脉冲。
(5)Write Application Register[99h]写应用寄存器
该命令与Write Scratchpad命令基本相同,只是它是向64位应用寄存器的暂存器写入数据。在发出命令代码后,主机必须提供1字节的地址,随后发送要写入的数据。DS2430每收到1字节后地址会自动加1。当地址为07h的暂存器收到数据后,地址计数器将返回到00h,可继续写入下一个字节,直到主机发出复位脉冲。只要应用寄存器未被锁定,就可以使用Write Application Register命令。如果向已经锁定的应用寄存器发出该命令,写入寄存器暂存器的数据将会丢失。
(6)Read Status Register[66h]读状态寄存器
状态寄存器的主要作用是向主机指示应用寄存器是否已编程并锁定。在主机发出读状态寄存器命令后,在接收状态信息之前必须发出确认字节00h。如果应用寄存器已被编程并锁定,8位状态寄存器中的2个最低有效位为0,而其余各位全部为1。单片机可以在任何时候通过发出复位脉冲结束。
(7)Read Application Register[C3h]读应用寄存器
该命令用来读取应用寄存器或寄存器暂存器。只要应用寄存器未锁定,将接收来自寄存器暂存器的数据。当应用寄存器锁定时,DS2430A将从应用寄存器传送数据,使得寄存器暂存器的内容无法读取。状态寄存器的内容确定通过该命令接收到的数据来自何处。发出Read Appli-cation Register命令后,主机必须提供1字节的数据读取起始地址。单片机每读取1字节,DS2430A地址将自动加1。读取地址07h的数据后,地址计数器将返回到00h,以便继续读取下一个字节,直到主机发送复位脉冲。
(8)Copy&Lock Application Register[5Ah]复制并锁存应用寄存器
当存储到寄存器暂存单元的数据确认后,主机便可发出Copy&Lock Application Register命令和确认字节A5h,把数据从寄存器暂存器全部写入到应用寄存器并对应用寄存器进行写保护。主机也可以通过发送复位脉冲(而不是确认字节)取消该命令。在确认字节发出后,应用寄存器中将包含寄存器暂存器的数据。随后对应用寄存器进行的写访问将被拒绝。注意Copy&Lock Application Register命令只能执行1次。
3 DS2430A的基本操作流程
DS2430A的基本操作流程:初始化→ROM功能命令→存储器功能命令→数据传输。与一般的1-Wire器件类似,所有数据处理均从初始化开始,数据传输都是从低位开始。初始化过程由单片机发送的复位脉冲和DS2430A发送的在线应答脉冲组成。应答脉冲用于通知单片机DS2430A已挂接在总线上,并已准备就绪。一旦单片机检测到在线应答脉冲,就可以发出4条ROM功能命令中的1个。所有ROM功能命令的字长均是8位,表1是这些ROM命令的简要介绍。
4 DS2430在即插即用传感器系统中的应用
即插即用传感器测量系统在硬件方面,主要由以下几个部分组成:传感器单元(包括传统模拟传感器和识别模块)、供电单元、信号调理单元、A/D转换单元,如图2所示。
图2 即插即用传感器系统框图
系统工作过程如下:单片机读取识别模块的信息,用以辨识当前与系统连接的传感器,然后根据识别模块的信息对调理电路进行适当配置;传感器输出的信号经过A/D转换后送入单片机。若有必要,单片机可以通过适当的方式将数据传输至上位机。如果要更换不同的传感器,只需将单片机复位,系统即可再次根据当前传感器单元的需要对电路进行配置,毋需人工干涉,从而实现了传感器的即插即用。为实现这些目的,IEEE 1451.4标准定义了一种混合模式的接口,在保留了传统传感器模拟信号的同时,又附加了一个低成本的数字接口,用以传送嵌入在传感器中的传感器电子数据表(TEDS),以实现自我身份识别和自我描述的功能。采用DS2430A构成的识别模块主要存储用于配置传感器的TEDS信息。利用单片机AT89S51的P1.0脚向DS2430A数据存储器单元00H和1FH写入32字节TEDS数据,然后读取数据存储器的全部TEDS数据。单片机控制识别模块的工作过程如图3所示。
图3 单片机控制识别模块的流程图
5 实例仿真
根据DS2430在即插即用传感器系统中的应用要求,设计了DS2430与单片机AT89S51连接的proteus仿真电路,如图4所示。
图4 DS2430与单片机AT89S51连接的Proteus仿真电路
该电路实现了32字节的数据读/写、校验,完全满足即插即用传感器系统中对识别模块的要求。
:
|