亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ARM的嵌入式視頻采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

        2016-04-12 00:00:00衛(wèi)建華鄧云兵高燚楊晉芳宋佳明
        現(xiàn)代電子技術(shù) 2016年3期

        摘 要: 針對(duì)USB攝像頭的廣泛應(yīng)用,提出一種以S3C6410微處理器為核心的嵌入式視頻圖像采集系統(tǒng)設(shè)計(jì)方案,可將攝像頭采集的視頻圖像在LCD屏幕上實(shí)時(shí)顯示。該系統(tǒng)利用了嵌入式Linux內(nèi)核下UVC驅(qū)動(dòng)模型,通過LCD驅(qū)動(dòng)移植,并采用Libjpeg庫(kù)對(duì)采集的數(shù)據(jù)進(jìn)行轉(zhuǎn)換,最終在此基礎(chǔ)上完成了對(duì)軟件系統(tǒng)框架的設(shè)計(jì)。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)可以實(shí)現(xiàn)視頻圖像的數(shù)據(jù)采集并可在LCD顯示屏上實(shí)時(shí)顯示,可以方便地應(yīng)用到各種嵌入式USB攝像頭設(shè)備中,且實(shí)時(shí)性良好。

        關(guān)鍵詞: S3C6410; 攝像頭; 嵌入式Linux; LCD驅(qū)動(dòng)

        中圖分類號(hào): TN919?34; TP316 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2016)03?0030?05

        Design and implementation of embedded video acquisition system based on ARM

        WEI Jianhua1, DENG Yunbing1, GAO Yi1, YANG Jinfang1, SONG Jiaming2

        (1. College of Electronics and Information, Xi’an Polytechnic University, Xi’an 710048, China;

        2. Maintenance Company, Ningxia Electronic Power Company of State Grid , Yinchuan 750001, China)

        Abstract: For the widespread use of USB camera, a design scheme for the embedded video image acquisition system taking the microprocessor S3C6410 as the core is proposed, which can display the collected video image from camera on LCD screen in real?time. The UVC driven model under the embedded Linux kernel is utilized by the system, and the collected data is converted by LCD driving transplantation and Libjpeg library. Based on this, the design of the USB camera software system framework was completed. The experimental results show that the system can realize the data acquisition of the video image and real?time display on LCD screen. This system can be easily applied to various embedded USB camera devices, and has good real?time performance.

        Keywords: S3C6410; camera; embedded Linux; LCD driving

        0 引 言

        嵌入式Linux相對(duì)于大多數(shù)商業(yè)化嵌入式操作系統(tǒng)具有無可比擬的優(yōu)越性,由于其具有開源、多任務(wù)多進(jìn)程、高度模塊化、支持多平臺(tái)、性能穩(wěn)定等諸多優(yōu)點(diǎn)[1?2], 現(xiàn)已廣泛應(yīng)用于嵌入式領(lǐng)域。隨著計(jì)算機(jī)通信技術(shù)的不斷發(fā)展和視頻監(jiān)控系統(tǒng)應(yīng)用場(chǎng)所的日益多樣化[3],對(duì)視頻監(jiān)控的不同技術(shù)要求和相應(yīng)的解決方案也日益增多[4],不同的應(yīng)用場(chǎng)所需要不同的系統(tǒng)設(shè)計(jì)及硬件支持。

        USB攝像頭具有性能好、價(jià)格低、使用方便、易于集成到嵌入式系統(tǒng)等特點(diǎn),在視頻監(jiān)控、網(wǎng)絡(luò)視頻會(huì)議等領(lǐng)域具有廣泛的應(yīng)用[5?6]。目前攝像頭驅(qū)動(dòng)程序大部分都是基于Windows平臺(tái)下,而嵌入式系統(tǒng)大都采用Linux系統(tǒng),因此需要開發(fā)在嵌入式Linux平臺(tái)下[7?9]的基于驅(qū)動(dòng)框架下的數(shù)據(jù)采集系統(tǒng)。現(xiàn)存的嵌入式USB攝像頭大部分都是基于ARM9體系架構(gòu)。因此,本文設(shè)計(jì)了一種在ARM11平臺(tái)下,基于USB攝像頭的嵌入式圖像采集系統(tǒng)。

        1 系統(tǒng)的硬件組成

        硬件開發(fā)平臺(tái)是整個(gè)系統(tǒng)的基礎(chǔ),有著至關(guān)重要的作用,硬件選擇的成功與否直接決定著系統(tǒng)性能的優(yōu)劣。本系統(tǒng)使用了國(guó)內(nèi)比較流行的主流ARM芯片S3C6410,該芯片是基于三星公司ARM11內(nèi)核的處理器。S3C6410具有諸多優(yōu)點(diǎn)[10],包括體積小、低功耗、低成本、高性能;支持Thumb(16位)/ARM(32位)雙指令集,能很好的兼容8位/16位器件;大量使用寄存器,指令執(zhí)行速度更快;大多數(shù)數(shù)據(jù)操作都在寄存器中完成;尋址方式靈活簡(jiǎn)單,執(zhí)行效率高; 指令長(zhǎng)度固定。

        S3C6410擁有強(qiáng)大的內(nèi)部資源和視頻處理能力,可穩(wěn)定運(yùn)行在667 MHz主頻以上,支持Mobile DDR和多種NAND FLASH。本系統(tǒng)所使用的OK6410開發(fā)板上集成了多種高端接口,如復(fù)合視頻信號(hào)、攝像頭、USB、SD卡、WiFi、LCD液晶屏、以太網(wǎng),并配備溫度傳感器和紅外接收頭等。本系統(tǒng)所需要的主要硬件組成,如圖1所示。

        2 系統(tǒng)硬件平臺(tái)的搭建

        2.1 UVC驅(qū)動(dòng)模型

        UVC(Usb Video Class)是Microsoft與另外幾家設(shè)備廠商聯(lián)合推出的為USB視頻捕獲設(shè)備定義的協(xié)議標(biāo)準(zhǔn),目前已成為USB協(xié)議標(biāo)準(zhǔn)之一。 在如今的主流操作系統(tǒng)中都已提供了UVC設(shè)備驅(qū)動(dòng),如Windows XP,Window 7,Linux 2.4.6 and later等操作系統(tǒng)。Video Class(VC)把整個(gè)系統(tǒng)抽象成“單元(Uint)”和“終端(Terminal)”兩個(gè)概念。VC里含有多個(gè)Unit/Terminal等功能模塊,可以通過訪問這些模塊進(jìn)行攝像頭控制,比如調(diào)節(jié)攝像頭亮度,讀視頻數(shù)據(jù)等。UVC設(shè)備驅(qū)動(dòng)將視頻設(shè)備抽象為幾個(gè)主要的硬件功能模塊,如圖2所示。其中CT(Camera Terminal)為camera端點(diǎn),IT(Input Terminal)為輸入端點(diǎn),SU(Selector Unit)為選擇單元,PU(Processing Unit)為處理單元,OT(Output Terminal)為輸出端點(diǎn)。VC就是USB接口視頻設(shè)備的一個(gè)統(tǒng)一的數(shù)據(jù)交換規(guī)范,有了USB在視頻接口數(shù)據(jù)的統(tǒng)一交換規(guī)范后,任何支持UVC規(guī)范的USB攝像設(shè)備都可以在不裝設(shè)備驅(qū)動(dòng)的基礎(chǔ)上正常使用,去除了人工手動(dòng)安裝硬件驅(qū)動(dòng)的步驟,且硬件在各個(gè)程序之間彼此運(yùn)行會(huì)更加流暢。

        本系統(tǒng)所使用的操作系統(tǒng)是Linux?3.0.1內(nèi)核,內(nèi)核中幾乎所有的設(shè)備驅(qū)動(dòng)都在driver目錄中,其中UVC攝像頭驅(qū)動(dòng)都在drivers/media/video/uvc/的目錄下。UVC驅(qū)動(dòng)的核心是該目錄下uvc_v4l2(video for linux two)文件中uvc_fops的操作函數(shù)集:

        const struct v4l2_file_operations uvc_fops = {

        .owner = THIS_MODULE,

        .open = uvc_v4l2_open,

        .release = uvc_v4l2_release,

        .ioctl = uvc_v4l2_ioctl,

        .read = uvc_v4l2_read,

        .mmap = uvc_v4l2_mmap,

        .poll = uvc_v4l2_poll,

        };

        當(dāng)應(yīng)用程序打開攝像頭設(shè)備時(shí)就會(huì)調(diào)用uvc_fops函數(shù)集里的uvc_v4l2_open函數(shù),應(yīng)用程序執(zhí)行ioctl時(shí)就會(huì)調(diào)用uvc_fops函數(shù)集里的uvc_v4l2_ioctl函數(shù),該函數(shù)經(jīng)過一系列初始化后會(huì)調(diào)用執(zhí)行return video_usercopy(file,cmd,arg,uvc_v4l2_do_ioctl);最終調(diào)用uvc_v4l2_do_ioctl函數(shù)集里的函數(shù)查詢?cè)O(shè)備的描述符,獲得攝像頭支持的格式,分配設(shè)備的緩存、入隊(duì)列、出隊(duì)列等。

        系統(tǒng)選用的Linux?3.0.1版本內(nèi)核已經(jīng)包含了UVC驅(qū)動(dòng),采集系統(tǒng)選用攝像頭的型號(hào)是宇宙通QC288攝像頭,符合UVC標(biāo)準(zhǔn)。因此,只要在編譯內(nèi)核時(shí)將UVC驅(qū)動(dòng)編譯到內(nèi)核中,進(jìn)入到內(nèi)核的根目錄執(zhí)行make menuconfig,選中UVC的驅(qū)動(dòng)即可。配置如圖3所示。

        將編譯好的內(nèi)核通過NFS網(wǎng)絡(luò)系統(tǒng)下載到開發(fā)板中啟動(dòng)內(nèi)核,該嵌入式Linux內(nèi)核就能支持符合UVC規(guī)范USB攝像頭的視頻采集。當(dāng)攝像頭連到OK6410上,Linux會(huì)在/dev目錄下建立設(shè)備文件videox,說明嵌入式Linux的UVC驅(qū)動(dòng)已經(jīng)可以正常的工作了。

        2.2 LCD驅(qū)動(dòng)的移植

        OK6410的標(biāo)準(zhǔn)配置LCD型號(hào)是WXCAT43,配有4.3英寸電阻觸摸屏,分辨率為480×272。WXCAT43型號(hào)屬于TFT,即薄膜晶體管。LCD驅(qū)動(dòng)移植所依賴的文件有:

        arch/arm/mach?s3c64xx/mach?smdk6410.c,

        drivers/video/samsung/s3cfb.c,

        drivers/video/samsung/s3cfb_spi.c,

        drivers/video/samsung/WXCAT43.c,

        arch/arm/mach?s3c64xx/include/mach/regs?lcd.h。

        2.2.1 修改arch/arm/mach?s3c64xx/mach?smdk64?10.c文件

        注釋掉smdk6410_machine_init(void)中的下面兩行:

        //gpio_request(S3C64XX_GPN(5), \"LCD power\");

        //gpio_request(S3C64XX_GPF(13), \"LCD power\");

        在sruct map_desc smdk6410_iodesc[]中添加 LCD支持:

        static struct map_desc smdk6410_iodesc[] = {

        { /* LCD support */

        .virtual = (unsigned long)S3C_VA_LCD,

        .pfn = __phys_to_pfn(S3C_PA_FB),

        .length = SZ_16K,

        .type = MT_DEVICE,

        },

        };

        2.2.2 添加 drivers/video/samsung目錄

        從www.linux.org下載的內(nèi)核中沒有WXCAT43型號(hào)的LCD驅(qū)動(dòng),所以需要添加samsung目錄,添加對(duì)應(yīng)型號(hào)的驅(qū)動(dòng)程序,主要有Makefile,Kconfig,s3cfb.c,s3cfb_spi.c,WXCAT43.c文件。

        2.2.3 修改drivers/video目錄下的Makefile和Kconfig文件

        在Makefile 的最后一行添加:

        obj?$(CONFIG_FB_S3C_EXT)+= samsung/

        在drivers/video/Kconfig的目錄下添加:

        source “drivers/video/samsung/Kconfig”

        這樣做的主要目的是為了將LCD驅(qū)動(dòng)加載進(jìn)make menuconfig的配置菜單中,以便內(nèi)核編譯時(shí),將LCD驅(qū)動(dòng)編譯進(jìn)內(nèi)核。

        修改完成后進(jìn)入到內(nèi)核的根目錄下執(zhí)行make menuconfig,按照下面內(nèi)核配置選項(xiàng)依次選中:

        Device Drivers ?> Graphics support ?>

        <*> Support for frame buffer devices ?>

        <*> S3C Frambuffer Support (eXended)

        Select LCD Type ( 4.3 inch 480*272 TFT LCD) ?>

        <*> Advanced options for S3C Frambuffer

        Select Bpp(Bits Per Pixel ) ( 16 BPP ) ?>

        (4) Number of Framebufers

        [ * ] Enable Virtural Screen

        [ * ] Enable Double Buffering

        保存配置退出,執(zhí)行make uImage。如果上述修改及內(nèi)核配置全部正確,生成的內(nèi)核鏡像文件就可以支持LCD屏幕的正常工作。

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

        3.1 系統(tǒng)框架設(shè)計(jì)的整體說明

        整個(gè)系統(tǒng)框架借鑒于Linux內(nèi)核設(shè)計(jì)分層的思想[11],把功能相對(duì)穩(wěn)定的代碼放到一個(gè)文件里,以C++面對(duì)對(duì)象的設(shè)計(jì)思想模塊化編寫整個(gè)程序,把具有相關(guān)聯(lián)性的數(shù)據(jù)和對(duì)數(shù)據(jù)的操作函數(shù)放在一起,作為一個(gè)相互依存、不可分割的整體來處理。先考慮整體、共性的因素,再考慮個(gè)性、個(gè)別的因素,有利于問題的簡(jiǎn)單化。編程時(shí)先單獨(dú)實(shí)現(xiàn)每個(gè)功能模塊的文件,將功能相近的模塊放在一個(gè)文件夾下,把對(duì)外封閉的接口函數(shù)定義為靜態(tài)函數(shù),只留下有限的函數(shù)接口供外部調(diào)用。文件通過向上層接口“注冊(cè)”自己,告訴整個(gè)系統(tǒng)自己是“存在”的。當(dāng)需求改變時(shí),維護(hù)也只需在局部模塊修改,所以維護(hù)起來非常方便,成本也相對(duì)較低。這樣不僅提高了代碼的重復(fù)利用率,也提高了各自功能模塊文件內(nèi)部數(shù)據(jù)的安全性[12]。

        本系統(tǒng)框架主要實(shí)現(xiàn)了攝像頭數(shù)據(jù)采集、攝像頭數(shù)據(jù)轉(zhuǎn)換、LCD顯示以及圖片的渲染四大功能模塊,每個(gè)功能模塊根據(jù)各自的共性都抽象出一個(gè)結(jié)構(gòu)體來封裝自己的數(shù)據(jù)和操作函數(shù)。攝像頭數(shù)據(jù)采集模塊主要負(fù)責(zé)采集現(xiàn)實(shí)中的圖像數(shù)據(jù),攝像頭數(shù)據(jù)轉(zhuǎn)換功能模塊主要負(fù)責(zé)將采集到的數(shù)據(jù)轉(zhuǎn)換為L(zhǎng)CD可以顯示的RGB數(shù)據(jù),LCD顯示模塊主要負(fù)責(zé)攝像頭采集的數(shù)據(jù)實(shí)時(shí)顯示,圖片的渲染模塊主要是對(duì)采集到的數(shù)據(jù)進(jìn)行放大縮小等處理。具體的系統(tǒng)軟件框架模塊設(shè)計(jì)如圖4所示。

        程序執(zhí)行時(shí),其入口是Main函數(shù),首先進(jìn)行四大功能模塊的“注冊(cè)”及初始化所需用到的模塊,一切就緒后調(diào)用v4l2里的攝像頭的啟動(dòng)函數(shù)開始采集數(shù)據(jù),最后進(jìn)入到死循環(huán)中執(zhí)行:讀入攝像頭數(shù)據(jù),將攝像頭數(shù)據(jù)轉(zhuǎn)換為L(zhǎng)CD可以顯示的RGB數(shù)據(jù),如果圖像分辨率大于LCD分辨率,進(jìn)行數(shù)據(jù)的縮放,最后合并進(jìn)LCD的framebuffer進(jìn)行圖像的顯示。整個(gè)執(zhí)行過程如圖5所示。

        3.2 視頻數(shù)據(jù)的處理

        以面向?qū)ο蟮乃枷朐O(shè)計(jì)整個(gè)系統(tǒng)框架,這里將所有關(guān)于攝像頭的操作放到v4l2.c文件里,把所有對(duì)攝像頭的操作函數(shù)抽象并封裝在一個(gè)結(jié)構(gòu)體中,里面包含了攝像頭的初始化,啟動(dòng)/關(guān)閉攝像頭,獲得/釋放攝像頭采集的數(shù)據(jù)等。其構(gòu)造的結(jié)構(gòu)體定義如下:

        static T_VideoOpr g_tV4l2VideoOpr = {

        .name = \"v4l2\",

        .InitDevice = V4l2InitDevice,

        .ExitDevice = V4l2ExitDevice,

        .GetFrame = V4l2GetFrame,

        .PutFrame = V4l2PutFrame,

        .StartDevice = V4l2StartDevice,

        .StopDevice = V4l2StopDevice,

        };

        其中:V4l2InitDevice負(fù)責(zé)攝像頭的初始化;V4l2ExitDevice負(fù)責(zé)攝像頭退出時(shí)釋放緩存;V4l2StartDevice負(fù)責(zé)啟動(dòng)攝像頭;V4l2StopDevice關(guān)閉攝像頭;V4l2GetFrame負(fù)責(zé)獲取攝像頭數(shù)據(jù);V4l2PutFrame負(fù)責(zé)將讀取完的數(shù)據(jù)緩存放入隊(duì)列。存儲(chǔ)攝像頭讀取的數(shù)據(jù)也抽象為一個(gè)ptVideoBuf結(jié)構(gòu)體,里面包含了數(shù)據(jù)格式,一幀數(shù)據(jù)的寬度,一幀數(shù)據(jù)的高度等。當(dāng)程序調(diào)用V4l2StartDevice,攝像頭就開始工作,之后進(jìn)入死循環(huán)中不斷地采集數(shù)據(jù),實(shí)時(shí)在LCD屏幕上顯示。系統(tǒng)調(diào)用V4l2GetFrame函數(shù)采集獲取攝像頭數(shù)據(jù),把數(shù)據(jù)從等待隊(duì)列中取出,放入之前設(shè)置好的ptVideoBuf數(shù)據(jù)結(jié)構(gòu)中。當(dāng)這一幀數(shù)據(jù)在LCD顯示完時(shí),程序調(diào)用V4l2PutFrame函數(shù)將之前的數(shù)據(jù)結(jié)構(gòu)重新放入等待隊(duì)列,供攝像頭下次采集存放新的數(shù)據(jù)。

        3.3 視頻數(shù)據(jù)的轉(zhuǎn)換

        LCD只能顯示RGB格式的數(shù)據(jù),而攝像頭采集的數(shù)據(jù)不是RGB格式,所以采集的數(shù)據(jù)不能直接送到LCD的Framebuffer進(jìn)行圖像顯示,需要進(jìn)行數(shù)據(jù)格式的轉(zhuǎn)換。通常攝像頭采集有V4L2_PIX_FMT_YUYV,V4L2_PIX_FMT_MJPEG,V4L2_PIX_FMT_RGB565等格式的數(shù)據(jù)。需要把它轉(zhuǎn)換為RGB格式的數(shù)據(jù)才能在屏幕上正常顯示。為了方便管理多種格式的數(shù)據(jù)轉(zhuǎn)換,把轉(zhuǎn)換的操作抽象為一個(gè)VideoConvert結(jié)構(gòu)體,里面包含了數(shù)據(jù)轉(zhuǎn)換的所有操作。其構(gòu)造的結(jié)構(gòu)體定義如下:

        struct VideoConvert {

        char *name;

        int (*isSupport)();

        int (*Convert)();

        int (*ConvertExit)();

        struct VideoConvert *ptNext; //方便系統(tǒng)注冊(cè)管理

        };

        本系統(tǒng)使用宇宙通QC288攝像頭采集的數(shù)據(jù)是V4L2_PIX_FMT_MJPEG格式,因而需要用到底層mjpeg2rgb.c文件中的Mjpeg2RgbConvert進(jìn)行數(shù)據(jù)轉(zhuǎn)換。

        3.4 LCD圖像的實(shí)時(shí)顯示

        驅(qū)動(dòng)作為內(nèi)核與硬件之間的橋梁,負(fù)責(zé)對(duì)外設(shè)的訪問。前面在Linux內(nèi)核中移植了自己的LCD驅(qū)動(dòng),硬件上已經(jīng)可以實(shí)現(xiàn)畫面的顯示功能,軟件上需要做的就是把轉(zhuǎn)換好的數(shù)據(jù)放到LCD的Framebuffer(緩存)里就可以實(shí)現(xiàn)圖像的實(shí)時(shí)顯示。內(nèi)核中采用了分層次的設(shè)計(jì)方法,把上層應(yīng)用程序的接口與底層對(duì)硬件的操作分離,在上層接口fbmem.c文件中只提供了FrameBuffer(即幀緩沖技術(shù))設(shè)備驅(qū)動(dòng)的通用文件操作接口,這樣編寫應(yīng)用程序時(shí)就不用過多關(guān)心底層硬件操作的細(xì)節(jié)[13]。應(yīng)用程序操作LCD時(shí),只需要打開設(shè)備,用ioctl操作獲取屏幕參數(shù),映射FrameBuffer到用戶空間,最后直接讀寫映射到用戶空間的緩沖區(qū)就可以實(shí)現(xiàn)圖片或畫面的顯示。本文對(duì)LCD顯示的底層操作在fb.c文件中,Main函數(shù)最終會(huì)調(diào)用到fb.c中的顯示操作,其實(shí)現(xiàn)過程就是把攝像頭轉(zhuǎn)換好的RGB數(shù)據(jù)放入到用戶空間映射好的緩存里。Main函數(shù)里圖像實(shí)時(shí)顯示的主要核心代碼如下:

        /* 讀入攝像頭數(shù)據(jù) */

        ptOPr?>GetFrame(tVideoDevice, tVideoBuf);

        /* 轉(zhuǎn)換為RGB 數(shù)據(jù)*/

        ptVideoConvert?>Convert(tVideoBuf,tConvertBuf);

        /* 圖像實(shí)時(shí)顯示 */

        FlushPixelDatasToDev(tFrameBuf.tPixelDatas);

        /* 釋放緩存 */

        ptOPr?>PutFrame(tVideoDevice,tVideoBuf);

        當(dāng)打開攝像頭運(yùn)行應(yīng)用程序時(shí),攝像頭所采集的數(shù)據(jù)可以在LCD上實(shí)時(shí)顯示,沒有出現(xiàn)延時(shí)或圖像模糊等問題,實(shí)時(shí)顯示效果良好。實(shí)際的顯示效果如圖6所示。

        4 結(jié) 語

        本文在分析UVC驅(qū)動(dòng)模型框架的基礎(chǔ)上敘述了嵌入式Linux中的UVC驅(qū)動(dòng)以及在Linux?3.0.1內(nèi)核的基礎(chǔ)上移植LCD驅(qū)動(dòng),并設(shè)計(jì)了系統(tǒng)的軟件框架。實(shí)際測(cè)試表明,該系統(tǒng)框架設(shè)計(jì)在硬件的平臺(tái)上運(yùn)行良好,可以滿足任何符合UVC規(guī)范攝像頭數(shù)據(jù)的采集顯示。對(duì)編寫嵌入式Linux系統(tǒng)下的USB攝像頭驅(qū)動(dòng)及應(yīng)用程序具有一定的參考價(jià)值。

        參考文獻(xiàn)

        [1] 王劍非,孟彥杰,趙勇.基于Linux操作系統(tǒng)的視頻采集卡驅(qū)動(dòng)程序設(shè)計(jì)[J].微計(jì)算機(jī)信息,2007(2):94?96.

        [2] 姚婭川.嵌入式圖像實(shí)時(shí)采集系統(tǒng)設(shè)計(jì)[J].半導(dǎo)體技術(shù),2010,35(7):719?722.

        [3] 趙冰,霍春寶,李巖松.基于嵌入式Linux的3G無線視頻監(jiān)控系統(tǒng)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2013,13(3):56?58.

        [4] 許剛.基于ARM 11的嵌人式視頻采集系統(tǒng)設(shè)計(jì)[J].測(cè)控技術(shù),2013,32(12):37?40.

        [5] 王曉華,賈繼洋.基于ARM的遠(yuǎn)程實(shí)時(shí)視頻監(jiān)控系統(tǒng)的研制[J].西安工程大學(xué)學(xué)報(bào),2014,28(5):579?582.

        [6] 王溢琴,秦振吉,蘆彩林.基于Arm?Linux的隧道視頻監(jiān)控系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2014,22(4):1090?1095.

        [7] 暢衛(wèi)功.嵌入式Linux中USB攝像頭驅(qū)動(dòng)的研究[J].微計(jì)算機(jī)信息,2008(24):54?56.

        [8] 劉衡,趙元龍,褚燕偉.Linux下USB攝像頭驅(qū)動(dòng)的實(shí)現(xiàn)[J].軟件導(dǎo)刊,2012(9):18?20.

        [9] 宋麗華,高珂.嵌入式Linux下USB攝像頭驅(qū)動(dòng)實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2010,36(9):282?284.

        [10] Samsung. S3C6410x datasheet [EB/OL]. [2009?08?25]. http://www.datasheetarchive.com/samsung%20S3C6410?datasheet.html.

        [11] LIU Yonglin, CHENG Yaoyu, LIANG Ying, et al. Design and implementation of image acquisition system based on ARM and Linux [C]// Proceedings of 2011 IEEE International Conference Electronics and Optoelectronics. [S.l.]: IEEE, 2011: 49?52.

        [12] 王溢琴,秦振吉,蘆彩林.基于嵌入式的智能家居之視頻監(jiān)控系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2014,22(11):3623?3626.

        [13] HWANG J N, LIU Q. On realtime remote display of a digital video recording system [C]// Proceedings of 2004 IEEE International Conference on Acoustics. [S.l.]: IEEE, 2004: 861?864.

        伊人久久大香线蕉亚洲五月天 | 男女猛烈拍拍拍无挡视频| 国产99久久久久久免费看| 国产精品无码久久久久免费AV| 亚洲最黄视频一区二区| 国产亚洲精品国产精品| 亚洲精品一区国产欧美| 亚洲综合国产精品一区二区99| 国产青青草自拍视频在线播放| 国产日产久久高清ww| 色妞ww精品视频7777| 亚洲红怡院| 青青草最新在线视频观看 | 亚洲天堂一区二区三区视频| 亚洲乱码一区二区三区在线观看 | 无码中文字幕日韩专区| 国产成人av 综合 亚洲| 黄色网址国产| 亚洲精品一区二区三区播放| 人妻少妇被粗大爽视频| 女人被爽到高潮视频免费国产| 日韩精品一区二区三区在线观看| 一区二区丝袜美腿视频| 蜜桃av人妻精品一区二区三区| 人妻少妇不满足中文字幕| 欧美日韩国产一区二区三区地区| 91中文字幕精品一区二区| 无码国产精成人午夜视频一区二区 | 老湿机香蕉久久久久久| 亚洲AV永久无码精品表情包 | 亚洲中文字幕第二十三页| 日韩女同精品av在线观看| 国产精品_国产精品_k频道| 全部免费国产潢色一级| 男男互吃大丁视频网站| 美腿丝袜在线一区二区| 国产精品对白刺激久久久| 日韩av二区三区一区| 国产麻豆剧传媒精品国产av| 欧美性白人极品1819hd| 欧美性猛交xxxx黑人猛交|