基于DSP的絕對式光電編碼器串行接口設計
3 硬件電路設計
采用絕對式編碼器的電機伺服控制系統(tǒng)包括:待測量旋轉位置的電動機、絕對式編碼器、電平轉換元件MAX488、以DSP為核心的電機控制板以及電機功率驅動電路。本文主要介紹絕對式編碼器HMCT/16/4096/BA和DSP芯片的接口部分。
由于該編碼器輸出接口為SSI接口,而單片機、DSP、PC104、工控機等工控領域常用的控制器一般不提供SSI接口,此外SSI光電編碼器供應商一般也不提供接口轉換器,所以有必要將SSI接口轉換成可以與DSP等可以通信的串行接口。接口電路如圖2所示。本文引用地址:http://www.ex-cimer.com/article/148331.htm
由圖可見,絕對式光電編碼器的輸入時鐘信號(CLOCK)和輸出數據信號(DATA)均為差分信號,其數據傳輸符合EIA RS 22標準,是符合RS 422協(xié)議的電平,因而需將其轉換成可以輸入單片機或者DSP的電平。能完成這種轉換的芯片很多,大致有兩類:全雙工和半雙工,由編碼器讀數時序圖,可數據的輸出在時鐘信號下降沿轉換,在時鐘信號上升沿傳送,因此應選用全雙工的轉換芯片。本文選用MAX488芯片作為絕對式光電編碼器與DSP芯片MS320F2812通信的接口芯片,它由5 V電壓供電,是一種適用于RS 422和RS 485的低功率收發(fā)器,它的芯片中包含一個驅動器和一個接收器,并且可以2.5 Mb/s速率進行傳輸。絕對式光電編碼器與DSP芯片TMS320F2812通信的接口電路圖如圖3所示。
在該電路中,用DSP的GPIOF7(CANRXA)口來模擬產生絕對式編碼器讀數時所需的同步時鐘信號,用GPIOF6(CANTXA)口接收數據,同時為了減少電路前后的干擾以及實現(xiàn)與DSP接口3.3 V電平的匹配,在電路中使用了兩路高速光耦器件進行光電隔離,并實現(xiàn)電平轉換。
4 軟件設計
高精度多圈絕對式編碼器可以同時輸出多圈位置信息(nMT位)和單圈位置信息(nST位),其數據發(fā)送時序關系,如圖4所示,當編碼器接收到發(fā)送周期的第一個時鐘信號下降沿時,讀取(nMT+nST)位字長的絕對位置值存入數據緩存器。數據緩存器中數據隨著時鐘信號的下降沿串行同步發(fā)送數據,第一個發(fā)出的數據位是絕對位置值的最高位(MSB),最后一個發(fā)出的數據位是絕對位置值的最低位(LSB)。
評論