《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的仿真系統(tǒng)數(shù)據(jù)采集控制器IP核設(shè)計(jì)
基于FPGA的仿真系統(tǒng)數(shù)據(jù)采集控制器IP核設(shè)計(jì)
來源:微型機(jī)與應(yīng)用2010年第14期
鄭 津,,陳利學(xué)
(西南石油大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院,四川 成都610500)
摘要: 介紹了在大型工業(yè)模擬仿真系統(tǒng)中,,利用FPGA和軟IP核實(shí)現(xiàn)數(shù)據(jù)采集及收發(fā)控制的方案,,并對(duì)其進(jìn)行設(shè)計(jì)實(shí)現(xiàn)。重點(diǎn)闡述了在發(fā)送指令和采集接收兩種數(shù)據(jù)流模式下,,該IP核的控制處理邏輯及工作狀態(tài)機(jī)的設(shè)計(jì)及實(shí)現(xiàn),。同時(shí),設(shè)計(jì)仿真測試對(duì)其進(jìn)行驗(yàn)證,。經(jīng)測試驗(yàn)證,,該IP核能實(shí)現(xiàn)對(duì)前端模擬仿真設(shè)備狀態(tài)實(shí)時(shí)采集并控制的功能,達(dá)到了設(shè)計(jì)目的,。
Abstract:
Key words :

摘  要: 介紹了在大型工業(yè)模擬仿真系統(tǒng)中,,利用FPGA和軟IP核實(shí)現(xiàn)數(shù)據(jù)采集及收發(fā)控制的方案,,并對(duì)其進(jìn)行設(shè)計(jì)實(shí)現(xiàn),。重點(diǎn)闡述了在發(fā)送指令和采集接收兩種數(shù)據(jù)流模式下,該IP核的控制處理邏輯及工作狀態(tài)機(jī)的設(shè)計(jì)及實(shí)現(xiàn),。同時(shí),,設(shè)計(jì)仿真測試對(duì)其進(jìn)行驗(yàn)證。經(jīng)測試驗(yàn)證,,該IP核能實(shí)現(xiàn)對(duì)前端模擬仿真設(shè)備狀態(tài)實(shí)時(shí)采集并控制的功能,,達(dá)到了設(shè)計(jì)目的。
關(guān)鍵詞: FPGA,;IP核,;模擬仿真;數(shù)據(jù)采集控制

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


   本文設(shè)計(jì)的IP 核將傳統(tǒng)結(jié)構(gòu)中工控機(jī)和接口卡兩級(jí)的數(shù)據(jù)采集控制系統(tǒng)結(jié)合起來,,設(shè)計(jì)了一個(gè)集成的控制器,由其完全承擔(dān)主機(jī)與前端設(shè)備的數(shù)據(jù)交換與通信任務(wù)。這樣,,主機(jī)僅負(fù)責(zé)對(duì)整個(gè)系統(tǒng)的監(jiān)控以及對(duì)模擬仿真模型的規(guī)格運(yùn)算,,而不再分出資源來管理前端模擬設(shè)備的控制和數(shù)據(jù)采集,從而降低了系統(tǒng)的復(fù)雜度,。結(jié)構(gòu)如圖2所示,。

