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

TVP5150和i.MX27的模擬視頻采集系統(tǒng)設(shè)計(jì)

2016-03-10 01:58:55

李 敏

(南京理工大學(xué) 自動(dòng)化學(xué)院, 南京 210000)

?

TVP5150和i.MX27的模擬視頻采集系統(tǒng)設(shè)計(jì)

李敏

(南京理工大學(xué) 自動(dòng)化學(xué)院, 南京 210000)

摘要:對(duì)目前可視對(duì)講系統(tǒng)的視頻采集技術(shù)進(jìn)行了研究,探討視頻解碼芯片應(yīng)用于可視對(duì)講系統(tǒng)的視頻采集的可行性。以TVP5150為視頻解碼芯片,i.MX27為系統(tǒng)控制核心,利用Linux2.6內(nèi)核,通過(guò)I2C總線初始化TVP5150,使用Linux系統(tǒng)中視頻設(shè)備的內(nèi)核驅(qū)動(dòng)構(gòu)架V4L2,實(shí)現(xiàn)了視頻采集功能。

關(guān)鍵詞:TVP5150;視頻采集;Linux內(nèi)核;i.MX27

引言

傳統(tǒng)的對(duì)講系統(tǒng)采用模擬音視頻信號(hào)傳輸,存在施工布線復(fù)雜、成本高、容易占線、傳輸距離有限、抗干擾能力差、穩(wěn)定性差、無(wú)法兼容等缺點(diǎn),而數(shù)字化技術(shù)的導(dǎo)入彌補(bǔ)了以上缺陷。作為視訊安防領(lǐng)域主流使用的多媒體SoC處理器,i.MX27具有出眾的綜合能力和性價(jià)比,適用于中低端多媒體應(yīng)用場(chǎng)合。

i.MX27在視頻編解碼以及圖像處理方面優(yōu)勢(shì)明顯,芯片內(nèi)置硬件編解碼模塊,可以實(shí)現(xiàn)H.264全雙工編解碼;片內(nèi)集成多媒體硬件加速器,可以完成視頻圖像的預(yù)處理和后處理。根據(jù)系統(tǒng)的功能需求,綜合考慮芯片性能、外設(shè)擴(kuò)展等因素,選擇Freescale公司的i.MX27作為系統(tǒng)的處理器芯片。

1系統(tǒng)原理及總體硬件設(shè)計(jì)

通過(guò)攝像頭采集模擬視頻信號(hào),經(jīng)過(guò)視頻解碼芯片TVP5150轉(zhuǎn)換成YCbCr數(shù)字視頻信號(hào),然后通過(guò)i.MX27的CSI接口完成視頻數(shù)據(jù)的采集工作。圖1是系統(tǒng)原理框圖,包括TVP5150的參數(shù)設(shè)置電路和數(shù)據(jù)采集電路。

圖1 系統(tǒng)原理框圖

1.1視頻輸入模塊

本系統(tǒng)中,通過(guò)模擬攝像頭進(jìn)行視頻采集,模擬攝像頭的輸出信號(hào)制式為PAL,再通過(guò)解碼芯片將模擬視頻信號(hào)轉(zhuǎn)換成i.MX27提供的CSI接口所支持的YCbCr信號(hào)。

本系統(tǒng)使用的是TI公司生產(chǎn)的TVP5150數(shù)字視頻解碼器芯片,輸入為1路S-Video信號(hào),支持NTSC/PAL/SECAM等制式的視頻[1];輸出ITU-R BT.656內(nèi)嵌同步信號(hào)的數(shù)據(jù);通過(guò)I2C總線接口設(shè)置內(nèi)部寄存器從而控制TVP5150芯片參數(shù)(包括亮度、對(duì)比度、色調(diào)、飽和度等)。芯片只需外接一個(gè)14.318 MHz晶振,就可以支持各個(gè)標(biāo)準(zhǔn)視頻格式,同時(shí)提供像素時(shí)鐘PIXCLK、行同步信號(hào)HSYNC、場(chǎng)同步信號(hào)VSYNC,便于外部電路讀取圖像。

1.2圖像采集控制

