當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀]基于嵌入式ARM的圖像采集與傳輸設計

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

O 引言

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

1 系統(tǒng)組成

1.1 統(tǒng)的硬件構成

本系統(tǒng)包括發(fā)送端和接收端2部分,兩部分均采用Samsung公司生產的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主設備、USB從設備、SD卡和MMC卡接口、2通道的SPI以及PLL時鐘發(fā)生器,還采用了AMBA(advanced micrcocontroller bus architecture)新型總線結構。

應用S3C2410處理器平臺搭建的發(fā)送端硬件結構如圖1所示:包括S3C2410處理器、RS232接口、JTAG接口、RJ-45接口、SDRMA、Flash、電源、通過USB口連接的視頻采集模塊和通過USB接口連接的視頻發(fā)射模塊。RS232串口用于人機交互及低速數(shù)據(jù)的收發(fā),應用電平轉換芯片MAX-323進行串口電平和TTL/CMOS電平的轉換。JTAG接口用于下載Bootloader。RJ-45接口用于和以太網(wǎng)連接,下載操作系統(tǒng)Linux內核、根文件系統(tǒng)和應用軟件。SDRMA用于系統(tǒng)的數(shù)據(jù)存儲器、Flash用于系統(tǒng)的程序存儲器。

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

1.2 系統(tǒng)軟件設計

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

2 視頻采集的具體實現(xiàn)

USB攝像頭連接簡單、使用靈活、價格低廉且具有良好的性能,因此,得到了廣泛的應用。Linux內核包含了多種USB攝像頭驅動,最常用的有基于OV5ll及其兼容芯片。OV511芯片主要包括CAMERA接口、DRMA接口、ISO FIFO接口和OmniCE以及USB控制器等部分。本設計使用的是在低端市場占有率較高的中芯微公司生產的ZC030x系列攝像頭芯片。Linux系統(tǒng)中的視頻子系統(tǒng)’Vide04linux為視頻應用程序提供了一套統(tǒng)一的API,視頻應用程序通過調用API即可操作各種不同的視頻捕獲設備,包括電視卡、視頻捕捉卡和USB攝像頭等。本設計的具體實現(xiàn)過程如下所述:

2.1 攝像頭驅動的實現(xiàn)

1)配置Vide04linux內核

在終端使用make menuconfig命令打開S3C24lOlinux內核編譯的main menu窗口,并進入“multimedia device———>”菜單選項,然后將Video for Linux配置為模塊,即:

  Device driver———>

  Multimedia devices———>

  <*>video for linux

2)配置ov511驅動

返回主菜單,在進入“USB support———>”菜單選項,然后將USB OV5llcamera support設置為模塊,即:

  SUB suppor———>

  <*>USB OV5llcamera support(NEW)

3)模塊安裝

執(zhí)行以下命令安裝視頻輸入模塊:

  insmod videodev.o

執(zhí)行以下命令安裝視頻輸入設備驅動模塊:

  insmod usbcore.o

  insmod usb-ohci-s3c2410.ko

  insmod ov511.o

由于使用的設備是USB接口的攝像頭,所以在加載ov511.o模塊前,需要加載USB內核驅動和主機控制器驅動。

2.2 利用Vide041inux實現(xiàn)圖像采集

在安裝了圖像采集設備驅動后,只需要再編寫一個對視頻采集的應用程序就可以采集視頻圖像。在Linux系統(tǒng)中,視頻文件是設備文件,可以像訪問普通文件一樣對其進行讀寫,攝像頭文件一般是/dev/v4l/video。在進行視頻捕捉之前,需要做一些必要的設置工作。這些設置涉及到如下結構:

  struct video_picture

  {

  _u1 6 brightness;//亮度

  _u16 hue;

  _u16 Colour;

  _u16 contrast;//對比度

  _u16 whiteness;//黑色和白色

  _u16 depth;//顏色深度

  _u16 palette;//調色板

  };

  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;//采集標志

  define VIDEO_CAPTUREl_ODD O

  define VIDEO_CAPTURE_EVEN 1

  };

  V4L下視頻采集編程首先要打開視頻設備:

  Int fd=open(“/dev/v4l/video”,O_RDONLY);

  If(fd<O)return-l;

接著對攝像頭參數(shù)進行設置。一般是先通過I/O控制命令讀取設備信息,然后對特定項進行修改,最后通過I/O控制命令保存到內核中。由于篇幅有限源程序不再贅述。

獲取基本信息后,可以輸出顯示,也可以通過ioctl系統(tǒng)調用對這些值進行修改。然后調用函數(shù)Char*Carmera_get_image(video_device*vd)獲得圖像數(shù)據(jù)指針。此函數(shù)比較重要,關系到圖像采集的效率。獲取圖像數(shù)據(jù)有2種方法:一是通過映射得到視頻驅動的數(shù)據(jù)緩沖,然后直接對映射后的緩沖進行讀操作;二是直接讀設備,及調用read函數(shù)。下面分別介紹:

(1)read系統(tǒng)調用方式比較簡單,只需將前面得到攝像頭參數(shù)傳入read函數(shù)中,得到圖像數(shù)據(jù)指針picture_p后返回即可:read(vd->fd,picture_p,width*hight);其中vd_>fd為設備文件描述符。

(2)利用mmap方式先使用ioctl(fd,VIDIOCGMBUF,&grab_vm)函數(shù)獲得攝像頭存儲緩沖區(qū)的幀信息,之后修改voideo_mmap中的設置,例如重新設置圖像幀的垂直及水平分辨率、彩色顯示格式,使用如下語句:

  grab_buf.height=240;

  grab_buf.width=320;

  grab—buf.format=VIDEO_PALETTE_RGB24;

接著把攝像頭對應的設備文件映射到內存區(qū),具體使用grab_data=(unsigned char*)mmap(O,grab_vm.size,PROT_READ|PROT_WRITE,MAP_SHARED,grab_fd,O)操作。這樣設備文件的內容就映射到內存區(qū),該映射內容區(qū)可讀可寫并且不同進程間可共享。該函數(shù)成功時返回圖像數(shù)據(jù)的指針,失敗時返回值為-1。

3 無線傳輸模塊

本系統(tǒng)選用西門子的MC235作為GPRS通信模塊,來實現(xiàn)圖像的無線傳輸。該模塊結合語音、數(shù)據(jù)傳輸、短信服務等功能,最大傳輸速率可以達到85.6 Kbps,具有豐富的AT指令使模塊與微處理器通信,功能強大,操作靈活方便,特別適用于數(shù)據(jù)的監(jiān)測和傳輸。

在進行GPRS傳輸操作之前需對模塊進行設置,主要有:(1)設置通信波特率;(2)設置接入網(wǎng)關;(3)設置移動終端類別;(4)測試GPRS服務是否開通,激活GPRS功能。這些設置都在主程序的初始化代碼段完成。通過測試,GPRS驅動正常工作,能很好地支持數(shù)據(jù)/命令復合協(xié)議傳輸,其協(xié)議的丟包率、吞吐量等性能指標與無線模塊的指標無實質性差別,整個系統(tǒng)工作正常,基本達到設計要求。

4 結束語

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

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

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