dm642解码芯片SAA7115及7105…

news/2024/11/29 2:41:16/
原文地址:dm642解码芯片SAA7115及7105的配置 作者:mkingdom

 

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

1.SAA7115配置

SAA7115结构体定义如下:
typedef struct {
Int cmode;
Int fldOp;


Int scale;
Int resmpl;

Int bpk10Bit;


Int hCtRst;
Int vCtRst;
Int fldDect;


Int extCtl;
Int fldInv;

Uint16 fldXStrt1;
Uint16 fldYStrt1;
Uint16 fldXStrt2;
Uint16 fldYStrt2;
Uint16 fldXStop1;
Uint16 fldYStop1;
Uint16 fldXStop2;
Uint16 fldYStop2;
Uint16 thrld;


Int numFrmBufs;
Int alignment;
Int mergeFlds;

Int segId;


Int edmaPri;

Int irqId;
} VPORTCAP_Params;
现在对其中一些关键信息进行注释:
Cmode 为vport数据输入格式的选择,如图所示:

Int fldOp :帧和场的操作模式,在vport.h中定义,参考选择如下:
? VPORT_FLDOP_FLD1
? VPORT_FLDOP_FLD2
? VPORT_FLDOP_FRAME
? VPORT_FLDOP_PROGRESSIVE

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

Int bpk10Bit;
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个参数决定了捕获的图像帧的窗口中的位置
Uint16 thrld;
指示FIFO的门限值,当捕获的数据达到门限值则出发DMA操作
如下图所示:

Int extCtl;
Int vCtRst;
Exc和vrst定义了图象捕获中垂直计数器的复位点,如下图所示:

Int hCtRst;
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控制信号的下降沿复位

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

SAA7115_ConfParams EVMDM642_vCapParamsSAA7115 = {
SAA7115_MODE_NTSC720,
SAA7115_MODE_USER,
SAA7115_AFMT_COMPOSITE,
TRUE,
TRUE,
INV,
LIN

E_SZ,
NUM_LINES*2,
TRUE,
};

typedef struct {
SAA7115_Mode inMode;
SAA7115_Mode outMode;
SAA7115_AnalogFormat aFmt;
Bool enableBT656Sync;
Bool enableIPortOutput;
I2C_Handle hI2C;


Int hSize;
Int vSize;
Bool interlaced;
} SAA7115_ConfParams; (saa7115.h)

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

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;

SAA7115_AnalogFormat aFmt;(saa7115.h)指定编码器的模拟输出模式
typedef enum SAA7115_AnalogFormat {
SAA7115_AFMT_SVIDEO,
SAA7115_AFMT_COMPOSITE
} SAA7115_AnalogFormat;

Bool enableBT656Sync; 把ITU-R BT.656中定义的SAV/EAV代码插入到输出图像数据流
Bool enableIPortOutput; 选择图像数据的输出端口为I-PORT还是X-PORT
Int hSize; & Int vSize; 分别定义图像的水平宽度和垂直高度
Bool interlaced; 指定用户定义的图像采用interlaced模式或者progressive模式

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

SAA7115_ConfParams EVMDM642_vCapParamsSAA7115 = {
SAA7115_MODE_PAL720,
SAA7115_MODE_PAL720,
SAA7115_AFMT_COMPOSITE,
TRUE,
TRUE,
INV,                  
};

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

typedef struct {
    SAA7115_Mode inMode;
    SAA7115_Mode outMode;
    SAA7115_AnalogFormat aFmt;
    Bool enableBT656Sync;
    Bool enableIPortOutput;
    I2C_Handle hI2C;

   
    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制式采集视频时,需要配置的东西主要是:

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

 


http://www.ppmy.cn/news/181328.html

相关文章

[转]MS Sql 7105错误

转自:http://hi.baidu.com/ylj798/blog/item/4878077ab64fe7ea2f73b300.html 有的时候发现查询数据库会出现以下类似的提示: [Microsoft][ODBC SQL Server Driver][SQL Server]text、ntext 或 image 节点的页 (1:220),槽 14 不存在。[Microso…

jni学习实例(三)-a7105模块驱动之activity

package com.example.a7105demo;public class a7105Class {/*声明函数*///初始化函数 public native int Init();public native String stringFromJNI();public native int Read(int buf[], int length);public native int Write(int buf[], int length);public native int CLO…

无线发射芯片A7105在RF短距离通信的应用

一:主流的三种RF方案及其优缺点比较 1):蓝牙方案(IEEE802.15) 蓝牙,是一种支持设备短距离通信(一般10m内)的无线电技术。能在包括移动电话、PDA、无线耳机、笔记本电脑、相关外设等众…

jni学习实例(二)-a7105模块驱动之jni

#include <stdio.h> #include <string.h> #include <jni.h> #include <fcntl.h> /*包括文件操作&#xff0c;如open() read() close()write()等*/ #include <android/log.h> #define LOG_TAG "a7105" #define LOGI(...) __…

pdk7105的I2C配置

pdk7105的I2C配置stm23-0047版本中增加了I2C的配置<<include/configs/pdk7105.h>>已知&#xff1a;PIO3[4] SCLPIO3[5] SDA根据board/st/pdk7105.c代码中static void configI2c(void){ /* * The I2C busses are routed as follows: * * Bus SCL SDA * -…

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

最近因为在做视频处理,所以和解码芯片打交道很多,根据DM642的例程总了一些应该配置的东西. 注:以下的配置均是指AV信号输入,PAL制式输出的条件 (一)关于SAA7115(基于TI的驱动) 结构体定义如下&#xff1a;&#xff08;vportcap.h&#xff09; typedef struct {Int cmode; Int f…

30分钟内使用手机控制四轴飞行器(ESP8266 + A7105 + Blynk App for iOS/Android)

很久以来&#xff0c;我就想做类似的项目了。但是手机集成工作的复杂性让我感到害怕。而且如果以后我有新的想法&#xff0c;也很难再重新利用这个项目。 现在&#xff0c;有了Blynk&#xff0c;这一切变得易如反掌:) 因此&#xff0c;我花了一个晚上&#xff0c;完成了这个项目…

dm7数据库sql手工热备时报错:[-7105]:管道连接超时.

dm7数据库手工热备有以下3个前提 1&#xff09;DMAP服务处于启动状态 2&#xff09;数据库实例服务处于启动状态 3&#xff09;数据库处于归档模式 如下&#xff0c;执行热备时报错&#xff1a; SQL> backup database backupset /dm7/backup/sql_hot_bak; backup databa…