《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于DSP與FPGA的跟蹤伺服運(yùn)動(dòng)控制器設(shè)計(jì)
基于DSP與FPGA的跟蹤伺服運(yùn)動(dòng)控制器設(shè)計(jì)
代根學(xué)1,2 , 劉朝暉1, 劉 軍1
1.中國(guó)科學(xué)院西安光學(xué)精密機(jī)械研究所 光電測(cè)控室, 陜西 西安 710119;2.中國(guó)科學(xué)院研究生院 北京 100039
摘要: 在分析光電跟蹤伺服系統(tǒng)特點(diǎn)的基礎(chǔ)上,以TI公司DSP芯片TMS320F2812作為主控制芯片,采用FPGA進(jìn)行邏輯時(shí)序控制,設(shè)計(jì)了基于DSP和FPGA的多軸伺服運(yùn)動(dòng)控制器。給出了該控制器的功能和硬件結(jié)構(gòu)以及軟件流程設(shè)計(jì)。實(shí)驗(yàn)結(jié)果表明,該控制器具有高集成度、靈活性、實(shí)時(shí)性、模塊化的特點(diǎn),完全滿足了在復(fù)雜環(huán)境下對(duì)伺服系統(tǒng)控制的要求。
中圖分類號(hào): TP302
文獻(xiàn)標(biāo)識(shí)碼: B
Design of tracking servo controller based on DSP and FPGA
DAI Gen Xue1,2 LIU Zhao Hui1 LIU Jun1
1. Measurement and Control Section of Electro-Optic, Xi’an Institute of Optics and Precision Mehanics of CAS,Xi′an 710071, China;2. Graduate School, Chinese Aacdemy of Sciences, Beijiing 100039, China
Abstract: The fatures of opto-electric tracking servo system is analyzed, regards TI′s DSP chip TMS320F2812 as the main chip, adopted FPGA for logical and sequential control, tracking servo controller based on DSP and FPGA has designed. The function and hardware struction of the controller, and software flow design has been given. The practice proved that the controller has four advantage: high integration, flexible, timing, and modularization. The controller satisfied the servo system perfectly in complicated condition.
Key words : servo control; DSP; FPGA; closed-loop control

    在高速光電跟蹤系統(tǒng)中,對(duì)伺服系統(tǒng)的高速性、精確度和穩(wěn)定性都有很高的要求。為了提高跟蹤精度,越來越多的控制算法被應(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)算能力和抗干擾能力都有較高的要求。為了解決這一問題,提供一個(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)換模塊和通信接口模塊。控制器的總體硬件結(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)來實(shí)現(xiàn);D/A轉(zhuǎn)換器控制由FPGA內(nèi)部的D/A轉(zhuǎn)換接口模塊接收DSP傳來的數(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的功能主要通過軟件實(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í)器,控制寄存器的控制字來設(shè)定PWM工作方式和頻率,通過調(diào)整比較寄存器的數(shù)值來改變PWM的占空比,根據(jù)功率驅(qū)動(dòng)電路的驅(qū)動(dòng)芯片來設(shè)置死區(qū)控制寄存器的數(shù)值來調(diào)整死區(qū)時(shí)間,通過專用的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),基本思想是通過采樣已知電壓信號(hào)來確定偏差。


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之前,在這里選用通過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)定性?;拒浖鞒虉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)解脫出來。

參考文獻(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.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。