Global Sources
電子工程專輯
 
電子工程專輯 > 處理器/DSP
 
 
處理器/DSP  

DSP+FPGA在高速高精密運動控制器中的應用

上網時間: 2004年04月21日     打印版  Bookmark and Share  字型大小:  

關鍵字:DSP  FPGA  高速高精運動控制器  數位訊號處理器  可程式邏輯元件 

摘要數位訊號處理器具有高效的數值運算能力,並能提供良好的開發環境,而可程式邏輯元件具有高度靈活的可配置性。本文描述採用TMS320C32浮點DSP和可程式邏輯元件(FPGA)的組合來構成高速高精密運動控制器,該系統透過B樣條插值演算法對運動曲線進行平滑處理以及運用離散PID演算法對運動過程加以控制。

關鍵詞:運動控制; DSP; FPGA; B樣條插值; PID

Application of Movement-Control System Based on DSP and FPGA


Zhu Xian-xin , Huang Tao , Deng Qi-hui, Lu Luo-xian


(WuHan University of Technology,Institute of Intellegent Information System , Wuhan, 430070, China)

Abstract: Digital signals processor can process numerical simulation reliability, provides favorable environment for delevlopment, and FPGA(field programmable gate array) can collocated flexible.This paper describes movement-control system based on TMS320C32 and FPGA. It smoothes motional curve through algorithm of B-Spline interpolation and controls motional process by means of PID.

Key words: movement-control; DSP; FPGA; B-Spline; PID

運動控制卡已經在數控機床、工業機器人、醫用設備、繪圖儀、IC製造設備、IC封裝等領域獲得了廣泛的運用。目前運動控制卡大部份採用8051系列的8位元微控制器,雖然節省了開發周期,但缺乏靈活性,難以勝任要求較高的運作環境,而且運算能力也有限。

DSP的資料運算處理功能強大,即使在很複雜的控制中,採樣周期也可以取得很小,控制效果更接近於連續系統。把DSP與PC的各自優勢結合將是高性能數控系統的發展趨勢。本運動控制器採用TI公司的高性能浮點DSP作為主控晶片,透過ISA介面與PC協調並進行資料交換,以PC電腦作為基本平台,以DSP高速運動控制卡作細插補(interpolation)、伺服控制的核心,對直線電機的運動進行控制,因而取得較好的實際應用效果。

1. 高速高精密運動控制卡的主要硬體結構

本運動控制系統的任務是控制直線電機的運動,要求4軸輸入和4軸輸出,採用光柵尺對輸入記數,16位元平行高速DA輸出,運動定位精密度要求達到10nm,響應時間<100ns。

高速直線電機是本系統的控制對象,它具有加速快(a>10g)、運動速度高(v>300mm/s)的特色。要求控制系統有足夠短的響應時間(<100ns)和足夠高的定位精密度(10nm級),因而系統的核心CPU的處理能力及運算能力必須滿足高速要求;此外,直線電機運動定位的核心是高精密度的反饋控制裝置。直線電機的反饋控制裝置是光柵尺和高精密度脈衝計數器,光柵尺發出與運動距離成線性關係的脈衝數,脈衝計數器的計數值表示直線電機目前的運動位置。

經運算,計數長度為28位元的計數器才能滿足定位的精密度要求,同時計數頻率很高。一般的通用計數器參數無法達到,所以設計一個特殊計數器是必要的。為了方便設置目標點的運動參數,使運動控制卡具有比較好的人機交互功能,系統必須具有與PC通訊的功能。

考慮上述要求,系統的設計採用DSP+FPGA的形式,由DSP主控晶片作為中央處理模組,FPGA作為反饋計數模組且負責板上的部份邏輯譯碼工作,PC通訊介面模組採用雙埠RAM,輸出模組用D/A轉換器實現,如圖1所示。

1.1 DSP模組

採用DSP的運動控制系統一般採用TI公司的TMS320C24x系列晶片,但24x系列是16位元定點處理器,運算能力有限。不能滿足本系統規劃的高速高精要求,為此,我們選用了TI公司的TMS320C32 DSP作為主控晶片。

TMS320C3X系列晶片是TI公司推出的第一代浮點DSP晶片,具有豐富的指令集、很高的運算速度、較大的錄址空間和較高的性能價格比。TMS320C32是TMS320系列浮點數位訊號處理器的新產品,在TMS320C30和TMS320C31的基礎上進行了簡化和改進。在結構上的改進主要包括可變寬度的記憶體介面、更快速的指令周期時間、可設置優先級的雙通道DMA處理器、靈活的引導程式裝入方式、可重新定位的中斷向量表以及可選的邊緣/電平觸發中斷方式等。

對TMS320C32的開發可以用組合語言,也可以用C語言。使用組合語言的優點在於執行速度快、可以充分利用晶片的硬體特色,但開發速度較慢,程式的可讀性差;而C語言的優勢在於編程容易、除錯快速、可讀性好,可以大幅縮短開發周期,但C語言對於其片內沒有映射地址的特殊功能暫存器不能作業,如IF和IE,AR0∼AR7等。

