基于MicroBlaze軟核的FPGA片上系統(tǒng)設(shè)計
在EDK開發(fā)套件的XPS集成開發(fā)環(huán)境下進(jìn)行系統(tǒng)硬件設(shè)計。在其界面環(huán)境下,添加IP核,進(jìn)行系統(tǒng)連接和各項參數(shù)設(shè)置。由于系統(tǒng)中包含的硬件算法模塊不是標(biāo)準(zhǔn)模塊,因此工程需要設(shè)置成子模塊方式,利用平臺產(chǎn)生器,根據(jù)硬件描述文件(.MHS文件),生成嵌入式系統(tǒng)子模塊的網(wǎng)表文件(.NGC)。然后在ISE設(shè)計環(huán)境下,從外部通過GPIO端口與硬件算法模塊相連,從而構(gòu)成整個應(yīng)用系統(tǒng)的硬件模型。
本文引用地址:http://2s4d.com/article/267948.htm
在EDK中,每一個外設(shè)IP模塊都有自己的軟件函數(shù)庫。利用Libgen工具,將所需外設(shè)函數(shù)數(shù)庫的頭文件添加進(jìn)工程中,通過調(diào)用這些函數(shù)可以操作和控制這些外設(shè)。例如對串口的操作如下:
//初始化串口,設(shè)置波特率等參數(shù),清空發(fā)送和接收緩沖,禁止中斷;
XuartLite_Initialize(&UART,XPAR_MYUARTLITE_DEVICE_ID);
//發(fā)送接收數(shù)據(jù)
XuartLite_Send(&UART,&send_data,1);XUartLite_Recv(&UART,&recv_data,1);
使用標(biāo)準(zhǔn)C語言進(jìn)行應(yīng)用程序的開發(fā),編寫相應(yīng)的算法軟件,完成系統(tǒng)功能。軟件流程如圖9所示。
將編寫的程序代碼利用mb-gcc編譯工具,根據(jù)系統(tǒng)的軟件一并,生成.ELF文件。在編譯鏈接之前,若選擇調(diào)試方式,就會在生成文件中加入調(diào)試接口SMDstub,進(jìn)行程序的硬件調(diào)試。
利用系統(tǒng)的硬件模型以及RAM塊的組織結(jié)構(gòu)文件、ELF文件和用戶結(jié)束文件,應(yīng)用FPGA綜合實現(xiàn)工具(如Xilinx XST)進(jìn)行綜合,然后下載生成的配置BIT文件
到目標(biāo)板上。利用EDK中提供的GDB調(diào)試工具可以進(jìn)行程序調(diào)試。有兩種調(diào)試方法:軟件仿真和硬件調(diào)試。軟件仿真可以進(jìn)行程序的功能調(diào)試,在開發(fā)工具內(nèi)部就可以進(jìn)行,不需要硬件支持。硬件調(diào)試就是通過JTAG接口或串口(可在硬件設(shè)計時選擇),連接到目標(biāo)板上的應(yīng)用系統(tǒng)中的XMD調(diào)試接口,將軟件程序下載到系統(tǒng)中進(jìn)行調(diào)試。本課題使用的目標(biāo)板上的主芯片為Xilinx Spartan IIE 30萬門的FPGA,系統(tǒng)時鐘為50MHz。實際運行完全滿足設(shè)計要求。
結(jié)語
采用FPGA和MicroBlaze進(jìn)行嵌入式系統(tǒng)設(shè)計,實現(xiàn)了多片專用芯片的功能,大大縮小了接收機(jī)體積,便于系統(tǒng)實現(xiàn)小型化、集成化。捕獲及跳頻同步等算法采用硬件實現(xiàn),加快了捕獲跟蹤速度。實驗結(jié)果表明,F(xiàn)PGA系統(tǒng)設(shè)計是正確可行的。如果在系統(tǒng)中配置大容量的SDRAM,加入以太網(wǎng)或USB等高速通信接口,將實時操作系統(tǒng)運行于處理器上,就可以構(gòu)建一個較為完善的,基于FPGA的嵌入式系統(tǒng)。這將在網(wǎng)絡(luò)、通信、消費類產(chǎn)品等多方面有著廣闊的應(yīng)用前景。
存儲器相關(guān)文章:存儲器原理
評論