摘 要: 介紹了在大型工業(yè)模擬仿真系統(tǒng)中,,利用FPGA和軟IP核實現(xiàn)數(shù)據(jù)采集及收發(fā)控制的方案,并對其進行設計實現(xiàn),。重點闡述了在發(fā)送指令和采集接收兩種數(shù)據(jù)流模式下,,該IP核的控制處理邏輯及工作狀態(tài)機的設計及實現(xiàn)。同時,,設計仿真測試對其進行驗證,。經(jīng)測試驗證,該IP核能實現(xiàn)對前端模擬仿真設備狀態(tài)實時采集并控制的功能,,達到了設計目的,。
關(guān)鍵詞: FPGA;IP核,;模擬仿真,;數(shù)據(jù)采集控制
現(xiàn)代模擬仿真技術(shù)[1]廣泛應用在系統(tǒng)設計,、系統(tǒng)分析以及教育訓練中。在模擬過程中,,存在大量向前端模擬裝置或仿真模塊發(fā)送指令數(shù)據(jù),,以及從模擬工作設備上讀取狀態(tài)參量的情況。在對大型工業(yè)設備和系統(tǒng)進行模擬仿真時,,數(shù)據(jù)采集控制的復雜程度愈加惡劣[2],。通過改進數(shù)據(jù)采集控制器的結(jié)構(gòu),提高數(shù)據(jù)采集控制器的自動化和集成化程度,,可以有效地提高大型模擬仿真設備數(shù)據(jù)采集和控制的效率,。
FPGA及SoPC技術(shù)的發(fā)展為此提供了新的解決方案。IP核(IP Core)是具有特定電路功能的硬件描述語言程序,,可較方便地進行修改和定制,,以提高設計效率[3]。本文研究了基于FPGA的數(shù)據(jù)采集控制器IP 核的設計方案和實現(xiàn)方法,,該IP核既可以應用在獨立IC芯片上,,還可作為合成系統(tǒng)的子模塊直接調(diào)用,實現(xiàn)IP核的復用,。
1 系統(tǒng)結(jié)構(gòu)
數(shù)據(jù)采集控制器主要分為發(fā)送機制和接收機制兩部分,。在傳統(tǒng)的模擬仿真系統(tǒng)[4]中,發(fā)送機制負責將模擬仿真系統(tǒng)主機控制程序模擬運算的數(shù)據(jù)傳給事先定義的變量,,通過專用接口卡將其放在絕對內(nèi)存地址單元中,,再借助智能雙端口的工控機將數(shù)據(jù)發(fā)至前端,以驅(qū)動前端設備(如儀表,、顯示燈等)進行顯示,,或使前端設備(如開關(guān)、閥門,、步進電機等)進行動作,;接收機制與之相反,即實時地將從前端工控機采集的模擬設備的動作量和狀態(tài)量(包括模擬實際情況的溫度量,、壓力量等)讀到計算機內(nèi)存地址單元中,,并通過專寫程序把這些變量值轉(zhuǎn)換成主控程序所需要的數(shù)據(jù)。
前端設備種類繁多,,因此實際中需有針對性地進行設計,,以實現(xiàn)工控機對前端設備的控制。此外,,工控機與主機之間還必須通過專用接口進行通信,,如圖1所示。其結(jié)構(gòu)復雜,不利于設計和調(diào)試,,同時降低了模擬仿真系統(tǒng)的實時性和效率,。
本文設計的IP 核將傳統(tǒng)結(jié)構(gòu)中工控機和接口卡兩級的數(shù)據(jù)采集控制系統(tǒng)結(jié)合起來,設計了一個集成的控制器,,由其完全承擔主機與前端設備的數(shù)據(jù)交換與通信任務。這樣,,主機僅負責對整個系統(tǒng)的監(jiān)控以及對模擬仿真模型的規(guī)格運算,,而不再分出資源來管理前端模擬設備的控制和數(shù)據(jù)采集,從而降低了系統(tǒng)的復雜度,。結(jié)構(gòu)如圖2所示,。
2 系統(tǒng)設計
基于前述數(shù)據(jù)采集控制過程,本IP核分發(fā)送數(shù)據(jù)和采集數(shù)據(jù)兩種處理機制進行設計,。相應地,,將本IP核內(nèi)部劃分為IP核控制邏輯模塊、數(shù)據(jù)模式轉(zhuǎn)換模塊,、網(wǎng)絡通信模塊,、寄存器模塊、總線模塊以及時鐘模塊六部分,。其相互關(guān)系如圖3所示,。
主要模塊功能及其特征描述如下:
(1)IP核控制邏輯模塊:負責整個IP核的控制與運行,當接收到主機發(fā)來的工作命令后,,該模塊根據(jù)命令的種類(發(fā)送數(shù)據(jù)或采集數(shù)據(jù))向相應的模塊發(fā)送控制命令,;出現(xiàn)異常時,本模塊根據(jù)事先定義好的規(guī)則對異常情況進行處理,;
(2)數(shù)據(jù)模式轉(zhuǎn)換模塊:該模塊在接收到IP核控制邏輯模塊發(fā)來的工作命令后,,啟動數(shù)字信號——模擬信號的轉(zhuǎn)換;
(3)網(wǎng)絡通信模塊:采用專用的快速以太網(wǎng)控制器,,利用其內(nèi)部集成的控制器及協(xié)議棧,,可以方便地與前端模擬設備連接通信;同時利用其支持10/100 M全雙工傳輸模式的性能,,實現(xiàn)快速收發(fā)數(shù)據(jù)的目的,;
(4)寄存器模塊:包括寄存器訪問和寄存器單元兩部分。寄存器訪問部分的作用在于,,當寄存器訪問程序被IP核控制邏輯選中調(diào)用時,,IP核控制邏輯可通過其對寄存器單元進行讀或?qū)懖僮髟L問;寄存器單元部分作為發(fā)送或采集機制流水線工作時,,數(shù)據(jù)流動的中間暫存介質(zhì),。基于本系統(tǒng)的設計目標,選擇SDRAM作為寄存器單元的硬件支撐,,因其讀寫時序較復雜,,需在本系統(tǒng)中集成專用的SDRAM控制器IP 核與其對接[5];
(5)總線模塊:負責各模塊之間信息的傳輸,,如提供Avalon接口供寄存器訪問時使用,,它使用Avalon必需的信號來訪問寄存器,并支持任務邏輯傳輸類型[6],;
(6)時鐘模塊:產(chǎn)生相應頻率的時鐘供給IP核,,時鐘的頻率由系統(tǒng)時鐘頻率分頻所得。
3 系統(tǒng)實現(xiàn)
本IP 核功能邏輯的設計基于其任務邏輯定制的基本功能和技術(shù)指標,。本設計的任務邏輯主要完成對模擬仿真系統(tǒng)前端模擬設備發(fā)送指令以及采集前端模擬設備狀態(tài)量數(shù)據(jù),。其功能邏輯也基于發(fā)送指令和接收數(shù)據(jù)兩個數(shù)據(jù)流來設計,如圖4所示,。
為避免高速,、高頻系統(tǒng)時序中常存在的競爭、毛刺危險以及建立與保持時間相抵觸等問題,,本IP核采用同步設計的方案,。同時,為解決實際中仍會經(jīng)常出現(xiàn)系統(tǒng)產(chǎn)生毛刺和時鐘偏斜等問題,。本IP核中擬將時鐘控制改為觸發(fā)器輸入允許,,將時鐘選擇改為獨立的時鐘分析[7]。
為加快本設計的運行速度及處理效率,,本IP核的設計以功能邏輯處理機制為基礎,,分別對發(fā)送流程和接收流程設計狀態(tài)機并實現(xiàn)[8]。
在發(fā)送流程的狀態(tài)轉(zhuǎn)換過程中,,共有6個狀態(tài),,如圖5所示。IP核的控制邏輯判斷來自主機的發(fā)送數(shù)據(jù)命令后,,首先檢查其各功能模塊的準備情況,,如果準備好,即開始發(fā)送數(shù)據(jù),,從寄存器單元中取出待發(fā)送數(shù)據(jù)并送至網(wǎng)絡通信模塊,,由其發(fā)送至前端模擬設備。在此過程中,,不斷檢測發(fā)送完成標志位DataEND,,如果該標志位變?yōu)橛行t表示發(fā)送成功,將此信息反饋給主機并進入下一工作周期等待狀態(tài),;如果超時該標志位仍未變化,,則反饋回主機發(fā)送失敗的信息,并請求重發(fā)。
相應地,,如圖6所示,,接收流程的狀態(tài)轉(zhuǎn)換過程有7個狀態(tài)。其工作大致與發(fā)送流程相同,,只是接收數(shù)據(jù)從寄存器單元讀出后,,要先經(jīng)過數(shù)據(jù)模式的轉(zhuǎn)換后,再發(fā)送給主機使用,。
4 仿真與驗證
本文選用Altera公司的Cyclone系列的EP1C12240C8器件,,并在Quartus7.2環(huán)境下采用VHDL語言實現(xiàn)前述IP 核的方案設計。IP核設計完成后,,利用SoPC Builder對其進行功能仿真和時序分析。在仿真測試中,,以按鍵模擬實際開關(guān)動作,;以數(shù)碼顯示器數(shù)值變化模擬實際儀器儀表或傳感器動作,分別對該IP核的發(fā)送和接收功能進行仿真測試,。
本IP核發(fā)送功能仿真測試所得波形如圖7所示,。系統(tǒng)的時鐘允許信號ClockEna有效后,系統(tǒng)寄存器有效信號MemoEna及寄存器讀信號MemoRd相繼變?yōu)橛行?,系統(tǒng)在IP 核處理邏輯給出發(fā)送信號SdEna之后開始發(fā)送寄存器中讀出的數(shù)據(jù),。在此過程中,不斷檢測發(fā)送完成信號DataEND及超時控制信號Timechip,,如DataEND有效則停止發(fā)送,,如前述兩信號同時有效或直到Timechip信號變?yōu)橛行В瑒t停止本次發(fā)送,,向IP 核處理邏輯反饋重發(fā)信號Retry,。同理,IP 核接收功能仿真測試所得波形如圖8所示,。通過分析波形可以得出,,IP 核處理過程與前述功能邏輯設計一致。
本文提出了一種數(shù)據(jù)采集與控制系統(tǒng)軟IP核的設計方案,,對其采用VHDL語言描述實現(xiàn),,并進行了功能仿真測試。經(jīng)測試證明,,該方案能滿足設計要求,,且成本較低,處理邏輯簡單,,可方便地移植到多種大型的工業(yè)模擬仿真系統(tǒng)中,,應用前景廣泛。
參考文獻
[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ā)模式的高校集成電路設計發(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ù)的核信息遠程采集系統(tǒng)[J].電子技術(shù)應用,,2006,,32(3):87-89.
[6] 譚華,古天龍.Avalon片上總線協(xié)議的形式化建模與模型檢驗分析[J].桂林電子科技大學學報,,2009,,29(2):96-100.
[7] 廖艷,陳利學,,賴春紅,,等.基于FPGA的等精度頻率計IP Core設計[J].電子技術(shù)應用,2007,,33(12):21-23.
[8] 章世華,,鄒麗麗,董湘麟,,等.智能卡控制器IP核的設計與實現(xiàn)[J].電子技術(shù)應用,,2009,35(2):46-48.