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

基于FPGA的千兆以太網(wǎng)實時圖像采集與傳輸系統(tǒng)設(shè)計

2022-09-16 01:26:08肖順文
關(guān)鍵詞:系統(tǒng)設(shè)計

鄭 瑞,肖順文,王 涌

(西華師范大學(xué) 電子信息工程學(xué)院,四川 南充 637009)

電子技術(shù)飛速發(fā)展,圖像數(shù)據(jù)的采集與傳輸滲透到了生活的各方面,如視頻廣播、汽車無人駕駛、醫(yī)療機器人等。FPGA由于其出色的穩(wěn)定性與可靠性,在圖像處理領(lǐng)域得到廣泛應(yīng)用。千兆以太網(wǎng)具有高速率、高可靠性、遠距離傳輸?shù)膬?yōu)點,非常適合傳輸數(shù)據(jù)量大的圖像數(shù)據(jù)[1]。

王琦[2]、張威[3]通過對TCP/IP協(xié)議進行研究完成高速以太網(wǎng)接口設(shè)計;胡兵[4]、王新穎[5]采用SOPC架構(gòu),呂俊杰和武杰[6]、宋仕坤[7]采用FPGA+ARM架構(gòu),利用軟硬協(xié)同方式設(shè)計千兆以太網(wǎng)傳輸系統(tǒng);余鵬煒等[1]利用UDP協(xié)議實現(xiàn)高速圖像數(shù)據(jù)傳輸系統(tǒng)設(shè)計。考慮到TCP/IP協(xié)議較UDP協(xié)議在硬件實現(xiàn)上困難,利用軟硬結(jié)合的方式對開發(fā)者的要求高和沒有專門的上位機來接收傳輸?shù)膱D像數(shù)據(jù)等問題,本文以UDP作為通信協(xié)議,通過GMII接口實現(xiàn)FPGA與千兆以太網(wǎng)PHY芯片結(jié)合,同時提出千兆以太網(wǎng)傳輸模塊分層、分模塊的硬件實現(xiàn)方法,并開發(fā)上位機實時接收并顯示圖像。經(jīng)仿真測試驗證,該系統(tǒng)不僅能夠?qū)崿F(xiàn)圖像采集、數(shù)據(jù)緩存、千兆以太網(wǎng)圖像傳輸、上位機實時接收與顯示等功能,而且運行穩(wěn)定、可移植性強[1-10]。

1 設(shè)計原理與結(jié)構(gòu)

采用模塊化的設(shè)計思想將整個系統(tǒng)劃分為圖像傳感器初始化模塊、圖像數(shù)據(jù)捕獲模塊、FIFO數(shù)據(jù)緩存模塊、上位機顯示模塊。通過編寫SCCB總線協(xié)議配置OV5640圖像傳感器,輸出RGB565格式的圖像數(shù)據(jù),實現(xiàn)圖像采集。通過千兆以太網(wǎng)傳輸模塊實現(xiàn)圖像傳輸,上位機接收數(shù)據(jù)并進行實時顯示。千兆以太網(wǎng)模塊中物理層的實現(xiàn)采用PHY芯片RTL8211EG;數(shù)據(jù)鏈路層(MAC)將待發(fā)送的數(shù)據(jù)封裝成以太網(wǎng)數(shù)據(jù)幀;網(wǎng)絡(luò)層(IP)負責(zé)分割和重新組合數(shù)據(jù)包,進行不同網(wǎng)絡(luò)系統(tǒng)間的路徑選擇;傳輸層(UDP)將數(shù)據(jù)組織成數(shù)據(jù)段,用一個尋址機制來標(biāo)識一個特定的應(yīng)用程序(端口號)。

