⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 saa7113.h

📁 hreadx实时嵌入式操作系统源代码,ARM移植. threadx是一个很好的多任务实时嵌入式操作系统
💻 H
字号:
/****************************************Copyright (c)****************************************************
**                            Guangzhou ZHIYUAN electronics Co.,LTD.
**                                      
**                                 http://www.embedtools.com
**
**--------------File Info---------------------------------------------------------------------------------
** File name:               saa7113.h
** Last modified Date:      2007-12-12
** Last Version:            1.0.0
** Descriptions:            NXP SAA7113H 视频采集芯片基础驱动
**
**--------------------------------------------------------------------------------------------------------
** Created by:              Hanhui
** Created date:            2007-12-12
** Version:                 1.0.0
** Descriptions:            NXP SAA7113H 视频采集芯片基础驱动
**
**--------------------------------------------------------------------------------------------------------
** Modified by:             Hanhui
** Modified date:           2008-01-22
** Version:                 1.0.1
** Descriptions:            加入了错误输出的功能.
**
*********************************************************************************************************/

#ifndef __SAA7113_H
#define __SAA7113_H

/*********************************************************************************************************
  SAA7113 图像输出格式
  
  使用 ITU 656 YUV 4 : 2 : 2 的格式
  
  +------------+--------------------------------------------------------------------+------------+
  |  BLANKING  |    TIMING    |                                      |    TIMING    |  BLANKING  |
  |   PERIOD   |   REFERENCE  |     720 PIXELS YUV 4 : 2 : 2 DATA    |   REFERENCE  |   PERIOD   |
  |            |     CODE     |                                      |     CODE     |            |
  +------------+--------------+--------------------------------------+--------------+------------+
  | ... 80  10 | FF 00 00 SAV | Cb0 Y0 Cr0 Y1 Cb 2 Y2 ... Cr718 Y719 | FF 00 00 EAV |  80 10 ... |
  +------------+--------------+--------------------------------------+--------------+------------+
  
  SAV:  有效的视频数据区域起始标志
  
  Cbn:  U (B - Y) colour difference component, pixel number n = 0, 2, 4 to 718
  
  Yn :  Y (luminance) component, pixel number n = 0, 1, 2, 3 to 719
  
  Crn:  V (R - Y) colour difference component, pixel number n = 0, 2, 4 to 718
  
  EAV:  有效的视频数据区域结束标志
  
*********************************************************************************************************/
/*********************************************************************************************************
  我国电视标准 PAL 
  
  我国采用的是50 Hz PAL电视信号,
  
  每秒  25 帧图像
  每帧 625 行,     其中 576 行有效       (当 VREF 为高电平时)
  每行 864 个像素,其中 720 个像素有效   (当 HREF 为高电平时)
  
  即每帧图像的实际分辨率为 720 × 576
  
  SAA7113 按奇偶场输出,
  
  每场 288 有效行
  每行 720 有效像素
  
  视频格式按照 YUV 4 : 2 : 2
  
  即每行 1440 Byte, 每场405 KB, 每帧 810 KB。
*********************************************************************************************************/
/*********************************************************************************************************
  SAA7113 场数据选择 VRLN = 1 (I2C 子地址 0x10 的 D3 位)
  
  使用 50Hz 625 线 VREF
  
  场 1:      288 线       起始:  23 线    结束: 310 线
  场 2:      288 线       起始: 336 线    结束: 623 线
  
*********************************************************************************************************/
/*********************************************************************************************************
  SAA7113 错误时的输出
*********************************************************************************************************/

#ifdef  __SAA7113_DEBUG
extern  PSTREAM_CLASS               psrtclassCom0;
#define __SAA7113_ERROR_OUT(cStr)   streamWrite(psrtclassCom0, cStr, strlen(cStr))
#else
#define __SAA7113_ERROR_OUT(cStr)   
#endif                                                                  /*  __SAA7113_DEBUG             */

/*********************************************************************************************************
  SAA7113 地址
*********************************************************************************************************/

#define __SAA7113_ADDR              0x4A                                /*  SAA7113 I2C 地址定义        */

/*********************************************************************************************************
  SAA7113 通道模式
*********************************************************************************************************/

#define __SAA7113_CVBS_AI11         0                                   /*  0 通道 CVBS 信号, 自动增益  */
#define __SAA7113_CVBS_AI12         1                                   /*  1 通道 CVBS 信号, 自动增益  */
#define __SAA7113_CVBS_AI21         2                                   /*  2 通道 CVBS 信号, 自动增益  */
#define __SAA7113_CVBS_AI22         3                                   /*  3 通道 CVBS 信号, 自动增益  */

#define __SAA7113_Y_AI11_C_AI21_M   6                                   /*  Y-AI11, C-AI21, 手动增益    */
#define __SAA7113_Y_AI12_C_AI22_M   7                                   /*  Y-AI12, C-AI22, 手动增益    */

