《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于Xilinx System Generator的PID算法快速硬件實現
基于Xilinx System Generator的PID算法快速硬件實現
來源:電子技術應用2011年第11期
錢偉康1,倪元鴻1,謝凱年2,蔣 艷1
1.上海理工大學 光電信息與計算機工程學院,上海200093; 2.上海賽靈思電子科技有限公司 大學計劃部大中華區,上海201203
摘要: 介紹了利用Xilinx System Generator平臺構建模型化數字PID控制算法,并通過FPGA將數字PID算法結合傳感器與實際硬件控制對象快速建立控制模型,構成完整的閉環控制。通過對控制效果的實驗驗證,證明了其控制方法的可行性。
中圖分類號: TP273
文獻標識碼: B
文章編號: 0258-7998(2011)11-0048-04
Simpler realization of PID algorithm based on Xilinx system generator
Qian Weikang1,Ni Yuanhong1,Xie Kainian2,Jiang Yan1
1.College of Optoelectronic Information and Computer Engineering,University of Shanghai for Science and Technology, Shanghai 200093,China; 2.Shanghai Xilinx Technology Company(XUP China), Shanghai 201203,China
Abstract: This paper introduced how to create the digital PID control algorithm model and form a complete closed-loop control system through digital PID algorithm combining with the sensor and actual hardware control object based on Xilinx System Generator tools and FPGA. Finally, the experiment results of control effect proved the feasibility of the control method.
Key words : FPGA;system generator;PID algorithm


1 Xilinx System Generator簡介
    Xilinx System Generator 是專門為數字信號算法處理而推出的模型化設計平臺,可以快速、簡單地將DSP系統的抽象算法轉換成可綜合的、可靠的硬件系統,彌補了大部分對C語言以及Matlab工具很熟悉的DSP工程師對于硬件描述語言VHDL和Verilog HDL認識不足的缺陷[1]。
    System Generator作為一個硬件設計工具包安裝在Matlab軟件中,提供了相當豐富的應用子模塊[2]。設計者如同使用Matlab中其他模塊一樣,通過拖拽和連接就可以將子模塊搭建成一個完整的應用系統。
2 增量式PID數字算法原理
    在PID控制算法的應用中有位置式和增量式兩種[3-4]。位置式PID控制算法中因運用了誤差的累加,控制的輸出量與過去所有時間的狀態有關,所以位置式PID控制算法的累積誤差相對較大。而增量式PID控制算法中的調整量只是與當前及前兩個狀態有關,并且增量式PID算法只是控制每次的輸出增量,而且一般執行機構都帶有記憶功能,一旦控制器出錯,能保持住原位,不會嚴重影響到系統的工作。
    PID數學模型:

3 在System Generator中建立PID算法模型
    根據公式(4)的增量式數字PID模型,可在Xilinx System Generator工具包中調用相關子函數模塊來構建整個函數[5],如圖1所示。

    設計中使用了自定義函數模塊(Mcode),該模塊是Xilinx System Generator中提供給DSP設計者的可編程邏輯模塊,可以使用Matlab語言編寫符合設計者要求的子函數。Mcode模塊分別支持控制邏輯、狀態邏輯、二位除法運算以及定點數運算等邏輯運算,并可靈活地定義輸入輸出的個數以及輸出數據的類型。最終在生成硬件邏輯時自動將Mcode中的代碼轉換成VHDL/Verilog硬件描述語言。另外,由于生成的是邏輯控制,對設計者來說運用起來十分便利,并且該模塊中的代碼在生成為硬件邏輯以后,幾乎是并行直接輸出,速度和效率都非常高。如圖2所示,在Mcode模塊中寫入了代碼之后,會生成對應的自定義函數模塊。

4 控制對象與控制算法的級聯
    在PID算法模塊構建完成以后,需要嵌入到實際的控制對象中以達到預期的控制目的。
    實驗采用的是一階RC控制對象,該對象在實驗中可以明顯有效地將控制效果反映出來。PID閉環控制系統框圖如圖3所示。對于一階RC控制對象,選擇電壓作為輸出的控制量,在設計中加入了A/D 以及D/A轉換模塊來完成采樣和控制量的輸出。
    實驗平臺采用Xilinx公司的Spartan3E Start Kit,其中帶有兩路14 bit的A/D(LTC1407)輸入以及4路16 bit

    (2)在PID算法的輸入與輸出端搭建數據轉換模塊。由于通過A/D采樣得到的數據和D/A輸出的數據都是二進制,而PID算法模塊中使用的是十進制數據,并且小數點的位數也不一樣,所以需要在PID算法的輸入和輸出端插入數據轉換模塊。另外還必須加入Gateway in和Gateway out來實現數據的前端輸入和后端輸出。PID控制器完整模型如圖5所示。

 

 

    (3)用System Generator生成PID算法工程文件后導入到ISE工程中。雙擊圖5中的System Generator模塊,選擇HDL\netlist和生成路徑后點擊Generator,就能自動生成相應的VHDL/Verilog硬件語言代碼。在工程的頂層文件下把生成的sgp工程添加進去,例化后嵌入到工程中。
    (4)在頂層文件中由狀態機安排好各個模塊之間的時序。
    (5)綜合工程,分析時鐘時序是否滿足工程要求,工程時序分析如表1所示。需要時可添加時鐘管理器(DCM)確保時序的正常進行。


    (6)連線并把BIT文件下載到開發板中,用示波器察看實際效果。
