原创
SSI接口转并口模块(SSI208P.SSI208S等系列)销售热线010-82625021/51663026/82627105
2009-9-4 11:43
3933
2
2
分类:
消费电子
SSI接口光电编码器数据并行采集设计方法。SSI208P(蓝景世纪)010-82625021光电编码器高速数据采集系统的板级开发等...
SSI208P,主要应用于同步串行接口(SSI)光电编码器高速数据采集系统的板级开发。SSI208P模块将同步串行接口数据转换成并行接口数据,内部集成了SSI同步时钟发生器、脉冲计数器、数据串并转换、接口控制逻辑、输出控制以及收发驱动器(TTL-RS422电平转换)等功能单元,用户无须了解SSI数据格式,该模块自动将SSI数据转换成8位并行数据,简化了SSI编码器与DSP、单片机、PC104等控制器的接口。 1、产品特性: 单3.3V供电,工作电流小于100mA; 通信速率可配置,最高达2MHz; 24脚双列直插封装,尺寸25.4*25.4*6(mm); 8位数据总线,可接8~32位编码器; 16位数据更新率大于100KHz; 内部时钟,固定时序; 内置422差分驱动。 2、产品介绍: 该模块具有内部时钟,能自动将SSI数据转换成并行数据,对SSI接口数据的读取操作就类似于对A/D、D/A或存储器读取数据的操作一样方便。SSI208P模块通信速率可配置为250KHz、500KHz、1MHz、2MHz,当通信速率配置为2MHz时,对于16位精度的编码器,系统数据更新率不低于100KHz。此外,该模块对采集的数据长度(编码器精度)可以进行配置,最高可以采集32位数据,分4次输出,该模块可以满足高精度高速伺服控制系统的需求。 3、外形尺寸:25.4X25.4X6(mm) 4、管脚定义及特性参数:

