O 引言
SSI (Synchron电感厂家ous Serial Interface,即同步串行接口)以其传输速度快、连线简单、抗干扰能力强等优点,在光电编码器上得到了越来越广泛的应用。然而单片机、DSP、PCI04、工控机等领域常用的控制器一般不提供SSI接口,SSI光电编码器供应商一般也不提供接口转换器,这些因素在一定程度上限制了SSI光电编码器的应用。为此,本文给出了两种SSI接口数据采集的低成本解决方案:其一是基于SSI并行接口模块SSI208P的并行高速接口方案,其二是基于SSI串行接口模块SSI208S的通用串行异步接口(UART)数据采集方案,这两种方案可分别满足不同应用场合的需求。
1 SSI编码器高速并行数据采集方案
1.1 SSl208P模块简介
由中国兵器工业第二零八研究所基于CPLD研制的SSl208P模块,其内部集成有SSI同步时钟发生器、脉冲计数器、数据串并转换、接口控制逻辑、输出控制以及收发驱动器(TTL—RS422电平转换)等功能单元,图l所示是其功能框图。

SSI208P模块已完成SSI接口与并口的转换和封装,因此,读取SSI接口数据就变得类似于对A/D、D/A或存储器读取数据的操作,非常简单。SSI208P模块能将数据由格雷码格式转换成BCD码格式,其通信速率可配置为250 kHz、500 kHz、1MHz和2 MHz,当通信速率配置为2MHz时,对于16位精度的编码器,其系统数据更新率不低于100 kHz,故可满足高速伺服控制系统的需求。
1.2 SSI208P的管电感器厂家脚配置
SSI208P接口模块采用DIP28封装,其管脚排列如图2所示。各引脚的功能如下:

CLKMDl,CLKMD0:SSI时钟频率设置端口,其中00为250 kHz,0l为500 kHz,10为1 MHz,11为2MHz;
START:启动指令,上升沿启动转换;
END:转换结束状态查询,低为转换结束;
CS:编码器数据输出选择端;
GRAY:数据格式转换选择,l是将格雷码转换为BCD码输出。0为BCD码输出;
D0~D7:8位数据输出并口;
A1,A0:输出数据高低位选择端,00为最低八位,11为最高八位;
CLK+,CLK一:SSI编码器时钟信号;
DATA+,DATA一:SSI编码器数据信号;
VCC,GND:电源,电源地;
NC:空脚。
1.3 SSI208P控制时序
SSI208P的控制时序如图3所示。一般可在START上升沿启动一次SSI编码器数据收发过程。START电平升高后的125ns内,SSI208P模块开始向编码器发送一帧同步时钟脉冲信号,脉冲的个数由编码器的精度决定,同时转换结束管脚END变高。发送脉冲期间,管脚END保持高电平,转换结束,END管脚电平变低后,即可从DO~D7并行读取编码器数据,每次读取八位,并由Al、AO控制输出数据的高低位,00表示读取最低八位、11表示读取最高八位。如对16位编码器,只需读取两次(A1、AO分别为00、01),最多可以读取32位数据。编码器并行数据读取结束后,应将START管脚置低,以准备启动下一次转换。

1.4 基于SSI208P的接口设计
采用SSI208P模块可以大大简化单片机、DSP、PCI04等控制器扩展SSI编码器接口的软硬件设计。下面给出一种基于DSP处理器TMS320F2812的典型应用。图4所示为DSP处理器TMS320F2812与SSI208P模块的硬件连接原理图。本编码器为单圈16位绝对式角度编码器,编码器输出数据格式为格雷码,SSI208P模块的八位数据总线与TMS320F2812的低八位数据线相连。由于使用的编码器为16位,所以仅需一位地址线即可区分编码器数据的高八位和低八位,可使用外部地址片选管一体成型电感脚/XZCS67作为SSI208P的外部片选信号,并使用通用IO口GPIOB4控制SSI208P模块启动,同时使用通用IO口GPIOB5进行SSI208P模块转换结束状态查询。设计时应在CLKMDO、CLKMDl接上拉电阻,并将SSI208P模块同步时钟频率配置为2MHz。将GRAY管脚拉高,SSI208P模块即可将编码器输出的格雷码数据转换成BCD码。

由SSI208P模块的控制时序图可以看出工字电感器,SSI208P模块的启动转换控制和数据读取操作比较简单,其软件流扁平型电感程如图5所示。