圖像采集控制部分選用多媒體SoC處理器芯片[2]——Freescale公司生產(chǎn)的i.MX27。i.MX27提供的CSI傳感器接口支持CCIR656視頻格式接口;8位數(shù)據(jù)端口,支持YCC、YUV、RGB和Bayer數(shù)據(jù)輸入;支持8位或16位數(shù)據(jù)接收到32位FIFO中打包;FIFO中的像素?cái)?shù)據(jù)可以通過(guò)可編程I/O或DMA直接讀取;與eMMA中的PrP預(yù)處理器有專用鏈接,視頻數(shù)據(jù)可以直接傳輸給PrP;傳感器主時(shí)鐘頻率可設(shè)置。通過(guò)引腳配置,設(shè)置8位數(shù)據(jù)信號(hào)輸入,場(chǎng)同步信號(hào)VSYNC、行同步信號(hào)HSYNC、像素時(shí)鐘信號(hào)PIXCLK。

2系統(tǒng)工作流程

系統(tǒng)上電后,首先完成處理器芯片i.MX27的初始化,然后i.MX27通過(guò)I2C總線對(duì)TVP5150進(jìn)行初始化,設(shè)置其工作狀態(tài);完成初始化后,系統(tǒng)開(kāi)始運(yùn)行;CSI接口接收從TVP5150傳輸過(guò)來(lái)的YUV視頻數(shù)據(jù),并且通過(guò)DMA通道直接送給預(yù)設(shè)好的存儲(chǔ)區(qū)域。

2.1TVP5150初始化

TVP5150內(nèi)部有寄存器,在芯片上電復(fù)位后必須對(duì)其初始化才能使其正常工作。i.MX27通過(guò)I2C總線設(shè)置TVP5150內(nèi)部寄存器,從而完成初始化及參數(shù)配置。TVP5150中,引腳SCL設(shè)為時(shí)鐘輸入,SDA設(shè)為數(shù)據(jù)輸入。當(dāng)SCL為高電平時(shí),SDA由高電平向低電平跳變,開(kāi)始數(shù)據(jù)寫入。I2C總線在傳送數(shù)據(jù)時(shí),必須保證在SCL為高電平時(shí)SDA上數(shù)據(jù)穩(wěn)定,否則就判斷為開(kāi)始或結(jié)束信號(hào)。I2C主設(shè)備發(fā)送一個(gè)字節(jié)后,從設(shè)備需要將數(shù)據(jù)線SDA拉低作為應(yīng)答信號(hào)(ACK)返回給主設(shè)備,才能表示發(fā)送成功。

下面簡(jiǎn)要介紹如何利用Linux2.6實(shí)現(xiàn)I2C總線功能,初始化TVP5150。

Linux2.6對(duì)I2C總線具有很好的支持,在Linux系統(tǒng)中,抽象出了3個(gè)層次:平臺(tái)依賴層、硬件抽象層和用戶接口層[3]。

驅(qū)動(dòng)中的I2C適配器對(duì)應(yīng)于I2C總線上的一個(gè)I2C設(shè)備,在本設(shè)計(jì)中TVP5150就是一個(gè)I2C適配器。

硬件抽象層為上層提供I2C適配器驅(qū)動(dòng)和設(shè)備驅(qū)動(dòng)的注冊(cè)、注銷管理等API,其為硬件平臺(tái)無(wú)關(guān)層,向下屏蔽了物理總線適配器的差異,定義了統(tǒng)一的訪問(wèn)策略和接口,向上提供了統(tǒng)一的接口,便于I2C設(shè)備驅(qū)動(dòng)通過(guò)總線適配器進(jìn)行數(shù)據(jù)收發(fā),主體存在于i2c-core.h和i2c-core.c這兩個(gè)文件中,本設(shè)計(jì)中不需要修改這兩個(gè)文件。

用戶接口層為用戶提供了通過(guò)I2C總線訪問(wèn)具體設(shè)備的接口,I2C設(shè)備驅(qū)動(dòng)主要包含了數(shù)據(jù)結(jié)構(gòu)i2c_driver和i2c_client,本設(shè)計(jì)需要根據(jù)具體設(shè)備實(shí)現(xiàn)其中的成員函數(shù)[4]。

本設(shè)計(jì)在tvp5150.c文件中實(shí)現(xiàn)了TVP5150用戶接口層的I2C驅(qū)動(dòng)配置。