5 實驗數據分析
    實驗中使用了D/A 4路輸出信號中的2路:A路輸出控制量;B路輸出1 V~2 V的方波電壓作為給定值,同時方波電壓接到另一個完全相同的一階RC電路上,讓其與通過PID調節后的被控對象作對比。圖6(a)~圖6(d)表示了頻率為100 Hz時,在不同參數條件下的實驗結果。

    從實驗結果可知,在FPGA中構建的PID控制器完全能達到預期的效果,而且實驗結果是通過示波器觀測到的實測結果,證明了在FPGA中實現算法硬件化是可行的,并且控制算法在硬件中運行的實測數據和仿真出來的模擬數據相比,實測數據更有說服力。
    用FPGA作為嵌入式算法平臺,在算法運行速度上與其他嵌入式算法平臺相比有著特定的優勢,利用Xilinx的System Generator工具能夠快速簡單地完成算法構建并可直接完成硬件實現。雖然本文采用的是一階RC電路作為控制對象,即使換成是二階或者是耦合控制對象同樣能夠達到比較理想的控制效果。特別是對于大運算量的算法(如矩陣運算等),在FPGA資源充裕的情況下,可以達到其他控制器無法達到的處理速度,而且基于FPGA的可編程性,對于算法的修正、升級和驗證都十分靈活,更使算法的硬件實現變得實用。缺點是FPGA對于時序較為嚴格,在工程中需要對整個工程的時序進行分析,以確保滿足時序要求,而且如果是自己編寫一些執行機構的驅動,仍需要將驅動部分也考慮進去,必要時需要添加約束。
