0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

采用VHDL語言實現(xiàn)數(shù)據(jù)采集與控制系統(tǒng)軟IP核的設(shè)計

電子設(shè)計 ? 來源:郭婷 ? 作者:電子設(shè)計 ? 2019-05-03 08:28 ? 次閱讀

現(xiàn)代模擬仿真技術(shù)廣泛應(yīng)用在系統(tǒng)設(shè)計、系統(tǒng)分析以及教育訓(xùn)練中。在模擬過程中,存在大量向前端模擬裝置或仿真模塊發(fā)送指令數(shù)據(jù),以及從模擬工作設(shè)備上讀取狀態(tài)參量的情況。在對大型工業(yè)設(shè)備和系統(tǒng)進行模擬仿真時,數(shù)據(jù)采集控制的復(fù)雜程度愈加惡劣。通過改進數(shù)據(jù)采集控制器的結(jié)構(gòu),提高數(shù)據(jù)采集控制器的自動化和集成化程度,可以有效地提高大型模擬仿真設(shè)備數(shù)據(jù)采集和控制的效率。

FPGA及SoPC技術(shù)的發(fā)展為此提供了新的解決方案。IP核(IP Core)是具有特定電路功能的硬件描述語言程序,可較方便地進行修改和定制,以提高設(shè)計效率。本文研究了基于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)中,發(fā)送機制負責將模擬仿真系統(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)的實時性和效率。

采用VHDL語言實現(xiàn)數(shù)據(jù)采集與控制系統(tǒng)軟IP核的設(shè)計

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

采用VHDL語言實現(xiàn)數(shù)據(jù)采集與控制系統(tǒng)軟IP核的設(shè)計

2 系統(tǒng)設(shè)計

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

采用VHDL語言實現(xiàn)數(shù)據(jù)采集與控制系統(tǒng)軟IP核的設(shè)計

主要模塊功能及其特征描述如下:

(1)IP核控制邏輯模塊:負責整個IP核的控制與運行,當接收到主機發(fā)來的工作命令后,該模塊根據(jù)命令的種類(發(fā)送數(shù)據(jù)或采集數(shù)據(jù))向相應(yīng)的模塊發(fā)送控制命令;出現(xiàn)異常時,本模塊根據(jù)事先定義好的規(guī)則對異常情況進行處理;

(2)數(shù)據(jù)模式轉(zhuǎn)換模塊:該模塊在接收到IP核控制邏輯模塊發(fā)來的工作命令后,啟動數(shù)字信號——模擬信號的轉(zhuǎn)換;

(3)網(wǎng)絡(luò)通信模塊:采用專用的快速以太網(wǎng)控制器,利用其內(nèi)部集成的控制器及協(xié)議棧,可以方便地與前端模擬設(shè)備連接通信;同時利用其支持10/100 M全雙工傳輸模式的性能,實現(xiàn)快速收發(fā)數(shù)據(jù)的目的;

(4)寄存器模塊:包括寄存器訪問和寄存器單元兩部分。寄存器訪問部分的作用在于,當寄存器訪問程序被IP核控制邏輯選中調(diào)用時,IP核控制邏輯可通過其對寄存器單元進行讀或?qū)懖僮髟L問;寄存器單元部分作為發(fā)送或采集機制流水線工作時,數(shù)據(jù)流動的中間暫存介質(zhì)。基于本系統(tǒng)的設(shè)計目標,選擇SDRAM作為寄存器單元的硬件支撐,因其讀寫時序較復(fù)雜,需在本系統(tǒng)中集成專用的SDRAM控制器IP 核與其對接;

(5)總線模塊:負責各模塊之間信息的傳輸,如提供Avalon接口供寄存器訪問時使用,它使用Avalon必需的信號來訪問寄存器,并支持任務(wù)邏輯傳輸類型;

(6)時鐘模塊:產(chǎn)生相應(yīng)頻率的時鐘供給IP核,時鐘的頻率由系統(tǒng)時鐘頻率分頻所得。

3 系統(tǒng)實現(xiàn)

本IP 核功能邏輯的設(shè)計基于其任務(wù)邏輯定制的基本功能和技術(shù)指標。本設(shè)計的任務(wù)邏輯主要完成對模擬仿真系統(tǒng)前端模擬設(shè)備發(fā)送指令以及采集前端模擬設(shè)備狀態(tài)量數(shù)據(jù)。其功能邏輯也基于發(fā)送指令和接收數(shù)據(jù)兩個數(shù)據(jù)流來設(shè)計,如圖4所示。

采用VHDL語言實現(xiàn)數(shù)據(jù)采集與控制系統(tǒng)軟IP核的設(shè)計

為避免高速、高頻系統(tǒng)時序中常存在的競爭、毛刺危險以及建立與保持時間相抵觸等問題,本IP核采用同步設(shè)計的方案。同時,為解決實際中仍會經(jīng)常出現(xiàn)系統(tǒng)產(chǎn)生毛刺和時鐘偏斜等問題。本IP核中擬將時鐘控制改為觸發(fā)器輸入允許,將時鐘選擇改為獨立的時鐘分析。

