999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FPGA的千兆UDP/IP協(xié)議棧的實現(xiàn)及其在高速圖像傳輸中的應(yīng)用

2020-03-25 07:22:28熊光陽李志茹張維納
儀器儀表用戶 2020年3期
關(guān)鍵詞:設(shè)計

熊光陽,王 野,李志茹,張維納

(桂林電子科技大學(xué) 電子工程與自動化學(xué)院,廣西 桂林 541004)

0 引言

目前,系統(tǒng)設(shè)計中常用的高速數(shù)據(jù)傳輸接口技術(shù)有USB、PCI/PCI-E、千兆以太網(wǎng)和萬兆以太網(wǎng)接口等。而現(xiàn)在的計算機都提供千兆以太網(wǎng)卡,利用千兆網(wǎng)接口有著接口普及、設(shè)計成本低等優(yōu)勢[1]。

為了實現(xiàn)千兆以太網(wǎng)圖像數(shù)據(jù)的傳輸,需要在硬件上實現(xiàn)MAC(數(shù)據(jù)鏈路層)和PHY(物理層)。現(xiàn)有的千兆網(wǎng)接口往往采用具有MAC 功能的IP 軟核來實現(xiàn)該部分的功能,該方案存在移植性差和消耗FPGA 資源量大的問題[2]。本文利用FPGA 可編程邏輯門陣列的特點,使用硬件描述語言實現(xiàn)MAC 功能,而物理層使用專用的PHY 芯片來簡化UDP/IP 協(xié)議中對物理層設(shè)計的工作[3]。

圖1 總體設(shè)計框架Fig.1 Overall design framework

1 系統(tǒng)的總體方案設(shè)計

構(gòu)成千兆以太網(wǎng)圖像數(shù)據(jù)傳輸及圖像采集接口總體設(shè)計框架如圖1 所示。

FPGA 中設(shè)計邏輯接口對型號ov5640 的攝像頭工作方式進行初始化配置,攝像頭配置好后采集圖像數(shù)據(jù)。圖像數(shù)據(jù)進入FPGA 后,因為攝像頭輸出的圖像數(shù)據(jù)和千兆數(shù)據(jù)發(fā)送模塊的數(shù)據(jù)不在同一個時鐘域,所以在數(shù)據(jù)進入FPGA 后存入FIFO 緩存,千兆數(shù)據(jù)發(fā)送模塊讀取FIFO 中的數(shù)據(jù),在千兆數(shù)據(jù)發(fā)送模塊中根據(jù)標準的UDP 數(shù)據(jù)包格式完成數(shù)據(jù)打包,該模塊輸出的UDP 數(shù)據(jù)包通過RGMII 接口傳輸至PHY 芯片,這里PHY 芯片執(zhí)行的是千兆以太網(wǎng)的物理層功能,數(shù)據(jù)在通過PHY 芯片后就可以經(jīng)由網(wǎng)線傳輸給下一級數(shù)據(jù)處理模塊。PLL 時鐘管理模塊完成的是對FPGA 內(nèi)部模塊提供符合設(shè)計需要的穩(wěn)定時鐘。本設(shè)計選用的PHY 芯片KSZ9031RNX 支持多種工作方式,PHY 配置模塊完成是對PHY 芯片的工作方式配置。

2 各功能模塊實現(xiàn)

2.1 PLL時鐘管理

PLL 時鐘管理模塊完成的功能是向本設(shè)計的其他模塊提供時鐘,其中攝像頭系統(tǒng)時鐘24MHZ,配置攝像頭的IIC 接口時鐘100KHZ。為了簡化設(shè)計,對于這兩個模塊工作時鐘來源使用的辦法是調(diào)取PLL IP 核,經(jīng)過外部輸入的50MHZ 時鐘倍頻產(chǎn)生;對于千兆以太網(wǎng),F(xiàn)PGA 與PHY 間通過RGMII 接口通信,RGMII 支持全雙工,具有兩條不同方向的125MHZ 時鐘線,千兆數(shù)據(jù)發(fā)送和PHY 配置模塊的時鐘,來源于PHY 芯片向FPGA 輸入方向的時鐘。

2.2 FIFO緩存

