DAV首頁(yè)
數字音視工程網(wǎng)

微信公眾號

數字音視工程網(wǎng)

手機DAV

null
null
null
卓華,
招商,
null
null
null
快捷,
null

我的位置:

share

DM368 視頻前端信號采集詳解

來(lái)源:數字音視工程網(wǎng)        編輯:merry2013    2015-07-24 06:42:00     加入收藏    咨詢(xún)

咨詢(xún)
所在單位:*
姓名:*
手機:*
職位:
郵箱:*
其他聯(lián)系方式:
咨詢(xún)內容:
驗證碼:
不能為空 驗證碼錯誤
確定

本文詳細介紹了DM368視頻前端支持的輸入數字信號格式。并以MT9D131和PCVGA信號為例,將兩者的時(shí)序和DM368視頻前端配置參數一一匹配。同時(shí)介紹了如何合理配置...

  本文詳細介紹了DM368 視頻前端支持的輸入數字信號格式。并以MT9D131 和PC VGA 信號為例,將兩者的時(shí)序和 DM368 視頻前端配置參數一一匹配。同時(shí)介紹了如何合理配置和使用 VD 中斷,為 DM368 用戶(hù)正確采集數據提供了參考。本文內容也可以給 DM8127、DM385 芯片的用戶(hù)在使用視頻攝像并行輸入口采集時(shí)提供幫助。

  1 前言

  DM368 是TI 達芬奇系列芯片中的一顆,被廣泛的使用在IPNC(IP net camera 網(wǎng)絡(luò )攝像機)的應用領(lǐng)域里。對于IPNC 應用,首先就需要將視頻信號送入DM368 里面,這就需要使用到DM368 的視頻前端(VPFE - Video Processing Front End)。DM368 的視頻前端主要包含了IPIPEIF(Image Pipe Interface 圖像管道接口),ISIF(Image Signal Interface 圖像信號接口),IPIPE (Image Pipe 圖像管道),Resizer(縮放器)四個(gè)部分。

  IPIPEIF 功能是數據通路連接,以及把數據整合成后端模塊接口可以接入的格式/大小。ISIF 是視頻信號的輸入口,可以支持Bayer 格式的RAW 數據(原始數據)或者是YUV 的數據的輸入。IPIPE 主要是做ISP 的處理。Resizer 起到了對圖像縮放和圖像存儲格式轉換的作用。本文是基于IPIPEIF 將外部并口輸入數據送入ISIF 處理的基礎上展開(kāi)討論。

  如何將輸入信號和DM368 視頻前端參數一一對應?如何獲取外部的RAW 數據以及RAW 轉換成的對應的YUV 數據?如何只采集或者處理圖像中的一部分區域?如何配置VD 中斷觸發(fā)的時(shí)機?在VD 中斷里面我們應該處理什么?希望在閱讀完本文后,你可以找到相應的答案。

  2 DM368 的前端信號輸入

  如果用戶(hù)外接傳感器(sensor)輸出RAW 數據或者YUV 數據到DM368,為了采集到正確的數據,我們需要了解DM368 的視頻前端是如何解讀信號,以獲得正確的數據。如果用戶(hù)使用的是FPGA 輸出信號到DM368,那就更需要了解DM368 視頻前端支持的信號格式,正確輸出DM368可以接收的信號。

  2.1 輸入信號的物理連接

  DM368 視頻前端支持并口的信號輸入,包括PCLK(像素時(shí)鐘),8 到16 位數據線(xiàn),HD(行同步)信號,VD(場(chǎng)同步)信號??梢灾С肿疃?6 位的Bayer 格式的RAW 數據輸入。也可以支持內嵌同步或者外部信號同步的8 位或者16 位的YUV422 信號輸入。如果是內嵌同步,則不需要接入HD 信號和VD 信號。對于輸入內嵌同步的信號,DM368 硬件可以自動(dòng)解析出數據上嵌入的同步信息給芯片內部使用。DM368 的PCLK 最高可支持120MHz,可以支持720p60、 1080p30 等分辨率的輸入,也可以支持較大分辨率,例如五百萬(wàn)、八百萬(wàn)等分辨率,但幀率是非實(shí)時(shí)(小于30 幀)的。

  DM368 的視頻前端ISIF 可以支持master(主) 模式或者slave (從)模式。所謂master 模式就是PCLK、VD 和HD 由DM368 向外發(fā)出。而slave 模式是外部設備提供PCLK、VD 和HD 信號給DM368。在實(shí)際的應用里面絕大部分的情況都使用采slave 模式。

  2.2 DM368 視頻前端對輸入信號的解析

  2.2.1 ISIF 對信號的解析

  無(wú)論是master 模式還是slave 模式,DM368 的視頻前端接口ISIF 對于信號的處理是一樣的。

  圖2 的時(shí)序通常認為水平同步和垂直同步信號都為高電平有效,需要配置ISIF 的MODESET. HDPOL=MODESET.VDPOL=0。在這種情況下,水平同步信號寬度為HDW (HD pulse width),以像素為單位。垂直同步信號寬度為 VDW (VD pulse width) ,以行數為單位。 PLLN(Pixels per line)是每行的像素個(gè)數,也就是相鄰兩個(gè)行同步信號間的像素個(gè)數。LPFR 是Lines per frame 的縮寫(xiě),表示每幀數據有多少行,也是相鄰兩個(gè)場(chǎng)同步信號之間的行數。在slave 模式下,PLCK/HD/VD 都是外部輸入的,ISIF 寄存器HDW/VDW/PLLN 是不需要配置的。圖2 中的灰**域我們叫做有效數據區域,也就是用戶(hù)希望獲得的有效數據。而斜線(xiàn)陰影區域就是消隱區域。消隱區域在視頻前端處理中也是必不可少的部分,關(guān)于這點(diǎn)我們會(huì )在第3 節詳細介紹。

  如果你使用的是單次(one shot)模式,或者在連續(continuous)模式下,你需要保存RAW 數據,那你就需要配置 SPH( Start pixel horizontal 水平方向起始像素),SLV0/1 (Start line vertical - field 0/1 垂直方向奇偶場(chǎng)起始行),LNH( Number of pixels in line 每行像素個(gè)數),LNV (Number of lines vertical 垂直方向行數)。這是為了告訴DM368 你需要把輸入的圖像的哪部分寫(xiě)到DDR。也就是說(shuō)你可以選擇只輸出有效數據里面的某一部分到DDR。

  SPH 告訴硬件在同步信號有效以后從哪個(gè)像素開(kāi)始寫(xiě)入DDR。請注意這里的HD 信號有效起始點(diǎn)是指同步信號有效的沿,不是從同步信號脈沖結束后作為計數像素的起點(diǎn)。例如,如果HD 信號高電平有效,就是HD 上升沿后開(kāi)始計數,LNH 個(gè)PCLK(也就是像素)后將接收到的數據寫(xiě)入DDR。同樣 SLV0/1 告訴硬件從哪行數據開(kāi)始需要寫(xiě)入 DDR,LNV 決定了寫(xiě)多少行數據到 DDR。所以調整ISIF 的SPH,SLV0/1, LNH 和LNV 就可以調整保存到DDR 上的RAW 數據在原圖中的位置,以及 RAW 數據段大小(長(cháng)寬)。如果不需要寫(xiě)入 RAW 到DDR,那就不需要配置 SPH, SLV0/1 ,LNH 和LNV。

  圖2 的時(shí)序如果配置為同步信號低電平有效也是可以的。但是如果配置為低電平有效,相關(guān)的參數就發(fā)生了變化。例如水平同步信號寬度就變?yōu)?PPLN-HDW,垂直同步信號寬度為 LPFR- VDW。SPH 和 SLV0/1 都變成了 0。所以在配置 ISIF 相關(guān)寄存器前首先需要把同步信號的極性確定下來(lái)。 要采集到正確的數據,DM368 采樣數據時(shí)機必須和傳感器輸出數據的時(shí)機匹配。在DM368 上默認是PCLK 的下降沿采樣數據。用戶(hù)可以通過(guò)修改SYSTEM module 寄存器VPSS_CLK_CTRL的PCLK_INV[2] 位來(lái)改變 PCLK 采樣沿。

  2.2.2 IPIPE 和Resizer 對信號的解析和處理

  如果ISIF 直接通過(guò)IPIPEIF 連接到IPIPE,那所有的圖像數據,也就是圖2 里的global frame 都會(huì )傳輸到IPIPE。在IPIPE 里面 用戶(hù)需要配置SRC_HPS (Horizontal Start Position ),SRC_VPS(Vertical Start Position),SRC_HSZ( Horizontal Processing Size)和SRC_VSZ( Vertical Processing Size),來(lái)確認global frame 里面的哪一部分需要IPIPE 來(lái)處理。

  在resizer 的模塊里面,也有SRC_HPS,SRC_VPS,SRC_HSZ 和SRC_VSZ 可以配置resizer處理的圖像的區域。如果IPIPE 的輸出到resizer 已經(jīng)是需要處理的區域,那SRC_HPS,SRC_VPS 就可以配置為0,而resizer 的SRC_HSZ,SRC_VSZ 等于IPIPE 的SRC_HSZ,SRC_VSZ。如果ISIF 的輸出是通過(guò)IPIPEIF 直接到resizer(沒(méi)有經(jīng)過(guò)IPIPE),resizer 的SRC_HPS,SRC_VPS 就不能配置為0 了,需要用戶(hù)根據需要處理的圖像合理的配置resizer 的SRC_HPS,SRC_VPS 寄存器。

  2.2.3 RAW 數據和YUV 數據的匹配

  在連續模式下,用戶(hù)同時(shí)獲得resizer 輸出的YUV 和ISIF 輸出的RAW,時(shí)常有用戶(hù)發(fā)現自己保存的RAW 數據和Resizer 輸出的YUV 數據不匹配,有一定的偏移。這種問(wèn)題的原因是IPIPE,Resizer 里面的SRC_HPS,SRC_VPS,SRC_HSZ 和SRC_VSZ 和ISIF 里面的寫(xiě)入DDR 時(shí)候配置的偏移和大小不匹配。IPIPE/Resizer 和ISIF 的寄存器本身是沒(méi)有直接關(guān)系的,這就需要用戶(hù)將它們一一對應,匹配起來(lái)。例如ISIF 輸出的數據輸入給IPIPE,為了讓RAW 和YUV 匹配,需要ISIF 的SPH 等于IPIPE 的SRC_HPS,ISIF 的SLV0/1 等于IPIPE 的SRC_VPS,ISIF 的LNH 等于IPIPE 的SRC_ HSZ,ISIF 的LNV 等于IPIPE 的SRC_ VSZ。而Resizer 的SRC_HPS,SRC_VPS 需要配置為0,而resizer 的SRC_HSZ,SRC_VSZ 要等于IPIPE 的SRC_HSZ,SRC_VSZ。

  在單次模式下,也就是數據通路ISIF->DDR->IPIPEIF->IPIPE(Resizer),由于IPIPE 的輸入是DDR 上的RAW 數據,有效數據的獲取已經(jīng)在ISIF 輸出到DDR 配置里面實(shí)現了,IPIPE 里面的處理數據的起始位置就可以是(0,0)了。

  這樣無(wú)論是在連續模式還是在單次模式下,RAW 數據和RAW 輸出轉換出的YUV 數據就可以完全匹配了。

  2.3 DM368 接入傳感器輸出

  2.3.1 MT9D131 同步信號極性

  圖3 是美光的MT9D131 傳感器的時(shí)序圖。圖3 中FRAME_VALID 表示VD(垂直同步),LINE_VALID 表示HD(水平同步)。

  在DM368 IPNC v3.1 的軟件

  (av_capture\framework\drv\usermod\src\imgs_mt9d131_2mp\drv_imgsIsifCfg_MT9D131_2MP.c)里面對于同步信號的極性有如下的配置,設定同步信號都是高有效。

  圖3 中的HD 信號寬度是比較寬的,不是個(gè)脈沖,而是一行數據的個(gè)數。所以HD 信號的寬度可長(cháng)可短,可以是幾個(gè)像素(如圖2),或者是一行數據的個(gè)數(如圖3)。VD 信號的寬度也是同理。無(wú)論同步信號是寬是窄,最重要的是先定義好同步型號的極性,因為ISIF 參數的配置都要以這點(diǎn)為基礎。

  2.3.2 MT9D131 的一幀數據分析

  MT9D131 最大可以輸出兩百萬(wàn)像素的圖像。從圖4 可以看出MT9D131 的sensor 輸出實(shí)際上是1688x1256 個(gè)像素(起始像素是0,0),是大于兩百萬(wàn)的。原因是其中包含了黑**域和無(wú)效區域,有效的圖像大小是1632x1216,一般使用的兩百萬(wàn)分辨率為1600x1200。

  所以,根據表1 可以得到對于MT9D131 的輸出的RAW 數據:

  PPLN =右側black column 列數+水平方向有效像素點(diǎn)+左側black column 列數=52+1632+4=1688

  LPFR=上部black row 行數+垂直方向有效像素點(diǎn)+下部上部black row 行數=20+1216+20=1256

  但由于MT9D131 對外輸出VD/HD,這兩個(gè)參數在ISIF 里面無(wú)需配置。

  如果數據通路是ISIF->IPIPEIF->IPIPE->Resizer, 要得到匹配的YUV 數據就需要配置:

  IPIPE 相關(guān)寄存器:

  SRC_HPS=SPH=68

  SRC_VPS=SLVx=28

  SRC_HSZ=LNH=1599

  SRC_VSZ=LNV=1199

  Resizer 相關(guān)寄存器:

  SRC_HPS=0

  SRC_VPS=0

  ZHCA600

  8 DM368 視頻前端信號采集詳解

  SRC_HSZ=LNH=1599

  SRC_VSZ=LNV=1199

  MT9D131 上電后默認會(huì )禁止dark 區域輸出,也就是Show Dark Rows 和Show Dark Columns 寄存器位默認值為0,右側black column 列數=0,上部black row 行數=0,這樣傳感器在同步信號有效后會(huì )立即輸出有效數據,也就是圖3 中 MT9D131 時(shí)序圖顯示的情況。這種情況下如果要獲取中心1600x1200 的數據,就需要修改配置ISIF.SPH=16, ISIF. SLV0/1=8,IPIPE. SRC_HPS=16,IPIPE.SRC_VPS=8,其他參數配置不變。

免責聲明:本文來(lái)源于網(wǎng)絡(luò )收集,本文僅代表作者個(gè)人觀(guān)點(diǎn),本站不作任何保證和承諾,若有任何疑問(wèn),請與本文作者聯(lián)系或有侵權行為聯(lián)系本站刪除。(原創(chuàng )稿件未經(jīng)許可,不可轉載,轉載請注明來(lái)源)
掃一掃關(guān)注數字音視工程網(wǎng)公眾號

相關(guān)閱讀related

評論comment

 
驗證碼:
您還能輸入500
    国产av福利久久精品can动漫|2021精品国产自在现线|亚洲无线观看国产高清|欧洲人妻丰满av无码久久不卡|欧美情侣性视频