0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于FPGA的模糊PID控制器的設(shè)計(jì)實(shí)現(xiàn)

h1654155282.3538 ? 來(lái)源:網(wǎng)絡(luò)整理 ? 2018-06-01 09:26 ? 次閱讀

FPGA技術(shù)的快速發(fā)展與VHDL(VeryhighspeedintegratedcircuitHardwareDescriptionLanguage)硬件描述語(yǔ)言的支持,使得智能控制策略(模糊邏輯、神經(jīng)網(wǎng)絡(luò)、遺傳算法等)的VHDL描述和FPGA固核實(shí)現(xiàn)研究也隨之活躍。在模糊邏輯控制方面,Torralba等人完成了4輸入、12個(gè)隸屬度、64條規(guī)則的模糊邏輯控制器的FPGA實(shí)現(xiàn),Cirstea等人基于FPGA設(shè)計(jì)模糊控制器。本文主要詳解基于FPGA的模糊PID控制器的設(shè)計(jì)實(shí)現(xiàn),首先介紹了FPGA工作原理、基本特點(diǎn)以及FPGA的優(yōu)勢(shì),其次闡述了使用Altera的FPGA設(shè)計(jì)實(shí)現(xiàn)的數(shù)字模糊PID控制器,具體的跟隨小編一起來(lái)了解一下。

FPGA工作原理

FPGA采用了邏輯單元陣列LCA這樣一個(gè)概念,內(nèi)部包括可配置邏輯模塊CLB、輸出輸入模塊IOB和內(nèi)部連線(xiàn)三個(gè)部分。FPGA利用小型查找表(16&TImes;1RAM)來(lái)實(shí)現(xiàn)組合邏輯,每個(gè)查找表連接到一個(gè)D觸發(fā)器的輸入端,觸發(fā)器再來(lái)驅(qū)動(dòng)其他邏輯電路或驅(qū)動(dòng)I/O,由此構(gòu)成了即可實(shí)現(xiàn)組合邏輯功能又可實(shí)現(xiàn)時(shí)序邏輯功能的基本邏輯單元模塊,這些模塊間利用金屬連線(xiàn)互相連接或連接到I/O模塊。FPGA的邏輯是通過(guò)向內(nèi)部靜態(tài)存儲(chǔ)單元加載編程數(shù)據(jù)來(lái)實(shí)現(xiàn)的,存儲(chǔ)在存儲(chǔ)器單元中的值決定了邏輯單元的邏輯功能以及各模塊之間或模塊與I/O間的聯(lián)接方式,并最終決定了FPGA所能實(shí)現(xiàn)的功能, 加電時(shí),F(xiàn)PGA芯片將EPROM中數(shù)據(jù)讀入片內(nèi)編程RAM中,配置完成后,F(xiàn)PGA進(jìn)入工作狀態(tài)。掉電后,F(xiàn)PGA恢復(fù)成白片,內(nèi)部邏輯關(guān)系消失,因此,F(xiàn)PGA能夠反復(fù)使用。FPGA的編程無(wú)須專(zhuān)用的FPGA編程器,只須用通用的EPROM、PROM編程器即可。當(dāng)需要修改FPGA功能時(shí),只需換一片EPROM即可。這樣,同一片F(xiàn)PGA,不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。FPGA是由存放在片內(nèi)RAM中的程序來(lái)設(shè)置其工作狀態(tài)的,因此,工作時(shí)需要對(duì)片內(nèi)的RAM進(jìn)行編程。用戶(hù)可以根據(jù)不同的配置模式,采用不同的編程方式。

FPGA的基本特點(diǎn)

1)采用FPGA設(shè)計(jì)ASIC電路(專(zhuān)用集成電路),用戶(hù)不需要投片生產(chǎn),就能得到合用的芯片。

2)FPGA可做其它全定制或半定制ASIC電路的中試樣片。

3)FPGA內(nèi)部有豐富的觸發(fā)器和I/O引腳。

