周國娟,金紅莉,蘇福根
(1.北京經(jīng)濟(jì)管理職業(yè)學(xué)院 北京 102602;2.北京郵電大學(xué) 世紀(jì)學(xué)院,北京 102613)
運(yùn)動控制即通過電機(jī)驅(qū)動的執(zhí)行機(jī)構(gòu)對電機(jī)的轉(zhuǎn)速、轉(zhuǎn)矩以及轉(zhuǎn)角等加以控制,以使執(zhí)行機(jī)構(gòu)按照預(yù)定軌跡運(yùn)動。運(yùn)動控制技術(shù)是機(jī)器人、數(shù)控機(jī)床和生產(chǎn)加工自動化等領(lǐng)域的關(guān)鍵技術(shù),是一門融電子、計算機(jī)、控制和傳感器等多學(xué)科于一身的交叉技術(shù)。運(yùn)動控制技術(shù)發(fā)展水平的高低標(biāo)志著一個國家工業(yè)現(xiàn)代化水平的高低。運(yùn)動控制技術(shù)在我國的發(fā)展大致經(jīng)歷了基于大規(guī)模集成電路、基于單片微處理器、基于專用集成電路 ASIC(Application Specific Integrated Circuit)以及基于數(shù)字信號處理器(DSP)芯片幾個階段。筆者介紹一種基于DSP和現(xiàn)場可編程門陣列(FPGA)的運(yùn)動控制器,該控制器充分發(fā)揮了DSP運(yùn)算速度快、兼容性好的優(yōu)勢,也利用了FPGA的高速并行處理的能力,具有信息處理能力強(qiáng)、模塊化程度高、編程容易、運(yùn)動控制精度高等優(yōu)點。
文中設(shè)計的運(yùn)動控制系統(tǒng)基于TI公司的DSP芯片TMS320F2812和ALTERA公司的FPGA芯片EP2C8Q208C。在本控制器中,DSP因為有著強(qiáng)大的信號處理能力和很高的運(yùn)算速度,主要用來完成多自由度靜態(tài)運(yùn)動軌跡的計算或者運(yùn)動軌跡的動態(tài)規(guī)劃以及運(yùn)動控制算法的實現(xiàn)。同時,DSP還可以通過PCI總線和PC機(jī)通信,以獲取控制參數(shù)。FPGA因為有著豐富的內(nèi)部資源,高效的底層數(shù)據(jù)計算處理能力,且可以實現(xiàn)并行操作,因此用FPGA實現(xiàn)與各傳感器和電機(jī)驅(qū)動器的接口,以及模擬各種專用電路或芯片,如模擬QEP編碼采樣電路對編碼器信號進(jìn)行解碼計數(shù),或者實現(xiàn)步進(jìn)電機(jī)的脈沖發(fā)生等。此外,F(xiàn)PGA內(nèi)部有著豐富的RAM資源,可以用來存儲需要實時處理的大量數(shù)據(jù)資源。
一般的運(yùn)動控制器多用來通過電機(jī)驅(qū)動器驅(qū)動步進(jìn)電機(jī)、直流或交流電機(jī)等原動機(jī),所以需要有相應(yīng)的脈沖信號輸出和模擬量信號輸出功能,其中脈沖信號輸出可以由FPGA在DSP的指令下,輸出PWM波,也可以由TMS320F 2812自帶的12路PWM專用發(fā)生電路發(fā)出;模擬信號則由掛在FPGA上的D/A芯片在發(fā)出。為了采集系統(tǒng)中傳感器的反饋和控制信號,控制器還應(yīng)該具有采集編碼器的差分編碼信號、以及進(jìn)行A/D采樣的功能,這些接口和底層數(shù)據(jù)的處理都由FPGA實現(xiàn),F(xiàn)PGA只把包含位姿信息的最終結(jié)果發(fā)送給DSP進(jìn)行相應(yīng)的處理。
此外,該控制器還應(yīng)該包含有大量普通的輸入輸出端口,用來控制繼電器或者采集行程開關(guān)等開關(guān)量的輸入信號或者用來控制電機(jī)轉(zhuǎn)向,電磁閥開關(guān)等。圖1為系統(tǒng)總體框圖。
圖1 系統(tǒng)總體框圖Fig.1 System block diagram
TMS320F2812是一塊專門用于電機(jī)運(yùn)動控制的高性能的數(shù)字信號處理芯片,其內(nèi)部具有一個32位的硬件乘法器,可以在一個周期內(nèi)完成兩個32位數(shù)據(jù)的乘法,對于乘除法的計算效率遠(yuǎn)高于其他普通單片機(jī)。其核心電壓僅為1.8 V,I/O口輸入輸出標(biāo)準(zhǔn)電壓3.3 V,功耗很低。通過倍頻技術(shù)主頻最高可達(dá)150 MHz,且片內(nèi)含有128 K×16 b的片內(nèi)FLASH供編程使用。
DSP的重要功能之一是與上位機(jī)進(jìn)行通訊,接收上位機(jī)的運(yùn)動軌跡數(shù)據(jù)及其他指令,并將傳感器的信號值反饋給上位機(jī)。DSP與上位機(jī)通訊可以根據(jù)需要選擇串口通訊方式、CAN總線通訊方式、PCI總線通訊方式等多種方式。其中以PCI總線方式的抗干擾能力最強(qiáng),速度最快。TMS320F2812芯片自帶有CAN總線模塊,只需要配置響應(yīng)的CAN總線收發(fā)器即可實現(xiàn)通訊。在本設(shè)計中,DSP通過以太網(wǎng)控制器RTL8019AS與上位機(jī)通訊。RTL8019AS包含一個16 kB的SDRAM,DSP可將其視為自己的外部存儲器,對其進(jìn)行相應(yīng)的讀寫就完成了與上位機(jī)的數(shù)據(jù)交換。
直流伺服電機(jī)的驅(qū)動多要求帶有死區(qū)的占空比可調(diào)的PWM信號,TMS320F2812內(nèi)部有兩個事件管理器,可以直接控制輸出12路PWM信號。用戶可通過設(shè)定PWM控制寄存器來設(shè)定PWM波的產(chǎn)生模式、占空比及死區(qū)時間。與傳統(tǒng)的用定時器中斷來產(chǎn)生PWM波的方式相比,通過事件管理器定時器硬件來產(chǎn)生PWM波不僅大大降低了編程的復(fù)雜性,也解放了寶貴的CPU資源,大幅度提升了該芯片應(yīng)用于電機(jī)控制時的性能。
通常情況下,運(yùn)動控制系統(tǒng)需要完成位置環(huán)與速度環(huán)的雙閉環(huán)控制,進(jìn)行實時的PID計算與調(diào)節(jié),還需要根據(jù)上位機(jī)的參數(shù)實時規(guī)劃運(yùn)動路徑、速度等。這些任務(wù)自然都是交給擁有強(qiáng)大計算處理能力的DSP來完成的,而完成這些任務(wù)需要大量的程序存儲空間和數(shù)據(jù)存儲空間,盡管TMS320F2812內(nèi)部含有 18 K×16 b的 SARAM以及 128 K×16 b的FLASH,但依然顯得過小,因此為了提升系統(tǒng)性能,充分發(fā)揮DSP的優(yōu)勢,本系統(tǒng)為DSP外擴(kuò)了128 K×16 b的RAM和512 K×16 b的FLASH。
與DSP相比,F(xiàn)PGA在大數(shù)據(jù)量的底層數(shù)據(jù)并行處理上有明顯優(yōu)勢,且實時性好,而DSP的優(yōu)勢主要體現(xiàn)在復(fù)雜算法和浮點數(shù)運(yùn)算上[1]。FPGA內(nèi)部邏輯單元可以自由編程,使用非常靈活,可以編程模擬各種專用信號處理芯片,以及進(jìn)行信號采集后數(shù)據(jù)的初步處理。例如,可以用FPGA模擬DSP的QEP正交編碼電路,同時對多個編碼器的輸出脈沖進(jìn)行計數(shù),并通過編碼器的返回值計算當(dāng)前的姿態(tài)和位置,只在規(guī)定的時間將當(dāng)前的姿態(tài)和位置信息反饋給DSP,從而大幅度的減少了DSP處理底層數(shù)據(jù)的工作量。
FPGA主要用來實現(xiàn)運(yùn)動控制器的各種接口,以擴(kuò)展DSP的普通I/O口數(shù)量,并對采集的信號進(jìn)行初步的處理。在本系統(tǒng)中,F(xiàn)PGA負(fù)責(zé)對編碼器的反饋信號進(jìn)行采集分析,控制A/D轉(zhuǎn)換器對模擬量輸出的傳感器進(jìn)行信號采集,并將計算出的位姿信息傳輸給DSP。接受DSP的信號,輸出相應(yīng)的開關(guān)量或者控制相應(yīng)的D/A轉(zhuǎn)換器輸出模擬量電壓值。FPGA的選用應(yīng)考慮邏輯單元的數(shù)量、I/O口的數(shù)量是否夠用,與DSP的接口是否容易等,同時應(yīng)該考慮開發(fā)成本,不能一味的追求邏輯單元多、I/O口數(shù)量多的型號而造成浪費。考慮本設(shè)計中的應(yīng)用,選用Altera公司的CycloneⅡ系列的EP2C8Q208C8芯片。該芯片有138個I/O口和8256個邏輯單元,且I/O口電平與所選DSP芯片兼容,均為3.3 V,鏈接方便。該FPGA內(nèi)核采用1.2 V供電,具有低功耗的特點。
DSP通過以太網(wǎng)控制器RTL8019AS與上位機(jī)相連,RTL8019AS除了含有通訊內(nèi)核外還含有16 kB的SDRAM,它和主機(jī)的接口有跳線模式、PnP模式和RT模式,接口復(fù)合Ethernet2和IEEE802.3標(biāo)準(zhǔn)。在本設(shè)計中,為了便于DSP的應(yīng)用,采用跳線的模式。連接時,DSP的16位數(shù)據(jù)總線與RTL8019AS的數(shù)據(jù)總線直接相連即可。RTL8019AS的片內(nèi)寄存器是通過其映射I/O口進(jìn)行訪問的,實際連接時,如圖2所示,只需將SA0~SA9與DSP地址線相連,而SA10~SA19可直接接低電平[2]。
圖2 RTL8019AS與DSP接口Fig.2 Interface between RTL8019AS and DSP
RTL8019AS可以使用雙絞線作為傳輸介質(zhì),為了消除因電路數(shù)字特性導(dǎo)致的高次諧波,可通過20F001N雙絞線驅(qū)動器發(fā)送信號,20F001N為耦合隔離變壓器模塊。RTL8019AS與20F001N的連接如圖2所示。
DSP與FPGA的接口有很多種實現(xiàn)方式,為了實現(xiàn)高速的數(shù)據(jù)交換,保障DSP與FPGA通訊的實時性,可以在FPGA內(nèi)部模擬一個雙口的RAM,這樣DSP只需要將FPGA作為自己的一個外部存儲器,在相應(yīng)的外部地址內(nèi)進(jìn)行數(shù)據(jù)的讀寫,就可以實現(xiàn)與FPGA的數(shù)據(jù)交換。這樣雖然可以保障數(shù)據(jù)通訊的速度,但是占用了大量的I/O口,而在本設(shè)計中,F(xiàn)PGA已經(jīng)完成的大部分?jǐn)?shù)據(jù)的底層處理,DSP只需要每隔一段時間讀取一下FPGA反饋回來的數(shù)據(jù)信息即可,需要傳輸?shù)臄?shù)據(jù)量并不大,實時性要求也不是非常高。因此采用SPI總線實現(xiàn)DSP與FPGA的通信即可,這樣即節(jié)省了并行數(shù)據(jù)通訊需要占用的大量I/O口資源,也使得層次結(jié)構(gòu)更為清晰,編程更加方便[3-4]。這需要將DSP芯片上的多通道緩沖串口配置為SPI主機(jī)模式,而FPGA中采用NIOS核可以實現(xiàn)SPI模塊的模擬,應(yīng)將FPGA模擬的SPI模塊設(shè)置為從機(jī)模式。
對于高精度的伺服控制系統(tǒng)而言,傳感器輸出信號的采樣精度直接決定了最后系統(tǒng)的控制精度。在高精度、高速度、高采樣范圍、高抗干擾性的要求下,DSP自帶只能對0~3 V信號采樣的12位A/D傳感器已經(jīng)無法滿足要求。為此,我們額外擴(kuò)展了2片AD1674專門用來進(jìn)行A/D采樣。AD1674是AD公司推出的一種12位帶并行接口的逐次逼近型模/數(shù)轉(zhuǎn)換芯片,可以對-10~+10 V信號進(jìn)行采樣。采樣頻率可達(dá)100 kHz,轉(zhuǎn)換時間為 10 μs,滿量程校準(zhǔn)誤差[5]僅為 0.125%。圖3為AD1674接線圖,其中REF IN管腳接基準(zhǔn)輸入電壓,通常可以將內(nèi)部的10 V基準(zhǔn)電壓接50 Ω電阻后接在這個管腳上;BIP OFF管腳為雙極電壓偏移量調(diào)整端,在雙極輸入時可以通過50 Ω電阻接在REF OUT端,若只是單級輸入,則可將其接模擬地。
圖3 AD1674接線圖Fig.3 Wiring diagram of AD1674
模擬信號輸出電路同樣采用AD公司的D/A轉(zhuǎn)換器AD667,它是具有2級緩沖器的12位D/A轉(zhuǎn)換芯片,功耗300 mW,建立時間只有3 μs。為了實現(xiàn)多電機(jī)的同步控制,可以將多路D/A芯片的控制信號連接與LDAC連接在一起,這樣當(dāng)所有的D/A芯片數(shù)據(jù)全部裝載完畢后,在同時打開控制信號,即可完成多路驅(qū)動的同時控制。圖4為AD667用于雙極輸出時的接線圖,其接線方法與AD1674基本相同,REF IN管腳與BIP OFF管腳含義也與AD1674相同[6]。
圖4 AD667接線圖Fig.4 Wiring diagram of AD667
該運(yùn)動控制器采用+5 V供電,而控制器實際需要的各種電壓值需要在內(nèi)部進(jìn)行相應(yīng)轉(zhuǎn)化得到。控制器需要的電壓主要有 3.3 V、1.8 V、1.2 V、±5 V 和±15 V。 其中的 3.3 V、1.8 V和1.2 V電壓可由線性穩(wěn)壓模塊穩(wěn)壓得到,主要用于給DSP和FPGA供電[7-8]。應(yīng)該注意到,TMS320F2812有上電順序要求,3.3 V電壓應(yīng)先于1.8 V內(nèi)核電壓上電,因此1.8 V電壓必須由3.3 V電壓穩(wěn)壓得到,并在1.8 V電壓與數(shù)字地之間上加10電容,以保證上電順序。AD667和AD1674芯片要求±15 V的模擬電壓,該電壓可由開關(guān)穩(wěn)壓得到,本設(shè)計中選用開關(guān)電源MC34063。在運(yùn)行過程中,高頻的數(shù)字信號會對模擬信號產(chǎn)生較大的干擾,為了增強(qiáng)系統(tǒng)的抗干擾能力,應(yīng)該對給數(shù)字電路供電的5 V和給模擬電路供電的5 V用DC/DC隔離后,在進(jìn)行相應(yīng)的電壓變換。
隨著機(jī)器人技術(shù)、多自由度伺服運(yùn)動控制技術(shù)等機(jī)電一體化技術(shù)的不斷發(fā)展,機(jī)械系統(tǒng)對于運(yùn)動軌跡、運(yùn)動速度的控制要求越來越高,迫切的需要高性能的運(yùn)動控制器。而隨著模糊PID算法、神經(jīng)網(wǎng)絡(luò)算法,以及動態(tài)路徑規(guī)劃算法等復(fù)雜算法的應(yīng)用,也對運(yùn)動控制器的計算能力和數(shù)據(jù)處理能力提出了越來越高的要求。同時,隨著機(jī)械系統(tǒng)復(fù)雜性的不斷增加,在系統(tǒng)中往往含有大量的傳感器,需要進(jìn)行大量的數(shù)據(jù)采集、底層數(shù)據(jù)處理,這就要求運(yùn)動控制器有著豐富的I/O資源和強(qiáng)大的并行處理能力,能夠同時處理多組數(shù)據(jù),保證系統(tǒng)的實時性。DSP+FPGA的體系結(jié)構(gòu)恰恰可以滿足高性能運(yùn)動控制器的所有要求,DSP有著強(qiáng)大的數(shù)據(jù)處理能力,可以進(jìn)行復(fù)雜的控制運(yùn)算;FPGA有著豐富的I/O資源和強(qiáng)大的并行處理能力,可以作為各種外部資源與主控芯片的接口和專用信號處理電路。FPGA的應(yīng)用使得系統(tǒng)的靈活性和適應(yīng)性大幅度的提升,也減少了DSP在多任務(wù)切換時無謂的運(yùn)算資源消耗。該控制器充分利用的DSP和FPGA各自的優(yōu)點,整個控制器性能指標(biāo)高、抗干擾能力強(qiáng)、功耗低、結(jié)構(gòu)緊湊合理。
[1]季振洲,周勇林,胡銘曾.FPGA芯片設(shè)計效率的研究[J].高技術(shù)通訊,2000(5):71-73.JI Zhen-zhou,Zhou Yong-lin,Hu Ming-zeng.Research on FPGA chip design efficiency[J].Hich Technology Letters,2000(5):71-73.
[2]夏輝,車國輪.基于DSP的導(dǎo)航計算機(jī)設(shè)計[J].微處理機(jī),2006(2):55-57.XIA Hui,CHE Guo-lun.Design of navigation computer based on DSP[J].Microprocessors,2006(2):55-57.
[3]劉永鋒.基于DSP和FPGA的機(jī)器人運(yùn)動控制系統(tǒng)的研究[D].南京:南京理工大學(xué),2007.
[4]朱軍,高清維,韓璐.基于DSP和FPGA的數(shù)據(jù)通信實現(xiàn)方案[J].電子測量技術(shù),2009(1):102-104.ZHU Jun,GAO Qing-wei,HAN Lu.Solution of data communication based on DSP and FPGA[J].Electronic Measurement Technology,2009(1):A102-104.
[5]邱云周.基于DSP和FPGA的運(yùn)動控制技術(shù)的研究 [D].四川:四川大學(xué),2004.
[6]石江華.基于DSP與FPGA的四軸運(yùn)動控制器設(shè)計與研究[J].現(xiàn)代電子技術(shù),2011(21):202-204.SHI Jiang-hua.Design and research on four-axis motion controller based on DSP and FPGA[J].Modern Electronics Technique,2011(21):202-204.
[7]白峻.基于FPGA和多DSP的多總線并行處理器設(shè)計[J].計算機(jī)測量與控制,2012(1):173-176.BAI Jun.A multi-bus parallel processor based on FPGA and multi-DSP[J].Computer Measurement&Control,2012 (1):173-176.
[8]關(guān)宗安.基于TMS320F2812 DSP的網(wǎng)絡(luò)通信系統(tǒng)設(shè)計[J].電子技術(shù)應(yīng)用,2009(3):94-96.GUAN Zong.The design of network communication system based on TMS320F2812 DSP[J].Application of Electronic Technique,2009(3):94-96.