系統(tǒng)設(shè)計整體結(jié)構(gòu)如圖1。首先,通過編寫SCCB總線協(xié)議對OV5640圖像傳感器進行初始化配置,控制其輸出RGB565格式的圖像數(shù)據(jù)流;待圖像傳感器初始化完成后,F(xiàn)PGA接收來自圖像傳感器的圖像數(shù)據(jù),利用FIFO存儲器對數(shù)據(jù)進行緩存,當(dāng)FIFO中的數(shù)據(jù)足夠以太網(wǎng)發(fā)送一次時,便啟動以太網(wǎng)進行數(shù)據(jù)發(fā)送;從FIFO中取出數(shù)據(jù),對數(shù)據(jù)進行封裝,添加UDP信息,封裝成UDP數(shù)據(jù)報發(fā)送給網(wǎng)絡(luò)層;網(wǎng)絡(luò)層通過添加IP協(xié)議信息,封裝成IP數(shù)據(jù)報發(fā)給數(shù)據(jù)鏈路層MAC;數(shù)據(jù)鏈路層通過添加前導(dǎo)碼、幀開始符等以太網(wǎng)幀信息,將封裝后的以太網(wǎng)數(shù)據(jù)幀發(fā)送至物理層;最后數(shù)據(jù)由CAT 6網(wǎng)線傳輸至PC端,由上位機接收并進行實時圖像顯示。

2 系統(tǒng)設(shè)計

2.1 系統(tǒng)電路

整個系統(tǒng)包括攝像頭初始化、PLL時鐘產(chǎn)生、圖像數(shù)據(jù)捕獲、FIFO數(shù)據(jù)緩存、千兆以太網(wǎng)傳輸、上位機顯示6個模塊,系統(tǒng)電路如圖2所示。本系統(tǒng)采用的是“自頂而下”的設(shè)計方式,首先將系統(tǒng)劃分為各個子模塊,然后分別對各個模塊進行設(shè)計,設(shè)計完成后通過例化將各模塊進行連接,最終實現(xiàn)攝像頭圖像采集、千兆以太網(wǎng)傳輸、上位機顯示系統(tǒng)。

2.2 硬件設(shè)計

硬件設(shè)計包括圖像傳感器模塊和千兆以太網(wǎng)模塊。圖像傳感器模塊采用OmniVision公司生產(chǎn)的CMOS 圖像傳感器:OV5640,最高500萬像素圖像輸出能力,帶雙LED補光燈,支持自動變焦功能,具有非常高的性價比。千兆以太網(wǎng)模塊中的PHY芯片采用Realtek瑞昱公司的RTL8211EG,是一款高集成的網(wǎng)絡(luò)接收芯片,符合10 Base-T,100 Base-TX和1000 Base-T IEEE 802.3標(biāo)準(zhǔn),支持10/100/1000 Mbps網(wǎng)絡(luò)傳輸速率,傳輸速率自動匹配。FPGA與物理層的連接采用GMII接口,相對于RGMII接口而言,GMII接口編碼實現(xiàn)簡單,可降低系統(tǒng)設(shè)計難度。

2.3 軟件設(shè)計

系統(tǒng)軟件設(shè)計部分包括對攝像頭進行初始化配置、圖像數(shù)據(jù)捕獲、FIFO數(shù)據(jù)緩存、千兆以太網(wǎng)傳輸、上位機設(shè)計。首先,通過編寫SCCB總線協(xié)議完成攝像頭內(nèi)部寄存器配置,然后數(shù)據(jù)捕獲模塊接收攝像頭傳輸?shù)臄?shù)據(jù)并加以處理,輸入FIFO存儲器中,當(dāng)FIFO中的數(shù)據(jù)夠以太網(wǎng)發(fā)送一次時,千兆以太網(wǎng)模塊便從FIFO中取出數(shù)據(jù)進行傳輸,最后由上位機接收數(shù)據(jù)并實時顯示。

2.4 SCCB總線設(shè)計

為保證圖像傳感器OV5640能夠正常工作,需要設(shè)置分辨率、亮度、內(nèi)部時鐘、色差等參數(shù)[11]。OmniVision公司為了實現(xiàn)Camera控制,設(shè)計開發(fā)了一種類似于I2C總線的同步串行總線,即SCCB(Serial Camera Control Bus),其具有SCL(時鐘信號)和SDA(數(shù)據(jù)信號)兩個信號。圖像傳感器利用SCL和SDA實現(xiàn)對寄存器的配置,以達到預(yù)期配置的視頻流輸出[11]。SCCB寫時序和I2C寫時序一致,但是讀時序和I2C有所差別,差別在于SCCB要產(chǎn)生一個停止位后才能產(chǎn)生第二個起始位。SCCB寫時序圖如圖3所示,SCCB讀時序圖如圖4所示。

2.5 圖像數(shù)據(jù)捕獲模塊設(shè)計