參考文獻
[1] 孟憲元,錢偉康.FPGA嵌入式系統設計[M].北京:電子工業出版社,2007.
[2] 紀志成.FPGA數字信號處理設計教程—System Generator入門與提高[M].西安:西安電子科技大學出版社,2008.
[3] 彭小衛.基于System Generator的Gardner 算法設計與實現[J].電子設計工程,2010(7):16-18.
[4] 蔡曉寧.數字PID控制器的硬件優化設計[J].中國科學院研究生院學報,2010(9):690-694.
[5] Shi Changchun,Hwang James,McMILLAN S,et al.A system level resource estimation tool for FPGAs[C].14th International Conference,FPL 2004,Leuven,Belgium,2004:424-433.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
伊人春色精品| 亚洲视频免费观看| 国产精品久久久久久模特| 欧美mv日韩mv国产网站| 久久精品91| 欧美亚洲自偷自偷| 亚洲欧美日韩成人高清在线一区| 亚洲最新色图| a4yy欧美一区二区三区| 91久久线看在观草草青青| 久久精品日韩一区二区三区| 性感少妇一区| 欧美一区二区三区免费大片| 欧美一区二区免费| 久久av在线| 久久精品国产亚洲精品| 欧美专区第一页| 久久精品99无色码中文字幕 | 亚洲在线国产日韩欧美| 国产精品99久久久久久久久| 亚洲视频免费| 香蕉久久夜色| 亚洲第一中文字幕在线观看| 亚洲国产高清高潮精品美女| 亚洲精品无人区| 日韩一二三区视频| 亚洲婷婷综合色高清在线| 亚洲午夜三级在线| 欧美亚洲免费高清在线观看| 久久精品日韩欧美| 久久综合久久美利坚合众国| 欧美成人免费小视频| 欧美日本韩国一区| 国产精品白丝jk黑袜喷水| 国产精品毛片高清在线完整版| 国产视频不卡| 在线免费日韩片| 亚洲精品在线三区| 中日韩高清电影网| 午夜精品久久久久久久男人的天堂| 欧美一区二区高清| 一区二区三区欧美在线观看| 国产日本欧美视频| 国模叶桐国产精品一区| 亚洲第一综合天堂另类专| 日韩小视频在线观看| 亚洲视频一区在线观看| 亚欧成人在线| 亚洲精品国产精品国自产观看| 国产精品99久久久久久白浆小说| 午夜精品亚洲| 女人天堂亚洲aⅴ在线观看| 欧美性猛交xxxx乱大交蜜桃| 国产午夜精品视频| 亚洲国产一区在线| 亚洲一区免费观看| 亚洲黄色在线看| 亚洲男人天堂2024| 巨乳诱惑日韩免费av| 欧美日本精品| 国产一区在线视频| 91久久线看在观草草青青| 亚洲欧美另类国产| 亚洲免费精彩视频| 欧美中文字幕在线观看| 欧美福利在线| 国产乱码精品一区二区三区五月婷| 在线电影一区| 国产精品99久久久久久久vr| 亚洲国产精品va在线看黑人| 亚洲手机视频| 老鸭窝91久久精品色噜噜导演| 国产精品电影网站| 亚洲激情网址| 欧美一区二区视频在线观看2020 | 国产精品视频一| 在线观看日韩欧美| 亚洲一区二区毛片| 亚洲精品欧美日韩| 久久精品一本久久99精品| 欧美午夜电影在线| 亚洲东热激情| 欧美一区二区免费观在线| 亚洲小说欧美另类婷婷| 欧美成人精品在线观看| 国产日韩欧美亚洲一区| 99精品国产在热久久| 亚洲激情另类| 久久久久久久久久久久久女国产乱| 欧美午夜电影一区| 亚洲激情在线观看| 久久狠狠亚洲综合| 久久国产精品99精品国产| 欧美午夜精品久久久久久超碰| 亚洲国产高清一区| 久久精品免费播放| 欧美一区二区视频在线| 欧美日韩在线播放一区| 亚洲高清在线精品| 亚洲国产精品一区二区尤物区| 久久成人免费网| 国产精品美女一区二区| 日韩视频中文| 亚洲另类春色国产| 免费观看日韩av| 国内精品免费在线观看| 亚洲欧美亚洲| 午夜伦欧美伦电影理论片| 欧美视频观看一区| 亚洲精品一区二| 日韩亚洲欧美成人一区| 欧美成人四级电影| 亚洲电影下载| 亚洲日韩欧美视频一区| 模特精品在线| 亚洲第一精品福利| 亚洲黄网站在线观看| 欧美91大片| 亚洲黄一区二区| 亚洲精品少妇30p| 欧美激情一区二区三区不卡| 亚洲日本中文字幕区| 一本综合精品| 欧美性开放视频| 亚洲午夜激情免费视频| 亚洲欧美成人精品| 国产精品入口66mio| 亚洲尤物在线| 久久国产精品毛片| 国产亚洲欧美一区二区| 久久精品视频免费播放| 蜜桃精品久久久久久久免费影院| 在线不卡中文字幕| 亚洲欧洲在线看| 欧美伦理影院| 一区二区三区导航| 午夜精品一区二区三区在线| 国产欧美日韩另类一区| 欧美伊人久久大香线蕉综合69| 久久久久久999| 在线精品国产欧美| 99成人免费视频| 国产精品伦一区| 欧美一级日韩一级| 母乳一区在线观看| 99国产精品| 欧美一区二区观看视频| 国产一区二区欧美日韩| 亚洲国产欧美在线人成| 欧美精品1区2区3区| 在线亚洲一区二区| 亚洲欧美日韩爽爽影院| 国产主播一区二区三区| 亚洲精品中文字幕在线| 欧美午夜一区二区| 亚洲欧美日韩一区在线| 葵司免费一区二区三区四区五区| 亚洲片区在线| 欧美一区二区三区四区夜夜大片| 国语精品中文字幕| 日韩亚洲欧美一区二区三区| 国产精品色在线| 亚洲国产中文字幕在线观看| 欧美日韩中文| 欧美一区二区啪啪| 欧美高清不卡| 亚洲欧美日韩区| 男人的天堂亚洲| 亚洲一区二区三区三| 久久裸体视频| 日韩天堂在线视频| 久久久国产一区二区| 亚洲国产日韩欧美在线动漫| 亚洲免费在线电影| 亚洲大胆人体在线| 欧美一区二区三区喷汁尤物| 亚洲成色www8888| 亚洲欧美日韩中文播放| 亚洲国产高清在线观看视频| 午夜影视日本亚洲欧洲精品| 亚洲福利视频网站| 午夜日韩av| 亚洲毛片在线观看| 久久综合导航| 亚洲一区二区三区在线| 欧美成人亚洲成人| 亚洲欧美日韩电影| 欧美精选一区| 久久精品夜夜夜夜久久| 欧美午夜剧场| 亚洲三级国产| 国内自拍一区| 亚洲欧美日韩国产| 亚洲人成人一区二区在线观看 | 激情视频亚洲| 午夜日韩电影| 日韩亚洲精品在线| 久久午夜影视| 亚洲午夜久久久久久久久电影院 | 欧美亚洲一区二区在线|