static struct i2c_driver driver = {

.driver = {

.name = "tvp5150",//I2C設(shè)備名

},

.id = I2C_DRIVERID_TVP5150,//I2C設(shè)備號(hào)

.attach_adapter = tvp5150_attach_adapter,

//I2C設(shè)備掛載函數(shù)

.detach_client = tvp5150_detach_client,

//I2C設(shè)備卸載函數(shù)

.command = tvp5150_command,//處理命令請(qǐng)求函數(shù)

};

在芯片驅(qū)動(dòng)文件tvp5150.c中,函數(shù)tvp5150_config對(duì)寄存器進(jìn)行了設(shè)置:

tvp5150_write_reg(0x00, 0x00);

//設(shè)置芯片從AIP1A通道輸入單路信號(hào)

tvp5150_write_reg(0x03, 0x09);

/*禁止27引腳輸出,使能YOUT[7:0]視頻數(shù)據(jù)和像素時(shí)鐘SCLK輸出,HSYNC、VSYNC/PALI、AVID、FID/GLCO引腳為高阻態(tài),關(guān)閉場(chǎng)消隱信號(hào)*/

tvp5150_write_reg(0x0D, 0x47);

//設(shè)置輸出格式為ITU-R BT.656

通過(guò)以上設(shè)置,TVP5150已經(jīng)可以正常工作。

2.2CSI接口的初始化

CSI模塊以YUV格式接收數(shù)字視頻的輸入以及時(shí)序控制信號(hào),TVP5150輸出的YUV420數(shù)字視頻信號(hào)輸入到CSI接口,通過(guò)時(shí)序邏輯輸入到RxFIFO寄存器,在視頻采集模式下不屏蔽CPU的訪問(wèn),后續(xù)的DMA通道直接傳輸RxFIFO中的數(shù)據(jù)給CPU。將CSI的控制寄存器1(CSICR1)的第28位PrP_IF_EN置為0,以屏蔽CSI和PrP直連通道。

2.3應(yīng)用層實(shí)現(xiàn)

V4L2是Linux系統(tǒng)中視頻設(shè)備的內(nèi)核驅(qū)動(dòng)架構(gòu)[5],對(duì)于視頻采集功能,V4L2提供了v4l2 capture驅(qū)動(dòng)專門處理,catpure驅(qū)動(dòng)均封裝在內(nèi)核文件mxc_capture.c中,而其下層則是與硬件交互的CSI驅(qū)動(dòng)。

應(yīng)用層的具體實(shí)現(xiàn)都通過(guò)V4L2庫(kù)中的用戶編程接口來(lái)完成,已經(jīng)屏蔽了所有的硬件。在打開(kāi)視頻設(shè)備之后,需要對(duì)視頻捕獲格式等參數(shù)進(jìn)行設(shè)置,v4l2提供了兩個(gè)重要的結(jié)構(gòu)體來(lái)實(shí)現(xiàn)[6]。

(1) struct v4l2_format結(jié)構(gòu)體

v4l2_format結(jié)構(gòu)體用來(lái)設(shè)置視頻捕獲格式,由于后續(xù)的視頻編碼模塊支持的最大分辨率是720×576,因此這里視頻捕獲窗口大小設(shè)為720×576,并且TVP5150A輸出的視頻數(shù)據(jù)是YUV420格式的,因此該結(jié)構(gòu)體各參數(shù)設(shè)置如下:

fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;

//設(shè)置工作模式為CAPTURE

fmt.fmt.pix.pixelformat =V4L2_PIX_FMT_YUV420;

//設(shè)置采集格式為YUV420

fmt.fmt.pix.width = 720;//設(shè)置幀寬720像素

fmt.fmt.pix.height = 576;//設(shè)置幀高576像素

fmt.fmt.pix.bytesperline = 720;

fmt.fmt.pix.priv = 0;

fmt.fmt.pix.sizeimage = 0;

fmt.fmt.pix.field = V4L2_FIELD_INTERLACED;

(2) struct v4l2_streamparam結(jié)構(gòu)體

struct v4l2_streamparam結(jié)構(gòu)體用來(lái)設(shè)置視頻流的幀速率。

parm.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;

parm.parm.capture.timeperframe.numerator = 1;

parm.parm.capture.timeperframe.denominator =30;

//視頻流的幀速率為30 fps

parm.parm.capture.capturemode = 0;

