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

TVP5150和i.MX27的模擬視頻采集系統設計

2016-03-10 01:58:55
單片機與嵌入式系統應用 2016年2期

李 敏

(南京理工大學 自動化學院, 南京 210000)

?

TVP5150和i.MX27的模擬視頻采集系統設計

李敏

(南京理工大學 自動化學院, 南京 210000)

摘要:對目前可視對講系統的視頻采集技術進行了研究,探討視頻解碼芯片應用于可視對講系統的視頻采集的可行性。以TVP5150為視頻解碼芯片,i.MX27為系統控制核心,利用Linux2.6內核,通過I2C總線初始化TVP5150,使用Linux系統中視頻設備的內核驅動構架V4L2,實現了視頻采集功能。

關鍵詞:TVP5150;視頻采集;Linux內核;i.MX27

引言

傳統的對講系統采用模擬音視頻信號傳輸,存在施工布線復雜、成本高、容易占線、傳輸距離有限、抗干擾能力差、穩定性差、無法兼容等缺點,而數字化技術的導入彌補了以上缺陷。作為視訊安防領域主流使用的多媒體SoC處理器,i.MX27具有出眾的綜合能力和性價比,適用于中低端多媒體應用場合。

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

1系統原理及總體硬件設計

通過攝像頭采集模擬視頻信號,經過視頻解碼芯片TVP5150轉換成YCbCr數字視頻信號,然后通過i.MX27的CSI接口完成視頻數據的采集工作。圖1是系統原理框圖,包括TVP5150的參數設置電路和數據采集電路。

圖1 系統原理框圖

1.1視頻輸入模塊

本系統中,通過模擬攝像頭進行視頻采集,模擬攝像頭的輸出信號制式為PAL,再通過解碼芯片將模擬視頻信號轉換成i.MX27提供的CSI接口所支持的YCbCr信號。

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

1.2圖像采集控制

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

2系統工作流程

系統上電后,首先完成處理器芯片i.MX27的初始化,然后i.MX27通過I2C總線對TVP5150進行初始化,設置其工作狀態;完成初始化后,系統開始運行;CSI接口接收從TVP5150傳輸過來的YUV視頻數據,并且通過DMA通道直接送給預設好的存儲區域。

2.1TVP5150初始化

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

下面簡要介紹如何利用Linux2.6實現I2C總線功能,初始化TVP5150。

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

驅動中的I2C適配器對應于I2C總線上的一個I2C設備,在本設計中TVP5150就是一個I2C適配器。

硬件抽象層為上層提供I2C適配器驅動和設備驅動的注冊、注銷管理等API,其為硬件平臺無關層,向下屏蔽了物理總線適配器的差異,定義了統一的訪問策略和接口,向上提供了統一的接口,便于I2C設備驅動通過總線適配器進行數據收發,主體存在于i2c-core.h和i2c-core.c這兩個文件中,本設計中不需要修改這兩個文件。

用戶接口層為用戶提供了通過I2C總線訪問具體設備的接口,I2C設備驅動主要包含了數據結構i2c_driver和i2c_client,本設計需要根據具體設備實現其中的成員函數[4]。

本設計在tvp5150.c文件中實現了TVP5150用戶接口層的I2C驅動配置。

static struct i2c_driver driver = {

.driver = {

.name = "tvp5150",//I2C設備名

},

.id = I2C_DRIVERID_TVP5150,//I2C設備號

.attach_adapter = tvp5150_attach_adapter,

//I2C設備掛載函數

.detach_client = tvp5150_detach_client,

//I2C設備卸載函數

.command = tvp5150_command,//處理命令請求函數

};

在芯片驅動文件tvp5150.c中,函數tvp5150_config對寄存器進行了設置:

tvp5150_write_reg(0x00, 0x00);

//設置芯片從AIP1A通道輸入單路信號

tvp5150_write_reg(0x03, 0x09);

/*禁止27引腳輸出,使能YOUT[7:0]視頻數據和像素時鐘SCLK輸出,HSYNC、VSYNC/PALI、AVID、FID/GLCO引腳為高阻態,關閉場消隱信號*/

tvp5150_write_reg(0x0D, 0x47);

//設置輸出格式為ITU-R BT.656

通過以上設置,TVP5150已經可以正常工作。

2.2CSI接口的初始化

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

2.3應用層實現

V4L2是Linux系統中視頻設備的內核驅動架構[5],對于視頻采集功能,V4L2提供了v4l2 capture驅動專門處理,catpure驅動均封裝在內核文件mxc_capture.c中,而其下層則是與硬件交互的CSI驅動。

應用層的具體實現都通過V4L2庫中的用戶編程接口來完成,已經屏蔽了所有的硬件。在打開視頻設備之后,需要對視頻捕獲格式等參數進行設置,v4l2提供了兩個重要的結構體來實現[6]。

