《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應(yīng)用 > 采用SSI協(xié)議實現(xiàn)的絕對值編碼器
采用SSI協(xié)議實現(xiàn)的絕對值編碼器
2016年微型機與應(yīng)用第13期
王青,,俞建定,袁飛,,周彬彬
寧波大學(xué) 信息科學(xué)與工程學(xué)院, 浙江 寧波 315211)
摘要: 近年來,,隨著科技和工業(yè)的快速發(fā)展,,絕對值編碼器在其通信技術(shù)方面也在逐步地優(yōu)化與完善,,其中SSI協(xié)議的輸出方式在絕對值編碼器領(lǐng)域中應(yīng)用比較廣泛,。詳細闡述了SSI協(xié)議的通信方式,,設(shè)計出硬件電路,,并采用Verilog語言實現(xiàn)了SSI通信協(xié)議,。通過測試實驗,證明了該應(yīng)用系統(tǒng)抗干擾性強,、性能可靠,、通信速度快,具有潛在的市場價值,。
Abstract:
Key words :

  王青,,俞建定,袁飛,,周彬彬

 ?。▽幉ù髮W(xué) 信息科學(xué)與工程學(xué)院, 浙江 寧波 315211)

  摘要:近年來,隨著科技和工業(yè)的快速發(fā)展,,絕對值編碼器在其通信技術(shù)方面也在逐步地優(yōu)化與完善,,其中SSI協(xié)議的輸出方式在絕對值編碼器領(lǐng)域中應(yīng)用比較廣泛。詳細闡述了SSI協(xié)議的通信方式,,設(shè)計出硬件電路,,并采用Verilog語言實現(xiàn)了SSI通信協(xié)議。通過測試實驗,,證明了該應(yīng)用系統(tǒng)抗干擾性強、性能可靠,、通信速度快,,具有潛在的市場價值。

  關(guān)鍵詞:絕對值編碼器,;SSI協(xié)議,;Verilog

0引言

  近年來,,編碼器應(yīng)用比較多,主要應(yīng)用于工業(yè)控制系統(tǒng),,比如電機的轉(zhuǎn)速測量,、機床位置的測量、起重機上升距離的測量等,,同時編碼器在市場上的規(guī)模越來越大,,工業(yè)的需要量也逐步增長。在未來的幾十年里,,編碼器行業(yè)將會達到高速發(fā)展的階段,,將會有更多的編碼器生產(chǎn)廠商參與這場革命的競爭。

  編碼器是將數(shù)據(jù)轉(zhuǎn)換成信號形式的一種設(shè)備,,這種信號可以用來通訊,、傳輸和存儲[1]。編碼器的原理是把這些物理位移變換成熟知的電信號,。按工作性質(zhì)劃分,,編碼器可以劃分成兩大類:增量型編碼器和絕對值編碼器[2]。增量型編碼器主要應(yīng)用在那些精度要求不高的儀器上,。而針對那些精度要求比較高的行業(yè),,一般都是重工業(yè),比如設(shè)備制造業(yè),、電子工業(yè)等,,通常會采用絕對值編碼器。因為絕對值編碼器具有啟動速度快,、數(shù)字編碼,、位置唯一等特點,所以它已經(jīng)被廣泛地應(yīng)用在各種工業(yè)系統(tǒng)中[3],。隨著儀器儀表越來越智能化,,人們對編碼器提出功耗低、質(zhì)量好,、體積小的要求,,希望在絕對值編碼器的領(lǐng)域中有更多類型的輸出方式,讓越來越多的裝置能夠?qū)崿F(xiàn)自動化,。

  早期的絕對值編碼器的輸出大多采用并行輸出方式,,然而隨著科技的進步,絕對值編碼器的輸出方式也越來越豐富,,出現(xiàn)了比如RS485,、PROFIBUSDP、CAN、DeviceNet 等現(xiàn)場總線輸出方式,、模擬信號轉(zhuǎn)換輸出方式以及SSI協(xié)議同步串行輸出方式等[4],。這幾種輸出方式都有各自的優(yōu)點和缺點。并行輸出適用于短距離傳輸,,其價格比較低廉,;現(xiàn)場總線型輸出一般適用于超大規(guī)模的工業(yè)領(lǐng)域中,但是價格比較昂貴,;而模擬信號轉(zhuǎn)換輸出方式目前應(yīng)用相對比較少,。這幾種輸出方式比較而言,SSI 串行輸出方式的優(yōu)點比較多,,比如抗干擾能力強,、接線少,因此市場上應(yīng)用比較廣泛,。

