基于SOPC的以太網(wǎng)遠(yuǎn)程數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
將NIOSII處理器、UART JTAG、SRAM控制、SDRAM控制器、CFI控制器、EPCS控制器、PLL及ADS8364控制器、DM900A控制器核添加到SOPC Builder中生成SOPC系統(tǒng),如圖5所示。點(diǎn)擊Generate生成NiosII系統(tǒng)。然后在QuartusⅡ添加PLL模塊,添加輸入輸出引腳,完成頂層模塊硬件接口的連接。最后分配引腳,編譯下載到FPGA中,就完成了FPGA硬件設(shè)計(jì)。
3 系統(tǒng)軟件設(shè)計(jì)
軟件設(shè)計(jì)主要是在NiosII IDE環(huán)境中,采用μC/OS-II嵌入式實(shí)時(shí)操作系統(tǒng),使用LWIP作為網(wǎng)絡(luò)協(xié)議棧。LWIP即Light WeightIP(輕量級(jí)IP),是瑞十計(jì)算機(jī)科學(xué)院的AdamDunkels等人開(kāi)發(fā)的一套用于嵌入式系統(tǒng)的開(kāi)放源碼的輕型TCP/IP協(xié)議棧。LWIP的主要目的是減少存儲(chǔ)器占用和代碼尺寸,使其適合應(yīng)用于小型、資源有限的嵌入式系統(tǒng)中。本設(shè)計(jì)使用標(biāo)準(zhǔn)的socket接口來(lái)實(shí)現(xiàn)TCP/IP操作。
軟件主要由3個(gè)任務(wù)組成:數(shù)據(jù)采集任務(wù)、FIR濾波任務(wù)、網(wǎng)絡(luò)傳輸任務(wù)。在程序中調(diào)用lwip_stack_init()函數(shù)和lwip_divice_init()函數(shù)分別完成協(xié)議棧和驅(qū)動(dòng)程序的初始化,調(diào)用init_done_func()、get_mac_addr()和get_ip_addr()函數(shù)設(shè)置MAC和IP地址;然后由標(biāo)準(zhǔn)Sock et接口完成網(wǎng)絡(luò)操作。NIOSII開(kāi)發(fā)包中有很多LWIP的編程實(shí)例,修改部分代碼即可使用。由μC/OS-Ⅱ的OSTaskCteate()函數(shù)創(chuàng)建數(shù)據(jù)采集任務(wù)DataAcquisition Task()和濾波任務(wù)FilterTask()。
數(shù)據(jù)采集任務(wù)負(fù)責(zé)從A/D輸出數(shù)據(jù)通過(guò)PIO口采集到片上FIFO中,通過(guò)調(diào)用IORD_ALTERA_AVALON_PIO_DATA()函數(shù)在每個(gè)采樣周期連續(xù)采樣10次,將采集的數(shù)據(jù)放入FIFO中,喚醒濾波任務(wù)。濾波任務(wù)采樣FIR濾波,利用Altera提供的DSP Builder在FPGA中建立一個(gè)FIR濾波器,對(duì)一個(gè)采樣周期的數(shù)據(jù)進(jìn)行濾波,然后將濾波后的數(shù)據(jù)放入發(fā)送隊(duì)列。通過(guò)仿真FIR濾波器對(duì)高頻信號(hào)有很好的濾除效果。網(wǎng)絡(luò)傳輸任務(wù)從發(fā)送隊(duì)列取數(shù)據(jù)發(fā)送到上位機(jī)。取數(shù)據(jù)發(fā)送到上位機(jī)。軟件流程如圖6所示。
4 結(jié)束語(yǔ)
隨著計(jì)算機(jī)技術(shù)和互聯(lián)網(wǎng)技術(shù)的深入發(fā)展,數(shù)據(jù)采集處理技術(shù)廣泛應(yīng)用于工業(yè)、通信、測(cè)試測(cè)量等領(lǐng)域,越來(lái)越多的設(shè)備需要網(wǎng)絡(luò)接入功能,以實(shí)現(xiàn)設(shè)備的遠(yuǎn)程監(jiān)控。本設(shè)計(jì)將嵌入式SOPC技術(shù)和成熟的以太網(wǎng)技術(shù)結(jié)合在一起組成遠(yuǎn)程數(shù)據(jù)采集系統(tǒng),介紹了從底層硬件,到NiosⅡ應(yīng)用軟件的整個(gè)架構(gòu)的設(shè)計(jì)。最后在開(kāi)發(fā)板上實(shí)現(xiàn)并通過(guò)實(shí)驗(yàn)驗(yàn)證,結(jié)果滿(mǎn)足設(shè)計(jì)要求,具有良好的性能。此數(shù)據(jù)采集系統(tǒng)可以根據(jù)
需要靈活配置,可以適應(yīng)不同的應(yīng)用場(chǎng)合。
評(píng)論