圖2 千兆數(shù)據(jù)發(fā)送Fig.2 Gigabit data sending

當配置好攝像頭的初始化后,攝像頭就會按照一定時序一直輸出圖像數(shù)據(jù)。本設(shè)計配置的輸出數(shù)據(jù)是RGB565格式,速率60sf/s,720P 的圖像。而千兆UDP 數(shù)據(jù)包來源于對讀取的緩存FIFO 數(shù)據(jù)根據(jù)標準UDP 協(xié)議的封裝[4]。連續(xù)傳入FPGA 的圖像數(shù)據(jù)和需要封裝成UDP 數(shù)據(jù)包并外傳之間的速率和是時鐘不同,因而,就需要將采集到的圖像數(shù)據(jù)在FIFO 中緩存,再讀FIFO 取出數(shù)據(jù)封裝成千兆以太網(wǎng)UDP 包。由于圖像輸出時鐘和從FIFO 提取數(shù)據(jù)的時鐘不同,所以調(diào)用異步FIFO 來解決這一矛盾[5]。

2.3 攝像頭配置

本文選用的攝像頭是ov5640,支持IIC 通信協(xié)議訪問內(nèi)部的配置寄存器[6],綜合考慮將其配置成主要參數(shù)為720P、60sf/s、rgb565、像素時鐘84MHZ 的輸出。

2.4 PHY配置

PHY 芯片支持全/半雙工速率自適應(yīng)工作方式,本文根據(jù)設(shè)計需要將芯片配置成1000Mbit/s、全雙工工作方式。PHY 芯片支持軟件和硬件配置兩種方式,軟件配置方式和上文攝像頭配置類似,往相應(yīng)寄存器寫入設(shè)計的工作方式對應(yīng)的寄存器值[7]。本文采用硬件配置的方式,即在芯片功能引腳串接一定阻值的電阻使其獲得高電平狀態(tài),在芯片上電后,串接相應(yīng)電阻而獲得的電平狀態(tài)就會寫入其對應(yīng)的寄存器,從而確定芯片工作方式。

2.5 千兆數(shù)據(jù)發(fā)送

千兆數(shù)據(jù)發(fā)送功能模塊完成的是將FIFO 緩存中取出的數(shù)據(jù)進行UDP 封裝再發(fā)送給PHY 芯片的過程,該模塊框架如圖2 所示。

數(shù)據(jù)成幀模塊的功能是將緩存的數(shù)據(jù)組成初步的千兆以太網(wǎng)幀[8],這里的初步千兆以太網(wǎng)幀指的是沒有加入IP CHECKSUM、UDP CHECKSUM 以及CRC 校驗的數(shù)據(jù)幀。在checksum 添加模塊中,根據(jù)UDP 協(xié)議計算出checksum的值,將這個計算出來的值填充進去初步以太網(wǎng)幀。CRC添加模塊功能與checksum 添加模塊類似,計算出crc 校驗值,然后將此計算出的值填充進已經(jīng)添加有checksum 的上一模塊數(shù)據(jù)流。在本設(shè)計中選用PHY 芯片完成以太網(wǎng)的物理層功能FPGA 與PHY 通過RGMII 接口通信,oddr_ctrl 模塊完成的是將上一模塊輸出的數(shù)據(jù)轉(zhuǎn)換為符合RGMII 接口的數(shù)據(jù)形式。

表1 UDP/IP數(shù)據(jù)幀格式Table 1 UDP/IP Data frame format

2.5.1 千兆以太網(wǎng)協(xié)議

千兆以太網(wǎng)協(xié)議主要是UDP/IP 協(xié)議和RGMII 接口協(xié)議,UDP/IP 協(xié)議是將數(shù)據(jù)封裝成符合IEEE802.3a 標準的數(shù)據(jù)包的規(guī)則[9];RGMII 接口協(xié)議是FPGA 與PHY 通信的一種接口形式。在經(jīng)典以太網(wǎng)標準下,設(shè)計千兆以太網(wǎng)UDP/IP 數(shù)據(jù)幀格式見表1。

