DSP與FPGA在跟蹤伺服運(yùn)動(dòng)控制的應(yīng)用
近年來(lái),人們廣泛的將模糊控制技術(shù)應(yīng)用于生產(chǎn)生活各個(gè)領(lǐng)域。它以其不依靠被控對(duì)象的精確數(shù)學(xué)模型、適應(yīng)性好、系統(tǒng)魯棒性好以及易于實(shí)現(xiàn)無(wú)超調(diào)控制而受到業(yè)內(nèi)人士青睞。尤其是二維模糊控制器,以其設(shè)計(jì)相對(duì)簡(jiǎn)單,控制精度較高而備受矚目。光電跟蹤伺服系統(tǒng)的動(dòng)態(tài)性能有很大改善。光電跟蹤伺服系統(tǒng)的數(shù)學(xué)模型,光電跟蹤伺服系統(tǒng)屬于雙閉環(huán)單輸入單輸出位置隨動(dòng)系統(tǒng),內(nèi)環(huán)為速度環(huán),外環(huán)為位置環(huán)。本文針對(duì)的控制對(duì)象是光電跟蹤系統(tǒng)轉(zhuǎn)臺(tái),其傳遞函數(shù)是: 速度環(huán)和位置環(huán)的控制器利用超前-滯后補(bǔ)償方法設(shè)計(jì),閉環(huán)系統(tǒng)的主要組成環(huán)節(jié)。
實(shí)際應(yīng)用環(huán)境一般比較復(fù)雜,有大量的信息傳遞,并且需要對(duì)電機(jī)轉(zhuǎn)速實(shí)行精確控制,因此對(duì)伺服控制器的多路通信能力,快速運(yùn)算能力和抗干擾能力都有較高的要求。為了解決這一問題,提供一個(gè)較好的實(shí)驗(yàn)平臺(tái),本文結(jié)合光電跟蹤伺服系統(tǒng)的特點(diǎn),提出一種以TI公司的32位定點(diǎn)數(shù)字信號(hào)處理器TMS320F2812為核心,以Altera公司CycloneⅡ系列FPGA為輔助處理器結(jié)構(gòu)的跟蹤伺服控制器,并綜合闡述了該控制器的功能、硬件設(shè)計(jì)和軟件流程。該控制器采用單+5 V供電,具有6路模擬信號(hào)輸入、4路模擬信號(hào)輸出、多路PWM輸出、1路CAN總線、2路RS422和1路RS232串行通信口,具有較強(qiáng)的運(yùn)算能力和數(shù)據(jù)通信能力,是良好的數(shù)字控制系統(tǒng)實(shí)驗(yàn)平臺(tái)。
1 總體結(jié)構(gòu)設(shè)計(jì)
TMS320F2812是美國(guó)TI公司推出的C2000平臺(tái)上的定點(diǎn)32位DSP芯片,適合用于工業(yè)控制,電機(jī)控制等,用途廣泛,應(yīng)該相當(dāng)于單片的升級(jí)版。運(yùn)行時(shí)鐘也快可達(dá)150MHz,處理性能可達(dá)150MIPS,每條指令周期6.67ns.IO口豐富,對(duì)用戶一般的應(yīng)用來(lái)說(shuō)足夠了。兩個(gè)串口。具有12位的0~3.3v的AD轉(zhuǎn)換等。具有片內(nèi)128k×16位的片內(nèi)FLASH,18K×16位的SRAM,一般的應(yīng)用系統(tǒng)可以不要外擴(kuò)存儲(chǔ)器。具體的指標(biāo)你可以查閱相關(guān)的數(shù)據(jù)文檔。控制器的總體硬件結(jié)構(gòu)如圖1所示。
從圖1中可以看出,DSP通過CAN總線接收上位機(jī)指令;位置信號(hào)通過兩路RS422通信口傳給DSP作相應(yīng)處理;速度信號(hào)是由DSP片上集成的QEP電路對(duì)電機(jī)產(chǎn)生的正交編碼脈沖信號(hào)進(jìn)行解碼獲得;DSP輸出的PWM信號(hào)與FPGA相連,通過FPGA內(nèi)部的保護(hù)模塊后經(jīng)光電隔離輸出到功率放大模塊。外部中斷經(jīng)FPGA片內(nèi)中斷控制邏輯后輸出到DSP外部中斷管腳上;DSP與FPGA之間的數(shù)據(jù)交換通過DSP片上的多通道緩沖串口(Mcbsp)來(lái)實(shí)現(xiàn);D/A轉(zhuǎn)換器控制由FPGA內(nèi)部的D/A轉(zhuǎn)換接口模塊接收DSP傳來(lái)的數(shù)字量并控制邏輯時(shí)序;計(jì)算機(jī)調(diào)試接口采用RS232.
2 硬件電路設(shè)計(jì)
2.1 DSP模塊
數(shù)字信號(hào)處理(DigitalSignalProcessing,簡(jiǎn)稱DSP)是一門涉及許多學(xué)科而又廣泛應(yīng)用于許多領(lǐng)域的新興學(xué)科。20世紀(jì)60年代以來(lái),隨著計(jì)算機(jī)和信息技術(shù)的飛速發(fā)展,數(shù)字信號(hào)處理技術(shù)應(yīng)運(yùn)而生并得到迅速的發(fā)展。數(shù)字信號(hào)處理是一種通過使用數(shù)學(xué)技巧執(zhí)行轉(zhuǎn)換或提取信息,來(lái)處理現(xiàn)實(shí)信號(hào)的方法,這些信號(hào)由數(shù)字序列表示。在過去的二十多年時(shí)間里,數(shù)字信號(hào)處理已經(jīng)在通信等領(lǐng)域得到極為廣泛的應(yīng)用。德州儀器、Freescale等半導(dǎo)體廠商在這一領(lǐng)域擁有很強(qiáng)的實(shí)力。
32位定點(diǎn)數(shù)字信號(hào)處理器TMS320F2812整合了DSP和微控制器的最佳性能,能夠在一個(gè)周期內(nèi)完成32×32 bit的乘法運(yùn)算,或2個(gè)16×16 bit乘法累加運(yùn)算,處理速度最高可達(dá)150 MIPS.它采用高性能靜態(tài)CMOS技術(shù),內(nèi)核電壓為1.8 V@135 MHz,1.9 V@150 MHz, I/O端口電壓3.3 V[4,5].其先進(jìn)的內(nèi)部和外設(shè)結(jié)構(gòu)使得該處理器特別適合電機(jī)及其他運(yùn)動(dòng)控制應(yīng)用,能夠真正實(shí)現(xiàn)單片控制,為電機(jī)的伺服控制提供了良好的控制功能[6].
DSP的功能主要通過軟件實(shí)現(xiàn),在此主要實(shí)現(xiàn)接收上位機(jī)指令,完成位置環(huán)和速度環(huán)反饋的雙閉環(huán)控制算法,以及速度的PID調(diào)節(jié),產(chǎn)生PWM輸出。由于實(shí)際工作環(huán)境較為復(fù)雜,所以選用了抗干擾能力強(qiáng)的CAN總線作為與上位機(jī)的通信方式,TMS320F2812內(nèi)部集成了一個(gè)eCAN模塊,只需增加相應(yīng)的CAN收發(fā)器外圍電路就可以實(shí)現(xiàn)通信。根據(jù)系統(tǒng)采樣頻率調(diào)整事件管理器的定時(shí)器,控制寄存器的控制字來(lái)設(shè)定PWM工作方式和頻率,通過調(diào)整比較寄存器的數(shù)值來(lái)改變PWM的占空比,根據(jù)功率驅(qū)動(dòng)電路的驅(qū)動(dòng)芯片來(lái)設(shè)置死區(qū)控制寄存器的數(shù)值來(lái)調(diào)整死區(qū)時(shí)間,通過專用的PWM輸出口輸出占空比可調(diào)的帶有死區(qū)的PWM信號(hào)。
將DSP片上集成的多通道緩沖串口配置成SPI模式,與FPGA內(nèi)部的SPI模塊完成數(shù)據(jù)交換,從而完成DSP對(duì)FPGA的控制。此時(shí)DSP上的Mcbsp為SPI通信的主機(jī),F(xiàn)PGA內(nèi)部的SPI模塊為從機(jī),從FPGA讀取數(shù)據(jù)時(shí),只需向從機(jī)發(fā)送偽數(shù)據(jù)。這種通信方式避免了占用大量的DSP I/O口資源,速度快,出錯(cuò)率小。
由于TMS320F2812內(nèi)部集成的12位高速A/D轉(zhuǎn)換器只能輸入電壓范圍在0~3 V以內(nèi)的模擬信號(hào),因此需要對(duì)輸入的雙極性電壓信號(hào)進(jìn)行處理,具體電路如圖2所示。為了提高A/D采樣精度,需要進(jìn)行軟件校準(zhǔn),基本思想是通過采樣已知電壓信號(hào)來(lái)確定偏差。
2.2 FPGA模塊
FPGA(Field-ProgrammableGateArray),即現(xiàn)場(chǎng)可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn)。系統(tǒng)設(shè)計(jì)師可以根據(jù)需要通過可編輯的連接把FPGA內(nèi)部的邏輯塊連接起來(lái),就好像一個(gè)電路試驗(yàn)板被放在了一個(gè)芯片里。一個(gè)出廠后的成品FPGA的邏輯塊和連接可以按照設(shè)計(jì)者而改變,所以FPGA可以完成所需要的邏輯功能。
FPGA選型時(shí)綜合考慮片上邏輯單元、用戶I/O口數(shù)量以及功能擴(kuò)展的需要,根據(jù)前期仿真結(jié)果選用Altera公司的CycloneⅡ系列的EP2C8Q208C8,它具有8 256個(gè)邏輯單元,138個(gè)用戶I/O,36個(gè)M4KRAM和2個(gè)鎖相環(huán),內(nèi)核電壓只有1.2 V,具有低成本、低功耗的特點(diǎn)[8,9].由于FPGA具有高速并行處理能力,所以保證了系統(tǒng)的同步性[10].它的I/O口支持3.3 V LVTTL電平,與DSP管腳電平兼容,因此不用進(jìn)行電平轉(zhuǎn)換,可直接連接,使用方便。
FPGA模塊主要完成伺服控制器的邏輯接口功能,并可以擴(kuò)展通用I/O口數(shù)量,方便功能擴(kuò)展。在此主要實(shí)現(xiàn)4個(gè)模塊:串行通信接口模塊、SPI模塊、D/A接口模塊和中斷控制模塊。其中SPI模塊配置成從機(jī)工作模式,與DSP的Mcbsp配合完成DSP與FPGA的數(shù)據(jù)交換。各模塊獨(dú)立并行工作,并由頂層控制模塊統(tǒng)一協(xié)調(diào)控制,具有速度快、可移植性好的特點(diǎn)。
2.3 D/A轉(zhuǎn)換器模塊
數(shù)模轉(zhuǎn)換器,又稱D/A轉(zhuǎn)換器,簡(jiǎn)稱DAC,它是把數(shù)字量轉(zhuǎn)變成模擬的器件。D/A轉(zhuǎn)換器基本上由4個(gè)部分組成,即權(quán)電阻網(wǎng)絡(luò)、運(yùn)算放大器、基準(zhǔn)電源和模擬開關(guān)。模數(shù)轉(zhuǎn)換器中一般都要用到數(shù)模轉(zhuǎn)換器,模數(shù)轉(zhuǎn)換器即A/D轉(zhuǎn)換器,簡(jiǎn)稱ADC,它是把連續(xù)的模擬信號(hào)轉(zhuǎn)變?yōu)殡x散的數(shù)字信號(hào)的器件。最常見的數(shù)模轉(zhuǎn)換器是將并行二進(jìn)制的數(shù)字量轉(zhuǎn)換為直流電壓或直流電流,它常用作過程控制計(jì)算機(jī)系統(tǒng)的輸出通道,與執(zhí)行器相連,實(shí)現(xiàn)對(duì)生產(chǎn)過程的自動(dòng)控制。數(shù)模轉(zhuǎn)換器電路還用在利用反饋技術(shù)的模數(shù)轉(zhuǎn)換器設(shè)計(jì)中。
根據(jù)轉(zhuǎn)換通道數(shù)、精度和轉(zhuǎn)換速度,D/A轉(zhuǎn)換芯片選擇BURR-BROWN公司的DAC7614.它是12位串行數(shù)模轉(zhuǎn)換器,4路模擬輸出,功耗只有20 mW,單次轉(zhuǎn)換建立時(shí)間10 μs[10].
使用單極性輸出時(shí),采用+5 V供電;雙極性輸出時(shí),采用±5 V供電。在此需要用到雙極性輸出,基準(zhǔn)電壓源選用LM336-2.5,負(fù)電壓基準(zhǔn)采用反相放大方式產(chǎn)生。為避免外電路對(duì)板內(nèi)數(shù)字電路的干擾,需要對(duì)數(shù)字部分進(jìn)行光電隔離。具體電路如圖3所示。
2.4 其他模塊
其他模塊主要包括電源模塊和通信接口模塊。由于該控制器采用單+5 V供電,因此在內(nèi)部需要進(jìn)行電壓轉(zhuǎn)換,主要包括3.3 V、1.9 V和1.2 V以及-5 V和±12 V.其中3.3 V、1.9 V和1.2 V采用的是一般的LDO電壓轉(zhuǎn)換芯片,而-5 V和±12 V則采用開關(guān)電源MC34063.由于DSP要求3.3 V上電在1.9 V之前,在這里選用通過3.3 V轉(zhuǎn)1.9 V的方法,既保證了上電順序,又能提高電源的轉(zhuǎn)換效率。
通信接口模塊包括1路CAN總線,1路RS232和2路RS422.設(shè)計(jì)時(shí)主要保證與系統(tǒng)的其他部分匹配,一般都采用通常的工業(yè)標(biāo)準(zhǔn)。
3 軟件流程
為了提高控制的精度和響應(yīng)速度,在硬件電路基礎(chǔ)上增加位置環(huán)和速度環(huán)。其中位置和位置增量數(shù)據(jù)通過RS422從外部編碼器傳入,速度值數(shù)據(jù)通過由QEP電路產(chǎn)生。此外豐富的模擬信號(hào)輸入通道還可以增加電流環(huán)和其他反饋量,進(jìn)一步提高系統(tǒng)的響應(yīng)速度和穩(wěn)定性。基本軟件流程圖如圖4所示。
系統(tǒng)上電后自動(dòng)初始化各端口和相關(guān)變量,并等待接收上位機(jī)開始指令,接收到開始指令后進(jìn)入準(zhǔn)備狀態(tài)。因?yàn)檎麄€(gè)跟蹤系統(tǒng)需要同步工作才能產(chǎn)生有效的數(shù)據(jù),所以需要等待外部同步脈沖信號(hào),在這里以外部中斷的形式接收。然后逐步完成控制算法。當(dāng)收到結(jié)束指令時(shí)完成所有工作。
本文給出了一種基于DSP和FPGA的光電跟蹤系統(tǒng)伺服控制器的硬件結(jié)構(gòu)和軟件流程。實(shí)驗(yàn)證明,這種結(jié)構(gòu)緊湊靈活,控制算法完全由控制器完成,使用CAN總線方式傳輸上位機(jī)指令,安全可靠,使計(jì)算機(jī)完全從工作現(xiàn)場(chǎng)解脫出來(lái)。
QICK





