王青,俞建定,袁飛,周彬彬
(寧波大學 信息科學與工程學院, 浙江 寧波 315211)
摘要:近年來,隨著科技和工業的快速發展,絕對值編碼器在其通信技術方面也在逐步地優化與完善,其中SSI協議的輸出方式在絕對值編碼器領域中應用比較廣泛。詳細闡述了SSI協議的通信方式,設計出硬件電路,并采用Verilog語言實現了SSI通信協議。通過測試實驗,證明了該應用系統抗干擾性強、性能可靠、通信速度快,具有潛在的市場價值。
關鍵詞:絕對值編碼器;SSI協議;Verilog
0引言
近年來,編碼器應用比較多,主要應用于工業控制系統,比如電機的轉速測量、機床位置的測量、起重機上升距離的測量等,同時編碼器在市場上的規模越來越大,工業的需要量也逐步增長。在未來的幾十年里,編碼器行業將會達到高速發展的階段,將會有更多的編碼器生產廠商參與這場革命的競爭。
編碼器是將數據轉換成信號形式的一種設備,這種信號可以用來通訊、傳輸和存儲[1]。編碼器的原理是把這些物理位移變換成熟知的電信號。按工作性質劃分,編碼器可以劃分成兩大類:增量型編碼器和絕對值編碼器[2]。增量型編碼器主要應用在那些精度要求不高的儀器上。而針對那些精度要求比較高的行業,一般都是重工業,比如設備制造業、電子工業等,通常會采用絕對值編碼器。因為絕對值編碼器具有啟動速度快、數字編碼、位置唯一等特點,所以它已經被廣泛地應用在各種工業系統中[3]。隨著儀器儀表越來越智能化,人們對編碼器提出功耗低、質量好、體積小的要求,希望在絕對值編碼器的領域中有更多類型的輸出方式,讓越來越多的裝置能夠實現自動化。
早期的絕對值編碼器的輸出大多采用并行輸出方式,然而隨著科技的進步,絕對值編碼器的輸出方式也越來越豐富,出現了比如RS485、PROFIBUSDP、CAN、DeviceNet 等現場總線輸出方式、模擬信號轉換輸出方式以及SSI協議同步串行輸出方式等[4]。這幾種輸出方式都有各自的優點和缺點。并行輸出適用于短距離傳輸,其價格比較低廉;現場總線型輸出一般適用于超大規模的工業領域中,但是價格比較昂貴;而模擬信號轉換輸出方式目前應用相對比較少。這幾種輸出方式比較而言,SSI 串行輸出方式的優點比較多,比如抗干擾能力強、接線少,因此市場上應用比較廣泛。
1工作原理描述
1.1增量型編碼器工作原理
增量型編碼器的工作原理是先將位移變成具有周期性的電信號,然后把這個信號轉換成計數脈沖,通過這樣的轉變,位移就可以通過脈沖輸出的多少來測量[5]。如圖1所示,當A相超前B相時,表示正轉,反之則反轉。增量型編碼器主要依靠計數來記憶其位置,但是在突然斷電時,如果編碼器稍微移動,那么再來電時,記憶的零點就會偏移,造成不精確和記憶損失。需要增加參考點,也就是Z相,用參考位置來處理這些問題。但是此類型編碼器每次操作都要先找參考點,抗干擾能力比較差,零點累計時也有誤差。如果選用絕對值編碼器這些問題都可以得到解決。
1.2絕對值編碼器工作原理
絕對值編碼器的碼盤上有很多道光通刻線,它們依次以2線、4線、8線、16線……這樣的方式進行排列[6]。這些刻線都有兩面,分別為陰面和陽面,通過讀取每道刻線的通、暗得到一組從20~2n-1的唯一的二進制編碼(格雷碼),這就是n位絕對值編碼器[7]。每一個位置對應一個具體的數字,這個數字是絕對唯一的,只與起始和終止有關,與中間任何過程都沒有關系。當遇到突然斷電,重新啟動時不用重新再找參考點和零點,也不用像增量型編碼器那樣重新記錄脈沖的數目。任何時候想要知道它的具體位置,都可以去讀取它。這種編碼器的數據可靠、不容易受外界影響。
1.3SSI協議介紹
絕對值編碼器主要是把需要測量的位置信息傳輸給主控制系統,然后通過主控制系統來發出控制信號[8]。以前的絕對值編碼器大多采用并行輸出,在位數不多的情況下可以適用,一旦位數越來越多,則并行輸出就不適用了,因為總是出現數據不準確、錯誤等。比如在傳輸過程中,只要有一根數據線出現問題,就會影響到最終傳輸的數據,從而影響到絕對值編碼器的正常工作。所以根據實際情況,SSI協議的輸出方式比較適合。它用串行輸出來替代并行輸出,通過采用差分的方式來提高數據在傳輸過程中的可靠性,抗干擾明顯增強,同時為了通信雙方能夠準確地發送和接收數據,故采用同一個波特率。
SSI協議的通信方式如圖2所示。其采用主動讀取和接收的方式,包括同步時鐘信號CLOCK、數據信號DATA,其中同步時鐘的頻率決定了數據在傳輸過程中的速率。在工業控制應用領域中,通過實際傳輸距離的遠近來選擇需要的頻率。在同步時鐘信號的控制下,從最高位(MSB)開始傳送[9]。當遇到時鐘信號的第一個下降沿時,在Tp這段時間內,把需要發送的數據進行保存,之后遇到時鐘信號的每一個上升沿時就開始發送數據,直到所有的數據發送完即結束。然后把數據輸出這一端拉至低電平,延長Tm時間之后再把數據輸出端拉至高電平,準備等待下一個時鐘信號的到來,繼續發送數據。在不發送數據時,時鐘信號和數據端都應該保持高電平。圖2SSI通信協議
其中需要發送數據的位數決定了發送同步時鐘的個數。圖2中參數定義如下: T為時鐘頻率, Tp為數據之間傳輸間隔,Tm為單穩觸發時間,n為傳輸位數,MSB為最高有效位,LSB為最低有效位。
2系統方案設計
主控制器可以選擇51單片機、RAM微處理器和CPLD邏輯器件。單片機結構簡單,價格便宜,但是運行速度很慢,處理速度有限,抗干擾能力也不是很強;RAM微處理器功能強大,但是開發周期長,價格昂貴。要想高速傳輸,采用CPLD設計比較靈活,其處理速度比較快,抗干擾能力也很強,并且設計時用到大量的時序和邏輯運算。
2.1硬件設計
SSI電路的輸入和輸出都采用差分方式,如圖3所示,有4根信號線: CLK+、CLK-、DATA+、DATA-,其中CLK+和CLK-為時鐘輸入端,DATA+和DATA-為數據輸出端。時鐘輸入端的接收采用光耦,數據端的輸出采用422輸出芯片。圖3SSI電路設計框圖
2.2軟件設計
對于軟件部分的設計,有兩種方法可以實現SSI協議,一種方法是用單片機模擬SSI通信,另外一種是用CPLD來實現SSI通信。用單片機模擬的關鍵技術主要包括兩個方面:同步時鐘信號的準確獲取和數據起始位的準確判斷[10]。很明顯,這需要輸入端口和輸出端口,另外還需要一個定時器來實現單穩態觸發器。在輸入端口捕獲時鐘的上升脈沖,遇到時鐘的第一個下降脈沖時定時器開始工作。數據傳輸結束時定時器需要復位重新開始計數。軟件流程圖如圖4所示。
用單片機來模擬SSI通信,結構比較簡單,但是通信速度會受到約束。所以要想實現高速通信必須采用CPLD。CPLD的軟件部分設計可以分為兩個部分,一部分是單穩態觸發器,在外加脈沖的作用下,可以從一個穩定狀態翻轉到一個暫穩態。它的輸入為同步時鐘上升沿,在一段時間內如果沒有遇到上升脈沖,則將輸出信號復位。另一部分是一個并入串出的移位寄存器,在單穩態觸發器圖4程序流程圖輸出復位信號后,將需要發送的數據存入寄存器,繼續等待下一個周期的移位時鐘。并串轉換的寄存器用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結論
本文分別從硬件和軟件兩個方面進行研究和設計,實現了絕對值編碼器的SSI通信協議,設計出的SSI通信板,成功與西門子S7300系列PLC配置的SM338模塊進行通信,PLC能夠正確讀出碼值。根據市場分析,在工業控制領域中,具有SSI協議的絕對值編碼器實用性比較強,應用比較多,因此本文的研究具有潛在的市場價值。
參考文獻
[1] 張麗娟.關于電氣傳動設備手動控制增加自動模式方法[J].陰山學刊(自然科學版),2013,27(1):8183.
[2] 王仲亮,楊廣,薛秀生,等.基于RS485總線的多編碼器數據采集系統研制及改進驗證[J].測控技術,2014,33(11):144145,149.
[3] 韋鳳. 淺談光電編碼器的應用[J].科技風,2014(6):97.
[4] 陳志同. 基于SSI協議的絕對值編碼器通信接口研究[D].天津:天津理工大學,2014.
[5]肖博,李劍鋒,陳洪芳,等.多通道絕對式光電編碼器數據采集系統[J].儀表技術與傳感器,2013(1):2729.
[6] 彭雨. 基于FPGA的絕對式光電編碼器通信接口研究[D].武漢:華中科技大學,2008.
[7] 王文. 基于平臺羅經的穩定平臺控制系統研究[D].成都:電子科技大學,2009.
[8] 胡東軒. 永磁交流伺服系統多種位置檢測與集成方法研究[D].杭州:浙江理工大學,2014.
[9] 靳紅濤,趙勇進,陳朝基,等. 一種SSI接口光電編碼器數據并行采集設計方法[J].電子技術,2008,45(5):2325.
[10] 聶旭中. 編碼器用SSI協議及實現[J].洛陽師范學院學報,2010,29(2):7375.