www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于嵌入式ARM的圖像采集與傳輸設(shè)計

摘要:針對無線監(jiān)測系統(tǒng)應(yīng)用的廣泛性,介紹了一種基于S3C2410處理器和嵌入式Linux的視頻采集與傳輸系統(tǒng),通過USB攝像頭獲取實時視頻,利用無線傳輸模塊將圖像數(shù)據(jù)傳輸給基于S3C2410平臺和Linux嵌入式系統(tǒng)構(gòu)建的存儲和顯示端。該系統(tǒng)成本低、功耗低、體積小,可廣泛應(yīng)用于遠(yuǎn)程監(jiān)控系統(tǒng)、可視電話、工業(yè)控制等領(lǐng)域。
關(guān)鍵詞:S3C2410;嵌入式Linux;無線傳輸

O 引言
    隨著嵌入式技術(shù)的迅猛發(fā)展和Linux在信息行業(yè)中的廣泛應(yīng)用,視頻采集與傳輸系統(tǒng)作為遠(yuǎn)程視頻監(jiān)控、可視電話會議和工業(yè)自動控制領(lǐng)域的一項核心技術(shù),近年來已經(jīng)得到了飛速的發(fā)展。本文在基于嵌入式Linux系統(tǒng)平臺上,采用USB攝像頭捕捉視頻信號,利用V4L內(nèi)核應(yīng)用編程接口函數(shù),實現(xiàn)了視頻連續(xù)幀圖像的采集,并保存成文件的形式利用無線傳輸方式傳輸給接收端。這里著重討論視頻采集發(fā)送端的實現(xiàn)。

1 系統(tǒng)組成
1.1 統(tǒng)的硬件構(gòu)成
    本系統(tǒng)包括發(fā)送端和接收端2部分,兩部分均采用Samsung公司生產(chǎn)的S3C2410處理器做硬件開發(fā)平臺。S3C2410在片上集成了豐富的組件:分開的16 KB指令Cache和16 KB數(shù)據(jù)Cache、用于虛擬存儲器管理的MMU、支持STN和TFT的LCD控制器、NAND Flash啟動裝載器、具有片選邏輯和SDRAM控制器的系統(tǒng)管理器、3通道UART、4通道DMA、4通道PWM定時器、I/O口、RTC、8通道10位ADC和觸摸屏接口、I2C總線接口、I2S總線接口、USB主設(shè)備、USB從設(shè)備、SD卡和MMC卡接口、2通道的SPI以及PLL時鐘發(fā)生器,還采用了AMBA(advanced micrcocontroller bus architecture)新型總線結(jié)構(gòu)。
    應(yīng)用S3C2410處理器平臺搭建的發(fā)送端硬件結(jié)構(gòu)如圖1所示:包括S3C2410處理器、RS232接口、JTAG接口、RJ-45接口、SDRMA、Flash、電源、通過USB口連接的視頻采集模塊和通過USB接口連接的視頻發(fā)射模塊。RS232串口用于人機(jī)交互及低速數(shù)據(jù)的收發(fā),應(yīng)用電平轉(zhuǎn)換芯片MAX-323進(jìn)行串口電平和TTL/CMOS電平的轉(zhuǎn)換。JTAG接口用于下載Bootloader。RJ-45接口用于和以太網(wǎng)連接,下載操作系統(tǒng)Linux內(nèi)核、根文件系統(tǒng)和應(yīng)用軟件。SDRMA用于系統(tǒng)的數(shù)據(jù)存儲器、Flash用于系統(tǒng)的程序存儲器。

[!--empirenews.page--]
    應(yīng)用S3C2410處理器平臺搭建的接收端硬件電路如圖2所示:與發(fā)送終端相比,多了SD卡和LCD顯示器。SD卡主要用來存儲數(shù)據(jù),LCD顯示器主要用來顯示視頻圖像。


1.2 系統(tǒng)軟件設(shè)計
    系統(tǒng)的軟件構(gòu)成分為引導(dǎo)驅(qū)動程序、操作系統(tǒng)、文件系統(tǒng)和應(yīng)用程序4部分,如圖3所示。引導(dǎo)驅(qū)動程序在系統(tǒng)啟動時進(jìn)行內(nèi)存重映射,將保存在Flash中的操作系統(tǒng)和應(yīng)用程序重新映射到SDRAM中。Linux的內(nèi)核版本為LinIix2.6。文件系統(tǒng)是Yaffs,它包括模塊、配置文件和庫等。系統(tǒng)的應(yīng)用程序建立在嵌入式Linux內(nèi)核、攝像頭驅(qū)動和文件系統(tǒng)之上。