(1) struct v4l2_format結構體

v4l2_format結構體用來設置視頻捕獲格式,由于后續的視頻編碼模塊支持的最大分辨率是720×576,因此這里視頻捕獲窗口大小設為720×576,并且TVP5150A輸出的視頻數據是YUV420格式的,因此該結構體各參數設置如下:

fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;

//設置工作模式為CAPTURE

fmt.fmt.pix.pixelformat =V4L2_PIX_FMT_YUV420;

//設置采集格式為YUV420

fmt.fmt.pix.width = 720;//設置幀寬720像素

fmt.fmt.pix.height = 576;//設置幀高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結構體

struct v4l2_streamparam結構體用來設置視頻流的幀速率。

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;

設置好攝像頭的采集參數之后,需要為視頻幀的存儲申請緩沖區,這里的緩沖區是個環形隊列,視頻流開啟后,v4l2驅動程序會按照設定的幀速率(這里是30 fps)來更新環形隊列,用戶空間每次都是從這個環形緩沖隊列中獲取幀數據。這里將環形隊列大小設為典型值3,即可以存放3個幀緩沖。

3功能驗證

視頻流開啟后,利用Linux提供的mmap I/O讀取方式,循環地讀取視頻數據[7],再利用CSI接口與eMMA中的前處理器PrP的直連通道,將YUV數據轉換成用于RGB數據,再傳輸給視頻編碼芯片轉換成模擬視頻信號,利用LCD進行視頻顯示。實驗結果表明,得到的視頻圖像清晰穩定。

結語

參考文獻

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

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

[3] 宋寶華.Linux設備驅動開發詳解[M].北京:人民郵電出版社,2008:208-240.

[4] JONATHAN CORBET.Linux設備驅動程序[M].3版.北京:中國電力出版社,2006:21-298.

[5] 李珊珊,王旭國.基于V4L2的遠程視頻采集系統設計與實現[D].武漢:武漢理工大學.2011:1-4.

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

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

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

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

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

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

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

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

中圖分類號:TP332

文獻標識碼:A

主站蜘蛛池模板: 久久久国产精品免费视频| 成人精品午夜福利在线播放| 亚洲国产天堂在线观看| 67194亚洲无码| 第一区免费在线观看| 天堂成人在线视频| 国产精品.com| 99精品在线看| 久久这里只有精品8| 99精品热视频这里只有精品7 | 九九热精品视频在线| 欧美国产日韩在线观看| 就去色综合| 亚洲日韩Av中文字幕无码| 国产精品免费电影| 色国产视频| 亚洲日产2021三区在线| 欧美a级在线| 久草视频中文| 热热久久狠狠偷偷色男同| 91色在线视频| aⅴ免费在线观看| 91精选国产大片| 99免费视频观看| 免费xxxxx在线观看网站| 国产超薄肉色丝袜网站| 97av视频在线观看| 毛片a级毛片免费观看免下载| 妇女自拍偷自拍亚洲精品| 69综合网| 亚洲视频免费在线看| 欧洲熟妇精品视频| av在线无码浏览| 久久大香香蕉国产免费网站| 91精品国产一区自在线拍| jizz国产视频| 无码 在线 在线| 亚洲国产精品成人久久综合影院| 亚洲第一黄色网址| 日本黄网在线观看| 亚洲日韩高清无码| 国产AV无码专区亚洲A∨毛片| 黑人巨大精品欧美一区二区区| 亚洲色图欧美视频| 国产一区自拍视频| 在线a网站| 国产亚洲精品资源在线26u| 极品私人尤物在线精品首页| 久久国产黑丝袜视频| 四虎影视库国产精品一区| 亚洲看片网| 青青操国产| 综合人妻久久一区二区精品 | 欧美中文字幕在线视频| 五月天久久综合国产一区二区| 欧美亚洲欧美| 亚洲人成网站18禁动漫无码| 亚洲成人免费在线| 夜夜操国产| 国产一区二区人大臿蕉香蕉| 国产精品久久久久婷婷五月| 黄色网页在线观看| 中国一级毛片免费观看| 中字无码av在线电影| 亚洲人成影视在线观看| 玖玖免费视频在线观看| 91探花国产综合在线精品| 99热这里只有免费国产精品| 中文字幕在线永久在线视频2020| 亚洲熟女偷拍| 国外欧美一区另类中文字幕| 重口调教一区二区视频| 精品无码一区二区三区电影| 午夜免费小视频| 九九香蕉视频| 综合色婷婷| 久久91精品牛牛| 极品私人尤物在线精品首页| 一级不卡毛片| 国产国产人在线成免费视频狼人色| 久久国产高清视频| 视频国产精品丝袜第一页|