基于FPGA的****式編碼器智能接口設計
于泳,楊明,貴獻國,徐殿國
(哈爾濱工業大學,黑龍江哈爾濱150001)
摘要:實現了一種基于FPGA的****式碼盤智能接口,用以進行****式編碼器和伺服驅動器的DsP處理器之間的通訊。該接口完全可以替代價格昂貴的專用接口芯片,降低產品成本。
關鍵詞:****式編碼器;接口;FPGA
中圖分類號:TM383.4 文獻標識碼:A 文章編號:1004—7018(2008)01—0004—02
O引言
碼盤是一種基本的位置、速度反饋單元,廣泛應用于變頻器、直流伺服、交流伺服等系統的閉環控制中,碼盤主要分為增量式和****式兩種。增量式編碼器轉動時輸出脈沖,通過計數設備來知道其位置,當編碼器不動或停電時,依靠計數設備的內部記憶來記住位置。停電后,編碼器不能有任何的移動,當來電工作時,編碼器輸出脈沖過程中,也不能有干擾
而丟失脈沖。不然,控制器認 定的位置與實際位置有較大的偏差。增量式碼盤通常設有A、B、Z、u、V、W六路信號,以差動或者集電極開路的形式輸出,其中A、B、Z信號用于位置的檢測;也可用來作速度檢測;u、V、W信號一般為永磁電機起動提供參考信號,其接口較為簡單,且多數用于電機控制的微處理器均具有增量式碼盤的接口,使增量式碼盤的應用非常簡單:****式編碼器旋轉一周過程中,每個機械位置對應于一個********編碼,所以它無需記憶,無需找參考點,而且無需一直計數,控制器什么時候需要知道位置,什么時候就去讀取它的位置。失電后無需控制器記憶當前位置,待下次上電時直接讀取位置即可。這樣,****式編碼器的抗干擾特性、數據的可靠性大大高于增量式編碼器。但是****式編
碼器信號的接收較增量式編碼器困難得多,一般****式編碼器為8位到17位之間,為了減小體積,一般采用串行方式輸出****編碼,對于伺服電機控制等高端場合,為了適應快速的電流環、速度環、位置環的需要,編碼輸出的速度又應該非常快,這些都對****式編碼的接收增加了難度:
****式編碼器廠家大多為其編碼器配套了接收芯片,實現串行編碼到并行編碼的轉換,方便控制器的讀取。但是該芯片通常價格昂貴,約占****式編碼器價格的四分之一。目前國內外高端交流伺服系統中普遍采用FPGA+DsP結構,DsP用來實現矢量變換和其它算法流程;FPGA用以實現譯碼、A、B、z信號輸出、L/O擴展等功能,FPGA中尚有很多資源
沒有得到充分利用:本文研制了一種用于交流伺服系統中的基于FPGA的****式編碼器智能接口,實現與****式編碼器的雙工通訊,接收高速數據流,同時在FPGA內部開辟RAM空間,將收到的編碼器數據存人RAM中,DSP可以以訪問內存的方式湊取數據,提高了工作速度。同時,該接口還具有奇偶校驗等糾錯功能,完全可以替代廠家提供的接收芯片,大
幅度降低了產品成本。
1 TS5669N120型****式編碼器
國內外****式編碼器產品很多,如日本的多摩川精機、德國的海德漢、國產的長春三峰等,綜合價格和產品質量因素,我們選用了多摩川的TS5669N120型****式編碼器。主要技術指標如表1所示。
每次通訊時,由處理器先向編碼器發送cF控制字,控制字中的CCo至CC3四位數據為指令碼,指令碼包括“要碼盤數據”、“寫EEROM”、“讀EE-ROM”和“復位”四種。當碼盤接收到cF數據串之后,延時3μs后向控制器發送cF控制字、sF狀態字、DF數據字和奇偶校驗位,從而完成一次通訊。通訊速率為2.5 Mb/s,每一個位(bit)的傳輸時間為
O.4μs,所以,完成一次通訊的時間為51μs。
2****式編碼器接口的實現
為了清晰該接口在整個交流伺服系統中的作用,先對整個伺服控制單元作一下介紹:本全數字化交流伺服系統中采用TMS320LF2407A作為控制器,用以實現位置環、速度環和電流環以及sVPwM、電流采樣等功能。此外,采用Xinlinx公司的型號為xc2sloo的SPATAN 2系列FPGA用以實現與****式碼盤接口、正交編碼輸出、按鍵/顯示接口以及譯碼邏輯等功能。同時,在FPCA內部實現了512字節的雙口RAM,用來與DsP之間通過總線實現數據傳輸。pPGA部分的功能框圖如圖l所示。
|