『壹』 有沒有人用過Labview Fpga
官方網站的回答:
http://www.ni.com/fpga/zhs/
NI LabVIEW FPGA模塊採用NI LabVIEW嵌入式技術,拓展了NI LabVIEW圖形化開發系統,並將現場可編程門陣列(FPGA)作為NI可重配置I/O (RIO)硬體目標。NI LabVIEW因其能夠明確地表示並行和數據流,從而成為FPGA編程的絕佳選擇。藉助NI LabVIEW FPGA模塊,您可創建自定義的測量和控制硬體,而無需使用底層硬體描述語言或板卡設計。使用該自定義硬體,可以實現:獨特的定時和觸發例行程序、超高速控制、數字協議連接、數字信號處理(DSP)、RF和通信和其它許多對高速硬體可靠性和高度確定性提出要求的應用程序。
『貳』 labview上位機里編程和FPGA里編程有什麼區別
不太明白你的意思,但是labview編程是在做軟體開發,而FPGA編程是在做硬體開發,labview用的是G語言,也就是圖形化的語言,而FPGA用的是VHDL或者verilog語言,是硬體描述語言,兩者完全不同,個人覺得沒有可比性。
『叄』 在labview fpga中怎樣將採集得到的單點數據進行模擬輸出
1. 可以先用EXCEL(或其他兼容辦公軟體)把文件另存成csv(逗號分隔)文件。2. 用 編程-文件I/O-讀取電子表格文件 把數據作為二維數組讀進來。注意「讀取電子表格文件」下面的「分隔符」接線端一定要連接一個半形逗號的常量。3. 二維數組再根據數據在電子表格裡面的排列方式決定做成兩個行向量還是列向量4. 把兩個向量(一維數組)按順序捆綁成一個簇,接到XY圖就能顯示出來了。 其實你也可以在excel(這里不是特指微軟的excel)裡面選中那些數據後插入圖表,選XY圖即可。
『肆』 labview FPGA模塊中控制DIO板卡輸出IO量控制繼電器吸合,怎麼實現IO量自動輸出功能
第一步:使用Quartus和Qsys工具完成硬體系統的配置。
該步驟實現SOC最小系統的硬體配置,包括硬核處理器配置、HPS和FPGA之間通信介面匯流排的選擇、HPS外設裁剪、HPS時鍾配置和SDRAM配置。該實驗中主要用到HPS硬核,以及PIO外設IP核。Qsys工具為用戶提供硬體系統的可視化設計,能夠自動生成handoff文件,該文件配合bsp-editor工具可以生成preloader。Preloader是HPS的第二階段引導源,主要作用為:初始化SDRAM介面,配置HPS IO口,載入下一引導源並跳轉到它。
實驗步驟
1 新建Quartus工程。
1.1 設置工程存放路徑,工程名以及頂層文件名,如圖1所示。
圖1
1.2 選擇FPGA器件型號,如圖2所示,DE10-Standard板載FPGA型號為5CSXFC6D6F31C6。
圖2
1.3 點擊next直到finish,未提及的頁面均按默認設置即可。
2 在Qsys中配置SOC。
2.1 運行Qsys工具。
在Quartus軟體中,通過菜單欄Tools->Qsys打開Qsys工具。剛打開的Qsys工具頁面如圖3所示。
圖3
2.2 添加HPS並完成配置。
在左側的IP目錄中輸入hps,選中Arria V/Cyclone V Hard Processor System,雙擊添加HPS,在彈出的HPS配置頁面中進行HPS配置。HPS配置頁面如圖4所示。
圖4
1) 在FPGA Interfaces頁面中,General一欄均不勾選,AXI Bridges一欄設為64-bit、64-bit、32-bit,FPGA-to-HPS SDRAM Interface一欄中移除原有介面,Resets一欄中均不勾選。
2)在Peripheral Pins頁面中,設置HPS外設引腳復用及模式選擇。設置如表1所示。設置完成後頁面如圖5所示。(本實驗其實未用到這些外設)
表1 外設引腳復用及模式選擇
外設名稱
引腳復用選擇
模式選擇
EMAC1
HPS I/O Set 0
RGMII
QSPI
HPS I/0 Set 0
1SS
SDIO
HPS I/0 Set 0
4-bit Data
USB1
HPS I/0 Set 0
SDR
UART0
HPS I/0 Set 0
No Flow Control
(註:表中未提及的外設即Unused,無需設置)
圖5 Peripheral Pins頁面設置
在HPS Clocks頁面中,確認下Input Clocks->External Clock Sources 中的時鍾頻率為25MHz,其它無需設置,默認即可。
在SDRAM頁面中,參考圖6-11更改該頁面下所有子頁面中的參數。(本實驗未用到SDRAM,所以不設置也可)
圖6
圖7
圖8
圖9
圖10
圖11
5) 至此,HPS設置完畢,點擊finish離開HPS設置頁面。
2.3 添加並設置其它Qsys元件
本實驗通過HPS控制FPGA部分的IO口,以此來控制連接在FPGA IO引腳LED燈的亮滅。所以整個SOC只需包含HPS和PIO,即Qsys中還需要添加PIO外設。
添加PIO外設。在IP目錄中輸入PIO,選中PIO雙擊添加外設,設置頁面如圖12所示,本實驗通過PIO控制4個LED,故寬度為4。
圖12
2.4 配置Qsys系統元件
修改元件名稱。本實驗把pio_0重命名為led_pio。
導出外設的頂層I/O介面。在Export一欄下相應位置雙擊,導出led_pio的頂層I/O介面,命名為fpga_led_pio,導出hps_0的h2f_reset介面,命名為hps_0_h2f_reset,如圖13所示。
圖13
連接Qsys外設介面。外設的介面信號之間沒有連接,需要根據系統要求手動進行連接。各個外設之間的信號連接c如表2所示。連接好後如圖14所示。
表2 元件信號連接關系
需要連接的
被連接的
元件
信號名
元件
信號名
led_pio
clk
clk_0
clk
reset
clk_0
clk_reset
s1
hps_0
h2f_lw_axi_master
hps_0
h2f_lw_axi_clock
clk_0
clk
h2f_lw_axi_master
led_pio
s1
圖14
4)配置Qsys的地址映射。Qsys中添加的元件及外設都需要分配對應的基地址。這里我們採用自動分配的方式,在Qsys菜單中選擇System->Assign Base Address,完成基地址自動分配。
5)生成Qsys系統。Save保存Qsys文件,命名為soc_led.qsys。然後點擊菜單Generate->Generate HDL,彈出如圖15設置框,按圖設置好後點擊Generate,Qsys將生成與硬體系統相關的一系列文件。
圖15
3 完成Quartus工程編譯
3.1 在Quartus工程中添加Qsys產生的系統模塊。
1)Quartus中點擊菜單Assignments->Settings,彈出設置框,選中左側Files一欄,添加Qsys文件soc_led.v和soc_led.qip,添加完成後如圖16所示。
圖16
2)新建頂層文件。本實驗採用的頂層文件類型為bdf(Block Diagram/Schematic File)。點擊菜單File->New,選擇Design Files中的Block Diagram/Schematic File後點擊OK,點擊菜單File->Save As將該文件保存到工程目錄下,命名為top.bdf。在該原理圖空白處右鍵Insert->Symbol,選擇Qsys生成的soc_led.bsf,將該模塊插入到頂層原理圖文件中。選中插入的元件,右鍵點擊Generate Pins for Symbol Ports,為元件添加輸入輸出埠,如圖17所示。
圖17
3.2 工程分析綜合後分配引腳
完成以上步驟後,需要分配引腳,包括HPS外設默認引腳分配以及FPGA部分引腳分配,在分配引腳之前,工程必須通過分析綜合,否則引腳分配會出錯。
圖18
然後按2)所示Tcl Scripts工具執行上面編寫的腳本,完成FPGA部分LED引腳的分配。
3.3 工程編譯。
完成以上所有操作後,可以點擊菜單Processing->Start Compilation對工程進行完全編譯。編譯成功後會生成FPGA編程所需的.sof文件。
4 完成FPGA編程。
這里只介紹採用JTAG方式完成FPGA編程方式,注意這種方式下,FPGA編程電路斷電後就丟失。
點擊菜單Tools->programmer,打開編程工具,選擇連接至計算機的DE10開發板,如圖19所示。Close硬體設置框。編程頁面中Mode選擇JTAG,點擊Auto Detect按鈕,在彈出的器件選擇框中選擇相應的器件型號,DE10-Standard板載FPGA型號應選擇5CSXFC6D6。選中FPGA設備,點擊Change FIle,選中編譯生成的top.sof文件,如圖20所示。然後勾選Program/Configure,如圖21所示。最後點擊Start按鈕開始編程。
圖19
圖20
圖21
實驗細節注意:
在分配引腳之前必須先對工程進行分析綜合(Analysis and Synthesis)
第二步:使用SOCEDS完成HPS軟體開發
說明:
該步驟完成HPS軟體部分的開發,SOC EDS提供了全套的軟體開發工具。本實驗只是通過HPS控制FPGA部分的IO口,系統架構簡單,採用裸機開發方法。DS-5為SoC FPGA裸機開發提供了兩套編譯工具:ARM Compiler 和 Altera Baremetal GCC。本實驗採用ARM Compiler。
實驗步驟
1 運行軟體開發工具DS-5。
打開Embedded_Command_Shell.bat,輸入eclipse &命令回車,打開DS-5開發軟體。如圖1所示。 DS-5界面如圖2所示。
圖1
圖2
2 新建C Project
點擊菜單File->New->C Project,彈出工程配置框如圖3所示,按圖完成設置,注意編譯工具鏈選擇ARM Compiler 5
圖3
3 工程編譯選項設置
3.1 添加HWLIB路徑
因為本實驗用到了SOC EDS提供的HWLIB中的API訪問硬體,所以要在項目編譯選項中添加HWLIB路徑。HWLIB所在路徑為:<SOC EDS安裝路徑>ipalterahpsaltera_hpshwlibinclude 和 <SOC EDS安裝路徑>ipalterahpsaltera_hpshwlibincludesoc_cv_av
操作:在DS-5左側的Project Explorer中選中LedWater工程,右鍵點擊Properties。彈出的對話框按圖4設置,完成HWLIB路徑的添加。
圖4
3.2為工程編寫分散文件scatter。
scatter文件為連接器指定映像的內存映射。本實驗中,映像文件的載入區和執行區都在HPS的片內RAM上,而HPS片內RAM的地址映射為0xFFFF0000-0xFFFFFFFF,所以編寫分散文件內容如下,分散文件編寫完成後添加到編譯選項中。
OCRAM 0xFFFF0000 0x1000
{
APP_CODE +0
{
*(+RO, +RW, +ZI)
}
ARM_LIB_STACKHEAP 0xFFFF8000 EMPTY 0x8000
{}
}
操作:點擊菜單File->New->Other,彈出對話框,按圖5操作。打開新建的scat文件,輸入上面的分散文件內容。在DS-5左側的Project Explorer中選中LedWater工程,右鍵點擊Properties。彈出的對話框按圖6設置,完成scat文件路徑的添加。
圖5
圖6
4 生成硬體設備描述頭文件。
利用SOC EDS提供的swinfo2header工具,將Qsys硬體系統信息轉換為軟體開發所需的設備描述頭文件。
操作:在嵌入式命令行shell中cd到soc_led.sopcinfo所在目錄,然後輸入如下命令:sopc-create-header-files soc_led.sopcinfo --single hps_0.h --mole hps_0如圖7所示,同目錄下將會生成名為hps_0.h的頭文件,將其拷貝至軟體工程目錄下。
圖7
5 編寫main.c
為工程新建main.c文件,輸入main.c代碼,代碼如下:
#include "hwlib.h"
#include "socalsocal.h"
#include "socalhps.h"
#include "hps_0.h"
void delay(int delay_time)
{
int k;
for(k=0; k<delay_time; k++) ;
}
int main()
{
int i = 0x1;
while(1)
{
alt_write_word( ALT_LWFPGASLVS_OFST+LED_PIO_BASE, i );
if( (i&0xf) == 0x8 ) i=0x1;
else
i = i<<1;
delay(100000000);
}
return 1;
}
6 工程編譯連接
在DS-5左側的Project Explorer中選中LedWater工程,右鍵點擊Build Project,生成可執行文件ledWater.axf。
7 生成preloader
裸機工程中,preloader即u-boot-spl。在shell中輸入bsp-editor啟動工具,如圖8所示。在打開的bsp-editor工具中,點擊菜單File->New HPS BSP,選擇handoff文件目錄,如圖9所示。設置中取消勾選WATCHDOG_ENABLE選項,如圖10所示,因為我們沒有在裸機應用程序中用到看門狗。設置完成後點擊generate,產生我們設置的preloader源代碼,生成的源代碼路徑顯示在Information欄中。Shell中cd到preloadre源代碼目錄下,輸入make -j8 (多線程編譯提高編譯效率),如圖11所示,回車生成preloader二進制文件,需要等待幾分鍾。在<Quartuas工程目錄>softwarespl_bspuboot-socfpgaspl目錄下,可以看到已經生成了u-boot-spl二進制文件。將其拷貝至LedWater工程目錄下。
圖8
圖9
圖10
圖11
8 編寫調試腳本
為LedWater工程新建調試腳本,步驟如圖12所示。打開新建的文件輸入以下內容。
reset system
stop
wait 30s
set semihosting enabled false
loadfile "$sdir/u-boot-spl" 0x0
set semihosting enabled true
delete
tbreak spl_boot_device
run
wait
loadfile "$sdir/Debug/ledWater.axf"
Start
圖12
完成以上所有操作後,工程目錄應該如圖13所示。
圖13
9 工程調試。
1) 在進行工程調試前,首先要確保板卡連接至計算機,並先下載硬體sof文件至fpga。然後新建調試配置項,選中LedWater工程,右鍵選擇Debug As->Debug Configurationz,彈出會話框,按圖14和圖15設置。設置完成後點擊Debug開始調試。
圖14
圖15
2)進入調試頁面後,如圖16所示,點擊紅圈中Continue圖標,開始運行main程序,DE10開發板上的4個LED燈依次循環點亮。
編寫fpga部分的外設引腳分配腳本。根據硬體板卡的實際連接關系,編寫引腳分配腳本,本實驗用到DE10-Standard板卡上的4個LED,參考原理圖,編寫腳本如下:
set_location_assignment PIN_AA24 -to fpga_led_pio_export[0]
set_location_assignment PIN_AB23 -to fpga_led_pio_export[1]
set_location_assignment PIN_AC23 -to fpga_led_pio_export[2]
set_location_assignment PIN_AD24 -to fpga_led_pio_export[3]
set_location_assignment PIN_AF14 -to clk_clk
菜單點擊Processing->Start->Start Analysis & Synthesis開始分析綜合。
分析綜合完成後,點擊菜單Tools->Tcl Scripts,彈出腳本運行框,如圖18所示。分別運行hps_sdram_p0_parameters.tcl和hps_sdram_p0_pin_assignments.tcl。
『伍』 labview 跟 FPGA 的關系
labview 與 FPGA 的關系:
Labview是美國國家儀器公司(NI)開發的編程軟體,主要應用在開發測量與儀器控制領域上應用程序的,不是專門用來開發FPGA的,當然現在的Labview也有FPGA開發模塊,不過貌似只能開發他們本公司生產的FPGA產品,不好用,而且貌似沒什麼人用
quartus是專業的FPGA開發軟體,Altera公司,支持VHDL,VerlogHDL等語言,也支持原理圖輸入的開發形式,由於是Altera的軟體所以也會支持他自己的AHDL語言,你要是用的Altera公司的FPGA可以用Quartus開發,要是Xilinx公司的FPGA,可以用Ise來開發。
『陸』 labview fpga如何生成應用程序
任何電腦,只要你想在上面運行LabVIEW生成的獨立可執行程序(exe),你都需要在目標電腦上安裝LabVIEW運行引擎。
LabVIEW運行引擎包含了:
1. 運行LabVIEW生成的可執行程序所需要的庫和文件
2. 使用瀏覽器遠程訪問前面板所需的瀏覽器插件
3. 應用程序中生成LabVIEW報表所需要的一些組件
4. 一些3D圖表的支持等
運行引擎本身就是支持多語言的,不需要安裝特定語言版本的運行引擎。
另外需要確保目標電腦上安裝的運行引擎版本與開發應用程序時使用的LabVIEW版本一致。
如果你想在一台電腦上運行多個版本的LabVIEW生成的可執行程序,那你的電腦必須安裝與這些LabVIEW版本一一對應的多個版本的運行引擎。
『柒』 如何使用labview開發自己的fpga
Labview是美國國家儀器公司(NI)開發的編程軟體,主要應用在開發測量與儀器控制領域上應用程序的,不是專門用來開發FPGA的,當然現在的Labview也有FPGA開發模塊,不過貌似只能開發他們本公司生產的FPGA產品,不好用,而且貌似沒什麼人用
quartus是專業的FPGA開發軟體,Altera公司,支持VHDL,VerlogHDL等語言,也支持原理圖輸入的開發形式,由於是Altera的軟體所以也會支持他自己的AHDL語言,你要是用的Altera公司的FPGA可以用Quartus開發,要是Xilinx公司的FPGA,可以用Ise來開發,就是這樣
『捌』 關於通過NI labview FPGA 編程,實現在上位機上顯示LVDS數據
直接用數據流通信
『玖』 labview能不能做fpga模擬
在LabVIEW8.0或後續版本中,通過項目瀏覽器很容易實現設備模擬並進行LabVIEW FPGA 程序的開發。實現的步驟根您是否模擬帶FPGA目標的RT CompactRIO或者僅是一個遠程的FPGA目標,比如IF-RIO,R系列板卡或FlexRIO設備有關。
CompactRIO或Single-Board RIO:
要添加模擬的遠程實時目標,請選擇項目名稱,右擊並選擇新建>>目標和設備,請見圖1。
:添加一個新的遠程系統至項目
當添加目標和設備窗口出現時,請選擇新建目標或設備,你所能模擬創建的設備清單會顯示出來。選擇需要的目標類型並點擊OK。新建的目標就應在已命名的項目瀏覽窗口中顯示出來。
:可用的模擬設備
To add the FPGA target within the newly added RT system, right-click the target and select 要向新建的RT系統中添加FPGA目標,右鍵目標並選擇新建>>目標和設備:
:從CompactRIO RT目標添加新的FPGA目標
在添加目標和設備窗口,選擇新建目標和設備並選擇您要添加的FPGA目標
:添加新的FPGA目標至主機
如果您已經添加了cRIO FPGA 設備,您就可以右擊FPGA目標並選擇新建>>C系列模塊來添加C系列模塊。選擇C系列模塊並點擊OK,如圖5。
:添加一個模擬C系列模塊至模擬CompactRIO 目標
在C系列模塊窗口中選擇需要的模塊和插槽,並選擇OK,如圖6所示。這個模塊將被添加進項目瀏覽器。
:新建C系列模塊窗口
IF-RIO, FlexRIO 或R Series DAQ 設備:
為添加模擬的FPGA目標,右鍵我的電腦,選擇新建>>目標和設備,如圖7
圖7:添加一個新的FPGA目標至項目
In the Add Targets and Devices window, select New target or device and a list of devices you can create without the physical target will display. Highlight the desired FPGA target and selectOK. The new target should populate beneath My Computer in the Project Explorer window. 在添加目標和設備窗口,選擇新建目標和設備,一個您可以創建模擬設備的清單就會列出。選擇需要的FPGA目標並點擊OK.新的目標將在項目瀏覽器窗口的我的電腦下顯示。
可用的模擬設備
注意:安裝了驅動程序的設備才會成為可用的模擬設備
最後一步模擬一個FPGA目標是為了配置FPGA VI代碼在本機上運行,而不是在硬體上運行。為了做到這一點,右擊FPGA目標並選擇Execute VI on»Development Computer with Simulated I/O。
設置FPGA VI以模擬在部署機器上執行
一旦為您的設備完成了所列的這些步驟,您就可以開始LabVIEW應用程序的模擬開發了。
相關鏈接: KnowledgeBase 3JLD2HB9: What are NI-DAQmx Simulated Devices and How Do I Use Them?
Procts and Services: NI PCI-5640R Software Defined Radio IF Transceiver
Procts and Services: NI PXI-5641R RIO IF Transceiver
Procts and Services: NI FlexRIO
附件:
- New_Target_Device.JPG - Add_Target_Device.JPG - Add_FPGA_Target.JPG - Add_cRIO_FPGA.JPG - Add_cRIO_Mod_Type.JPG - Add_cRIO_Mole.JPG
報告日期: 2006-04-07
最近更新: 2010-09-28
文檔編號: 3W6EFRLX
Your Feedback! Poor | Excellent Yes No
Document Quality?
Answered Your Question?
1 2 3 4 5
Please Contact NI for all proct and support inquiries.
『拾』 labview fpga 有什麼用
自動控制領域應用比較廣泛,FPGA(Field-Programmable Gate Array),即現場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎上進一步發展的產物。它是作為專用集成電路(ASIC)領域中的一種半定製電路而出現的,既解決了定製電路的不足,又克服了原有可編程器件門電路數有限的缺點。
LabVIEW是編程語言,可以通過編程式控制制FPGA完成自動控制的需要。