关于解码芯片SAA7115及7105的配置 FVID与微驱动.docx

上传人:b****6 文档编号:4325436 上传时间:2022-11-29 格式:DOCX 页数:19 大小:23.78KB
下载 相关 举报
关于解码芯片SAA7115及7105的配置 FVID与微驱动.docx_第1页
第1页 / 共19页
关于解码芯片SAA7115及7105的配置 FVID与微驱动.docx_第2页
第2页 / 共19页
关于解码芯片SAA7115及7105的配置 FVID与微驱动.docx_第3页
第3页 / 共19页
关于解码芯片SAA7115及7105的配置 FVID与微驱动.docx_第4页
第4页 / 共19页
关于解码芯片SAA7115及7105的配置 FVID与微驱动.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

关于解码芯片SAA7115及7105的配置 FVID与微驱动.docx

《关于解码芯片SAA7115及7105的配置 FVID与微驱动.docx》由会员分享,可在线阅读,更多相关《关于解码芯片SAA7115及7105的配置 FVID与微驱动.docx(19页珍藏版)》请在冰豆网上搜索。

关于解码芯片SAA7115及7105的配置 FVID与微驱动.docx

关于解码芯片SAA7115及7105的配置FVID与微驱动

最近因为在做视频处理,所以和解码芯片打交道很多,根据DM642的例程总了一些应该配置的东西.

 

注:

以下的配置均是指AV信号输入,PAL制式输出的条件

 

(一)关于SAA7115(基于TI的驱动)

 

结构体定义如下:

typedefstruct{

Intcmode;/*capturemodesettings*/

IntfldOp;/*field&frameoperation*/

 

/*bit8-15*/

Intscale;/*indicatewhethertoenable1/2scaling*/

Intresmpl;/*indicatewhethertoenablechoroma*/

/*sub-sampling*/

Intbpk10Bit;/*10-bitbit-packmode*/

 

/*bit16-23*/

InthCtRst;/*horizontalcounterresetmode*/

IntvCtRst;/*verticalcounterresetmode*/

IntfldDect;/*enablewhethertouseFIDinputorfield*/

/*detectionlogicbasedonthetiming*/

/*relationofhsyncandvsync*/

IntextCtl;/*enableexternaltimingcontrol*/

IntfldInv;/*enableinversionofthedetectedfid*/

 

Uint16fldXStrt1;/*field1Xstart*/

Uint16fldYStrt1;/*field1Ystart*/

Uint16fldXStrt2;/*field2Xstart*/

Uint16fldYStrt2;/*field2Ystart*/

Uint16fldXStop1;/*field1Xstop*/

Uint16fldYStop1;/*field1Ystop*/

Uint16fldXStop2;/*field2Xstop*/

Uint16fldYStop2;/*field2Ystop*/

Uint16thrld;/*videoFIFOthreshold*/

 

/*framebuffersettings*/

IntnumFrmBufs;/*numberofframebuffersthatthedriverallocates*/

Intalignment;/*framebufferalignment*/

IntmergeFlds;/*indicatetointerleavedataofthetwofieldsinmemory*/

/*orjuststorethemseperated*/

IntsegId;/*memorysegmentID,usedbyMEM_alloc()toallocate*/

/*videoframebuffer*/

/*EDMApriority*/

IntedmaPri;/*channelEDMApriority*/

 

IntirqId;

}VPORTCAP_Params;

现在对其中一些关键信息进行注释:

Cmode为vport数据输入格式的选择,如下所示:

?

VPORT_MODE_BT656_8BIT

?

VPORT_MODE_BT656_10BIT

?

VPORT_MODE_RAW_8BIT

?

VPORT_MODE_RAW_10BIT

?

VPORT_MODE_YC_8BIT

?

VPORT_MODE_YC_10BIT

?

VPORT_MODE_RAW_16BIT

?

VPORT_MODE_RAW_20BIT

IntfldOp:

帧和场的操作模式,在vport.h中定义,参考选择如下:

?

VPORT_FLDOP_FLD1

?

VPORT_FLDOP_FLD2

?

VPORT_FLDOP_FRAME

?

VPORT_FLDOP_PROGRESSIVE

 

Scale和resample的设置(具体操作见spru62966页):

 

Intbpk10Bit;/*10-bitbit-packmode*/

10bit数据打包成64bit数据包的方式,包括:

?

VPORTCAP_BPK_10BIT_ZERO_EXTENDED

?

VPORTCAP_BPK_10BIT_SIGN_EXTENDED

?

VPORTCAP_BPK_10BIT_DENSE

 

HOUNT=0,VOUNT=1

Xstart~Xstop定义图像的宽度

Ystart~Ystop定义图像的高度

以上4个参数决定了捕获的图像帧的窗口中的位置

Uint16thrld;/*videoFIFOthreshold*/

指示FIFO的门限值,当捕获的数据达到门限值则出发DMA操作

 

IntextCtl;/*enableexternaltimingcontrol*/

IntvCtRst;/*verticalcounterresetmode*/

Exc和vrst定义了图象捕获中垂直计数器的复位点 

InthCtRst;/*horizontalcounterresetmode*/

Exc和hrst定义了水平采样计数器的复位点:

 

当EXC=0,VRST=0:

VCOUNT在场消隐开始时复位

当EXC=0,VRST=1:

VCOUNT在有效行开始时复位

当EXC=0,HRST=0:

HCOUNT在EAV代码结束时复位

当EXC=0,HRST=1:

HCOUNT在SAV代码结束时复位

当EXC=1,VRST=0,HRST=0时,VCOUNT和HCOUNT都是在VCTL0控制信号的上升沿进行复位;VRST=1,HRST=1时,VCOUNT和HCOUNT都是VCTL0控制信号的下降沿复位

 

IntfldDect;场检测使能定义

FID:

FID=0,指场一的开始;FID=1指示场2的开始;使用FID输入判断场的方法适合Y/C图像数据流;

 

SAA7115_ConfParamsEVMDM642_vCapParamsSAA7115={

SAA7115_MODE_NTSC720,

SAA7115_MODE_USER,

SAA7115_AFMT_COMPOSITE,

TRUE,

TRUE,

INV,

LIN

 

E_SZ,

NUM_LINES*2,

TRUE,

};

 

typedefstruct{

SAA7115_ModeinMode;

SAA7115_ModeoutMode;

SAA7115_AnalogFormataFmt;

BoolenableBT656Sync;

BoolenableIPortOutput;

I2C_HandlehI2C;

 

/*optionalparametersforinMode==SAA7115_MODE_USER*/

InthSize;

IntvSize;

Boolinterlaced;

}SAA7115_ConfParams;(saa7115.h)

 

SAA7115_Mode的inMode和outMode可以是下面结构体定义的其中之一;

 

typedefenumSAA7115_Mode{

SAA7115_MODE_NTSC640,

SAA7115_MODE_NTSC720,

SAA7115_MODE_PAL720,

SAA7115_MODE_PAL768,

SAA7115_MODE_CIF,

SAA7115_MODE_QCIF,

SAA7115_MODE_SQCIF,

SAA7115_MODE_SIF

SAA7115_MODE_USER

}SAA7115_Mode;

 

SAA7115_AnalogFormataFmt;(saa7115.h)指定编码器的模拟输出模式

typedefenumSAA7115_AnalogFormat{

SAA7115_AFMT_SVIDEO,

SAA7115_AFMT_COMPOSITE

}SAA7115_AnalogFormat;

 

BoolenableBT656Sync;把ITU-RBT.656中定义的SAV/EAV代码插入到输出图像数据流

BoolenableIPortOutput;选择图像数据的输出端口为I-PORT还是X-PORT

InthSize;&IntvSize;分别定义图像的水平宽度和垂直高度

