- 相關推薦
一個嵌入式系統(tǒng)的Petri網(wǎng)模型與CPLD實現(xiàn)
摘要:將Petri網(wǎng)與VHDL結合,運用Petri網(wǎng)建立硬件系統(tǒng)模型,然后采用VHDL語言進行設計,最終下載到CPLD,成功地實現(xiàn)了整個硬件系統(tǒng)的邏輯控制器設計。Petri網(wǎng)是異步并發(fā)系統(tǒng),沒有人為的控制流,直觀地表示了非確定性;且可以圖形化的方式描述復雜的系統(tǒng),并可運用數(shù)學工具進行分析。因此,其在軟件系統(tǒng)的建模與仿真中得到廣泛應用。Petri網(wǎng)自身具備的可運行性方便了系統(tǒng)形式化描述級的模擬,可以用于表達不同抽象級上的系統(tǒng)概念并清楚地描述整個系統(tǒng)的運作過程。筆者發(fā)現(xiàn)Petri網(wǎng)的應用目前僅局限于軟件系統(tǒng)的設計,例如網(wǎng)絡協(xié)議、物流管理等,而在硬件系統(tǒng)中卻很少涉足。硬件系統(tǒng)隨著功能的日益增強,其功能描述也越來越復雜;谟布到y(tǒng)描述的VHDL語言以其強大的硬件描述能力,已被廣大科研工作者所采用。VHDL語言也適用于描述異步并發(fā)系統(tǒng),因此可與Petri網(wǎng)建立的模型聯(lián)系起來。
本文采用自頂向下與層次分析相結合的設計方法?用Petri網(wǎng)的一個子類C/E系統(tǒng)(條件/事件系統(tǒng))對視頻輸入卡的邏輯控制器建立模型。針對控制器C/E模型中關心和需要觀察的變量,確定VHDL描述的實體和端口,由C/E系統(tǒng)網(wǎng)的拓撲結構確定條件和事件間的邏輯關系,構造VHDL語言中的結構體。采用EDA開發(fā)工具MAX+PLUS II進行代碼設計,邏輯綜合,并對設計進行仿真,最后下載到CPLD,驗證了邏輯控制器設計的正確性。
圖1 視頻輸入卡結構框圖
1 應用背景及控制器功能要求
圖1為某一視頻輸入卡結構框圖。前端視頻信號經過解碼、緩沖后,將數(shù)據(jù)送入DSP處理。其中由邏輯控制器協(xié)調各部分之間的運作。從圖1中可以看出,邏輯控制器與視頻切換、視頻解碼、視頻數(shù)據(jù)緩存以及DSP等部分存在聯(lián)系,歸納起來需要完成五個基本功能:視頻通道切換控制;插入行標志信息;FIFO的初始化操作;寫FIFO;讀FIFO。
要完成上述五個基本功能,必須保證每個功能與另一功能之間不存在沖突,但允許存在并發(fā)行為,同時它們之間的邏輯順序應保持一致。因此需要一個主控模塊協(xié)調各部分的操作。各功能部分之間的邏輯關系比較復雜,涉及到圖像數(shù)據(jù)的行同步以及場同步等問題,一旦出錯,則接收的就不是有效的圖像數(shù)據(jù),后續(xù)工作也不能正常進行。為此,首先建立Petri網(wǎng)模型,并運用數(shù)學工具進行分析,最后采用VHDL語言實現(xiàn)。
2 控制器Petri網(wǎng)模型
應用Petri網(wǎng)的一個子類C/E建立視頻輸入卡的邏輯控制器模型?刂破鲗崿F(xiàn)的五大功能,在滿足各自條件的情況下,能夠正確地完成相關操作。如果將每個功能展開進行Petri網(wǎng)模型設計,將會使整個C/E系統(tǒng)的節(jié)點過多。節(jié)點一多,則不易分析其性質和計算它的可達樹、不變量等參數(shù)。Petri網(wǎng)特有的直觀易懂、適于交流的圖形表示也就失去了意義。采用層次分析的方法,首先在頂層根據(jù)各功能要求建立一個Petri網(wǎng)模型,然后在各個模塊內部建立更詳細的子模型。鑒于頂層和底層的分析方法類似,只將頂層模型展開討論。網(wǎng)絡的一些動態(tài)特性,如庫所與變遷的含義如表1所示。
表1 庫所和變遷的含義
邏輯控制器頂層Petri網(wǎng)模型如圖2所示。該模型是一個基本網(wǎng)系統(tǒng),其狀態(tài)元素稱為條件,變遷元素稱為事件。事件的發(fā)生改變條件的狀態(tài)(成真與否),引起信息在網(wǎng)上的流動?1?。由條件和事件組成的有向網(wǎng)通常表現(xiàn)為三元組(B,E;F),其中B為條件集,E為事件集。同時該模型還滿足如下條件:
·(B,E;F)為簡單網(wǎng);
·B中每個條件都有機會成真,也有機會成假;
·E中每個事件都有機會發(fā)生;
·由初始情態(tài)ci導出的可達情態(tài)集是完全可到達關系R下的等價類。
因此,該模型還是一個C/E系統(tǒng)。在Petri網(wǎng)仿真軟件Visual Object Net++中進行仿真測試,結果表明該模型能很好地描述控制器各部分之間的邏輯關系。
3 VHDL程序的基本單元設計
CPLD(復雜可編程邏輯器件)是處于并行工作方式的基本電路單元構成的高速、大規(guī)模集成器件,可作為一種并發(fā)系統(tǒng)模型與Petri網(wǎng)建立聯(lián)系。VHDL作為一種硬件描述語言,支持行為描述、數(shù)據(jù)流描述和結構化描述等多種描述方法,可以用并行和順序多種語句方式描述實際的系統(tǒng),并可采用VHDL的并行語句描述C/E系統(tǒng)中條件/事件間的并發(fā)關系,用VHDL的順序語句描述條件/事件間的順序約束機制,為解決C/E系統(tǒng)中的有效沖突提供了可行的方法。
VHDL語言程序設計的基本單元稱為一個基本設計實體,其主要由實體說明(entity declaration)和構造體(architecture body)兩部分構成。實體說明部分規(guī)定了設計單元的輸入輸出接口信號或引腳。根據(jù)該控制器的C/E系統(tǒng)中關心和需觀察的變量選擇系統(tǒng)的輸入和輸出信號,以確定基本設計單元的實體及其端口。在控
【一個嵌入式系統(tǒng)的Petri網(wǎng)模型與CPLD實現(xiàn)】相關文章:
面向對象petri網(wǎng)防空C3I系統(tǒng)建模05-11
都市頻道制作網(wǎng)的設計與實現(xiàn)05-29
基于minigui的網(wǎng)真機界面的實現(xiàn)08-05
DWDM光網(wǎng)絡網(wǎng)元管理信息模型的創(chuàng)建過程05-11
Openprocess在熱網(wǎng)監(jiān)控系統(tǒng)中的應用06-04
探析Openprocess在熱網(wǎng)監(jiān)控系統(tǒng)中的應用05-29