2 系統(tǒng)設(shè)計(jì)
   基于前述數(shù)據(jù)采集控制過程,本IP核分發(fā)送數(shù)據(jù)和采集數(shù)據(jù)兩種處理機(jī)制進(jìn)行設(shè)計(jì),。相應(yīng)地,,將本IP核內(nèi)部劃分為IP核控制邏輯模塊、數(shù)據(jù)模式轉(zhuǎn)換模塊,、網(wǎng)絡(luò)通信模塊,、寄存器模塊、總線模塊以及時(shí)鐘模塊六部分,。其相互關(guān)系如圖3所示,。

   主要模塊功能及其特征描述如下:
   (1)IP核控制邏輯模塊:負(fù)責(zé)整個(gè)IP核的控制與運(yùn)行,當(dāng)接收到主機(jī)發(fā)來的工作命令后,,該模塊根據(jù)命令的種類(發(fā)送數(shù)據(jù)或采集數(shù)據(jù))向相應(yīng)的模塊發(fā)送控制命令,;出現(xiàn)異常時(shí),本模塊根據(jù)事先定義好的規(guī)則對(duì)異常情況進(jìn)行處理,;
    (2)數(shù)據(jù)模式轉(zhuǎn)換模塊:該模塊在接收到IP核控制邏輯模塊發(fā)來的工作命令后,,啟動(dòng)數(shù)字信號(hào)——模擬信號(hào)的轉(zhuǎn)換;
    (3)網(wǎng)絡(luò)通信模塊:采用專用的快速以太網(wǎng)控制器,,利用其內(nèi)部集成的控制器及協(xié)議棧,,可以方便地與前端模擬設(shè)備連接通信;同時(shí)利用其支持10/100 M全雙工傳輸模式的性能,,實(shí)現(xiàn)快速收發(fā)數(shù)據(jù)的目的,;
    (4)寄存器模塊:包括寄存器訪問和寄存器單元兩部分。寄存器訪問部分的作用在于,,當(dāng)寄存器訪問程序被IP核控制邏輯選中調(diào)用時(shí),,IP核控制邏輯可通過其對(duì)寄存器單元進(jìn)行讀或?qū)懖僮髟L問,;寄存器單元部分作為發(fā)送或采集機(jī)制流水線工作時(shí),,數(shù)據(jù)流動(dòng)的中間暫存介質(zhì)?;诒鞠到y(tǒng)的設(shè)計(jì)目標(biāo),,選擇SDRAM作為寄存器單元的硬件支撐,因其讀寫時(shí)序較復(fù)雜,,需在本系統(tǒng)中集成專用的SDRAM控制器IP 核與其對(duì)接[5],;
    (5)總線模塊:負(fù)責(zé)各模塊之間信息的傳輸,如提供Avalon接口供寄存器訪問時(shí)使用,,它使用Avalon必需的信號(hào)來訪問寄存器,,并支持任務(wù)邏輯傳輸類型[6],;
    (6)時(shí)鐘模塊:產(chǎn)生相應(yīng)頻率的時(shí)鐘供給IP核,時(shí)鐘的頻率由系統(tǒng)時(shí)鐘頻率分頻所得,。
3 系統(tǒng)實(shí)現(xiàn)
    本IP 核功能邏輯的設(shè)計(jì)基于其任務(wù)邏輯定制的基本功能和技術(shù)指標(biāo),。本設(shè)計(jì)的任務(wù)邏輯主要完成對(duì)模擬仿真系統(tǒng)前端模擬設(shè)備發(fā)送指令以及采集前端模擬設(shè)備狀態(tài)量數(shù)據(jù)。其功能邏輯也基于發(fā)送指令和接收數(shù)據(jù)兩個(gè)數(shù)據(jù)流來設(shè)計(jì),,如圖4所示,。

   為避免高速、高頻系統(tǒng)時(shí)序中常存在的競爭,、毛刺危險(xiǎn)以及建立與保持時(shí)間相抵觸等問題,,本IP核采用同步設(shè)計(jì)的方案。同時(shí),,為解決實(shí)際中仍會(huì)經(jīng)常出現(xiàn)系統(tǒng)產(chǎn)生毛刺和時(shí)鐘偏斜等問題,。本IP核中擬將時(shí)鐘控制改為觸發(fā)器輸入允許,將時(shí)鐘選擇改為獨(dú)立的時(shí)鐘分析[7],。
   為加快本設(shè)計(jì)的運(yùn)行速度及處理效率,,本IP核的設(shè)計(jì)以功能邏輯處理機(jī)制為基礎(chǔ),分別對(duì)發(fā)送流程和接收流程設(shè)計(jì)狀態(tài)機(jī)并實(shí)現(xiàn)[8],。
   在發(fā)送流程的狀態(tài)轉(zhuǎn)換過程中,,共有6個(gè)狀態(tài),如圖5所示,。IP核的控制邏輯判斷來自主機(jī)的發(fā)送數(shù)據(jù)命令后,,首先檢查其各功能模塊的準(zhǔn)備情況,如果準(zhǔn)備好,,即開始發(fā)送數(shù)據(jù),,從寄存器單元中取出待發(fā)送數(shù)據(jù)并送至網(wǎng)絡(luò)通信模塊,由其發(fā)送至前端模擬設(shè)備,。在此過程中,,不斷檢測發(fā)送完成標(biāo)志位DataEND,如果該標(biāo)志位變?yōu)橛行t表示發(fā)送成功,,將此信息反饋給主機(jī)并進(jìn)入下一工作周期等待狀態(tài),;如果超時(shí)該標(biāo)志位仍未變化,則反饋回主機(jī)發(fā)送失敗的信息,,并請(qǐng)求重發(fā),。

   相應(yīng)地,如圖6所示,,接收流程的狀態(tài)轉(zhuǎn)換過程有7個(gè)狀態(tài),。其工作大致與發(fā)送流程相同,只是接收數(shù)據(jù)從寄存器單元讀出后,要先經(jīng)過數(shù)據(jù)模式的轉(zhuǎn)換后,,再發(fā)送給主機(jī)使用,。