在OV5640初始化完成之后,圖像數(shù)據(jù)經(jīng)過DVP(Digital Video Port,數(shù)字視頻接口)被傳輸給FPGA芯片[11]。圖像數(shù)據(jù)捕獲模塊如圖2系統(tǒng)電路中的Ctrl_FIFO_in,Clk_cmos為PLL鎖相環(huán)產(chǎn)生時鐘24.02 MHz,通過assign賦值語句直接賦給攝像頭正常工作所需時鐘Cmos_xclk。Cmos_pclk、Cmos_href、Cmos_vsync、Cmos_din分別為攝像頭輸出時鐘48.04 MHz、行信號、場信號、圖像數(shù)據(jù)。該模塊的作用包括為攝像頭工作時鐘和對圖像數(shù)據(jù)進行預(yù)處理。為避免數(shù)據(jù)在千兆以太網(wǎng)傳輸過程中發(fā)生錯誤導(dǎo)致顯示圖像壓縮,需要對每一行圖像數(shù)據(jù)進行編號,在每一行圖像數(shù)據(jù)之前加上2個字節(jié)的行號,接收時根據(jù)編號來確定傳輸?shù)木唧w是哪一行數(shù)據(jù),再將數(shù)據(jù)放在具體位置進行顯示。

2.6 千兆以太網(wǎng)模塊設(shè)計

千兆以太網(wǎng)系統(tǒng)的實現(xiàn)方式主要有:1)利用千兆以太網(wǎng)IP核,配合專用的PHY芯片實現(xiàn)數(shù)據(jù)傳輸;2)利用專用的網(wǎng)絡(luò)集成芯片,內(nèi)部集成MAC和PHY的功能,實現(xiàn)以太網(wǎng)數(shù)據(jù)傳輸。前者不僅價格昂貴,而且配置不靈活;后者傳輸速度不高[1]。為此,本文采用分模塊化的方法設(shè)計了一種基于FPGA的千兆以太網(wǎng)系統(tǒng),將整個千兆以太網(wǎng)模塊拆分為PHY模塊、MAC模塊、IP模塊、UDP模塊,同時將目的MAC地址、源MAC地址、目的IP地址、源IP地址、目的端口、源端口等用端口引出,當(dāng)應(yīng)用環(huán)境發(fā)生變化,只需在頂層模塊中修改端口參數(shù),使得模塊的靈活性、可移植性增強。

2.6.1 MAC模塊設(shè)計

MAC層在物理層提供比特流數(shù)據(jù)的基礎(chǔ)上,將比特信息封裝成數(shù)據(jù)幀F(xiàn)rame。以太網(wǎng)數(shù)據(jù)幀的基本格式如圖5。

圖5 以太網(wǎng)幀基本格式

當(dāng)啟動以太網(wǎng)發(fā)送時,首先發(fā)送7個字節(jié)的前導(dǎo)碼8′h55,然后發(fā)送1個字節(jié)的幀開始符8′hD5,接著分別發(fā)送6個字節(jié)的目的MAC地址和6個字節(jié)的源MAC地址,再發(fā)送2個字節(jié)的長度/類型字段和46~1500個字節(jié)的數(shù)據(jù),最后發(fā)送4個字節(jié)的FCS校驗字段[12-16]。

MAC模塊如圖2系統(tǒng)電路圖中MAC_GMII,設(shè)計時采用狀態(tài)機加線性序列機的方式,同時為了實現(xiàn)模塊的復(fù)用,將數(shù)據(jù)長度Lenth、目的MAC地址Receive_MAC_addr、源MAC地址send_MAC_addr、長度/類型字段Num_lenth_type、FCS校驗字段Check_num進行參數(shù)化設(shè)計,作為獨立的端口進行引出,當(dāng)應(yīng)用于其他環(huán)境時,只需在頂層模塊中修改端口參數(shù)即可。

2.6.2 IP模塊設(shè)計

IP數(shù)據(jù)報格式如圖6。本設(shè)計中IP版本采用IPv4;首部長度為5個32位的數(shù)共20個字節(jié);服務(wù)類型采用普通模式;總長度為待發(fā)送數(shù)據(jù)的長度+IP報頭長度;當(dāng)數(shù)據(jù)量超過65 536個字節(jié)時需要對數(shù)據(jù)進行分片發(fā)送;生存周期為數(shù)據(jù)能夠經(jīng)過最多得路由器個數(shù);上層協(xié)議表示數(shù)據(jù)采用何種協(xié)議進行傳輸,本設(shè)計采用UDP協(xié)議;報頭校驗和對數(shù)據(jù)進行校驗,當(dāng)數(shù)據(jù)錯誤,采取丟棄該包數(shù)據(jù)并啟動重傳操作[12,14]。源IP地址表示發(fā)送方的IP地址,目的IP地址表示接收方的IP地址。

