技術(shù)頻道

      一種SSI接口光電編碼器數(shù)據(jù)并行采集設(shè)計方法

      概述
      SSI208P接口轉(zhuǎn)換模塊主要應(yīng)用于同步串行接口(SSI)光電編碼器高速數(shù)據(jù)采集系統(tǒng)的板級開發(fā)。SSI208P模塊將同步串行接口數(shù)據(jù)轉(zhuǎn)換成并行接口數(shù)據(jù),內(nèi)部集成了SSI同步時鐘發(fā)生器、脈沖計數(shù)器、數(shù)據(jù)串并轉(zhuǎn)換、接口控制邏輯、輸出控制以及收發(fā)驅(qū)動器(TTL-RS422電平轉(zhuǎn)換)等功能單元,用戶無須了解SSI數(shù)據(jù)格式,該模塊自動將SSI數(shù)據(jù)轉(zhuǎn)換成8位并行數(shù)據(jù),簡化了SSI編碼器與DSP、單片機、PC104等控制器的接口。
      應(yīng)用方向
      伺服控制
      工業(yè)控制

      產(chǎn)品特性

      單3.3V供電,工作電流小于100mA;
      通信速率可配置,最高達2MHz;
      28腳雙列直插封裝;尺寸:25.4*25.4*6(mm);
      8位數(shù)據(jù)總線,可接8~32位編碼器;
      高數(shù)據(jù)更新率,如16位數(shù)據(jù)更新率大于100KHz;
      內(nèi)部時鐘,固定時序;
      內(nèi)置422差分驅(qū)動。

      1.產(chǎn)品介紹
      SSI208P是針對同步串行接口(SSI)編碼器開發(fā)的高速數(shù)據(jù)采集模塊。內(nèi)部集成了SSI同步時鐘發(fā)生器、脈沖計數(shù)器、數(shù)據(jù)串并轉(zhuǎn)換、接口控制邏輯、輸出控制以及收發(fā)驅(qū)動器(TTL-RS422電平轉(zhuǎn)換)等功能單元,其功能框圖如圖1所示。

      圖1 SSI208P功能框圖

      該模塊具有內(nèi)部時鐘,能自動將SSI數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù),對SSI接口數(shù)據(jù)的讀取操作就類似于對A/D、D/A或存儲器讀取數(shù)據(jù)的操作一樣方便。SSI208P模塊通信速率可配置為250KHz、500KHz、1MHz、2MHz,當通信速率配置為2MHz時,對于16位精度的編碼器,系統(tǒng)數(shù)據(jù)更新率不低于100KHz。此外,該模塊對采集的數(shù)據(jù)長度(編碼器精度)可以進行配置,最高可以采集32位數(shù)據(jù),分4次輸出,該模塊可以滿足高精度高速伺服控制系統(tǒng)的需求。

      2.SSI208P外形

      2.1 SSI208P實物圖

      圖2 SSI208P實物圖

      2.2 SSI208P外形尺寸
      俯視圖 側(cè)視圖

      圖3 SSI208P外形尺寸

      3.管腳定義及特性參數(shù)

      3.1 SSI208P引腳定義

      編號

      引腳名稱

      方向

      引腳含義

      備注

      1-4

      D0-D3

      輸出

      數(shù)據(jù)輸出

      接處理器數(shù)據(jù)線

      5

      NC

      空管腳

      使用時懸空

      6-9

      D4-D7

      輸出

      數(shù)據(jù)輸出

      接處理器數(shù)據(jù)線

      10-12

      NC

      空管腳

      使用時懸空

      13,14

      A0,A1

      輸入

      數(shù)據(jù)高低字節(jié)選擇

      A1A0:

      00-最低八位,01-次低八位,

      10-次高八位,11-最高八位

      15

      DATA+

      輸入

      編碼器數(shù)據(jù)線+

      16

      DATA-

      輸入

      編碼器數(shù)據(jù)線-

      17

      CLK-

      輸出

      編碼器同步時鐘-

      18

      CLK+

      輸出

      編碼器同步時鐘+

      19

      NC

      空管腳

      使用時懸空

      20

      GRAY

      輸入

      格雷碼轉(zhuǎn)換控制

      0-原碼輸出

      1-將格雷碼轉(zhuǎn)換為BCD碼

      21

      /CS

      輸入

      編碼器數(shù)據(jù)輸出選擇

      0:輸出選擇

      22

      /END

      輸出

      轉(zhuǎn)換結(jié)束

      1:正在轉(zhuǎn)換,0:轉(zhuǎn)換結(jié)束

      23

      START

      輸入

      啟動轉(zhuǎn)換

      上升沿啟動轉(zhuǎn)換

      24

      NC

      空管腳

      使用時懸空

      25

      GND

      電源地

      26

      CLKMD1

      輸入

      同步時鐘設(shè)置

      00: 250KHz 01: 500KHz

      10: 1MHz 11: 2MHz

      27

      CLKMD0

      輸入

      同步時鐘設(shè)置

      28

      VCC

      電源

      3.3V供電

      3.2 SSI208P特性參數(shù)

      電源VCC

      最小值3.0V,典型值:3.3V,最大值:3.6V

      功耗

      靜態(tài)電流<70mA,最大電流<100mA

      溫度范圍

      -40~85℃

      I/O電氣特性

      輸出高電壓(VOH)

      最小值VCC-0.4V

      輸出低電壓(VOL)

      最大值0.8V

      輸入高電平(VIH)

      最小值2V,能承受5V輸入

      輸入低電平(VIL)

      最大值0.8V

      4. SSI208P控制時序

      SSI208P控制時序如圖4所示。START上升沿啟動一次SSI編碼器數(shù)據(jù)收發(fā)過程,START電平升高后,125ns內(nèi)SSI208P模塊開始向編碼器發(fā)送一幀同步時鐘脈沖信號,同時轉(zhuǎn)換結(jié)束管腳/END變高。發(fā)送脈沖期間管腳/END保持高電平狀態(tài),轉(zhuǎn)換結(jié)束/END管腳電平變低后,即可從D0~D7并行讀取編碼器數(shù)據(jù),每次讀取八位,由A1A0控制輸出數(shù)據(jù)高低位,0低八位、1表示讀取高八位,對于16位編碼器需讀取兩次。編碼器并行數(shù)據(jù)讀取結(jié)束后將START管腳置低,準備啟動下一次轉(zhuǎn)換。

      圖4 SSI208P控制時序

      5.基于SSI208P模塊的應(yīng)用實例

      5.1 TMS320F2812接口實例

      采用SSI208P模塊可以大大簡化單片機、DSPPC104等控制器擴展SSI編碼器接口的軟硬件設(shè)計,下面給出一種基于DSP處理器TMS320F2812的典型應(yīng)用。 DSP處理器TMS320F2812SSI208P模塊的硬件連接原理圖如圖5所示。

      圖5 TMS320F2812與SSI208P連接硬件設(shè)計原理圖

      上例中編碼器為單圈16位絕對式角度編碼器,編碼器輸出數(shù)據(jù)形式為格雷碼;SSI208P模塊的八位數(shù)據(jù)總線與TMS320F2812的低八位數(shù)據(jù)線相連;因使用的編碼器為16位,所以僅需一位地址線即可區(qū)分編碼器數(shù)據(jù)高八位和低八位;使用外部地址片選管腳/XZCS67作為SSI208P的外部片選信號;使用通用IO口GPIOB4控制SSI208P模塊啟動;使用通用IO口GPIOB5進行SSI208P模塊轉(zhuǎn)換結(jié)束狀態(tài)查詢; CLKMD0、CLKMD1接上拉電阻拉高,將SSI208P模塊同步時鐘頻率配置為2MHz;將GRAY管腳拉高, SSI208P模塊將編碼器輸出的格雷碼數(shù)據(jù)轉(zhuǎn)換成BCD碼。其它控制器的硬件電路依次類推。

      由SSI208P模塊控制時序圖可以看出SSI208P模塊的啟動轉(zhuǎn)換控制和數(shù)據(jù)讀取操作比較簡單,軟件流程如圖6所示。

      圖6 SSI208P軟件流程圖

      對應(yīng)圖5中硬件設(shè)計,DSP處理器TMS320F2812相應(yīng)的軟件代碼如下所示:

      #include "DSP28_Device.h"

      #define SSIL *(int *)0x00100000 //SSI模塊低八位地址

      #define SSIH *(int *)0x00100001 // SSI模塊高八位地址

      int SSI_VAL; //編碼器數(shù)據(jù)

      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;

      //啟動數(shù)據(jù)發(fā)送及轉(zhuǎn)換

      GpioDataRegs.GPBDAT.bit.GPIOB4=0;

      GpioDataRegs.GPBDAT.bit.GPIOB4=1;

      for(i=0;i<1;i++); //延時約200ns

      while((GpioDataRegs.GPBDAT.bit.GPIOB5)!=0); //查詢轉(zhuǎn)換是否結(jié)束

      SSI_VAL=(SSIL&0xFF)|((SSIH<<8)&0xFF00); //讀取SSI編碼器高低八位數(shù)據(jù)并組合

      GpioDataRegs.GPBDAT.bit.GPIOB4=0;

      ……

      }

      5.2 C8051F310接口實例

      例中編碼器為單圈16位絕對式角度編碼器,編碼器輸出數(shù)據(jù)形式為BCD碼;SSI208P模塊的八位數(shù)據(jù)總線與單片機C8051F310的P1端口相連,單片機IO口P2.0控制模塊啟動轉(zhuǎn)換,P2.1查詢轉(zhuǎn)換是否結(jié)束,P2.2作為模塊片選信號,P2.3區(qū)分編碼器數(shù)據(jù)高八位和低八位;CLKMD0、CLKMD1接地,將SSI208P模塊同步時鐘頻率配置為250KHz;GRAY管腳接地,編碼器輸出的BCD碼數(shù)據(jù)不做轉(zhuǎn)換。原理圖如圖7所示。

      圖7 C8051F310與SSI208P連接硬件設(shè)計原理圖

      對應(yīng)圖7中硬件設(shè)計,單片機C8051F310相應(yīng)的軟件代碼如下所示:

      sbit START =P2^0; //P2.0與START管腳對應(yīng)

      sbit END_N =P2^1; //P2.1與END管腳對應(yīng)

      sbit CS_N =P2^2; //P2.2與CS管腳對應(yīng)

      sbit A0 =P2^3; //p2.3與A0管腳對應(yīng)

      ……

      unsigned int SSIL;

      unsigned int SSIH;

      unsigned int SSI_VAL;

      ……

      void main (void)

      {

      ……

      CONVST=0;

      for(i=0;i<n;i++);

      CONVST=1; //啟動轉(zhuǎn)換

      for(i=0;i<n;i++); //延時

      while(END_N!=0); //查詢轉(zhuǎn)換是否結(jié)束

      CS_N=0; //SSI模塊片選

      A0=1; //讀取編碼器數(shù)據(jù)高字節(jié)

      for(i=0;i<n;i++); //延時*(1)

      SSI_H =P1; //從P1端口讀取編碼器高八位數(shù)據(jù)

      A0 =0; //讀取編碼器數(shù)據(jù)低字節(jié)

      for(i=0;i<n;i++); //延時*(2)

      SSI_H =P1; //從P1端口讀取編碼器低八位數(shù)據(jù)

      SSI_VAL=(SSIL&0xFF)|((SSIH<<8)&0xFF00); //合并成編碼器數(shù)據(jù)

      CONVST=0;

      CS_N=1;

      ……

      }

      注:在程序加入延時(1)和延時(2)是因為IO口響應(yīng)有滯后,需一定的穩(wěn)定時間。


      文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。

      主站蜘蛛池模板: 奇米精品一区二区三区在线观看| 无码人妻精品一区二区在线视频 | 色妞色视频一区二区三区四区 | 亚洲一区二区三区免费视频| 免费国产在线精品一区| 久久久综合亚洲色一区二区三区 | 日本人真淫视频一区二区三区| 日韩精品无码一区二区中文字幕 | 国产亚洲无线码一区二区| 国产精品伦子一区二区三区| 奇米精品视频一区二区三区| 久久精品道一区二区三区| 久久免费视频一区| 一区二区精品视频| 波多野结衣一区在线| 美女视频黄a视频全免费网站一区| 国产乱人伦精品一区二区在线观看| 人妻久久久一区二区三区| 亚洲国产精品一区二区成人片国内| 中文日韩字幕一区在线观看| 日韩一区二区精品观看| 精品女同一区二区三区免费播放| 亚洲国产精品一区二区三区在线观看| 日韩精品无码免费一区二区三区| 久久伊人精品一区二区三区| 无码人妻精品一区二区三区夜夜嗨| 亚洲一区综合在线播放| 国产suv精品一区二区33| 国产成人AV一区二区三区无码| 熟妇人妻AV无码一区二区三区| 日本一区二区三区精品中文字幕| 精品一区二区久久| 国模少妇一区二区三区| 国产日韩一区二区三免费高清 | 国产在线观看一区二区三区四区| 国产色欲AV一区二区三区| 国产丝袜无码一区二区视频| 一区二区三区电影在线观看| 99精品国产一区二区三区| 中文字幕VA一区二区三区| 国产a∨精品一区二区三区不卡|