一個完整的UDP 數(shù)據(jù)包應(yīng)符合表1 的格式要求,其中前同步碼為連續(xù)的7 個55、1 個d8,它們共同表示一個幀的開始[10];目的地址6 個字節(jié)存放目的設(shè)備的物理地址,即MAC 地址;源地址存放發(fā)送端設(shè)備的物理地址;0800 表示IP 協(xié)議;包自增標志是為了數(shù)據(jù)接收端驗證數(shù)據(jù)在傳輸中有無丟失;IP 長度描述的是IP 首部字節(jié)數(shù)、UDP 首部字節(jié)數(shù)和用戶數(shù)據(jù)字節(jié)數(shù)的算術(shù)和;用11 表示UDP 協(xié)議;IP_CHECKSUM、UDP_CHECKSUM 以及CRC 是對數(shù)據(jù)差錯的一個校驗;IP 源地址和IP 目的地址分別表示數(shù)據(jù)發(fā)送端和接收端的IP 地址;PORT 源和PORT 目的分別表示數(shù)據(jù)在處理他們的應(yīng)用程序傳輸?shù)亩丝冢挥脩魯?shù)據(jù)填充需要傳輸?shù)臄?shù)據(jù)。

RGMII 是本設(shè)計UDP/IP 協(xié)議棧中MAC(數(shù)據(jù)鏈路層)和PHY(物理層)之間的一種數(shù)據(jù)傳輸接口協(xié)議,本設(shè)計中的千兆數(shù)據(jù)發(fā)送模塊完成的就是MAC 功能,協(xié)議形式如圖3 所示。

RGMII 采用4 位數(shù)據(jù)接口,工作時鐘125MHZ,并且在上升沿和下降沿同時傳輸數(shù)據(jù),傳輸帶寬可以達到1000Mbps。圖3 中TXC 和RXC 為數(shù)據(jù)傳輸時鐘,TX_CTL和RX_CTL 為數(shù)據(jù)有效信號,TD 和RD 為雙沿4 比特有效數(shù)據(jù)。本設(shè)計選用的PHY 芯片支持全雙工數(shù)據(jù)傳輸方式。

圖3 RGMII接口Fig.3 RGMII Interface

2.5.2 數(shù)據(jù)成幀

千兆數(shù)據(jù)發(fā)送模塊提取采集的緩存在FIFO 中的圖像數(shù)據(jù),然后在數(shù)據(jù)成幀模塊中完成對數(shù)據(jù)的初步封裝,按照表1 所示的數(shù)據(jù)幀格式,在FPGA 中生成數(shù)據(jù)流的基本幀格式,除了IP_CHECKSUM、UDP_CHECKSUM 以及CRC校驗位,數(shù)據(jù)幀的其他部分都可以在這一模塊完成。

設(shè)計1 個UDP 數(shù)據(jù)流中含有1280 個字節(jié)的圖像數(shù)據(jù),設(shè)置時鐘緩存FIFO 的深度為2000,當FIFO 中存夠1280個數(shù)據(jù)后,緩存模塊可以生產(chǎn)一個flag,數(shù)據(jù)成幀模塊接收到flag 信號后就可以開成組幀,組幀到表1 序號17 的位置時就可以拉高一個使能,該使能信號是讀FIFO 的使能,這樣將讀取到的FIFO 數(shù)據(jù)填充到數(shù)據(jù)幀的用戶數(shù)據(jù)位置。

2.5.3 checksum添加

CHECKSUM 包 括IP_CHECKSUM 和UDP_CHECKSUM的計算以及將這兩個的計算結(jié)果填充進數(shù)據(jù)成幀模塊中原本用8’h00 代替的位置處。IP_CHECKSUM 和UDP_CHECKSUM 的計算是將一定范圍內(nèi)的數(shù)據(jù)按照每相鄰2byte 即16bit 作為一組,把每組的這16bit 數(shù)據(jù)相加,如果計算和大于FFFF,那么就把超出FFFF 的部分與計算和的低16 位相加,直到結(jié)果為16bit。最后的結(jié)果取反即為CHECKSUM。其中,IP_CHECKSUM 計算的范圍包括以太網(wǎng)數(shù)據(jù)幀中的IP 版本到IP 目的地址之間的數(shù)據(jù),UDP_CHECKSUM 計算的范圍包括從PORT 源到最后一個用戶數(shù)據(jù)結(jié)尾之間的部分。

