www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 模擬 > 模擬
[導(dǎo)讀]測控系統(tǒng)常常需要處理所采集到的各種數(shù)字量信號。通常測控系統(tǒng)采用通用MCU完成系統(tǒng)任務(wù)。但當(dāng)系統(tǒng)中采集信號量較多時,僅依靠MCU則難以完成系統(tǒng)任務(wù)。針對這一問題,提出一種基于FPGA技術(shù)的多路數(shù)字量采集模塊。利用FPGA的I/O端口數(shù)多且可編程設(shè)置的特點,配以VHDL編寫的FPGA內(nèi)部邏輯,實現(xiàn)采集多路數(shù)字量信號。

1 引言

測控系統(tǒng)常常需要處理所采集到的各種數(shù)字量信號。通常測控系統(tǒng)采用通用MCU完成系統(tǒng)任務(wù)。但當(dāng)系統(tǒng)中采集信號量較多時,僅依靠MCU則難以完成系統(tǒng)任務(wù)。針對這一問題,提出一種基于FPGA技術(shù)的多路數(shù)字量采集模塊。利用FPGA的I/O端口數(shù)多且可編程設(shè)置的特點,配以VHDL編寫的FPGA內(nèi)部邏輯,實現(xiàn)采集多路數(shù)字量信號。

2 模塊設(shè)計方案

2.1 功能要求

該數(shù)字量采集模塊主要功能是采集輸入的36路數(shù)字及脈沖信號,并將編幀后的信號數(shù)據(jù)上傳給上位機,上位機經(jīng)解包處理后顯示信號相應(yīng)的狀態(tài)進(jìn)行判斷。

根據(jù)設(shè)計要求,所測量的36路數(shù)字信號中,有15路正脈沖信號。它們均由一個同步脈沖信號觸發(fā),因此需要測量這些正脈沖的寬度和相對于同步信號脈沖的延時。

要求采集步長不能大于10 ns,即采集頻率高于100 MHz。而其他數(shù)字信號需要顯示高低電平狀態(tài),其中一路信號是固定頻率信號,需測量其頻率值。上位機要求顯示所采集信號的狀態(tài)。

2.2 模塊原理框圖

FPGA內(nèi)部邏輯功能強大,外圍電路設(shè)計基于簡單、可靠的原則。該模塊由FIFO、USB2.0單片機、光電隔離器等部分組成。36路數(shù)字信號經(jīng)光電隔離器進(jìn)入FPGA主控單元,以供采集;FPGA處理采集到的信號,轉(zhuǎn)換成數(shù)據(jù)進(jìn)行編幀,然后寫入FIFO。USB單片機提取FIFO中的數(shù)據(jù),通過USB電纜傳送給上位機,上位機將傳送來的數(shù)據(jù)解幀,然后顯示所有信號狀態(tài)。模塊通過電源接口向各個部分供電。其原理框圖如圖1所示。

3 模塊電路設(shè)計

3.1 FPGA配置電路

FPGA是采用XILINX公司的Spantan-II系列XC2S100E,該系列器件的內(nèi)核采用2.5 V供電,工作頻率高達(dá)200 MHz;I/O端口供電電壓為3.3 V,可承受5 V的輸入高電平。Spartan-II系列的FPGA具有豐富的I/O端口資源。其I/O端口輸出緩沖器接收高達(dá)24 mA源出電流和48 mA灌入電流。

由于FPGA基于RAM工藝技術(shù),掉電后不能保存信息,因此需要一個外置存儲器來保存信息。采用一次可編程的PROM(高有效或低有效)XCF01SV020,其復(fù)位引腳的極性可編程設(shè)置,供電電壓為3.3 V。XCF01SVO20的DONE、INIT、CCLK信號來自于FPGA XC2S100E。系統(tǒng)上電后,首先FPGA初始化,INIT、DONE置低。INIT置低后復(fù)位PROM,此時由于PROM的CE為低,因此選取PROM,從而可將數(shù)據(jù)流從DATA引腳輸入到FPGA的DIN引腳。配置完成后,F(xiàn)PGA將DONE接高,PROM處于低功耗的待機模式,并將DATA引腳置為高阻態(tài)。圖2為FPGA配置電路圖。

3.2 光電隔離電路

采用高速光電耦合器HCPL-2631,其開關(guān)頻率高達(dá)10 MHz,而輸人數(shù)字信號頻率為120 kHz,完全滿足要求。由于光電耦合器件以光為媒介傳輸信息,可使輸入輸出隔離,由于光電耦合器的輸入回路為發(fā)光二極管,其輸入阻抗很小,而干擾源的內(nèi)阻較大,根據(jù)分壓原理可知,饋送到光電耦合器輸入端的噪聲干擾電壓變得很小,從而能有效抑制尖峰脈沖及各種噪聲干擾,具有較強的抗干擾性能;另外由于光電隔離器的兩端采用不同的接地方式,因此數(shù)字信號地和模塊地被完全隔離。圖3為光電隔離電路圖。

