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