為加快本設(shè)計的運行速度及處理效率,本IP核的設(shè)計以功能邏輯處理機制為基礎(chǔ),分別對發(fā)送流程和接收流程設(shè)計狀態(tài)機并實現(xiàn)。

在發(fā)送流程的狀態(tài)轉(zhuǎn)換過程中,共有6個狀態(tài),如圖5所示。IP核的控制邏輯判斷來自主機的發(fā)送數(shù)據(jù)命令后,首先檢查其各功能模塊的準備情況,如果準備好,即開始發(fā)送數(shù)據(jù),從寄存器單元中取出待發(fā)送數(shù)據(jù)并送至網(wǎng)絡(luò)通信模塊,由其發(fā)送至前端模擬設(shè)備。在此過程中,不斷檢測發(fā)送完成標志位DataEND,如果該標志位變?yōu)橛行t表示發(fā)送成功,將此信息反饋給主機并進入下一工作周期等待狀態(tài);如果超時該標志位仍未變化,則反饋回主機發(fā)送失敗的信息,并請求重發(fā)。

采用VHDL語言實現(xiàn)數(shù)據(jù)采集與控制系統(tǒng)軟IP核的設(shè)計

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

采用VHDL語言實現(xiàn)數(shù)據(jù)采集與控制系統(tǒng)軟IP核的設(shè)計

4 仿真與驗證

本文選用Altera公司的Cyclone系列的EP1C12240C8器件,并在Quartus7.2環(huán)境下采用VHDL語言實現(xiàn)前述IP 核的方案設(shè)計。IP核設(shè)計完成后,利用SoPC Builder對其進行功能仿真和時序分析。在仿真測試中,以按鍵模擬實際開關(guān)動作;以數(shù)碼顯示器數(shù)值變化模擬實際儀器儀表傳感器動作,分別對該IP核的發(fā)送和接收功能進行仿真測試。

本IP核發(fā)送功能仿真測試所得波形如圖7所示。系統(tǒng)的時鐘允許信號ClockEna有效后,系統(tǒng)寄存器有效信號MemoEna及寄存器讀信號MemoRd相繼變?yōu)橛行В到y(tǒng)在IP 核處理邏輯給出發(fā)送信號SdEna之后開始發(fā)送寄存器中讀出的數(shù)據(jù)。在此過程中,不斷檢測發(fā)送完成信號DataEND及超時控制信號Timechip,如DataEND有效則停止發(fā)送,如前述兩信號同時有效或直到Timechip信號變?yōu)橛行?,則停止本次發(fā)送,向IP 核處理邏輯反饋重發(fā)信號Retry。同理,IP 核接收功能仿真測試所得波形如圖8所示。通過分析波形可以得出,IP 核處理過程與前述功能邏輯設(shè)計一致。

采用VHDL語言實現(xiàn)數(shù)據(jù)采集與控制系統(tǒng)軟IP核的設(shè)計

本文提出了一種數(shù)據(jù)采集與控制系統(tǒng)軟IP核的設(shè)計方案,對其采用VHDL語言描述實現(xiàn),并進行了功能仿真測試。經(jīng)測試證明,該方案能滿足設(shè)計要求,且成本較低,處理邏輯簡單,可方便地移植到多種大型的工業(yè)模擬仿真系統(tǒng)中,應(yīng)用前景廣泛。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1630

    文章

    21777

    瀏覽量

    604733
  • 控制系統(tǒng)
    +關(guān)注

    關(guān)注

    41

    文章

    6644

    瀏覽量

    110726
  • vhdl
    +關(guān)注

    關(guān)注

    30

    文章

    817

    瀏覽量

    128213
