摘 要: 在分析光電跟蹤伺服系統(tǒng)特點的基礎(chǔ)上,以TI公司DSP芯片TMS320F2812作為主控制芯片,采用FPGA進行邏輯時序控制,設(shè)計了基于DSP和FPGA的多軸伺服運動控制器。給出了該控制器的功能和硬件結(jié)構(gòu)以及軟件流程設(shè)計。實驗結(jié)果表明,該控制器具有高集成度、靈活性、實時性、模塊化的特點,完全滿足了在復(fù)雜環(huán)境下對伺服系統(tǒng)控制的要求。
關(guān)鍵詞: 伺服控制; DSP; FPGA; 閉環(huán)控制
在高速光電跟蹤系統(tǒng)中,對伺服系統(tǒng)的高速性、精確度和穩(wěn)定性都有很高的要求。為了提高跟蹤精度,越來越多的控制算法被應(yīng)用于伺服系統(tǒng)中,因此要求控制器能在很短的時間內(nèi)完成大量的運算[1]。DSP具有較強的運算能力,而FPGA具有高度靈活的可配置性和邏輯時序控制能力[2]。因此在很多伺服控制器中,“DSP+FPGA”結(jié)構(gòu)得到了廣泛的應(yīng)用。
實際應(yīng)用環(huán)境一般比較復(fù)雜,有大量的信息傳遞,并且需要對電機轉(zhuǎn)速實行精確控制,因此對伺服控制器的多路通信能力,快速運算能力和抗干擾能力都有較高的要求。為了解決這一問題,提供一個較好的實驗平臺,本文結(jié)合光電跟蹤伺服系統(tǒng)的特點,提出一種以TI公司的32位定點數(shù)字信號處理器TMS320F2812為核心,以Altera公司CycloneⅡ系列FPGA為輔助處理器結(jié)構(gòu)的跟蹤伺服控制器,并綜合闡述了該控制器的功能、硬件設(shè)計和軟件流程。該控制器采用單+5 V供電,具有6路模擬信號輸入、4路模擬信號輸出、多路PWM輸出、1路CAN總線、2路RS422和1路RS232串行通信口,具有較強的運算能力和數(shù)據(jù)通信能力,是良好的數(shù)字控制系統(tǒng)實驗平臺。
1 總體結(jié)構(gòu)設(shè)計
TMS320F2812作為一款專為電機控制所設(shè)計的芯片,不僅具有運算速度快的特點,而且集成了豐富的片內(nèi)外設(shè)資源[3]。設(shè)計時綜合考慮DSP片上資源的充分利用、系統(tǒng)的模塊化和可移植性等特點,將整個控制器大體分為4個部分:DSP模塊、FPGA模塊、D/A轉(zhuǎn)換模塊和通信接口模塊??刂破鞯目傮w硬件結(jié)構(gòu)如圖1所示。
從圖1中可以看出,DSP通過CAN總線接收上位機指令;位置信號通過兩路RS422通信口傳給DSP作相應(yīng)處理;速度信號是由DSP片上集成的QEP電路對電機產(chǎn)生的正交編碼脈沖信號進行解碼獲得;DSP輸出的PWM信號與FPGA相連,通過FPGA內(nèi)部的保護模塊后經(jīng)光電隔離輸出到功率放大模塊。外部中斷經(jīng)FPGA片內(nèi)中斷控制邏輯后輸出到DSP外部中斷管腳上;DSP與FPGA之間的數(shù)據(jù)交換通過DSP片上的多通道緩沖串口(Mcbsp)來實現(xiàn);D/A轉(zhuǎn)換器控制由FPGA內(nèi)部的D/A轉(zhuǎn)換接口模塊接收DSP傳來的數(shù)字量并控制邏輯時序;計算機調(diào)試接口采用RS232。
2 硬件電路設(shè)計
2.1 DSP模塊
32位定點數(shù)字信號處理器TMS320F2812整合了DSP和微控制器的最佳性能,能夠在一個周期內(nèi)完成32×32 bit的乘法運算,或2個16×16 bit乘法累加運算,處理速度最高可達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]。其先進的內(nèi)部和外設(shè)結(jié)構(gòu)使得該處理器特別適合電機及其他運動控制應(yīng)用,能夠真正實現(xiàn)單片控制,為電機的伺服控制提供了良好的控制功能[6]。[!--empirenews.page--]
DSP的功能主要通過軟件實現(xiàn),在此主要實現(xiàn)接收上位機指令,完成位置環(huán)和速度環(huán)反饋的雙閉環(huán)控制算法,以及速度的PID調(diào)節(jié),產(chǎn)生PWM輸出。由于實際工作環(huán)境較為復(fù)雜,所以選用了抗干擾能力強的CAN總線作為與上位機的通信方式,TMS320F2812內(nèi)部集成了一個eCAN模塊,只需增加相應(yīng)的CAN收發(fā)器外圍電路就可以實現(xiàn)通信。根據(jù)系統(tǒng)采樣頻率調(diào)整事件管理器的定時器,控制寄存器的控制字來設(shè)定PWM工作方式和頻率,通過調(diào)整比較寄存器的數(shù)值來改變PWM的占空比,根據(jù)功率驅(qū)動電路的驅(qū)動芯片來設(shè)置死區(qū)控制寄存器的數(shù)值來調(diào)整死區(qū)時間,通過專用的PWM輸出口輸出占空比可調(diào)的帶有死區(qū)的PWM信號[7]。
將DSP片上集成的多通道緩沖串口配置成SPI模式,與FPGA內(nèi)部的SPI模塊完成數(shù)據(jù)交換,從而完成DSP對FPGA的控制。此時DSP上的Mcbsp為SPI通信的主機,F(xiàn)PGA內(nèi)部的SPI模塊為從機,從FPGA讀取數(shù)據(jù)時,只需向從機發(fā)送偽數(shù)據(jù)。這種通信方式避免了占用大量的DSP I/O口資源,速度快,出錯率小。
由于TMS320F2812內(nèi)部集成的12位高速A/D轉(zhuǎn)換器只能輸入電壓范圍在0~3 V以內(nèi)的模擬信號,因此需要對輸入的雙極性電壓信號進行處理,具體電路如圖2所示。為了提高A/D采樣精度,需要進行軟件校準,基本思想是通過采樣已知電壓信號來確定偏差。
2.2 FPGA模塊
FPGA選型時綜合考慮片上邏輯單元、用戶I/O口數(shù)量以及功能擴展的需要,根據(jù)前期仿真結(jié)果選用Altera公司的CycloneⅡ系列的EP2C8Q208C8,它具有8 256個邏輯單元,138個用戶I/O,36個M4KRAM和2個鎖相環(huán),內(nèi)核電壓只有1.2 V,具有低成本、低功耗的特點[8,9]。由于FPGA具有高速并行處理能力,所以保證了系統(tǒng)的同步性[10]。它的I/O口支持3.3 V LVTTL電平,與DSP管腳電平兼容,因此不用進行電平轉(zhuǎn)換,可直接連接,使用方便。
FPGA模塊主要完成伺服控制器的邏輯接口功能,并可以擴展通用I/O口數(shù)量,方便功能擴展。在此主要實現(xiàn)4個模塊:串行通信接口模塊、SPI模塊、D/A接口模塊和中斷控制模塊。其中SPI模塊配置成從機工作模式,與DSP的Mcbsp配合完成DSP與FPGA的數(shù)據(jù)交換。各模塊獨立并行工作,并由頂層控制模塊統(tǒng)一協(xié)調(diào)控制,具有速度快、可移植性好的特點。
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)換建立時間10 μs[10]。[!--empirenews.page--]
使用單極性輸出時,采用+5 V供電;雙極性輸出時,采用±5 V供電。在此需要用到雙極性輸出,基準電壓源選用LM336-2.5,負電壓基準采用反相放大方式產(chǎn)生。為避免外電路對板內(nèi)數(shù)字電路的干擾,需要對數(shù)字部分進行光電隔離。具體電路如圖3所示。
2.4 其他模塊
其他模塊主要包括電源模塊和通信接口模塊。由于該控制器采用單+5 V供電,因此在內(nèi)部需要進行電壓轉(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è)計時主要保證與系統(tǒng)的其他部分匹配,一般都采用通常的工業(yè)標(biāo)準。
3 軟件流程
為了提高控制的精度和響應(yīng)速度,在硬件電路基礎(chǔ)上增加位置環(huán)和速度環(huán)。其中位置和位置增量數(shù)據(jù)通過RS422從外部編碼器傳入,速度值數(shù)據(jù)通過由QEP電路產(chǎn)生。此外豐富的模擬信號輸入通道還可以增加電流環(huán)和其他反饋量,進一步提高系統(tǒng)的響應(yīng)速度和穩(wěn)定性?;拒浖鞒虉D如圖4所示。
系統(tǒng)上電后自動初始化各端口和相關(guān)變量,并等待接收上位機開始指令,接收到開始指令后進入準備狀態(tài)。因為整個跟蹤系統(tǒng)需要同步工作才能產(chǎn)生有效的數(shù)據(jù),所以需要等待外部同步脈沖信號,在這里以外部中斷的形式接收。然后逐步完成控制算法。當(dāng)收到結(jié)束指令時完成所有工作。
本文給出了一種基于DSP和FPGA的光電跟蹤系統(tǒng)伺服控制器的硬件結(jié)構(gòu)和軟件流程。實驗證明,這種結(jié)構(gòu)緊湊靈活,控制算法完全由控制器完成,使用CAN總線方式傳輸上位機指令,安全可靠,使計算機完全從工作現(xiàn)場解脫出來。