新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > NLX230型模糊控制器及其嵌入式應用研究

        NLX230型模糊控制器及其嵌入式應用研究

        ——
        作者:黃曉林 (湖北汽車工業學院 電子信息系 湖北 十堰 442002) 時間:2007-01-26 來源:《國外電子元器件》 收藏

        1 引言

        在自動控制領域,模糊控制理論及其應用的研究取得了很大的進展,美國neuralogix公司推出的nlx230型單片模糊控制器是一種可編程的超大規模集成模糊邏輯微處理器fmc(fuzzy micro controller),根據模糊邏輯原理對輸入條件進行模糊邏輯運算,得到最優的動作,通過執行并行操作控制輸出,其處理速度高達30m規則/秒,具有與計算機的接口電路、與外接eeprom的接口電路和晶體振蕩器接口電路,可廣泛應用于過程嵌入式控制、模式匹配,人工智能,機器人及專家系統。

        2 nlx230的設計特點與工作原理

        模糊邏輯在控制領域的應用原理是利用模糊邏輯器件通過"項"和"規則"去構造任意復雜的線性和非線性函數,再根據輸入狀態經過模糊推理,找到最佳的輸出動作值并應用于控制過程,從而使模糊邏輯獲得類似于人類專家似然推理的能力。

        nlx230基于條件用模糊邏輯規則計算出優化的輸出操作。輸入值在用戶定義的隸屬函數中按適合的程度排序。為了實施有效的數字化,采用1個線性對稱隸屬函數或最簡單的最大/最小模糊參考方法,規則決定了在輸入時所需的狀態集,每一規則至多包含16個項,每1個項與1個"清晰"輸入/模糊隸屬函數配對。1個當前值是對用戶在某一規則下的輸出值合計的修改。對于所有的輸入和輸出,輸入排序與規則處理是并行的。單片式24位寬的規則存儲器最多可存64個規則,所有輸入都可共享這些規則。根據需要每個輸出可以被編程為最多用64個規則,任一個輸出所用的規則個數是其他規則所用的規則的剩余數。模糊邏輯原理的高效數字化實現使nlx230在低價格下獲得高處理速度(30m規則/秒)。

        2.1 距離測量的相似判決原理

        nlx230型單片模糊集成控制器利用模糊邏輯元件將輸入與隸屬度函數結合起來,確定輸入對于被選定的隸屬函數中心值的距離,通過距離測量進行相似決策。由于最佳隸屬函數的形狀與系統中傳感器特性、控制響應及其他動態特性有關,因而確定最佳隸屬函數形狀往往是很困難的(當然,在某些情況下可以根據經驗確定)。nlx230型單片模糊控制器在設計上采取了一種新的方法,不依賴隸屬函數的形狀和確值輸入與隸屬函數的交點,而且測算出輸入與選定的隸屬函數的中心點的距離,其原理如圖1所示。不考慮隸屬函數的區間和輸入的單調,而測量輸出與中間位置的距離,距離用中心位置減去輸入,忽略符號。確值輸入xa離中心點越遠,其隸屬值越低,反之,其隸屬值越高。當確值輸入xa正好位于中心點位置時,則隸屬值最大。

        本文引用地址:http://www.104case.com/article/20813.htm

        有二種不同類型的隸屬函數,對于第一種隸屬函數,確值輸入離中心點愈近,隸屬值愈大,如果確值輸入落入隸屬函數的寬度范圍之外,那么隸屬值最小。對于第二隸屬函數,當確值輸入落入隸屬函數的寬度范圍之內時隸屬值最小。距離測量的優點有二:其一是使設計者在保留重要信息的同時不必決定復雜隸屬函數的形狀;其二是這種方法提供了相似判決的簡單途徑。

        2.2 確值輸入向模糊邏輯量的轉換

        確值輸入向模糊邏輯量的轉換是通過測量距離的相似判決模糊邏輯單元實現的,在相似判決模糊邏輯單元內求取隸屬值的電路結構如圖2所示。模糊邏輯單元內被選定的隸屬函數中心點值和確值輸入送進減法器計算出差值ac,該差值與隸屬函數寬度值相比較,只有當差值在寬度范圍內時,隸屬值計算器才輸出結果(該結果等于從允許的最大隸屬值中減去差值ac,如圖1所示),否則,隸屬值計算器輸出將被置零或置最小值。隸屬值實際上是1個模糊邏輯量,用μ(或d)表示。

        3 nlx230的內部結構和引腳功能

        nlx230型模糊控制器的內部結構如圖3所示,它由模糊輸入選擇器,16個模糊單元、最小和最大比較器、規則寄存器、輸出寄存器和定時控制等部分組成,完成模糊推理運算并作出控制決策。

        3.1 模糊輸入選擇器和模糊單元

        8選1多路選擇器控制n lx230中16個模糊單元的每個單元的輸入。模糊單元求取輸入量對用戶所定義的隸屬函數的隸屬度。每個模糊單元從8個外部輸入中任選1個作為輸入數據(1個模糊單元只能訪問1個輸入數據)。把模糊單元組態構成輸出反饋到輸入的形式,可不處理外部輸入。把一個輸入同1個隸屬函數聯系起來構成1個項,nlx230最多可支持16個項。每個模糊單元的結構如圖2所示,含有1個16位的項寄存器,包括8位的中心值、5位的寬度值及3位的輸入選擇組態(完成對8個外部輸入中任1個輸入的選擇)。每個模糊單元計算輸入值與用戶定義的中心點的距離,完成輸入確值量到模糊邏輯量的轉換。這樣,每1個模糊單元與1個8位中心位置相聯,計算出距離后,其結果與用戶定義的寬度相比較,5位的寬度值代表輸入離中心位置的最遠距離,如果輸入的距離小于或等于此寬度,那么輸入被認為是隸屬函數的一部分,距離的求補得到隸屬函數度。求補就是30減去距離(30是最大寬度,)輸入離中心越近,隸屬值越高,落在寬度內的隸屬值被傳到最小比較器來進行規則處理。

        當輸入等于中心值時,模糊單元輸出最大值31;當輸入落在寬度范圍以外時,模糊輸出值為0,表示完全沒有關系。

        3.2 最小值比較器和最大值比較器

        nlx230的最小值比較器是由高流通量的神經元網路執行的,以適合高速的數據量。64條規則分別存儲在64個規則寄存器中,每個規則寄存器字有24位,其前16位分別用來完成每個模糊單元的輸出對最小比較器的使能。每個規則位固定對應1個模糊單元。當1個規則位被置1,則此規則包含該項,相應的模糊單元輸出可與其他置1的規則位相比較以找出最小項。

        某個規則的最小項一旦被找到,就儲存在nlx230最大值比較器的暫存寄存器中,對應被處理的每一規則經處理所得最小項與暫存于最大值寄存器中的值進行比較,去小存大;當處理完所有規則,最大值寄存器中的結果是所有最小項中的最大值,該值對應的規則為取勝規則,代表1個"模糊"邏輯各結果的和。取勝規則的當前值(動作值)送到模糊量與確值量的轉換單元(輸出寄存器),經轉換處理后進行模糊控制。

        當前值定義在每個規則寄存器字的8個保留位,代表輸出動作值所需的修正量,動作修正值是1個8位二進制補碼值為-128~127。從規則寄存器字來的8位動作修正值與用戶定義的初值相加。例如,初始值為100,動作修正值為-5,則輸出為95。

        3.3 規則寄存器和輸出寄存器

        規則寄存器用于存放控制規則,nlx230最多可存放64條規則。輸出寄存器為總線使能方式,只要處理了所有的規則,規則寄存器的8位補碼修正值與初始值之和,飽和算數運算使輸出位取模128(當前值使輸出高于或低于界限-128和127),輸出即由模糊量轉換為確值量,模糊控制器在輸入下一組數據的同時輸出結果數據。

        3.4 nlx230的引腳功能

        nlx230采用40引腳雙列直插式封裝,如圖4所示。rst是系統復位腳,低電平有效。di0-di7是8位數據輸入口。vss是地。sk是串行時鐘腳,用于將組態數據打入fmc(m/s=0時,該腳輸出)。cs是片選,與m/s和r/w聯用使能串行數據輸入/輸出(m/s=1時輸出,m/s=0時輸入)。di是串行數據輸入腳。do是串行數據輸出腳。m/s是主/從模式選擇(m/s=1時為主動模式;m/s=0時為伺服模式)。r/w是讀/寫輸入腳,僅用于伺服模式(r=1為讀;w=0為寫)。nc是空腳,必須接地。xi為晶體振蕩器輸入腳。xo為晶體振蕩器輸出腳。clk是緩沖系統時鐘輸出腳。stb是選通腳,與ma0-ma2聯用以選通輸入/輸出數據。ma2是輸入/輸出多路傳輸地址2輸出腳。ma1是輸入/輸出多路傳輸地址位1輸出腳。ma0是輸入/輸出多路傳輸地址位0輸出腳。do7-do0為數據輸出腳。vdd是+5v電源腳。


        4 nlx230模糊控制器的工作模式

        nlx230模糊控制器的工作模式有模糊單元模式、輸入模式、輸出模式及輸入輸出擴展應用。

        4.1 模糊單元模式

        在模糊單元模式下有二種方式,典型應用為模糊單元的輸出表示每一個輸入接近中心位置的程度;另一種方式是將nlx230組態成為不包含模糊單元,通過使用不包含模糊單元的工作方式可用輸入與中心位置的距離來加權規則項。

        4.2 輸入模式

        nlx230的輸入即可以是來自8個分時多路輸入引腳的信號又可以是輸出的內部反饋信號,二種輸入模式通過輸入組態寄存器選擇。

        4.3 輸出模式

        nlx230的每個輸出可以配置為立即輸出和累加輸出二種組態。在立即輸出模式中,由取勝規則(該規則帶有最大的最小項)所特指的動作值加上初始值。對nlx230的工作周期,原始的初始值都被用來計算輸出。在累加輸出模式中,1個輸出的新值是加了新動作值(此動作值由獲勝規則所決定)的現在值。在這個模式中,新輸入值被保留作為初始我用于下1個輸出值的計算。用戶定義的原始初始值僅在復位后計算第一個輸出值時被使用。

        4.4 擴展

        多個nlx230級聯使用能夠擴展輸入、輸出、模糊單元和規則的數目。

        4.5 時鐘

        1個外部時鐘源從xi引腳輸入可直接驅動nlx230。nlx230也包含了1個有源振蕩器電路用于時鐘的發生。clk提供了所需的時鐘輸出。

        5 nlx230的操作方式

        nlx230的操作模式通過初始化完成。復位引腳m/s可設置2種不同結構的操作方式:主動方式(nlx230自動從外部eeprom中讀取數據)和從動方式(nlx230等待外部邏輯電路讀寫數據)。

        5.1 主動方式

        主動方式是在復位引腳由"1"變為"0"和m/s為"1"時使nlx230開始1個自動卸載周期。nlx230通過時鐘sk的發生、片選使能和地址(do)的發生來尋址2048位的串行eeprom。nlx230輸出串行時鐘(sk)并維持片選(cs),接著出現"讀標志",7位地址在do輸出引腳出現,nlx230立即開始在di引腳輸入16位數據,該過程持續進行到nlx230已經輸入128個數據字(16×28=2048),之后片選失效。這個組態周期的下1個工作是由nlx230處理出現在輸入引腳(di0-di7)上的數據。

        5.2 從動(伺服)方式

        m/s為"0"時,nlx230處于從動(伺服)模式,由外部控制邏輯提供sk、cs、r/w等信號。在sk上升沿之前,維持r/w為低電平和cs為高電平以觸發卸載過程。然后,在sk的上升沿由di引腳輸入數據。所有數據位(2048)順序寫入后,cs變為低電平;在sk的上升沿之前,保持r/w和cs信號為高電平以觸發加載過程。然后,在sk的上升沿由do引腳輸出數據。所有數據位(2048)被順序讀出后,cs變為低電平。在串行卸載或加載周期之后,需要一個復位信號(保持為低電平)以清除內部數據通道。


        6 應用接口

        6.1 nlx230接口功能

        nlx230有8個時分多路復用輸入腳和8個多路復用輸出腳。內部連接輸出到輸入可以得到反饋路徑、外部晶體振蕩器或pc電路;輸入和輸出計數的1個時鐘輸出;為使外部數據輸入信號同步的1個幀信號;串行eeprom接口由數據輸入(di)、片選(cs)、時鐘(sk)和讀寫(r/w)引腳組成。當nlx230與微機接口時,只需di、cs、do、sk和r/w引腳即可。

        6.2 數據接口電路

        nlx230與微處理器(或單片機)接口只需5個引腳信號:di、cs、do、sk、r/w。圖5所示為典型的控制系統數據接口,74373作為輸入/輸出數據鎖存器,其個數與輸入/輸出個數相同。nlx230用于典型的輸入/輸出為8個8位數值的多路復用控制系統。mux地址腳ma(2:0)、選通腳stb及動態輸入或輸出通道的譯碼由nlx230提供。nlx230提供所有必要的信號,由典型幀時序圖可顯示時間關系。輸入值從di(7:0)輸入的同時輸出也在do(7:0)進行。

        7 應用實例

        應用實例是玩具電動汽車自動駕駛控制系統。根據輸入由nlx230提供決策輸出,由控制規則控制不同路面環境下的速度與方向。nlx230的開發系統ads230由軟、硬件二部分組成,主要功能是將應用系統的控制規則寫成控制規則文件,并轉換為有關寄存器的內容寫入nlx230的規則寄存器。

        7.1 標號定義

        df:前方;dr:右方;dl:左方;ve:速度;ro:路面;di:方向;ft:油門;br:剎車;le:左;ei:右;st:直;df-cl:接近前方;df-fa:遠離前方;dr-fa:遠離右方;dl-fa:遠離左方;ve-sl:低速;ve-me:中速;ve-fa:高速;ra-we:路面滑;ro-me:路面適度;th-sl:抵擋;th-me:中擋;th-fa:高擋;br-of:不剎車;al-a:提示躲避;al-v:提示速度;si-r:右信號;si-l:左信號;br-lt:關油門;sp-i:速度變高;ac:累加;im:立即;yes:是;no:不是;is:是;in:包含;ex:不包含;then:則;and:并且;lb:反饋。

        輸入/輸出定義如表1所示。項的定義如表2所示。


        7.2 規則定義










        8 結束語

        在模糊控制方面,nlx230型模糊控制器與單片機相比,具有推理速度快、功能強大、應用靈活和控制效果好等特點,因此,可廣泛應用于過程嵌入式控制、模式匹配、人工智能、機器人及專家系統。



        關鍵詞:

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 远安县| 昌黎县| 丰城市| 沁水县| 泸州市| 九龙城区| 融水| 两当县| 革吉县| 海丰县| 宁城县| 定结县| 洪泽县| 花莲市| 梓潼县| 阳城县| 独山县| 肥乡县| 剑河县| 甘南县| 新津县| 延寿县| 盈江县| 通道| 建德市| 安阳市| 石泉县| 阳原县| 宝应县| 临泉县| 延津县| 信阳市| 监利县| 万年县| 平顶山市| 海门市| 当涂县| 原平市| 柏乡县| 泸溪县| 嵊泗县|