1工作原理描述

  1.1增量型編碼器工作原理

  增量型編碼器的工作原理是先將位移變成具有周期性的電信號,,然后把這個信號轉(zhuǎn)換成計數(shù)脈沖,通過這樣的轉(zhuǎn)變,,位移就可以通過脈沖輸出的多少來測量[5],。如圖1所示,當(dāng)A相超前B相時,,表示正轉(zhuǎn),,反之則反轉(zhuǎn)。增量型編碼器主要依靠計數(shù)來記憶其位置,,但是在突然斷電時,,如果編碼器稍微移動,那么再來電時,,記憶的零點就會偏移,,造成不精確和記憶損失。需要增加參考點,,也就是Z相,,用參考位置來處理這些問題。但是此類型編碼器每次操作都要先找參考點,,抗干擾能力比較差,,零點累計時也有誤差。如果選用絕對值編碼器這些問題都可以得到解決,?!?/p>

006.jpg

  1.2絕對值編碼器工作原理

  絕對值編碼器的碼盤上有很多道光通刻線,它們依次以2線,、4線,、8線、16線……這樣的方式進行排列[6]。這些刻線都有兩面,,分別為陰面和陽面,通過讀取每道刻線的通,、暗得到一組從20~2n-1的唯一的二進制編碼(格雷碼),,這就是n位絕對值編碼器[7]。每一個位置對應(yīng)一個具體的數(shù)字,,這個數(shù)字是絕對唯一的,,只與起始和終止有關(guān),與中間任何過程都沒有關(guān)系,。當(dāng)遇到突然斷電,,重新啟動時不用重新再找參考點和零點,也不用像增量型編碼器那樣重新記錄脈沖的數(shù)目,。任何時候想要知道它的具體位置,,都可以去讀取它。這種編碼器的數(shù)據(jù)可靠,、不容易受外界影響,。

  1.3SSI協(xié)議介紹

  絕對值編碼器主要是把需要測量的位置信息傳輸給主控制系統(tǒng),然后通過主控制系統(tǒng)來發(fā)出控制信號[8],。以前的絕對值編碼器大多采用并行輸出,,在位數(shù)不多的情況下可以適用,一旦位數(shù)越來越多,,則并行輸出就不適用了,,因為總是出現(xiàn)數(shù)據(jù)不準確、錯誤等,。比如在傳輸過程中,,只要有一根數(shù)據(jù)線出現(xiàn)問題,就會影響到最終傳輸?shù)臄?shù)據(jù),,從而影響到絕對值編碼器的正常工作,。所以根據(jù)實際情況,SSI協(xié)議的輸出方式比較適合,。它用串行輸出來替代并行輸出,,通過采用差分的方式來提高數(shù)據(jù)在傳輸過程中的可靠性,抗干擾明顯增強,,同時為了通信雙方能夠準確地發(fā)送和接收數(shù)據(jù),,故采用同一個波特率。

007.jpg

  SSI協(xié)議的通信方式如圖2所示,。其采用主動讀取和接收的方式,,包括同步時鐘信號CLOCK、數(shù)據(jù)信號DATA,其中同步時鐘的頻率決定了數(shù)據(jù)在傳輸過程中的速率,。在工業(yè)控制應(yīng)用領(lǐng)域中,,通過實際傳輸距離的遠近來選擇需要的頻率。在同步時鐘信號的控制下,,從最高位(MSB)開始傳送[9],。當(dāng)遇到時鐘信號的第一個下降沿時,在Tp這段時間內(nèi),,把需要發(fā)送的數(shù)據(jù)進行保存,,之后遇到時鐘信號的每一個上升沿時就開始發(fā)送數(shù)據(jù),直到所有的數(shù)據(jù)發(fā)送完即結(jié)束,。然后把數(shù)據(jù)輸出這一端拉至低電平,,延長Tm時間之后再把數(shù)據(jù)輸出端拉至高電平,準備等待下一個時鐘信號的到來,,繼續(xù)發(fā)送數(shù)據(jù),。在不發(fā)送數(shù)據(jù)時,時鐘信號和數(shù)據(jù)端都應(yīng)該保持高電平,。圖2SSI通信協(xié)議

  其中需要發(fā)送數(shù)據(jù)的位數(shù)決定了發(fā)送同步時鐘的個數(shù),。圖2中參數(shù)定義如下: T為時鐘頻率, Tp為數(shù)據(jù)之間傳輸間隔,Tm為單穩(wěn)觸發(fā)時間,,n為傳輸位數(shù),,MSB為最高有效位,LSB為最低有效位,。

2系統(tǒng)方案設(shè)計

  主控制器可以選擇51單片機,、RAM微處理器和CPLD邏輯器件。單片機結(jié)構(gòu)簡單,,價格便宜,,但是運行速度很慢,處理速度有限,,抗干擾能力也不是很強,;RAM微處理器功能強大,但是開發(fā)周期長,,價格昂貴,。要想高速傳輸,采用CPLD設(shè)計比較靈活,,其處理速度比較快,,抗干擾能力也很強,并且設(shè)計時用到大量的時序和邏輯運算,。

  2.1硬件設(shè)計

  SSI電路的輸入和輸出都采用差分方式,,如圖3所示,,有4根信號線: CLK+、CLK-,、DATA+,、DATA-,其中CLK+和CLK-為時鐘輸入端,,DATA+和DATA-為數(shù)據(jù)輸出端,。時鐘輸入端的接收采用光耦,數(shù)據(jù)端的輸出采用422輸出芯片,。圖3SSI電路設(shè)計框圖