Boolinterlaced;指定用户定义的图像采用interlaced(隔行扫描)模式或者progressive(逐行扫描)模式

 

在TI的例程里有一个结构体,里面有对7115需要配置的项目

 

SAA7115_ConfParamsEVMDM642_vCapParamsSAA7115={

 SAA7115_MODE_PAL720,

 SAA7115_MODE_PAL720,

 SAA7115_AFMT_COMPOSITE,

 TRUE,

 TRUE,

 INV,                  /*handleI2C*/

};

 

这个结构体的原形在头文件saa7115.h中定义

 

typedefstruct{

   SAA7115_ModeinMode;

   SAA7115_ModeoutMode;

   SAA7115_AnalogFormataFmt;

   BoolenableBT656Sync;

   BoolenableIPortOutput;

   I2C_HandlehI2C;

 

   /*optionalparametersforinMode==SAA7115_MODE_USER */

   InthSize;

   IntvSize;

   Boolinterlaced;   

}SAA7115_ConfParams;

 

(1)inMode定义为视频输出格式(在saa7115.h中定义)

 

typedefenumSAA7115_Mode{

   SAA7115_MODE_NTSC640,

   SAA7115_MODE_NTSC720,

   SAA7115_MODE_PAL720,

   SAA7115_MODE_PAL768,

   SAA7115_MODE_CIF,

   SAA7115_MODE_QCIF,

   SAA7115_MODE_SQCIF,

   SAA7115_MODE_SIF,    

   SAA7115_MODE_USER

}SAA7115_Mode;

 

(2)outMode定义为输出视频格式,值同上

 

(3)aFmt定义为视频输出设备的模拟信号格式(值在saa7105.h)中定义

 

typedefenumSAA7115_AnalogFormat{

   SAA7115_AFMT_SVIDEO,

   SAA7115_AFMT_COMPOSITE

}SAA7115_AnalogFormat;

 

(4)enableBT656Sync定义为在输出视频数据流中允许插入ITU-RBT.656定义的SAV/EAV码

 

(5)enableIPortOutput:

用I-PORT口代替X-PORT口输出视频流

 

(6)hI2CDM642的I2C控制器的句柄

 

当inMode=SAA7115_MODE_USER时,下面的参数可选

 

(7)hSize用户定义图画水平大小

 

(8)vSize用户自定义图画垂直大小

 

(9)interlaced定义用户图像是隔行扫描还是逐行扫描模式

 

由上面我们可以看出,一般在PAL制式采集视频时,需要配置的东西主要是:

 

输入输出模式、是否有同步信号、使能数据输出口

 

(二).EVMDM642_vDisParamsSAA7105配置

 