4)FPGA是ASIC電路中設(shè)計(jì)周期最短、開(kāi)發(fā)費(fèi)用最低、風(fēng)險(xiǎn)最小的器件之一。

5) FPGA采用高速CMOS工藝,功耗低,可以與CMOS、TTL電平兼容。

FPGA的優(yōu)勢(shì)

優(yōu)勢(shì)一:

更大的并行度。這個(gè)主要是通過(guò)并發(fā)和流水兩種技術(shù)實(shí)現(xiàn)。

A:并發(fā)是指重復(fù)分配計(jì)算資源,使得多個(gè)模塊之間可以同時(shí)獨(dú)立進(jìn)行計(jì)算。這一點(diǎn)與現(xiàn)在的多核和SIMD技術(shù)相似。但相對(duì)與SIMD技術(shù),F(xiàn)PGA的并發(fā)可以在不同邏輯功能之間進(jìn)行,而不局限于同時(shí)執(zhí)行相同的功能。舉個(gè)簡(jiǎn)單例子說(shuō)就是使用SIMD 可以同時(shí)執(zhí)行多個(gè)加法,而FPGA可以同時(shí)執(zhí)行多個(gè)加法和乘法和任何你能設(shè)計(jì)出來(lái)的邏輯。

B:流水是通過(guò)將任務(wù)分段,段與段之間同時(shí)執(zhí)行。其實(shí)這一點(diǎn)和CPU相似,只是CPU是指令間的流水而FPGA是任務(wù)間流水或者可以說(shuō)是線(xiàn)程間流水。

優(yōu)勢(shì)二:

可定制。FPGA 內(nèi)部通過(guò)Lookup Table實(shí)現(xiàn)邏輯,可以簡(jiǎn)單理解為是硬件電路。可定制指的是在資源允許范圍內(nèi),用戶(hù)可實(shí)現(xiàn)自己的邏輯電路。通常情況下任務(wù)在硬件電路上跑是比在軟件上快的,比如要比較一個(gè)64位數(shù)高32位和低32位的大小,在CPU下需要2條區(qū)數(shù)指令,兩條位與指令,一條移位指令一條比較指令和一條寫(xiě)回指令,而在FPGA下只要一個(gè)比較器就行了。

優(yōu)勢(shì)三:

可重構(gòu)??芍貥?gòu)指的是FPGA內(nèi)部的邏輯可根據(jù)需求改變,減少開(kāi)發(fā)成本。同時(shí),使用FPGA復(fù)用資源比使用多個(gè)固定的ASIC模塊為服務(wù)器省下更多的空間

基于FPGA的模糊PID控制器的設(shè)計(jì)實(shí)現(xiàn)

一、控制器原理

模糊自整定PID控制器結(jié)構(gòu):是模糊控制器與傳統(tǒng)PID控制器的結(jié)合,利用模糊推理判斷的思想,根據(jù)不同的偏差、偏差變化率對(duì)PID的參數(shù)KP、KI、KD進(jìn)行在線(xiàn)自整定,傳統(tǒng)PID控制器在獲得新的KP、KI、KD后,對(duì)控制對(duì)象輸出控制量。由此模糊PID控制器的結(jié)構(gòu)框圖如圖1所示。

基于FPGA的模糊PID控制器的設(shè)計(jì)實(shí)現(xiàn)

基于FPGA的模糊PID控制器的設(shè)計(jì)實(shí)現(xiàn)

基于FPGA的模糊PID控制器的設(shè)計(jì)實(shí)現(xiàn)

基于FPGA的模糊PID控制器的設(shè)計(jì)實(shí)現(xiàn)

基于FPGA的模糊PID控制器的設(shè)計(jì)實(shí)現(xiàn)

基于FPGA的模糊PID控制器的設(shè)計(jì)實(shí)現(xiàn)

二、控制器的VHDL分層設(shè)計(jì)

模糊PID控制器主要由A/D控制器、模糊化模塊、模糊推理模塊、反模糊化模塊、規(guī)則存儲(chǔ)器、數(shù)字PID運(yùn)算等部分組成,其結(jié)構(gòu)如圖3所示?,F(xiàn)就模糊化模塊、模糊推理模塊、反模糊化模塊等主要模塊的建立來(lái)描述VHDL的設(shè)計(jì)過(guò)程。

