何英武,莫元勁,韋 鳳
(廣州數(shù)控設(shè)備有限公司,廣東廣州 510530)
一種絕對式光電編碼器的通信協(xié)議設(shè)計
何英武,莫元勁,韋 鳳
(廣州數(shù)控設(shè)備有限公司,廣東廣州 510530)
編碼器是現(xiàn)代化工業(yè)設(shè)備快速發(fā)展的重要環(huán)節(jié),提出一種新的絕對式光電編碼器通信協(xié)議設(shè)計,該設(shè)計主要介紹了在三個基本工作模式下的數(shù)據(jù)傳輸格式,以及各數(shù)據(jù)幀的具體格式;同時,還對各模式的運(yùn)行響應(yīng)時間進(jìn)行計算;最后,將該通信協(xié)議應(yīng)用到國產(chǎn)編碼器中,能完全實(shí)現(xiàn)最初設(shè)計功能。設(shè)計的編碼器通信協(xié)議具備傳輸速度較快、電氣連接結(jié)構(gòu)較簡單以及較高穩(wěn)定性等特點(diǎn),可廣泛應(yīng)用于各類編碼器中。
編碼器;通信協(xié)議;數(shù)據(jù)幀格式;時序
隨著精密數(shù)控機(jī)床、工業(yè)機(jī)器人等現(xiàn)代化工業(yè)化設(shè)備的快速發(fā)展,對伺服驅(qū)動系統(tǒng)提出了越來越高的要求,高速、高精度是伺服驅(qū)動系統(tǒng)未來的發(fā)展方向,而編碼器作為伺服驅(qū)動系統(tǒng)最常用的位置檢測環(huán)節(jié),毫無疑問是提高其速度、精度的關(guān)鍵環(huán)節(jié)之一。
光電編碼器是一種通過光電轉(zhuǎn)換將輸出軸上的機(jī)械幾何位移量轉(zhuǎn)換成脈沖或數(shù)字量的傳感器[1],它具有體積小、分辨度高、壽命長等特點(diǎn),是目前伺服系統(tǒng)中應(yīng)用最多的傳感器。絕對式編碼器的每一個位置對應(yīng)一個確定的數(shù)字碼,可以直接讀出角度坐標(biāo)的絕對值,沒有累積誤差,電源切除后位置信息不會丟失,它的示值只與測量的起始和終止位置有關(guān),而與測量的中間過程無關(guān),因此,絕對式光電編碼器更適合應(yīng)用于高速、高精度的伺服驅(qū)動系統(tǒng)。本文將以絕對式光電編碼器為對象,對其通信協(xié)議進(jìn)行設(shè)計。
絕對式光電編碼器[2]是直接輸出數(shù)字量的傳感器,它是由光電碼盤和光電檢測裝置組成,在它的圓形碼盤上沿徑向有若干同心碼道,碼盤上的碼道數(shù)就是它的二進(jìn)制數(shù)碼的位數(shù),工作時,碼盤的一側(cè)放置光源,另一側(cè)放置光電接收裝置[3],如圖1所示。
由于光電碼盤與電動機(jī)同軸,電動機(jī)旋轉(zhuǎn)時,碼盤與電動機(jī)同速旋轉(zhuǎn),經(jīng)發(fā)光二極管等電子元件組成的檢測裝置檢測輸出若干脈沖信號,通過計算每秒光電編碼器輸出脈沖的個數(shù)就能反映當(dāng)前電動機(jī)的轉(zhuǎn)速。當(dāng)碼盤處于不同位置時,光電元件接收光信號,并轉(zhuǎn)換出相應(yīng)的電信號,形成二進(jìn)制數(shù)[4]。這種編碼器的特點(diǎn)是不要計數(shù)器,在轉(zhuǎn)軸的任意位置都可讀出一個固定的與位置相對應(yīng)的數(shù)字碼。顯然,碼道越多,分辨率就越高,對于一個具有N位二進(jìn)制分辨率的編碼器,理論上其碼盤必須有N條碼道。
圖1 光電編碼器原理示意圖
所謂編碼器通信協(xié)議,是指編碼器與后續(xù)電子設(shè)備之間的通信,這里的后續(xù)電子設(shè)備可以是單片機(jī)、CPLD/FPGA、DSP、ARM或ASIC等大家熟知的電子器件[1]。在研究了國際上現(xiàn)有的多種通信協(xié)議后,認(rèn)為多摩川公司的通信協(xié)議具有電氣連線簡單、通信可靠等特點(diǎn),因此,本文在多摩川編碼器通信協(xié)議的基礎(chǔ)上,提出一種新的絕對式編碼器通信協(xié)議設(shè)計,該通信協(xié)議的設(shè)計包含但不僅限于多摩川通信協(xié)議,下面將從電氣連接和通信協(xié)議數(shù)據(jù)幀兩方面進(jìn)行介紹。
3.1 電氣連接
絕對式光電編碼器的電氣連接如圖2所示。兩根數(shù)據(jù)線采用RS-485接口,通過一塊RS-485驅(qū)動芯片與后續(xù)電子設(shè)備通信,驅(qū)動芯片有一個發(fā)送器和接收器。后續(xù)電子設(shè)備通過切換驅(qū)動芯片的工作狀態(tài),向編碼器發(fā)送數(shù)據(jù),或者接收編碼器發(fā)送的數(shù)據(jù)。
3.2 通信協(xié)議數(shù)據(jù)幀
后續(xù)電子設(shè)備與編碼器通信采取“一問一答”[5]的方式,由后續(xù)電子設(shè)備向編碼器發(fā)送相應(yīng)的控制指令,編碼器根據(jù)接收到的不同控制指令反饋不同的數(shù)據(jù),本文介紹的通信協(xié)議主要包括三種模式:(1)讀取編碼器信息模式;(2)讀取編碼器內(nèi)EEPROM模式;(3)寫入編碼器內(nèi)EEPROM模式。
3.2.1 通信協(xié)議模式
(1)讀取編碼器信息模式
讀取編碼器信息模式如圖3所示,由后續(xù)電子設(shè)備向編碼器發(fā)送“讀取編碼器信息”控制指令,編碼器接收到該控制指令,立即鎖定當(dāng)前的數(shù)據(jù)值,并按照設(shè)定的算法進(jìn)行運(yùn)算和校驗(yàn),最終經(jīng)過處理的數(shù)據(jù)值由編碼器反饋至后續(xù)電子設(shè)備。讀取編碼器信息模式是編碼器最主要的工作模式。
后續(xù)電子設(shè)備向編碼器發(fā)送控制幀KZ,編碼器根據(jù)該控制幀KZ的要求,輸出控制幀KZ、狀態(tài)幀ZT、數(shù)據(jù)幀SJn和數(shù)據(jù)校驗(yàn)幀CRC。其中使用數(shù)據(jù)幀SJn的個數(shù)要根據(jù)發(fā)出的控制指令要求決定,本設(shè)計中n=4~10。
圖2 電氣連接圖
圖3 讀取編碼器信息數(shù)據(jù)幀格式圖
(2)讀取編碼器內(nèi)EEPROM模式
讀取編碼器內(nèi)EEPROM模式如圖4所示,由后續(xù)電子設(shè)備向編碼器發(fā)送“讀取編碼器內(nèi)EE?PROM”指令,讀取編碼器內(nèi)EEPROM指定地址上的數(shù)據(jù),編碼器按該指令輸出數(shù)據(jù)。
圖4 讀取編碼器內(nèi)EEPROM數(shù)據(jù)幀格式圖
后續(xù)電子設(shè)備向編碼器發(fā)送控制幀KZ、地址幀DZ和數(shù)據(jù)校驗(yàn)幀CRC,其中控制幀KZ包含要求讀取EEPROM的控制指令,編碼器輸出控制幀KZ、地址幀DZ、數(shù)據(jù)幀ESJ和數(shù)據(jù)校驗(yàn)幀CRC。
(3)寫入編碼器內(nèi)EEPROM模式
寫入編碼器內(nèi)EEPROM模式如圖5所示,由后續(xù)電子設(shè)備向編碼器發(fā)送“寫入編碼器內(nèi)EE? PROM”指令,將相應(yīng)數(shù)據(jù)寫入編碼器內(nèi)EE?PROM的指定位置上,以實(shí)現(xiàn)對編碼器內(nèi)EE?PROM的數(shù)據(jù)變更。
圖5 寫入編碼器內(nèi)EEPROM數(shù)據(jù)幀格式圖
后續(xù)電子設(shè)備向編碼器發(fā)送控制幀KZ、地址幀DZ、數(shù)據(jù)幀ESJ和數(shù)據(jù)校驗(yàn)幀CRC,其中控制幀KZ包含要求寫入EEPROM的控制指令,將數(shù)據(jù)幀ESJ的數(shù)據(jù)寫入地址幀DZ指定的位置,編碼器根據(jù)指令相應(yīng)輸出控制幀KZ、地址幀DZ、數(shù)據(jù)幀ESJ和數(shù)據(jù)校驗(yàn)幀CRC。
3.2.2 各數(shù)據(jù)幀格式
在本設(shè)計中,各數(shù)據(jù)幀的位數(shù)不是固定的,根據(jù)具體的功能來設(shè)定,同時,每個數(shù)據(jù)幀以“0”為起始位,“1”為結(jié)束位,起始位和終止位并不代表編碼信息內(nèi)容。
(1)控制幀KZ
控制幀KZ的格式如圖6所示,控制幀包含相應(yīng)的控制命令,用來控制編碼器的工作狀態(tài)。傳輸過程中沒有時鐘同步,同步碼用來同步傳輸,在沒有數(shù)據(jù)傳輸時,數(shù)據(jù)線拉高為高電平,當(dāng)編碼器或電子設(shè)備端檢測到低電平時,即認(rèn)為檢測到數(shù)據(jù)幀,通信速率可變化,根據(jù)應(yīng)用場合不同,可設(shè)置高低不同的通信速率,一般設(shè)置在2 Mbit/s~10 Mbit/s之間,在本文中通信速率默認(rèn)為5 Mbit/s;控制指令bit的個數(shù)可以根據(jù)實(shí)際要求設(shè)定,本文設(shè)計的bit為4~8個,為便于計算,圖6表示4個bit的情況,另外還有一個控制命令校驗(yàn)位kjy,是對4個bit控制命令的奇偶校驗(yàn),以保證信息發(fā)送可靠,控制指令具體內(nèi)容見表1。
(2)狀態(tài)幀ZT
狀態(tài)幀ZT格式如圖7所示。狀態(tài)幀包含了編碼器相應(yīng)的工作狀態(tài)。信息位bit個數(shù)可設(shè)為4~8個bit,為便于計算,圖7中表示4個bit位的格式情況。表2中列出部分具體的內(nèi)容定義;編碼錯誤報警位cb0和cb1,通信報警位tb0和tb1,正常狀態(tài)置“0”,當(dāng)置“1”時表示的具體報警情況見表3。
圖6 控制幀格式
表1 控制指令功能表
圖7 狀態(tài)幀格式
表2 狀態(tài)信息表
表3 報警信息表
(3)數(shù)據(jù)幀SJn(DZ/ESJ)
數(shù)據(jù)幀格式如圖8所示。數(shù)據(jù)幀SJn中包含編碼信息,具體為單圈數(shù)據(jù)和多圈數(shù)據(jù)。數(shù)據(jù)位包含8個bit,由于編碼器單圈位數(shù)和多圈位數(shù)往往在十位以上,所以在表示多位單圈數(shù)據(jù)或多圈數(shù)據(jù)時,需要用幾個數(shù)據(jù)幀表示。例如當(dāng)一個絕對式光電編碼器的單圈位數(shù)為17位,故至少需3個數(shù)據(jù)幀表示單圈數(shù)據(jù)。
圖8 數(shù)據(jù)幀格式
編碼數(shù)據(jù)采用低位對齊的方式,即編碼信息由低位從第一個數(shù)據(jù)幀第一個數(shù)據(jù)位開始傳輸。數(shù)據(jù)幀多出編碼位數(shù)的數(shù)據(jù)位則置“0”。編碼器根據(jù)后續(xù)電子設(shè)備發(fā)送的控制幀中控制命令決定輸出數(shù)據(jù)幀的內(nèi)容,包括單圈數(shù)據(jù),多圈數(shù)據(jù)以及數(shù)據(jù)幀的個數(shù),最少輸出1個數(shù)據(jù)幀,最多輸出n個數(shù)據(jù)幀,數(shù)據(jù)幀設(shè)置與數(shù)據(jù)位信息見表4,另外,地址幀DZ和數(shù)據(jù)幀ESJ的格式與數(shù)據(jù)幀SJn相同。
表4 數(shù)據(jù)幀信息表
表4中:ABS0~ABS2表示單圈數(shù)據(jù),其中,ABS0/ABS2表示在24個bit里的低位/高位數(shù)據(jù),例如,表示一個絕對式光電編碼器的單圈位數(shù)為17位,ABS0和ABS1僅有16位數(shù)據(jù),因此,ABS2第一個數(shù)據(jù)位要占用,其余高七位的數(shù)據(jù)置0。
ABM0~ABM2表示多圈數(shù)據(jù),數(shù)據(jù)幀的應(yīng)用原理同上述單圈數(shù)據(jù)。
SJn中,n=4~10。
ESJ表示讀/寫EEPROM的數(shù)據(jù)。
(4)數(shù)據(jù)校驗(yàn)幀CRC
CRC幀具體格式如圖9所示,數(shù)據(jù)校驗(yàn)幀包含CRC校驗(yàn)碼,接收完數(shù)據(jù)時可通過CRC校驗(yàn)檢測數(shù)據(jù)的完整性。CRC校驗(yàn)幀的數(shù)據(jù)位為m個bit,m=8~16,為方便計算,圖9表示8個bit的數(shù)據(jù)情況,CRC編碼校驗(yàn)的計算公式可根據(jù)校驗(yàn)要求設(shè)定,本文初步設(shè)計的兩個計算公式為G(X)= Xm+Xm-5+1或G(X)=Xm+1。起始位和結(jié)束位不參與校驗(yàn)運(yùn)算。
圖9 校驗(yàn)幀格式
3.2.3 通信協(xié)議時序邏輯
本設(shè)計中編碼器在通信過程中無時鐘同步,傳輸速率默認(rèn)是5 Mbit/s,若有P個bit,則傳輸時間的計算式為:
t=200 ns/bit×p bit
例如,計算控制幀的傳輸時間(為便于計算,上述各數(shù)據(jù)幀的格式在圖中表示均為10個bit,本文的所有幀均以10 bit計算,但實(shí)際應(yīng)用中可根據(jù)需要改變各幀的格式長度),控制幀為10 bit,則控制幀的傳輸時間為t=200 ns/bit×10 bit= 2 000 ns=2μs。另外,編碼器在接收后續(xù)電子設(shè)備發(fā)送的數(shù)據(jù)后,設(shè)定2~3μs后反饋輸出數(shù)據(jù),根據(jù)3.2.1所述的三種工作模式下的數(shù)據(jù)幀格式,推算出整個傳輸過程中的時序關(guān)系如圖10所示。
圖10 傳輸模式時序圖
采用本文介紹的通信協(xié)議設(shè)計,應(yīng)用到國產(chǎn)絕對式光電編碼器上,應(yīng)用設(shè)備實(shí)物見圖11,圖11中設(shè)備由一臺編碼器和后續(xù)電子設(shè)備組成。
圖11 應(yīng)用設(shè)備實(shí)物圖
按照上述三個工作模式的設(shè)計,進(jìn)行仿真測試,讀取編碼器信息波形如圖12,讀取編碼器內(nèi)EEPROM波形如圖13,寫入編碼器內(nèi)EEPROM波形如圖14。
圖12 讀取編碼器信息波形
圖13 讀取編碼器內(nèi)EEPROM波形
圖14 寫入編碼器內(nèi)EEPROM波形
通過與國產(chǎn)編碼器配合使用測試,證明用上述該通信協(xié)議,編碼器與后續(xù)電子設(shè)備能完全實(shí)現(xiàn)前期設(shè)計的功能。即使是國家要求的三級/四級標(biāo)準(zhǔn)脈沖群干擾和靜電干擾的環(huán)境,通過該協(xié)議進(jìn)行通信,仍能保持?jǐn)?shù)據(jù)通信的正確,并保證數(shù)據(jù)傳輸?shù)姆€(wěn)定與可靠性。
本文設(shè)計的絕對式光電編碼器通信協(xié)議,采用的異步傳輸模式,通訊速率默認(rèn)為5 Mbit/s,傳輸速度較快;電氣連接結(jié)構(gòu)較簡單,易于技術(shù)人員的操作和檢查;通信模式的數(shù)據(jù)幀設(shè)計簡單,數(shù)據(jù)格式內(nèi)部設(shè)置豐富,可根據(jù)實(shí)際要求調(diào)整數(shù)據(jù)幀格式長度,適用于不同類型的編碼器;另外,經(jīng)過實(shí)際驗(yàn)證,證明了該通信協(xié)議傳輸?shù)姆€(wěn)定性和可靠性。因此,本文設(shè)計的編碼器通信協(xié)議可廣泛應(yīng)用于各類編碼器,在工業(yè)化生產(chǎn)中發(fā)揮積極作用。
[1]彭雨.基于FPGA的絕對式光電編碼器通信接口研究[D].武漢:華中科技大學(xué),2011.
[2]蘇海冰,劉恩海.單圈絕對式編碼器的研制[J].光學(xué)精密工程,2002(10):74-78.
[3]田岳,和文國,李彥林,等.低成本的高分辨率磁編碼器的研制[J].傳感器世界,1999(9):7-11.
[4]姜義.光電編碼器的原理與應(yīng)用[J].機(jī)床電器,2010(2):25-28.
[5]謝希仁.計算機(jī)網(wǎng)絡(luò)[M].北京:電子工業(yè)出版社,2003.
A Communication Protocol Design of the Absolute Photoelectric Encoder
HE Ying-wu,MO Yuan-jin,WEI Feng
(GSK CNC Equipment Company Limited,Guangzhou510530,China)
Encoder is the important segment of the developing highly of the modernize industry equipment.A new communication protocol design of the absolute photoelectric encoder is proposed in this paper.The information transmission forms of the three basic working modes are introduced,the specific data forms of information are introduced too,then the timing requirement of the working modes are calculated,last,the prime design functions of the domestic encoder can be achieved completely by using the new communication protocol design.Information transferring quickly,structure of electrical connecting simply and working stability are the characteristics of the new communication protocol design which can be used in various encoders.
encoder;communication protocol;frame structure;timing requirement
TP212
A
1009-9492(2014)02-0046-06
10.3969/j.issn.1009-9492.2014.02.014
何英武,男,1963年生,四川人,碩士,工程師。研究領(lǐng)域:數(shù)控系統(tǒng)以及數(shù)控機(jī)床相關(guān)設(shè)備。
(編輯:向 飛)
2013-08-31