www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]淺談千兆網(wǎng)接口的攝像機(jī)設(shè)計(jì)與實(shí)現(xiàn)

1 引 言

隨著監(jiān)控系統(tǒng)在商用民用的日漸普及,監(jiān)控系統(tǒng)主要由前端監(jiān)視設(shè)備、傳輸設(shè)備、后端控制顯示設(shè)備這三大部分組成,其中后端設(shè)備可進(jìn)一步分為中心控制設(shè)備和分控制設(shè)備。前、后端設(shè)備有多種構(gòu)成方式,它們之間的聯(lián)系(也可稱(chēng)作傳輸系統(tǒng))可通過(guò)電纜、光纖或微波等多種方式來(lái)實(shí)現(xiàn)。視頻監(jiān)控攝像機(jī)廣泛應(yīng)用于居民住宅、樓盤(pán)別墅、商場(chǎng)店鋪、財(cái)務(wù)室。每個(gè)不同的應(yīng)用領(lǐng)域,需要有不同類(lèi)型的監(jiān)控?cái)z像機(jī)。傳統(tǒng)的監(jiān)控?cái)z像機(jī)圖像分辨率低,難以滿(mǎn)足一些有特殊要求的應(yīng)用場(chǎng)合。利用網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)對(duì)高分辨率高幀率視頻圖像傳輸是視頻監(jiān)控系統(tǒng)的一種重要思想。本文提出了基于千兆以太網(wǎng)傳輸視頻圖像并充分利用了FPGA并行處理和SDRAM高速緩存的優(yōu)勢(shì),提高了視頻圖像的傳輸速度。

2 硬件總體設(shè)計(jì)

硬件總體框架如上圖,主控制器FPGA選用altera公司高性?xún)r(jià)比芯片EP2C20F256C6N.系統(tǒng)工作頻率為100M.圖像傳感器的數(shù)據(jù)首先在FIFO里緩沖后暫存于SDRAM,在網(wǎng)絡(luò)空閑時(shí)將暫存的圖像數(shù)據(jù)經(jīng)FIFO2緩沖后送MAC芯片,再發(fā)送到網(wǎng)絡(luò)上。

CMOS芯片中文名稱(chēng):互補(bǔ)型金屬氧化物半導(dǎo)體 芯片類(lèi)型:隨即存貯器(斷電會(huì)丟失數(shù)據(jù)的那種)容量:128~256字節(jié)是一種低耗電存儲(chǔ)器,其主要作用是用來(lái)存放BIOS中的設(shè)置信息以及系統(tǒng)時(shí)間日期。應(yīng)該把它和BIOS芯片區(qū)別開(kāi)。早期的CMOS芯片是一塊單獨(dú)的芯片MC146818A(DIP封裝),共有64個(gè)字節(jié)存放系統(tǒng)信息。386以后的微機(jī)一般將 MC146818A芯片集成到其它的IC芯片中(如82C206,PQFP封裝),586以后主板上更是將CMOS與系統(tǒng)實(shí)時(shí)時(shí)鐘和后備電池集成到一塊叫做DALLDA DS1287的芯片中。隨著微機(jī)的發(fā)展、可設(shè)置參數(shù)的增多,現(xiàn)在的CMOS ROM一般都有128字節(jié)及至256字節(jié)的容量。CMOS芯片選用MICRON TECHNOLOGY的MT9P031,在500萬(wàn)像素的滿(mǎ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用六類(lèi)網(wǎng)線(xiàn)與計(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接口;圖2為AX88180及PHY芯片88E1111的連接圖。
 

3.1 千兆網(wǎng)接口初始化

對(duì)千兆網(wǎng)接口的初始非常重要,如果初始化不正確,系統(tǒng)將無(wú)法正常工作。對(duì)接口的初始化主要包括對(duì)AX88180和88E1111的初始化。

代碼用verilog語(yǔ)言完成。Verilog HDL是目前應(yīng)用最為廣泛的硬件描述語(yǔ)言。Verilog HDL可以用來(lái)進(jìn)行各種層次的邏輯設(shè)計(jì),也可以進(jìn)行數(shù)字系統(tǒng)的邏輯綜合,仿真驗(yàn)證和時(shí)序分析等。Verilog HDL適合算法級(jí),寄存器級(jí),邏輯級(jí),門(mén)級(jí)和版圖級(jí)等各個(gè)層次的設(shè)計(jì)和描述。Verilog HDL進(jìn)行設(shè)計(jì)最大的優(yōu)點(diǎn)是其工藝無(wú)關(guān)性。這使得工程師在功能設(shè)計(jì),邏輯驗(yàn)證階段可以不必過(guò)多考慮門(mén)級(jí)及工藝實(shí)現(xiàn)的具體細(xì)節(jié),只需根據(jù)系統(tǒng)設(shè)計(jì)的要求施加不同的約束條件,即可設(shè)計(jì)出實(shí)際電路。具體代碼可參考亞信公司的驅(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)存中,可以很方便的組合成一副完整的圖像。以下這FPGA寫(xiě)入AX88180的UDP包頭代碼。

  case(param_num)

  'd0: w_dd <= 'hFFFF;//目的MAC地址(廣播地址),寫(xiě)三次

  'd3: w_dd <= 'h1111;//源MAC地址,均為0x1111,寫(xiě)三次

  '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開(kāi)開(kāi)始

  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ù)包,可有效的減少丟包率。

  第一步,指定要通信的網(wǎng)卡設(shè)備并打開(kāi)。

  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)卡然后添加到用戶(hù)選擇的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 filtern");

  pcap_close(m_pcap); return FALSE; }

  pcap_freealldevs(alldevs); // 釋放alldev資源

  return TRUE;}

第二步:開(kāi)啟一個(gè)線(xiàn)程接收數(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)用,直到線(xiàn)程終止。

第三步:處理收到的數(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%.winpcap的主要功能在于獨(dú)立于主機(jī)協(xié)議(如TCP-IP)而發(fā)送和接收原始數(shù)據(jù)包。也就是說(shuō),winpcap不能阻塞,過(guò)濾或控制其他應(yīng)用程序數(shù)據(jù)包的發(fā)收,它僅僅只是監(jiān)聽(tīng)共享網(wǎng)絡(luò)上傳送的數(shù)據(jù)包。因此,它不能用于QoS調(diào)度程序或個(gè)人防火墻。目前,winpcap開(kāi)發(fā)的主要對(duì)象是windows NT/2000/XP,這主要是因?yàn)樵谑褂脀inpcap的用戶(hù)中只有一小部分是僅使用windows 95/98/Me,并且MS也已經(jīng)放棄了對(duì)win9x的開(kāi)發(fā)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過(guò)流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問(wèn)題卻十分常見(jiàn),不僅增加了維護(hù)成本,還影響了用戶(hù)體驗(yàn)。要解決這一問(wèn)題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(chē)(EV)作為新能源汽車(chē)的重要代表,正逐漸成為全球汽車(chē)產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車(chē)的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車(chē)的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車(chē) 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車(chē)場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問(wèn)題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周?chē)娮釉O(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來(lái)解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開(kāi)關(guān)電源具有效率高的特性,而且開(kāi)關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開(kāi)關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉
關(guān)閉