基于FPGA的模糊PID控制器的設(shè)計(jì)實(shí)現(xiàn)

1、模糊化模塊

模糊化模塊的功能主要包括兩部分:把輸入的精確量進(jìn)行尺度變換,變換到相應(yīng)的論域范圍;將己變換到論域范圍的輸入量進(jìn)行模糊化處理,主要是計(jì)算各個(gè)輸入量的隸屬度。由于變量的隸屬度函數(shù)均取用等腰三角形,則底邊寬度和底邊中點(diǎn)就可以確定隸屬函數(shù)的所有信息。分別用一個(gè)字節(jié)表示每個(gè)語(yǔ)言變量的底邊寬度(實(shí)際寬度的一半),用三個(gè)位(bit)表示底邊中點(diǎn)位置,將這部分信息存在兩個(gè)表中。根據(jù)兩個(gè)表中的信息,可以計(jì)算出輸入變量的隸屬度。為實(shí)現(xiàn)隸屬度的計(jì)算,需要用到一個(gè)加法器,一個(gè)減法器和一個(gè)除法器。計(jì)算的結(jié)果肯定是小數(shù)(由隸屬度的性質(zhì)可知)。為了實(shí)現(xiàn)方便,將分子的計(jì)算結(jié)果左移8位。這樣,分子的計(jì)算結(jié)果是16位,分母是8位,計(jì)算結(jié)果是8位。對(duì)其部分輸入進(jìn)行模糊化的VHDL描述如下:

基于FPGA的模糊PID控制器的設(shè)計(jì)實(shí)現(xiàn)

2、模糊推理模塊

模糊推理模塊是模糊控制器的核心,它將輸入的模糊量經(jīng)過(guò)推理,變?yōu)檩敵龅哪:俊D:评聿捎肕amdani推理,也稱(chēng)為Max一Min推理,即最大一最小推理,因?yàn)槠渲兄饕ㄗ畲蠡K和最小化模塊。對(duì)于兩輸入系統(tǒng),最多輸出四個(gè)語(yǔ)言值和四個(gè)隸屬度。這樣,對(duì)于一個(gè)兩輸入系統(tǒng),最多激活四條模糊規(guī)則。上述過(guò)程就是規(guī)則匹配的過(guò)程。規(guī)則匹配需要最小化運(yùn)算,即Min運(yùn)算。規(guī)則合并就是將后件相同的模糊規(guī)則進(jìn)行合并,規(guī)則合并需要最大化運(yùn)算,即Max運(yùn)算。由模糊化模塊計(jì)算所得的四個(gè)隸屬函數(shù)值在控制信號(hào)作用下經(jīng)過(guò)多路選擇器輸入到比較器;另外兩個(gè)控制信號(hào)經(jīng)過(guò)譯碼后選中隸屬函數(shù)寄存器中的一個(gè),同時(shí)選擇輸出最小值到比較器;比較器的輸出結(jié)果再輸入到隸屬函數(shù)寄存器中。這樣,經(jīng)過(guò)4個(gè)循環(huán),就完成了一個(gè)最小化運(yùn)算。由于VHDL描述簡(jiǎn)單,在這里省略。

3、反模糊化模塊

反模糊化通常采用重心法,由于隸屬度函數(shù)采用8為二進(jìn)制表示,而所涉及的規(guī)則數(shù)最多為4條,所以分子運(yùn)算需要四個(gè)8位x2位的乘法器,3個(gè)10位加法器,分母需要3個(gè)8位加法器。此外,還需要一個(gè)12位/10位的除法器。除法器的設(shè)計(jì)方法與模糊化模塊中的設(shè)計(jì)方法相同。而乘法器的設(shè)計(jì)也與除法器的設(shè)計(jì)方法相似。相應(yīng)的VHDL描述如下:

基于FPGA的模糊PID控制器的設(shè)計(jì)實(shí)現(xiàn)

4、數(shù)字PID運(yùn)算模塊

數(shù)字PID運(yùn)算主要是加、減、乘的運(yùn)算,運(yùn)用原碼算法設(shè)計(jì)數(shù)字電路無(wú)疑增加電路的復(fù)雜度。而采用補(bǔ)碼運(yùn)算進(jìn)行設(shè)計(jì)就簡(jiǎn)單多了。加減法運(yùn)算都可以用相同的加法電路來(lái)實(shí)現(xiàn)。設(shè)計(jì)乘法電路的方法很多,考慮到節(jié)省FPGA器件資源問(wèn)題,采用BOOTH算法。主要涉及累加器溢出處理和小數(shù)運(yùn)算處理等問(wèn)題。

三、試驗(yàn)結(jié)果

借助MATLAB的模糊控制工具箱提供的FIS編輯器建立mamdani型的模糊控制器,并結(jié)合Simulink工具箱建立FuzzyPID控制系統(tǒng)仿真模型。仿真得到的系統(tǒng)階躍響應(yīng)如圖2。通過(guò)圖可以看出Fuzzy-PID控制調(diào)節(jié)時(shí)間短,超調(diào)量小,曲線(xiàn)平滑,具有較強(qiáng)的抗干擾和魯棒性。

各模塊程序經(jīng)過(guò)編譯優(yōu)化之后,由QuartusⅡ軟件綜合并生成網(wǎng)表文件,最后下載到Altera公司的Cyclone系列的EP1C6Q240C8芯片上。經(jīng)實(shí)際測(cè)試顯示,該模糊PID控制器控制效果明顯優(yōu)于普通的PID控制器。

四、結(jié)論

