<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 基于SOPC的現(xiàn)場(chǎng)總線多通道實(shí)時(shí)溫度采集系統(tǒng)設(shè)計(jì)

          基于SOPC的現(xiàn)場(chǎng)總線多通道實(shí)時(shí)溫度采集系統(tǒng)設(shè)計(jì)

          作者: 時(shí)間:2016-10-18 來(lái)源:網(wǎng)絡(luò) 收藏

          引言

          本文引用地址:http://www.ex-cimer.com/article/201610/308978.htm

          溫度是表征物體冷熱程度的物理量,是工業(yè)生產(chǎn)中常見(jiàn)和最基本的參數(shù)之一,在生產(chǎn)過(guò)程中常常需要對(duì)溫度進(jìn)行監(jiān)控。傳統(tǒng)的系統(tǒng),通常采用單片機(jī)或數(shù)字信號(hào)處理器DSP作為微控制器,控制模數(shù)轉(zhuǎn)換器ADC及其他外圍設(shè)備的工作;但是,基于單片機(jī)或DSP的高速多路系統(tǒng)都有一定的不足。由于單片機(jī)運(yùn)行的時(shí)鐘頻率較低,并且單片機(jī)是基于順序語(yǔ)言的,各種功能都要靠軟件的運(yùn)行來(lái)實(shí)現(xiàn),因此隨著程序量的增加,如果程序的健壯性不好,會(huì)出現(xiàn)“程序跑飛”和“復(fù)位”現(xiàn)象。DSP的運(yùn)算速度快,處理復(fù)雜的乘加運(yùn)算有一定的優(yōu)勢(shì),但是很難完成外圍設(shè)備的復(fù)雜硬件邏輯控制。因而單片機(jī)或DSP很難滿(mǎn)足在復(fù)雜的工業(yè)現(xiàn)場(chǎng)進(jìn)行多路時(shí)對(duì)實(shí)時(shí)性和同步性的要求。鑒于此,本文介紹一種基于SOPC技術(shù)的多通道實(shí)時(shí)溫度采集系統(tǒng)。該系統(tǒng)開(kāi)發(fā)周期短、資源配置靈活、穩(wěn)定性良好,滿(mǎn)足了對(duì)溫度采集實(shí)時(shí)性和同步性有較高要求的工業(yè)生產(chǎn)領(lǐng)域中的應(yīng)用。

          1 系統(tǒng)的總體結(jié)構(gòu)

          溫度采集系統(tǒng)的硬件主要由溫度采集模塊、數(shù)據(jù)存儲(chǔ)模塊、邏輯控制模塊以及通信模塊組成,其總體架構(gòu)如圖1所示。

          基于SOPC的現(xiàn)場(chǎng)總線多通道實(shí)時(shí)溫度采集系統(tǒng)設(shè)計(jì)

          系統(tǒng)上電后,先由靜態(tài)存儲(chǔ)器EPCS16自動(dòng)將配置數(shù)據(jù)載入到(CycloneII系列的EP2C8Q208C)的SDRAM(HY57V641620)之中,即將固化在其中的數(shù)字邏輯電路映射到器件中。溫度傳感器單元AD590首先采集溫度信號(hào),然后經(jīng)過(guò)信號(hào)調(diào)理電路的處理,使信號(hào)的輸出幅度滿(mǎn)足A/D采樣的量程要求。此時(shí)FPGA控制模擬選擇開(kāi)關(guān)ADG706進(jìn)行通道選擇,同時(shí)控制多片16位A/D轉(zhuǎn)換器ADS8402進(jìn)行A/D轉(zhuǎn)換,并將采集到的實(shí)時(shí)數(shù)據(jù)分時(shí)存儲(chǔ)到兩片類(lèi)型為FIFO、容量為16K×9位的存儲(chǔ)器IDT72V06中。然后,將其中處于讀狀態(tài)的IDT72V06中的數(shù)據(jù)讀取出來(lái),并經(jīng)過(guò)FPGA控制SPC3通信模塊,通過(guò)總線傳送至上位機(jī)。

          2 溫度采集系統(tǒng)設(shè)計(jì)

          2.1 溫度采集模塊

          溫度采集模塊由多片溫度傳感器單元、多路信號(hào)調(diào)理電路、多路模擬開(kāi)關(guān)電路以及多路A/D轉(zhuǎn)換器四大部分組成。

          溫度傳感器單元采用熱電偶。它具有以下優(yōu)點(diǎn):測(cè)溫范圍寬,性能穩(wěn)定;測(cè)量精度高,熱電偶與被測(cè)對(duì)象直接接觸,不受中間介質(zhì)的影響;熱響應(yīng)時(shí)間快,熱電偶對(duì)溫度變化反應(yīng)靈活;測(cè)量范圍大,-40~+1600℃均可連續(xù)測(cè)溫;性能牢靠,機(jī)械強(qiáng)度好;壽命長(zhǎng),按裝方便,特別適合于在復(fù)雜的工業(yè)生產(chǎn)過(guò)程中對(duì)溫度的實(shí)時(shí)檢測(cè)。

          多路模擬開(kāi)關(guān)電路選用16路模擬選擇開(kāi)關(guān)ADG706。其4位地址位.A0、A1、A2、A3的輸入直接由FPGA的I/O端口CH0、CH1、CH2、CH3控制,決定16路輸入信號(hào)中要輸出的通道,每條通道選擇指令將同時(shí)啟動(dòng)多片ADG706相應(yīng)的溫度采集通道。然后啟動(dòng)相應(yīng)的溫度采集通道進(jìn)行A/D轉(zhuǎn)換。本設(shè)計(jì)采用高速逐次逼近寄存器(SAR)類(lèi)比數(shù)位轉(zhuǎn)換器ADS8402,多片ADS8402A/D轉(zhuǎn)換器的啟動(dòng)轉(zhuǎn)換引腳共用FPGA的一個(gè)I/O端口A/D Start。ADS8402A/D轉(zhuǎn)換結(jié)果的高、低字節(jié)控制引腳BYTE及ADS8402的數(shù)據(jù)輸出控制,分別由FPGA單獨(dú)的I/O控制。FPGA每給A/DStart端口一個(gè)100ns的負(fù)脈沖,即可啟動(dòng)多片ADS8402進(jìn)行相應(yīng)通道上的數(shù)據(jù)采集。轉(zhuǎn)換結(jié)束后,可通過(guò)控制BYTE端口讀取A/D轉(zhuǎn)換結(jié)果,并暫存到相應(yīng)的數(shù)據(jù)單元。

          2.2 數(shù)據(jù)存儲(chǔ)模塊

          多通道采集信號(hào)的路數(shù)多、處理的數(shù)據(jù)量大,需要外擴(kuò)數(shù)據(jù)存儲(chǔ)模塊來(lái)緩存FPGA處理結(jié)果。與此同時(shí),由于上位機(jī)的多任務(wù)性,它不可能專(zhuān)一對(duì)并行口讀取數(shù)據(jù),為了保證FPGA控制核心與上位機(jī)通信一次性讀取大量數(shù)據(jù),本系統(tǒng)用到了2片異步FIFO芯片IDT72V06,其存儲(chǔ)容量16K×9位,存取時(shí)間15 ns,其中一片用來(lái)對(duì)采集過(guò)來(lái)的數(shù)據(jù)進(jìn)行存儲(chǔ),另一片用來(lái)讀取存儲(chǔ)在FIFO中的采集數(shù)據(jù),以便與上位機(jī)進(jìn)行并行口通信。系統(tǒng)運(yùn)行過(guò)程中,兩片F(xiàn)IFO位擴(kuò)展進(jìn)行雙緩存乒乓控制,輪流進(jìn)行讀寫(xiě)操作,可大大提高并口通信速度及數(shù)據(jù)吞吐量。

          2.3 通信模塊

          —DP是一種經(jīng)過(guò)優(yōu)化的高速、廉價(jià)的通信連接方式,專(zhuān)為自動(dòng)控制系統(tǒng)和設(shè)備級(jí)的分散I/O之間的通信而設(shè)計(jì),用于分布式控制系統(tǒng)的高速數(shù)據(jù)傳輸,實(shí)現(xiàn)自控系統(tǒng)和分散外圍I/O設(shè)備及智能現(xiàn)場(chǎng)儀表之間的高速數(shù)據(jù)通信。SPC3集成了全部的—DP協(xié)議,SP C3在DP方式下將完成所有DP—SAP的設(shè)置。

          SPC3內(nèi)部集成了1.5 KB的雙口RAM,包括參數(shù)寄存器、方式寄存器、狀態(tài)寄存器和中斷控制器等。SPC3內(nèi)部集成的看門(mén)狗定時(shí)器有3種工作狀態(tài):波特率檢測(cè)、波特率控制和從站控制。內(nèi)部的USART可實(shí)現(xiàn)并行數(shù)據(jù)流和串行數(shù)據(jù)流的相互轉(zhuǎn)換,微順序控制器控制整個(gè)工作過(guò)程,空閑定時(shí)器直接控制串行總線時(shí)序。通信模塊的設(shè)計(jì)選用了PROFIBUS—DP專(zhuān)用通信協(xié)議芯片SPC3,這樣可加速通信的執(zhí)行,而且可以減輕微處理器的負(fù)擔(dān)。

          2.4 FPGA邏輯控制模塊

          基于FPGA的采集控制單元,采用自頂而下的模塊化設(shè)計(jì)方法,使用Verilog HDL語(yǔ)言完成各控制模塊的設(shè)計(jì)。FPGA邏輯控制模塊包括A/D采樣控制模塊、FIFO讀寫(xiě)控制模塊和SPC3控制模塊。

          2.4.1 A/D采樣控制模塊

          A/D采樣控制模塊負(fù)責(zé)控制外部ADS8402芯片多路模擬輸入量的選通,并實(shí)現(xiàn)對(duì)A/D采樣過(guò)程的合理控制。

          由于ADS8402對(duì)16通道的模擬量采取分時(shí)轉(zhuǎn)換的方式,因此在啟動(dòng)轉(zhuǎn)換的同時(shí)還要進(jìn)行通道選擇。ADS8402設(shè)置了4根通道地址線A0、A1、A2、A3,以及地址鎖存允許信號(hào)ALE。當(dāng)ALE變高時(shí),鎖存由A0、A1、A2、A3編碼所確定的通道號(hào),將該通道的模擬量接入A/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。依據(jù)這樣的特性,設(shè)計(jì)一個(gè)帶復(fù)位端的十六進(jìn)制計(jì)數(shù)器,其計(jì)數(shù)輸出端Q3、Q2、Q1、Q0分別與ADS8402的4根地址線相連。計(jì)數(shù)器上電復(fù)位以確保系統(tǒng)從0號(hào)通道開(kāi)始采樣。將ADS8402的轉(zhuǎn)換結(jié)束信號(hào)EOC作為計(jì)數(shù)器的時(shí)鐘信號(hào),實(shí)現(xiàn)一路轉(zhuǎn)換結(jié)束后自動(dòng)啟動(dòng)對(duì)下一路模擬輸入的采樣控制。

          基于SOPC的現(xiàn)場(chǎng)總線多通道實(shí)時(shí)溫度采集系統(tǒng)設(shè)計(jì)

          A/D采樣過(guò)程的控制采用有限狀態(tài)機(jī)來(lái)實(shí)現(xiàn),把某一通道的采樣過(guò)程劃分為7個(gè)狀態(tài),如圖2所示。首先S0狀態(tài)對(duì)各個(gè)控制信號(hào)進(jìn)行初始化。在S1狀態(tài)產(chǎn)生ALE信號(hào)的上升沿,鎖存通道地址。啟動(dòng)信號(hào)START應(yīng)在產(chǎn)生ALE信號(hào)的同一時(shí)鐘下降沿產(chǎn)生,由于VHDL語(yǔ)言在同一進(jìn)程內(nèi)不允許時(shí)鐘的兩個(gè)沿作為敏感變量,所以將產(chǎn)生START信號(hào)單列為一個(gè)狀態(tài)S2,啟動(dòng)轉(zhuǎn)換。在啟動(dòng)轉(zhuǎn)換后,ADS8402使EOC置為低電平,設(shè)置S3狀態(tài)等待A/D轉(zhuǎn)換結(jié)束。轉(zhuǎn)換結(jié)束后,EOC信號(hào)由低電平轉(zhuǎn)換為高電平,狀態(tài)機(jī)進(jìn)入S4狀態(tài),開(kāi)啟輸出允許OE。狀態(tài)機(jī)進(jìn)入S5狀態(tài),開(kāi)啟數(shù)據(jù)鎖存信號(hào)LOCK鎖存數(shù)據(jù)。為產(chǎn)生與其他進(jìn)程通信的信號(hào),狀態(tài)機(jī)設(shè)置S6作為最后一個(gè)狀態(tài),然后跳轉(zhuǎn)回SO初始狀態(tài)。

          2.4.2 FIFO讀寫(xiě)控制模塊

          采用2片F(xiàn)IFO輪流讀寫(xiě)操作,實(shí)現(xiàn)FPGA與PC機(jī)之間的數(shù)據(jù)緩存。乒乓傳輸控制原理示意圖如圖3所示,圖中的實(shí)線箭頭與虛線箭頭分別代表不同的讀寫(xiě)數(shù)據(jù)周期。輸入數(shù)據(jù)流通過(guò)輸入數(shù)據(jù)流選擇單元,等時(shí)地將數(shù)據(jù)流分配到FIFO1、FIFO2中。在第1個(gè)緩沖周期,將輸入的數(shù)據(jù)流緩存到FIFO1。在第2個(gè)緩沖周期,通過(guò)輸入數(shù)據(jù)流選擇單元的切換,將輸入的數(shù)據(jù)流緩存到FIFO2,與此同時(shí),將FIFO1緩存的第1個(gè)周期的數(shù)據(jù)通過(guò)輸出數(shù)據(jù)流選擇單元的選擇,送到數(shù)據(jù)流運(yùn)算處理模塊被運(yùn)算處理。在第3個(gè)緩沖周期,通過(guò)輸入數(shù)據(jù)流選擇單元的再次切換,將輸入的數(shù)據(jù)流緩存到FIFO1,與此同時(shí),將FIFO2緩存的第2個(gè)周期的數(shù)據(jù)通過(guò)輸出數(shù)據(jù)流選擇單元的切換,送到數(shù)據(jù)流運(yùn)算處理模塊被運(yùn)算處理。如此循環(huán),周而復(fù)始。

          基于SOPC的現(xiàn)場(chǎng)總線多通道實(shí)時(shí)溫度采集系統(tǒng)設(shè)計(jì)

          2.4.3 SPC3控制模塊

          由于SPC3集成了完整的DP協(xié)議,因此在進(jìn)行通信時(shí),F(xiàn)PGA不用參與處理DP狀態(tài)機(jī)。主要任務(wù)是根據(jù)SPC3產(chǎn)生的中斷,將SPC3接收到的數(shù)據(jù)轉(zhuǎn)存,組織要通過(guò)SPC3發(fā)給的數(shù)據(jù),并根據(jù)要求組織外部診斷。在SPC3正常工作之前,需要進(jìn)行初始化,以配置需要的寄存器,包括設(shè)置協(xié)議芯片的中斷允許,寫(xiě)入從站識(shí)別號(hào)和地址,設(shè)置SPC3方式寄存器,設(shè)置診斷緩沖區(qū),配置緩沖區(qū)、地址緩沖區(qū)、初始化長(zhǎng)度,并根據(jù)以上初始值得出各個(gè)緩沖區(qū)的指針和輔助緩沖區(qū)的指針。通信模塊的控制流程如圖4所示。

          基于SOPC的現(xiàn)場(chǎng)總線多通道實(shí)時(shí)溫度采集系統(tǒng)設(shè)計(jì)

          3 系統(tǒng)的FPGA實(shí)現(xiàn)

          3.1 Nios II系統(tǒng)架構(gòu)設(shè)計(jì)

          Nios II系統(tǒng)模塊包含:Nios II處理器、Avalon總線、并行輸入/輸出口PIO、串行外圍設(shè)備接口SPI、定時(shí)器Timer、片內(nèi)存儲(chǔ)器EPCS、片外存儲(chǔ)器SDRAM、PROFIBUS-DP的客戶(hù)定制邏輯。由Nios II處理器完成程序控制,主要負(fù)責(zé)對(duì)溫度的采集與數(shù)據(jù)存儲(chǔ)操作,并控制PROFIBUS -DP的通信過(guò)程。其架構(gòu)如圖5所示。

          基于SOPC的現(xiàn)場(chǎng)總線多通道實(shí)時(shí)溫度采集系統(tǒng)設(shè)計(jì)

          3.2 系統(tǒng)軟件設(shè)計(jì)

          Nios II處理器的軟件設(shè)計(jì)是在軟核內(nèi)存放一段編寫(xiě)的C/C++語(yǔ)言控制程序。來(lái)控制系統(tǒng)運(yùn)行,它可以讀寫(xiě)芯片的存儲(chǔ)單元,同時(shí)與外圍的設(shè)備進(jìn)行通信。在本系統(tǒng)中,Nios II程序的任務(wù)是:在規(guī)定的周期內(nèi),F(xiàn)PGA通過(guò)通信模塊接收上位機(jī)發(fā)出的采樣任務(wù)及控制參數(shù),然后控制模擬選擇開(kāi)關(guān)ADG706和A/D轉(zhuǎn)換器ADS8402,使它們對(duì)選定通道的模擬信號(hào)進(jìn)行調(diào)理及A/D轉(zhuǎn)換,并讀取采樣數(shù)據(jù)以乒乓傳輸數(shù)據(jù)方式傳送至片外FIFO緩存,再通過(guò)PROFIBUS—DP通信接口將采樣數(shù)據(jù)傳輸至上位機(jī)。主程序流程如圖6所示。

          基于SOPC的現(xiàn)場(chǎng)總線多通道實(shí)時(shí)溫度采集系統(tǒng)設(shè)計(jì)

          結(jié)語(yǔ)

          基于FPGA的多通道實(shí)時(shí)溫度采集系統(tǒng)以Nios II軟核處理器實(shí)現(xiàn)SOPC,進(jìn)一步簡(jiǎn)化了硬件設(shè)計(jì)。與傳統(tǒng)的基于MCU的多通道溫度采集系統(tǒng)相比,該系統(tǒng)具有資源配置靈活、運(yùn)行穩(wěn)定可靠、實(shí)時(shí)性強(qiáng)等優(yōu)點(diǎn)。另外,該系統(tǒng)具有標(biāo)準(zhǔn)PROFIBUS—DP接口,作為一個(gè)DP從站實(shí)現(xiàn)與多種DP主站的通信,可廣泛應(yīng)用于工業(yè)生產(chǎn)領(lǐng)域的PROFIBUS分布式控制系統(tǒng)中。



          關(guān)鍵詞: 溫度采集 FPGA NiosII PROFIBUS

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();