关于解码芯片SAA7115及7105的配置 FVID与微驱动.docx
- 文档编号:4325436
- 上传时间:2022-11-29
- 格式:DOCX
- 页数:19
- 大小:23.78KB
关于解码芯片SAA7115及7105的配置 FVID与微驱动.docx
《关于解码芯片SAA7115及7105的配置 FVID与微驱动.docx》由会员分享,可在线阅读,更多相关《关于解码芯片SAA7115及7105的配置 FVID与微驱动.docx(19页珍藏版)》请在冰豆网上搜索。
关于解码芯片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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关于解码芯片SAA7115及7105的配置 FVID与微驱动 关于 解码 芯片 SAA7115 7105 配置 FVID 驱动