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

基于STM32的圖像采集與網(wǎng)絡(luò)傳輸系統(tǒng)設(shè)計

2021-01-11 10:12:46姜艷茹孟令軍尚椏朝
自動化與儀表 2020年12期
關(guān)鍵詞:系統(tǒng)

姜艷茹,孟令軍,尚椏朝,李 巖

(中北大學(xué) 儀器與電子學(xué)院,太原030051)

近年來芯片制造工藝和技術(shù)不斷提升,微控制器的性能越來越強、功耗越來越低,進一步促進了嵌入式技術(shù)的發(fā)展[1]。隨著網(wǎng)絡(luò)的迅猛發(fā)展,具有網(wǎng)絡(luò)功能的嵌入式設(shè)備擁有更高的使用價值和更強的通用性。網(wǎng)絡(luò)數(shù)據(jù)傳輸具有傳輸數(shù)據(jù)保密性高、抗電磁干擾能力極強、傳輸數(shù)據(jù)容量大、硬件開銷小等自身優(yōu)勢[2],滿足視頻傳輸?shù)囊螅瑥V泛應(yīng)用于智能家居、工業(yè)控制、安防及城市交通管理等領(lǐng)域。

文獻[3]提出一種基于GPRS 的實時圖像傳輸方法,該系統(tǒng)將傳感器技術(shù)、GPRS 技術(shù)以及嵌入式技術(shù)集成,對硬件設(shè)備和服務(wù)器終端進行了詳細的概述。該系統(tǒng)雖然效率較高,但是實現(xiàn)的過程比較繁瑣。文獻[4]提出一種基于樹莓派的無線WiFi 傳輸方法,對系統(tǒng)實現(xiàn)的關(guān)鍵技術(shù)進行分析,在原有的視頻流傳輸方法的基礎(chǔ)上進行了改進,最后對系統(tǒng)測試進行討論。該方法圖像傳輸?shù)膶崟r性好,但是系統(tǒng)設(shè)計成本略高。

本文針對上述產(chǎn)生的問題,設(shè)計了一款基于STM32 的圖像采集與網(wǎng)絡(luò)傳輸系統(tǒng),以STM32F429為主控芯片,UCOS-II 操作系統(tǒng)為基礎(chǔ),采用LwIP協(xié)議棧作為客戶端與服務(wù)器的通信協(xié)議,提高系統(tǒng)性能。該設(shè)計不僅開發(fā)成本低、可以連接網(wǎng)絡(luò),還具有可移植性強和可維護性好的特點,可為網(wǎng)絡(luò)圖像傳輸或其他相關(guān)系統(tǒng)的開發(fā)提供一種參考方式。

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

本系統(tǒng)的設(shè)計思路為以Cortex-M4 為內(nèi)核的STM32F429 作為控制核心,利用OV2640 作為圖像采集模塊,與STM32F429 的數(shù)字攝像頭(DCMI)接口連接接收圖像數(shù)據(jù)[5],然后通過直接存儲器訪問(DMA)外設(shè)傳輸圖像數(shù)據(jù)到內(nèi)部SRAM,再利用可變存儲控制器(FMC)外設(shè)把數(shù)據(jù)拷貝到外部SDRAM緩存,以太網(wǎng)(ETH)外設(shè)與外部芯片LAN8720A 以RMII 接口連接,進行數(shù)據(jù)傳輸。通過LwIP 協(xié)議棧實現(xiàn)開發(fā)板與PC 端間網(wǎng)絡(luò)通信,把圖像數(shù)據(jù)從SDRAM 傳輸?shù)絇C 端,PC 端將數(shù)據(jù)解碼實時顯示出來。系統(tǒng)結(jié)構(gòu)框圖如圖1 所示。

圖1 系統(tǒng)結(jié)構(gòu)框圖Fig.1 System structure block diagram

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

2.1 OV2640 攝像頭模塊

OV2640 是由OV 公司生產(chǎn)的一款CMOS 類型數(shù)字圖像傳感器,該傳感器支持輸出最大為200 萬像素的圖像(1600×1200 分辨率),自帶壓縮引擎,可以直接輸出壓縮后的JPEG 數(shù)據(jù),使得在保證圖像質(zhì)量的前提下,盡可能減少圖像數(shù)據(jù)的大小[6],減少圖像的傳輸時間。OV2640 攝像頭電路如圖2 所示,24 MHz 有源晶振為OV2640 提供系統(tǒng)時鐘,穩(wěn)壓芯片為OV2640 提供所需的穩(wěn)定電壓。

圖2 OV2640 攝像頭電路Fig.2 OV2640 camera circuit

STM32F429 與OV2640 以DCMI 接口連接。STM32F429 首先通過SCCB 接口的SCL 和SDA 配置OV2640 的寄存器進行初始化。數(shù)據(jù)采集時使用8 根數(shù)據(jù)線,通過設(shè)置DCMI_CR 寄存器的EDM[1:0]=00,使得D[0:7]有效,使用HSYNC 和HREF作為同步信號。當輸出JPEG 格式數(shù)據(jù)時,PCLK 的數(shù)目大大減少,且不連續(xù),數(shù)據(jù)以0XFF,0XD8 開頭,0XFF,0XD9 結(jié)尾[7]。

2.2 外部SDRAM

本系統(tǒng)將SDRAM 作為外部存儲器,將圖像數(shù)據(jù)暫存到SDRAM,然后通過網(wǎng)絡(luò)發(fā)送到PC 端。STM32F429 利用FMC 外設(shè)來驅(qū)動SDRAM 這樣的動態(tài)存儲器,連接電路如圖3 所示,主要是地址線和數(shù)據(jù)線。V

圖3 SDRAM 連接圖Fig.3 SDRAM connection diagram

SDRAM 上電后先進行初始化,初始化完成后,通過映射的地址直接訪問SDRAM,地址范圍為0xC0000000-0xDFFFFFFF。在程序中,定義一個指向上述地址的指針,當需要對該存儲單元讀寫時通過指針直接訪問,F(xiàn)MC 外設(shè)會自動完成數(shù)據(jù)讀寫過程,無需其他操作。

2.3 以太網(wǎng)通信模塊

以太網(wǎng)接口電路如圖4 所示,STM32F429 通過RMII 接口與外部芯片LAN8720A 連接,以實現(xiàn)介質(zhì)訪問控制層與物理層的數(shù)據(jù)傳輸。LAN8720A 芯片引腳數(shù)目少,擁有1.2 V 內(nèi)置穩(wěn)壓源,是低功耗10/100 M以太網(wǎng)物理收發(fā)器[8]。

RMII 接口方式在保持物理層器件現(xiàn)有特性的前提下減少了PHY 的連接引腳[9],引腳如下。RMII_REF_CLK 為50 MHz 參考時鐘信號,LAN8720A內(nèi)部集成PLL,可將25 MHz 時鐘源倍頻到50 MHz并指定到該引腳;RMII_CRS_DV 為偵聽載波信號與接收數(shù)據(jù)有效信號的整合信號,由LAN8720A 驅(qū)動;RMII_TXD[1:0]和RMII_RXD[1:0]為發(fā)送接收數(shù)據(jù)線。ETH_MDIO 和ETH_MDC 組成MAC 內(nèi)核訪問PHY 寄存器的標志接口,向寄存器寫入數(shù)據(jù)或讀取狀態(tài),最大通信頻率為2.5 MHz。數(shù)據(jù)幀格式如表1 所示,第一個PADDR 用于指定PHY 地址,第二個RADDR 用于指定PHY 寄存器地址,TA 為狀態(tài)轉(zhuǎn)換域,數(shù)據(jù)段有16 位,對應(yīng)PHY 寄存器每個位,先發(fā)送或接收到的位對應(yīng)以太網(wǎng)MAC MII 數(shù)據(jù)寄存器(ETH_MACMIIDR)寄存器的位15。

圖4 以太網(wǎng)接口電路Fig.4 Ethernet interface circuit

表1 數(shù)據(jù)幀格式Tab.1 Data frame format

3 系統(tǒng)軟件設(shè)計

本系統(tǒng)軟件部分以UCOS-II 操作系統(tǒng)為基礎(chǔ),移植了LwIP 協(xié)議棧,在系統(tǒng)的調(diào)度下,初始化OV2640,采集圖像數(shù)據(jù),使用DMA 雙緩存機制接收圖像數(shù)據(jù)到SRAM,再通過地址訪問寫入外部SDRAM,利用LwIP 協(xié)議棧,實現(xiàn)STM32F429 與PC 端之間網(wǎng)絡(luò)通信,把圖像數(shù)據(jù)上傳到PC 客戶端顯示[10]。UCOS-II操作系統(tǒng)是一個可固化、可移植、可剪裁的占先式實時多任務(wù)內(nèi)核,特別適合于微處理器和控制器[11]。將UCOS-II 操作系統(tǒng)移植進STM32F429,進行裁減配置,使之能夠正常運行。

3.1 數(shù)據(jù)接收

STM32F429 接收數(shù)據(jù)時采用DMA 雙緩沖機制。OV2640 攝像頭與DCMI 接口連接,通過數(shù)據(jù)線D[0:7]傳輸JPEG 數(shù)據(jù)流,然后通過DMA 進行傳輸。DCMI_CR 寄存器中的CAPTURE 位置1 時,激活DMA 接口。netcam_blk_buf0(內(nèi)存1)和netcam_blk_buf1(內(nèi)存2)作為DMA 的兩個緩沖區(qū),大小為NETCAM_BLK_SIZE*4 個字節(jié),交替存儲JPEG 數(shù)據(jù)流,如圖5 所示。netcam_blk_buf0 和netcam_blk_buf1 所指向的內(nèi)存,必須是內(nèi)部內(nèi)存,程序中利用內(nèi)存管理為這兩個指針在內(nèi)部SRAM 中分配內(nèi)存。

圖5 DMA 雙緩存接收流程Fig.5 DMA double buffer receiving process

考慮到網(wǎng)絡(luò)速度可能會跟不上攝像頭的數(shù)據(jù)輸出速度,導(dǎo)致圖片顯示錯誤。針對此問題,本系統(tǒng)將數(shù)據(jù)先放在指針數(shù)組netcambuf 中,大小為NETCAM_BUF_NUM 個緩沖區(qū),每個緩沖區(qū)NETCAM_BLK_SIZE*4 個字節(jié),利用readdpos 和writedpos 記錄當前的讀寫位置,如圖6 所示。netcambuf 利用內(nèi)存分配函數(shù)為其在外部SDRAM 中分配內(nèi)存。DMA傳輸完成中斷后,在中斷函數(shù)中將netcam_blk_buf 里面的數(shù)據(jù),存儲到netcambuf 里。然后ETH 外設(shè)將netcambuf 里的數(shù)據(jù)通過RMII 接口的發(fā)送數(shù)據(jù)線傳輸給LAN8720A,最后通過網(wǎng)口傳輸數(shù)據(jù)到PC 端。

圖6 指針數(shù)組cambufFig.6 Pointer array cambuf

3.2 LwIP 協(xié)議棧

UCOS-II 只是一個實時的任務(wù)調(diào)度及通信內(nèi)核,缺少對網(wǎng)絡(luò)協(xié)議的支持,需要將LwIP 移植到UCOS-II 上,使其支持網(wǎng)絡(luò)功能[12]。LwIP 是一個小型的網(wǎng)絡(luò)協(xié)議棧,使用靈活,提供了多種常用的的協(xié)議,這些功能可以通過lwippopts.h 中的宏定義來決定功能的啟用或者禁用[13]。LwIP 在UCOS-II 系統(tǒng)中的結(jié)構(gòu)如圖7 所示。應(yīng)用程序?qū)硬捎脴藴蕁etconn接口函數(shù)與上層交互;硬件驅(qū)動層根據(jù)驅(qū)動不同實現(xiàn)函數(shù)編寫,是移植LwIP 的重點。移植時跟硬件密切相關(guān)的為以下三個函數(shù):Low_level_init()函數(shù)主要完成實際對硬件的初始化設(shè)置;Low_level_output()函數(shù)用于發(fā)送數(shù)據(jù),將LwIP 協(xié)議棧Pbuf 緩沖區(qū)中的數(shù)據(jù)拷貝到DMA 發(fā)送數(shù)據(jù)緩存區(qū),通過網(wǎng)卡發(fā)送出去;Low_level_input()函數(shù)用于接收數(shù)據(jù),從網(wǎng)卡中提取數(shù)據(jù),將DMA 緩沖區(qū)中數(shù)據(jù)拷貝到Pbuf結(jié)構(gòu)體中,然后將Pbuf 返回[14]。

圖7 LwIP 在UCOS-II 系統(tǒng)中的結(jié)構(gòu)Fig.7 Structure of LwIP in UCOS-II system

本系統(tǒng)采用LwIP 作為STM32F429 與PC 端上位機通訊的協(xié)議,移植時,NO_SYS 設(shè)置為0,使用UCOS 操作系統(tǒng),這有利于提高整體性能。同時使用NETCONN 的TCP 接口方式,在頭文件中把LWIP_NETCONN 與LWIP_TCP 設(shè)置為1,從而啟動TCP協(xié)議。STM32F429 作為服務(wù)器,PC 端作為客戶端,傳輸流程如圖8 所示。用戶可以用網(wǎng)線連接路由器,或者直接用網(wǎng)線連接電腦的網(wǎng)口。上位機界面配置好端口和地址點擊連接,連接成功,即可發(fā)送數(shù)據(jù)流到PC 端上位機顯示。

圖8 網(wǎng)絡(luò)傳輸流程Fig.8 Network transmission flow chart

3.3 邏輯設(shè)計

本系統(tǒng)的整體運行順序如圖9 所示,系統(tǒng)啟動后,初始化LwIP,包括:初始化LAN8720A、申請內(nèi)存、添加并打開網(wǎng)卡,然后初始化UCOS 操作系統(tǒng),創(chuàng)建兩個任務(wù):圖像采集傳輸任務(wù)、DHCP 處理任務(wù)。

圖9 主程序流程Fig.9 Main program flow chart

圖像采集任務(wù)中,初始化OV2640,通過SCCB總線配置內(nèi)部寄存器使其輸出JPEG 格式的圖像數(shù)據(jù),等待主機連接,連接成功,啟動數(shù)據(jù)傳輸,發(fā)送數(shù)據(jù)到PC 端,之后若是斷開連接,釋放內(nèi)存,關(guān)閉傳輸。DHCP 處理任務(wù)中,開啟DHCP 服務(wù),然后等待DHCP 獲取IP 成功,如果DHCP 獲取失敗,將使用靜態(tài)IP(固定為:192.168.1.20),端口號固定為:8088,最后將IP 信息打印到串口顯示。然后把任務(wù)交由任務(wù)管理器,由任務(wù)調(diào)度管理,這樣便可實現(xiàn)在不同的任務(wù)之間來回調(diào)度,實現(xiàn)多任務(wù)同時進行[15]。

4 實驗及結(jié)果

系統(tǒng)連接成功,編譯程序下載到開發(fā)版,用網(wǎng)線連接開發(fā)板與電腦,電腦端IP 設(shè)置為與開發(fā)板IP 在同一網(wǎng)段,采用Windows 的ping 指令進行網(wǎng)絡(luò)測試,檢測通訊是否正常及丟包率情況,測試結(jié)果如圖10 所示,網(wǎng)絡(luò)功能正常。網(wǎng)絡(luò)測試正常后,在PC 端的上位機界面輸入串口顯示的服務(wù)器IP 地址和端口號,點擊啟動,就會顯示采集到的圖像,如圖11 所示。實測最大可以傳輸1600×1200 的圖像,幀率15 fps 左右,傳輸平均速率達到2 Mbit/s,視頻流暢,運行穩(wěn)定。

圖10 網(wǎng)絡(luò)測試結(jié)果Fig.10 Network test results

圖11 圖像顯示Fig.11 Image display

5 結(jié)語

本文基于STM32F429、OV2640 及LAN8720A等硬件設(shè)計實現(xiàn)了一款圖像采集與網(wǎng)絡(luò)傳輸系統(tǒng),分析了系統(tǒng)的硬件和軟件設(shè)計,并通過圖像顯示結(jié)果很好的驗證了系統(tǒng)的性能。該系統(tǒng)功耗低、體積小巧、性能穩(wěn)定可靠、成本低廉,還可以用于構(gòu)成復(fù)雜的傳輸網(wǎng)絡(luò),同時具有良好的可移植性和可維護性,對多種視頻傳輸?shù)雀囝I(lǐng)域的應(yīng)用與研究具有很好的價值。

猜你喜歡
系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統(tǒng)
基于UG的發(fā)射箱自動化虛擬裝配系統(tǒng)開發(fā)
半沸制皂系統(tǒng)(下)
FAO系統(tǒng)特有功能分析及互聯(lián)互通探討
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統(tǒng) 德行天下
PLC在多段調(diào)速系統(tǒng)中的應(yīng)用
主站蜘蛛池模板: 国产高清免费午夜在线视频| 青草91视频免费观看| 国产精品专区第1页| 尤物成AV人片在线观看| 成人一区在线| 日韩在线第三页| 亚洲日产2021三区在线| 亚洲第一成网站| 亚洲熟女偷拍| 亚洲福利视频一区二区| 国产精品亚洲αv天堂无码| 国产精品13页| 999国产精品永久免费视频精品久久 | 欧洲av毛片| 久久精品无码专区免费| 亚洲人网站| 99热国产这里只有精品无卡顿"| 国产日韩欧美精品区性色| 免费毛片视频| 狠狠做深爱婷婷久久一区| 一级毛片不卡片免费观看| 亚洲美女一区| 女同国产精品一区二区| 国产精品性| 日本午夜影院| 国产精品粉嫩| 男人天堂亚洲天堂| 极品av一区二区| 中国精品自拍| 91在线激情在线观看| 久久综合激情网| 依依成人精品无v国产| 日本a∨在线观看| 欧美a网站| 国产一区三区二区中文在线| 欧洲日本亚洲中文字幕| 亚洲欧美激情小说另类| 成人亚洲天堂| 日韩国产黄色网站| 99久久精品国产自免费| 毛片视频网址| 亚洲va在线∨a天堂va欧美va| 在线观看精品国产入口| 日韩AV手机在线观看蜜芽| 五月天福利视频 | 奇米影视狠狠精品7777| 在线观看精品国产入口| 白浆视频在线观看| 亚洲欧美另类久久久精品播放的| 日韩天堂网| 国产成人一级| 九九精品在线观看| 老色鬼久久亚洲AV综合| 亚洲天堂日韩av电影| 美女国内精品自产拍在线播放| 亚洲精品少妇熟女| 久久亚洲欧美综合| 婷婷中文在线| 久久久久久尹人网香蕉 | a色毛片免费视频| 久久国产成人精品国产成人亚洲 | 最新国产成人剧情在线播放| 亚洲码在线中文在线观看| 久久中文字幕2021精品| a毛片免费看| 亚洲天堂网在线播放| 国产永久在线视频| 成人在线天堂| 国产麻豆另类AV| 亚洲精品第一页不卡| 免费高清毛片| 午夜激情福利视频| 亚洲一区无码在线| 国产在线观看91精品| 日本黄色不卡视频| 亚洲欧美一区二区三区麻豆| 一级福利视频| 国产精品播放| 久热这里只有精品6| 久久国产V一级毛多内射| 伊人无码视屏| 国产AV无码专区亚洲A∨毛片|