文獻標識碼: B
文章編號: 0258-7998(2010)07-0105-04
目前的光電跟蹤伺服系統(tǒng)大都采用PC/104結(jié)構(gòu),它是通過主控計算機完成對目標捕獲跟蹤功能,但是組成實際應(yīng)用的跟蹤伺服系統(tǒng)還要疊加多塊板卡,不僅增大了系統(tǒng)體積,而且精度難以提高,花費昂貴[1]。而DSP正以其高速的數(shù)據(jù)處理能力,豐富的片內(nèi)外資源、方便的開發(fā)環(huán)境,以及低廉的價格在越來越多的計算控制系統(tǒng)中得到應(yīng)用 [2]。總線化是工業(yè)控制系統(tǒng)的一個發(fā)展方向,它在可適用范圍、可擴展性、可維護性以及抗故障能力等方面較集中式控制系統(tǒng)有明顯的優(yōu)越性[3]。因此,本文結(jié)合光電跟蹤伺服系統(tǒng)的特點,提出一種基于DSP與CAN總線結(jié)構(gòu)的伺服控制器。
在高速光電跟蹤系統(tǒng)中,對伺服系統(tǒng)的實時性、精確度和穩(wěn)定性都有很高的要求。實際應(yīng)用中環(huán)境比較復(fù)雜,有大量的信息傳遞,并且需要對電機轉(zhuǎn)速實行精確控制,從而對伺服控制器的多路通信能力、快速運算能力和抗干擾能力都有較高的要求。由于FPGA具有高度靈活的可配置性和邏輯時序控制能力[4],所以這里采用Altera公司Cyclone系列FPGA為輔助處理器,設(shè)計了以TI公司的32位定點數(shù)字信號處理器TMS320F2812為核心, 通過CAN現(xiàn)場總線與上位機通信的跟蹤伺服控制器,并綜合闡述了該控制器的功能、硬件設(shè)計和軟件流程。該控制器具有兩路雙極性模擬信號輸入,兩路單極性模擬信號輸入,四路雙極性模擬信號輸出,可滿足控制兩個三相IGBT的12路PWM輸出,一路CAN總線,三路RS422和一路RS232串行通信口,具有較強的運算能力和數(shù)據(jù)通信能力,是良好的數(shù)字控制系統(tǒng)實驗平臺。
1 總體結(jié)構(gòu)設(shè)計
TMS320F2812是一款專為電機控制所設(shè)計的芯片,片上集成了豐富的片內(nèi)外設(shè)資源。設(shè)計時充分利用了這一特點,簡化了外圍電路,降低了系統(tǒng)的功耗。根據(jù)電路中各部分所實現(xiàn)的功能,將整個控制器大體分為三個部分:處理器部分、外圍通信接口部分和模擬信號處理部分??刂破鞯目傮w硬件結(jié)構(gòu)圖如圖1所示。
圖中,處理器由DSP和FPGA組成,完成板上主要的信息處理。上位機通過CAN總線向控制器發(fā)送指令,并能及時獲得工作狀態(tài)等反饋信息。位置信號與位置增量信號分別通過三個RS422通信口傳給DSP,由DSP作相應(yīng)處理。兩軸的速度和電流反饋信號分別由板上的雙極性和單極性模擬電路采樣得到。DSP與FPGA之間通過DSP的系統(tǒng)外部接口(XINTF)進行數(shù)據(jù)的讀寫。D/A轉(zhuǎn)換器的控制是通過FPGA內(nèi)部的D/A轉(zhuǎn)換接口模塊接收DSP輸出的數(shù)字量實現(xiàn)的;計算機調(diào)試接口采用了一路RS232。
2 硬件電路設(shè)計
2.1 DSP與FPGA模塊
32位定點數(shù)字信號處理器TMS320F21812整合了DSP和微控制器的最佳性能,能夠在一個周期內(nèi)完成32×32位的乘法運算,或兩個16×16位乘法累加運算,處理速度最高可達150 MIPS。它采用高性能靜態(tài)CMOS技術(shù),內(nèi)核電壓為1.8 V@135 MHz, 1.9 V@150 MHz, I/O端口電壓3.3 V[5,6]。其先進的內(nèi)部和外設(shè)結(jié)構(gòu)使得該處理器特別適合電機及其他運動控制應(yīng)用,能夠真正實現(xiàn)單片控制,為電機的伺服控制提供良好的控制功能[7]。
FPGA選型時綜合考慮片上邏輯單元和用戶I/O口數(shù)量,以及功能擴展的需要。這里根據(jù)前期仿真結(jié)果選用Altera公司Cyclone系列的EP1C3T144I7,它具有2 910個邏輯單元,104個用戶I/O和1個鎖相環(huán),內(nèi)核電壓1.5 V,具有低成本、低功耗的特點[8,9]。由于FPGA具有高速并行處理能力,保證了系統(tǒng)的同步性[10]。它的I/O口支持3.3 V LVTTL電平,與DSP管腳電平兼容,因此不用進行電平轉(zhuǎn)換,可直接連接,使用方便。
DSP的功能主要通過軟件實現(xiàn),在此主要實現(xiàn)接收上位機指令,完成位置環(huán)和速度環(huán)反饋的雙閉環(huán)PID控制算法,產(chǎn)生PWM輸出。根據(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信號[11]。
DSP與FPGA之間實時準確的數(shù)據(jù)傳遞是系統(tǒng)成功的一個關(guān)鍵因素。這里選用DSP上的系統(tǒng)外部接口(XINTF)與FPGA連接,在FGPA內(nèi)部配置一個與DSP讀寫時序相對應(yīng)的數(shù)據(jù)讀寫接口。實驗證明,這是一種穩(wěn)定有效的方法。
2.2 CAN總線及其他通信接口模塊
CAN總線具有低成本、易開發(fā)、實時性好以及抗噪聲性能好等優(yōu)點,傳輸速率最高為1 Mb/s,最大傳輸距離為10 km(5 kb/s)。CAN的每幀信息都有CRC校驗及其他檢錯措施,保證了數(shù)據(jù)出錯率低,同時降低了應(yīng)用程序的復(fù)雜程度,從而使通信更加可靠?,F(xiàn)在它逐步發(fā)展成為用于工業(yè)領(lǐng)域控制、通信的現(xiàn)場總線[12]。
由于實際工作環(huán)境較為復(fù)雜,所以選用了抗干擾能力強的CAN總線作為與上位機的通信方式,TMS320F2812內(nèi)部集成了一個eCAN模塊,支持標準的CAN2.0B協(xié)議,只需加相應(yīng)的CAN收發(fā)器外圍電路就可以輕松實現(xiàn)。DSP芯片的CAN總線控制器與CAN物理總線的接口選用PCA82C250驅(qū)動器芯片。為了增強抗干擾能力,保護CAN控制器,在TMS320F2812與PCA82C250之間加高速光隔。光隔離器采用6N137芯片,其速度為10 MHz。硬件電路如圖2所示。
其他通信接口模塊包括一路RS232和三路RS422。設(shè)計時為保證與系統(tǒng)的其他部分匹配,都采用了通常的工業(yè)標準。
2.3 A/D、D/A轉(zhuǎn)換模塊
根據(jù)轉(zhuǎn)換通道數(shù)、精度和轉(zhuǎn)換速度,D/A轉(zhuǎn)換芯片選擇BURR-BROWN公司的DAC7614。它是12位串行數(shù)模轉(zhuǎn)換器,四路模擬輸出,功耗只有20 mW,單次轉(zhuǎn)換建立時間10 μs。使用單極性輸出時,采用+5 V供電;雙極性輸出時,采用±5 V供電。在此需要用到雙極性輸出,基準電壓源選用LM336-2.5,負電壓基準采用反相放大方式產(chǎn)生。為避免外電路對板內(nèi)數(shù)字電路的干擾,需要對數(shù)字部分進行光電隔離。
A/D轉(zhuǎn)換采用TMS320F2812內(nèi)部集成的12位高速A/D轉(zhuǎn)換器。由于它的A/D轉(zhuǎn)換通道只能輸入電壓范圍在0~3 V以內(nèi)的模擬信號,因此需要對輸入的雙極性電壓信號進行處理,具體電路如圖3所示。圖中D1和D3兩個二極管將輸入到DSP的電壓鉗制在0~3.3 V以內(nèi),這樣有效地保護了DSP。同時為了提高A/D的轉(zhuǎn)換精度,采樣時還需要進行軟件校準。原理是由于各A/D通道間的誤差很小,所以將其中的兩個A/D轉(zhuǎn)換通道接在已知的固定電壓信號上,在對信號采樣前,先對這兩個已知的固定電壓信號進行采樣,從而確定A/D的增益和偏移誤差。
3 軟件流程
系統(tǒng)上電后自動初始化各端口和相關(guān)變量,同時檢測兩個軸所停的位置和其他狀態(tài)。如果各部分狀態(tài)正常,則等待接收上位機開始指令,接收到開始指令后進入準備狀態(tài)。因為整個跟蹤系統(tǒng)需要同步工作才能產(chǎn)生有效的數(shù)據(jù),所以需要等待外同步脈沖信號,在這里以外部中斷的形式接收。然后一步步完成控制算法,當收到結(jié)束指令時完成所有工作?;拒浖鞒虉D如圖4所示。
本文給出了一種基于DSP和CAN總線的光電跟蹤系統(tǒng)伺服控制器的硬件結(jié)構(gòu)和軟件流程。實驗證明,這種結(jié)構(gòu)緊湊靈活,控制算法完全由控制器完成,使用CAN總線的方式傳輸上位機指令,安全可靠,易于擴展,使計算機完全從工作現(xiàn)場解脫出來,在工程應(yīng)用中有重要意義。
參考文獻
[1] 李興紅,張淑梅,續(xù)志軍,等.基于TMS320F2812的跟蹤伺服系統(tǒng)[J].微計算機信息, 2007,23(5):147-149.
[2] 陣玉廷,陣長青,肖永鵬.基于DSP 的精密電視跟蹤伺服控制單元[J].長春理工大學(xué)學(xué)報,2004,27(2):121- 123.
[3] 童中華.基于CAN總線的伺服控制系統(tǒng)的研究[D].武漢:武漢科技大學(xué), 2008.
[4] 鄭曉峰,方凱,黃迎華. 一種基于DSP和FPGA的多軸運動控制卡的設(shè)計[J].自動化與儀器儀表,2006(4):18-
20.
[5] 徐科軍, 張瀚, 陳智淵. TMS320X281x原理與應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2006:1-3.
[6] Texas Instruments. TMS320F2812 Digital Signal Processers Data Manual[Z]. 2004.
[7] 蘇奎峰,呂強,耿慶鋒,等.TMS320F2812原理與開發(fā)[M]. 北京:電子工業(yè)出版社,2005:3-5.
[8] Altera Corporation.CycloneⅡ Device handook[Z]. 2007.
[9] 王誠,吳繼華,范麗珍,等.Altera FPGA/CPLD設(shè)計(基礎(chǔ)篇)[M].北京:人民郵電出版社,2005.
[10] 田家林,陳利學(xué),寇向輝.FPGA在運動控制系統(tǒng)中的設(shè)計[J].制造技術(shù)與機床,2007(4):67-69.
[11] 孟浩然,王建立,李洪文.基于TMS320F2812的直流力矩電機伺服系統(tǒng)[J].電子測量技術(shù),2007,30(3):63-65.
[12] 孫劍.基于DSP_CAN總線的數(shù)字伺服控制系統(tǒng)設(shè)計[D].西安:西北工業(yè)大學(xué),2008.