3.3 FIFO電路

FIFO電路采用IDT公司的IDT72V17190器件,該器件采用3.3 V電壓供電,16位64 KB容量的FIFO,工作時鐘高達(dá)100 MHz。如圖4所示,F(xiàn)IFO的數(shù)據(jù)輸入D0~D15及PAF、WCLK、WEN均與FPGA相連。數(shù)據(jù)輸出Q0~Q15及REN、RCLK、OE、EF、MRS、HF、FF均與USB2.0單片機相連。讀FIFO狀態(tài)時,USB2.0單片機給出FIFO復(fù)位信號MRS和使能信號OE,然后判斷FIFO的狀態(tài)信號EF(空)和HF(半滿)。當(dāng)FIFO半滿且非空,即EF為高,HF為低時,給出FIFO讀使能信號REN和讀時鐘RCLK,從FIFO中讀出數(shù)據(jù);寫FIFO時,F(xiàn)PGA判斷FIFO的PAF(幾乎滿)信號,如果該信號無效,則給出寫使能WEN和寫時鐘WCLK,將數(shù)據(jù)寫入FIFO。

4 FPGA內(nèi)部邏輯設(shè)計

FPGA內(nèi)部邏輯主要分為數(shù)字信號采集、數(shù)據(jù)緩存和數(shù)據(jù)讀取、FIFO控制。根據(jù)要求,信號采集又分為頻率信號采集、20路數(shù)字信號采集和15路脈沖信號采集。系統(tǒng)同時采集三組信號,再送入外部FIFO中緩存。由于脈沖信號的數(shù)據(jù)量較大,時序不匹配,因此在信號采集完后數(shù)據(jù)還應(yīng)緩存,然后再經(jīng)數(shù)據(jù)編幀送至外部FIFO。內(nèi)部緩存利用VHDL編寫模塊,但是更簡易的方法是利用FPGA內(nèi)部的雙口RAM。因此,F(xiàn)PGA選用Xilinx公司的XCF2S-100E,其內(nèi)部集成5 KB容量的RAM,足夠內(nèi)部緩存使用。數(shù)據(jù)經(jīng)信號采集后送人緩存,然后由讀取模塊讀出再送入外部FIFO,整個模塊采用120 MHz的時鐘,可以滿足要求大于100 MHz的時鐘頻率。采集20路數(shù)字信號的方法是當(dāng)信號變化時,就將當(dāng)前所有數(shù)字信號的電平狀態(tài)都送入緩存,而對于頻率信號和脈沖信號的采集則采用如下方法。

4.1 頻率信號采集

由于頻率信號只需體現(xiàn)出其頻率大小即可,因此采集頻率信號時只記錄該信號兩沿間的時間。即就是設(shè)定一個16位的計數(shù)器T,計數(shù)器的值隨主時鐘累加,當(dāng)判斷到該信號有變化時,就將計數(shù)器的值T1送人緩存,然后將該計數(shù)器清零。計數(shù)器的值繼續(xù)累加,直到該信號下一次變化,再將計數(shù)器的值T2送入緩存,計數(shù)器再清零,以此類推,來記錄該信號兩沿間的時間。

4.2 脈沖信號采集

采集脈沖信號需記錄該信號的脈寬以及相對于同步信號的延遲。記錄方法是:使用一個單獨的進(jìn)程,定義一個24位的計數(shù)器TB,當(dāng)同步信號的上升沿到來時開始計數(shù),當(dāng)同步信號的下一個上升沿到來時,該計數(shù)器清零。另一個進(jìn)程判斷15路脈沖信號中有一路信號變化時,將當(dāng)前計數(shù)器TB的值送人緩存,并將當(dāng)前所有脈沖信號的電平狀態(tài)都送入緩存。

4.3 數(shù)據(jù)的編幀和解幀

在數(shù)據(jù)采集部分中,當(dāng)同步信號的上升沿到來時,將3個幀標(biāo)志分別寫入3個緩存,頻率信號數(shù)據(jù)的幀標(biāo)志為EB90;20路數(shù)字信號的幀標(biāo)志為2個EB91;15路脈沖信號數(shù)據(jù)的幀標(biāo)志為3個EB92。讀取數(shù)據(jù)模塊中,當(dāng)同步信號的下降沿到來時,開始讀取緩存的數(shù)據(jù)送至外部FIFO,并判斷當(dāng)讀取一個EB90后,開始讀取緩存的數(shù)據(jù),并送入外部FIFO;當(dāng)讀到兩個EB91后,讀取緩存的數(shù)據(jù),并送入外部FIFO;當(dāng)讀到3個EB92后表明一幀數(shù)據(jù)讀取完畢,等待下一個同步信號的下降沿后再開始讀取下一幀數(shù)據(jù)。由于外部FIFO是16位,所以數(shù)據(jù)中不滿16位的都用0將數(shù)據(jù)補充完整,完整的數(shù)據(jù)幀結(jié)構(gòu)如圖5所示。

