當前位置:首頁 > 顯示光電 > 顯示光電
[導(dǎo)讀]摘要 為滿足高清視頻監(jiān)控的需求,針對目前raw格式傳感器的驅(qū)動支持尚不完善的問題。文中基于TI公司的DM6467T芯片硬件平臺,利用芯片提供的VPIF接口,對高清攝像頭進行驅(qū)動程序的設(shè)計。分析了V4L2驅(qū)動結(jié)構(gòu),并分別對V

摘要 為滿足高清視頻監(jiān)控的需求,針對目前raw格式傳感器的驅(qū)動支持尚不完善的問題。文中基于TI公司的DM6467T芯片硬件平臺,利用芯片提供的VPIF接口,對高清攝像頭進行驅(qū)動程序的設(shè)計。分析了V4L2驅(qū)動結(jié)構(gòu),并分別對V4L2核心驅(qū)動、VPIF接口驅(qū)動以及傳感器驅(qū)動進行修改及設(shè)計。編寫了驅(qū)動測試程序,實驗結(jié)果表明,該設(shè)計能成功采集到raw格式的圖像數(shù)據(jù),對同類傳感器驅(qū)動設(shè)計具有一定參考價值。

隨著數(shù)字視頻技術(shù)成為安防監(jiān)控與視頻會議不可缺少的一部分,人們對視頻穩(wěn)定性、圖像清晰度以及數(shù)據(jù)實時性的要求也逐步提高。為得到更清晰的圖像,TI(德州儀器)推出了達芬奇系列芯片。該系列芯片善于處理多媒體數(shù)據(jù),支持多種視頻格式的輸入和高清視頻的輸入。對于YUV格式的視頻圖像輸入,目前已有較為成熟的驅(qū)動可直接使用,然而常見的傳感器通常輸出raw格式的視頻數(shù)據(jù),raw格式的是最原始的視頻數(shù)據(jù),其信息量最大,現(xiàn)階段對傳感器的驅(qū)動支持尚不完善。本文基于Linux環(huán)境,介紹了V4L2、VPIF和傳感器驅(qū)動之間的關(guān)系,完成視頻采集設(shè)備驅(qū)動的設(shè)計及簡單測試程序的編寫。

1 硬件平臺架構(gòu)介紹

在進行驅(qū)動程序設(shè)計之前,首先要了解相關(guān)硬件設(shè)備的信息。

1.1 DM6467T介紹

DM6467T是TI公司推出的一款達芬奇系列的雙核芯片。達芬奇技術(shù)的基礎(chǔ)是集成了DSP與ARM雙內(nèi)核的片上系統(tǒng),ARM內(nèi)核可加載操作系統(tǒng),主要起控制和管理作用,DSP內(nèi)核相當于一個只負責處理編解碼算法的協(xié)處理器。DM6467T擁有1 GHz主頻的DSP內(nèi)核,500 MHz主頻的ARM926E—JS內(nèi)核以及2個HDVICP硬件協(xié)處理器?;诙嗝襟w背景提出的DM646 7T,不僅運算能力高,且具有較強的控制能力。

DM6467T擁有VPIF(Video Port Interface)視頻接口功能模塊,VPIF模塊管理著視頻數(shù)據(jù)的輸入輸出功能,可滿足各種視頻輸入輸出設(shè)備的格式。該模塊有4路可配置的數(shù)據(jù)通道,每路為8 bit的數(shù)據(jù)寬度,其中兩路用于視頻輸出,另兩路用于視頻輸入。VPIF支持ITU—BT.656、ITU—BT.1120格式的視頻,也可支持數(shù)據(jù)寬度為8/10/12 bit的raw格式圖像數(shù)據(jù)。

1.2 MT9P031傳感器

MT9P031傳感器是Aptina公司推出的一款高清傳感器,最高可支持2 592×1 944像素的視頻采集。在720p的視頻格式下,每秒可采集60幀視頻圖像。MT9P031利用I2C(Inter-Integrated Circuit)總線進行通信,通過I2C設(shè)置傳感器內(nèi)部寄存器,即可控制傳感器的工作模式及工作參數(shù)。I2C總線是由Philips公司開發(fā)的兩線式串行總線,用于連接微控制器及其外圍設(shè)備。

傳感器端連接示意圖如圖1所示。傳感器的數(shù)據(jù)接口與DM6467T的VPIF接口相連接。MT9P031傳感器采集輸出的是12位寬度的原始數(shù)據(jù),需要占用VPIF接口中兩路8 bit的數(shù)據(jù)通道,傳感器利用行同步信號與幀同步信號進行同步,其同步信號與VPIF接口相連接。

 

 

