关于解码芯片SAA7115及TVP5150的配置

关于解码芯片SAA7115及TVP5150的配置

最近因为在做视频处理,所以和解码芯片打交道很多,但因为解码芯片的datasheet很多内容(又是英文的,汗),所以根据DM642的例程总了一些应该配置的东西.

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

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

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

SAA7115_ConfParams EVMDM642_vCapParamsSAA7115={

SAA7115_MODE_PAL720,

SAA7115_MODE_PAL720,

SAA7115_AFMT_COMPOSITE,

TRUE,

TRUE,

INV,/*handleI2C*/

};

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

typedef struct{

SAA7115_Mode inMode;

SAA7115_Mode outMode;

SAA7115_AnalogFormat aFmt;

Bool enableBT656Sync;

Bool enableIPortOutput;

I2C_Handle hI2C;

/*optional parameters for inMode==SAA7115_MODE_USER*/

Int hSize;

Int vSize;

Bool interlaced;

}SAA7115_ConfParams;

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

typedef enum SAA7115_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)中定义

typedef enum SAA7115_AnalogFormat{

SAA7115_AFMT_SVIDEO,

SAA7115_AFMT_COMPOSITE

}SAA7115_AnalogFormat;

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

(5)enableIPortOutput:用I-PORT口代替X-PORT口输出视频流

(6)hI2C DM642的I2C控制器的句柄

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

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

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

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

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

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

(二)关于TVP5150

在合众达提供的loop2例程中,有一个_tvp51xx.c的文件,里面包括了所有关于TVP5150寄存器的配置参数,但好像是没有用,因为根本没有调用这个文件的,而只是用下面的几条语句进行几项配置:

_IIC_write(hSeeddm642i2c,addrI2C,0x00,input_sel);

_IIC_write(hSeeddm642i2c,addrI2C,0x03,misc_ctrl);

_IIC_write(hSeeddm642i2c,addrI2C,0x0D,output_format);

_IIC_write(hSeeddm642i2c,addrI2C,0x0F,pin_cfg);

_IIC_write(hSeeddm642i2c,addrI2C,0x1B,chro_ctrl_2);

根据地址,我们可以知道是对以下寄存器进行了设置,(由于人懒了一点,直接把PDF的东西粘贴过来了)

但在我逐条的检查_tvp51xx.c中的参数,发现还有一些寄存器可能要修改,只是在例程里没有用到,这一点等我确认后才能再贴出来,今天晚上与别人讨论一下吧

相关主题
相关文档
最新文档