設(shè)置好攝像頭的采集參數(shù)之后,需要為視頻幀的存儲(chǔ)申請(qǐng)緩沖區(qū),這里的緩沖區(qū)是個(gè)環(huán)形隊(duì)列,視頻流開(kāi)啟后,v4l2驅(qū)動(dòng)程序會(huì)按照設(shè)定的幀速率(這里是30 fps)來(lái)更新環(huán)形隊(duì)列,用戶空間每次都是從這個(gè)環(huán)形緩沖隊(duì)列中獲取幀數(shù)據(jù)。這里將環(huán)形隊(duì)列大小設(shè)為典型值3,即可以存放3個(gè)幀緩沖。

3功能驗(yàn)證

視頻流開(kāi)啟后,利用Linux提供的mmap I/O讀取方式,循環(huán)地讀取視頻數(shù)據(jù)[7],再利用CSI接口與eMMA中的前處理器PrP的直連通道,將YUV數(shù)據(jù)轉(zhuǎn)換成用于RGB數(shù)據(jù),再傳輸給視頻編碼芯片轉(zhuǎn)換成模擬視頻信號(hào),利用LCD進(jìn)行視頻顯示。實(shí)驗(yàn)結(jié)果表明,得到的視頻圖像清晰穩(wěn)定。

結(jié)語(yǔ)

參考文獻(xiàn)

[1] TEXAS INSTRUMENTS.TVP5150AM1 Data Manual,2004.

[2] 何晶,孫義和.多媒體處理器結(jié)構(gòu)綜述[J].計(jì)算機(jī)工程,2007,33(9):222-224.

[3] 宋寶華.Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解[M].北京:人民郵電出版社,2008:208-240.

[4] JONATHAN CORBET.Linux設(shè)備驅(qū)動(dòng)程序[M].3版.北京:中國(guó)電力出版社,2006:21-298.

[5] 李珊珊,王旭國(guó).基于V4L2的遠(yuǎn)程視頻采集系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].武漢:武漢理工大學(xué).2011:1-4.

[6] COX A.Video 4 Linux Programming[EB/OL].[2015-08]. www.redhat.com.

[7] 龔周.基于Linux的通用視頻音頻采集系統(tǒng)的設(shè)計(jì)[J].電腦知識(shí)與技術(shù),2008,3(22):1-6.

李敏(碩士研究生),主要從事樓宇可視對(duì)講系統(tǒng)的研究。

美滿電子科技宣布,Marvell EZ-Connect MW300和MW302微控制器單芯片系統(tǒng)(SoC)將支持面向IoT設(shè)備的通信協(xié)議Google Weave,其用來(lái)通過(guò)移動(dòng)設(shè)備和Web進(jìn)行設(shè)備配置、手機(jī)到設(shè)備到云的通信以及用戶互動(dòng)。MW300系列微控制器是高集成度SoC,為IoT應(yīng)用而優(yōu)化,配備了全面的軟件開(kāi)發(fā)工具包,該工具包支持Apple HomeKit以及多種IoT云平臺(tái),例如亞馬遜的AWS-IoT Service。Marvell業(yè)界領(lǐng)先的EZ-Connect微控制器已經(jīng)得到全球領(lǐng)先設(shè)備制造商的采用,用來(lái)開(kāi)發(fā)廣泛的產(chǎn)品,包括家用電器、恒溫器、一氧化碳/煙霧探測(cè)器、玩具、無(wú)線存儲(chǔ)系統(tǒng)、HomeKit配件以及其他智能連接產(chǎn)品。Marvell客戶現(xiàn)在能夠快速開(kāi)發(fā)全面支持Google Weave的產(chǎn)品并推向市場(chǎng)。前不久,Marvell剛剛推出Andromeda Box物聯(lián)網(wǎng)平臺(tái),該平臺(tái)面向基于安卓的Google Brillo操作系統(tǒng),提供對(duì)Google Weave協(xié)議的原生支持。Marvell IoT平臺(tái)除了已支持的基于Brillo OS的網(wǎng)關(guān)、集線器和邊緣設(shè)備,現(xiàn)又增加了對(duì)基于Weave協(xié)議的終端設(shè)備的支持,Marvell為領(lǐng)先設(shè)備制造商和開(kāi)發(fā)商提供了一款真正端到端的IoT平臺(tái)。