2 視頻驅(qū)動設(shè)計

2.1 V4L2驅(qū)動

V4L2(Video for Linux two)是Linux下開發(fā)視頻采集設(shè)備驅(qū)動程序的一套規(guī)范,這套規(guī)范使用分層的方法為驅(qū)動程序的開發(fā)提供了清晰的模型和一致的接口。V4L2本身是一個字符設(shè)備,具有字符設(shè)備的所有特性,直接將接口暴露給用戶。當視頻設(shè)備連接到主機后,驅(qū)動程序會首先注冊一個主設(shè)備號為81的字符設(shè)備,其是硬件唯一的身份標識。

圖2展示了V4L2的驅(qū)動結(jié)構(gòu)。驅(qū)動正常加載完畢后,會在/dev目錄下產(chǎn)生/dev/videoX設(shè)備節(jié)點。圖中的V4L2驅(qū)動核心構(gòu)建一個內(nèi)核中標準視頻設(shè)備驅(qū)動的框架,為視頻操作提供統(tǒng)一的接口函數(shù)。平臺V4L2驅(qū)動部分,根據(jù)平臺自身的特性實現(xiàn)與平臺相關(guān)的驅(qū)動,平臺驅(qū)動用于控制視頻接收端的相關(guān)操作。本文采用DM6467T處理器,使用DM6467T的VPIF接口,該平臺驅(qū)動即VPIF驅(qū)動。用戶在利用接口進行操作時,V4L2調(diào)用平臺驅(qū)動所提供的功能對DM6467T進行操作。用戶需要采集傳感器數(shù)據(jù)時,利用V4L2驅(qū)動核心提供的接口進行操作,驅(qū)動核心將負責下層驅(qū)動的調(diào)用,完成數(shù)據(jù)采集工作。

 

 

2.2 VPIF接口驅(qū)動

VPIF(Video Port Interface)是DM6467視頻接口功能模塊,VPIF接口共4路數(shù)據(jù)通道,兩路8位視頻輸入通道,兩路輸出通道,其4路通道擁有相同的硬件結(jié)構(gòu)。DM6467T通過VPIF接口接收傳感器采集的視頻數(shù)據(jù),并將所有輸入數(shù)據(jù)都緩存在片內(nèi)Flash中。

首先需設(shè)計驅(qū)動初始化程序,在加載驅(qū)動過程中,VPIF需要進行初始化工作,主要包括分配緩沖,檢測設(shè)備類型,分配內(nèi)存給通道對象,將設(shè)備注冊為V4l2_dev,申請視頻數(shù)據(jù)接收時的中斷,該中斷表示一幀視頻數(shù)據(jù)接收完成。注冊相關(guān)的控制類函數(shù),該類函數(shù)將實現(xiàn)用戶層接口的控制操作。

余下的VPIF驅(qū)動函數(shù)設(shè)計可分為3部分:(1)用戶控制相關(guān)的操作函數(shù),該類函數(shù)實現(xiàn)V4L2中ioctl函數(shù)的具體操作。用戶可通過V4L2對VPIF進行查詢設(shè)備能力、設(shè)置像素、設(shè)置標準格式、申請緩沖區(qū)、對緩沖區(qū)進行操作和開啟或停止視頻采集等操作。(2)字符設(shè)備操作相關(guān)的函數(shù),包括設(shè)備打開的實現(xiàn),設(shè)備被關(guān)閉時資源釋放以及內(nèi)存映射的實現(xiàn)。(3)實現(xiàn)中斷服務(wù)程序。采集視頻數(shù)據(jù)階段,每接收到一幀完整數(shù)據(jù)后,系統(tǒng)會產(chǎn)生一個中斷,跳轉(zhuǎn)到中斷服務(wù)程序。產(chǎn)生中斷表示緩存區(qū)域已被接收到的圖像數(shù)據(jù)填滿,中斷服務(wù)程序中需要實現(xiàn)緩存輪換的操作,即將緩存指針指向下一個空白區(qū)域。

2.3 MT9P031驅(qū)動

MT9P031傳感器驅(qū)動首先需要實現(xiàn)初始化功能。傳感器驅(qū)動需要作為v4l2_subdev進行注冊,注冊完成后可在VPIF驅(qū)動中利用v4l2_subdev_call函數(shù)對其進行操作。MT9P031的內(nèi)部控制寄存器由I2C總線進行控制,傳感器驅(qū)動在初始化時還需注冊為I2C設(shè)備,并利用I2C總線進行探測,讀取傳感器的設(shè)備號,檢測傳感器芯片是否正常。

