周維波,楊志軍
(廣東工業(yè)大學(xué) 廣東省計算機(jī)集成制造重點(diǎn)實(shí)驗(yàn)室,廣東 廣州 510006)
基于TMS320F2812的正交編碼脈沖采集實(shí)現(xiàn)
周維波,楊志軍
(廣東工業(yè)大學(xué) 廣東省計算機(jī)集成制造重點(diǎn)實(shí)驗(yàn)室,廣東 廣州 510006)
為分析高速高精控制系統(tǒng)中運(yùn)動物體的定位情況,設(shè)計一個基于TMS320F2812的正交編碼脈沖的數(shù)據(jù)采集系統(tǒng)。一方面,在TMS320F2812上編寫數(shù)據(jù)采集程序;另一方面,采用VC++語言設(shè)計上位機(jī)應(yīng)用程序。實(shí)驗(yàn)證明,上位機(jī)應(yīng)用程序?qū)崿F(xiàn)數(shù)據(jù)的圖形顯示和文本導(dǎo)出等基本功能,并且上位機(jī)應(yīng)用程序顯示的圖形與其他軟件顯示的圖形一致。該數(shù)據(jù)采集系統(tǒng)電路簡單可靠,適用于能夠產(chǎn)生正交編碼信號的傳感器的數(shù)據(jù)采集。
TMS320F2812;數(shù)據(jù)采集;正交編碼脈沖;上位機(jī)應(yīng)用程序
在高準(zhǔn)確高速的運(yùn)動系統(tǒng)中,如果采用光柵位移傳感器來對系統(tǒng)中的運(yùn)動物體進(jìn)行位置檢測,高準(zhǔn)確度與高速度都使得光柵位移傳感器的脈沖頻率提高。在控制系統(tǒng)中,端子板通過對編碼器反饋信號等進(jìn)行光耦隔離,防止燒壞控制主板及I/O口,起到保護(hù)主板的作用。這樣,由于光耦隔離的存在,光柵位移傳感器產(chǎn)生的脈沖的頻率不能大于端子板光耦所允許的最大頻率。所以,為了分析高精高速系統(tǒng)中運(yùn)動物體的定位情況,就要使光柵位移傳感器產(chǎn)生的脈沖不經(jīng)過端子板而被其他采集系統(tǒng)采集。
很多學(xué)者都采用過DSP芯片(如TMS320F2812,TMS320C5402)進(jìn)行數(shù)據(jù)采集,但是他們都是結(jié)合各種AD轉(zhuǎn)換器進(jìn)行模擬量的采集[1-4]。除此,在完成數(shù)據(jù)采集后,一些學(xué)者用TMS320F2812進(jìn)行FFT變換等[5-7]。簡明遠(yuǎn)等[8]設(shè)計的數(shù)據(jù)采集系統(tǒng)由AD采樣電路、FPGA電路和DSP電路組成。另外,還有學(xué)者利用TMS320F2812內(nèi)置的AD轉(zhuǎn)換器進(jìn)行數(shù)據(jù)采集[9-10]。
本文針對正交編碼脈沖設(shè)計了數(shù)據(jù)采集系統(tǒng),它運(yùn)用TMS320F2812的正交編碼脈沖電路(QEP)[11]對光柵位移傳感器信號進(jìn)行處理,電路簡單可靠。而且,采用VC++語言設(shè)計了上位機(jī)應(yīng)用程序?qū)崿F(xiàn)數(shù)據(jù)的圖形顯示和文本導(dǎo)出等基本功能。
宏微平臺控制結(jié)構(gòu)如圖1所示,宏動平臺被運(yùn)動控制卡PMAC的第1軸(1#)控制,微動平臺被第2軸(2#)控制。宏動平臺以旋轉(zhuǎn)電機(jī)作為動力源,通過絲桿將旋轉(zhuǎn)運(yùn)動轉(zhuǎn)化為直線運(yùn)動,并相對于標(biāo)尺光柵運(yùn)動;微動平臺以壓電陶瓷作為動力源,相對于宏動平臺作直線運(yùn)動。這樣,宏動平臺與微動平臺在PMAC的控制下可以在一個方向上做往返直線運(yùn)動。
圖1 宏微平臺控制結(jié)構(gòu)
宏微平臺通過宏動平臺完成長距離的運(yùn)動,在整個運(yùn)動過程中,微動平臺通過光柵位移傳感器的反饋隨時對宏動平臺進(jìn)行補(bǔ)償。因此,在宏動平臺與微運(yùn)平臺的共同作用下,宏微平臺能夠快速并精確地定位。
在這個控制系統(tǒng)中,光柵位移傳感器發(fā)出的脈沖首先通過端子板,然后到達(dá)PMAC卡。所以,當(dāng)宏動平臺相對于標(biāo)尺光柵高速運(yùn)動時,由于端子板的光耦隔離的影響,PMAC卡不能實(shí)現(xiàn)對光柵位移傳感器信號的完全補(bǔ)獲。因此,為了分析宏動平臺在高速運(yùn)動時的定位情況,設(shè)計基于TMS320F2812的數(shù)據(jù)采集系統(tǒng),如圖2所示。TMS320F2812的最大振蕩頻率可以達(dá)到150MHz,即允許光柵位移傳感器產(chǎn)生的脈沖的最大頻率為37.5 MHz,遠(yuǎn)遠(yuǎn)大于光耦所允許的最大頻率。
圖2 數(shù)據(jù)采集結(jié)構(gòu)
在圖2中,脈沖1與脈沖2組成正交編碼脈沖,即兩個頻率可變,有固定1/4周期相位差(即90°)脈沖序列。所以,可以通過兩路脈沖的先后次序確定電機(jī)的轉(zhuǎn)動方向,根據(jù)脈沖的個數(shù)與頻率,分別確定電機(jī)的角位置和角速度。
另外,在對高速高精運(yùn)動系統(tǒng)中的運(yùn)動物體進(jìn)行位置采集時,如果采集頻率過大,就會導(dǎo)致采集樣本總量增加,從而使TMS320F2812不能完全存儲所有數(shù)據(jù)。如果采集頻率過低,又會使得采集的數(shù)據(jù)不能全面地反映運(yùn)動物體的位置情況。由于只需要獲得運(yùn)動物體在目標(biāo)位置點(diǎn)附近的運(yùn)動情況,所以,只通過TMS320F2812對運(yùn)動物體到達(dá)目標(biāo)位置前進(jìn)行編碼輸入脈沖上下沿的計數(shù),而不進(jìn)行數(shù)據(jù)采集。一旦運(yùn)動物體到達(dá)目標(biāo)位置,TMS320F2812就啟動數(shù)據(jù)采集,這樣,就可以設(shè)置合適的采樣頻率來得到運(yùn)動物體全面的定位情況。
TMS320F2812的事件管理模塊(EVA和EVB)包括通用定時器、正交編碼脈沖電路(QEP)。運(yùn)用這兩個模塊能實(shí)現(xiàn)正交編碼脈沖的采集。
通用定時器具有4種計數(shù)操作,在定向遞增/遞減計數(shù)模式下,通用定時器2(或4)可以與QEP電路結(jié)合使用,此時QEP電路為定時器提供時鐘和方向輸入。但不能通過通用定時器的預(yù)定標(biāo)電路設(shè)置預(yù)定標(biāo)參數(shù),即當(dāng)采用QEP電路提供輸入時,預(yù)定標(biāo)參數(shù)總是1。而且,由于通用定時器在QEP電路的上升沿和下降沿都進(jìn)行計數(shù),QEP電路產(chǎn)生的時鐘頻率是每個QEP輸入的通道頻率的4倍,因此,QEP輸入頻率必須小于等于內(nèi)部CPU時鐘的1/4。
TMS320F2812事件管理模塊中的QEP電路的方向檢測邏輯確定哪個脈沖相序列超前,然后產(chǎn)生一個方向信號作為通用定時器2(或4)的方向輸入。如果CAP1/QEP1(對于EVB是CAP4/QEP3)引腳的脈沖輸入是相位超前脈沖序列,那么定時器就進(jìn)行增計數(shù);相反,如果CAP2/QEP2(對于EVB是CAP5/ QEP4)引腳的脈沖輸入是相位超前脈沖序列,那么定時器就進(jìn)行減計數(shù)。
通用定時器2(或4)總是從它的當(dāng)前計數(shù)值開始計數(shù),并根據(jù)CAP1/QEP1(對于EVB是CAP4/QEP3)引腳和CAP2/QEP2(對于EVB是CAP5/QEP4)引腳的脈沖輸入情況進(jìn)行增計數(shù)或減計數(shù)。增計數(shù)情況下,在通用定時器的計數(shù)器增計數(shù)到周期寄存器值時,定時器的計數(shù)器清0,繼續(xù)重新增計數(shù)到周期寄存器的值。減計數(shù)情況下,在通用定時器計數(shù)減計數(shù)到0時,定時器重新裝載周期寄存器的值,并繼續(xù)減計數(shù)。當(dāng)通用定時器計數(shù)器與周期寄存器匹配一個時鐘周期后,周期中斷標(biāo)志位置位。如果周期中斷未被屏蔽,將產(chǎn)生一個周期中斷請求。
3.1程序總體設(shè)計
在圖1所示的控制系統(tǒng)中,PMAC卡給宏動平臺發(fā)送命令使其到達(dá)目標(biāo)位置,但是,當(dāng)宏動平臺快速到達(dá)目標(biāo)位置后會產(chǎn)生定位偏差。如果光柵尺的分辨率為0.05μm,由于16位通用定時器的最大計數(shù)值為65536,最大偏差可以達(dá)到3276.8μm。
分析宏動平臺在高速運(yùn)動時的定位情況,只需當(dāng)宏動平臺到達(dá)目標(biāo)位置時才啟動數(shù)據(jù)采集。這樣,在存儲空間有限的情況下能夠提高有用數(shù)據(jù)的采集量,并能夠在較寬的采集頻率范圍中選擇所需要的采集頻。
TMS320F2812的程序流程圖如圖3所示。為了確定宏動平臺是否到達(dá)目標(biāo)位置,采用了通用定時器2進(jìn)行正交編碼脈沖上下沿計數(shù)的計數(shù),使事件管理模塊的QEP電路作為該通用定時器的時鐘源,并采用通用定時器2的周期中斷進(jìn)行周期中斷的計數(shù)。當(dāng)通用定時器2的周期中斷次數(shù)滿足要求后,禁止通用定時器2的中斷并啟動通用定時器1進(jìn)行數(shù)據(jù)采集,即在通用定時器1的周期中斷函數(shù)中將通用定時器2的計數(shù)值存到內(nèi)存中。
圖3 數(shù)據(jù)采集程序流程圖
為了排除圖1所示的控制系統(tǒng)在其他干擾的情況下錯誤地觸發(fā)周期中斷,因此用于通用定時器2的初值不能設(shè)置在0或者周期寄存器值附近。
在完成數(shù)據(jù)采集后就可以通過外部中斷或條件執(zhí)行程序,采用串行通信接口(SCI)實(shí)現(xiàn)TMS320F2812到上位機(jī)的發(fā)送。在數(shù)據(jù)發(fā)送程序中,通過查詢發(fā)送緩沖寄存器準(zhǔn)備好標(biāo)志位把數(shù)據(jù)從TMS320F2812發(fā)送到上位機(jī)。當(dāng)該位置位時,表示發(fā)送緩沖寄存器已準(zhǔn)備好接收下一個字符,此時,向發(fā)送緩沖寄存器寫入要發(fā)送的數(shù)據(jù)就能實(shí)現(xiàn)數(shù)據(jù)發(fā)送。而且,寫數(shù)據(jù)到發(fā)送緩沖寄存器操作將自動清除發(fā)送緩沖寄存器準(zhǔn)備好標(biāo)志位。所以,每次發(fā)送下一個字符時,都需等待發(fā)送緩沖寄存器準(zhǔn)備好標(biāo)志位重新置位。
3.2寄存器配置
設(shè)置好通用定時器2的計數(shù)器初值和周期寄存器能夠確定宏動平臺是否到達(dá)目標(biāo)位置,設(shè)置好用于通用定時器1的計數(shù)器初值和周期寄存器能夠確定數(shù)據(jù)采集的頻率。
為了實(shí)現(xiàn)通用定時器的周期中斷,在主程序中需要設(shè)置外圍中斷擴(kuò)展PIE的相關(guān)寄存器,如PIE中斷使能寄存器、CPU中斷使能寄存器等。在通用定時器的中斷程序中將周期中斷標(biāo)志位清零,將PIE中斷應(yīng)答寄存器的相應(yīng)位清零。
另外,需要在主程序中設(shè)置好串行通信接口的相關(guān)寄存器。其中,SCI通信控制寄存器(SCICCR)可以設(shè)置SCI的數(shù)據(jù)格式,SCI控制寄存器1(SCICTL1)可以設(shè)置SCI發(fā)送器與接收器的使能位,SCI波特率選擇寄存器(SCIHBAUD、SCILBAUD)可以設(shè)置波特率。
通過TMS320F2812采集來的數(shù)據(jù)只是以通用定時器的計數(shù)值保存在存儲空間中,所以,為了實(shí)現(xiàn)實(shí)際位置值與相應(yīng)的采樣時間并存的存儲方式,并且實(shí)現(xiàn)采樣曲線的繪制和數(shù)據(jù)的文本導(dǎo)出,設(shè)計了基于VC++的應(yīng)用程序界面。另外,為了實(shí)現(xiàn)TMS320F2812與上位機(jī)的串口通信,在上位機(jī)應(yīng)用程序中還需要對上位機(jī)的串口進(jìn)行設(shè)置。
數(shù)據(jù)采集應(yīng)用程序界面中菜單項“文本文檔”的子菜單項“讀文本作圖”能夠讀取文本數(shù)據(jù)作圖,子菜單項 “輸出文本”能將數(shù)據(jù)以文本的形式存儲起來。另外,菜單項“作圖”能對上位機(jī)應(yīng)用程序保存的數(shù)據(jù)進(jìn)行作圖。通過“串口設(shè)置”對話框,可以根據(jù)TMS320F2812的串行通信數(shù)據(jù)格式設(shè)置好上位機(jī)的串行通信數(shù)據(jù)格式。
通過“其他設(shè)置”對話框,可以根據(jù)采樣頻率以及光柵尺的分辨率設(shè)置采樣中的時間比例與位置比例,從而得到所需要的數(shù)據(jù)。而且,通過修改邏輯_視口比例中的參數(shù)使數(shù)據(jù)圖形能夠在應(yīng)用程序中得到較好的顯示。
在圖1所示的控制系統(tǒng)中,使宏動平臺以很快的速度進(jìn)行運(yùn)動,并用該數(shù)據(jù)采集系統(tǒng)在宏動平臺到達(dá)目標(biāo)位置后進(jìn)行數(shù)據(jù)采集。完成數(shù)據(jù)采集后,在上位機(jī)軟件上顯示的曲線如圖4(a)所示;當(dāng)上位機(jī)軟件中實(shí)現(xiàn)文本輸出后,在辦公軟件Excel中得到的曲線如圖4(b)所示。
圖4 實(shí)驗(yàn)曲線
由圖可得,上位機(jī)軟件能成功實(shí)現(xiàn)數(shù)據(jù)的文本導(dǎo)出,從而可以在其他數(shù)據(jù)處理軟件中進(jìn)行數(shù)據(jù)處理。另外,上位機(jī)軟件能成功實(shí)現(xiàn)數(shù)據(jù)的圖形顯示,并且與其他軟件上顯示的圖形是一致的。
本文介紹了一種基于TMS320F2812的數(shù)據(jù)采集系統(tǒng),電路簡單可靠,并能通過上位機(jī)軟件實(shí)現(xiàn)圖形顯示與數(shù)據(jù)文本輸出等基本功能。該數(shù)據(jù)采集系統(tǒng)針對正交編碼脈沖信號而設(shè)計,所以,能夠產(chǎn)生正交編碼信號的傳感器都可以作為該采集系統(tǒng)的信號源。
[1]那云虓,劉桂禮,劉剛.基于AD73360和TMS320F2812的數(shù)據(jù)采集系統(tǒng)設(shè)計[J].測控技術(shù)與儀器儀表,2008(10):92-96.
[2]馬俊,陳學(xué)煌.基于DSP的多路數(shù)據(jù)采集系統(tǒng)設(shè)計[J].測控技術(shù)與儀器儀表,2007(12):79-81.
[3]蒲琪,楊保亮,代祥俊.基于TMS320F2812的電子萬能材料試驗(yàn)機(jī)測控系統(tǒng)[J].儀表技術(shù)與傳感器,2007(10):53-55.
[4]張龍,周端,司棟森,等.基于TMS320F2812高速數(shù)據(jù)采集系統(tǒng)的設(shè)計與實(shí)現(xiàn)[J].電光與控制,2007,14(1):129-132.
[5]萬浩平,馬進(jìn),王鋒.基于TMS320F2812的高精度數(shù)據(jù)采集及FFT實(shí)現(xiàn)[J].工業(yè)控制計算機(jī),2009,22(4):54-55.
[6]潘偉,王漢功,張霞.基于TMS320F2812 DSP的智能CAN節(jié)點(diǎn)設(shè)計[J].自動化儀表,2005,26(10):36-37.
[7]姚冉中,潘宏俠.基于TMS320F2812的設(shè)備狀態(tài)監(jiān)測與分析儀的實(shí)現(xiàn)[J].儀表技術(shù)與傳感器,2007(2):8-10.
[8]簡遠(yuǎn)鳴,晏福平,劉念,等.基于DSP的高速數(shù)據(jù)采集與處理系統(tǒng)[J].微計算機(jī)信息,2009,25(2):130-132.
[9]郭濤,張英祥,陳峰.基于TMS320F2812的數(shù)據(jù)采集監(jiān)測系統(tǒng)設(shè)計[J].機(jī)械工程與自動化,2010(1):7-8.
[10]孫元敏,尹立新,楊書濤.基于TMS320F2812的高速數(shù)據(jù)采集處理系統(tǒng)[J].計算機(jī)工程,2009,35(2):242-244.
[11]萬山明.TMS320F2812xDSP原理及應(yīng)用實(shí)例[M].北京:北京航空航天大學(xué)出版社,2007:141-147.
(編輯:劉楊)
Implementation of quadrature encoder pulse acquisition based on TMS320F2812
ZHOU Weibo,YANG Zhijun
(Guangdong University of Technology,Guangdong Provincial Key Laboratory of Computer Integrated Manufacturing System,Guangzhou 510006,China)
In order to analyze the localization of moving objects in high-speed and high-precision control systems,a data acquisition system based on TMS320F2812 has been designed to collect quadrature encoder pulses.For one thing,a data acquisition program was written in TMS320F2812;for the other,PC application was designed with VC++language.The experiment demonstrates that basic functions can be realized through PC application,such as graphical data display and text export.Moreover,the graph shown on the PC application complies with that displayed on other software.The data acquisition system has simple and reliable circuit and is suitable for the data acquisition of sensors that are capable of generating quadrature encoder pulses.
TMS320F2812;data acquisition;quadrature encoder pulse;PC application
A
1674-5124(2016)05-0075-04
10.11857/j.issn.1674-5124.2016.05.016
2015-10-10;
2015-11-20
國家973計劃項目(2011CB013104)國家自然科學(xué)基金項目(U1134004,50905033)廣東省科技計劃項目(2010A090200017,2012B011300067)
周維波(1988-),男,湖南邵陽市人,碩士研究生,專業(yè)方向?yàn)闇y試控制。