008.jpg

  2.2軟件設(shè)計

  對于軟件部分的設(shè)計,有兩種方法可以實現(xiàn)SSI協(xié)議,,一種方法是用單片機模擬SSI通信,,另外一種是用CPLD來實現(xiàn)SSI通信。用單片機模擬的關(guān)鍵技術(shù)主要包括兩個方面:同步時鐘信號的準確獲取和數(shù)據(jù)起始位的準確判斷[10],。很明顯,,這需要輸入端口和輸出端口,另外還需要一個定時器來實現(xiàn)單穩(wěn)態(tài)觸發(fā)器,。在輸入端口捕獲時鐘的上升脈沖,,遇到時鐘的第一個下降脈沖時定時器開始工作。數(shù)據(jù)傳輸結(jié)束時定時器需要復(fù)位重新開始計數(shù),。軟件流程圖如圖4所示,。

009.jpg

  用單片機來模擬SSI通信,結(jié)構(gòu)比較簡單,,但是通信速度會受到約束,。所以要想實現(xiàn)高速通信必須采用CPLD。CPLD的軟件部分設(shè)計可以分為兩個部分,,一部分是單穩(wěn)態(tài)觸發(fā)器,,在外加脈沖的作用下,可以從一個穩(wěn)定狀態(tài)翻轉(zhuǎn)到一個暫穩(wěn)態(tài),。它的輸入為同步時鐘上升沿,,在一段時間內(nèi)如果沒有遇到上升脈沖,則將輸出信號復(fù)位,。另一部分是一個并入串出的移位寄存器,,在單穩(wěn)態(tài)觸發(fā)器圖4程序流程圖輸出復(fù)位信號后,將需要發(fā)送的數(shù)據(jù)存入寄存器,,繼續(xù)等待下一個周期的移位時鐘,。并串轉(zhuǎn)換的寄存器用Verilog語言描述如下:

  Always@ (posedge clock or posedge load)

  Begin

  If(load==1.b1)

  Out<=indata[24: 0];

  Else

  Out[24: 0]<=Out{[23: 1], 1.b0}

  End

3結(jié)論

  本文分別從硬件和軟件兩個方面進行研究和設(shè)計,實現(xiàn)了絕對值編碼器的SSI通信協(xié)議,,設(shè)計出的SSI通信板,,成功與西門子S7300系列PLC配置的SM338模塊進行通信,,PLC能夠正確讀出碼值。根據(jù)市場分析,,在工業(yè)控制領(lǐng)域中,,具有SSI協(xié)議的絕對值編碼器實用性比較強,應(yīng)用比較多,,因此本文的研究具有潛在的市場價值,。

  參考文獻

  [1] 張麗娟.關(guān)于電氣傳動設(shè)備手動控制增加自動模式方法[J].陰山學(xué)刊(自然科學(xué)版),2013,27(1):8183.

 ?。?] 王仲亮,楊廣,薛秀生,等.基于RS485總線的多編碼器數(shù)據(jù)采集系統(tǒng)研制及改進驗證[J].測控技術(shù),2014,33(11):144145,,149.

  [3] 韋鳳. 淺談光電編碼器的應(yīng)用[J].科技風(fēng),2014(6):97.

 ?。?] 陳志同. 基于SSI協(xié)議的絕對值編碼器通信接口研究[D].天津:天津理工大學(xué),2014.

 ?。?]肖博,李劍鋒,陳洪芳,等.多通道絕對式光電編碼器數(shù)據(jù)采集系統(tǒng)[J].儀表技術(shù)與傳感器,2013(1):2729.

  [6] 彭雨. 基于FPGA的絕對式光電編碼器通信接口研究[D].武漢:華中科技大學(xué),2008.

 ?。?] 王文. 基于平臺羅經(jīng)的穩(wěn)定平臺控制系統(tǒng)研究[D].成都:電子科技大學(xué),2009.

 ?。?] 胡東軒. 永磁交流伺服系統(tǒng)多種位置檢測與集成方法研究[D].杭州:浙江理工大學(xué),2014.

  [9] 靳紅濤,趙勇進,陳朝基,等. 一種SSI接口光電編碼器數(shù)據(jù)并行采集設(shè)計方法[J].電子技術(shù),2008,45(5):2325.

 ?。?0] 聶旭中. 編碼器用SSI協(xié)議及實現(xiàn)[J].洛陽師范學(xué)院學(xué)報,2010,29(2):7375.


此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。