由于MT9P031是V4L2子設(shè)備,驅(qū)動需要實現(xiàn)供上層平臺驅(qū)動調(diào)用的控制函數(shù),包括設(shè)置及獲取當前視頻格式,設(shè)置及獲取視頻參數(shù)以及實現(xiàn)傳感器數(shù)據(jù)采集與停止功能的函數(shù)。

最后需要在芯片相關(guān)的設(shè)置文件中,加入VPIF與傳感器的文件的配置,配置基本參數(shù),如I2C地址、VPIF通道的連接情況等信息。

3 驅(qū)動測試程序

3.1 驅(qū)動程序編寫

本文編寫的驅(qū)動程序直接編譯在內(nèi)核中,在Linux內(nèi)核啟動的過程中,視頻驅(qū)動進行初始化。內(nèi)核加載完畢后,在/dev目錄下產(chǎn)生/dev/vide0設(shè)備節(jié)點,用戶空間通過調(diào)用Open函數(shù)即可打開設(shè)備,進行視頻采集操作。具體流程如圖3所示。

 

 

用戶打開設(shè)備后,利用Ioctrl函數(shù)進行操作,通過VIDIOC_QUERTCAP控制命令可查詢驅(qū)動支持格式,并利用其他控制命令進行相應(yīng)設(shè)置。Linux操作系統(tǒng)和驅(qū)動程序運行在內(nèi)核空間,應(yīng)用程序運行在用戶空間,兩者不能直接使用指針傳遞數(shù)據(jù),需通過VIDIOC_REQBUFS命令和Malloc函數(shù)分別在內(nèi)核空間和用戶空間分配內(nèi)存緩沖區(qū),最后通過Mmap函數(shù)進行內(nèi)存映射。利用VIDIOC_QBUF命令將分配到的緩沖加入緩沖隊列,該隊列將用于存放接收到的視頻數(shù)據(jù)。利用VIDIOC_STREAMON命令開始視頻采集,從緩沖隊列中取到視頻數(shù)據(jù),并保存在SDRAM中,保存完畢后將緩沖區(qū)放回隊列。采集完畢后需先停止視頻采集,調(diào)用Close函數(shù)關(guān)閉視頻設(shè)備,并且釋放申請的內(nèi)存空間。

3.2 測試結(jié)果

最終采集到的視頻數(shù)據(jù)存放在SDRAM中,傳感器采集到的視頻圖像是raw格式的數(shù)據(jù),其數(shù)據(jù)格式為紅綠/綠藍交錯的值,需要利用差值算法將其轉(zhuǎn)換成RGB圖像再進行顯示,最終呈現(xiàn)了較為清晰的圖像,驗證了驅(qū)動程序的正確性。

由于raw格式的數(shù)據(jù)量較大,在實際應(yīng)用中并不適合將該數(shù)據(jù)直接存儲至存儲器中,需要對數(shù)據(jù)進行轉(zhuǎn)碼壓縮,隨后再存儲或通過網(wǎng)絡(luò)進行傳輸。利用該驅(qū)動程序進行網(wǎng)絡(luò)攝像頭的設(shè)計,由于轉(zhuǎn)碼運算量大,在720P的格式下,目前實時的采集播放速率可達到10 fip·s-1。雖未達到傳感器的標準,但驗證了驅(qū)動的正確性,且基本滿足使用需求。對DSP算法進行優(yōu)化后,視頻每秒的幀數(shù)將可進一步提升。

4 結(jié)束語

本文介紹了V4L2驅(qū)動的設(shè)計架構(gòu),利用DM6467T的VPIF接口,設(shè)計了基于DM6467T的高清攝像頭驅(qū)動?,F(xiàn)有基于VPIF接口設(shè)計的驅(qū)動僅支持YUV分量格式的視頻數(shù)據(jù),本文實現(xiàn)了在VPIF下針對raw格式視頻數(shù)據(jù)采集的驅(qū)動,采集數(shù)據(jù)也達到了預(yù)期的效果。raw格式圖像數(shù)據(jù)量大,根據(jù)需求進行處理后,用途廣泛。

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

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

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

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

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

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

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

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

關(guān)鍵字: 騰訊 編碼器 CPU

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

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

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

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

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

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

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

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

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

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