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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于Spantan FPGA的多路數(shù)字量采集模塊設(shè)計

          基于Spantan FPGA的多路數(shù)字量采集模塊設(shè)計

          作者: 時間:2011-03-25 來源:網(wǎng)絡(luò) 收藏
          4 內(nèi)部邏輯

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

            內(nèi)部邏輯主要分為信號、數(shù)據(jù)緩存和數(shù)據(jù)讀取、FIFO控制。根據(jù)要求,信號又分為頻率信號、20路信號采集和15路脈沖信號采集。系統(tǒng)同時采集三組信號,再送入外部FIFO中緩存。由于脈沖信號的數(shù)據(jù)量較大,時序不匹配,因此在信號采集完后數(shù)據(jù)還應(yīng)緩存,然后再經(jīng)數(shù)據(jù)編幀送至外部FIFO。內(nèi)部緩存利用VHDL編寫,但是更簡易的方法是利用內(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ù)字信號的電平狀態(tài)都送入緩存,而對于頻率信號和脈沖信號的采集則采用如下方法。

            4.1 頻率信號采集

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

            4.2 脈沖信號采集

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

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

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

            

            上位機收到一幀數(shù)據(jù)后進行解幀處理,對于頻率信號數(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ù)字量采集與處理模塊,了相應(yīng)的電路和FPGA邏輯。在綜合調(diào)試成功的基礎(chǔ)上,該多路數(shù)字量采集模塊已成功應(yīng)用于某測試系統(tǒng)。

          隔離器相關(guān)文章:隔離器原理

          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(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); })();