2 視頻采集的具體實現(xiàn)
    USB攝像頭連接簡單、使用靈活、價格低廉且具有良好的性能,因此,得到了廣泛的應(yīng)用。Linux內(nèi)核包含了多種USB攝像頭驅(qū)動,最常用的有基于OV5ll及其兼容芯片。OV511芯片主要包括CAMERA接口、DRMA接口、ISO FIFO接口和OmniCE以及USB控制器等部分。本設(shè)計使用的是在低端市場占有率較高的中芯微公司生產(chǎn)的ZC030x系列攝像頭芯片。Linux系統(tǒng)中的視頻子系統(tǒng)’Vide04linux為視頻應(yīng)用程序提供了一套統(tǒng)一的API,視頻應(yīng)用程序通過調(diào)用API即可操作各種不同的視頻捕獲設(shè)備,包括電視卡、視頻捕捉卡和USB攝像頭等。本設(shè)計的具體實現(xiàn)過程如下所述:
2.1 攝像頭驅(qū)動的實現(xiàn)
    1)配置Vide04linux內(nèi)核
    在終端使用make menuconfig命令打開S3C24lOlinux內(nèi)核編譯的main menu窗口,并進(jìn)入“multimedia device———>”菜單選項,然后將Video for Linux配置為模塊,即:
    Device driver———>
    Multimedia devices———>
    <*>Video for linux[!--empirenews.page--]
    2)配置OV511驅(qū)動
    返回主菜單,在進(jìn)入“USB support———>”菜單選項,然后將USB OV5llcamera support設(shè)置為模塊,即:
    SUB suppor———>
    <*>USB OV5llcamera support(NEW)
    3)模塊安裝
    執(zhí)行以下命令安裝視頻輸入模塊:
    insmod videodev.o
    執(zhí)行以下命令安裝視頻輸入設(shè)備驅(qū)動模塊:
    insmod usbcore.o
    insmod usb-ohci-s3c2410.ko
    insmod ov511.o
    由于使用的設(shè)備是USB接口的攝像頭,所以在加載ov511.o模塊前,需要加載USB內(nèi)核驅(qū)動和主機(jī)控制器驅(qū)動。
