文獻(xiàn)標(biāo)識(shí)碼: B
在高速光電跟蹤系統(tǒng)中,對(duì)伺服系統(tǒng)的高速性、精確度和穩(wěn)定性都有很高的要求。為了提高跟蹤精度,越來(lái)越多的控制算法被應(yīng)用于伺服系統(tǒng)中,因此要求控制器能在很短的時(shí)間內(nèi)完成大量的運(yùn)算[1]。DSP具有較強(qiáng)的運(yùn)算能力,而FPGA具有高度靈活的可配置性和邏輯時(shí)序控制能力[2]。因此在很多伺服控制器中,“DSP+FPGA”結(jié)構(gòu)得到了廣泛的應(yīng)用。
實(shí)際應(yīng)用環(huán)境一般比較復(fù)雜,有大量的信息傳遞,并且需要對(duì)電機(jī)轉(zhuǎn)速實(shí)行精確控制,因此對(duì)伺服控制器的多路通信能力,快速運(yùn)算能力和抗干擾能力都有較高的要求。為了解決這一問(wè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作為一款專為電機(jī)控制所設(shè)計(jì)的芯片,不僅具有運(yùn)算速度快的特點(diǎn),而且集成了豐富的片內(nèi)外設(shè)資源[3]。設(shè)計(jì)時(shí)綜合考慮DSP片上資源的充分利用、系統(tǒng)的模塊化和可移植性等特點(diǎn),將整個(gè)控制器大體分為4個(gè)部分:DSP模塊、FPGA模塊、D/A轉(zhuǎn)換模塊和通信接口模塊??刂破鞯目傮w硬件結(jié)構(gòu)如圖1所示。
從圖1中可以看出,DSP通過(guò)CAN總線接收上位機(jī)指令;位置信號(hào)通過(guò)兩路RS422通信口傳給DSP作相應(yīng)處理;速度信號(hào)是由DSP片上集成的QEP電路對(duì)電機(jī)產(chǎn)生的正交編碼脈沖信號(hào)進(jìn)行解碼獲得;DSP輸出的PWM信號(hào)與FPGA相連,通過(guò)FPGA內(nèi)部的保護(hù)模塊后經(jīng)光電隔離輸出到功率放大模塊。外部中斷經(jīng)FPGA片內(nèi)中斷控制邏輯后輸出到DSP外部中斷管腳上;DSP與FPGA之間的數(shù)據(jù)交換通過(guò)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模塊
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的功能主要通過(guò)軟件實(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工作方式和頻率,通過(guò)調(diào)整比較寄存器的數(shù)值來(lái)改變PWM的占空比,根據(jù)功率驅(qū)動(dòng)電路的驅(qū)動(dòng)芯片來(lái)設(shè)置死區(qū)控制寄存器的數(shù)值來(lái)調(diào)整死區(qū)時(shí)間,通過(guò)專用的PWM輸出口輸出占空比可調(diào)的帶有死區(qū)的PWM信號(hào)[7]。
將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),基本思想是通過(guò)采樣已知電壓信號(hào)來(lái)確定偏差。
2.2 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)換器模塊
根據(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之前,在這里選用通過(guò)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ù)通過(guò)RS422從外部編碼器傳入,速度值數(shù)據(jù)通過(guò)由QEP電路產(chǎn)生。此外豐富的模擬信號(hào)輸入通道還可以增加電流環(huán)和其他反饋量,進(jìn)一步提高系統(tǒng)的響應(yīng)速度和穩(wěn)定性?;拒浖鞒虉D如圖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)。
參考文獻(xiàn)
[1] 李興紅,張淑梅,續(xù)志軍,等.基于TMS320F2812的跟蹤伺服系統(tǒng)[J].微計(jì)算機(jī)信息,2007,23(5):147-149.
[2] 鄭曉峰,方凱,黃迎華.一種基于DSP和FPGA的多軸運(yùn)動(dòng)控制卡的設(shè)計(jì)[J].自動(dòng)化與儀器儀表,2006(4):18-
20.
[3] 張龍,王延年,陳棟森.基于TMS320F2812的雙機(jī)高速數(shù)據(jù)采集與控制系統(tǒng)的設(shè)計(jì)[J].西安工程大學(xué)學(xué)報(bào),2008,22(3):321-323.
[4] 徐科軍,張瀚,陳智淵.TMS320X281x原理與應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2006:1-3.
[5] Texas Instruments.TMS320F2812 Digital Signal Processers Data Manual[Z].2004.
[6] 蘇奎峰,呂強(qiáng),耿慶鋒,等.TMS320F2812原理與開發(fā)[M]. 北京:電子工業(yè)出版社,2005:3-5.
[7] 孟浩然,王建立,李洪文.基于TMS320F2812的直流力矩電機(jī)伺服系統(tǒng)[J].電子測(cè)量技術(shù),2007,30(3):63-65.
[8] Altera Corporation.CycloneⅡ Device handook[Z]. 2007.
[9] 王誠(chéng),吳繼華,范麗珍,等.Altera FPGA/CPLD設(shè)計(jì)(基礎(chǔ)篇)[M].北京:人民郵電出版社,2005:63-65.
[10] 田家林,陳利學(xué),寇向輝.FPGA在運(yùn)動(dòng)控制系統(tǒng)中的設(shè)計(jì)[J].制造技術(shù)與機(jī)床,2007(4):67-69.