新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 用LabVIEW FPGA模塊實(shí)現(xiàn)不同時(shí)鐘域的數(shù)據(jù)連續(xù)傳輸

用LabVIEW FPGA模塊實(shí)現(xiàn)不同時(shí)鐘域的數(shù)據(jù)連續(xù)傳輸

作者: 時(shí)間:2011-09-21 來源:網(wǎng)絡(luò) 收藏


4 數(shù)據(jù)連續(xù)實(shí)現(xiàn)
在本文中系統(tǒng)軟件包括兩部分:Host vi和vi,二者是獨(dú)立而又有聯(lián)系的兩個(gè)部分。Host vi運(yùn)行于主控計(jì)算機(jī)上, vi運(yùn)行于上,二者通過FIFO來數(shù)據(jù)。
4.1 FPGA程序設(shè)計(jì)
使用圖形化的編程環(huán)境 FPGA來定義FPGA邏輯,除了具有上述的優(yōu)點(diǎn)以外,作為一種并行結(jié)構(gòu)的編程語言,非常適用于FPGA的并行結(jié)構(gòu),能夠十分方便地實(shí)現(xiàn)多線程并行任務(wù)。

本文引用地址:http://butianyuan.cn/article/191000.htm

b.JPG


當(dāng)FPGA vi開始運(yùn)行時(shí),從Host vi讀取數(shù)據(jù)的FIFO需要一定的初始化時(shí)間,時(shí)間長(zhǎng)度與FIFO的深度成正比。在初始化期間FIFO輸出一系列的無效默認(rèn)值。為了不讓無效值進(jìn)入到下一級(jí)的運(yùn)算中,在DMA方式的FIFO之前加了一個(gè)FIFO函數(shù)——Get Number of Element to Read,該函數(shù)用于獲得FIFO內(nèi)有效數(shù)據(jù)的數(shù)量。當(dāng)有效數(shù)據(jù)的數(shù)量大于0時(shí),再開始進(jìn)行下一級(jí)運(yùn)算??紤]到FPGA有限的硬件資源和FPGA FIFO最小
值的限制,將數(shù)據(jù)的地址寬度設(shè)為M=11,根據(jù)上文分析DMA FIFO的深度設(shè)為2M+5=2 053 KB。
4.2 主控計(jì)算機(jī)程序設(shè)計(jì)
Host vi是系統(tǒng)程序的另一部分部分,它具有建立硬件對(duì)象(FPGA)、與硬件通信和圖形顯示等功能。主控計(jì)算機(jī)程序圖如圖6所示,首先要建立與之進(jìn)行通信的硬件對(duì)象,即FPGA;其次配置系統(tǒng)時(shí)鐘、輸出模式;再次創(chuàng)建FIFO,設(shè)置其在主控計(jì)算機(jī)部分的FIFO深度;然后從電子表格讀取數(shù)據(jù),并循環(huán)查詢FIFO剩余空間的大小,當(dāng)剩余空間大于數(shù)組長(zhǎng)度時(shí),數(shù)據(jù)寫入FIFO當(dāng)沒有足夠的空間時(shí),數(shù)據(jù)保留到下一個(gè)循環(huán),滿足條件后再寫入FIFO;最后關(guān)閉FIFO應(yīng)用,處理錯(cuò)誤。

e.JPG


當(dāng)輸入數(shù)組長(zhǎng)度分別為300和1 000,形狀如圖7所示的波形時(shí),輸出數(shù)據(jù)的波形如圖8所示。由于AD9857上變頻的原因,使得輸出波形在輸入的矩形包絡(luò)中帶有載波,載波頻率為60 MHz。根據(jù)表1中的數(shù)據(jù)可以得出結(jié)論:此處的編程和上述實(shí)驗(yàn)的結(jié)果是一致的,即FPGA輸出頻率為10 MHz,數(shù)組長(zhǎng)度大于500時(shí),系統(tǒng)數(shù)據(jù)的輸出是連續(xù)。同時(shí)此結(jié)果也表明本文中的LabVIEW程序?qū)崿F(xiàn)了數(shù)據(jù)的連續(xù)。

5 結(jié)語
在使用LabVIEW FPGA和NI公司的RIO設(shè)備設(shè)計(jì)中頻信號(hào)生成系統(tǒng)時(shí),F(xiàn)PGA收發(fā)數(shù)據(jù)的速率不同造成了數(shù)據(jù)傳輸?shù)牟贿B續(xù),設(shè)定合適的FIFO深度可以有效解決該問題。本文根據(jù)DMA FIFO的工作原理,確定了給FIFO兩個(gè)部分分別設(shè)定合適深度的方法。通過設(shè)定合適的FIFO深度,實(shí)現(xiàn)了數(shù)據(jù)的連續(xù)傳輸,為后續(xù)的工程設(shè)計(jì)奠定了基礎(chǔ)。該設(shè)定FIFO深度的方法也對(duì)其他使用LabVIEW FPGA的工程設(shè)計(jì)具有一定的參考價(jià)值。


上一頁 1 2 3 下一頁

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

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