收藏 人收藏

    評論

    相關(guān)推薦

    一種采用PCI的軸角數(shù)據(jù)采集系統(tǒng)

    研究一種基于PCI的軸角編碼數(shù)據(jù)采集系統(tǒng),實現(xiàn)伺服系統(tǒng)角度位置量的實時測控。
    發(fā)表于 02-11 14:15 ?2568次閱讀
    一種<b class='flag-5'>采用</b>PCI<b class='flag-5'>軟</b><b class='flag-5'>核</b>的軸角<b class='flag-5'>數(shù)據(jù)采集</b><b class='flag-5'>系統(tǒng)</b>

    基于FPGA的數(shù)據(jù)采集控制IP的設(shè)計方案和實現(xiàn)方法研究

    此提供了新的解決方案。IP(IP Core)是具有特定電路功能的硬件描述語言程序,可較方便地進行修改和定制,以提高設(shè)計效率[3]。本文研究了基于FPGA的
    發(fā)表于 07-09 07:23

    如何設(shè)計RS232異步串行口IP?

    ,使用IP核可使整個系統(tǒng)更加靈活,還可根據(jù)需要實現(xiàn)功能升級、擴充和裁減。這里采用VHDL語言編寫
    發(fā)表于 08-20 07:53

    請問FPGA的高速多通道數(shù)據(jù)采集控制IP設(shè)計怎么實現(xiàn)?

    本文介紹的在電能質(zhì)量監(jiān)測系統(tǒng)中信號采集模塊控制器的 IP,是采用硬件描述
    發(fā)表于 04-08 06:33

    如何采用數(shù)據(jù)采集卡設(shè)計測井數(shù)據(jù)采集控制系統(tǒng)

    測井數(shù)據(jù)采集控制系統(tǒng)原理是什么?由哪些構(gòu)成?數(shù)據(jù)采集有哪些方案設(shè)計?如何采用數(shù)據(jù)采集卡設(shè)計測井數(shù)據(jù)采集
    發(fā)表于 04-13 06:25

    如何使用VHDL硬件描述語言實現(xiàn)的十六路彩燈控制系統(tǒng)?

    本文介紹應(yīng)用美國ALTERA公司的MAX+PLUSⅡ平臺,使用VHDL硬件描述語言實現(xiàn)的十六路彩燈控制系統(tǒng)
    發(fā)表于 04-19 07:43

    VHDL密碼控制系統(tǒng)的設(shè)計

    闡述密碼控制設(shè)計的基本原理。介紹了VHDL語言的特點以及基本的語法結(jié)構(gòu)。在MAX+plusⅡ開發(fā)軟件環(huán)境下,利用VHDL硬件描述語言實現(xiàn)密碼
    發(fā)表于 12-16 16:10 ?0次下載

    SOPC基礎(chǔ)上的數(shù)據(jù)采集系統(tǒng)設(shè)計

    本中提出一種基于SOPC技術(shù)的多路數(shù)據(jù)采集與存儲系統(tǒng)的設(shè)計方法,利用硬件描述語言設(shè)計用戶IP,實現(xiàn)
    發(fā)表于 07-04 11:04 ?1099次閱讀
    SOPC基礎(chǔ)上的<b class='flag-5'>數(shù)據(jù)采集</b><b class='flag-5'>系統(tǒng)</b>設(shè)計

    基于Nios_Ⅱ的SOPC數(shù)據(jù)采集系統(tǒng)的設(shè)計

    基于Nios_Ⅱ的SOPC數(shù)據(jù)采集系統(tǒng)的設(shè)計
    發(fā)表于 02-17 10:07 ?36次下載

    FM收音機的解碼及控制VHDL語言實現(xiàn)

    Xilinx FPGA工程例子源碼:FM收音機的解碼及控制VHDL語言實現(xiàn)
    發(fā)表于 06-07 14:13 ?11次下載

    基于ARM的數(shù)據(jù)采集控制系統(tǒng)設(shè)計

    基于ARM的數(shù)據(jù)采集控制系統(tǒng)設(shè)計
    發(fā)表于 12-17 15:26 ?2次下載

    基于FPGA核技術(shù)應(yīng)用于高速數(shù)據(jù)采集系統(tǒng)設(shè)計的方法減少開發(fā)時間

    為解決不同性能指標數(shù)據(jù)采集系統(tǒng)開發(fā)時間較長的問題,提出了一種將FPGA核技術(shù)應(yīng)用于高速數(shù)據(jù)采集系統(tǒng)設(shè)計的方法。
    發(fā)表于 11-24 17:00 ?857次閱讀
    基于FPGA<b class='flag-5'>軟</b>核技術(shù)應(yīng)用于高速<b class='flag-5'>數(shù)據(jù)采集</b><b class='flag-5'>系統(tǒng)</b>設(shè)計的方法減少開發(fā)時間

    如何使用FPGA進行仿真系統(tǒng)數(shù)據(jù)采集控制IP設(shè)計的資料概述

    介紹了在大型工業(yè)模擬仿真系統(tǒng)中,利用FPGA和IP實現(xiàn)數(shù)據(jù)采集及收發(fā)控制的方案,并對其進行設(shè)
    發(fā)表于 11-07 11:14 ?20次下載
    如何使用FPGA進行仿真<b class='flag-5'>系統(tǒng)</b><b class='flag-5'>數(shù)據(jù)采集</b><b class='flag-5'>控制</b>器<b class='flag-5'>IP</b><b class='flag-5'>核</b>設(shè)計的資料概述

    基于Altera的FPGA器件和VHDL語言實現(xiàn)數(shù)據(jù)采集系統(tǒng)的設(shè)計

    傳統(tǒng)的數(shù)據(jù)采集系統(tǒng),通常采用單片機或DSP作為主要控制模塊,控制ADC、存儲器和其他外圍電路的工作。隨著
    發(fā)表于 08-06 17:02 ?1262次閱讀
    基于Altera的FPGA器件和<b class='flag-5'>VHDL</b><b class='flag-5'>語言實現(xiàn)</b><b class='flag-5'>數(shù)據(jù)采集</b><b class='flag-5'>系統(tǒng)</b>的設(shè)計

    基于VHDL語言實現(xiàn)遠程防盜報警設(shè)計

    電子發(fā)燒友網(wǎng)站提供《基于VHDL語言實現(xiàn)遠程防盜報警設(shè)計.pdf》資料免費下載
    發(fā)表于 11-08 14:33 ?0次下載
    基于<b class='flag-5'>VHDL</b><b class='flag-5'>語言實現(xiàn)</b>遠程防盜報警設(shè)計