圖6 IP數(shù)據(jù)報格式

IP模塊如圖2系統(tǒng)電路圖中IP,設(shè)計時采用狀態(tài)機加線性序列機的方式,同時為了實現(xiàn)模塊的復(fù)用,將數(shù)據(jù)長度Data_Lenth、目的IP地址Receive_IP_addr、源IP地址Send_IP_addr作為獨立的端口引出,當(dāng)應(yīng)用于其他環(huán)境需要改變數(shù)據(jù)發(fā)送長度與IP地址時,只需在頂層模塊中修改參數(shù)即可。

2.6.3 UDP模塊設(shè)計

UDP是User Datagram Protocol的簡稱,中文名是用戶數(shù)據(jù)報協(xié)議,是OSI參考模型中一種無連接的傳輸層協(xié)議,提供面向事務(wù)不可靠傳送服務(wù),發(fā)送方只負責(zé)將數(shù)據(jù)發(fā)送出去,而不管接收方是否正確接收。UDP協(xié)議的主要作用是將網(wǎng)絡(luò)數(shù)據(jù)流量壓縮成數(shù)據(jù)包的形式,用來支持需要在計算機之間傳輸數(shù)據(jù)的網(wǎng)絡(luò)應(yīng)用[2]。UDP格式如圖7。

圖7 UDP格式

UDP協(xié)議使用端口號為不同的應(yīng)用保留其各自的數(shù)據(jù)傳輸通道,采用這一機制可實現(xiàn)在同一時刻內(nèi)多項應(yīng)用同時發(fā)送和接收數(shù)據(jù)。數(shù)據(jù)報長度包括報頭和數(shù)據(jù)部分在內(nèi)的總字節(jié)數(shù),報頭長度固定為8個字節(jié),數(shù)據(jù)部分長度根據(jù)操作環(huán)境的不同而各異。UDP協(xié)議使用報頭中的校驗值來保證數(shù)據(jù)的安全,但檢測到錯誤時,UDP并不做錯誤校正,只是把損壞的消息段扔掉,或者給應(yīng)用程序提供警告信息,因此為了簡化設(shè)計,在傳輸層不進行數(shù)據(jù)的校驗。

UDP模塊如圖2系統(tǒng)電路圖中UDP,設(shè)計時采用狀態(tài)機加線性序列機的方式,同時為了實現(xiàn)模塊的復(fù)用,將數(shù)據(jù)長度UDP_Lenth、目的端口號Receive_UDP_addr、源端口Send_UDP_addr作為獨立的端口進行引出,當(dāng)應(yīng)用于其他環(huán)境需要改變數(shù)據(jù)發(fā)送長度與端口號時,只需在頂層模塊中修改參數(shù)即可。

3 仿真測試

編寫Testbench測試代碼,設(shè)置發(fā)送指令為(China West Normal Univerity),源MAC地址Send_MAC_addr為(48′h98_76_54_32_10_ab),目的MAC地址為Receive_MAC_addr為(48′hff_ff_ff_ff_ff_ff),源IP地址Send_IP_addr為(32′ha9_fe_d6_01),目的IP地址Receive_IP_addr為(32′ha9_fe_d6_f8),源端口號Send_UDP_addr為(16′h13_88),目標(biāo)端口號Receive_UDP_addr為(16′h17_70),從仿真波形圖8看出仿真結(jié)果與設(shè)計完成一致,符合設(shè)計要求。

將整個系統(tǒng)移植到AC620開發(fā)板,并配合OV5640圖像傳感器模塊和ACM8211以太網(wǎng)模塊進行下板測試。通過Wireshark抓包工具對以太網(wǎng)數(shù)據(jù)包進行抓取,抓包結(jié)果如圖9所示,源IP地址、目的IP地址、源端口號、目標(biāo)端口號與設(shè)置相同,抓取的數(shù)據(jù)長度為27個字節(jié),抓取指令與發(fā)送指令一致。同時,使用網(wǎng)絡(luò)調(diào)試助手接收千兆以太網(wǎng)模塊發(fā)送的指令,如圖10所示,每按下按鍵執(zhí)行1次指令發(fā)送,測試時每次都能成功接收指令,證明千兆以太網(wǎng)模塊功能實現(xiàn)正常。如圖11所示,上位機能夠接收圖像數(shù)據(jù)并實時顯示,證明整個系統(tǒng)功能滿足設(shè)計要求。

