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: 1MHz11: 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=0i<1i++)//延时约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=0i<ni++)
CONVST=1 //启动转换
for(i=0i<ni++) //延时
while(END_N!=0) //查询转换是否结束
CS_N=0 //SSI模块片选
H_L=1 //读取编码器数据高字节
for(i=0i<ni++) //延时*(1)
SSI_H =P1 //从P1端口读取编码器高八位数据
H_L =0 //读取编码器数据高字节
for(i=0i<ni++) //延时*(2)
SSI_H =P1 //从P1端口读取编码器低八位数据
SSI_VAL=(SSIL&0xFF)|((SSIH<<8)&0xF00 //合并成编码器数据
CONVST=0
CS_N=1
……
}
注:在程序加入延时(1)和延时(2)是因为IO口响应有滞后,需一定的稳定时间。
7、技术服务:
13141393549(靳先生) htjin@asee.buaa.edu.cn
13683263781(陈先生) shelfer@163.com
13552091081(赵先生) 208servo@163.com
同步串行RS422,SSI接口介绍与工作原理。SSI接口通过一个时钟同步的串行线路来传输绝对值编码器的位置数据,如右图所示具有SSI接口编码器的示意图:SSI编码器的工作原理与一个标准绝对值编码器的工作原理非常相似。主要部分是:一个发光源、一个由透明和不透明窗口构成的码盘、一个光电接收器、启动/触发电路、并行/串行转换器、一个单稳态电路、一个时钟信号...有夹紧法兰、同步法兰、加紧带同步法兰、盲孔、通孔通讯协议默认为9600bit/s。刷新周期约1.2ms编码器输出信号有SSI、4-20MA、0-10V,RS485,profibus-dp、DEVicenet、并行、二进制码、BiSS、CANopen、Endat及Hiperface编码器常用规格:BESM58,BE1322SM58-N011,BESM58-011、BE122SM58、BE1822SM58、BE420SM58,BE1622SM58-N011,SS编码器I,4-20MA编码器,0-10V编码器,profibus编码器,编码器,并行编码器,DEVicenet编码器,TJFD编码器BEN编码器,JFSH编码器。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)