時間:2009-04-05 22:37:27來源:hesp
引 言
傳統的運動控制卡多采用單片機作 為微 處理器,通過一些大規模集成 電路實現對伺服電機的控制。由于其結 構較為復雜 ,因此在工作時,存在高頻響應慢、控制精度低 等缺點。
本文提出 一 種以FPGA(field-programma b l e g a t e a r r a y )和接口芯片為核心硬件的運動控制卡,內部硬件接口和算法通過對FPGA的編程實現。這樣 ,既能很好地克服傳統運動控制存在的缺點 ,又在靈活性和移植性等方面得到了很大的提高 。
硬件構成與設計
1 構成本文所述的運 動控 制卡是接口卡“ ,用Altera公司生產 的型號 為的FPGA作 為編程邏 輯器件,實現所有 的硬件算法和 反饋 信號的檢測。采用脈沖加方向 的閉環控制方式對電機進行控制整個運動控制卡 系統可用圖 1描述 。
2 設計運動控制卡硬件電路描述和設計時,嚴格按照同步時序設計原則 , 而且核心電路用D觸發器實現 , 電路的主要信號由時鐘的上升沿觸發器產生。這樣可以很好地避免毛刺,并且在布局后仿真和用高速邏輯分析儀采樣實際工作信號皆無毛刺。在高速變化 的分頻倍 數數據流控制 時,為了保證整個系統 的分頻輸出的實時性 ,采用如圖 2所示的” 乒乓操作。‘ 技巧 。在奇數( 2 n +1 )個緩沖周期 時,輸入 的數據流緩 沖到和從 RAMII取出數據到運算模塊 。在第偶數( 2 n ) 個緩沖周期 ,將數據流緩 沖到 RAMI I ,將 R AM1里 的數 據通過 “ 數據輸 出選擇單元” 的選擇, 送到最后的分頻和計數的運算模塊進行計算輸出。如此循環, 周而復始。這種流水線式算法, 可以完成數據 的無縫緩沖 與處理 。
本文所 述的運動 控制 卡共涉及 總線 控制器、 分頻器 、 定時器、 反饋 控制等 4個模塊 , 其 原理圖如 圖3所示 。總線 控制器完成 P C1 9 0 5 4 局部總線 的仲裁 邏輯 、地址譯碼和數 據流控制 ,使 P C I 數據 總線 上的數據 正確 地被 譯碼到各分控 制模塊進行運算輸出。定時器實現硬件定時, 計算機通過驅動程序給運動控制卡輸入一時間值和一個表示計時開始的控制字,運動控 制卡開始 計時 , 在 計時 完成時 , 通 過產生 硬件 中斷方式 0 , 進入 中斷服務程序 , 從而 實現 電機 的轉角準確 定位。我們還可 以把一些用戶代碼 作為中斷處理子程序 ,來實現定 時切換或運算 的功 能。分頻 器實現工作頻率 ( 4 0 MHz ) 的分頻 工作,得到控制電機轉速的脈沖頻率。反饋控制模塊實現電機的輸出補償和狀態監控功能, 可通過讀取誤差從而實現修正,以此來提高系統控制精度。這些模塊在F P G A內部采用原理圖 ( S c h e ma t i c Di a g r a ms ) + VHDL語言結合 的方式進行描述 , 使邏 輯層 次更加明確和可讀性 更強。
算法設計.
1 實時分頻算法運動控制卡輸出的不同脈沖頻率來實現電機轉速的控制, 因此脈沖頻率 的響應速度 決定 了整 個電機的控制精度。這就必然要求我們在設計算法時,要充分考慮分頻算法的實時性 。本文提 出~種基于加二計 數器 的分頻算法 ,能很好地解決此問題。其算法具體流程圖如圖4 所示。取鎖相輸出時鐘作為設計 的全局 時鐘 , 同時用兩個單 口RAM來交 叉刷新分頻倍數 。加二計數 器對輸入時鐘進行 上升沿計數 ,并對其計數值進行比較判斷, 如果計數值大于等于兩倍的分頻倍數, 輸出為 1 ‘ , 否則為 0 ‘ 。實現分頻器功能。分頻器輸出即為運動控制卡控制 電機轉速 的脈 沖( c l k o u t ) 。
2 閉環控制算法整個運動控制卡采用脈沖加方向的控制方式, 實現電機的轉速和方向的控制。為了保證電機的控制精度, 在運動控制卡輸出脈沖至電機的驅動器的同時,運動控制卡從編碼器中讀 出反饋 脈沖和方 向。這樣 ,只要設計兩個計數器 同時對輸出脈沖和反饋脈 沖進行計數 ,并 且對兩個計數器 的計數值進行判斷和求差, 然后根據求出的差值進行循環插補, 即可實現 電機的 閉環控制 。
調試和結果仿真.
1 系統調試 本卡采用 Qu a r t u s I I 軟件 自帶 的S i g n a l T a p I I 進行仿真調試,它是一種基于邏輯分析核的嵌入式邏輯分析儀,在使用時, 調試 人員無需外接專用 儀器 , 就可 以通過對 F P GA器件內部所有信 號和節 點的捕獲, 來實現對 系統故障 的分析和判斷 ,整個 調試過程非常直觀 、方便 。S i g n a l T a p I I 在采 集時鐘的上升沿處采集數據, 采集時鐘的設置不恰當, 有時候會得到不能準確 反映設計的不期望數據狀態 , Al t e r a 建議最好使用全局時鐘。文中給出以全局時鐘 g c l k作為采集時鐘, 1 級觸發, 并且以RES UL T=EL D( { HOL D, 1 , ) 作為觸發邏輯 , 其運行分析 結果如 圖 5所示 。值得注意 的是 , 在 調試完成后, 需將文件移 除設計 目錄,以免浪費 資源 。
2 調試結果及誤差分析從圖 5的調試結果來看 , 運動控制卡的整個控 制服從于總線仲裁邏輯。 P C I 和F P G A數據交換在 R E A D Y= 0時進行, 總線上數據在R E A D Y = 0 時有效。分頻倍數寄存器值改變, 分頻輸出頻率即刻作相應改變, 滿足設計目標。 對電機行程和j o u me y 2 ) 、 報警( a l a 加) 、 零位( z e r o ) 和伺服( s e r v o ) 等外部信號的檢測和判斷。對反饋回來的時鐘進行檢測計數。由于 P C I和 交換數據均發生在系統時鐘的上升沿 所以在數據交換過程中, 必然會存在一個小于 1 個時鐘周期的延遲誤差。
結束語
本文所述的運動控制卡具有如下特點 :數據輸入輸 出口采用光隔離技術嘲 , 來避免一些不必要的干擾: ~FPGA采用獨立的40MHz時鐘和鎖相環設計 ,保證 了系統 的時鐘穩定采用加二分頻算法, 提高分頻輸出的實時性: @FPGA作為核心處理芯片, 減少了硬件成本、 簡化了硬件設計、 實時性得到提高 通過狀態檢測和反饋模塊, 實現電機的狀態檢測和誤差修正設計中斷定時模塊, 實現電機的轉角控制。
參考文獻:
李貴山, 陳金鵬。 P C I 局部總線及應【M】 . 西安: 西安電子科技大學出版社, 2 0 0 3 : 8 . 1 6 .
周志明。 基于運動控制卡的步進電機控制系統 [ J ] . 煤礦機械,: 9 5 . 9 7 .
吳繼華, 王誠。Al t e mF P GA/ C P L D設計【 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芯片接口設計中若干 問題的深入研究】 . 電子技術應用, 2 0 0 5 ( 1 0 ) : 6 4 - 6 6 .
胡剛, 石亞偉。 P C I 總線的中斷處理技術[ J ] . 計算機自動測量與控制, 2 0 0 1 , 9 ( 6 ) : 5 5 . 5 6 .
任愛峰, 初秀琴。 基于 F P GA的嵌入式系統設計【 M】 . 西安: 西安電子科技大學出版社, 2 0 0 5 : 3 3 3 . 3 5 4 .
郭佳佳, 胡曉菁。 使用 S i g n a l T a p l I 邏輯分析儀調試F P GA[ J ] . 今日電子, 2 0 0 5 ( 5 ) : 4 5 - 4 7 .
點擊下載資料:基于 F P G A的運動控制卡的設計和實現 編輯:何世平
標簽:
上一篇:車輛人機界面布局優化推理系...
中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.hysjfh.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。
本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。
產品新聞
更多>2025-05-19
2025-04-30
2025-04-11
2025-04-08
2025-03-31
2025-03-26