1.2 FPGA模組

該部份主要功能為一個4通道的針對光柵尺的脈衝計數器,此外,還負責部份地址譯碼的工作。但由於脈衝計數頻率高,計數量大,所以必須選擇高容量、高性能的可程式邏輯元件。

ALTERA FLEX(Flexibl Logic Element Matrix)10K 系列FPGA,規模從一萬閘到十萬閘,可提供720∼5392個觸發器及6144∼24576位元RAM,提供30ns、40ns及50ns等幾個速率等級,可適應18∼105MHz的訊號處理速率。ALTERA FLEX10K系列FPGA主要由輸入輸出單元IOE、嵌入陣列EAB、邏輯陣列LAB及內部連線組成。EAB是在輸入和輸出口加有暫存器的RAM塊,其容量可靈活變化。所以,EAB不僅可以用於記憶體,還可以事先寫入查表值來用它構成如乘法器、糾錯邏輯等電路。當用於RAM時,EAB可配製成多種形式的字寬和容量。

LAB主要用於邏輯電路設計,一個LAB包括8個邏輯單元LE,每一個LAB提供4個控制訊號及其反相訊號,其中兩個適用於時脈訊號。每一個LE包括組合邏輯及一個可程式觸發器。觸發器可被配置成D、T、JK、RS等各種形式。IOE提供全局的時脈及清零訊號輸入口,還提供具有可程式性的各種輸入輸出口,如低雜訊埠、高速埠等。

FLEX10K系列晶片是ALTERA公司新近推出的FPGA產品。與ALTERA公司先前推出的MAX7000系列CPLD相較,FLEX10K(以下簡稱10K)系列具有更加豐富的內部資源(最多可達10萬閘),更加充裕的可配置的I/O接腳(最多達406條)。再加上其低廉的價格,使得10K系列晶片受到越來越多用戶的歡迎。

採用以上原因,我們在本方案中採用ALTERA FLEX10K10,並且考慮到以後設計連續性,我們可以無須更改硬體電路,就可以更換性能更高的、相同尺寸、相同接腳配置的ALTERA FLEX10K20。

1.3 PC通訊介面模組

該模組選用16位元的ISA匯流排與PC相連,CY7C133雙埠RAM作為資料緩衝。

因為ISA匯流排的使用十分靈活方便,而且I/O作業比較簡單。雖然ISA匯流排的接腳多且並不是都要用到的,但關鍵是幾個固定接腳的應用,例如:I/O CH RDY、I/OR、I/OW、ALE、資料線和地址線,結合起來就能實現通訊。

在本系統中,雙埠RAM的PC端地址線並沒有直接採用ISA過來的地址線,而是由FPGA內部地址計數器提供。這是因為,ISA匯流排上大部份地址都已經被PC系統分配好,直接把2K的雙埠RAM資料空間映射到ISA匯流排上並不現實;而且控制系統與PC交換的資料基本上是一系列加工點的坐標參數,採用順序存取對性能沒有影響。因此採用地址計數器方式的順序存取,完全能夠達到設計要求。

實際的做法是:ISA地址線的A2∼A9接到地址比較器74LS688,與設定好的地址作比較,74LS688的片選訊號由ISA的IOR和IOW的「與」提供(IOR和IOW在ISA匯流排存取埠時低有效),A0,A1接到FPGA,用於選擇FPGA內部4個功能不同的暫存器。ISA的ALE用於觸發FPGA內部邏輯功能,鎖存ISA匯流排過來的訊號。

當存取地址清零暫存器時,地址計數值清零;當存取地址增加暫存器時,地址計數值增加「1」。如此類推,存取不同的暫存器就對地址計數值完成不同的作業,把地址計數值直接作為地址送給雙埠RAM,就可以實現ISA匯流排存取雙埠RAM了。

1.4 輸出模組

輸出模組採用模擬輸出,經外部放大驅動電機的方案。D/A轉換晶片選擇DAC7744。

DAC7744是高性能的4通道16位元高速D/A,主要特色如下:

  • 輸出通道:獨立4 路

  • 輸出訊號範圍:0∼5V;0∼10V*;±5V;±10V

  • 輸出阻抗:≦2Ω

  • D/A轉換元件:DAC7744

  • D/A轉換解析度:16位元

  • D/A轉換碼制:二進制原碼(單極性) 二進制偏移碼(雙載子性)

  • D/A轉換時間:≦1uS

  • D/A轉換整合誤差:≦0.02? FSR

  • 電壓輸出方式負載能力:5mA/每路

1.5 儲存模組

儲存模組用於儲存系統程式和資料,主要由SRAM(2片CY7C1021)和FLASH(AM29F400B)組成。週邊儲存電路如圖3所示:

2. 軟體設計