VPORTDIS_ParamsEVMDM642_vDisParamsChan={

   VPORT_MODE_BT656_8BIT,/*dmode:

3      */

   VPORT_FLDOP_FRAME,    /*fldOp:

3      */

 

   VPORT_SCALING_DISABLE,/*scale:

1      */   

   VPORT_RESMPL_DISABLE, /*resmpl:

1     */     

   VPORTDIS_DEFVAL_ENABLE,/*defValEn:

1   */

   VPORTDIS_BPK_10BIT_NORMAL,/*bpk10Bit:

1*/

   

   VPORTDIS_VCTL1_HSYNC, /*vctl1Config:

2*/

   VPORTDIS_VCTL2_VSYNC, /*vctl2Config:

2*/

   VPORTDIS_VCTL3_FLD,   /*vctl3Config:

1*/

   VPORTDIS_EXC_DISABLE, /*extCtl:

3     */

              

   864,                  /*frmHSize*/

   625,                  /*frmVSize*/

 

   0,                    /*imgHOffsetFld1*/

   0,                    /*imgVOffsetFld1*/

   LINE_SZ,              /*imgHSizeFld1  */

   NUM_LINES,            /*imgVSizeFld1  */

   

   0,                    /*imgHOffsetFld2*/

   0,                    /*imgVOffsetFld2*/

   LINE_SZ,              /*imgHSizeFld2  */

   NUM_LINES,            /*imgVSizeFld2  */

 

   720,                  /*hBlnkStart     */                   

   862,                  /*hBlnkStop      */                   

   

   720,                  /*vBlnkXStartFld1*/                   

   624,                  /*vBlnkYStartFld1*/                   

   720,                  /*vBlnkXStopFld1 */                   

   23,                   /*vBlnkYStopFld1 */                   

   

   360,                  /*vBlnkXStartFld2*/                   

   311,                  /*vBlnkYStartFld2*/                   

   360,                  /*vBlnkXStopFld2 */                   

   336,                  /*vBlnkYStopFld2 */                   

   

   720,                  /*xStartFld1*/                        

   1,                    /*yStartFld1*/                        

   

   360,                  /*xStartFld2*/                        

   313,                  /*yStartFld2*/                        

 

   752,                  /*hSyncStart*/                        

   782,                  /*hSyncStop */                        

 

   752,                  /*vSyncXStartFld1*/                   

   1,                    /*vSyncYStartFld1*/                   

   752,                  /*vSyncXStopFld1 */                   

   3,                    /*vSyncYStopFld1 */                   

 

   320,                  /*vSyncXStartFld2*/                   

   313,                  /*vSyncYStartFld2*/                   

   320,                  /*vSyncXStopFld2 */                   

   316,                  /*vSyncYStopFld2 */                   

 

   16,                   /*yClipLow       */                   

   235,                  /*yClipHigh      */                   

   

   16,                   /*cClipLow       */                   

   240,                  /*cClipHigh      */                   

   

   0x10,

   0x80,

   0x80,                 

 

 

   VPORTDIS_RGBX_DISABLE,/*RGBextractdisable*/

   0,                    /*incPix,forrawmodeonly*/         

   (LINE_SZ>>3),         /*thrld    */

 

   3,                    /*numFrmBufs*/

   128,                  /*alignment*/

   VPORT_FLDS_MERGED,    /*mergeFlds*/

   NULL,                 /*segId    */           

   EDMA_OPT_PRI_HIGH,    /*edmaPri  */

   8                     /*irqId   */   

};

 

Display1

 

EVMDM642_vDisParamsChan参数说明

 

1.dmode:

当前值:

VPORT_MODE_BT656_8BIT,

作用:

co-sitedlumaandchromadatamultiplexedintoasingledatastream

 

 

因当前位数为8bit,VDOUT9~VDOUT2脚输出8位数据

图1:

BT.656OutputSequence

 

图2:

模式选择

2.fldOp:

fieldandframeoperationmode.

当前值:

VPORT_FLDOP_FRAME

类似于如下

 

3.Scale:

horizontal2xscalingenable。

当前值:

VPORT_SCALING_DISABLE,不允许缩放。

 

4.defValEn:

defaultvalueoutputenable.Enableoutputofdefaultvalueinthenon-blankingperiodoutsidetheimagewindow。

在非空白时段图像输出是否指定为默认值,默认值配置见下面9段。

当前值:

VPORTDIS_DEFVAL_ENABLE

 

5.Resmpl:

VPORT_RESMPL_DISABLE

chromahorizontal4:

2:

0to4:

2:

2re-samplingdisable.

 

6.bpk10Bit:

VPORTDIS_BPK_10BIT_NORMAL,/*bpk10Bit:

1*/

Fifo填充模式,普通模式,一字填充2个10bit

 

7.vctl1Config:

vctl2Config:

vctl3Config:

vctl1~vctl3引脚的输出选择

其中vctl1:

vctl2都有以下四种选择;

?

VPORTDIS_VCTL2_VSYNC

?

VPORTDIS_VCTL2_VBLNK

?

VPORTDIS_VCTL2_CSYN

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1