EnDat接口是HEIDENHAIN專為編碼器設(shè)計(jì)的數(shù)字式,、全雙工同步串行的數(shù)據(jù)傳輸協(xié)議,具有傳輸速度快,、功能強(qiáng)大,、連線簡單、抗干擾能力強(qiáng)等優(yōu)點(diǎn),,是編碼器,、光柵尺數(shù)據(jù)傳輸?shù)耐ㄓ媒涌凇S捎谑褂昧舜袀鬏敺绞?,所以只需四條信號線,,在后續(xù)電子設(shè)備的時鐘激勵下,數(shù)據(jù)信息被同步傳輸,。數(shù)據(jù)類型(位置值,、參數(shù)、診斷信息等)由后續(xù)電子設(shè)備發(fā)送給編碼器的模式指令選擇決定,。編碼器利用自然二進(jìn)制,、循環(huán)二進(jìn)制(格雷碼)或PRC碼對碼盤上的物理刻線進(jìn)行光電轉(zhuǎn)換,將連接軸的轉(zhuǎn)動角度量轉(zhuǎn)換成相應(yīng)的電脈沖序列并以數(shù)字量輸出,。它具有體積小,、精度高、接口數(shù)字化及絕對定位等優(yōu)點(diǎn),,被廣泛應(yīng)用于轉(zhuǎn)臺,、機(jī)器人、數(shù)控機(jī)床和高精度伺服系統(tǒng)等諸多領(lǐng)域,。
1 EnDat接口介紹
1.1 EnDat接口的特點(diǎn)
(1)高性能低成本:通用的接口適用于所有的增量和絕對式編碼器,,更經(jīng)濟(jì)的電能消耗,小的尺寸和緊湊的連接方式,,快速系統(tǒng)配置,,零點(diǎn)可根據(jù)偏置值浮動。
(2)更好的信號質(zhì)量:編碼器內(nèi)部特別的優(yōu)化提高了系統(tǒng)精度,,為數(shù)控系統(tǒng)提供更好的輪廓精度,。
(3)更好的實(shí)用性:自動系統(tǒng)配置功能;數(shù)字信號提高了系統(tǒng)的可靠性,;監(jiān)控與診斷信息有利于系統(tǒng)的安全,;冗余碼校驗(yàn)有利于可靠的信號傳輸。
(4)提高了系統(tǒng)的安全性:兩個獨(dú)立的位置信息及錯誤信息位,,數(shù)據(jù)的校驗(yàn)和應(yīng)答,。
(5)適用于先進(jìn)的技術(shù)發(fā)展:(高的分辨率、短的控制周期,,最快16 M時鐘,,安全設(shè)計(jì)理念)適用于直接驅(qū)動技術(shù)。
1.2 EnDa2.2編碼器性能的提高
(1)傳輸位置值與附加信息可同時傳輸:附加信息的類型可通過存儲地址選擇碼選擇,。
(2)編碼器數(shù)據(jù)存儲區(qū)域包括編碼器制造商參數(shù),、OEM廠商參數(shù)、運(yùn)行參數(shù),、運(yùn)行狀態(tài),,便于系統(tǒng)實(shí)現(xiàn)參數(shù)配置。
(3)EnDa2.2編碼器實(shí)現(xiàn)了全數(shù)字傳輸,,增量信號的處理在編碼器內(nèi)部完成(內(nèi)置14 Bit細(xì)分),,提高了信號傳輸?shù)馁|(zhì)量和可靠性,可實(shí)現(xiàn)更高的分辨率,。
(4)監(jiān)控和診斷功能,,報(bào)警條件包括:光源失效、信號幅值不足,、位置計(jì)算錯誤,、運(yùn)行電壓太低或太高、電流消耗太大等,;當(dāng)編碼器的一些極限值被接近或超過時提供警告信號,。
(5)更寬的電壓范圍(3.6~14 V)和傳輸速率(16 M)。
1.3 時序和OEM數(shù)據(jù)存儲
在每一幀同步數(shù)據(jù)傳輸時一個數(shù)據(jù)包被發(fā)送,,傳輸循環(huán)從時鐘的第一個下降沿開始測量值被保存,,計(jì)算位置值。在兩個時鐘脈沖(2T)后,,后續(xù)電子設(shè)備發(fā)送模式指令“編碼器傳輸位置值”(帶或不帶附加信息),。在計(jì)算出了絕對位置值后(見圖2),,從起始位開始編碼器向后續(xù)電子設(shè)備傳輸數(shù)據(jù),后續(xù)的錯誤位F1和F2(只存在于EnDa2.2指令中)是為所有的監(jiān)控功能和故障監(jiān)控服務(wù)的群組信號,,他們的生成相互獨(dú)立,,用來表示可能導(dǎo)致不正確位置信息的編碼器故障。導(dǎo)致故障的確切原因保存在“運(yùn)行狀態(tài)”存儲區(qū),,可以被后續(xù)電子設(shè)備查詢,。
從最低位開始,絕對位置值被傳輸,,數(shù)據(jù)的長度由使用的編碼器類型決定,。傳輸位置值所需的時鐘脈沖數(shù)保存在編碼器制造商的參數(shù)中。位置值數(shù)據(jù)的傳輸以循環(huán)冗余檢測碼結(jié)束,。
位置值如果帶附加信息,,緊接在位置值后的是附加信息1和2,他們也各以一個CRC結(jié)束(見圖3),。附加信息的內(nèi)容由存儲區(qū)的選擇地址決定,,然后在后面的采樣周期里被傳輸。在后續(xù)的傳輸中一直傳輸該信息,,直到新的存儲區(qū)被選擇,。在數(shù)據(jù)字的結(jié)尾,時鐘信號必須置高電平,。10~30μs或1.25~3.75μs(EnDat可編程的恢復(fù)時間tm)后,,數(shù)據(jù)線回到低電平,然后,,新的數(shù)據(jù)傳輸可在新的時鐘信號下開始,。
同時,編碼器為參數(shù)提供了不同的存儲區(qū),,它們可以被后續(xù)電子設(shè)備讀取,,這些區(qū)域可以被編碼器制造商、OEM廠商甚至最終用戶寫入,。一些特定的區(qū)域是可以被寫保護(hù)的,。不同系列的編碼器支持不同的OEM存儲區(qū)和不同的地址范圍。因此,,每一個編碼器必須讀取OEM存儲區(qū)的分配信息,。基于此原因,,后續(xù)電子電路應(yīng)基于相對地址編程,,而不能使用絕對地址。
2 EnDat接口后續(xù)電子設(shè)備的電路設(shè)計(jì)方案
全數(shù)字化交流伺服系統(tǒng)中采用TMS320F2812作為控制器,,用以實(shí)現(xiàn)位置環(huán),、速度環(huán)和電流環(huán)以及SVPWM,、電壓和電流采樣等功能。此外,,采用Altera公司的型號為EPlC6Q240C8的Cyclone系列FPGA實(shí)現(xiàn)與編碼器接口,、譯碼邏輯等功能。同時,,在FPGA內(nèi)部實(shí)現(xiàn)了128B的雙口RAM,,通過總線實(shí)現(xiàn)與DSP之間的數(shù)據(jù)傳輸,,功能框圖如圖4所示,。
FPGA內(nèi)部分為時鐘發(fā)生模塊、發(fā)送模塊,、接收模塊,、雙口RAM模塊、發(fā)送使能模塊5個部分,。首先,,由時鐘發(fā)生模塊產(chǎn)生周期為0.5μs的方波信號,取名為CLOCK,,此信號作為通訊同步時鐘信號,。在CLOCK的每個時鐘上升沿計(jì)數(shù)變量COUNT自加1,變量COUNT的初始值為0,。當(dāng)發(fā)送使能模塊檢測到COUNT的值為3時,,說明編碼器已經(jīng)將位置值保存完畢,發(fā)送使能模塊使SENT_EN信號有效,,發(fā)送模塊開始發(fā)送6位模式指令,。當(dāng)檢測到COUNT的值為9時,停止COUNT在每個時鐘上升沿計(jì)數(shù),,停止發(fā)送數(shù)據(jù)并使接收使能信號RECEIVE_EN有效,,從而使能接收模塊。接收模塊開始檢測數(shù)據(jù)輸入信號的上升沿,,一旦上升沿到來說明收到數(shù)據(jù)起始位s,,啟動COUNT在每個時鐘上升沿計(jì)數(shù),以后在每個時鐘信號的上升沿保存位置值,,直到檢測到COUNT的值為39時,,停止接收數(shù)據(jù),由接收模塊向雙口RAM模塊的A口寫入要保存的位置值,,從而結(jié)束一次FPGA與編碼器的通訊過程,。由于每次通訊時間是嚴(yán)格固定的,設(shè)系統(tǒng)時鐘為2MHz,。FPGA為主叫,,當(dāng)時鐘下降沿到來時,,編碼器保存位置值要2個時鐘周期,向編碼器發(fā)送“請求數(shù)據(jù)”控制字共6位“000111”,,需時6個時鐘周期,,編碼器向FPCA共發(fā)送1個起始位、2個“錯誤位”,、23位位置值和5位CRC校驗(yàn)位要31個時鐘周期,,共39個時鐘周期,所以每次通訊需要19.5μs的時間,,并且每個時刻具體需要傳遞哪一位數(shù)據(jù)也是嚴(yán)格確定的,。因此采用基于時基的設(shè)計(jì)方法(見圖5)。
在FPGA內(nèi)部實(shí)現(xiàn)了128 B的雙口RAM空間,,A口具有8位數(shù)據(jù)線,,7位地址線,用于與編碼器通訊,,B口具有16位數(shù)據(jù)線,,7位地址線,用于與DSP通訊,,因?yàn)門MS320F2812為16位DSP,,所以與FPGA中RAM的數(shù)據(jù)傳遞極為方便。DSP在每個電流環(huán)周期發(fā)送一個有效的“BEGIN”信號,,19.5μs之后,,碼盤信號接收模塊將接收到數(shù)據(jù)存入FPGA內(nèi)部雙口RAM的A口中,并按順序排列成16位數(shù)據(jù)的形式,,然后向DSP發(fā)送“END”信號,,表示一次通訊結(jié)束,DSP接收到中斷之后從FPGA的雙口RAM的B口中讀取數(shù)據(jù),,完成一次通訊,。
對FPGA的開發(fā)采用XILINX公司的ISE集成環(huán)境,硬件描述語言為Verilog HDL語言,。圖6為程序流程圖,。
3 結(jié)束語
本文設(shè)計(jì)了一種基于FPGA的編碼器接口,用以進(jìn)行編碼器和伺服驅(qū)動器DSP處理器之間的通訊,,并且具有CRC校驗(yàn)等糾錯功能,。本文給出了硬件連接和FPGA程序設(shè)計(jì)流程,可以實(shí)現(xiàn)對永磁同步交流電機(jī)磁極位置準(zhǔn)確的讀取,。