Marvell EZ-Connect MW300 Wi-Fi微控制器的主要特性:高集成度SoC,采用強(qiáng)大的Cortex-M4F微控制器,支持802.11n Wi-Fi無(wú)線連接;安全引導(dǎo)以從根本上可信的硬件為基礎(chǔ),實(shí)現(xiàn)了徹底的多層安全解決方案,支持安全持久的存儲(chǔ)和通信。

Marvell EZ-Connect MW300和MW302無(wú)線微控制器SoC面向所有IoT應(yīng)用,包括可穿戴設(shè)備、家居自動(dòng)化、家居安防、個(gè)人醫(yī)療保健、智能家電、智能玩具、配飾與遙控器、汽車、照明、工業(yè)互聯(lián)網(wǎng)以及更多應(yīng)用。

Analog Video Acquisition System Based on TVP5150A and i.MX27

Li Min

(College of Automation,Nanjing University of Science and Technology,Nanjing 210000,China)

Abstract:In the paper,the video capture technology of video intercom system is researched,and the feasibility of the video decoder chip is discussed.In the system,TVP5150 is used as the video decoder and i.MX27 is used as the control kernel.The kernel of Linux2.6 is used to initialize the TVP5150 through the I2C bus,and the kernel driver architecture V4L2 of the video device with Linux system is used to achieve the function of video acquisition.

Key words:TVP5150;video acquisition;Linux kernel;i.MX27

收稿日期:(責(zé)任編輯:楊迪娜2015-08-10)

中圖分類號(hào):TP332

文獻(xiàn)標(biāo)識(shí)碼:A

主站蜘蛛池模板: 欧美一区二区三区不卡免费| 国产乱肥老妇精品视频| 久久精品最新免费国产成人| AV天堂资源福利在线观看| yy6080理论大片一级久久| 亚洲AV无码不卡无码| 色噜噜中文网| 久久这里只有精品国产99| 国内毛片视频| 丰满人妻久久中文字幕| 狠狠色丁香婷婷综合| 日韩精品亚洲一区中文字幕| 欧美成人二区| 国产精品福利导航| 日本国产在线| 无码中文字幕乱码免费2| 永久免费无码成人网站| 91在线激情在线观看| 日本人妻一区二区三区不卡影院| 欧洲一区二区三区无码| 无码国内精品人妻少妇蜜桃视频| 欧美精品在线免费| 国产精品久久自在自2021| 亚洲成人免费看| 亚洲AⅤ永久无码精品毛片| 成人在线第一页| 久久香蕉国产线看观看式| 中文无码影院| 中文字幕乱码中文乱码51精品| 91麻豆国产精品91久久久| 精品五夜婷香蕉国产线看观看| 欧美影院久久| 亚洲av色吊丝无码| 91福利免费视频| 丁香亚洲综合五月天婷婷| 国产精品第一区| 国产色婷婷| 97青草最新免费精品视频| 午夜老司机永久免费看片| 3D动漫精品啪啪一区二区下载| 亚洲一区二区成人| 二级毛片免费观看全程| 在线看片中文字幕| 秋霞国产在线| 成人日韩精品| 国产色爱av资源综合区| 一级毛片无毒不卡直接观看 | 蜜臀AV在线播放| 国产欧美日韩一区二区视频在线| 91国内视频在线观看| 亚洲三级a| 国产在线自揄拍揄视频网站| 欧美日韩国产在线观看一区二区三区| 亚洲乱码在线视频| 麻豆精选在线| 亚洲bt欧美bt精品| 亚洲中文在线视频| a毛片在线| 国产人成在线视频| 色综合a怡红院怡红院首页| 一本色道久久88亚洲综合| 婷婷综合色| 高清精品美女在线播放| 国产在线八区| 欧美综合成人| 精品伊人久久大香线蕉网站| 真实国产乱子伦高清| 91毛片网| 亚洲第一黄色网址| 制服丝袜在线视频香蕉| 久久一日本道色综合久久| 欧美a在线视频| 久夜色精品国产噜噜| 国产杨幂丝袜av在线播放| 欧美在线黄| 日韩AV手机在线观看蜜芽| 视频二区国产精品职场同事| 欧美日韩午夜| 国产美女在线免费观看| 日韩小视频在线播放| 免费毛片在线| 国产一二三区在线|