基于SOPC的以太網(wǎng)遠(yuǎn)程數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
摘要:針對(duì)測(cè)控系統(tǒng)中設(shè)備分散,檢測(cè)環(huán)境惡劣的情況,設(shè)計(jì)了一種基于SOPC的以太網(wǎng)遠(yuǎn)程數(shù)據(jù)采集系統(tǒng)。系統(tǒng)采樣基于NiosⅡ軟核的SOPC架構(gòu),以μC/OS-Ⅱ嵌入式實(shí)時(shí)操作系統(tǒng)為軟件運(yùn)行平臺(tái),以LWIP為以太網(wǎng)通信協(xié)議,實(shí)現(xiàn)了遠(yuǎn)程數(shù)據(jù)采集和以太網(wǎng)傳輸及控制。整個(gè)系統(tǒng)在CycloneⅡEP2C35開(kāi)發(fā)板上實(shí)現(xiàn)并通過(guò)驗(yàn)證,實(shí)驗(yàn)結(jié)果滿(mǎn)足設(shè)計(jì)要求并具有較好的應(yīng)用前景。
關(guān)鍵詞:SOPC;以太網(wǎng);NiosⅡ;LWIP;遠(yuǎn)程數(shù)據(jù)采集
在工業(yè)測(cè)控系統(tǒng)中,往往存在現(xiàn)場(chǎng)檢測(cè)環(huán)境惡劣,設(shè)備分散,需要檢測(cè)系統(tǒng)具有遠(yuǎn)程分布式數(shù)據(jù)采集功能,以實(shí)現(xiàn)設(shè)備的遠(yuǎn)程檢測(cè)與監(jiān)控。嵌入式以太網(wǎng)技術(shù)將以太網(wǎng)技術(shù)和嵌入式技術(shù)有機(jī)結(jié)合在一起,很好的滿(mǎn)足這種需求。Ethernet與傳統(tǒng)通訊接口相比,具有性?xún)r(jià)比高、傳輸距離遠(yuǎn)、分布運(yùn)行等特點(diǎn);SOPC是基于FPGA解決方案的SOC,是MCU、DSP、FPGA的有機(jī)結(jié)合,具有體積小、功耗低、可靈活配置等優(yōu)點(diǎn)。利用SOPC以太網(wǎng)技術(shù)將SOPC嵌入式測(cè)量模塊接入網(wǎng)絡(luò)進(jìn)行控制,使其實(shí)現(xiàn)PC機(jī)所具有的遠(yuǎn)近程測(cè)量控制和信息發(fā)布各項(xiàng)功能,讓工作人員遠(yuǎn)離現(xiàn)場(chǎng),仍可以對(duì)測(cè)量設(shè)備進(jìn)行控制并獲得測(cè)量數(shù)據(jù)。
1 系統(tǒng)總體設(shè)計(jì)
本系統(tǒng)采用FPGA+NiosⅡ的架構(gòu)進(jìn)行設(shè)計(jì)。系統(tǒng)主要有數(shù)據(jù)采集模塊、FPGA模塊、存儲(chǔ)器模塊、網(wǎng)絡(luò)接口模塊組成,系統(tǒng)總體結(jié)構(gòu)如圖1所示。首先將待測(cè)量經(jīng)傳感器轉(zhuǎn)化為電信號(hào),然后經(jīng)前端信號(hào)調(diào)理,A/D轉(zhuǎn)換寫(xiě)入FPGA片上FIFO,然后FPGA讀出數(shù)據(jù)經(jīng)信號(hào)恢復(fù)、FIR數(shù)字濾波后存入RAM中,最后通過(guò)Ethernet傳輸?shù)缴衔粰C(jī)進(jìn)行顯示、診斷等處理。本方案可作為單獨(dú)采集系統(tǒng)和一臺(tái)計(jì)算機(jī)組成檢測(cè)系統(tǒng);也可加入路由器,一個(gè)采集模塊與多臺(tái)計(jì)算機(jī)相連實(shí)現(xiàn)數(shù)據(jù)共享,或者一臺(tái)計(jì)算機(jī)與多個(gè)采集模塊相連,實(shí)現(xiàn)分布式檢測(cè)。
2 系統(tǒng)硬件設(shè)計(jì)
本設(shè)計(jì)采用的FPGA器件是Altera公司的Cyclone II系列EP2C35F672芯片。EP2C35內(nèi)置35個(gè)18×18的硬件乘法器,有105個(gè)M4K RAM塊,共483 840位。在FPGA基礎(chǔ)上構(gòu)建基于Nios II的SOPC系統(tǒng),使用軟硬件協(xié)同的方法對(duì)A/D轉(zhuǎn)換器和網(wǎng)絡(luò)傳輸芯片進(jìn)行控制。存儲(chǔ)器模塊包括SRAM、SDRAM、Flash 3種類(lèi)型的存儲(chǔ)器。一片IDT71V416S256Kx16bits的SRAM,用作FPGA的緩存使用,存放運(yùn)行的程序;一片A3V64S40ETP4 Mx16 bits的SDRAM,用來(lái)存儲(chǔ)程序運(yùn)行的中間數(shù)據(jù);一片AMD29LV128M123R 16 MB的FLASH存儲(chǔ)器,用來(lái)保存固化的程序和數(shù)據(jù)。為解決速率匹配、數(shù)據(jù)緩沖等問(wèn)題,利用FPGA片上RAM資源設(shè)計(jì)8 k×16 bitsFIFO,將AD采樣的數(shù)據(jù)進(jìn)行緩存。
評(píng)論