關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 基于雙NIOSII軟核處理器的脫丁烷塔控制系統

        基于雙NIOSII軟核處理器的脫丁烷塔控制系統

        ——
        作者:牛思文 夏濤 時間:2006-06-23 來源:電子產品世界 收藏

         基于雙NIOSII軟核處理器的脫丁烷塔控制系統 
            牛思文    夏濤 
           (北京化工大學  信息科學與技術學院  北京 100029)

        摘  要:介紹了基于ALTERA公司FPGA的雙NIOSII軟核處理器在化工設備——脫丁烷塔控制系統中的應用。由于雙CPU處在同一塊FPGA芯片中,并且分擔了不同的控制環節,使得整個控制系統與同功能類型產品相比,在成本顯著降低的同時,安全性和抗擾動能力大幅提升。
         
        關鍵字:雙核NIOSII處理器;FPGA;mutex互斥單元;IIR無限長單位脈沖相應;DMC動態矩陣控制算法

        引言

            在脫丁烷塔和其他工業設備控制系統中,控制系統處理能力和安全穩定性是最重要的設計環節。除去DCS/PLC等極其昂貴的控制器外,目前中型企業的控制方案主要有兩類,即傳統8位單片機系統和32位DSP/ARM 組成的數字信號處理器系統。前者雖然有成熟的設計應用案例,但由于芯片本身的局限,其較低的運算速度和有限的外設擴展能力在面對結構復雜且需要大量數據計算的設備控制時力不從心;而后者雖然擁有高速的運算性能,但由于所有工作(數據處理,人機交互等)都落在一個芯片中,很容易造成擾動。若使用雙芯片(如DSP+FPGA),數據傳輸的延遲也成為很難解決的瓶頸。本設計正是充分考慮到了以上問題,應用ALTERA公司最先進的SOPC(片上可編程系統)軟核CPU技術,提出了一種運算處理能力和工業安全性兼得的解決方案。最后通過高性能DMC(動態矩陣控制)算法的控制測試,證明該方案具有非常穩定的實時控制效能。

        1  脫丁烷塔結構分析與NIOSII軟核處理器簡介。

            在由中國石化北京設計院設計的煉油廠1萬m3/h制氫裝置中,脫丁烷塔系統是一個非常重要的環節。其設備組成與控制模型如圖1所示。該設備對控制器有3個控制輸入,4個輸出和3個可測擾動。


                      
         圖1 脫丁烷塔——系統辯識用建模圖

            NIOSII是由硬件描述語言編寫的基于FPGA的軟核CPU,是ALTERA公司SOPC戰略的重要組成部分[1]。NIOSII處理器不僅提供更高的性能、更低的成本,還提供了齊全的軟件開發工具以及同類產品不具備的的系統靈活性。它擁有32位指令集,32位數據線寬度,32個通用寄存器,32個外部中斷源和2GB尋址空間;基于邊界掃描測試的調試邏輯,支持硬件斷點,數據觸發,以及片外和片內的調試跟蹤等高級特性。其結構圖見圖2。 
         
         

         圖2        NIOSII 軟核CPU 結構圖

        2系統總體設計方案

            本脫丁烷塔控制系統采用雙NIOSII軟核處理器來對設備進行控制。由于兩個CPU都是基于同一片FPGA的,因此其信號傳輸不存在任何的延遲,即可以實現無縫連接。雙CPU擔當的任務分別是人機交互和算法實現環節。負責算法的CPU(P1)不承擔其他的附加任務,不設置操作系統;另一個CPU(P2),采用了高實時性的UC/OSII操作系統。它承擔算法以外的部分,如紅外遙控啟動,數字鍵盤和對主機服務器的485傳輸等[2]。當因操作不當或通過RS485傳輸信息不當等原因,系統出現嚴重異常時,P1可以在時鐘節拍的上升沿到來時跳轉到緊急狀態,按照編制好的程序將危險因素盡可能地消除或延遲。這樣就使得控制系統具備了隔離擾動源的能力。電路板布局圖見圖3
         


        圖3      FPGA外部板面連接圖

        {{分頁}}
        3硬件電路設計

        3.1 FPGA 內部模塊設計及傳感器收發單元設置

            算法以及工作代碼存儲在EPCS4串行配置器件中,在上電時被讀入到RAM中執行??刂葡到y和主機服務器之間采用高速RS-485傳輸方式,溫度傳感器采用DOLLAS公司的1線式溫度傳感器。485傳輸協議采用集成在FPGA內部的IP核,進一步減少了版面布線的擾動。內部模塊配置圖見圖4。

          雙處理器分工明確,所有外設都通過Avalon總線與CPU進行交互。傳感器和A/D轉換器,以及D/A轉換器由右側CPU(P1)管理,這樣當CPU(P2)出現故障時,可以斷開兩個CPU之間的聯絡通道,處理器CPU1獨立運行,在一定時間內保證設備的安全。

            在A/D傳輸環節,加入了緩沖校驗模塊(即緩沖池)。這樣做是因為脫丁烷塔在運行時,由于物料含有雜質等原因,傳感器常常會在瞬時出現偏差較大的測量值,這是應該予以屏蔽的。非正常值校驗緩沖模塊是由Verilog編寫的IP核,每當有檢測變量輸入或控制變量輸出時,檢測該數據是否和前/后較短時間內的波動相差過大;如果是,則應用無限長單位脈沖相應(IIR)算法進行線性濾波(見4.1節詳述) 。


                                
        圖4  雙NIOSII 處理器 的FPGA 內部模塊配置圖

        3.2 雙NIOSII處理器數據/地址指令的交互模塊

            處于穩定性的考慮,本設計只使用了一片8M SRAM。雙CPU均運行在此SRAM上。處理器間的信息交互采用非常穩定的共用交換區內存(Shared Memory)的方式(見圖5)。RAM被劃分成4片可用區間,即兩個處理器由地址偏移開始的空間,應用程序被EPCS4載入時的存儲區和共享內存區。由于CPU1專門負責算法,本設計將其在內存中的起始位置放在了0偏移處,以保證最簡便的尋址路徑。  
          
                                       

        圖5  雙處理器對內存空間的使用

            互斥信號量(mutex)是解決雙處理器爭用存儲器的關鍵。它的位寬為2x32bit(見表1)。首先將VALUE值置0x0000,RESET位賦‘1’,使能mutex。CPU(P1)在時鐘節拍的激勵下,發出對共享內存的讀寫需求,這時如果mutex標識為可用,并且其OWNER值等于CPU(P1)的ID,便獲得其使用權;所有操作要在一個時鐘節拍內完成,然后交出mutex的使用權,將OWNER變成CPU(P2)的ID,再向VALUE寫入0x0000清零。下一個時鐘節拍來到時CPU(P2)檢查OWNER值,將自己的ID與OWNER值相比較,相同則獲得使用權,然后依據地址偏移從共享內存讀出或寫入數據。這是最為安全的交換數據方式,因為中間需要確認的只是一個標識CPU許可與否的32bit位,數據本身在內存上并沒有移動,所以不存在大規模的數據拷貝或尋址。雙處理器在SOPCBuilder中的連接圖見圖6。{{分頁}}

        偏移量    寄存器
        名稱    讀/寫                   位描述符
                    31 … 16    15 … 1    0
        0    mutex    RW    OWNER              VALUE
        1    reset    RW      N/A      N/A    RESET

        偏移量

        寄存器

        名稱

        讀/寫

                       位描述符

        31 … 16

        15 … 1

        0

        0

        mutex

        RW

        OWNER

                  VALUE

        1

        reset

        RW

          N/A

          N/A

        RESET

                                       
         表1  mutex 互斥單元結構

         
                               
         圖6  雙處理器及片上外設在SOPCBuilder中的連接圖

        4軟件設計

        4.1 無限長單位脈沖相應(Infinite-Duration Impulse Response,IIR)算法[3] 

            IIR算法是應用較廣泛的濾波算法,常常用于數字系統設計中,對輸入信號進行線性化調整。這里應用IIR算法對接收的測量值進行調整,以避免瞬時采樣的劇烈變化使監控單元發生誤報[4]。IIR 濾波器由前饋濾波器和反饋濾波器兩部分組成,公式為:  。Verilog核心實現代碼如表2: 
                                   


        表2   IIR算法實現輸入信號過濾的核心代碼

        4.2 控制程序流程圖


                                        
        圖7  脫丁烷塔控制系統軟件程序流程圖

            控制程序主要分為三部分,即控制器初始化,控制器運行和故障工況處理(見圖7)。

          初始化部分:進行一系列的系統上電啟動工作。當控制器被工控主機或紅外遙控啟動后,主機首先檢 測控制器是否有響應;確認后控制器初始化EPCS4;建立各個CPU的On Chip Memory, 配置SRAM和mutex單元。最后檢查初始化是否成功并報告結果。失敗則返回并報警。

          程序運行部分:初始化完成后,控制器開始接收由傳感器測量并經A/D轉換的數據,檢測沒有超界 后,輸出到D/A對脫丁烷塔進行控制操作。對主機的顯示操作放在D/A輸出之后,以 保證控制的實時性。主機設置指令的獲得,要優先于發送工況數據到主機顯示的操作, 這樣可以在第一時間按照主機指令配置控制器參數。

          故障處理部分:如果發生異常,則轉入故障處理狀態。這時要盡量去除有可能帶來干擾的模塊,而且 要撤消mutex信號量;不允許CPU1再與另一個處理器交互,因為此時由主機或數字鍵盤傳來的數據已不可靠。負責算法的CPU1盡量使用緊急狀態的處理算法,一旦失敗,則直接關閉控制器,轉成人工操作。 


        4.3DMC動態矩陣控制算法[5]


            DMC 算法是一種基于對象階躍響應的預測控制算法,它適用于漸進穩定的線性對象。對于脫丁烷塔控制系統,DMC控制包括三個部分:即預測模型、滾動優化和反饋校正。
          預測模型:系統有m=3個控制輸入、n=3個可測擾動和p=4個輸出,在采樣點上每一個輸出yi對每一個 輸入uj的階躍響應為aij(t),對每一個可測擾動ds單位階躍響應為dik(t),其中i=1,…,4; j=1,…,3; s=1,…,3?,F在我們假設在k時刻uj均變化M次,根據線性系統疊加原理可得到多變量系統預測模型:  。 A稱為動態矩陣,其元素為描述系統動態特性的階躍響應系數。系統在優化時域P內:,  滾動優化:DMC算法不是采用一個不變的全局最優化目標,而是采用滾動式的有限時域優化策略。在多變量DMC的滾動優化中,要求每一輸出Yi在未來P個時刻緊密跟蹤相應的期望值W,性能指標可以表示為: 通過極值必要條件求得:;其中Q, R是權系數矩陣,表示對跟蹤誤差和控制變化的抑制。 {{分頁}}

          反饋校正:每一步優化進行前,都要檢測實際輸出并與預測輸出進行比較,得到誤差信息后對預測模型進行校正,在一定程度上補償由于物料含有雜質或回流受到擾動等不確定因素對系統的影響。 誤差信息表示為e(k+1)=y(k+1)-yPM(k+1),e(k+1)為下一步優化的預測誤差矩陣,其中
        e(k+1)=[e1(k+1)…e4(k+1)]T; y(k+1)=[y1(k+1)…y4(k+1)]T; yp(k+1)=[y1,p(k+1)…y4,p(k+1)]T

        5測試結果與總結

          應用DMC動態矩陣控制算法,為了檢驗本控制器對控制性能改進程度,特別使用了脫丁烷塔系統半實物仿真控制模型與Matlab理論模型進行了對比測試。實際控制器輸出與理論仿真程序輸出比較結果見圖8。取控制參數P=23, M=1, q=0.12, r=0.00005, N=150。 
         


        圖8  兩種控制系統同工段內按時間壓縮后的擬合比較圖 

            由圖中可以看出,在3個控制輸入的作用下,基于雙NIOSII 控制器的控制性能非常穩定,4個輸出曲線鋸齒幅度(即跑偏程度)非常小。這是因為本控制器負責算法的CPU1不必分出時鐘周期來被動地響應中斷,以接受和發送來自主機或其他模塊的信號,所以屏蔽了各種外部干擾,可以全速執行算法;同時又由于在FPGA內編寫了瞬時異常態高速緩沖模塊,用于消除物料或管道內雜質在傳感器附近發生化學/物理變化而產生的影響,因此在最大程度上減少了控制器誤動作的發生。另外,將RS485通訊模塊和其它FIFO單元內置成FPGA的IP核,既節約了PCB板面積,又屏蔽了走線時產生的干擾。

            基于SOPC的多處理器技術,以其高速并行處理能力和更為合理的工作分配方法,基本上代表了高速并行數據運算的發展趨勢,因此一定會成為未來重要研究和應用方向之一。

        參考文獻

        1 NIOSII Processor Reference Handbook. Altera 公司,2005

        2 Jean J. Labrosse. MicroC/OS-II The Real-Time Kernel.第2版. 北京:北京航空航天大學出版社,2003

        3 Samir Palnitkar. Verilog HDL 數字設計與綜合.電子工業出版社,2006年2月,P133
         
        4 Mary McCarthy. Peak-to-Peak Resolution Versus Effective Resolution. Application Note AN-615.Analog Device 
          Inc,2003

        5 Richalet J. et al. Model predictive control: application to industrial process. Automatica, 1978, 
          14(4): 400-435


        附錄:原創性聲明、英文標題、關鍵字及摘要

          原創性聲明:本論文第一作者牛思文及導師夏濤鄭重聲明,該論文為原創性作品,屬自主研究的實驗成果,沒有對其他論文的文字或專利性技術存在任何剽竊行為。

        The control system of Debutanizer with the Dual-NiosII CPU

        Abstract:We described the application of Altera’s NiosII (Dual) Soft-Core CPU (Based on FPGA) on the chemical industrial equipment—Debutanizers. Since multi-NiosII CPUs lie in one chip of FPGA, and they have implemented different parts of control flow, the whole system can consume lower budget while gaining more safety and stability. 

        Key Word:Dual-Core NIOSII; FPGA; Mutual Exclusion Unit; Infinite-Duration Impulse Response (IIR) Algorithm;
        Dynamic Matrix Control (DMC) Algorithm 


        作者簡介與通訊地址

          牛思文,男,1982年1月出生,北京化工大學自動化系碩士研究生,本科畢業于北京化工大學自動化系,現從事系統工程與化工仿真技術研究。

          夏濤,男,北京化工大學系統工程系副教授,導師,從事系統仿真程序及電路研究

        通訊地址:北京市朝陽區櫻花東街9號樓6門504,牛思文。
         
        郵    編:100029

        電    話:01064436589/13661042850

        email   :mage1982@vip.sina.com

         



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 库尔勒市| 沐川县| 盖州市| 青川县| 牙克石市| 奇台县| 嫩江县| 丽江市| 镇宁| 桃园县| 行唐县| 苏州市| 垦利县| 虎林市| 阳泉市| 崇文区| 琼海市| 郴州市| 鹤岗市| 房产| 龙里县| 江安县| 额济纳旗| 通渭县| 潍坊市| 曲麻莱县| 简阳市| 故城县| 年辖:市辖区| 子长县| 太和县| 铜梁县| 新源县| 睢宁县| 綦江县| 吉隆县| 柞水县| 论坛| 万全县| 龙泉市| 台前县|