采用IEEE 1451.2的智能传感器独立接口设计
通信协议规定了采样触发机制和2种数据传输方式:字节读/写、帧读/写。IEEE1451.2规定智能传感器接口模块必须实现即插即用,这在软件上通过传感器电子数据表单实现,硬件上要求接口具有热插拔能力。
基于上述标准,TII接口的硬件要求具备两项功能:一是要基于现有的微处理器总线实现数据传输;二是要具备支持热插拔的浪涌电流控制功能。
2.1 基于SPI和GPIO的TII实现
SPI(Serial Peripheral Interface)是一种四线同步串行接口,广泛应用于微处理器和EEPROM、Flash、实时时钟、A/D转换器、数字信号处理器、数字信号解码器等低速外围设备之间的数据传输。SPI有主控和被控两种工作模式,一个主控器件可以连接多个被控器件。数据传输在主控器件的SPI时钟信号SPCK控制下,按照高位在前、低位在后的顺序按位传输。SPI的传输速度完全由主控器件的SPCK控制,通过设置SPCK频率可以适应各种不同工作频率的智能传感器接口模块。模块的SPI接口传输速率高达1.5 Mbps,远远高于协议推荐的6 kbps,这使得基于SPI的TII接口技术可以满足更高数据传输速率的要求。
图1给出了TII的接口电路图。左边是智能传感器接口模块(STIM),右边是支持热插拔功能的网络适配器(NCAP)。其中,GPIO是微处理器的通用输入输出引脚,SN74ALVC164245为双向5~3.3 V电平转换芯片。在笔者实验室设计的电力系统传感器网络中,上述两个模块分别采用了芯片AT89S53和AT91SAM9261。图中还给出了两者之间的数据传输和电源接线设计方案。
图1 TII接口电路图
相对传感器不同的工作模式,TII接口也有多种传输模式。下面仅以传感器模式为例对其工作过程予以介绍:网络适配器要求智能传感器接口模块执行一定的任务时,首先向智能传感器接口模块写入通道地址和命令,然后用NTRIG信号触发动作,等待一个数据建立时间后从智能传感器接口模块读取数据。当网络适配器要向智能传感器接口模块写数据,或者从智能传感器接口模块读数据时,首先发送NIOE信号,即拉低SPI_SS。由于NIOE信号线同时连接到SPI_SS和NIOE_S引脚上,所以NIOE信号同时也选通了AT89S53的SPI。当AT89S53通过NIOE_S引脚检测到NIOE信号有效时,根据智能传感器接口模块的状态及时驱动NACK信号,响应网络适配器的读写请求。当网络适配器收到NACK信号时,开始发送或者读取数据。IEEE1451.2协议要求NIOE信号在数据传输中一直有效,因此,在数据传输的过程中,STIM从SPI的移位寄存器里读出或者写入数据时,都要检测NIOE是否有效,以确定数据的有效性,以及传输是否正在进行。
当向STIM写入通道命令和通道地址后,NCAP就要通过NTRIG信号触发命令所要求的动作。电力系统同步相量测量要求采样的时间精度高达1 μs[2],为了保证动作执行的时间准确性,NTRIG信号同时接入STIM里的多个传感器或者执行器件。如图2所示,一个智能传感器接口模块里有多个传感器通道,每个通道采集一路信号。当网络应用适配器把一个传感器或者执行器通道打开时,AT89S53使能对应的传感器或者执行器的使能信号,这个使能信号和NTRIG信号相“与”后的输出使能相应的传感器或者执行器。这样NTRIG信号就可以准确地触发正确的通道动作。
图2 传感器触发电路图
评论