📄 adc.c
字号:
/*********************************************************************
COPYRIGHT (C) Himax Technologies, Inc.
File name : ADC.C
Description : Video Decorder AD9883
Author : Nice Chen
Create date : 2004/10/11
Modifications :
*********************************************************************/
#define _ADC_C
/********************** Include Section *****************************/
#include "adc.h"
#include "main.h"
/**************** Function Implement Section ************************/
/* ================================================================
Name : Init_Adc_YUV
Purpose : initial Adc YUV
Passed : None
Notes : None
================================================================ */
void Init_Adc_YUV(void)
{
I2CWriteByte(PA8204_ADDR,_ADC_CKCTRL,0x4e);
I2CWriteByte(PA8204_ADDR,_ADC_RGAIN, 0xC0);
I2CWriteByte(PA8204_ADDR,_ADC_RGAIN, 0xC0);
I2CWriteByte(PA8204_ADDR,_ADC_RGAIN, 0xC0);
I2CWriteByte(PA8204_ADDR,_ADC_ROFF, 0x60);
I2CWriteByte(PA8204_ADDR,_ADC_GOFF, 0x50);
I2CWriteByte(PA8204_ADDR,_ADC_BOFF, 0x80);
}
/* ================================================================
Name : Set_ADC_YUV
Purpose : According timing to setup AD9883 PLL
Passed : None
Notes : None
================================================================ */
void Set_ADC_YUV (Byte byMode)
{
I2CWrtCNByte(PA8204_ADDR, &ADC_YPbPr_Tbl[byMode][0], _ADC_PLLDCMSB, 6);
switch(byMode)
{
case _ADC_YUV_480i:
case _ADC_YUV_480p:
// Setup AD9883 Output Sync
I2CWriteByte(PA8204_ADDR, _ADC_CTRL1, 0x40);
// Setup AD9883 Coast using external from G3
I2CWriteByte(PA8204_ADDR, _ADC_CKCTRL, 0x4E);
// Setup AD9883
I2CWriteByte(PA8204_ADDR, _ADC_CTRL2, 0xB5);
I2CWriteByte(PA8204_ADDR, _ADC_CTRL2+1, 0x20);
break;
}
}
/* ================================================================
Name : Set_ADC_VGA
Purpose : According timing to setup AD9883 PLL
Passed : None
Notes : None
================================================================ */
void Set_ADC_VGA (Byte byMode)
{
I2CWrtCNByte(PA8204_ADDR, &ADC_VGA_Tbl[byMode][0], _ADC_PLLDCMSB, 4);
I2CWriteByte(PA8204_ADDR, _ADC_CTRL2, 0x00);
}
/* ================================================================
Name : Set_ADC_VGA_GainOff
Purpose : Setup AD9883 VGA Default Gain/Offset
Passed : None
Notes : None
================================================================ */
void Set_ADC_VGA_GainOff (Byte *RGBdata)
{
I2CWriteByte(PA8204_ADDR, _ADC_RGAIN, RGBdata[0]);
I2CWriteByte(PA8204_ADDR, _ADC_GGAIN, RGBdata[1]);
I2CWriteByte(PA8204_ADDR, _ADC_BGAIN, RGBdata[2]);
I2CWriteByte(PA8204_ADDR, _ADC_ROFF, RGBdata[3]);
I2CWriteByte(PA8204_ADDR, _ADC_GOFF, RGBdata[4]);
I2CWriteByte(PA8204_ADDR, _ADC_BOFF, RGBdata[5]);
}
/* ================================================================
Name : ChgAdcPhase
Purpose : Setup AD9883 Phase
Passed : None
Notes : None
================================================================ */
void ChgAdcPhase(void)
{
Byte byPhase = byCurPhase << 3;
I2CWriteByte(PA8204_ADDR, _ADC_PHASE, byPhase);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -