• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于STM32的以太網(wǎng)網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)

    2017-08-11 13:12:17方立軍陳衛(wèi)松章良玉王康景
    無(wú)線電通信技術(shù) 2017年5期
    關(guān)鍵詞:線程攝像頭傳輸

    方立軍,陳衛(wèi)松,章良玉,王康景

    (安徽師范大學(xué) 物理與電子信息學(xué)院,安徽 蕪湖 241000)

    ?

    基于STM32的以太網(wǎng)網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)

    方立軍,陳衛(wèi)松,章良玉,王康景

    (安徽師范大學(xué) 物理與電子信息學(xué)院,安徽 蕪湖 241000)

    基于STM32F407芯片、LAN8720A模塊以及OV2640攝像頭模塊,設(shè)計(jì)了一種以太網(wǎng)網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)。該視頻監(jiān)控系統(tǒng)使用UCOS-Ⅱ系統(tǒng),以及LwIP協(xié)議棧,利用OV2640攝像頭模塊采集數(shù)據(jù)。在UCOS-Ⅱ系統(tǒng)的調(diào)度下,使用LwIP協(xié)議棧,利用TCP/IP協(xié)議,將采集到的數(shù)據(jù)上傳到PC客戶端,PC端能夠?qū)崟r(shí)地監(jiān)控。相比ZigBee傳輸技術(shù)而言,利用網(wǎng)絡(luò)傳輸可大幅度提高數(shù)據(jù)傳輸?shù)膸?,可以?shí)現(xiàn)監(jiān)控視頻的實(shí)時(shí)傳輸以及高清畫(huà)面的傳輸。

    以太網(wǎng);視頻監(jiān)控;STM32

    0 引言

    視頻監(jiān)控在我國(guó)的發(fā)展已有20多年的歷史,經(jīng)歷了3個(gè)時(shí)代。第一代:模擬時(shí)代,視頻以模擬信號(hào)方式使用同軸電纜進(jìn)行傳輸,并進(jìn)行模擬處理;第二代:半數(shù)字時(shí)代,視頻以模擬信號(hào)的方式進(jìn)行傳輸,由數(shù)字存貯器進(jìn)行存儲(chǔ);第三代:全數(shù)字時(shí)代,視頻從前端圖像采集設(shè)備輸出時(shí)即轉(zhuǎn)換為數(shù)字信號(hào),并以網(wǎng)絡(luò)為傳輸媒介,基于TCP/IP協(xié)議,采用流媒體技術(shù)實(shí)現(xiàn)視頻在網(wǎng)上的多路復(fù)用傳輸[1]。網(wǎng)絡(luò)視頻監(jiān)控有很大的應(yīng)用前景,在樓宇的視頻監(jiān)控及道路交通的實(shí)時(shí)監(jiān)控方面得到廣泛的應(yīng)用[2]。

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

    1.1 系統(tǒng)構(gòu)成

    本遠(yuǎn)程監(jiān)控系統(tǒng)利用OV2640攝像頭模塊采集模擬圖像信息后,將其轉(zhuǎn)化為數(shù)字圖像信息,得到數(shù)字圖像信息后,經(jīng)過(guò)壓縮將圖像信息輸出。壓縮算法是采用OV2640內(nèi)部硬件壓縮,通過(guò)配置寄存器使輸出的格式為JPEG格式,采用ST公司的嵌入式處理芯片STM32F407芯片,以UCOS-II操作系統(tǒng)為基礎(chǔ)對(duì)圖像進(jìn)行傳輸。其中網(wǎng)絡(luò)協(xié)議是利用LwIP協(xié)議棧將圖像信息上傳,它是將TCP-IP協(xié)議寫(xiě)成了完整的協(xié)議棧,提供給用戶使用。對(duì)于不同的處理器,只需將其裁剪配置成適合處理器的格式,然后通過(guò)路由器將數(shù)據(jù)轉(zhuǎn)發(fā)至電腦客戶端,電腦客戶端將數(shù)據(jù)解碼成圖像信息圖并顯示出來(lái)[3]。該系統(tǒng)可以在多個(gè)電腦終端同時(shí)運(yùn)行,實(shí)現(xiàn)實(shí)時(shí)傳輸,系統(tǒng)的基本邏輯框圖如圖1所示。

    圖1 系統(tǒng)的基本邏輯

    1.2 硬件電路結(jié)構(gòu)及工作原理

    1.2.1 STM32F4最小系統(tǒng)

    本文采用當(dāng)前用途最廣泛,使用頻率最高的處理器——ST公司的STM32F4系列。區(qū)別于其他文章中的所用的處理器,也是這篇文章特色之一。STM32F4系列是基于高性能的ARM?CortexTM-M4F的32位RISC內(nèi)核,工作頻率高達(dá)168 MHz。Cortex-M4F核心功能支持所有ARM單精度數(shù)據(jù)處理指令和數(shù)據(jù)類(lèi)型的單精度浮點(diǎn)單元(FPU)。它還實(shí)現(xiàn)了一套完整的DSP指令和內(nèi)存保護(hù)單元(MPU),從而提高應(yīng)用程序的安全性。此外,STM32F4還具有DCMI數(shù)字?jǐn)z像頭接口,此接口正是為了方便處理數(shù)字?jǐn)z像頭數(shù)據(jù)而設(shè)置的,基于以上優(yōu)點(diǎn)本文選擇STM32F4作為核心處理器[4]。

    1.2.2 OV2640攝像頭模塊

    OV2640模塊具有完善的圖像采集功能,具有200萬(wàn)的像素圖像采集清晰,攝像頭通過(guò)SCCB總線可對(duì)內(nèi)部的寄存器進(jìn)行配置,通常情況下采用RGB格式的輸出,但RGB格式的輸出要達(dá)到上百KB,采用對(duì)攝像頭寄存器配置,使其輸出的圖像為JPEG格式。分辨率為1 600*1 200 bit,數(shù)據(jù)大小為2~3 KB,以15 fps的速率傳輸,數(shù)據(jù)量為30~45 KB, STM32F407系列具有高速嵌入式存儲(chǔ)器(多達(dá)1 MB閃存,高達(dá)192 KB的SRAM),完全能夠?qū)崿F(xiàn)數(shù)據(jù)的存儲(chǔ)和處理,數(shù)據(jù)的壓縮量也相當(dāng)大[5]。

    為了保證攝像頭輸出數(shù)據(jù)的正確性,需要對(duì)攝像頭寄存器進(jìn)行操作,利用SCCB總線,將數(shù)據(jù)寫(xiě)入到攝像頭中,當(dāng)SCL為高電平期間SDA拉低,SCCB總線開(kāi)始工作傳輸數(shù)據(jù),當(dāng)SDA高電平期間SCL拉低,表示數(shù)據(jù)寫(xiě)入完成結(jié)束數(shù)據(jù)傳輸,其時(shí)序圖如圖2所示[6]。

    圖2 SCCB時(shí)序圖

    攝像頭輸出時(shí)序如圖3所示,圖中VSYNC由低電平轉(zhuǎn)變到高電平時(shí),標(biāo)志著一幀數(shù)據(jù)的開(kāi)始,在HREF為高電平時(shí),便可以接收有效的數(shù)據(jù)[7]。一幀數(shù)據(jù)為1 600*1 200 bit,采用邊沿檢測(cè)以及同步計(jì)數(shù)的方法便可以接收完整的視頻圖像數(shù)據(jù)。

    圖3 攝像頭輸出時(shí)序圖

    1.2.3 LAN8720A模塊

    LAN8720A具有高性能、小尺寸、低功耗的特點(diǎn)。10BASE-T / 100BASE-TX專(zhuān)門(mén)為當(dāng)今消費(fèi)電子產(chǎn)品、工業(yè)和企業(yè)應(yīng)用而設(shè)計(jì)的收發(fā)器,模塊使用25 MHz晶振。LAN8720A通過(guò)可變電壓的RMII標(biāo)準(zhǔn)數(shù)字接口連接到MAC層和STM32F407進(jìn)行數(shù)據(jù)交互,另一端通過(guò)變壓器和RJ45相連,連接到路由器上[8]。其結(jié)構(gòu)如圖4所示。

    圖4 LAN8720A模塊框圖

    2 系統(tǒng)軟件設(shè)計(jì)

    2.1 系統(tǒng)軟件總體結(jié)構(gòu)

    系統(tǒng)的總體架構(gòu)路線,如圖5所示。 當(dāng)硬件的初始化完成開(kāi)啟了UCOS系統(tǒng)開(kāi)始運(yùn)行,系統(tǒng)有2個(gè)線程任務(wù),一個(gè)是數(shù)據(jù)圖像采集,還有一個(gè)數(shù)據(jù)傳送的任務(wù)。

    當(dāng)攝像頭采集到一幀圖像信息并產(chǎn)生中斷時(shí),在中斷服務(wù)函數(shù)中將DMA停止掉,防止數(shù)據(jù)過(guò)多產(chǎn)生堆積,將采集的數(shù)據(jù)傳輸?shù)絻?nèi)存中,判斷所采集的數(shù)據(jù)壓縮方法是否正確,如果正確就通過(guò)TCP服務(wù)器發(fā)送到路由器,這樣一幀數(shù)據(jù)就發(fā)送完成,繼續(xù)采集下一幀數(shù)據(jù)。2個(gè)任務(wù)在系統(tǒng)的支持下來(lái)回調(diào)度[9]。主函數(shù)如下:

    Intmain()

    {

    GPIO_Configuration();∥ I/O口初始化

    NVIC_Configuration(); ∥中斷向量表初始化

    Ethernet_Configuration(); ∥網(wǎng)卡初始化

    if(OV2640_Init()) ∥攝像頭初始化是否成功

    { printf("OV2640 ERR! ");

    OV2640_FLAG=0;

    }

    else

    { printf("OV2640 OK! ");

    OV2640_FLAG=1;

    }

    Video_init(); ∥圖像傳輸初始化

    OSInit(); ∥操作系統(tǒng)初始化

    LWIP_Init(); ∥協(xié)議棧初始化

    tcp_server_init();∥ TCP服務(wù)器初始化

    OSStart(); ∥系統(tǒng)開(kāi)始運(yùn)行

    }

    2.2 UCOS-II系統(tǒng)設(shè)計(jì)

    UCOS-II是一個(gè)實(shí)時(shí)操作系統(tǒng)內(nèi)核,它僅僅包含了任務(wù)調(diào)度、任務(wù)管理、時(shí)間管理、內(nèi)存管理以及任務(wù)間的通信和同步等基本功能。將UCOS-II移植進(jìn)入STM32F407,進(jìn)行裁剪配置,使之能夠正常運(yùn)行[10]。系統(tǒng)的操作流程如圖6所示,首先對(duì)系統(tǒng)的所有變量初始化,然后便可創(chuàng)建任務(wù),可以同時(shí)創(chuàng)建多個(gè)任務(wù),交由任務(wù)管理器。再在此基礎(chǔ)上,創(chuàng)建OV2460處理線程、video線程、AT指令線程、AT指令處理線程和TCP服務(wù)器線程,由任務(wù)調(diào)度管理,這樣便可實(shí)現(xiàn)在不同的任務(wù)之間來(lái)回調(diào)度,實(shí)現(xiàn)多任務(wù)同時(shí)進(jìn)行[11]。本系統(tǒng)設(shè)計(jì)中創(chuàng)建的5個(gè)任務(wù)分別為:

    OSTaskCreate(tcp_ov2640_thread,(void*)0,(OS_STK*)&TCP_OV2640_TASK_STK[TCP_OV2640_STK_SIZE-1],TCP_OV2640_PRIO);∥創(chuàng)建OV2460處理線程

    OSTaskCreate(tcp_video_thread,(void*)0,(OS_STK*)&TCP_VIDEO_TASK_STK[TCP_VIDEO_STK_SIZE-1],TCP_VIDEO_PRIO);∥創(chuàng)建video線程

    OSTaskCreate(tcp_at_thread,(void*)0,(OS_STK*)&TCP_AT_TASK_STK[TCP_AT_STK_SIZE-1],TCP_AT_PRIO);∥創(chuàng)建AT指令線程

    OSTaskCreate(at_deal_thread,(void*)0,(OS_STK*)&AT_DEAL_TASK_STK[AT_DEAL_STK_SIZE-1],AT_DEAL_PRIO); ∥創(chuàng)建AT指令處理線程

    OSTaskCreate(tcp_server_thread,(void*)0,(OS_STK*)&TCPSERVER_TASK_STK[TCPSERVER_STK_SIZE-1],TCPSERVER_PRIO); ∥創(chuàng)建TCP服務(wù)器線程

    其中創(chuàng)建OV2460處理線程是為了獲得攝像頭采集的圖像信號(hào),創(chuàng)建video線程是為了將采集的圖像信號(hào)通過(guò)DMA傳輸?shù)教幚砥鲀?nèi)部進(jìn)行處理,創(chuàng)建AT指令線程是為了檢測(cè)上位機(jī)發(fā)送過(guò)來(lái)的AT指令,AT指令處理線程將檢測(cè)到的AT指令轉(zhuǎn)換為系統(tǒng)的響應(yīng),最后TCP服務(wù)器線程是完成圖像信息的網(wǎng)絡(luò)傳輸[12]。

    圖6 UCOS-II系統(tǒng)框圖

    2.3 LwIP協(xié)議棧的使用

    LwIP是Light Weight (輕型)IP協(xié)議,有無(wú)操作系統(tǒng)的支持都可以運(yùn)行。LwIP 實(shí)現(xiàn)的重點(diǎn)是在保持TCP協(xié)議主要功能的基礎(chǔ)上減少對(duì)RAM 的占用,它只需十幾KB的RAM和40 KB左右的ROM就可以運(yùn)行,這使LwIP協(xié)議棧適合在低端的嵌入式系統(tǒng)中使用。LwIP協(xié)議棧主要關(guān)注的是怎么樣減少內(nèi)存的使用和代碼的大小,這樣就可以讓LwIP適用于資源有限的小型平臺(tái)例如嵌入式系統(tǒng)[13]。為了簡(jiǎn)化處理過(guò)程和內(nèi)存要求,LwIP對(duì)API進(jìn)行直接裁減,可以不需要復(fù)制一些數(shù)據(jù),丟棄一些無(wú)用的設(shè)置。完成對(duì)協(xié)議棧的配置就可以正常使用TCP服務(wù)器協(xié)議,將獲得的數(shù)據(jù)上傳[14]。

    3 網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)檢測(cè)

    將系統(tǒng)連接完成,程序編譯完成燒錄到開(kāi)發(fā)板中,進(jìn)行系統(tǒng)仿真,確保系統(tǒng)運(yùn)行成功,打開(kāi)電腦的上位機(jī)界面[15],輸入服務(wù)器的IP地址,在路由器設(shè)置的界面查看出開(kāi)發(fā)板的IP地址,本設(shè)計(jì)中的IP地址為192.168.2.101,端口號(hào)設(shè)置為5050,點(diǎn)擊連接,點(diǎn)擊獲取視頻,上位機(jī)就會(huì)顯示所采集的圖片信息,所獲取的像素為200萬(wàn)像素,清晰度高,沒(méi)有延時(shí)。系統(tǒng)運(yùn)行穩(wěn)定,出現(xiàn)如圖7所示的界面。

    圖7 實(shí)物演示

    經(jīng)過(guò)測(cè)試運(yùn)行,所設(shè)計(jì)的系統(tǒng)具有如下的特點(diǎn):第一,網(wǎng)絡(luò)視頻監(jiān)控對(duì)比傳統(tǒng)的視頻監(jiān)控具有靈活性和異地性,即可以隨時(shí)隨地監(jiān)控任何一個(gè)地方;第二,視頻所占用的網(wǎng)絡(luò)帶寬較小,僅為30~45 KB/s,為單片機(jī)處理數(shù)據(jù)減輕的負(fù)荷;第三,比較于傳統(tǒng)的模擬攝像頭監(jiān)控系統(tǒng)而言,數(shù)字?jǐn)z像頭監(jiān)控系統(tǒng)得到的圖像清晰,節(jié)省資源,可以構(gòu)成復(fù)雜的傳輸網(wǎng)絡(luò),都得到了大大的提高。

    4 結(jié)束語(yǔ)

    本文實(shí)現(xiàn)了基于STM32的以太網(wǎng)網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng),對(duì)攝像頭驅(qū)動(dòng)、圖像壓縮、LwIP協(xié)議棧以及UCOS操作系統(tǒng)進(jìn)行了詳細(xì)的闡述及分析,并通過(guò)實(shí)驗(yàn)結(jié)果很好地論證了系統(tǒng)的性能。網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的應(yīng)用,不僅提高視頻圖像傳輸?shù)目煽啃?,而且?duì)視頻傳輸?shù)男室灿泻艽蟮奶岣摺T摲椒ㄌ岣吡水a(chǎn)品的質(zhì)量,同時(shí)降低了產(chǎn)品設(shè)計(jì)和維護(hù)成本,對(duì)多種視頻傳輸和監(jiān)控系統(tǒng)等更多領(lǐng)域的應(yīng)用與研究具有重要意義。

    [1] 信師國(guó),劉慶磊,劉全賓.網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)現(xiàn)狀和發(fā)展趨勢(shì)[J].信息技術(shù)與信息化,2010(1):23-25.

    [2] 李靈.基于STM32的家居環(huán)境監(jiān)測(cè)和家電控制系統(tǒng)[D].杭州:杭州電子科技大學(xué),2014.

    [3] 姚高華.基于以太網(wǎng)的遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)[D].廣州:華南理工大學(xué),2013.

    [4] 陶杰,王欣. 基于STM32F407和OV7670的低端視頻監(jiān)控系統(tǒng)[J]. 單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2014,14(3):60-63.

    [5] 李向東.數(shù)字視頻監(jiān)控系統(tǒng)的研究與實(shí)現(xiàn)[D].西安:長(zhǎng)安大學(xué),2008.

    [6] 鐘久和.基于fpga視頻監(jiān)控終端的設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2010.

    [7] 王康景,陳衛(wèi)松,方立軍.一種基于FPGA的多路視頻合成及傳輸方法[J]. 無(wú)線電通信技術(shù),2017,43(1):44-46.

    [8] 蕭力華.智能視頻監(jiān)控系統(tǒng)分析與設(shè)計(jì)[J]. 企業(yè)技術(shù)開(kāi)發(fā)月刊,2016,35(21):64-65.

    [9] 寥義奎.ARM Cortex-M4嵌入式實(shí)戰(zhàn)開(kāi)發(fā)精解——基于stm32F4[M].北京:北京航空航天大學(xué)出版社,2013.

    [10]劉火良,楊森.STM32庫(kù)開(kāi)發(fā)指南[M].北京:機(jī)械工業(yè)出版社,2013.

    [11]李維,張衛(wèi)強(qiáng),閆光來(lái).WiFi-Mesh網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的設(shè)計(jì)[J].無(wú)線電通信技術(shù),2015,41(5):7-10.

    [12]李可先.計(jì)算機(jī)智能視頻監(jiān)控系統(tǒng)技術(shù)研究[J].信息與電腦(理論版),2016(18):64-65.

    [13]朱升林.嵌入式網(wǎng)絡(luò)那些事:LwIP協(xié)議深度剖析與實(shí)戰(zhàn)演練[M].北京:中國(guó)水利水電出版社,2012.

    [14]劉朝輝,熊建文,吳先球.視頻與數(shù)據(jù)聯(lián)動(dòng)采集與分析系統(tǒng)[J]. 華南師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2016,48(2):124-128.

    [15]伍儉.基于ARM的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的研究與設(shè)計(jì)[D].成都:電子科技大學(xué),2010.

    Video Monitoring System of Ethernet Network Based on STM32

    FANG Li-jun,CHEN Wei-song,ZHANG Liang-yu,WANG Kang-jing

    (School of Physicsand Electronic Information,Anhui Normal University,Wuhu Anhui 241000,China)

    This paper designs an Ethernet network video monitoring system based on STM32F407 chip,LAN8720A module and OV2640 camera module. The system uses UCOS-II system and LwIP protocol stack. The OV2640 camera module is used to collect the video data. Under the scheduling of the UCOS-II system,the collected data is uploaded to the PC client by using LwIP protocol stack and TCP / IP protocol. The PC can monitor in real time. Compared with the ZigBee transmission technology,the network transmission method can greatly improve the bandwidth of data transmissions,and achieve real-time transmission of monitoring video and high-definition pictures.

    Ethernet; video monitoring; STM32

    2017-06-09

    國(guó)家自然科學(xué)基金項(xiàng)目(61401004);安徽省高校自然科學(xué)研究重點(diǎn)項(xiàng)目(KJ2015A092)

    方立軍(1995—),男,本科生,主要研究方向:電子信息工程。陳衛(wèi)松(1973—),男,博士,副教授,主要研究方向:視頻及音頻信號(hào)處理。

    10.3969/j.issn.1003-3114.2017.05.20

    方立軍,陳衛(wèi)松,章良玉,等. 基于STM32的以太網(wǎng)網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)[J].無(wú)線電通信技術(shù),2017,43(5):91-94.

    [FANG Lijun,CHEN Weisong,ZHANG Liangyu,et al. Video Monitoring System of Ethernet Network Based on STM32 [J]. Radio Communications Technology,2017,43(5):91-94.]

    TP393

    A

    1003-3114(2017)05-91-4

    猜你喜歡
    線程攝像頭傳輸
    浙江首試公路非現(xiàn)場(chǎng)執(zhí)法新型攝像頭
    攝像頭連接器可提供360°視角圖像
    混合型隨機(jī)微分方程的傳輸不等式
    牽引8K超高清傳輸時(shí)代 FIBBR Pure38K
    電子制作(2018年18期)2018-11-14 01:48:00
    淺談linux多線程協(xié)作
    支持長(zhǎng)距離4K HDR傳輸 AudioQuest Pearl、 Forest、 Cinnamon HDMI線
    奔馳360°攝像頭系統(tǒng)介紹
    Linux線程實(shí)現(xiàn)技術(shù)研究
    么移動(dòng)中間件線程池并發(fā)機(jī)制優(yōu)化改進(jìn)
    饶河县| 阳城县| 体育| 禹州市| 铅山县| 嘉定区| 炉霍县| 子洲县| 惠东县| 新乡市| 来凤县| 苍山县| 曲靖市| 平顶山市| 五台县| 郎溪县| 周至县| 鸡东县| 临朐县| 浠水县| 阿拉善左旗| 莱西市| 平度市| 南宁市| 忻城县| 土默特左旗| 青海省| 天全县| 龙州县| 烟台市| 山丹县| 新巴尔虎左旗| 渝北区| 岗巴县| 安宁市| 阳春市| 叶城县| 彩票| 内乡县| 宣城市| 华安县|