基于FPGA的ZigBee無線傳感網(wǎng)絡(luò)IP核構(gòu)建方法
【專利摘要】本發(fā)明是一種基于FPGA的ZigBee無線傳感網(wǎng)絡(luò)IP核構(gòu)建方法,屬于無線傳感網(wǎng)絡(luò)設(shè)備及應(yīng)用的【技術(shù)領(lǐng)域】。它是由處理器模塊、Avalon總線、計數(shù)器模塊、異步通信模塊、無線通信模塊、數(shù)字頻率控制模塊、瞬時記憶存儲模塊、DMA控制模塊、電源控制模塊等組成。NiosIICPU處理器一端連接到Avalon總線,另外一端連接到調(diào)試接口;計數(shù)器一端連接到總線上另一端連接到數(shù)據(jù)控制端;無線通信模塊一端連接到發(fā)射端控制器另一端連接到總線上。該方法的具體有五大步驟:步驟一:硬核構(gòu)建;步驟二:硬核功能與邏輯仿真;步驟三:軟核構(gòu)建;步驟四:激勵仿真和端口驗(yàn)證;步驟五:生成ZigBee?IP核。
【專利說明】基于FPGA的ZigBee無線傳感網(wǎng)絡(luò)IP核構(gòu)建方法
一、【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及FPGA嵌入ZigBee IP核的應(yīng)用,尤其涉及一種基于FPGA平臺上的ZigBee無線傳感網(wǎng)絡(luò)IP核構(gòu)建方法,屬于無線傳感網(wǎng)絡(luò)設(shè)備及應(yīng)用的【技術(shù)領(lǐng)域】。
二、【背景技術(shù)】
[0002]目前市場上的ZigBee具有成本低、組網(wǎng)簡單、網(wǎng)絡(luò)容量大等特點(diǎn),但缺點(diǎn)是只能在ZigBee芯片上實(shí)現(xiàn)其功能,運(yùn)算速度慢、系統(tǒng)響應(yīng)時間長、邏輯功能簡單等特點(diǎn)。隨著微電子技術(shù)、納米技術(shù)和可編程器件以及EDA開發(fā)工具的發(fā)展,使得在FPGA芯片上實(shí)現(xiàn)其功能成為可能。因此設(shè)計一款可移植、配置簡單、應(yīng)用效率高且成本更小的基于FPGA的ZigBee IP核是很有必要的。在FPGA中不僅可以完全實(shí)現(xiàn)ZigBee的全部功能而且還能對所得到的數(shù)據(jù)進(jìn)行快速的數(shù)據(jù)處理。本文公開一種基于FPGA的ZigBee無線傳感網(wǎng)絡(luò)IP核構(gòu)建方法。
三、
【發(fā)明內(nèi)容】
[0003]1、發(fā)明目的
[0004]現(xiàn)有的ZigBee處理器是基于CMOS工藝的,雖然具有較低的系統(tǒng)功耗,但是其設(shè)計復(fù)雜、可移植性差,應(yīng)用效率不高。本發(fā)明采用對ZigBee IP核設(shè)計嵌入到FPGA中,目的是為了克服ZigBee芯片的局限性、移植性差的特點(diǎn),提供一種基于可編程門陣列(FPGA)的ZigBee的IP核構(gòu)建方法,它可實(shí)現(xiàn)ZigBee全部功能;且具有移植性強(qiáng)、配置簡單等特點(diǎn),提高系統(tǒng)集成運(yùn)算數(shù)據(jù)速度。
[0005]2、技術(shù)方案
[0006]I)、本發(fā)明是一種基于FPGA的ZigBee無線傳感網(wǎng)絡(luò)IP核構(gòu)建方法,它是由處理器模塊、Avalon總線、計數(shù)器模塊、異步通信模塊、無線通信模塊、數(shù)字頻率控制模塊、瞬時記憶存儲模塊、DMA控制模塊、電源控制模塊等組成。它們之間的信號流向及位置連接如下所述:
[0007]NiosII CPU處理器一端連接到Avalon總線,另外一端連接到調(diào)試接口 ;計數(shù)器模塊一端連接到總線上另一端連接到數(shù)據(jù)控制端;無線通信模塊一端連接到發(fā)射端控制器另一端連接到總線上。
[0008]①總線控制仲裁模塊(01) —端接到NiosII CPU控制器(02),一端接到瞬時記憶存儲模塊(06),其接受來自CPU的控制數(shù)據(jù)通過Avalon總線對無線模塊的控制;
[0009]②無線通信模塊(05)是整個IP核的核心部件,其采用ZigBee協(xié)議規(guī)定的無線收發(fā)模式進(jìn)行組網(wǎng)??偩€控制仲裁(01)接到瞬時記憶存儲模塊(06)上,實(shí)現(xiàn)接收數(shù)據(jù)的緩存,以便CPU對數(shù)據(jù)的處理。通過計數(shù)器模塊(03)完成一次收發(fā)信號的周期分配。
[0010]③異步通信模塊(04)接到Avalon總線上,通過對信號的異步通信處理完成對數(shù)據(jù)的采集處理,通過數(shù)字頻率控制模塊(07)完成對信號的數(shù)字分頻完成對信號發(fā)射的準(zhǔn)備。[0011]④DMA模塊(08)用于將傳送到模塊的信息復(fù)制到內(nèi)存(RAM),并允許已處理的信息自動從內(nèi)存移到外部外圍裝置。便于設(shè)備對信號的存儲功能。
[0012]⑤電源控制模塊(09)控制整個IP核工作電壓與電流,為系統(tǒng)上電做工作。
[0013]2)、本發(fā)明是一種基于FPGA的ZigBee無線傳感網(wǎng)絡(luò)IP核構(gòu)建方法,該方法的具體步驟如下,其流程圖如圖所示。
[0014]步驟一:硬核構(gòu)建。根據(jù)ZigBee輸入輸出協(xié)議要求,將設(shè)計目標(biāo)分為各個功能模塊。功能模塊主要包括總線控制仲裁模塊(01)、NiosII CPU控制器(02)、計數(shù)器模塊(03)、異步互信模塊(04)、無線通信模塊(05)、瞬時記憶存儲模塊(06)、數(shù)字頻率控制模塊(07)、DMA控制模塊(08)、電源控制模塊(09)。然后采用硬件描述語言Verilog HDL編寫代碼構(gòu)建硬核并實(shí)現(xiàn)各部分功能,同時應(yīng)編寫邏輯約束條件來滿足要求。
[0015]步驟二:硬核功能與邏輯仿真。應(yīng)用ModelSim仿真工具對所構(gòu)建硬核各個模塊及頂層模塊進(jìn)行功能仿真,根據(jù)仿真結(jié)果的波形來驗(yàn)證設(shè)計的正確性。如果不滿足則應(yīng)修改代碼,直到完成各部分功能要求為止。應(yīng)用QuartusII軟件編譯環(huán)境創(chuàng)建工程文件,將上步通過仿真的各部分功能模塊文件作為輸入文件,設(shè)置編譯換將參數(shù)是編譯完成后輸出網(wǎng)表文件和輸入輸出的端口文件。
[0016]步驟三:軟核構(gòu)建。通過NiosII構(gòu)建無線通信模塊(05)和數(shù)字頻率控制模塊(07)實(shí)現(xiàn)無線數(shù)據(jù)的收發(fā)功能。
[0017]步驟四:激勵仿真和端口驗(yàn)證:在布線布局之前對網(wǎng)表文件進(jìn)行功能驗(yàn)證,根據(jù)仿真結(jié)果判斷整體功能是否滿足設(shè)計要求。若不滿足,則返回步驟一,修改不滿足的代碼,直到滿足為止。
[0018]步驟五:生成ZigBee IP核。邏輯仿真后會生成一個網(wǎng)表文件和對應(yīng)的端口輸入輸出文件。在QuartusII軟件下,建立頂層設(shè)計文件調(diào)用生成的ZigBee IP核,分配輸入輸出以備其它模塊調(diào)用。
[0019]其中,步驟二中所述的硬核是基于Verilog語言所述的并在QuartusII編譯環(huán)境下綜合實(shí)現(xiàn)的。QuartusII編譯環(huán)境是ALTERA公司推出的FPGA集成開發(fā)環(huán)境,功能主要包括設(shè)計輸入、綜合、仿真、實(shí)現(xiàn)和下載,覆蓋了 FPGA開發(fā)的全過程,功能上來說不需要借助其他任何第三方EDA軟件。
[0020]3)設(shè)計效果
[0021]現(xiàn)有的ZigBee處理器是基于CMOS工藝的,雖然具有較低的系統(tǒng)功耗,但是其設(shè)計復(fù)雜、可移植性差,應(yīng)用效率不高。本文采用對ZigBee IP核設(shè)計嵌入到FPGA中,目的是為了克服ZigBee芯片的局限性、移植性差的特點(diǎn),設(shè)計一款可移植、配置簡單、應(yīng)用效率高且成本更小的基于FPGA的ZigBee IP核是很有必要的。在FPGA中不僅可以完全實(shí)現(xiàn)ZigBee的全部功能而且還能對所得到的數(shù)據(jù)進(jìn)行快速的數(shù)據(jù)處理。
四、【專利附圖】
【附圖說明】
[0022]圖1是一個簡單的基于FPGA的ZigBee IP核系統(tǒng)示意圖
[0023]圖2是本發(fā)明的基于FPGA的ZigBee IP核系統(tǒng)結(jié)構(gòu)框圖
[0024]圖3是本發(fā)明的基于FPGA的ZigBee IP核的構(gòu)建方法流程框圖
[0025]圖中的符號說明如下:[0026]CPU (Central Processing Unit):中央處理器;
[0027]FPGA:現(xiàn)場可編程門陣列;
[0028]IO:數(shù)字量輸入輸出端口;
[0029]DMA:直接存儲器訪問。
五、【具體實(shí)施方式】
[0030]為了系統(tǒng)說明本發(fā)明的設(shè)計思路,因此給出了 ZigBee協(xié)議的一個簡單示例應(yīng)用,如圖所示。此應(yīng)用示例系統(tǒng)由NiosII CPU、Avalon總線、計數(shù)器模塊、異步通信模塊、無線通信模塊、數(shù)字頻率控制模塊組成。無線通信模塊在NiosII CPU的控制下完成對數(shù)據(jù)收發(fā)操作,通過Avalon總線控制訪問計數(shù)器模塊和數(shù)字頻率控制模塊,完成對數(shù)據(jù)分頻與計數(shù)操作。其中無線通信模塊是整個設(shè)備的核心部分,為基于FPGA的ZigBee IP核提供了硬件實(shí)現(xiàn)條件,讓數(shù)據(jù)按照ZigBee協(xié)議棧的要求發(fā)送,因此設(shè)計基于FPGA的ZigBee IP核的設(shè)備完成對數(shù)據(jù)的采集與發(fā)送功能。
[0031]為了嵌入到FPGA中ZigBee無線傳感網(wǎng)絡(luò)IP核實(shí)現(xiàn)無線收發(fā)功能,方法是NiosIICPU發(fā)送指令FPGA總線上控制無線數(shù)據(jù)的收發(fā)。
[0032]實(shí)施例:
[0033]圖1所示是一種基于FPGA的ZigBee無線傳感網(wǎng)絡(luò)IP核構(gòu)建方法結(jié)構(gòu)圖,以通過對ZigBee無線傳感網(wǎng)絡(luò)進(jìn)行一次信號發(fā)送訪問為例,描述本發(fā)明的一個實(shí)施例。
[0034]1、本發(fā)明是一種基于FPGA的ZigBee無線傳感網(wǎng)絡(luò)IP核構(gòu)建方法,它是由處理器模塊、Avalon總線、計數(shù)器模塊、異步通信模塊、無線通信模塊、數(shù)字頻率控制模塊、瞬時記憶存儲控制模塊、DMA控制模塊、電源控制模塊等組成。它們之間的信號流向及位置連接如下所述:NiosII CPU處理器一端連接到Avalon總線,另外一端連接到調(diào)試接口 ;計數(shù)器模塊一端連接到總線上另一端連接到數(shù)據(jù)控制端;無線通信模塊一端連接到發(fā)射端控制器另一端連接到總線上。I)總線控制仲裁模塊(01) —端接到NiosII CPU控制器(02),一端接到瞬時記憶存儲模塊(06),其接受來自CPU的控制數(shù)據(jù)通過Avalon總線對無線模塊的控制;2)無線通信模塊(05)是整個IP核的核心部件,其采用ZigBee協(xié)議規(guī)定的無線收發(fā)模式進(jìn)行組網(wǎng)??偩€控制仲裁(01)接到瞬時記憶存儲模塊(06)上,實(shí)現(xiàn)接收數(shù)據(jù)的緩存,以便CPU對數(shù)據(jù)的處理。通過計數(shù)器模塊(03)完成一次收發(fā)信號的周期分配。3)異步通信模塊(04)接到Avalon總線上,通過對信號的異步通信處理完成對數(shù)據(jù)的采集處理,通過數(shù)字頻率控制模塊(07)完成對信號的數(shù)字分頻完成對信號發(fā)射的準(zhǔn)備。4)DMA模塊(08)用于將傳送到模塊的信息復(fù)制到內(nèi)存(RAM),并允許已處理的信息自動從內(nèi)存移到外部外圍裝置。便于設(shè)備對信號的存儲功能。5)電源控制模塊(09)控制整個IP核工作電壓與電流,為系統(tǒng)上電做工作。
[0035]所述的計數(shù)器模塊(03)由一個8位計數(shù)器、一個16位計數(shù)器、一個協(xié)議地址計數(shù)器組成,完成對數(shù)據(jù)的計數(shù)功能,其模塊接在總線上可以通過總線控制模塊(01)完成對所有流經(jīng)總線的數(shù)據(jù)進(jìn)行計數(shù)工作。
[0036]所述的異步通信模塊(04)在發(fā)送數(shù)據(jù)時,所發(fā)送的數(shù)據(jù)之間的時隙可以是任意的,當(dāng)然,接收端必須時刻做好接收的準(zhǔn)備。發(fā)送端可以在任意時刻開始發(fā)送數(shù)據(jù),因此必須在每一個字符的開始和結(jié)束的地方加上標(biāo)志,即加上開始位和停止位,以便使接收端能夠正確地將每一個字符接收下來。
[0037]所述的無線通信模塊(05)是整個ZigBee IP核的核心部分,主要由無線存儲器、CSMA / CA閘門處理器、無線數(shù)據(jù)接口等組成,通過Avalon總線與總線仲裁控制模塊(01)連接,通過總線控制核CPU(02)控制器對無線通信模塊(05)進(jìn)行控制完成無線通信的目的。
[0038]所述的數(shù)字頻率控制模塊(06)是對數(shù)據(jù)進(jìn)行頻率控制的,對于新接收的數(shù)據(jù)通過此模塊完成分頻控制,對信號的增益和頻率雙重控制,達(dá)到符合其發(fā)送數(shù)據(jù)的功能,此模塊與無線通信模塊(05)互通,通過NiosII CPU(02)控制其分頻信號最后完成發(fā)送。
[0039]所述的瞬時記憶存儲模塊(07)是對采集的數(shù)據(jù)進(jìn)行瞬時記憶存儲的,通過無線通信模塊(05)的數(shù)據(jù)和總線控制模塊(01)的數(shù)據(jù)能瞬時的存儲到此模塊中在通過NiosIICPU(02)處理通過無線通信模塊(05)發(fā)送出去。
[0040]所述的DMA模塊(08)用于將傳送到模塊的信息復(fù)制到內(nèi)存(RAM),并允許已處理的信息自動從內(nèi)存移到外部外圍裝置。便于設(shè)備對信號的存儲功能。所述的電源控制模塊
(09)控制整個IP核工作電壓與電流,為系統(tǒng)上電做工作。
[0041]2)、本發(fā)明是一種基于FPGA的ZigBee無線傳感網(wǎng)絡(luò)IP核構(gòu)建方法,該方法的具體步驟如下,其流程圖如圖所示。
[0042]步驟一:硬核構(gòu)建。根據(jù)ZigBee輸入輸出協(xié)議要求,將設(shè)計目標(biāo)分為各個功能模塊。功能模塊主要包括總線控制仲裁模塊(01)、NiosII CPU控制器(02)、計數(shù)器模塊(03)、異步互信模塊(04)、無線通信模塊(05)、瞬時記憶存儲模塊(06)、數(shù)字頻率控制模塊(07)、DMA控制模塊(08)、電源控制模塊(09)。然后采用硬件描述語言Verliog HDL編寫代碼構(gòu)建硬核并實(shí)現(xiàn)各部分功能,同時應(yīng)編寫邏輯約束條件來滿足要求。
[0043]步驟二:硬核功能與邏輯仿真。應(yīng)用ModelSim仿真工具對所構(gòu)建硬核各個模塊及頂層模塊進(jìn)行功能仿真,根據(jù)仿真結(jié)果的波形來驗(yàn)證設(shè)計的正確性。如果不滿足則應(yīng)修改代碼,直到完成各部分功能要求為止。應(yīng)用QuartusII軟件編譯環(huán)境創(chuàng)建工程文件,將上步通過仿真的各部分功能模塊文件作為輸入文件,設(shè)置編譯換將參數(shù)是編譯完成后輸出網(wǎng)表文件和輸入輸出的端口文件。
[0044]步驟三:軟核構(gòu)建。通過NiosII構(gòu)建無線通信模塊(05)和數(shù)字頻率控制模塊
(07)實(shí)現(xiàn)無線數(shù)據(jù)的收發(fā)功能。
[0045]步驟四:激勵仿真和端口驗(yàn)證:在布線布局之前對網(wǎng)表文件進(jìn)行功能驗(yàn)證,根據(jù)仿真結(jié)果判斷整體功能是否滿足設(shè)計要求。若不滿足,則返回步驟一,修改不滿足的代碼,直到滿足為止。
[0046]步驟五:生成ZigBee IP核。邏輯仿真后會生成一個網(wǎng)表文件和對應(yīng)的端口輸入輸出文件。在QuartusII軟件下,建立頂層設(shè)計文件調(diào)用生成的ZigBee IP核,分配輸入輸出以備其它模塊調(diào)用。
[0047]其中,步驟二中所述的硬核是基于Verilog語言描述的并在QuartusII編譯環(huán)境下綜合實(shí)現(xiàn)的。QuartusII編譯環(huán)境是ALTERA公司推出的FPGA集成開發(fā)環(huán)境,功能主要包括設(shè)計輸入、綜合、仿真、實(shí)現(xiàn)和下載,覆蓋了 FPGA開發(fā)的全過程,功能上來說不需要借助其他任何第三方EDA軟件。
【權(quán)利要求】
1.本發(fā)明是一種基于FPGA的ZigBee無線傳感網(wǎng)絡(luò)IP核構(gòu)建方法,其特征在于:它是由處理器模塊、Avalon總線、計數(shù)器模塊、異步通信模塊、無線通信模塊、數(shù)字頻率控制模塊、瞬時記憶存儲控制模塊、DMA控制模塊、電源控制模塊等組成。它們之間的信號流向及位置連接如下所述:NiosII CPU處理器一端連接到Avalon總線,另外一端連接到調(diào)試接口 ;計數(shù)器模塊一端連接到總線上另一端連接到數(shù)據(jù)控制端;無線通信模塊一端連接到發(fā)射端控制器另一端連接到總線上。 所述的計數(shù)器模塊由一個8位計數(shù)器、一個16位計數(shù)器、一個協(xié)議地址計數(shù)器組成,完成對數(shù)據(jù)的計數(shù)功能,其模塊接在總線上可以通過總線控制模塊完成對所有流經(jīng)總線的數(shù)據(jù)進(jìn)行計數(shù)工作。 所述的異步通信模塊在發(fā)送數(shù)據(jù)時,所發(fā)送的數(shù)據(jù)之間的時隙可以是任意的,當(dāng)然,接收端必須時刻做好接收的準(zhǔn)備。發(fā)送端可以在任意時刻開始發(fā)送數(shù)據(jù),因此必須在每一個字符的開始和結(jié)束的地方加上標(biāo)志,即加上開始位和停止位,以便使接收端能夠正確地將每一個字符接收下來。 所述的無線通信模塊是整個ZigBee IP核的核心部分,主要由無線存儲器、CSMA / CA閘門處理器、無線數(shù)據(jù)接口等組成,通過Avalon總線與總線仲裁控制模塊連接,通過總線控制核CPU控制器對無線通信模塊進(jìn)行控制完成無線通信的目的。 所述的數(shù)字頻率控制模塊是對數(shù)據(jù)進(jìn)行頻率控制的,對于新接收的數(shù)據(jù)通過此模塊完成分頻控制,對信號的增益和頻率雙重控制,達(dá)到符合其發(fā)送數(shù)據(jù)的功能,此模塊與無線通信模塊互通,通過NiosII CPU控制其分頻信號最后完成發(fā)送。 所述的瞬時記憶存儲模塊是對采集的數(shù)據(jù)進(jìn)行瞬時記憶存儲的,通過無線通信模塊的數(shù)據(jù)和總線控制模塊的數(shù)據(jù)能瞬時的存儲到此模塊中在通過NiosII CPU處理通過無線通信模塊發(fā)送出去。 所述的DMA模塊用于將傳送到模塊的信息復(fù)制到內(nèi)存(RAM),并允許已處理的信息自動從內(nèi)存移到外部外圍裝置。便于設(shè)備對信號的有儲功能。 所述的電源控制模塊控制整個IP核工作電壓與電流,為系統(tǒng)上電做工作。
2.根據(jù)權(quán)利要求1所述的一種基于FPGA的ZigBee無線傳感網(wǎng)絡(luò)IP核構(gòu)建方法,其特征在于:該方法的具體步驟如下: 步驟一:硬核構(gòu)建。根據(jù)ZigBee輸入輸出協(xié)議要求,將設(shè)計目標(biāo)分為各個功能模塊。功能模塊主要包括總線控制仲裁模塊、NiosII CPU控制器、計數(shù)器模塊、異步互信模塊、無線通信模塊、瞬時記憶存儲模塊、數(shù)字頻率控制模塊、DMA控制模塊、電源控制模塊。然后采用硬件描述語言Verilog HDL編寫代碼構(gòu)建硬核并實(shí)現(xiàn)各部分功能,同時應(yīng)編寫邏輯約束條件來滿足要求。 步驟二:硬核功能與邏輯仿真。應(yīng)用ModelSim仿真工具對所構(gòu)建硬核各個模塊及頂層模塊進(jìn)行功能仿真,根據(jù)仿真結(jié)果的波形來驗(yàn)證設(shè)計的正確性。如果不滿足則應(yīng)修改代碼,直到完成各部分功能要求為止。應(yīng)用QuartusII軟件編譯環(huán)境創(chuàng)建工程文件,將上步通過仿真的各部分 功能模塊文件作為輸入文件,設(shè)置編譯換將參數(shù)是編譯完成后輸出網(wǎng)表文件和輸入輸出的端口文件。 步驟三:軟核構(gòu)建。通過NiosII構(gòu)建無線通信模塊和數(shù)字頻率控制模塊實(shí)現(xiàn)無線數(shù)據(jù)的收發(fā)功能。步驟四:激勵仿真和端口驗(yàn)證:在布線布局之前對網(wǎng)表文件進(jìn)行功能驗(yàn)證,根據(jù)仿真結(jié)果判斷整體功能是否滿足設(shè)計要求。若不滿足,則返回步驟一,修改不滿足的代碼,直到滿足為止。 步驟五:生成ZigBee IP核。邏輯仿真后會生成一個網(wǎng)表文件和對應(yīng)的端口輸入輸出文件。在QuartusII軟件下,建立頂層設(shè)計文件調(diào)用生成的ZigBee IP核,分配輸入輸出以備其它模塊調(diào)用。
3.根據(jù)權(quán)利要求2所述其特征在于:步驟二中所述的硬核是基于Verilog語言描述的并在QuartusII編譯環(huán)境下綜合實(shí)現(xiàn)的。QuartusII編譯環(huán)境是ALTERA公司推出的FPGA集成開發(fā)環(huán)境,功能主要包括設(shè)計輸入、綜合、仿真、實(shí)現(xiàn)和下載,覆蓋了 FPGA開發(fā)的全過程,功能上來說不需要借助`其他任何第三方EDA軟件。
【文檔編號】G06F13/38GK103796336SQ201310669392
【公開日】2014年5月14日 申請日期:2013年12月4日 優(yōu)先權(quán)日:2013年12月4日
【發(fā)明者】董亮, 朱磊, 王海元 申請人:齊齊哈爾大學(xué)