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

📄 rf_tuner_dvb.c

📁 mstar 776 开发的车载dvd
💻 C
字号:
/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
		 Copyright (c) Afe Labs 2005

	All rights are reserved. Reproduction in whole or in parts is
    prohibited without the prior written consent of the copyright owner.
   ----------------------------------------------------------------------------------------------------

    Module: CAMTUNER.C

    Purpose: Philips's CAMTuner programming procedure

    Version: 1.6

    Compiler: Keil 8051 C Compiler v6.20

    Reference:
    [1] Keil C51 Compiler User's Guide 01.97, Keil Software, Inc.
    [2] SHARP VA1T1EF6082, Tuner module for DVB-T application, : 01.09.2005
    [3] TD(M)1300AL(MK2), Tuner module for DVB-T application, Rev c : 30.06.2004
    [4] TD(M)1300AL(MK3), Tuner module for DVB-T application, Rev c : 30.06.2004
    [5] FMD1216ME, Tuner module for DVB-T & B/G,D/K,I,L/L' & FM Radio application, Rev a : 17.06.2004
    [6] FQD1216ME, Tuner module for DVB-T & B/G,D/K,I,L/L' application, Rev a : 17.06.2004

   ----------------------------------------------------------------------------------------------------
    Modification:

    Date	 Author 	 Reason (what and why)
    July 10 '05  Laser           Original.
    Sep. 09 '28  Laser           Add Sharp Tuner support

   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */

#define _CAMTUNER_C_

/* ------------------------------------
    Header Files
   ------------------------------------ */
#include "datatype.h"
#include "RF_Tuner_DVB.h"
#include "zl10353.h"

/* ------------------------------------
    Macro Definitions
   ------------------------------------ */


/* ------------------------------------
    Type Definitions
   ------------------------------------ */


/* ------------------------------------
    Variables Definitions
   ------------------------------------ */


/* ------------------------------------
    Function Prototypes
   ------------------------------------ */


/*************************************************************************
  Subject:    TDA6034_SetRF
  Function:   TDA6035_SetRF
  Parmeter:   Freq in MHz
		Freq here mean "pure RF" rather than "RF+IF"
	    BW = BW_6_MHz, BW_7_MHz, BW_8_MHz
  Return :    0(FAIL) mean I2C fail, 1(PASS) mean I2C success
  Remark:     This function is using for TDM1300AL MK2 Tuner
**************************************************************************/
void Set_Digital_TUNER ( double Freq, unsigned char BW, U8 * CONFIG )
{
	unsigned int value;

	value = ( unsigned int ) ( ( Freq + DIGITAL_TUNER_IF ) * 6 );

	CONFIG[0]=RF_Tuner_Address;
	//DB1
	CONFIG[1] = ( unsigned char ) ( value >> 8 );

	//DB2
	CONFIG[2] = ( unsigned char ) ( value );

	if((BW==BW_6_MHz)||(BW==BW_7_MHz))
        {
        	if ( ( Freq + DIGITAL_TUNER_IF ) < 180 )
        	{
        		CONFIG[3] = 0xBC;
        		CONFIG[4] = 0x01;
        	}
        	else if ( ( Freq + DIGITAL_TUNER_IF ) < 197 )
        	{
        		CONFIG[3] = 0xF6;
        		CONFIG[4] = 0x01;
        	}
        	else if ( ( Freq + DIGITAL_TUNER_IF ) < 366 )
        	{
        		CONFIG[3] = 0xBC;
        		CONFIG[4] = 0x02;
        	}
        	else if ( ( Freq + DIGITAL_TUNER_IF ) < 484 )
        	{
        		CONFIG[3] = 0xF4;
        		CONFIG[4] = 0x02;
        	}
        	else if ( ( Freq + DIGITAL_TUNER_IF ) < 662 )
        	{
        		CONFIG[3] = 0xBC;
        		CONFIG[4] = 0x04;
        	}
        	else if ( ( Freq + DIGITAL_TUNER_IF ) < 840 )
        	{
        		CONFIG[3] = 0xF4;
        		CONFIG[4] = 0x04;
        	}
        	else
        	{
        		CONFIG[3]= 0xFC;
        		CONFIG[4] = 0x04;
        	}
       }
       else if(BW==BW_8_MHz)
        {
        	if ( ( Freq + DIGITAL_TUNER_IF ) < 366 )
        	{
        		CONFIG[3] = 0xFC;
        		CONFIG[4] = 0x0A;
        	}
        	else if ( ( Freq + DIGITAL_TUNER_IF ) < 484 )
        	{
        		CONFIG[3] = 0xF4;
        		CONFIG[4] = 0x02;
        	}
        	else if ( ( Freq + DIGITAL_TUNER_IF ) < 662 )
        	{
        		CONFIG[3] = 0xBC;
        		CONFIG[4] = 0x0C;
        	}
        	else if ( ( Freq + DIGITAL_TUNER_IF ) < 840)
        	{
        		CONFIG[3] = 0xF4;
        		CONFIG[4] = 0x0C;
        	}
              else
              {
        		CONFIG[3] = 0xFC;
        		CONFIG[4] = 0x0C;
              }
       }
	switch ( BW )
	{
		case BW_6_MHz:
			CLRBIT( CONFIG[4], 3 );
			break;
		case BW_7_MHz:
			CLRBIT( CONFIG[4], 3 );
			break;
		case BW_8_MHz:
			SETBIT( CONFIG[4], 3 );
			break;
	}

	printf("\r\n %bx %bx %bx %bx %bx",CONFIG[0],CONFIG[1],CONFIG[2],CONFIG[3],CONFIG[4]);

}


#undef _CAMTUNER_C_

⌨️ 快捷键说明

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