2.2 利用Vide041inux實現(xiàn)圖像采集
    在安裝了圖像采集設(shè)備驅(qū)動后,只需要再編寫一個對視頻采集的應(yīng)用程序就可以采集視頻圖像。在Linux系統(tǒng)中,視頻文件是設(shè)備文件,可以像訪問普通文件一樣對其進(jìn)行讀寫,攝像頭文件一般是/dev/v4l/video。在進(jìn)行視頻捕捉之前,需要做一些必要的設(shè)置工作。這些設(shè)置涉及到如下結(jié)構(gòu):
    struct video_picture
    {
    _u1 6 brightness;//亮度
    _u16 hue;
    _u16 Colour;
    _u16 contrast;//對比度
    _u16 whiteness;//黑色和白色
    _u16 depth;//顏色深度
    _u16 palette;//調(diào)色板
    };
    Strct video_windowr
   {
   _u32 x,y;//窗體位置
   _u32 width,height;//窗體尺寸
   _u32 chromakey;
   _u32 flags;
   Struct video_clip_user*clips;
   Int clipeount:
       define VIDEO_WINDOW_INTERLACE 1
       define VIDEO_WINDOW_CHROMAKEY 16
       define VIDEO_CLIP_BITMAP-l
       define VIDEO_CLIPMAP_SIZE(128*625)
    };
    struct video_capture
   {
    _u32 x,y;//圖像偏移
    _u32 width,height;//捕捉區(qū)域
    _u16 decimation;//采集間隔
    _u16 flags;//采集標(biāo)志
       define VIDEO_CAPTUREl_ODD O
       define VIDEO_CAPTURE_EVEN 1
    };
    V4L下視頻采集編程首先要打開視頻設(shè)備:
    Int fd=open(“/dev/v4l/video”,O_RDONLY);
    If(fd<O)return-l;
    接著對攝像頭參數(shù)進(jìn)行設(shè)置。一般是先通過I/O控制命令讀取設(shè)備信息,然后對特定項進(jìn)行修改,最后通過I/O控制命令保存到內(nèi)核中。由于篇幅有限源程序不再贅述。[!--empirenews.page--]
    獲取基本信息后,可以輸出顯示,也可以通過ioctl系統(tǒng)調(diào)用對這些值進(jìn)行修改。然后調(diào)用函數(shù)Char*Carmera_get_image(video_device*vd)獲得圖像數(shù)據(jù)指針。此函數(shù)比較重要,關(guān)系到圖像采集的效率。獲取圖像數(shù)據(jù)有2種方法:一是通過映射得到視頻驅(qū)動的數(shù)據(jù)緩沖,然后直接對映射后的緩沖進(jìn)行讀操作;二是直接讀設(shè)備,及調(diào)用read函數(shù)。下面分別介紹:
    (1)read系統(tǒng)調(diào)用方式比較簡單,只需將前面得到攝像頭參數(shù)傳入read函數(shù)中,得到圖像數(shù)據(jù)指針picture_p后返回即可:read(vd->fd,picture_p,width*hight);其中vd_>fd為設(shè)備文件描述符。
    (2)利用mmap方式先使用ioctl(fd,VIDIOCGMBUF,&grab_vm)函數(shù)獲得攝像頭存儲緩沖區(qū)的幀信息,之后修改voideo_mmap中的設(shè)置,例如重新設(shè)置圖像幀的垂直及水平分辨率、彩色顯示格式,使用如下語句:
    grab_buf.height=240;
    grab_buf.width=320;
    grab—buf.format=VIDEO_PALETTE_RGB24;
    接著把攝像頭對應(yīng)的設(shè)備文件映射到內(nèi)存區(qū),具體使用grab_data=(unsigned char*)mmap(O,grab_vm.size,PROT_READ|PROT_WRITE,MAP_SHARED,grab_fd,O)操作。這樣設(shè)備文件的內(nèi)容就映射到內(nèi)存區(qū),該映射內(nèi)容區(qū)可讀可寫并且不同進(jìn)程間可共享。該函數(shù)成功時返回圖像數(shù)據(jù)的指針,失敗時返回值為-1。

3 無線傳輸模塊
    本系統(tǒng)選用西門子的MC235作為GPRS通信模塊,來實現(xiàn)圖像的無線傳輸。該模塊結(jié)合語音、數(shù)據(jù)傳輸、短信服務(wù)等功能,最大傳輸速率可以達(dá)到85.6 Kbps,具有豐富的AT指令使模塊與微處理器通信,功能強(qiáng)大,操作靈活方便,特別適用于數(shù)據(jù)的監(jiān)測和傳輸。
    在進(jìn)行GPRS傳輸操作之前需對模塊進(jìn)行設(shè)置,主要有:(1)設(shè)置通信波特率;(2)設(shè)置接入網(wǎng)關(guān);(3)設(shè)置移動終端類別;(4)測試GPRS服務(wù)是否開通,激活GPRS功能。這些設(shè)置都在主程序的初始化代碼段完成。通過測試,GPRS驅(qū)動正常工作,能很好地支持?jǐn)?shù)據(jù)/命令復(fù)合協(xié)議傳輸,其協(xié)議的丟包率、吞吐量等性能指標(biāo)與無線模塊的指標(biāo)無實質(zhì)性差別,整個系統(tǒng)工作正常,基本達(dá)到設(shè)計要求。

4 結(jié)束語
    本文基于S3C2410的硬件平臺和嵌入式Linux的軟件平臺,實現(xiàn)了視頻信號的采集和網(wǎng)絡(luò)傳輸。發(fā)送端由于把圖像壓縮和網(wǎng)絡(luò)功能集成到一個體積很小的設(shè)備內(nèi),并直接通過無線方式接入GPRS網(wǎng),省掉各種復(fù)雜的電纜連接,安裝方便;用軟件的方法替代了以往許多用硬件模塊實現(xiàn)的功能,同時實現(xiàn)了收發(fā)雙方體積的小型化和低功耗,在網(wǎng)絡(luò)狀況較為理想的情況下,系統(tǒng)在圖像分辨率為352×288,像素為16位的情況下,可以實現(xiàn)每秒鐘傳送1幀圖像。整個系統(tǒng)具有穩(wěn)定可靠、安裝簡便、成本低廉等特點,可擴(kuò)展應(yīng)用在工業(yè)控制、視頻會議系統(tǒng)、可視電話、遠(yuǎn)程監(jiān)控系統(tǒng)等諸多領(lǐng)域。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

