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

基于FPGA的以太網雙目圖像采集系統設計

2021-09-04 08:13:28張谷祥王曉曼趙海麗楊威
關鍵詞:系統

張谷祥,王曉曼,趙海麗,楊威

(長春理工大學 電子信息工程學院,長春 130022)

圖像處理技術廣泛應用于各行各業,如醫療衛生、航空航天等,而圖像采集是圖像處理的前提保證,采集到原始圖像的質量將直接影響到圖像處理最終的效果[1]。目前在測量位姿的方法中,雙目視覺測量是研究的課題之一,它是利用雙攝像頭拍攝同一場景,根據視差來獲得三維信息,然后根據位姿解算算法得出位置和姿態數據。由于在雙目視覺的位姿測量系統中要求兩攝像頭同步工作、并行運算,傳統的串行器件CPU不能并行地控制兩攝像頭同步工作和處理數據,為了滿足要求,故系統提出了一個基于FPGA的以太網雙目圖像采集系統。由于FPGA相比CPU擁有并行處理的特點,并且具有集成度高、實時性強,功耗低的優點,可在每個時鐘周期完成多樣的處理任務,因此FPGA滿足控制要求。

本系統以EP4CE10F17C8現場可編程門陣列為主控單元、以CMOS圖像傳感器OV5640為圖像采集單元,以SDRAM為數據存儲單元,以PHY為以太網收發器單元,以PC為圖像顯示單元,實現了圖像的采集、存儲、傳輸和顯示。

1 系統硬件設計

圖1是系統的總體框圖,主要有FPGA、圖像采集設備、圖像顯示設備等組成。其中OV5640圖像傳感器負責圖像采集,FPGA則是整個系統的控制核心單元,是負責圖像數據的處理和各模塊的控制等。

圖1 系統總體框圖

SDRAM用來存取采集的圖像數據,PC機通過網口與FPGA通信來顯示采集的圖像數據。FPGA采用的是原Altera公司Cyclone IV E系列產品,該系列產品經過優化工藝,能夠把內核工作電壓降低到1.2 V,非常適合應用在對成本和功耗有較高要求的場合。根據串行攝像機控制總線SCCB來完成OV5640圖像傳感器的初始化和控制像素顯示窗口范圍、消隱行范圍、增益范圍。之后便通過攝像頭DVP接口把輸出的RGB565圖像數據傳給FPGA中的寫FIFO模塊,再由FPGA內部的SDRAM控制器模塊對寫FIFO模塊中數據進行操作,目的是存入到外部SDRAM芯片上,當外部有讀請求時,再通過讀FIFO模塊來進行數據讀操作,并將讀到的數據通過網線傳輸到上位機來完成數據的顯示。

1.1 圖像采集模塊

圖像采集采用的是OmniVision公司生產的一款1/4英寸、最高500 W像素圖像輸出能力的互補金屬氧化物半導體(CMOS)圖像傳感器OV5640,其支持RawRGB、RGB(RGB565、RGB555、RGB444)、CCIR656、YUV(422/420)、YCbCr(422)和壓縮圖像(JPEG)輸出格式,標準的SCCB接口,兼容IIC接口,有自動曝光(AEC)、自動白平衡(AWB)、自動消除燈光條紋控制功能,具有非常高的性價比。它通過定制的2線/3線制串行攝頭控制總線(serial camera control bus,SCCB)進行控制,輸出并行的10位圖像數據,圖像輸出最高可達30幀/s,滿足視覺流暢的需求。兩片圖像傳感器OV5640負責圖像的采集,并且本身可以輸出10位數據,但大多數情況下采用高8位數據。輸入參考時鐘XCK由FPGA直接提供,不需要額外晶振提供[3]。圖像采集電路示意圖如圖2所示。

圖2 攝像頭與FPGA的電路連接示意圖

1.2 數據存儲模塊

系統采用的SDRAM存儲器是HY57V281620芯片,該芯片總128 Mbit,4個bank,每個bank有32 Mbit存儲單元,系統設置每個存儲單元存儲16 bit,則每個bank有4 096行×512列,對于SDRAM的讀寫是以突發的方式進行的,對SDRAM的操作是從一個指定的地址開始,并且按照編程好的數量的地址,順序讀寫數據,其工作為3.3 V,擁有一個同步接口,SDRAM的所有信號都是在時鐘信號的上升沿被寄存,芯片的工作時鐘通過FPGA的PLL提供,為100 MHz。數據存儲電路示意圖如圖3所示。

圖3 FPGA與SDRAM的電路連接示意圖

1.3 以太網傳輸模塊

系統通過一片RTL8201以太網PHY芯片提供對以太網連接的支持,RTL8201是一片10 M/100 M自適應以太網收發器,提供MII/SNI接口MAC連接,MII接口的發送時鐘,由PHY芯片產生,該系統工作在100 Mbps時,時鐘為25 MHz,MII接口發送數據使能,高電平有效,每個發送時鐘上升沿發送4位數據,RJ45采用的是HR91130C,該連接器自帶隔離變壓器和終端電阻,有利于改善系統的EMC/EMI性能[4]。以太網傳輸電路示意圖如圖4所示。

圖4 FPGA與RTL8211的電路連接示意圖

2 系統軟件設計

軟件設計主要有圖像采集驅動模塊邏輯設計、數據存儲模塊邏輯設計、以太網模塊邏輯設計這三個部分。其中圖像采集驅動模塊邏輯設計來完成OV5640寄存器初始化和圖像數據的獲取;數據存儲模塊邏輯設計來完成圖像數據的存儲;以太網模塊邏輯設計來完成圖像數據的讀取和傳送。開發工具使用的是QuartusⅡ,程序編寫使用的是Verilog HDL語言,仿真使用的是Modelsim工具。最終程序編譯下載到FPGA開發版來進行上位機顯示,以驗證系統設計的正確性。

2.1 圖像采集驅動模塊邏輯設計

圖像采集驅動模塊邏輯設計分攝像頭的初始化和圖像數據采集,其中攝像頭初始化在前,圖像數據采集在后。圖像傳感器OV5640寄存器眾多,并且寄存器地址不是連續的,用寄存器地址累加行不通,這里解決的方法是使用ROM查找表,查找表里存儲的是寄存器地址和數據,ROM每個存儲單位設置為24位,其中高16位用來存儲寄存器地址,低8位用來存儲該寄存器需要設置的初始值,當啟動SCCB控制器寫操作時,依次從查找表取出值寫入到OV5640寄存器,直到寄存器寫完。SET_CNT是設置需要初始化寄存器的個數,Comb_logic表示組合邏輯用來分開寄存器地址值和初始值。其初始化模塊框圖如圖5所示。

圖5 初始化模塊框圖

圖像數據采集時當檢測到幀VSYNC為上升沿時表示一幀圖像數據傳輸的開始,在之后行同步信號HREF為上升沿時表示一行圖像傳輸的開始,在HREF為高電平期間,一個像素時鐘PCLK,輸出8位數據,該系統設置每個攝像頭的像素輸出總大小為400×480,輸出格式設置為RGB565,即每個像素是16位,每2個字節組成一個像素的顏色,底字節在前,高字節在后,這樣每行輸出總共有400×2個像素時鐘,輸出400×2個字節。如圖6為DVP接口時序圖。

圖6 DVP接口時序圖

根據DVP時序圖編寫Verilog HDL程序,通過Modelsim仿真得到圖7圖像像素捕獲局部仿真圖,該圖并沒有仿真全部的像素而是人為設定了部分像素數據,主要目的是來驗證程序功能是否正常,其中Yaddr和Xaddr是行列計數器,在幀VSYNC為上升沿時都清零,當檢測到行HREF為上升沿時Xaddr加一,一行結束時清零的同時Yaddr加一,循環往復,直到一幀結束時都清零,該功能用于記錄當前的像素點幾何位置,方便其他模塊操作。當兩個8位數據拼接成16位數據時DATAVALID為高電平,表示可以取出當前像素值來傳輸給下一個功能模塊。根據仿真圖顯示程序功能達到了要求。

圖7 圖像像素捕獲局部仿真圖

2.2 數據存儲模塊邏輯設計

數據存儲模塊邏輯設計由兩個寫FIFO、兩個讀FIFO和SDRAM控制器模塊組成。其中兩個寫FIFO是用來緩存采集的兩個攝像頭數據,攝像頭的像素時鐘為FIFO的寫時鐘,這里為24 MHz,攝像頭的場信號作為FIFO的寫請求,這樣就保證了數據的采集緩存一致,不丟失數據。該系統設置寫入的FIFO數據長度超過256個時,就可以讀出寫FIFO數據,讀出的數據送入SDRAM控制器,再寫入SDRAM,讀取寫FIFO時鐘為100 MHz。讀FIFO的寫時鐘同樣為100 MHz,寫請求是當寫入的數據小于256時有效讀FIFO的讀請求由外部指定,讀時鐘和以太網發送時鐘同樣為25 MHz,保證數據同步操作,防止丟失數據。SDRAM控制器是用來完成SDRAM讀、寫等操作。

SDRAM上電后,系統處于空閑狀態,在上電初始化完成后進入刷新狀態,其上電初始化是來關閉SDRAM的BANK,使BANK處于空閑狀態并且加載SDRAM模式寄存器來確定讀和寫采用何種方式,該系統設置的突發長度為8、運行模式設置為標準模式、突發類型設置為順序、列選通潛伏期設置為2。刷新狀態如果有讀或寫請求到來,狀態將會轉移到相應的讀或寫狀態,其刷新狀態是為了保證存儲在SDRAM中的數據不丟失,刷新周期由定時器產生[5]。讀或寫狀態各自主要負責讀寫數據操作,整個狀態機中對刷新操作、寫數據操作、讀數據操作是有一個優先級的,也就是某兩個或多個操作請求同時到來時先執行哪個操作是有事先規定的,這里規定的優先級是刷新操作>寫操作>讀操作[8]。其狀態機轉移圖如圖8所示。

圖8 狀態機轉移圖

通過仿真得到SDRAM控制器模塊局部仿真圖,如圖9寫操作和圖10讀操作所示,對SDRAM的操作,是通過命令來控制的,命令由sdram_cs_n、sdram_ras_n、sdram_cas_n、sdram_we_n這四個控制信號組合成不同狀態來表示,同時地址總線sdram_addr和sdram_dqm總線作為輔助信號,提供與命令相對應的地址或者參數命令。使用的SDRAM仿真模型由鎂光官網提供。通過仿真圖可以看出突發長度為8并且寫入的指定某個地址數據與該地址讀出的數據相同,說明編寫的SDRAM控制器模塊功能是正確的。

圖9 SDRAM控制器寫操作局部仿真圖

圖10 SDRAM控制器讀操作局部仿真圖

2.3 以太網模塊邏輯設計

以太網模塊邏輯設計分以太網發送圖像控制邏輯和以太網傳輸數據邏輯,其中以太網發送圖像控制邏輯是用來從SDRAM中讀取圖像數據并寫入到以太網傳輸數據邏輯。以太網發送圖像控制邏輯以RTL8201芯片提供的25 MHz作為時鐘。首先進行上電或者是復位計數,該系統設定當計數到65 024時產生一次幀同步信號frame_sync,目的是清除SDRAM讀端口中的FIFO中的數據,保證從開始讀一行完整的圖像數據,之后計數到65 534時便使能圖像發送信號send_en,在該信號使能的條件下,判斷以太網傳輸數據邏輯中的雙時鐘異步FIFO是否有1 602個字節空間能夠存儲行號和圖像數據,如果沒有則繼續等待,如果有則對外部發出讀請求信號sdram_rdrep來讀取SDRAM數據,同時根據讀到的數據進行行列計數。當行hcnt計數到800時便從零開始重新計數,同時列vcnt自動加一,直到480列結束,也就是一幀的結束。每次根據行為零發送此刻的列數字作為行號,以便確定在二維平面中顯示的位置,循環往復之后的每一幀都是這種處理過程。如圖11所示為以太網發送圖像控制邏輯局部仿真圖,結果顯示達到了數據傳輸要求。

圖11 以太網發送圖像控制邏輯局部仿真圖

該系統的以太網傳輸數據邏輯是基于UDP/IP協議,雖然該協議是一種不可靠傳輸,即發送方只負責發送數據,對接收方是否正確的接收數據不關心,但是UDP實現起來簡單、靈活、傳輸數據快并且在視頻實時傳輸顯示中圖像數據僅僅顯示在屏幕上,可以接受一定程度的數據丟包。要實現用戶數據的傳輸,其核心是把各個層的數據相互封裝起來[7-10]。如圖12所示,應用層的用戶數據構成傳輸層的數據段,傳輸層的UDP報頭和數據段構成網絡層的數據段,網絡層的IP報頭和數據段構成數據鏈路層的數據段,數據鏈路層的MAC幀頭、數據段和幀校驗在物理層MII接口下實現數據的傳輸[6]。MII接口協議是在使能高電平條件下在每個時鐘上升沿傳輸4位數據,如圖13所示。

圖12 數據分層框圖

圖13 MII接口協議

以太網的MAC幀數據字段范圍一般在46到1 500字節,這與該系統每次傳輸1 602個字節不相符,這里解決的辦法是開通以太網的巨型幀,即可實現雙目圖像的傳輸。發送數據時,采用Wireshark工具進行抓包[9],如圖 14所示,測試系統與電腦完成連接,由圖14中可知,源MAC地址為(00:0a:35:01:fe:c0),源端口為 5000,源 IP為 192.168.0.2,目的端口為 6 000,目的 IP為169.254.67.8,UDP數據包中有1 602個字節。

