技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國(guó)傳動(dòng)網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 基于千兆網(wǎng)接口攝像機(jī)設(shè)計(jì)

基于千兆網(wǎng)接口攝像機(jī)設(shè)計(jì)

時(shí)間:2009-12-07 16:59:01來(lái)源:sunjuan

導(dǎo)語(yǔ):?介紹了千兆網(wǎng)接口攝像機(jī)硬件設(shè)計(jì)方案,利用FPGA強(qiáng)大的可編程和并行處理能力,較大限度的利用了網(wǎng)絡(luò)帶寬;提出用Winpcap獲取圖像數(shù)據(jù),有效提高了數(shù)據(jù)包的捕獲率;設(shè)計(jì)的高分辨率高幀率攝像機(jī)畫面清晰流暢。
摘 要:介紹了千兆網(wǎng)接口攝像機(jī)硬件設(shè)計(jì)方案,利用FPGA強(qiáng)大的可編程和并行處理能力,較大限度的利用了網(wǎng)絡(luò)帶寬;提出用Winpcap獲取圖像數(shù)據(jù),有效提高了數(shù)據(jù)包的捕獲率;設(shè)計(jì)的高分辨率高幀率攝像機(jī)畫面清晰流暢。 關(guān)鍵字:千兆網(wǎng);攝像機(jī);FPGA; 1 引 言 隨著監(jiān)控系統(tǒng)在商用民用的日漸普及,監(jiān)控?cái)z像機(jī)被廣泛應(yīng)用在各個(gè)領(lǐng)域,為社會(huì)治安保駕護(hù)航。視頻監(jiān)控?cái)z像機(jī)廣泛應(yīng)用于居民住宅、樓盤別墅、商場(chǎng)店鋪、財(cái)務(wù)室。每個(gè)不同的應(yīng)用領(lǐng)域,需要有不同類型的監(jiān)控?cái)z像機(jī)。傳統(tǒng)的監(jiān)控?cái)z像機(jī)圖像分辨率低,難以滿足一些有特殊要求的應(yīng)用場(chǎng)合。利用網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)對(duì)高分辨率高幀率視頻圖像傳輸是視頻監(jiān)控系統(tǒng)的一種重要思想。但百兆網(wǎng)傳輸帶寬不足、數(shù)據(jù)傳輸速度太慢嚴(yán)重制約了其在監(jiān)控領(lǐng)域的應(yīng)用。針對(duì)這一問(wèn)題,本文提出了基于千兆以太網(wǎng)傳輸視頻圖像并充分利用了FPGA并行處理和SDRAM高速緩存的優(yōu)勢(shì),提高了視頻圖像的傳輸速度。 2 硬件總體設(shè)計(jì) 硬件總體框架如上圖,主控制器FPGA選用altera公司高性價(jià)比芯片EP2C20F256C6N。系統(tǒng)工作頻率為100M。圖像傳感器的數(shù)據(jù)首先在FIFO里緩沖后暫存于SDRAM,在網(wǎng)絡(luò)空閑時(shí)將暫存的圖像數(shù)據(jù)經(jīng)FIFO2緩沖后送MAC芯片,再發(fā)送到網(wǎng)絡(luò)上。
CMOS芯片選用Micron Technology的MT9P031,在500萬(wàn)像素的滿分辨率下最高可輸出14幀的圖像數(shù)據(jù)。 SDRAM選用W982516BH-75,容量為32Mbytes,g與FPGA內(nèi)部FIFO結(jié)合可設(shè)計(jì)為32Mbytes的大容量循環(huán)緩存,在圖像分辨率為300萬(wàn)像素時(shí)可緩存10幀以上圖像數(shù)據(jù)。千兆網(wǎng)接口MAC芯片選用AX88180,物理層芯片選用88E1111,再通過(guò)網(wǎng)絡(luò)變壓器及RJ45用六類網(wǎng)線與計(jì)算機(jī)千兆網(wǎng)卡相連。 3 千兆網(wǎng)接口設(shè)計(jì) AX88180是亞信公司推出的一款高性能低成本的Non-PCI千兆以太網(wǎng)控制器,適用于多種需要高速接入網(wǎng)絡(luò)的嵌入式系統(tǒng),如消費(fèi)電子和家庭網(wǎng)絡(luò)等。AX88180內(nèi)置10/100/1000 Mb/s以太網(wǎng)媒體存取控制器(MAC),符合IEEE 802.3/IEEE 802.3u/IEEE 802.3ab協(xié)議,可與一般16/32位微控制器連接,其操作與SRAM相同。AX88180內(nèi)置10/100/1000 Mb/s以太網(wǎng)媒體存取控制器(MAC),與PHY之間采用RGMII接口;內(nèi)置主機(jī)接口控制器,可以與16/32位主機(jī)方便連接尋址方式與SRAM相同;內(nèi)置40 KB SRAM網(wǎng)絡(luò)封包緩存器,其中32 KB用于從PHY接收數(shù)據(jù)包,KB用于主機(jī)發(fā)送數(shù)據(jù)包到PHY,可以用高效方式進(jìn)行封包的存儲(chǔ)、檢索與修改;內(nèi)置256字節(jié)的配置寄存器,用于主機(jī)控制和參數(shù)設(shè)置;內(nèi)置EEP-ROM接口;內(nèi)置IP/TCP/UDP 校驗(yàn)和大大減小微控制器的運(yùn)算負(fù)載,改善傳輸反應(yīng)時(shí)間。圖2為AX88180及PHY芯片88E1111的連接圖。 3.1 千兆網(wǎng)接口初始化 對(duì)千兆網(wǎng)接口的初始非常重要,如果初始化不正確,系統(tǒng)將無(wú)法正常工作。對(duì)接口的初始化主要包括對(duì)AX88180和88E1111的初始化。
代碼用verilog語(yǔ)言完成。具體代碼可參考亞信公司的驅(qū)動(dòng)程序代碼,應(yīng)注意初始化時(shí)需要加入一些固定的延時(shí)以確定芯片正常工作。 3.2 圖像數(shù)據(jù)的封包 當(dāng)圖像的分辨率為2048×1536時(shí),一個(gè)UDP數(shù)據(jù)包包含1024字節(jié)的圖像數(shù)據(jù)和兩個(gè)bytes圖像行編號(hào)。當(dāng)計(jì)算機(jī)收到數(shù)據(jù)包時(shí),根據(jù)圖像行編號(hào)信息放入對(duì)應(yīng)的內(nèi)存中,可以很方便的組合成一副完整的圖像。并且,采用行編號(hào)的形式,還可防止某一兩個(gè)數(shù)據(jù)包丟失后導(dǎo)致整副圖像都無(wú)法顯示的問(wèn)題。以下這FPGA寫入AX88180的UDP包頭代碼。 case(param_num) ‘d0: w_dd <= ‘hFFFF;//目的MAC地址(廣播地址),寫三次 ‘d3: w_dd <= ‘h1111;//源MAC地址,均為0x1111,寫三次 ‘d6: w_dd <= ‘h0008;//協(xié)議號(hào) ‘d7: w_dd <= ‘h0045;//固定數(shù)據(jù)VIP4, ‘d8: w_dd <= ‘h1E04;//IP包總長(zhǎng)度1026+28,并且高低8位交換 ‘d9: w_dd <= ‘h0;//ID號(hào),始終為0 ‘d10:w_dd <= ‘h0;//fragment offset始終為0; ‘d11:w_dd <= ‘h1140;//生存期和協(xié)議號(hào),固定 ‘d12:w_dd <= ‘h0;//IP校驗(yàn)和,由MAC芯片自動(dòng)生成 ‘d13:w_dd <= ‘hA8C0;//源IP,固定為192.168.1.204 ‘d14:w_dd <= ‘hCC01; ‘d15:w_dd <= ‘hFFFF;//目的IP,任意 ‘d16:w_dd <= ‘hFFFF; ‘d17:w_dd <= ‘h7017;//源端口,固定為6000 ‘d18:w_dd <= ‘h7017;// 目的端口,固定為6000 ‘d19:w_dd <= ‘h0A04;//UDP數(shù)據(jù)長(zhǎng)度 ‘d20:w_dd <= ‘h0;////校驗(yàn)和由AX88180自動(dòng)生成 ‘d21:w_dd <= row_num;//圖像行信息從0開開始 default:w_dd <= w_dd; endcase 3.3 應(yīng)用程序設(shè)計(jì) 由于大量數(shù)據(jù)在網(wǎng)絡(luò)上傳輸,用SOCKET的方式來(lái)獲圖像數(shù)據(jù)包已經(jīng)比較困難,丟包率會(huì)比較高。采用Winpcap來(lái)捕獲網(wǎng)絡(luò)上的數(shù)據(jù)包,可有效的減少丟包率。用Winpcap編寫程序需要安裝開發(fā)包及驅(qū)動(dòng)程序。 第一步,指定要通信的網(wǎng)卡設(shè)備并打開。 BOOL InitWpcap(){ pcap_if_t* alldevs; pcap_if_t* d; char errbuf[PCAP_ERRBUF_SIZE]; if(pcap_findalldevs(&alldevs, errbuf) == -1){ AfxMessageBox(“Error in pcap_findalldevs”); return FALSE; } // 枚舉網(wǎng)卡然后添加到用戶選擇的ComboBox中,代碼省略 char *filter = "port 6000";//只接收端口6000的數(shù)據(jù) bpf_u_int32 NetMask = 0xFFFFFF; struct bpf_program fcode; if(pcap_compile(m_pcap, &fcode, filter, 1, NetMask) < 0){ AfxMessageBox("nError compiling filter: wrong syntax"); pcap_close(m_pcap); return FALSE; } if(pcap_setfilter(m_pcap, &fcode)<0){ AfxMessageBox("\nError setting the filter\n"); pcap_close(m_pcap); return FALSE; } pcap_freealldevs(alldevs); // 釋放alldev資源 return TRUE;} 第二步:開啟一個(gè)線程接收數(shù)據(jù)。 UINT RecvProc(LPVOID lpParammeter) { pcap_loop(m_pcap, 0, packet_handler, NULL); return 0;} packet_handler是處理收到數(shù)據(jù)包的回調(diào)函數(shù), 當(dāng)從port6000收到數(shù)據(jù)后它會(huì)被調(diào)用,直到線程終止。 第三步:處理收到的數(shù)據(jù) void packet_handler(u_char *param, const struct pcap_pkthdr *header, const u_char *pkt_data){ const u_char *real_data = pkt_data+42; int row=real_data[0]+(real_data[1]<<8); }//這里就沒(méi)有處理包頭,直接處理數(shù)據(jù)。 4 總結(jié) 兆網(wǎng)接口攝像機(jī),網(wǎng)絡(luò)傳輸有效數(shù)據(jù)帶寬達(dá)400Mb/s以上,較好的解決了百兆網(wǎng)傳輸帶寬不足、數(shù)據(jù)傳輸速度慢的問(wèn)題。傳輸300萬(wàn)像素不進(jìn)行壓縮的原始圖像,幀率可達(dá)18幀/秒,視頻流暢清晰。計(jì)算機(jī)采用Winpcap捕獲圖像數(shù)據(jù),丟包率小于0.02%。

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:基于小波包分析的電機(jī)轉(zhuǎn)子斷...

下一篇:微能WIN-V63矢量控制變頻器在...

中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(www.treenowplaneincome.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡(jiǎn)介|會(huì)員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

中國(guó)傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺(tái)

網(wǎng)站客服服務(wù)咨詢采購(gòu)咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號(hào) | 營(yíng)業(yè)執(zhí)照證書 | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)