<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

基于Spantan FPGA的多路數字量采集模塊設計

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

本文引用地址:http://dyxdggzs.com/article/150924.htm

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

  4.1 頻率信號采集

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

  4.2 脈沖信號采集

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

  4.3 數據的編幀和解幀

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

  

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

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

  5 結束語(yǔ)

  針對測控系統監測信號數量較多的問(wèn)題,提出了一種FPGA的多路數字量采集與處理模塊,了相應的電路和FPGA邏輯。在綜合調試成功的基礎上,該多路數字量采集模塊已成功應用于某測試系統。

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

上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>