亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        軟件輔助FPGA實現(xiàn)安全監(jiān)控系統(tǒng)的方法研究

        2022-01-17 09:35:24朱懷宇
        自動化儀表 2021年10期
        關(guān)鍵詞:圖元組態(tài)頁面

        吳 婷,黃 超,朱懷宇

        (國核自儀系統(tǒng)工程有限公司,上海 200241)

        0 引言

        近年來,信息安全越來越受關(guān)注。軟件容易受到黑客和病毒的入侵,有軟件參與的系統(tǒng),必然會帶來不確定性。在安全領(lǐng)域,如核電站安全級儀控系統(tǒng)希望使用更安全的、沒有軟件參與的系統(tǒng)?,F(xiàn)場可編程門陣列(field programmable gate array,FPGA)芯片內(nèi)部是各種硬件電路的集合體,雖然可編程,但本質(zhì)是各種硬件電路的聯(lián)合運行。FPGA搭建的系統(tǒng)在可靠性、可驗證性、安全性上優(yōu)于基于CPU搭建的系統(tǒng)。由于FPGA具備高可靠性、易移植、可實現(xiàn)復(fù)雜功能的特性,其在核電站儀控系統(tǒng)中的應(yīng)用已成為必然趨勢[1]。

        目前,第三代核電站安全監(jiān)控系統(tǒng)是基于CPU的嵌入式操作系統(tǒng)所搭建的,可實現(xiàn)畫面顯示、數(shù)據(jù)處理、監(jiān)控系統(tǒng)診斷各項功能。本文所探索的、基于FPGA芯片搭建的安全監(jiān)控系統(tǒng),能替代基于CPU芯片的安全監(jiān)控系統(tǒng)。FPGA芯片可實現(xiàn)CPU芯片系統(tǒng)的功能:驅(qū)動液晶屏顯示和處理人機交互;負(fù)責(zé)安全監(jiān)控系統(tǒng)與儀控系統(tǒng)間的數(shù)據(jù)交互等。

        通過FPGA芯片進行的電路設(shè)計,是采用硬件描述語言來編程的。程序表達的是電路的真值表達式,通過查找真值表來實現(xiàn)其邏輯功能[2]。而硬件描述語言無法將電路與安全監(jiān)控畫面的布局和畫面監(jiān)控數(shù)據(jù)準(zhǔn)確地表達出來。因此,需要一套組態(tài)軟件,來輔助FPGA芯片通過電路來實現(xiàn)畫面的監(jiān)控顯示功能。

        1 基于FPGA芯片的安全監(jiān)控系統(tǒng)

        1.1 安全監(jiān)控系統(tǒng)設(shè)計

        基于FPGA芯片的安全監(jiān)控系統(tǒng)是根據(jù)核電站安全級儀控系統(tǒng)需求所搭建的,需要滿足儀控系統(tǒng)的接口通信和實時數(shù)據(jù)存儲的需求。系統(tǒng)設(shè)計的主要組成部分如下。

        ①FPGA芯片:安全顯示系統(tǒng)的核心,負(fù)責(zé)所有畫面數(shù)據(jù)的解析、實時數(shù)據(jù)的運輸和界面響應(yīng)。

        ②串口:外部接口,安全性高,負(fù)責(zé)接收和發(fā)送核電站安全級控制系統(tǒng)的實時數(shù)據(jù)。

        ③網(wǎng)口:外部接口,通信速度快,負(fù)責(zé)下裝組態(tài)生成的各類數(shù)據(jù)。

        ④DVI和VGA:顯示器接口,負(fù)責(zé)投屏顯示監(jiān)控系統(tǒng)的畫面。

        ⑤DDR3:快速內(nèi)存,負(fù)責(zé)緩存實時性顯示的畫面數(shù)據(jù),包括需實時顯示的變量數(shù)值。

        ⑥硬盤:固態(tài)硬盤,負(fù)責(zé)存放安全監(jiān)控系統(tǒng)中的各類配置數(shù)據(jù)。

        安全監(jiān)控系統(tǒng)的硬件系統(tǒng)是組態(tài)軟件設(shè)計時的限制條件。

        1.2 組態(tài)軟件設(shè)計

        一般工控領(lǐng)域的組態(tài)軟件通過直觀的交互式界面,提供圖形組態(tài)。其可分為兩個步驟:第一步是利用組態(tài)軟件提供的繪圖工具編輯工業(yè)控制系統(tǒng)的工藝畫面,形成靜態(tài)背景圖;第二步是綁定工藝畫面中圖形元素對象和數(shù)據(jù)變量,實現(xiàn)動畫連接,生成隨實時數(shù)據(jù)變化而變化的動態(tài)畫面[3]。

        而輔助FPGA芯片設(shè)計的組態(tài)軟件是獨立于基于FPGA芯片的安全監(jiān)控系統(tǒng)運行的。其屬于安全監(jiān)控系統(tǒng),為FPGA提供安全監(jiān)控系統(tǒng)運行所需的數(shù)據(jù),也就是FPGA芯片進行靜態(tài)背景圖和動態(tài)畫面組幀所需要的數(shù)據(jù)。組態(tài)軟件在安全監(jiān)控系統(tǒng)未運行(即離線)時,通過網(wǎng)口設(shè)備將工程師組態(tài)生成的數(shù)據(jù)傳輸給FPGA裝置;同時,芯片將所接收到的數(shù)據(jù)有序地存放到硬盤設(shè)備中。

        組態(tài)軟件需要解決三個方面的問題,分別是畫面顯示層組態(tài)、系統(tǒng)數(shù)據(jù)層組態(tài)和組態(tài)信息下裝。由于組態(tài)軟件所處的系統(tǒng)環(huán)境限制,軟件不同于組態(tài)王之類的通用組態(tài)軟件。為了能輔助FPGA實現(xiàn)安全監(jiān)控系統(tǒng)的功能,軟件必須緊密結(jié)合FPGA芯片功能特性和需求而進行定制化設(shè)計和實現(xiàn)。

        2 畫面顯示層的組態(tài)

        2.1 畫面顯示的組成

        安全監(jiān)控系統(tǒng)由至少幾十幅畫面組成,各畫面之間存在跳轉(zhuǎn)關(guān)系和導(dǎo)航關(guān)系??梢詫⒚糠撁娣纸?,實現(xiàn)不同功能的、可在窗體上放置的可視化圖形“元件”稱之為一種部件。監(jiān)控系統(tǒng)的界面大多由以下的基本部件組成:數(shù)值顯示、圖形狀態(tài)顯示、報警燈顯示、趨勢圖形顯示、列表顯示、輸入框、按鈕以及各種工藝部件等。而安全監(jiān)控系統(tǒng)有一些特殊的部件:聯(lián)動的激活框、診斷的心跳轉(zhuǎn)動線、動態(tài)的狀態(tài)流向樹等。

        2.2 FPGA芯片實現(xiàn)畫面顯示的原理

        安全監(jiān)控系統(tǒng)中只有FPGA芯片,因此所有在視頻圖形陣列(video graphics array,VGA)顯示器上顯示的畫面都需要通過FPGA芯片來解決。VGA圖像顯示器是通過CRT逐行掃描或隔行掃描的方式實現(xiàn)顯示的,即輸入信號自顯示器屏幕上方開始,從左到右、從上到下逐行掃描[4]。圖像的基本組成單元是像素,所以圖像疊加顯示的實質(zhì)是在像素級為每個像素點選擇信號,完成像素點的定位(確定行、列位置)和圖像信號的輸出[5]。因此,只要提供安全監(jiān)控畫面中圖像的像素點的RGB值點陣式文件,F(xiàn)PGA芯片通過譯碼提供出圖像信號,可將各種顏色的點、線、面,乃至整個畫面顯示在液晶屏幕上。除了安全監(jiān)控畫面中的顯示需求外,在不帶操作系統(tǒng)的FPGA芯片的安全監(jiān)控系統(tǒng)中,鼠標(biāo)位置移動和點擊效果、光標(biāo)激活閃爍都需要FPGA芯片通過像素點組幀實現(xiàn)顯示。

        2.3 畫面顯示層組態(tài)方法

        根據(jù)FPGA芯片的實現(xiàn)需求,首先將所有顯示在安全監(jiān)控系統(tǒng)畫面中的每個部件分解成單個圖元,包括鼠標(biāo)的狀態(tài)、光標(biāo)。對圖元進行分析,需要解決的問題可分為兩類:顯示和響應(yīng)。

        在顯示問題上,將所有畫面層圖元進行抽象和分離,繪制圖元的矢量圖。通過組態(tài)軟件提供界面,工程師可直接選擇這些圖元;同時,組態(tài)軟件提供對圖元的縮小和放大功能,且每個圖元類型均能分別設(shè)置基本屬性和動態(tài)屬性。在組態(tài)軟件中進行畫面組態(tài)時,軟件記錄下界面中的指定坐標(biāo)位置、區(qū)域大小和該區(qū)域需顯示的所有圖元集。FPGA根據(jù)記錄下的信息,找到相應(yīng)的圖元的像素點文件進行重新組幀,并在對應(yīng)位置顯現(xiàn)出各個圖元。其中,圖元的像素點文件是整個圖元RGB值的集合文件,RGB對應(yīng)紅、綠、藍3個分量的一個M×N×3的3維矩陣,用一個8位二進制數(shù)表示alpha、Red、Green和Blue值[5]。

        在響應(yīng)問題上,根據(jù)FPGA芯片狀態(tài)機的原理進行分類,也就是根據(jù)部件的響應(yīng)處理方式來分類。部件類型可分為靜態(tài)顯示類、動態(tài)顯示類、聯(lián)動顯示類、顯示數(shù)字類、使能按鈕類、虛擬鍵盤按鈕類等。根據(jù)不同的類別,組態(tài)軟件提供不同的信息輸入框。FPGA對每個部件類型的處理都采用不同的算法庫。算法庫執(zhí)行器根據(jù)組態(tài)信息進行調(diào)度,完成運算數(shù)據(jù)的存取、指定算法塊的計算[6];通過解析和重新組幀,就能實現(xiàn)部件的動態(tài)功能。

        畫面組態(tài)最終將每副畫面作為一個組態(tài)單元,形成整頁的RGB像素矩陣文件,并對畫面中的靜態(tài)部件和動態(tài)部件作分別處理。靜態(tài)部件,如字、線、框,作為一個圖元,只有顯示功能。對于動態(tài)部件組態(tài),實現(xiàn)則比較復(fù)雜,需要標(biāo)記部件所對應(yīng)的變量地址、關(guān)聯(lián)部件或跳轉(zhuǎn)頁面等。這些數(shù)據(jù)在系統(tǒng)數(shù)據(jù)層組態(tài)中處理。

        3 系統(tǒng)數(shù)據(jù)層的組態(tài)

        3.1 顯示系統(tǒng)的數(shù)據(jù)組成

        安全監(jiān)控系統(tǒng)能夠通過畫面對核電站安全級控制系統(tǒng)運行狀態(tài)的關(guān)鍵點進行實時監(jiān)控,同時安全級控制系統(tǒng)也將實時響應(yīng)監(jiān)控系統(tǒng)界面操作所產(chǎn)生的觸發(fā)信號。因此,數(shù)據(jù)層主要負(fù)責(zé)安全監(jiān)控系統(tǒng)與安全級儀控系統(tǒng)之間實時數(shù)據(jù)的通信。

        3.2 FPGA芯片實現(xiàn)數(shù)據(jù)通信的方式

        FPGA芯片需要負(fù)責(zé)實時變量值的獲取和存儲,以及鼠標(biāo)點擊畫面后的動作解析和發(fā)送。DDR3是高速數(shù)據(jù)采集的首選方案[7]。因此在安全監(jiān)控系統(tǒng)的DDR3中,存放由串口周期性接收的變量實時值數(shù)據(jù)幀。界面的觸發(fā)動作根據(jù)發(fā)送數(shù)據(jù)的幀格式要求,由FPGA組幀后直接發(fā)送。

        3.3 系統(tǒng)數(shù)據(jù)層組態(tài)設(shè)計

        實時數(shù)據(jù)庫生成系統(tǒng)是組態(tài)軟件的基本組成部分,數(shù)據(jù)庫生成的關(guān)鍵是數(shù)據(jù)庫的結(jié)構(gòu)[8]。組態(tài)軟件設(shè)計了實時數(shù)據(jù)庫,分別為輸入數(shù)據(jù)表和輸出數(shù)據(jù)表。組態(tài)軟件提供人機交互的界面。以輸入數(shù)據(jù)為例,輸入數(shù)據(jù)通過串口上唯一確定的接收端口周期性獲得。通過SQL語句建立其數(shù)據(jù)結(jié)構(gòu):

        create table if not exists RvPoints (

        id int primary key,

        //序號

        PIDName varchar(32),

        //變量名稱

        Type varchar(10),

        //變量類型

        Size int,

        //變量大小

        Offset int,

        //變量地址

        FrameHeader varchar(10),

        //所在數(shù)據(jù)幀的幀頭

        FromPort int,

        //周期接收的端口號

        des varchar(20),

        //變量描述

        Sort int);

        //數(shù)據(jù)幀的排序號

        工程師根據(jù)實際串口連線和實際數(shù)據(jù)幀的接收順序,對數(shù)據(jù)表中各變量進行組態(tài)編輯。輸出數(shù)據(jù)也是通過串口發(fā)送的,同樣有指定的串口和端口,以及發(fā)送后接收地址的信息。

        組態(tài)軟件通過輸入數(shù)據(jù)表,為實時數(shù)據(jù)區(qū)計算數(shù)據(jù)內(nèi)存大小,以及每個變量點對應(yīng)的偏移地址信息。根據(jù)輸出數(shù)據(jù)表,為每個輸出數(shù)據(jù)提供組態(tài)信息。輸入數(shù)據(jù)表和輸出數(shù)據(jù)表是動態(tài)部件對應(yīng)變量的組態(tài)信息來源。

        4 組態(tài)信息下裝

        4.1 下裝信息的分類

        組態(tài)工具在工程師站上運行,需要在組態(tài)完成后將有效信息下裝到FPGA安全監(jiān)控系統(tǒng)中,以支持FPGA實現(xiàn)功能。以監(jiān)控畫面整體為實現(xiàn)目標(biāo),所需的信息如下。

        ①部件圖元數(shù)據(jù):畫面中所有顯示部件的RGB點陣像素值數(shù)據(jù)文件。

        ②頁面數(shù)據(jù):每幅頁面動靜態(tài)部件位置、大小,以及動態(tài)部件變量的組態(tài)信息。

        ③配置數(shù)據(jù):各類支持FPGA組幀的內(nèi)存地址索引表。

        4.1.1 部件圖元數(shù)據(jù)

        一個部件的圖元數(shù)據(jù)為一個RGB像素值數(shù)據(jù)文件。靜態(tài)部件因為只有一個狀態(tài),因此只有一個圖元。而動態(tài)部件有多個運行狀態(tài),因此每個部件都有多個圖元,其數(shù)據(jù)為一系列的RGB像素值數(shù)據(jù)文件。

        而相同類型的部件在各幅頁面上的大小不盡相同。FPGA一般不作復(fù)雜的運算,需要組態(tài)軟件將同一類部件的、不同大小的RGB像素值數(shù)據(jù)文件分別進行處理。

        4.1.2 頁面數(shù)據(jù)

        頁面由多個部件組成。頁面數(shù)據(jù)里存放的是本頁面中所應(yīng)顯示的部件類別、坐標(biāo)位置、大小。動態(tài)部件在多狀態(tài)下顯示的圖元內(nèi)存地址,以及對應(yīng)的變量顯示規(guī)則和實時變量在DDR3內(nèi)存中的地址。以模擬量顯示框為例,它屬于顯示數(shù)字類部件,部件類別的編號為xxx。組態(tài)軟件在界面提供人機交互區(qū)。模擬量顯示的頁面數(shù)據(jù)示例如表1所示。工程師可拖拽部件和調(diào)整選項等。

        表1 模擬量顯示的頁面數(shù)據(jù)示例Tab.1 Sample of page data displayed in analog quantity

        模擬量顯示部件的對應(yīng)變量可在頁面中組態(tài)填入,而在生成頁面數(shù)據(jù)時,將被組態(tài)軟件處理成FPGA需要的變量內(nèi)存地址信息。發(fā)送字節(jié)數(shù)為實際下裝數(shù)據(jù)的長度。

        圖像數(shù)據(jù)在存儲器中的常規(guī)存儲方式是以從左至右、從上至下的順序按行緩存,與圖形掃描順次一致,即圖像的每一行像素數(shù)據(jù)均按行存儲[9]。組態(tài)軟件也是從每幅頁面上按照行的方式,對各個部件根據(jù)圖層順序從上至下逐層掃描,生成圖像的RGB像素矩陣數(shù)據(jù)文件。另外,圖層層級越高的部件掃描刷新順序越往后排,這樣顯示頁面只顯示最后一層刷新到的彩色點。

        4.1.3 配置數(shù)據(jù)

        FPGA大多具有內(nèi)嵌的數(shù)據(jù)存儲器,用于存儲配置數(shù)據(jù)[10]。而組態(tài)軟件提供的配置數(shù)據(jù)是用于FPGA芯片查表的各類地址索引表。為了減少FPGA芯片的負(fù)擔(dān),不是所有的地址索引表都需要下裝到FPGA芯片裝置上,而是只提供下裝必須在安全顯示系統(tǒng)運行時查表的地址索引表即可。運行時不會發(fā)生實時變化的索引表,則盡可能直接寫到頁面數(shù)據(jù)中,不下裝到監(jiān)控系統(tǒng)。

        不需要下裝的索引表是需要支持頁面數(shù)據(jù)生成的。如表1所示,頁面數(shù)據(jù)需要部件圖元的圖像地址以及變量地址。而這些地址是指存儲在FPGA芯片裝置硬盤或DDR3里的地址,是組態(tài)軟件根據(jù)整個項目所包含的頁面和變量進行整合排序后計算出的內(nèi)存地址。

        需要下裝的索引表是發(fā)送數(shù)據(jù)點的索引表。FPGA根據(jù)監(jiān)控系統(tǒng)的實時操作,對動作相關(guān)的變量進行實時查表,并組幀發(fā)送。

        另外,系統(tǒng)實時顯示數(shù)據(jù),如鼠標(biāo)狀態(tài)、阿拉伯?dāng)?shù)字等系統(tǒng)級數(shù)據(jù),也都是組態(tài)軟件管理的圖元。因為這些數(shù)據(jù)也是運行時實時變化的,需要根據(jù)索引表查詢,所以也需要下裝到FPGA芯片裝置中。

        4.2 組態(tài)和下裝

        4.2.1 組態(tài)下裝的準(zhǔn)備

        部件圖元數(shù)據(jù)、頁面數(shù)據(jù)和配置數(shù)據(jù)之間是有相互關(guān)聯(lián)性的。組態(tài)軟件在生成組態(tài)數(shù)據(jù)時,需要考慮它們之間的相互依賴性,使最底層的最先生成。數(shù)據(jù)生成順序如圖1所示。

        圖1 數(shù)據(jù)生成順序Fig.1 Sequence of data generation

        4.2.2 下裝的方式

        如1.1節(jié)所述,F(xiàn)PGA芯片裝置系統(tǒng)中的硬盤和DDR3用于存儲數(shù)據(jù)。

        ①硬盤中存放大數(shù)據(jù)塊的數(shù)據(jù),如部件圖元數(shù)據(jù)、頁面數(shù)據(jù),配置數(shù)據(jù)等。

        ②DDR3中存放安全顯示系統(tǒng)實時需要的數(shù)據(jù),如實時數(shù)據(jù)區(qū)和當(dāng)前頁面所需的數(shù)據(jù)。

        因此,組態(tài)軟件只需要負(fù)責(zé)對硬盤進行數(shù)據(jù)下裝。組態(tài)軟件生成的組態(tài)信息,按照用戶數(shù)據(jù)協(xié)議(user datagram protocol,UDP),通過網(wǎng)口下裝到FPGA芯片裝置硬盤上。DDR3中的數(shù)據(jù)由FPGA芯片負(fù)責(zé)讀取和存儲。

        4.2.3 安全下裝

        組態(tài)軟件向FPGA芯片裝置下裝數(shù)據(jù)時,為了保證下裝數(shù)據(jù)的完整性,設(shè)計發(fā)送數(shù)據(jù)開始標(biāo)志和數(shù)據(jù)發(fā)送結(jié)束標(biāo)志的數(shù)據(jù)包,以保障數(shù)據(jù)幀的完整性。

        5 結(jié)論

        雖然組態(tài)軟件是安全監(jiān)控系統(tǒng)的輔助工具,但它作為關(guān)鍵性工具,必不可少。基于FPGA芯片的安全監(jiān)控系統(tǒng)有了組態(tài)軟件的輔助,使得此方案實現(xiàn)更加靈活、便捷,能夠?qū)崿F(xiàn)復(fù)雜度較高的監(jiān)控畫面。而以FPGA芯片替代CPU芯片,使用全硬件的方式實現(xiàn)安全領(lǐng)域的監(jiān)控系統(tǒng)是發(fā)展趨勢,不依賴任何嵌入式操作系統(tǒng),具有更長的生命周期。組態(tài)軟件的離線性能也保障了此方案的安全性。目前,本文研究的方法在國際上具有領(lǐng)先水平,能促進軟件在更大范圍的應(yīng)用。

        猜你喜歡
        圖元組態(tài)頁面
        大狗熊在睡覺
        刷新生活的頁面
        一種組態(tài)控件技術(shù)在電力監(jiān)控系統(tǒng)中的運用
        基于PLC及組態(tài)技術(shù)的恒溫控制系統(tǒng)開發(fā)探討
        學(xué)術(shù)出版物插圖的編排要求(一):圖注
        聯(lián)鎖表自動生成軟件的設(shè)計與實現(xiàn)
        基于PLC和組態(tài)的智能電動擰緊系統(tǒng)
        PLC組態(tài)控制在水箱控制系統(tǒng)的應(yīng)用
        基于Qt繪圖系統(tǒng)的圖形應(yīng)用優(yōu)化研究與實現(xiàn)
        軟件(2016年12期)2016-02-13 05:58:14
        鑄造行業(yè)三維組態(tài)軟件的應(yīng)用
        97色伦综合在线欧美视频| 亚洲av日韩一区二三四五六七| 欧美巨大巨粗黑人性aaaaaa | 在线观看一区二区三区国产| 日产一区二区三区的精品| 蜜桃av噜噜一区二区三区9| 国产精品99精品久久免费| 人妻少妇无码精品视频区| 丰满爆乳在线播放| 日本一区午夜艳熟免费| 中国女人a毛片免费全部播放| 人妻无码AⅤ中文系列久久免费| 亚洲少妇一区二区三区老| 在线国人免费视频播放| 国产午夜av秒播在线观看| 国产精品无码v在线观看| 亚洲永久无码7777kkk| 亚洲自拍另类欧美综合| 无码一区二区三区不卡AV| 亚洲蜜芽在线精品一区| 国产精女同一区二区三区久| 国产午夜激无码av毛片不卡| 亚洲精品蜜夜内射| 99精品国产综合久久久久五月天| 免费国产h视频在线观看86| 日本高清中文一区二区三区| 久久久精品久久久国产| 国产麻豆剧传媒精品国产av| 干日本少妇一区二区三区| 妺妺窝人体色www聚色窝仙踪| 无码人妻久久一区二区三区不卡| 调教在线播放黄| 亚洲一区二区三区资源| 青青手机在线观看视频| 国产办公室沙发系列高清| 最新精品国偷自产在线婷婷| 午夜在线观看一区二区三区四区| 久久精品国产亚洲综合av| 免费日本一区二区三区视频 | 亚洲福利网站在线一区不卡 | 日本天堂免费观看|