基于FPGA的仿真系統(tǒng)數(shù)據(jù)采集控制器IP核設(shè)計
現(xiàn)代模擬仿真技術(shù)[1]廣泛應(yīng)用在系統(tǒng)設(shè)計、系統(tǒng)分析以及教育訓(xùn)練中。在模擬過程中,存在大量向前端模擬裝置或仿真模塊發(fā)送指令數(shù)據(jù),以及從模擬工作設(shè)備上讀取狀態(tài)參量的情況。在對大型工業(yè)設(shè)備和系統(tǒng)進行模擬仿真時,數(shù)據(jù)采集控制的復(fù)雜程度愈加惡劣[2]。通過改進數(shù)據(jù)采集控制器的結(jié)構(gòu),提高數(shù)據(jù)采集控制器的自動化和集成化程度,可以有效地提高大型模擬仿真設(shè)備數(shù)據(jù)采集和控制的效率。
FPGA及SoPC技術(shù)的發(fā)展為此提供了新的解決方案。IP核(IP Core)是具有特定電路功能的硬件描述語言程序,可較方便地進行修改和定制,以提高設(shè)計效率[3]。本文研究了基于FPGA的數(shù)據(jù)采集控制器IP 核的設(shè)計方案和實現(xiàn)方法,該IP核既可以應(yīng)用在獨立IC芯片上,還可作為合成系統(tǒng)的子模塊直接調(diào)用,實現(xiàn)IP核的復(fù)用。
1 系統(tǒng)結(jié)構(gòu)
數(shù)據(jù)采集控制器主要分為發(fā)送機制和接收機制兩部分。在傳統(tǒng)的模擬仿真系統(tǒng)[4]中,發(fā)送機制負責(zé)將模擬仿真系統(tǒng)主機控制程序模擬運算的數(shù)據(jù)傳給事先定義的變量,通過專用接口卡將其放在絕對內(nèi)存地址單元中,再借助智能雙端口的工控機將數(shù)據(jù)發(fā)至前端,以驅(qū)動前端設(shè)備(如儀表、顯示燈等)進行顯示,或使前端設(shè)備(如開關(guān)、閥門、步進電機等)進行動作;接收機制與之相反,即實時地將從前端工控機采集的模擬設(shè)備的動作量和狀態(tài)量(包括模擬實際情況的溫度量、壓力量等)讀到計算機內(nèi)存地址單元中,并通過專寫程序把這些變量值轉(zhuǎn)換成主控程序所需要的數(shù)據(jù)。
前端設(shè)備種類繁多,因此實際中需有針對性地進行設(shè)計,以實現(xiàn)工控機對前端設(shè)備的控制。此外,工控機與主機之間還必須通過專用接口進行通信,如圖1所示。其結(jié)構(gòu)復(fù)雜,不利于設(shè)計和調(diào)試,同時降低了模擬仿真系統(tǒng)的實時性和效率。
本文設(shè)計的IP 核將傳統(tǒng)結(jié)構(gòu)中工控機和接口卡兩級的數(shù)據(jù)采集控制系統(tǒng)結(jié)合起來,設(shè)計了一個集成的控制器,由其完全承擔(dān)主機與前端設(shè)備的數(shù)據(jù)交換與通信任務(wù)。這樣,主機僅負責(zé)對整個系統(tǒng)的監(jiān)控以及對模擬仿真模型的規(guī)格運算,而不再分出資源來管理前端模擬設(shè)備的控制和數(shù)據(jù)采集,從而降低了系統(tǒng)的復(fù)雜度。結(jié)構(gòu)如圖2所示。
評論