#define __SAA7113_Y_AI11_C_AI21_A   8                                   /*  Y-AI11, C-AI21, 自动增益    */
#define __SAA7113_Y_AI12_C_AI21_A   9                                   /*  Y-AI12, C-AI22, 自动增益    */

/*********************************************************************************************************
  SAA7113 场选择
*********************************************************************************************************/

#define __SAA7113_50HZ_625_LINE     0                                   /*  50Hz 625 线                 */
#define __SAA7113_60HZ_525_LINE     1                                   /*  60Hz 525 线                 */

/*********************************************************************************************************
  当前工作参数 (目前仅用于 PAL 制式)
*********************************************************************************************************/
typedef struct {

    unsigned char   ucChannelMode;                                      /*  通道模式                    */

    unsigned char   ucBrightness;                                       /*  亮度                        */
    
    unsigned char   ucContrast;                                         /*  对比度                      */
    
    unsigned char   ucSaturation;                                       /*  饱和度                      */
    
    unsigned char   ucHue;                                              /*  色调                        */
    
} SAA7113_CONTEXT;

/*********************************************************************************************************
** Function name:           saa7113Init
** Descriptions:            SAA7113 视频采集卡初始化
** input parameters:        NONE
** output parameters:       NONE
** Returned value:          NONE
*********************************************************************************************************/
void  saa7113Init(void);

/*********************************************************************************************************
** Function name:           saa7113GetContext
** Descriptions:            SAA7113 视频采集卡获得工作参数
** input parameters:        NONE
** output parameters:       NONE
** Returned value:          工作参数
*********************************************************************************************************/
SAA7113_CONTEXT  saa7113GetContext(void);

/*********************************************************************************************************
** Function name:           saa7113GetWersion
** Descriptions:            SAA7113 视频采集卡版本
** input parameters:        NONE
** output parameters:       NONE
** Returned value:          版本号
*********************************************************************************************************/
unsigned char  saa7113GetVersion(void);

/*********************************************************************************************************
** Function name:           saa7113SetChannelMode
** Descriptions:            SAA7113 视频采集卡设置通道模式
** input parameters:        ucChannelMode   通道模式
** output parameters:       NONE
** Returned value:          NONE
*********************************************************************************************************/
void  saa7113SetChannelMode(unsigned char  ucChannelMode);

/*********************************************************************************************************
** Function name:           saa7113SetField
** Descriptions:            SAA7113 视频采集卡场选择 (仅适合于强制场选择, 不适用于自动场检测)
** input parameters:        ucField     场选择
** output parameters:       NONE
** Returned value:          NONE
*********************************************************************************************************/
void  saa7113SetField(unsigned char  ucField);

/*********************************************************************************************************
** Function name:           saa7113SetBrightness
** Descriptions:            SAA7113 视频采集卡设置亮度
** input parameters:        ucBrightness     亮度
** output parameters:       NONE
** Returned value:          NONE
*********************************************************************************************************/
void  saa7113SetBrightness(unsigned char  ucBrightness);

/*********************************************************************************************************
** Function name:           saa7113SetContrast
** Descriptions:            SAA7113 视频采集卡设置对比度
** input parameters:        ucContrast     对比度
** output parameters:       NONE
** Returned value:          NONE
*********************************************************************************************************/
void  saa7113SetContrast(unsigned char  ucContrast);

/*********************************************************************************************************
** Function name:           saa7113SetSaturation
** Descriptions:            SAA7113 视频采集卡设置饱和度
** input parameters:        ucSaturation     饱和度
** output parameters:       NONE
** Returned value:          NONE
*********************************************************************************************************/
void  saa7113SetSaturation(unsigned char  ucSaturation);

/*********************************************************************************************************
** Function name:           saa7113SetHue
** Descriptions:            SAA7113 视频采集卡设置色调
** input parameters:        ucHue     色调
** output parameters:       NONE
** Returned value:          NONE
*********************************************************************************************************/
void  saa7113SetHue(unsigned char  ucHue);

/*********************************************************************************************************
** Function name:           saa7113EnableWhitepeakOff
** Descriptions:            SAA7113 视频采集卡允许白峰控制
** input parameters:        NONE
** output parameters:       NONE
** Returned value:          NONE
*********************************************************************************************************/
void  saa7113EndleWhitepeakOff(void);

/*********************************************************************************************************
** Function name:           saa7113DisableWhitepeakOff
** Descriptions:            SAA7113 视频采集卡允许白峰控制
** input parameters:        NONE
** output parameters:       NONE
** Returned value:          NONE
*********************************************************************************************************/
void  saa7113DisableWhitepeakOff(void);

#endif                                                                  /*  __SAA7113_H                 */
/*********************************************************************************************************
  END FILE
*********************************************************************************************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -