技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國(guó)傳動(dòng)網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 基于FPGA的運(yùn)動(dòng)控制卡的設(shè)計(jì)和實(shí)現(xiàn)

基于FPGA的運(yùn)動(dòng)控制卡的設(shè)計(jì)和實(shí)現(xiàn)

時(shí)間:2009-04-05 22:37:27來(lái)源:hesp

導(dǎo)語(yǔ):?基于FPGA的運(yùn)動(dòng)控制卡的設(shè)計(jì)和實(shí)現(xiàn)

引 言

傳統(tǒng)的運(yùn)動(dòng)控制卡多采用單片機(jī)作 為微 處理器,通過(guò)一些大規(guī)模集成 電路實(shí)現(xiàn)對(duì)伺服電機(jī)的控制。由于其結(jié) 構(gòu)較為復(fù)雜 ,因此在工作時(shí),存在高頻響應(yīng)慢、控制精度低 等缺點(diǎn)。

本文提出 一 種以FPGA(field-programma b l e g a t e a r r a y )和接口芯片為核心硬件的運(yùn)動(dòng)控制卡,內(nèi)部硬件接口和算法通過(guò)對(duì)FPGA的編程實(shí)現(xiàn)。這樣 ,既能很好地克服傳統(tǒng)運(yùn)動(dòng)控制存在的缺點(diǎn) ,又在靈活性和移植性等方面得到了很大的提高 。

硬件構(gòu)成與設(shè)計(jì)

1 構(gòu)成本文所述的運(yùn) 動(dòng)控 制卡是接口卡“ ,用Altera公司生產(chǎn) 的型號(hào) 為的FPGA作 為編程邏 輯器件,實(shí)現(xiàn)所有 的硬件算法和 反饋 信號(hào)的檢測(cè)。采用脈沖加方向 的閉環(huán)控制方式對(duì)電機(jī)進(jìn)行控制整個(gè)運(yùn)動(dòng)控制卡 系統(tǒng)可用圖 1描述 。

2 設(shè)計(jì)運(yùn)動(dòng)控制卡硬件電路描述和設(shè)計(jì)時(shí),嚴(yán)格按照同步時(shí)序設(shè)計(jì)原則 , 而且核心電路用D觸發(fā)器實(shí)現(xiàn) , 電路的主要信號(hào)由時(shí)鐘的上升沿觸發(fā)器產(chǎn)生。這樣可以很好地避免毛刺,并且在布局后仿真和用高速邏輯分析儀采樣實(shí)際工作信號(hào)皆無(wú)毛刺。在高速變化 的分頻倍 數(shù)數(shù)據(jù)流控制 時(shí),為了保證整個(gè)系統(tǒng) 的分頻輸出的實(shí)時(shí)性 ,采用如圖 2所示的” 乒乓操作。‘ 技巧 。在奇數(shù)( 2 n +1 )個(gè)緩沖周期 時(shí),輸入 的數(shù)據(jù)流緩 沖到和從 RAMII取出數(shù)據(jù)到運(yùn)算模塊 。在第偶數(shù)( 2 n ) 個(gè)緩沖周期 ,將數(shù)據(jù)流緩 沖到 RAMI I ,將 R AM1里 的數(shù) 據(jù)通過(guò) “ 數(shù)據(jù)輸 出選擇單元” 的選擇, 送到最后的分頻和計(jì)數(shù)的運(yùn)算模塊進(jìn)行計(jì)算輸出。如此循環(huán), 周而復(fù)始。這種流水線(xiàn)式算法, 可以完成數(shù)據(jù) 的無(wú)縫緩沖 與處理 。

本文所 述的運(yùn)動(dòng) 控制 卡共涉及 總線(xiàn) 控制器、 分頻器 、 定時(shí)器、 反饋 控制等 4個(gè)模塊 , 其 原理圖如 圖3所示 ??偩€(xiàn) 控制器完成 P C1 9 0 5 4 局部總線(xiàn) 的仲裁 邏輯 、地址譯碼和數(shù) 據(jù)流控制 ,使 P C I 數(shù)據(jù) 總線(xiàn) 上的數(shù)據(jù) 正確 地被 譯碼到各分控 制模塊進(jìn)行運(yùn)算輸出。定時(shí)器實(shí)現(xiàn)硬件定時(shí), 計(jì)算機(jī)通過(guò)驅(qū)動(dòng)程序給運(yùn)動(dòng)控制卡輸入一時(shí)間值和一個(gè)表示計(jì)時(shí)開(kāi)始的控制字,運(yùn)動(dòng)控 制卡開(kāi)始 計(jì)時(shí) , 在 計(jì)時(shí) 完成時(shí) , 通 過(guò)產(chǎn)生 硬件 中斷方式 0 , 進(jìn)入 中斷服務(wù)程序 , 從而 實(shí)現(xiàn) 電機(jī) 的轉(zhuǎn)角準(zhǔn)確 定位。我們還可 以把一些用戶(hù)代碼 作為中斷處理子程序 ,來(lái)實(shí)現(xiàn)定 時(shí)切換或運(yùn)算 的功 能。分頻 器實(shí)現(xiàn)工作頻率 ( 4 0 MHz ) 的分頻 工作,得到控制電機(jī)轉(zhuǎn)速的脈沖頻率。反饋控制模塊實(shí)現(xiàn)電機(jī)的輸出補(bǔ)償和狀態(tài)監(jiān)控功能, 可通過(guò)讀取誤差從而實(shí)現(xiàn)修正,以此來(lái)提高系統(tǒng)控制精度。這些模塊在F P G A內(nèi)部采用原理圖 ( S c h e ma t i c Di a g r a ms ) + VHDL語(yǔ)言結(jié)合 的方式進(jìn)行描述 , 使邏 輯層 次更加明確和可讀性 更強(qiáng)。

算法設(shè)計(jì).

1 實(shí)時(shí)分頻算法運(yùn)動(dòng)控制卡輸出的不同脈沖頻率來(lái)實(shí)現(xiàn)電機(jī)轉(zhuǎn)速的控制, 因此脈沖頻率 的響應(yīng)速度 決定 了整 個(gè)電機(jī)的控制精度。這就必然要求我們?cè)谠O(shè)計(jì)算法時(shí),要充分考慮分頻算法的實(shí)時(shí)性 。本文提 出~種基于加二計(jì) 數(shù)器 的分頻算法 ,能很好地解決此問(wèn)題。其算法具體流程圖如圖4 所示。取鎖相輸出時(shí)鐘作為設(shè)計(jì) 的全局 時(shí)鐘 , 同時(shí)用兩個(gè)單 口RAM來(lái)交 叉刷新分頻倍數(shù) 。加二計(jì)數(shù) 器對(duì)輸入時(shí)鐘進(jìn)行 上升沿計(jì)數(shù) ,并對(duì)其計(jì)數(shù)值進(jìn)行比較判斷, 如果計(jì)數(shù)值大于等于兩倍的分頻倍數(shù), 輸出為 1 ‘ , 否則為 0 ‘ 。實(shí)現(xiàn)分頻器功能。分頻器輸出即為運(yùn)動(dòng)控制卡控制 電機(jī)轉(zhuǎn)速 的脈 沖( c l k o u t ) 。

2 閉環(huán)控制算法整個(gè)運(yùn)動(dòng)控制卡采用脈沖加方向的控制方式, 實(shí)現(xiàn)電機(jī)的轉(zhuǎn)速和方向的控制。為了保證電機(jī)的控制精度, 在運(yùn)動(dòng)控制卡輸出脈沖至電機(jī)的驅(qū)動(dòng)器的同時(shí),運(yùn)動(dòng)控制卡從編碼器中讀 出反饋 脈沖和方 向。這樣 ,只要設(shè)計(jì)兩個(gè)計(jì)數(shù)器 同時(shí)對(duì)輸出脈沖和反饋脈 沖進(jìn)行計(jì)數(shù) ,并 且對(duì)兩個(gè)計(jì)數(shù)器 的計(jì)數(shù)值進(jìn)行判斷和求差, 然后根據(jù)求出的差值進(jìn)行循環(huán)插補(bǔ), 即可實(shí)現(xiàn) 電機(jī)的 閉環(huán)控制 。

調(diào)試和結(jié)果仿真.