上位機收到一幀數(shù)據(jù)后進(jìn)行解幀處理,對于頻率信號數(shù)據(jù),將這些T值相加并求平均得出T’,再乘以2,由于系統(tǒng)時鐘是120 MHz,所以2T’/120為頻率信號周期(μs級),然后求倒數(shù)即可得出該信號的頻率值。

20路數(shù)字量信號數(shù)據(jù)直接顯示其電平狀態(tài)。脈沖信號數(shù)據(jù)則先判斷哪一路(多路)脈沖信號發(fā)生變化,再判斷該信號(幾路信號)的電平狀態(tài)。若為高電平,則對應(yīng)的時間應(yīng)為TBa;若為低電平,則對應(yīng)的時間應(yīng)為TBb。TBa即為該脈沖信號相對于同步信號的延遲,而TBb-TBa的值即為該脈沖信號的正脈沖脈寬。

5 結(jié)束語

針對測控系統(tǒng)監(jiān)測信號數(shù)量較多的問題,提出了一種基于FPGA的多路數(shù)字量采集與處理模塊,設(shè)計了相應(yīng)的電路和FPGA邏輯。在綜合調(diào)試成功的基礎(chǔ)上,該多路數(shù)字量采集模塊已成功應(yīng)用于某測試系統(tǒng)。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

最近為什么越來越多的研究開始利用FPGA作為CNN加速器?FPGA與CNN的相遇究竟能帶來什么神奇效果呢?原來,F(xiàn)PGA擁有大量的可編程邏輯資源,相對于GPU,它的可重構(gòu)性以及高功耗能效比的優(yōu)點,是GPU無法比擬的;同時...

關(guān)鍵字: FPGA 可編程邏輯資源 GPU

FPGA的應(yīng)用領(lǐng)域包羅萬象,我們今天來看看在音樂科技領(lǐng)域及醫(yī)療照護的智能巧思。

關(guān)鍵字: FPGA 科技領(lǐng)域 智能

強大的產(chǎn)品可降低信號噪音并提高分辨率與動態(tài)

關(guān)鍵字: Spectrum儀器 數(shù)字化儀 FPGA

最近某項目采用以太網(wǎng)通信,實踐起來有些奇怪,好像設(shè)計成只能應(yīng)答某類計算機的ICMP(ping)命令, 某類計算機指的是Windows特定系統(tǒng),其他系統(tǒng)發(fā)送ping都不能正確識別。

關(guān)鍵字: 嵌入式Linux FPGA 協(xié)議

近兩年,國外廠商的FPGA芯片價格飆升,由于價格,貨期,出口管制等多方面因素的影響,很多公司都在尋找FPGA國產(chǎn)化替代方案。我工作中正在使用的幾款芯片也面臨停產(chǎn)的風(fēng)險,用一片少一片,了解到國產(chǎn)FPGA發(fā)展的也不錯,完全自...

關(guān)鍵字: FPGA 芯片 EDA

本篇是FPGA之旅設(shè)計的第十二例,在前面的例程中,完成了DS18B20溫度傳感器數(shù)據(jù)的采集,并且將采集到的數(shù)據(jù)顯示在數(shù)碼管上。由于本例將對溫濕度傳感器DHT11進(jìn)行采集,而且兩者的數(shù)據(jù)采集過程類似,所以可以參考一下前面的...

關(guān)鍵字: FPGA DS18B20溫度傳感器

這是FPGA之旅設(shè)計的第十三例啦,本例是一個綜合性的例程,基于OLED屏幕顯示,和DHT11溫濕度采集,將DHT11采集到的溫濕度顯示到OLED屏幕上。

關(guān)鍵字: FPGA OLED屏幕

第八例啦,本例將介紹如何通過FPGA采集DS18B20傳感器的溫度值。

關(guān)鍵字: FPGA DS18B20傳感器

這是FPGA之旅設(shè)計的第九例啦?。?!本例將介紹如何使用FPGA驅(qū)動OLED屏幕,并在接下來的幾例中,配合其它模塊,進(jìn)行一些有趣的綜合實驗。由于使用的OLED屏是IIC接口的,對IIC接口不是很清楚的,可以參考第五例的設(shè)計...

關(guān)鍵字: FPGA OLED屏幕

這是FPGA之旅設(shè)計的第十例啦,在上一例中,已經(jīng)成功驅(qū)動了OLED屏幕,本例將結(jié)合上一例,以及第四例多bytes串口通信做一個有趣的例程。

關(guān)鍵字: FPGA OLED屏 串口

模擬

31144 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