4 結(jié)束語

整個系統(tǒng)以AC620 FPGA開發(fā)板作為平臺,配合ACM8211以太網(wǎng)模塊和OV5640圖像傳感器,實現(xiàn)了圖像采集、FIFO數(shù)據(jù)緩存、千兆以太網(wǎng)傳輸、上位機實時顯示的功能,并提出一種千兆以太網(wǎng)傳輸模塊的設(shè)計方式,將原本1個大的模塊拆分為3個模塊來實現(xiàn),使得編碼難度降低,可移植性增強。通過仿真測試,該系統(tǒng)運行最高頻率達135.34 MHz,且系統(tǒng)數(shù)據(jù)傳輸穩(wěn)定,可將整個系統(tǒng)直接運用于高速、遠距離、大數(shù)據(jù)量的圖像數(shù)據(jù)傳輸實際應(yīng)用中。

猜你喜歡
系統(tǒng)設(shè)計
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
何為設(shè)計的守護之道?
《豐收的喜悅展示設(shè)計》
流行色(2020年1期)2020-04-28 11:16:38
基于PowerPC+FPGA顯示系統(tǒng)
半沸制皂系統(tǒng)(下)
瞞天過海——仿生設(shè)計萌到家
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設(shè)計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
主站蜘蛛池模板: 无码中文AⅤ在线观看| 在线毛片免费| 精品国产免费人成在线观看| 国产中文一区a级毛片视频| 中文字幕乱码中文乱码51精品| 99热这里只有精品免费国产| 国产乱人激情H在线观看| 欧美日本在线播放| 中文字幕永久在线看| 国产欧美成人不卡视频| 亚洲自拍另类| 国产精品亚洲αv天堂无码| 亚洲天堂在线免费| 国产视频一区二区在线观看 | 欧美另类图片视频无弹跳第一页| 国产激爽大片高清在线观看| 亚洲免费毛片| www.99在线观看| 99久久精品视香蕉蕉| 国产成人91精品免费网址在线| 免费女人18毛片a级毛片视频| 国产成人精品一区二区免费看京| 成人午夜网址| 伊人丁香五月天久久综合| 国产日产欧美精品| 欧美怡红院视频一区二区三区| 亚洲午夜国产精品无卡| 亚洲精品中文字幕午夜| 最新国产在线| 色香蕉网站| 亚洲欧美成人| 国产亚洲欧美在线视频| 亚洲伊人久久精品影院| 四虎永久免费在线| 污视频日本| 五月婷婷导航| 成年女人a毛片免费视频| 欧美激情,国产精品| 亚洲国产高清精品线久久| 免费人成视网站在线不卡| 国产91在线|日本| 成人免费视频一区二区三区| 欧美精品v欧洲精品| 黄色一级视频欧美| 天天躁夜夜躁狠狠躁图片| 广东一级毛片| 天天色天天操综合网| 久久久久亚洲AV成人网站软件| 日韩在线2020专区| 亚洲大尺码专区影院| 五月婷婷精品| 国产午夜精品一区二区三| 国产成人精品日本亚洲| 国产亚洲第一页| 欧美亚洲第一页| 久久成人18免费| 91热爆在线| 超碰免费91| 97久久精品人人做人人爽| 中文字幕久久亚洲一区| 欧美日韩精品一区二区视频| 小蝌蚪亚洲精品国产| 久热中文字幕在线| 午夜日韩久久影院| 国产精品粉嫩| 国产97视频在线观看| 在线视频精品一区| 免费一级毛片在线播放傲雪网| 在线观看无码a∨| 在线无码九区| 色亚洲成人| 激情亚洲天堂| 亚洲精品色AV无码看| 又粗又大又爽又紧免费视频| 日韩美毛片| 日本午夜视频在线观看| 青青极品在线| 亚洲国产综合自在线另类| 热99精品视频| 少妇被粗大的猛烈进出免费视频| 91精品国产综合久久香蕉922| 国产尹人香蕉综合在线电影|