(1)管脚定义 1-8 D0-D7 输出 8位数据输出 接处理器数据线 9-12 NC 空管脚 使用时悬空 13 DATA+ 输入 编码器数据线+ 14 DATA- 输入 编码器数据线- 15 CLK- 输出 编码器同步时钟- 16 CLK+ 输出 编码器同步时钟+ 17 H/L 输入 数据高低字节选择 1:高字节,0:低字节 18 /CS 输入 编码器数据输出选择 0:输出选择 19 /END 输出 转换结束 1:正在转换,0:转换结束 20 START 输入 启动转换 上升沿启动转换 21 GND 电源地 22 CLKMD1 输入 同步时钟设置 00: 250KHz 01: 500KHz 10: 1MHz 11: 2MHz 23 CLKMD0 输入 同步时钟设置 24 VCC 电源 3.3V供电
(2)特性参数 电源VCC 最小值3.0V,典型值:3.3V,最大值:3.6V 功耗 静态电流<70mA,最大电流<100mA 温度范围 -40~85℃ I/O电气特性 输出高电压(VOH) 最小值VCC-0.4V 输出低电压(VOL) 最大值0.8V 输入高电平(VIH) 最小值2V,能承受5V输入 输入低电平(VIL) 最大值0.8V 5、控制时序:
SSI208P控制时序如图4所示。START上升沿启动一次SSI编码器数据收发过程,START电平升高后,125ns内SSI208P模块开始向编码器发送一帧同步时钟脉冲信号,同时转换结束管脚/END变高。发送脉冲期间管脚/END保持高电平状态,转换结束/END管脚电平变低后,即可从D0~D7并行读取编码器数据,每次读取八位,由H/L控制输出数据高低位,0低八位、1表示读取高八位,对于16位编码器需读取两次。编码器并行数据读取结束后将START管脚置低,准备启动下一次转换。 6、应用实例: (1)TMS320F2812接口实例 采用SSI208P模块可以大大简化单片机、DSP、PC104等控制器扩展SSI编码器接口的软硬件设计,下面给出一种基于DSP处理器TMS320F2812的典型应用。 DSP处理器TMS320F2812与SSI208P模块的硬件连接原理图如图5所示。 上例中编码器为单圈16位绝对式角度编码器,SSI208P模块的八位数据总线与TMS320F2812的低八位数据线相连;因使用的编码器为16位,所以仅需一位地址线即可区分编码器数据高八位和低八位;使用外部地址片选管脚/XZCS67作为SSI208P的外部片选信号;使用通用IO口GPIOB4控制SSI208P模块启动;使用通用IO口GPIOB5进行SSI208P模块转换结束状态查询; CLKMD0、CLKMD1接上拉电阻拉高,将SSI208P模块同步时钟频率配置为2MHz。其它控制器的硬件电路依次类推。 由SSI208P模块控制时序图可以看出SSI208P模块的启动转换控制和数据读取操作比较简单,软件流程如图6所示。 对应图5中硬件设计,DSP处理器TMS320F2812相应的软件代码如下所示:
#include "DSP28_Device.h" #define SSIL *(int *)0x00100000 //SSI模块低八位地址 #define SSIH *(int *)0x00100001 // SSI模块高八位地址
int SSI_VAL; //编码器数据
main() { …… EALLOW; //配置GPIO4、GPIO5引脚为IO引脚 GpioMuxRegs.GPBMUX.bit.GPIOB4=0; GpioMuxRegs.GPBMUX.bit.GPIOB5=0; GpioMuxRegs.GPBDIR.bit.GPIOB4=1; //GPIOB4配置为输出 GpioMuxRegs.GPBDIR.bit.GPIOB5=0; //GPIOB5配置为输入 EDIS; //启动数据发送及转换 GpioDataRegs.GPBDAT.bit.GPIOB4=0; GpioDataRegs.GPBDAT.bit.GPIOB4=1; for(i=0;i<1;i++); //延时约200ns while((GpioDataRegs.GPBDAT.bit.GPIOB5)!=0); //查询转换是否结束 SSI_VAL=(SSIL&0xFF)|((SSIH<<8)&0xF00; //读取SSI编码器高低八位数据并组合
GpioDataRegs.GPBDAT.bit.GPIOB4=0; …… }
(2)C8051F310接口实例 例中编码器为单圈16位绝对式角度编码器,SSI208P模块的八位数据总线与单片机C8051F310的P1端口相连,单片机IO口P2.0控制模块启动转换,P2.1查询转换是否结束,P2.2作为模块片选信号,P2.3区分编码器数据高八位和低八位。CLKMD0、CLKMD1接地,将SSI208P模块同步时钟频率配置为250KHz。原理图如图7所示。 对应图7中硬件设计,单片机C8051F310相应的软件代码如下所示: sbit START =P2^0; //P2.0与START管脚对应 sbit END_N =P2^1; //P2.1与END管脚对应 sbit CS_N =P2^2; //P2.2与CS管脚对应 sbit H_L =P2^3; //p2.3与H/L管脚对应 …… unsigned int SSIL; unsigned int SSIH; unsigned int SSI_VAL; …… void main (void) { …… CONVST=0; for(i=0;i<n;i++); CONVST=1; //启动转换 for(i=0;i<n;i++); //延时 while(END_N!=0); //查询转换是否结束 CS_N=0; //SSI模块片选 H_L=1; //读取编码器数据高字节 for(i=0;i<n;i++); //延时*(1) SSI_H =P1; //从P1端口读取编码器高八位数据 H_L =0; //读取编码器数据高字节 for(i=0;i<n;i++); //延时*(2) SSI_H =P1; //从P1端口读取编码器低八位数据 SSI_VAL=(SSIL&0xFF)|((SSIH<<8)&0xF00; //合并成编码器数据 CONVST=0; CS_N=1; …… } 注:在程序加入延时(1)和延时(2)是因为IO口响应有滞后,需一定的稳定时间。
|
z单 3.3V供电,工作电流小于 100mA; z通信速率可配置,最高达 2MHz; z 28脚双列直插封装;尺寸: 25.4*25.4
|
*6(mm); z 8位数据总线,可接 8~32位编码器; z高数据更新率,如 16位数据更新率大
|
于 100KHz; z内部时钟,固定时序; z内置 422差分驱动。
|
李先生(010-51663026/82627105/13911263083 )
|
文章评论(0条评论)
登录后参与讨论