<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è) > 測試測量 > 設計應用 > 基于LabVIEW的FPGA模塊FIFO深度設定實(shí)現

基于LabVIEW的FPGA模塊FIFO深度設定實(shí)現

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

為了解決基于的DMA深度設定不當帶來(lái)的數據不連續問(wèn)題,結合的編程特點(diǎn)和DMA 的工作原理,提出了一種設定深度的方法。對FIFO不同深度的實(shí)驗表明,采用該方法設定的FIFO深度能夠比較好地滿(mǎn)足系統對數據連續傳輸的要求。研究結果對深入展開(kāi)研究和工程設計具有一定的指導意義。

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

  引言

  數據進(jìn)入的速率高于傳出的速率,持續的傳輸會(huì )造成數據的溢出,斷續的傳輸可能會(huì )造成數據不連續。使用基于 FPGA的DMA FIFO作為主控計算機和FPGA之間的緩存,若DMAFIFO深度設置的合適,FIFO不會(huì )溢出和讀空,那么就能實(shí)現數據輸出FPGA是連續的。

  本文在介紹了LabVIEW FPGA程序設計特點(diǎn)的基礎上,結合DMA FIFO的工作原理,提出了一種設定FIFO深度的方法,解決了FIFO溢出、讀空的問(wèn)題,實(shí)現了數據的連續傳輸。實(shí)驗結果表明該方法正確、可行,程序設計滿(mǎn)足系統對數據傳輸連續性的要求。

  1 LabVIEW FPGA

  LabVIEW FPGA是LabVIEW的一個(gè)子模塊,使用該模塊可以通過(guò)圖形化的編程對NI公司RIO(Reconfigurable I/O)設備上的FPGA進(jìn)行配置。圖形化的程序直接在硬件上實(shí)現,通過(guò)對RIO設備上的I/O接口的控制,可以靈活地對I/O信號進(jìn)行分析和處理,表現出比固定I/O硬件更加優(yōu)異的特性。使用LabVIEWFPGA模塊開(kāi)發(fā)出來(lái)的系統具有開(kāi)發(fā)周期短、結構模塊化、升級方便等優(yōu)點(diǎn)。例如,圖1表示了一個(gè)用LabVIEW FPGA模塊設計的程序,在FPGA上實(shí)現方波發(fā)生器。該方波發(fā)生器通過(guò)數字接口DIO_1輸出方波,其占空比和周期可調。LabVIEW FPGA模塊在程序的設計與實(shí)現上都展現出了極大的靈活性。

  

FPGA上實(shí)現方波發(fā)生器

  1.1 LabVIEW FPGA程序開(kāi)發(fā)流程

  

  使用LabVIEW FPGA模塊開(kāi)發(fā)應用程序的流程如圖2所示。首先創(chuàng )建FPGA vi,之后用FPGA設備仿真器在主控計算機上運行程序,反復地調試、修改,直至程序正確無(wú)誤。然后編譯FPGA vi,并把程序下載到FPGA上。FPGA部分的程序完成后,再根據需要在主控計算機上創(chuàng )建用戶(hù)界面程序Host vi,最終就完成整個(gè)系統的設計。

  FPGA設備仿真器的打開(kāi)方法是:首先在“項目瀏覽器”窗口中的打開(kāi)“我的電腦”子菜單,右擊子菜單中的“FPGA Target”并在快捷菜單中選擇“Execute vion”下一級子菜單中的“Development Computer with Simulated I/O”。然后再在FPGA vi中點(diǎn)擊“Run”按鈕,這時(shí)程序在FPGA的設備仿真器上運行。

  1.2 開(kāi)發(fā)FPGA vi

  發(fā)應用程序的第一步是創(chuàng )建用于配置PXIe-5641R板載FPGA的程序。在FPGA vi中可以實(shí)現算法邏輯,包括信號同步,定制數字通信協(xié)議,板載控制和預警處理判決機制等功能。通過(guò)LabVIEW FPGA模塊,可使用LabVIEW開(kāi)發(fā)環(huán)境和許多類(lèi)似的功能。但是由于FPGA不支持浮點(diǎn)操作,所以L(fǎng)abVIEW FPGA模塊較之LabVIEW完整Windows版開(kāi)發(fā)軟件缺少了一些操作符和分析函數。另外,由于PXIe-5641R板卡沒(méi)有硬盤(pán)和操作系統,因此不支持文件I/O和ActiveX功能。LabVIEW FPGA模塊的函數面板如圖3所示。

  

LabVIEW FPGA模塊的函數面板圖

  硬件對象不管是FPGA設備還是FPGA仿真器,都可以訪(fǎng)問(wèn)LabVIEW FPGA函數。仿真器使用RIO設備的I/O接口,可在主機處理器上執行邏輯算法。檢驗vi設計中的一些簡(jiǎn)單性錯誤,避免不必要的反復編譯,尤其是在程序比較大的時(shí)候可節省大量的時(shí)間,提高編程效率。也可使用仿真器驗證vi的執行流程,但無(wú)法驗證硬件的確定性,若需要驗證硬件性能的確定性,必須對FPGA vi進(jìn)行編譯。與其他FPGA開(kāi)發(fā)工具一樣,根據應用程序的復雜程度和計算機資源的不同,編譯步驟可能要花上幾分鐘到幾個(gè)小時(shí)的時(shí)間。


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

關(guān)鍵詞: LabVIEW FPGA FIFO 模塊

評論


相關(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>