美國紐約州阿蒙克2022年10月20日 /美通社/ -- IBM(NYSE: IBM)發(fā)布 2022 年第三季度業(yè)績報告。 IBM 董事長兼首席執(zhí)行官 Arvind Kri...

關(guān)鍵字: IBM 軟件 BSP 云平臺

北京2022年10月19日 /美通社/ -- 隨著云計算、大數(shù)據(jù)的普及發(fā)展,過去的"云"是服務(wù)于大企業(yè)的計算模型,而十多年過去了,越來越多的應(yīng)用及業(yè)務(wù)走上"云端",對計算核心數(shù)需求...

關(guān)鍵字: ARM 大數(shù)據(jù) 云游戲 CPU

無線連接已成為許多產(chǎn)品的必備功能,但往往會增加系統(tǒng)設(shè)計的成本和復(fù)雜性,因為它通常必須作為更大應(yīng)用的附加功能。Microchip Technology Inc.(美國微芯科技公司)今日推出首款基于Arm Cortex?-M...

關(guān)鍵字: Microchip ARM PIC

成都2022年10月19日 /美通社/ -- 近期,平安養(yǎng)老險積極籌備個人養(yǎng)老金的產(chǎn)品設(shè)計和系統(tǒng)開發(fā)工作,發(fā)展多樣化的養(yǎng)老金融產(chǎn)品,推動商業(yè)養(yǎng)老保險、個人養(yǎng)老金、專屬商業(yè)養(yǎng)老保險等產(chǎn)品供給。 搭養(yǎng)老政策東風(fēng) ...

關(guān)鍵字: 溫度 BSP 東風(fēng) 大眾

廣東佛山2022年10月19日 /美通社/ -- 空間是人居生活的基礎(chǔ)單元,承載著生存與活動的最基本功能。而對于理想空間的解構(gòu)意義卻在物理性容器之外,體現(xiàn)出人們對于空間和生活深層關(guān)系的思考,同時也塑造著人與空間的新型連接...

關(guān)鍵字: 溫度 BSP 智能化 進(jìn)程

上海2022年10月19日 /美通社/ -- 10月17日晚間,安集科技披露業(yè)績預(yù)告。今年前三季度,公司預(yù)計實現(xiàn)營業(yè)收入7.54億元至8.33億元,同比增長60.24%至77.03%;歸母凈利潤預(yù)計為1.73億...

關(guān)鍵字: 電子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市經(jīng)濟(jì)和信息化局發(fā)布2022年度第一批北京市市級企業(yè)技術(shù)中心創(chuàng)建名單的通知,諾誠健華正式獲得"北京市企業(yè)技術(shù)中心"認(rèn)定。 北京市企業(yè)技...

關(guān)鍵字: BSP ARMA COM 代碼

北京2022年10月18日 /美通社/ -- 10月14日,國際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國軟件定義存儲及超融合市場研究報告》,報告顯示:2022年上半年浪潮超融合銷售額同比增長59.4%,近5倍于...

關(guān)鍵字: IDC BSP 數(shù)字化 數(shù)據(jù)中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都銀行集團(tuán)成立60周年的紀(jì)念日。趁著首都銀行集團(tuán)成立60周年與首都銀行(中國)在華深耕經(jīng)營12年的“大日子”,圍繞作為外資金融機(jī)構(gòu)對在華戰(zhàn)略的構(gòu)想和業(yè)...

關(guān)鍵字: 數(shù)字化 BSP 供應(yīng)鏈 控制

東京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式會社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團(tuán)公司上海通運(yùn)國際物流有限公司(Nipp...

關(guān)鍵字: 溫控 精密儀器 半導(dǎo)體制造 BSP

嵌入式教程

6897 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