該運動控制卡應用時插在工控機的ISA槽上,與主控單元配合工作。首先在上位NC機輸入加工曲線,由主控單元做粗插補,然後把資料透過ISA介面傳遞給控制卡。控制卡對接收到的資料再做細插補,採用三次B樣條插值然後發送給DA,驅動電機運動。DSP透過FPGA進行脈衝計數,讀出直線電機光柵尺的反饋資訊,然後採用離散PID控制演算法調整,以便於電機運動控制的最最佳化。

運動控制演算法的核心是先用B樣條插值法把目標點進一步細化,使運動曲線更平滑,然後在運動過程中採用PID算法進行調整,最終達到高速高精的設計要求。

2.1 B樣條插值

目前許多先進的CAD/CAM系統都採用了B樣條曲線。其特色是,可用統一的數學形式精確表示分析曲線(如直線,圓錐曲線等)和自由曲線(如均勻B樣條曲線等),因而便於用統一的資料庫管理、儲存,程式量可以大幅減少;非均勻B樣條曲線定義中的權因子使外形設計更加靈活方便,設計人員透過調整具有直觀幾何意義的點、線、面元素即可達到預期的效果。

本系統採用三次B樣條曲線作為精插補演算法,該演算法應用在控制卡中可以得到比較滿意的效果。運算過程中只需要相鄰4個點的位置資料,就可以構造出平滑的曲線。公式以坐標分量形式表示為:

2.2 PID控制

在控制領域中,PID控制演算法是一種常用的演算法,PID是比例、積分、微分的縮寫。PID的合理的參數估計、比較,可以透過MATLAB的傳遞函數模型模擬來得到。

由於該系統是數位系統,採用的都是數位量,所以必須把PID演算法離散化才能使用。又由於系統的儲存空間有限,演算法的儲存空間開銷不能太大,所以採用了離散化的增量式PID算法。該演算法在運算過程中只需要保留最近3次的誤差資料,就能夠推導出下一次的輸出量,節省了大量的資料空間,提高了運算速度,有很強實用價值。

公式如下:

μ( k ),μ( k-1 )分別是k和k-1時刻的輸出量,在系統中展現為DA的輸出量。

e( k ),e( k-1 ),e( k-2 )分別是k,k-1,k-2 時刻的偏差值,在系統中展現為該時刻實際位置與目標位置的偏差。是PID公式的常量,不同的數值代表著PID系統的微分、積分、比例調節作用的強度和效果。

3. 小結

在開放式數控系統中應用採用DSP+FPGA的運動控制卡,DSP負責了CNC系統中即時性要求較高的模組功能。利用DSP高速運算能力和即時訊號處理能力,採用先進的Bspline插補演算法,使該DSP運動控制卡具有高速、高精密度的性能,結合FPGA晶片的先進技術,使該運動控制卡的整合性、可靠性大幅提高。本運動控制卡目前是採用ISA匯流排設計,今後將考慮把該系統移植到PCI匯流排上,將能進一步提高系統的處理速度能力,適應更高要求。

參考文獻


[1]TMS320C3x User's Guide, Texas Instruments, 2001


[2]TMS320C3x General-Purpose Applications, Texas Instruments, 2001


[3]孫家廣. 電腦圖形學. 清華大學出版社


[4]解旭輝. 超精機床數控系統與伺服控制技術研究[D]. 長沙:國防科技大學 1997


[5]來曉嵐, 趙佳明, 盧煥章. DSP+FPGA即時訊號處理系統, 電子技術應用 2002年7期


[6]胡育文, 陳巨集, 顧毅康. 採用DSP的電機控制器設計中的幾個問題. 中國大陸自動化學會 1999年10期


[7]潘日紅, 潘日晶. 周期B樣條曲線的快速遞推升階方法. 福建師範大學學報(自然科學版) 2001年04期


[8]劉金琨. 先進PID控制及其MATLAB模擬. 電子產業出版社 2003

作者簡介


朱顯新(1977-),男,湖北人,碩士研究生,主要研究方向:嵌入式系統應用


黃濤(1968-),男,湖北人,副教授,主要研究方向:嵌入式系統應用


鄧啟輝(1979-),男,廣東人,碩士研究生,主要研究方向:訊號處理


盧珞先(1962-),女,湖北人,副教授,主要研究方向:訊號處理

聯絡方式


地址:武漢理工大學馬房山校區286信箱 朱顯新


郵編:430070


EMAIL:Insighter@163.com




投票數:   加入我的最愛
我來評論 - DSP+FPGA在高速高精密運動控制器中的應...
評論:  
*  您還能輸入[0]個字
*驗證碼:
 
論壇熱門主題 熱門下載
 •   將邁入40歲的你...存款多少了  •  深入電容觸控技術就從這個問題開始
 •  我有一個數位電源的專利...  •  磷酸鋰鐵電池一問
 •   關於設備商公司的工程師(廠商)薪資前景  •  計算諧振轉換器的同步整流MOSFET功耗損失
 •   Touch sensor & MEMS controller  •  針對智慧電表PLC通訊應用的線路驅動器
 •   下週 深圳 llC 2012 關於PCB免費工具的研討會  •  邏輯閘的應用


EE人生人氣排行
 
返回頁首