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

基于STM32的圖像采集與網絡傳輸系統設計

2021-01-11 10:12:46姜艷茹孟令軍尚椏朝
自動化與儀表 2020年12期
關鍵詞:系統

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

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

近年來芯片制造工藝和技術不斷提升,微控制器的性能越來越強、功耗越來越低,進一步促進了嵌入式技術的發展[1]。隨著網絡的迅猛發展,具有網絡功能的嵌入式設備擁有更高的使用價值和更強的通用性。網絡數據傳輸具有傳輸數據保密性高、抗電磁干擾能力極強、傳輸數據容量大、硬件開銷小等自身優勢[2],滿足視頻傳輸的要求,廣泛應用于智能家居、工業控制、安防及城市交通管理等領域。

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

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

1 系統總體設計

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

圖1 系統結構框圖Fig.1 System structure block diagram

2 系統硬件設計

2.1 OV2640 攝像頭模塊

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

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

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

2.2 外部SDRAM

本系統將SDRAM 作為外部存儲器,將圖像數據暫存到SDRAM,然后通過網絡發送到PC 端。STM32F429 利用FMC 外設來驅動SDRAM 這樣的動態存儲器,連接電路如圖3 所示,主要是地址線和數據線。V

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

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

2.3 以太網通信模塊

以太網接口電路如圖4 所示,STM32F429 通過RMII 接口與外部芯片LAN8720A 連接,以實現介質訪問控制層與物理層的數據傳輸。LAN8720A 芯片引腳數目少,擁有1.2 V 內置穩壓源,是低功耗10/100 M以太網物理收發器[8]。

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

圖4 以太網接口電路Fig.4 Ethernet interface circuit

表1 數據幀格式Tab.1 Data frame format

3 系統軟件設計

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

3.1 數據接收

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

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

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

圖6 指針數組cambufFig.6 Pointer array cambuf

3.2 LwIP 協議棧

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

圖7 LwIP 在UCOS-II 系統中的結構Fig.7 Structure of LwIP in UCOS-II system

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

圖8 網絡傳輸流程Fig.8 Network transmission flow chart

3.3 邏輯設計

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

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

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

4 實驗及結果

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

圖10 網絡測試結果Fig.10 Network test results

圖11 圖像顯示Fig.11 Image display

5 結語

本文基于STM32F429、OV2640 及LAN8720A等硬件設計實現了一款圖像采集與網絡傳輸系統,分析了系統的硬件和軟件設計,并通過圖像顯示結果很好的驗證了系統的性能。該系統功耗低、體積小巧、性能穩定可靠、成本低廉,還可以用于構成復雜的傳輸網絡,同時具有良好的可移植性和可維護性,對多種視頻傳輸等更多領域的應用與研究具有很好的價值。

猜你喜歡
系統
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在多段調速系統中的應用
主站蜘蛛池模板: 狂欢视频在线观看不卡| 国产激情无码一区二区三区免费| 日韩精品视频久久| 99re视频在线| 亚洲第一香蕉视频| 亚洲小视频网站| 欧美自拍另类欧美综合图区| 国产亚洲精品在天天在线麻豆 | 国产午夜不卡| 91免费国产在线观看尤物| 手机成人午夜在线视频| 国产h视频在线观看视频| 国产在线日本| 国产亚洲精品精品精品| 久久久久国产一级毛片高清板| 久久人午夜亚洲精品无码区| 欧美成人怡春院在线激情| 亚洲国产精品一区二区第一页免 | 欧美日韩国产系列在线观看| 亚洲天堂免费在线视频| 97超碰精品成人国产| 国产麻豆另类AV| 91精品国产综合久久香蕉922| 久久www视频| 亚洲第一中文字幕| 天堂成人av| 亚洲欧美日韩中文字幕一区二区三区| 国产一级一级毛片永久| 亚洲精品自在线拍| 欧美亚洲国产日韩电影在线| www.亚洲天堂| 国产精品林美惠子在线播放| 欧美激情福利| 亚洲精品va| 国产免费自拍视频| 国产精品福利一区二区久久| 一级片一区| 国产精品熟女亚洲AV麻豆| 国产成年女人特黄特色毛片免 | 91精品在线视频观看| 人妻熟妇日韩AV在线播放| 日韩A∨精品日韩精品无码| 欧美亚洲日韩不卡在线在线观看| 99久久精品国产麻豆婷婷| 成人在线不卡| 国产精品一线天| 久久国产拍爱| 国产精品女主播| 2021亚洲精品不卡a| 精品偷拍一区二区| 国产91丝袜在线播放动漫 | 欧美日本不卡| 国内精品免费| 亚洲爱婷婷色69堂| 国产手机在线ΑⅤ片无码观看| 久久精品国产一区二区小说| 国产区网址| 国产 日韩 欧美 第二页| 亚洲第一成年免费网站| 国产人成在线观看| 亚洲成a人在线播放www| 国产探花在线视频| 精品无码专区亚洲| 97人妻精品专区久久久久| 国产高潮视频在线观看| 青草视频网站在线观看| 尤物午夜福利视频| 欧美a在线| 国产日本视频91| 亚洲一欧洲中文字幕在线| 国产va在线观看免费| 国产丝袜啪啪| 日本a级免费| 日韩中文精品亚洲第三区| 乱人伦视频中文字幕在线| 国产不卡一级毛片视频| 国产欧美日韩综合在线第一| 一级毛片免费高清视频| 免费不卡视频| 99久久国产综合精品2023| 奇米影视狠狠精品7777| 国产成人AV综合久久|