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

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

  (寧波大學(xué) 信息科學(xué)與工程學(xué)院, 浙江 寧波 315211)

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

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

0引言

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

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

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

1工作原理描述

  1.1增量型編碼器工作原理

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

006.jpg

  1.2絕對(duì)值編碼器工作原理

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

  1.3SSI協(xié)議介紹

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

007.jpg

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

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

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

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

  2.1硬件設(shè)計(jì)

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

008.jpg

  2.2軟件設(shè)計(jì)

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

009.jpg

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

  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é)論

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

  參考文獻(xiàn)

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

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

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

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

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

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

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

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

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

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


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