基于FPGA的絕對(duì)式編碼器通信接口設(shè)計(jì)
0 引言
光電碼盤是一種基本的位置、速度檢測(cè)反饋單元,非常廣泛地應(yīng)用于變頻器、直流伺服、交流伺服等系統(tǒng)的閉環(huán)控制中。為了減小體積,絕對(duì)式編碼器一般采用串行通信方式輸出絕對(duì)編碼,針對(duì)伺服電機(jī)控制等高端場(chǎng)合,為了滿足快速的電流環(huán)、速度環(huán)、位置環(huán)的控制需要,編碼輸出的速度又應(yīng)該非???,這些不利因素都對(duì)絕對(duì)式編碼的接收增加了難度。
絕對(duì)式編碼器廠家大多為其編碼器配套了接收芯片,實(shí)現(xiàn)串行編碼到并行編碼的轉(zhuǎn)換,便于控制器的讀取操作。但是此類芯片通常價(jià)格比較昂貴,大約占絕對(duì)式編碼器價(jià)格的四分之一。目前國(guó)內(nèi)外高端交流伺服系統(tǒng)中普遍采用FPGA+DSP結(jié)構(gòu)。DSP用來(lái)實(shí)現(xiàn)矢量變換和其它算法流程;FPGA用以實(shí)現(xiàn)譯碼、A、B、 Z信號(hào)輸出、I/O擴(kuò)展等功能,FPGA中尚有很多資源沒(méi)有得到充分利用。本文研制了一種用于交流伺服系統(tǒng)中的基于FPGA的絕對(duì)式編碼器智能接口,實(shí)現(xiàn)與絕對(duì)式編碼器的雙工通信,接收高速數(shù)據(jù)流,同時(shí)在FPGA內(nèi)部開(kāi)辟RAM空間,將收到的編碼器數(shù)據(jù)存入RAM中,DSP可以以訪問(wèn)內(nèi)存的方式讀取數(shù)據(jù),提高了工作速度。同時(shí),該接口還具有奇偶校驗(yàn)等糾錯(cuò)功能,完全可以替代廠家提供的接收芯片,大幅度降低了產(chǎn)品成本。
1 RCN226型絕對(duì)式編碼器
國(guó)內(nèi)外絕對(duì)式編碼器生產(chǎn)廠商很多,如日本的多摩川精機(jī)、德國(guó)的海德漢、國(guó)產(chǎn)的長(zhǎng)春三峰等。其中海德漢的RCN226型絕對(duì)式編碼器采用的是海德漢公司專用的EnDat2.2一位置編碼器雙向數(shù)字接口,它傳輸?shù)臄?shù)據(jù)類型分為位置值、位置值及附加信息或參數(shù)。發(fā)送的信息類型由模式指令選擇。模式指令決定被發(fā)送信息的內(nèi)容。每個(gè)模式指令包括三個(gè)位。為確??煽堪l(fā)送信息,每個(gè)位均采用冗余發(fā)送(反相或兩次)。其發(fā)送位置值的模式指令為"000111"。信號(hào)傳輸格式如圖1所示。
數(shù)據(jù)包發(fā)送與數(shù)據(jù)傳輸同步。傳輸周期從第一個(gè)時(shí)鐘下降沿開(kāi)始。編碼器保存測(cè)量值并計(jì)算位置值。兩個(gè)時(shí)鐘周期后,后續(xù)電子設(shè)備發(fā)送模式指令。編碼器發(fā)送位置值后,從起始位開(kāi)始由編碼器向后續(xù)電子設(shè)備傳輸數(shù)據(jù)。后續(xù)"錯(cuò)誤位"-"錯(cuò)誤1"和"錯(cuò)誤2"是檢測(cè)類信號(hào),用于監(jiān)測(cè)故障。這兩個(gè)信號(hào)相互獨(dú)立地生成,它表示編碼器發(fā)生可導(dǎo)致不正確位置值的故障。發(fā)生故障的確切原因保存在"工作狀態(tài)"存儲(chǔ)器中,并可被詳細(xì)地查詢。然后編碼器從最低有效位(LSB)開(kāi)始發(fā)送絕對(duì)位置值。其長(zhǎng)度取決于所用的編碼器,RCN226的絕對(duì)位置值為26位。位置值的數(shù)據(jù)發(fā)送以循環(huán)冗余校驗(yàn)(CRC)結(jié)束。在數(shù)據(jù)字結(jié)尾處,必須將時(shí)鐘信號(hào)置為高電平。10至30 μ s后或1.25至3.75 μ s后(系統(tǒng)時(shí)鐘大于1MHz時(shí))數(shù)據(jù)線返回低電平。然后,時(shí)鐘信號(hào)啟動(dòng)另一次數(shù)據(jù)發(fā)送。
評(píng)論