4 仿真與驗(yàn)證
   本文選用Altera公司的Cyclone系列的EP1C12240C8器件,并在Quartus7.2環(huán)境下采用VHDL語言實(shí)現(xiàn)前述IP 核的方案設(shè)計(jì),。IP核設(shè)計(jì)完成后,,利用SoPC Builder對(duì)其進(jìn)行功能仿真和時(shí)序分析。在仿真測試中,,以按鍵模擬實(shí)際開關(guān)動(dòng)作,;以數(shù)碼顯示器數(shù)值變化模擬實(shí)際儀器儀表或傳感器動(dòng)作,分別對(duì)該IP核的發(fā)送和接收功能進(jìn)行仿真測試,。
   本IP核發(fā)送功能仿真測試所得波形如圖7所示,。系統(tǒng)的時(shí)鐘允許信號(hào)ClockEna有效后,系統(tǒng)寄存器有效信號(hào)MemoEna及寄存器讀信號(hào)MemoRd相繼變?yōu)橛行?,系統(tǒng)在IP 核處理邏輯給出發(fā)送信號(hào)SdEna之后開始發(fā)送寄存器中讀出的數(shù)據(jù),。在此過程中,不斷檢測發(fā)送完成信號(hào)DataEND及超時(shí)控制信號(hào)Timechip,,如DataEND有效則停止發(fā)送,,如前述兩信號(hào)同時(shí)有效或直到Timechip信號(hào)變?yōu)橛行В瑒t停止本次發(fā)送,,向IP 核處理邏輯反饋重發(fā)信號(hào)Retry,。同理,IP 核接收功能仿真測試所得波形如圖8所示,。通過分析波形可以得出,,IP 核處理過程與前述功能邏輯設(shè)計(jì)一致。


   本文提出了一種數(shù)據(jù)采集與控制系統(tǒng)軟IP核的設(shè)計(jì)方案,,對(duì)其采用VHDL語言描述實(shí)現(xiàn),,并進(jìn)行了功能仿真測試。經(jīng)測試證明,,該方案能滿足設(shè)計(jì)要求,,且成本較低,處理邏輯簡單,,可方便地移植到多種大型的工業(yè)模擬仿真系統(tǒng)中,,應(yīng)用前景廣泛。
參考文獻(xiàn)
[1] 郭齊勝,,董志明,,單家元.系統(tǒng)仿真[M].北京:國防工業(yè)出版社,2006:24-26.
[2] ZHANG L,,LIN Q,GAY R,et al.An autonomous decentralized multi-server framework for large scale collaborative virtual environment[J].International Journal of Image and Graphics. 2007,,7(2):353-375.
[3] 葛晨陽.基于IP核開發(fā)模式的高校集成電路設(shè)計(jì)發(fā)展策略研究[J].中國集成電路,,2008(8):22-26.
[4] LUO Y B,ONG S K,,CHEN D F,,et al.An internet-enabled image and model based virtual machining system[J].  International Journal of Production Research,2002,,40(10):2269-2288.
[5] 吳婷,,王敏,周程,,等.基于SoPC技術(shù)的核信息遠(yuǎn)程采集系統(tǒng)[J].電子技術(shù)應(yīng)用,,2006,32(3):87-89.
[6] 譚華,,古天龍.Avalon片上總線協(xié)議的形式化建模與模型檢驗(yàn)分析[J].桂林電子科技大學(xué)學(xué)報(bào),,2009,29(2):96-100.
[7] 廖艷,,陳利學(xué),,賴春紅,等.基于FPGA的等精度頻率計(jì)IP Core設(shè)計(jì)[J].電子技術(shù)應(yīng)用,,2007,,33(12):21-23.
[8] 章世華,鄒麗麗,,董湘麟,,等.智能卡控制器IP核的設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2009,,35(2):46-48.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。