1 系統(tǒng)調(diào)試 本卡采用 Qu a r t u s I I 軟件 自帶 的S i g n a l T a p I I 進(jìn)行仿真調(diào)試,它是一種基于邏輯分析核的嵌入式邏輯分析儀,在使用時(shí), 調(diào)試 人員無(wú)需外接專(zhuān)用 儀器 , 就可 以通過(guò)對(duì) F P GA器件內(nèi)部所有信 號(hào)和節(jié) 點(diǎn)的捕獲, 來(lái)實(shí)現(xiàn)對(duì) 系統(tǒng)故障 的分析和判斷 ,整個(gè) 調(diào)試過(guò)程非常直觀 、方便 。S i g n a l T a p I I 在采 集時(shí)鐘的上升沿處采集數(shù)據(jù), 采集時(shí)鐘的設(shè)置不恰當(dāng), 有時(shí)候會(huì)得到不能準(zhǔn)確 反映設(shè)計(jì)的不期望數(shù)據(jù)狀態(tài) , Al t e r a 建議最好使用全局時(shí)鐘。文中給出以全局時(shí)鐘 g c l k作為采集時(shí)鐘, 1 級(jí)觸發(fā), 并且以RES UL T=EL D( { HOL D, 1 , ) 作為觸發(fā)邏輯 , 其運(yùn)行分析 結(jié)果如 圖 5所示 。值得注意 的是 , 在 調(diào)試完成后, 需將文件移 除設(shè)計(jì) 目錄,以免浪費(fèi) 資源 。

2 調(diào)試結(jié)果及誤差分析從圖 5的調(diào)試結(jié)果來(lái)看 , 運(yùn)動(dòng)控制卡的整個(gè)控 制服從于總線(xiàn)仲裁邏輯。 P C I 和F P G A數(shù)據(jù)交換在 R E A D Y= 0時(shí)進(jìn)行, 總線(xiàn)上數(shù)據(jù)在R E A D Y = 0 時(shí)有效。分頻倍數(shù)寄存器值改變, 分頻輸出頻率即刻作相應(yīng)改變, 滿(mǎn)足設(shè)計(jì)目標(biāo)。 對(duì)電機(jī)行程和j o u me y 2 ) 、 報(bào)警( a l a 加) 、 零位( z e r o ) 和伺服( s e r v o ) 等外部信號(hào)的檢測(cè)和判斷。對(duì)反饋回來(lái)的時(shí)鐘進(jìn)行檢測(cè)計(jì)數(shù)。由于 P C I和  交換數(shù)據(jù)均發(fā)生在系統(tǒng)時(shí)鐘的上升沿 所以在數(shù)據(jù)交換過(guò)程中, 必然會(huì)存在一個(gè)小于 1 個(gè)時(shí)鐘周期的延遲誤差。

結(jié)束語(yǔ)

本文所述的運(yùn)動(dòng)控制卡具有如下特點(diǎn) :數(shù)據(jù)輸入輸 出口采用光隔離技術(shù)嘲 , 來(lái)避免一些不必要的干擾: ~FPGA采用獨(dú)立的40MHz時(shí)鐘和鎖相環(huán)設(shè)計(jì) ,保證 了系統(tǒng) 的時(shí)鐘穩(wěn)定采用加二分頻算法, 提高分頻輸出的實(shí)時(shí)性: @FPGA作為核心處理芯片, 減少了硬件成本、 簡(jiǎn)化了硬件設(shè)計(jì)、 實(shí)時(shí)性得到提高 通過(guò)狀態(tài)檢測(cè)和反饋模塊, 實(shí)現(xiàn)電機(jī)的狀態(tài)檢測(cè)和誤差修正設(shè)計(jì)中斷定時(shí)模塊, 實(shí)現(xiàn)電機(jī)的轉(zhuǎn)角控制。

參考文獻(xiàn):

李貴山, 陳金鵬。 P C I 局部總線(xiàn)及應(yīng)【M】 . 西安: 西安電子科技大學(xué)出版社, 2 0 0 3 : 8 . 1 6 .

周志明。 基于運(yùn)動(dòng)控制卡的步進(jìn)電機(jī)控制系統(tǒng) [ J ] . 煤礦機(jī)械,: 9 5 . 9 7 .

吳繼華, 王誠(chéng)。Al t e mF P GA/ C P L D設(shè)計(jì)【 M】 t 京: 人民郵電出版社, 2 0 0 5 : 1 7 . 21 .P CI 9 0 5 4 d a t a b o o k【 E B】 .h t t p : / / ww w.c o m/ d t s / do wnl oa d. a s p ? f =/ PCI 9 0 00 / 9 05 4 / d a t a bo o k /一 21 . p df , 20 0 0 .

童鵬, 吳新建。 P C I 9 0 5 4芯片接口設(shè)計(jì)中若干 問(wèn)題的深入研究】 . 電子技術(shù)應(yīng)用, 2 0 0 5 ( 1 0 ) : 6 4 - 6 6 .

胡剛, 石亞偉。 P C I 總線(xiàn)的中斷處理技術(shù)[ J ] . 計(jì)算機(jī)自動(dòng)測(cè)量與控制, 2 0 0 1 , 9 ( 6 ) : 5 5 . 5 6 .

任愛(ài)峰, 初秀琴。 基于 F P GA的嵌入式系統(tǒng)設(shè)計(jì)【 M】 . 西安: 西安電子科技大學(xué)出版社, 2 0 0 5 : 3 3 3 . 3 5 4 .

郭佳佳, 胡曉菁。 使用 S i g n a l T a p l I 邏輯分析儀調(diào)試F P GA[ J ] . 今日電子, 2 0 0 5 ( 5 ) : 4 5 - 4 7 .

點(diǎn)擊下載資料:基于 F P G A的運(yùn)動(dòng)控制卡的設(shè)計(jì)和實(shí)現(xiàn) 編輯:何世平

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:車(chē)輛人機(jī)界面布局優(yōu)化推理系...

下一篇:微能WIN-V63矢量控制變頻器在...

中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(www.treenowplaneincome.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。