基于FPGA的RCN223****式編碼器通訊接口設計
夏加寬,李曉帆(沈陽工業大學電氣工程學院,沈陽110178)
摘要:實現了一種基于FPeA(現場可編程門陣列)的****式碼盤智能接口的設計,用以進行****式編碼器和DSP處理器之間的通訊。此接口根據FPCA模塊化設計的特點,把整個設計任務劃分為若干功能模塊,分別對這些模塊進行設計,最后把各個功能模塊進行綜合,以完成整個設計。實驗結果表明,該接口完全可以替代價格昂貴的專用接口芯片,降低產品成本。
關鍵詞:****式編碼器;接口;FPGA
中圖分類號:TP271 文獻標志碼:A 文章編號:1001-6848 (2010)01-0054-03
0引 言
光電編碼器是一種基本的位置、速度檢測反饋單元,很廣泛的應用于變頻器、直流伺服、交流伺服等系統的閉環控制申[1],為了減小編碼器的體積,****式光電編碼器一般采用串行通訊方式輸出****二進制編碼,對于伺服電機控制等高端場合,為了滿足快速的電流環、速度環、以及位置環的控制速度需要,編碼輸出數據速度又應該非常快,以上不利因素都對****式編碼的接收增加了難度[3]。
世界各國的****式編碼器生產廠家大多為其編碼器配套了相應的接收芯片,自動完成串行編碼到并行編碼的轉換,方便了控制器的讀取操作。但是由于此類芯片通常價格比較昂貴,大約占****式編碼器價格的四分之一。目前國內外高端交流伺服系統中普遍采用FPGA+DSP結構,DSP用來實現矢量變換和其它算法流程;FPGA用以實現譯碼、A、B、Z信號輸出、1/0擴展等功能,FP-GA中尚有很多資源沒有得到充分利用。本文研制了一種用于交流伺服系統中的基于FPGA的****式編碼器接口,實現與****式編碼器的雙工通訊,接收高速數據流,同時在FPGA內部開辟RAM空間,將收到的編碼器數據存入RAM中,DSP可以以訪問內存的方式讀取數據,提高了工作速度。同時,該接口還具有CRC(循環冗余校驗)校驗等糾錯功能,基本能夠替代廠家提供的專用接收芯片,大幅度降低了產品成本。
1 RCN223型****式編碼器
國內外****式編碼器產品種類很多,如日本的多摩川精機、內密控、德國的海德漢、美國的丹納赫、國產的長春三峰等[3]。其中海德漢的RCN223型****式編碼器采用的是海德漢公司專用的EnDat2.2一位置編碼器雙向數字接口,它傳輸的數據類型分為位置值,位置值及附加信息或參數[4].發送的信息類型模式指令選擇。模式
指令決定被發送信息內容。每個模式指令包括三個Bit。為確保可靠發送信息,每個Bit均采用冗余發送(反相或兩次)。其發送位置值的模式指令
為“000111”。信號傳輸格式如圖1所示。
數據包發送與數據傳輸同步。傳輸周期從第一個時鐘下降沿開始。編碼器保存測量值并計算位置值。
兩個時鐘周期后,后續電子設備發送模式指令。編碼器發送位置值后,從起始位開始由編碼器向后續電子設備傳輸數據。后續“錯誤位”一“錯誤1”和“錯誤2”是檢測類信號,用于監測故障。這兩個信號相互獨立地生成,它表示編碼器發生可導致不正確位置值的故障。發生故障的確切原因保存在“工作狀態”存儲器中,并可被詳細的查詢。
然后編碼器從****有效位( LSB)開始發送****位置值。其長度取決于所用的編碼器,RCN223的****位置值為23位。位置值的數據發送以循環冗余校驗( CRC)結束。
在數據字結尾處,必須將時鐘信號置為高電平。10 μs至30μs后或1.25μs至3.75μs(系統時鐘大于1 MHz時)數掘線返回低電平。然后,時鐘信號啟動另一次數據發送。
2****式編碼器接口的實現
全數字化交流伺服系統中采用TMS320X2812作為控制器,用以實現位置環、速度環和電流環以及SVPWM、電壓和電流采樣等功能。此外,采用Altera公司的型號為EPIC6的Cyclone系列FP-CA用以實現與****式碼盤接口、譯碼邏輯等功能。同時,在FPGA內部實現了128字節的雙口RAM,用來與DSP之間通過總線實現數據傳輸。FPGA部分的功能框圖如圖2所示[2,5]。
碼盤接口部分分為時鐘發生模塊、發送模塊、接收模塊、雙口RAM模塊、發送使能模塊五個部分。
|