因為計算CHECKSUM 結(jié)束后,數(shù)據(jù)流已經(jīng)到了一幀數(shù)據(jù)的末尾,這樣就不能在正確的位置填充CHECKSUM。設(shè)計在計算CHECKSUM 的同時將數(shù)據(jù)存入RAM,待計算完成后讀取RAM 數(shù)據(jù),然后將計算好的CHECKSUM 填充進讀出來RAM 數(shù)據(jù)的CHECKSUM 正確位置處。

2.5.4 crc添加

數(shù)據(jù)經(jīng)由千兆網(wǎng)傳輸,實際上傳輸?shù)氖菙?shù)據(jù)和校驗碼的組合——碼字,這樣的算法是對整個數(shù)據(jù)幀在傳輸過程中正確性的校驗,其中校驗碼的生成依據(jù)的是CRC 校驗算法,在數(shù)據(jù)接收端根據(jù)再計算一遍碼字與發(fā)送端的碼字相比較來判斷傳輸差錯與否。

圖4 實驗驗證系統(tǒng)Fig.4 Experimental verification system

2.5.5 oddr_ctrl

在千兆數(shù)據(jù)發(fā)送模塊中處理的數(shù)據(jù)是8bit 位寬,對應(yīng)125Mhz 系統(tǒng)時鐘,F(xiàn)PGA 與PHY 芯片通過RGMII 接口連接。RGMII 接口協(xié)議上文已有闡述,傳輸?shù)氖请p沿4bit 數(shù)據(jù)。因此,需要在oddr_ctrl 模塊中把系統(tǒng)的單沿8bit 數(shù)據(jù)轉(zhuǎn)換成雙沿4bit 數(shù)據(jù),實現(xiàn)與PHY 芯片的正確通信,這里的處理辦法是在vivado 中調(diào)取IP 核oddr。模塊中設(shè)計的數(shù)據(jù)位轉(zhuǎn)換條件是邊沿觸發(fā),雙沿數(shù)據(jù)指的是在時鐘線上升沿和下降沿同時轉(zhuǎn)換數(shù)據(jù)。使用RGMII 接口可以在保證千兆帶寬的前提下,節(jié)省FPGA 的引腳使用。

3 實驗驗證

實驗驗證的主要內(nèi)容是硬件設(shè)計的正確性。實驗驗證系統(tǒng)如圖4 所示。

設(shè)計的實驗是將千兆以太網(wǎng)數(shù)據(jù)發(fā)送向PC,在抓包軟件wireshark 上抓取實時數(shù)據(jù)包,攝像頭采集的分辨率是1280×720、格式RGB565 的圖像。在設(shè)計UDP 包時,一包UDP 數(shù)據(jù)幀填充1280 個字節(jié),一張圖片需要填充這樣的UDP 包1440 個,而UDP 數(shù)據(jù)幀除開用戶數(shù)據(jù)外,還有幀頭、校驗字、IP 地址等這些表1 所描述的部分,一共1332 個字節(jié);設(shè)計FPAG 的IP 地址192.168.0.1,即以太網(wǎng)的IP 源地址,向PC 發(fā)送廣播包即IP 目的地址255.255.255.255;為了驗證沒有丟包設(shè)計自增1 標志每發(fā)送一包數(shù)據(jù)該標志自加1,該標志從1 計數(shù)到1440(1440 的十六進制是05a0)。觀察wireshark 界面上抓取的數(shù)據(jù)幀,抓取的實時數(shù)據(jù)傳輸?shù)絇C 端wireshark 截取界面如圖5 所示。

圖5 是截圖的一張圖片發(fā)送的第一個UDP 數(shù)據(jù)包和最后一個數(shù)據(jù)包,圖中方框標志2 處是抓取UDP 數(shù)據(jù)幀的長度,和實驗設(shè)計FPGA 發(fā)送端一樣;圖中方框標志3 是以太網(wǎng)接口的IP 源地址和目的地址,和實驗設(shè)計FPGA 發(fā)送端一樣;圖中方框標志4 是自增1 標志,其計數(shù)范圍和設(shè)計一樣;實驗截取的數(shù)據(jù)包的范圍在圖5 中的標志1 處,(b)圖相對(a)圖共有數(shù)據(jù)包568231-566792+1=1440。實驗結(jié)果表明本設(shè)計是正確可靠的,符合設(shè)計預(yù)期。