圖14 Wireshark抓包圖

UDP發送模塊檢測到FIFO寫滿1 602個字節時,就將數據打包,通過MII接口總線發送給PHY芯片,PHY芯片再將數據通過網線發送至上位機來顯示。

首先需要發送的是MAC幀頭,即前導碼(7個55H)、幀開始符(D5H)、目的MAC地址、源MAC地址、類型與長度(0800H),其次是幀的數據字段,最后是幀的校驗序列。如圖15所示為以太網傳輸數據局部仿真圖,結果顯示達到了數據傳輸要求。

圖15 以太網傳輸數據局部仿真圖

3 結果與顯示

讀取SDRAM兩個讀FIFO的數據,就可以讀取到兩個攝像頭存儲在SDRAM中的圖像數據,該系統設置每個攝像頭的像素輸出大小為400×480,上位機設置分辨率為800×480,則需要讀取某個攝像頭某行數據后緊接著讀取另一攝像頭同一行數據傳給上位機,如此上位機某行順序顯示了兩個攝像頭同一行數據。系統以讀取讀FIFO的時鐘進行計數,當計數到400時變換讀請求,即可達到變換讀取圖像數據的目的,在發送給上位機每行數據之前需要發送兩個字節大小的行號,以輔助上位機在二維平面中顯示的位置。如圖16所示為單網口雙目圖像采集顯示實例。

圖16 雙目采集圖

4 結論

本文基于FPGA的以太網雙目圖像采集系統設計,完成了兩攝像頭的同步工作、并行運算數據的要求同時系統具有簡單可靠、資源占用少、擴展能力好的特點,可便于后續雙目視覺算法的研究與驗證。

猜你喜歡
系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
基于UG的發射箱自動化虛擬裝配系統開發
半沸制皂系統(下)
FAO系統特有功能分析及互聯互通探討
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統 德行天下
PLC在多段調速系統中的應用
主站蜘蛛池模板: 一区二区三区四区精品视频 | 欧美日本在线观看| 国产精品国产三级国产专业不| 午夜性刺激在线观看免费| 欧亚日韩Av| 国产情侣一区二区三区| 亚洲综合久久一本伊一区| 欧美日韩国产在线人成app| 久久久久免费看成人影片 | 人妻21p大胆| 国产成人凹凸视频在线| 久久影院一区二区h| 在线亚洲精品自拍| 91丨九色丨首页在线播放 | 国产av无码日韩av无码网站| 精品综合久久久久久97超人该| 亚洲人成影院午夜网站| 欧洲极品无码一区二区三区| 成人在线不卡视频| 久久精品91麻豆| 欧美日韩动态图| 欧美色图第一页| 欧美日韩精品综合在线一区| 免费看a级毛片| 婷婷亚洲最大| 亚洲av日韩av制服丝袜| 综合色区亚洲熟妇在线| 国产女同自拍视频| 国产精品99久久久久久董美香| 国产视频一二三区| 久精品色妇丰满人妻| 国产精品无码一区二区桃花视频| 日本久久网站| 国产亚洲日韩av在线| 亚洲第一中文字幕| 99精品伊人久久久大香线蕉| 99精品视频播放| 91精品免费久久久| 99ri精品视频在线观看播放| 欧美久久网| 欧美日韩第二页| 女人18毛片一级毛片在线 | 国产三区二区| 亚洲国产日韩欧美在线| 色噜噜综合网| 国产男女免费完整版视频| 中国丰满人妻无码束缚啪啪| 亚洲精品中文字幕无乱码| 国产成人欧美| 欧美午夜一区| 国产精女同一区二区三区久| 丰满人妻一区二区三区视频| 国产区免费精品视频| 思思热在线视频精品| 99久久精品免费看国产免费软件| 99久久国产综合精品2020| 国产成人一二三| 亚洲经典在线中文字幕| 久久一日本道色综合久久| 超清无码一区二区三区| 欧美在线一二区| 国产中文在线亚洲精品官网| 日韩在线观看网站| 日韩人妻无码制服丝袜视频| 日韩无码精品人妻| 777国产精品永久免费观看| 中文字幕av一区二区三区欲色| 亚洲成a人片77777在线播放 | 免费看久久精品99| 在线观看无码av免费不卡网站 | 鲁鲁鲁爽爽爽在线视频观看| 日本欧美午夜| 久久综合干| 青青草国产在线视频| 1024国产在线| 99尹人香蕉国产免费天天拍| 国产精品欧美日本韩免费一区二区三区不卡| 最新午夜男女福利片视频| 播五月综合| 国产精品九九视频| 三上悠亚在线精品二区| 婷婷中文在线|