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

          新聞中心

          EEPW首頁 > 設(shè)計應(yīng)用 > NI矢量信號收發(fā)器的FPGA編程

          NI矢量信號收發(fā)器的FPGA編程

          作者: 時間:2014-07-11 來源:網(wǎng)絡(luò) 收藏

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

          另外,這些庫在默認(rèn)情況下處于鎖定狀態(tài),用戶在修改內(nèi)容之前,需要先通過會話框?qū)I解鎖。下文所述是使用這些儀器設(shè)計庫的詳細(xì)信息,適用于任何更改。

          在給定儀器設(shè)計庫的主機與FPGA之間交換數(shù)據(jù)可采用多種機制。所有采用LabVIEW RIO架構(gòu)和LabVIEW FPGA的產(chǎn)品均使用-RIO驅(qū)動,此驅(qū)動提供了單點方式的、存儲器映射、基于寄存器的主機至FPGA以及FPGA至主機通信,還有從主機至 FPGA以及FPGA至主機的多點連續(xù)DMA FIFO。這些都是功能強大的數(shù)據(jù)交換機制,實現(xiàn)主機與FPGA之間的有效通信不需要了解或者只要些許了解底層總線架構(gòu)。

          儀器設(shè)計庫的一個常見要求是:主機代碼需要將大量的設(shè)置下載到設(shè)備中,例如要對與FPGA相連接的芯片寄存器進(jìn)行編程,或者更新設(shè)置組,例 如FPGA上的濾波器抽頭。由于一些儀器設(shè)計庫要求采用此策略,并且設(shè)備的DMA通道數(shù)目有限,所以這些庫可能需要共享一個FIFO,從而需要在主機端和 FPGA端增加額外的邏輯來實現(xiàn)。另外,對于大數(shù)據(jù)集來說,此類通信一般為單向,但是可能也需要提供從FPGA至主機的某種單點確認(rèn),例如確認(rèn)所有設(shè)置均 已成功應(yīng)用等等。所有這些概念組成為一個單獨概念,稱為寄存器總線,并為一些儀器設(shè)計庫所采用。

          寄存器總線使用一個主機到FPGA端的 DMA FIFO來下載設(shè)置,以及一些寄存器/-RIO控制器和指示器,用于握手,將單點數(shù)據(jù)返回主機,或者發(fā)出信號,確認(rèn)已下載設(shè)置中的指令已經(jīng)應(yīng)用。

          圖 2. 寄存器總線是基于NI-RIO DMA、控制器和指示器構(gòu)建的輕質(zhì)協(xié)議,實現(xiàn)了大量設(shè)置組至FPGA的高效下載,這是給定儀器設(shè)計庫的主機與FPGA側(cè)之間的常見要求。

          為了完成仲裁,每個儀器設(shè)計庫均有一個獨一無二的子系統(tǒng)ID,從而使得多個庫能夠共享一條寄存器總線。為了更好地總結(jié)VST儀器設(shè)計庫的通信策略,表2說明了每個庫所采用的策略。

          控制器和指示器DMA FIFOs寄存器總線
          DSPX
          RF InX
          RF OutX
          BasecardX
          多記錄采集XX
          波形序列器XX
          觸發(fā)同步X
          嵌入式配置X

          表 2. NI PXIe-5644R儀器設(shè)計庫的主機與FPGA數(shù)據(jù)交換機制。

          另外,通過與嵌入式配置儀器設(shè)計庫配合使用,寄存器總線還可以在不牽涉主機的情況下完成FPGA觸發(fā)的重新配置。



          評論


          相關(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); })();