通過ENDAT接口獲取****編碼器位置
劉琳,陳建平
(上海交通大學機械與動力工程學院,上海200240)
摘要:利用DsP的SPI接口實現與編碼器的通信;而ENDAT接口為數據傳輸和信號發送提供了便利。通過開機前獲取****位置值,工作時讀取增量脈沖,不僅減少了斷電干擾,省去開機歸零,而且避免了使用大體積碼盤,使得計算讀取位置值更加簡易,精確。
關鍵詞:****編碼器;DSP;串行通信
0引 言
伺服系統需要測量系統為位置和速度控制器提供反饋信號和電子換向信號。光電編碼器具有精度高、慣量小、穩定性好的優點,廣泛應用于數控機床、回轉臺、伺服傳動、機器人、雷達、軍事目標測定等需要檢測角度的裝置和設備中。
旋轉式增量編碼器一般需要通過歸零動作找到機械原點后才能進行工作,因此使用上有局限性。****編碼器的抗干擾特性和數據的可靠性大大提高了。但是當****編碼器精度增加,線數也增加,碼盤增大,導致體積很大,安裝不便,無法在小型伺服系統上使用。電子式****編碼器以內置低功耗電路來進行位置計數,采用電池來保持內部計數值的數據,不僅體積小巧,而且抗干擾性強。
1 Endat2.2編碼器雙向數據接口
本文采用的編碼器是Endat2.2編碼器雙向數據接口,即可傳輸****編碼器位置值也可傳輸增量式編碼器位置值,還能傳輸或更新保存在編碼器中的信息或保存新信息。它只需一個接口就能適用于所有****編碼器和增量式編碼器,方便用于小型電機和減小系統尺寸。cRc循環冗余檢驗更提高了數據傳輸的可靠性,對于****編碼器位置值的傳輸十分方便。本文設計DsP與****編碼器,通過Endat之間的通信,獲取****位置值。
2數據傳輸
2.1初始設置
設置DsP的串行外設接口操作控制寄存器(sPIcTL),使DsP處于主動方式工作狀態。主動工作方式中,串行外設接口時鐘由DSP串行外設接口產生并由sPIcLK引腳輸出。該時鐘信號用于編碼器同步數據傳輸。不傳輸數據時,時鐘信號默認為高電平。
2.2編碼器選型
海德漢提供了多種****編碼器類型,產品主要分為單轉和多轉以及內置定子聯軸器和分離定子聯軸器等型號。輸出方式包括ENDAT和常用的SSI(串行同步傳輸),能夠滿足不同需求。2.3選擇傳輸類型
海德漢的****編碼器傳輸數據類型分為位置值和附加信息及參數,需要通過模式指令用以選擇編碼器數據傳輸類型。兩個時鐘脈沖(2T)后.DSP發送3位模式指令給****編碼器,來選擇所需的數據類型。每位均采用冗余發送(反向或兩次)。
2.4數據格式
1)錯誤信息l和2
一旦編碼器發生可能導致不正確位置值的故障時,它將立即發出錯誤信息;同時錯誤原因保存在編碼器上。為安全起見,必須獨立產生第二個錯誤檢測信息。錯誤信息2用反相電平發送。
2)位置值數據
位置值數據以一個完整數據字形式傳輸,其長度取決予編碼器的分辨率。數據發送從****有效位(LsB)開始(第一個LsB、。
3)附加信息
根據發送類型,可以隨位置值發送一個到兩個附加信息。每條附加信息長度為30bit并以低電平位開始,每條附加信息均以cRc結束。相應碼器所支持的附加信息保存在編碼器參數中。附加信息包括狀態信息、地址和數據。狀態數據中,wRN一報警表示編碼器的某公差是否已達到或超出;RM一參考點表示是否已執行參考點回零操作;BusY一參數請求用于在低電平時可以請求發送參數。
2.5數據傳輸過程
編碼器傳輸周期從第一個時鐘脈沖下降沿開始。編碼器保存測量值并計算位置值。
兩個時鐘脈沖(2T)后,DSP發送模式指令。模式指令用以選擇編碼器數據傳輸類型。DsP發送模式指令給編碼器,編碼器發送位置值(帶或不帶附加信息)。
編碼器成功計算****位置值后,由起始位開始由編碼器向DsP傳輸數據后續“錯誤位”一“錯誤1”和“錯誤2”是監測類信號,用于檢測故障。
然后編碼器從****有效位(LSB)開始發送****位置值。其長度取決與所用編碼器。發送一個位置值所需要的時鐘脈沖數保存在編碼器制造商參數中。
循環冗余檢驗后發送附加信息1和2。每個都以cRc結束。附加信息內容由存儲區選擇決定,并在下個采樣周期中發送附