圖5 抓包截取結(jié)果Fig.5 Capture results

4 小結(jié)

本文采用FPGA+PHY 的架構(gòu),利用FPGA 實現(xiàn)了千兆以太網(wǎng)傳輸系統(tǒng)。該系統(tǒng)具有較高的可靠性,且易于實現(xiàn),對于一些成本低、體積小,速度要求較高的圖像記錄器設(shè)計具有重大的應(yīng)用價值。

猜你喜歡
設(shè)計
二十四節(jié)氣在平面廣告設(shè)計中的應(yīng)用
河北畫報(2020年8期)2020-10-27 02:54:06
何為設(shè)計的守護之道?
《豐收的喜悅展示設(shè)計》
流行色(2020年1期)2020-04-28 11:16:38
基于PWM的伺服控制系統(tǒng)設(shè)計
電子制作(2019年19期)2019-11-23 08:41:36
基于89C52的32只三色LED搖搖棒設(shè)計
電子制作(2019年15期)2019-08-27 01:11:50
基于ICL8038的波形發(fā)生器仿真設(shè)計
電子制作(2019年7期)2019-04-25 13:18:16
瞞天過海——仿生設(shè)計萌到家
設(shè)計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
從平面設(shè)計到“設(shè)計健康”
商周刊(2017年26期)2017-04-25 08:13:04
主站蜘蛛池模板: 国产福利影院在线观看| 青青草一区二区免费精品| 久久美女精品国产精品亚洲| 四虎永久免费网站| 国内精自线i品一区202| 多人乱p欧美在线观看| av尤物免费在线观看| 18禁黄无遮挡网站| 日韩视频精品在线| 午夜福利免费视频| 欧美一级片在线| 性做久久久久久久免费看| 国产精品无码AⅤ在线观看播放| 国产午夜一级淫片| 国产精品专区第1页| 人妻少妇乱子伦精品无码专区毛片| 美女被躁出白浆视频播放| 亚洲第一香蕉视频| 亚洲综合色婷婷| 亚洲第一区在线| 欧美福利在线观看| 亚洲福利视频一区二区| 亚洲国产成熟视频在线多多| 国产9191精品免费观看| 亚洲中文字幕23页在线| 四虎精品黑人视频| 欧美综合区自拍亚洲综合天堂| 精品国产成人高清在线| 亚洲91精品视频| 国产毛片基地| 国产精品一区在线麻豆| 谁有在线观看日韩亚洲最新视频| 欧美日韩一区二区在线播放| 好吊日免费视频| 夜夜操国产| a免费毛片在线播放| 91久久偷偷做嫩草影院| 国产成人午夜福利免费无码r| 国产精品入口麻豆| 国产二级毛片| 99在线国产| 久久国产精品娇妻素人| 国产一级特黄aa级特黄裸毛片| 精品无码一区二区在线观看| 国模沟沟一区二区三区| 国内精品视频| 精品国产一区二区三区在线观看| 精品超清无码视频在线观看| 国产成人高清精品免费软件| 免费观看无遮挡www的小视频| 欧美日韩中文国产va另类| 91美女视频在线观看| 中文字幕乱码二三区免费| 亚洲欧美人成人让影院| 亚洲高清资源| 国产日韩丝袜一二三区| 久久综合丝袜日本网| 老色鬼久久亚洲AV综合| 欧美国产精品拍自| 波多野结衣一区二区三区四区| 九色在线观看视频| 先锋资源久久| av尤物免费在线观看| 亚洲乱码在线视频| 国产成人欧美| 国产尤物视频网址导航| 99偷拍视频精品一区二区| 在线观看视频一区二区| 久久综合五月婷婷| 亚洲二区视频| 亚洲精品欧美日本中文字幕| 91久久精品国产| 午夜成人在线视频| 亚洲天堂自拍| 欧美国产综合视频| 国产迷奸在线看| 黄片一区二区三区| 欧美中文一区| 1024你懂的国产精品| 亚洲福利网址| 国产农村精品一级毛片视频| 少妇精品在线|