本文使用Altera的FPGA設(shè)計(jì)實(shí)現(xiàn)了一個(gè)數(shù)字模糊PID控制器。其中PID部分采用增量式算法,模糊控制部分采用離線(xiàn)計(jì)算、在線(xiàn)查表的方式實(shí)現(xiàn),在不增加硬件資源耗費(fèi)的前提下大大改善了普通PID控制器的控制效果。同時(shí),F(xiàn)PGA作為單一控制器實(shí)現(xiàn)模糊自整定PID控制,編程規(guī)范、時(shí)序驗(yàn)證方便、系統(tǒng)修改靈活,且基本無(wú)須改動(dòng)硬件,是實(shí)現(xiàn)單片或小系統(tǒng)智能控制策略的一種新的有效途徑。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1620

    文章

    21510

    瀏覽量

    598879
  • PID控制器
    +關(guān)注

    關(guān)注

    2

    文章

    167

    瀏覽量

    18487
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于FPGA的溫度模糊自適應(yīng)PID控制器的設(shè)計(jì)

    基于FPGA的溫度模糊自適應(yīng)PID控制器的設(shè)計(jì)   此外,在FPGA中還集成有Altera公司提供的NIOS II軟核處理
    發(fā)表于 01-22 11:44 ?1509次閱讀
    基于<b class='flag-5'>FPGA</b>的溫度<b class='flag-5'>模糊</b>自適應(yīng)<b class='flag-5'>PID</b><b class='flag-5'>控制器</b>的設(shè)計(jì)

    基于FPGA模糊PID控制算法的研究及實(shí)現(xiàn)

    基于FPGA模糊PID控制算法的研究及實(shí)現(xiàn)
    發(fā)表于 03-18 14:25

    請(qǐng)問(wèn)如何去設(shè)計(jì)模糊PID自整定控制器?

    如何去設(shè)計(jì)模糊PID自整定控制器?關(guān)于模糊控制器算法的研究是什么?模糊
    發(fā)表于 04-21 06:08

    怎樣去編寫(xiě)PID控制器模糊控制器代碼呢

    PID控制的原理是什么?怎樣去編寫(xiě)PID控制器模糊控制器代碼呢?如何對(duì)
    發(fā)表于 11-19 07:47

    簡(jiǎn)化的模糊PID控制器研究

    為了克服常規(guī)PID控制器的缺點(diǎn),提出了一種簡(jiǎn)化的模糊PID控制策略。首先利用擴(kuò)充臨界比例帶法將PID
    發(fā)表于 03-16 09:20 ?38次下載

    一種新型的模糊PID控制器介紹

    文中將PID控制器在工程整定方法的基礎(chǔ)上,對(duì) PID參數(shù)作歸一化處理,然后通過(guò)模糊控制規(guī)則和模糊
    發(fā)表于 04-10 10:47 ?27次下載

    基于遺傳算法和模糊PID的勵(lì)磁控制器

    隨著電力系統(tǒng)的發(fā)展,常規(guī)PID 勵(lì)磁控制器已經(jīng)不能滿(mǎn)足系統(tǒng)運(yùn)行的動(dòng)態(tài)和靜態(tài)性能要求,為了克服這一缺點(diǎn),設(shè)計(jì)了一種新型模糊PID 控制器,在常
    發(fā)表于 01-18 14:46 ?23次下載

    參數(shù)自適應(yīng)模糊PID控制器的設(shè)計(jì)

    參數(shù)自適應(yīng)模糊PID控制器的設(shè)計(jì) 溫度控制系統(tǒng)中,采用了非線(xiàn)性的隸屬度函數(shù),以模糊控制為粗調(diào)、
    發(fā)表于 02-27 09:29 ?2308次閱讀
    參數(shù)自適應(yīng)<b class='flag-5'>模糊</b><b class='flag-5'>PID</b><b class='flag-5'>控制器</b>的設(shè)計(jì)

    一種簡(jiǎn)化PID模糊控制器的研究與設(shè)計(jì)

    在介紹模糊控制基本原理及模糊控制器設(shè)計(jì)與分類(lèi)的基礎(chǔ)上,推導(dǎo)出一種簡(jiǎn)化PID模糊
    發(fā)表于 02-21 15:56 ?55次下載
    一種簡(jiǎn)化<b class='flag-5'>PID</b><b class='flag-5'>模糊</b><b class='flag-5'>控制器</b>的研究與設(shè)計(jì)

    基于FPGA的溫度模糊控制器實(shí)現(xiàn)

    FPGA平臺(tái)上實(shí)現(xiàn)了一種溫度模糊控制器,首先對(duì)模糊控制系統(tǒng)的思想和工作原理進(jìn)行了分析,然后使用
    發(fā)表于 03-15 17:06 ?104次下載
    基于<b class='flag-5'>FPGA</b>的溫度<b class='flag-5'>模糊</b><b class='flag-5'>控制器</b>的<b class='flag-5'>實(shí)現(xiàn)</b>

    模糊自適應(yīng)PID控制器設(shè)計(jì)

    模糊自適應(yīng)PID控制器設(shè)計(jì),好東西,喜歡的朋友可以下載來(lái)學(xué)習(xí)。
    發(fā)表于 01-18 15:41 ?30次下載

    基于FPGA模糊PID控制算法的研究及實(shí)現(xiàn)

    基于FPGA模糊PID控制算法的研究及實(shí)現(xiàn)-2009。
    發(fā)表于 04-05 10:39 ?20次下載

    基于模糊PID控制的導(dǎo)彈舵機(jī)伺服控制器

    基于模糊PID控制的導(dǎo)彈舵機(jī)伺服控制器-2011。
    發(fā)表于 04-05 16:32 ?45次下載

    直流調(diào)速系統(tǒng)的模糊PID控制器設(shè)計(jì)實(shí)現(xiàn)

    直流調(diào)速系統(tǒng)的模糊PID控制器設(shè)計(jì)實(shí)現(xiàn)-2007。
    發(fā)表于 04-06 14:31 ?23次下載

    快速浮_定點(diǎn)PID控制器FPGA的研究與實(shí)現(xiàn)

    快速浮_定點(diǎn)PID控制器FPGA的研究與實(shí)現(xiàn)
    發(fā)表于 05-11 11:30 ?20次下載