?? tuner_xg_js6bm.h
字號:
#include "common.h"
#define TUNER TUNER_JS6B2 // XG-JS6B2
#define ADCRatio 6.25 // 62.5 KHZ,unit, 10KHZ
//#define StepSize FREQ(62.5, KHZ)
#define StepSize 62500 //62.5KHZ
//-------- Frequency definition (Unit: 1Hz)
#define FREQ_HZ 1L // Hz
#define FREQ_KHZ 1000L * FREQ_HZ // KHz
#define FREQ_10KHZ 10L * FREQ_KHZ // KHz
#define FREQ_MHZ 1000L * FREQ_KHZ // MHz
#define FREQ(n,unit) (n * FREQ_##unit)
//------- Define vision IF frequency
#define TUNER_VIF_NTSC 45750000 //45.750 MHZ
#define TUNER_VIF_NTSC_J 58750000 //58.750 MHZ
#define TUNER_VIF_PAL 38900000 //38.9 MHZ
#define TUNER_VIF_PAL_CN 39937000 //39.937 MHZ
//#define TUNER_VIF_NTSC_J FREQ(58.750, MHZ)
//#define TUNER_VIF_PAL FREQ(38.900, MHZ)
//#define TUNER_VIF_PAL_CN FREQ(39.937, MHZ)
//------- Define tuning frequency )
#define FREQ_NTSC(rf, unit) (FREQ(rf, unit)+TUNER_VIF_NTSC )/TUNER_DIV_RATIO
#define FREQ_NTSC_J(rf, unit) (FREQ(rf, unit)+TUNER_VIF_NTSC_J )/TUNER_DIV_RATIO
#define FREQ_PAL(rf, unit) (FREQ(rf, unit)+TUNER_VIF_PAL )/TUNER_DIV_RATIO
#define FREQ_PAL_CN(rf, unit) (FREQ(rf, unit)+TUNER_VIF_PAL_CN )/TUNER_DIV_RATIO
#define mHIBYTE(v1) ((BYTE) ((v1) >> 8)) // Get high byte value of the word
#define mLOBYTE(v1) ((BYTE) ((v1) & 0xFF)) // Get low byte value of the word
// -----------------------------------------------------------------------------
// Tuner Part Bit Allocation
// -----------------------------------------------------------------------------
/* ---------------------------------+-----------------------------------
| b7 b6 b5 b4 b3 b2 b1 b0 ACK
---------------------------------+-----------------------------------
Address BYTE (ADB) | 1 1 0 0 0 MA1 MA0 0 A
---------------------------------+-----------------------------------
Program divider BYTE 1 (DB1) | 0 n14 n13 n12 n11 n10 n9 n8 A
Program divider BYTE 2 (DB2) | n7 n6 n5 n4 n3 n2 n1 n0 A
---------------------------------+-----------------------------------
Control information BYTE 1 (CB1) | 1 Cp T2 T1 T0 RSA RSB OS A
Control information BYTE 2 (CB2) | X X X X P3 P2 P1 P0 A
---------------------------------+----------------------------------- */
// ------- Address BYTE (ADB) // MA1 MA0 AS
#define TUNER_MA1 0x04 // 0 0 | 0 ~ 0.1Vcc
#define TUNER_MA0 0x02 // 0 1 | 0.2Vcc ~ 0.3Vcc
// 1 0 | 0.4Vcc ~ 0.6Vcc
// 1 1 | 0.9Vcc ~ Vcc
// ------- Control information BYTE 1 (CB1)
#define TUNER_CP 0x40 // Charge pump setting
#define TUNER_T2 0x20 // Test mode setting 2
#define TUNER_T1 0x10 // Test mode setting 1
#define TUNER_T0 0x08 // Test mode setting 0
#define TUNER_RSA 0x04 // Ratio select bit A
#define TUNER_RSB 0x02 // Ratio select bit B
#define TUNER_OS 0x01 // PLL Disibling
//------- Address BYTE (ADB)
#define TUNER_ADB 0xC0 | TUNER_MA1 | TUNER_MA0// (ADB) Tuner Address
#define TUNER_IF_ADB 0x86 // (ADB) Tuner Address
#define TUNER_IF_SAD 0x00 // (SDA) Tuner IF Subaddress
//------- Control information BYTE1 (CB1)
#define TUNER_RS_50 ( 0 | 0 ) // Ratio select = 50 KHz step-size
#define TUNER_RS_3125 ( 0 | TUNER_RSB) // Ratio select = 32.25 KHz step-size
#define TUNER_RS_6250 (TUNER_RSA | TUNER_RSB) // Ratio select = 62.6 KHz step-size
#define TUNER_RS TUNER_RS_6250 // Ratio select bits
#define TUNER_CB1 0xC0 | TUNER_T0 | TUNER_RS // (CB1) Control information BYTE 1
//------- Control information BYTE2 (CB2)
// Band Switching
#define TUNER_BS_L_BAND 0x01 // Band switching value in low band
#define TUNER_BS_M_BAND 0x02 // Band switching value in middle band
#define TUNER_BS_H_BAND 0x04 // Band switching value in high band
// Frequency limit of band
//#define TUNER_L_BAND_MIN_FREQ FREQ_PAL_BG( 79.15, MHZ) // Minimum frequency of low band
//#define TUNER_M_BAND_MIN_FREQ FREQ_PAL_BG(205.15, MHZ) // Minimum frequency of middle band
//#define TUNER_H_BAND_MIN_FREQ FREQ_PAL_BG(476.15, MHZ) // Minimum frequency of high band
#define TUNER_L_BAND_MIN_FREQ 79150000 // Minimum frequency of low band, 79.15 MHZ
#define TUNER_M_BAND_MIN_FREQ 205150000 // Minimum frequency of middle band, 205.15 MHZ
#define TUNER_H_BAND_MIN_FREQ 476150000 // Minimum frequency of high band, 476.1 MHZ
// Second IF Data
//#if (PHILIPS_VERSION==PHILIPS_MK3)
// #define TUNER_IF_BDATA 0x56 // Second IF B DATA
// #define TUNER_IF_BDATA_MUTE 0x76 // Second IF B DATA MUTE
//#elif(PHILIPS_VERSION==PHILIPS_MK5)
// #define TUNER_IF_BDATA 0x17 // Second IF B DATA
// #define TUNER_IF_BDATA_MUTE 0x37 // Second IF B DATA MUTE
//#endif
//#define TUNER_IF_CDATA 0x30 // Second IF C DATA
//#define TUNER_IF_EDATA 0x44 // Second IF E DATA
//------- AFC control function
#define TUNER_AFC_CONTROL ON // AFC control function
//------- Dedine tuning step-size according to tuner ratio select bits
#if (TUNER_RS==TUNER_RS_50)
// #define TUNER_DIV_RATIO FREQ( 50.00, KHZ)
#define TUNER_DIV_RATIO 0.50
#elif (TUNER_RS==TUNER_RS_3125)
// #define TUNER_DIV_RATIO FREQ( 31.25, KHZ)
#define TUNER_DIV_RATIO 0.3125
#elif (TUNER_RS==TUNER_RS_6250)
// #define TUNER_DIV_RATIO FREQ( 62.50, KHZ)
#define TUNER_DIV_RATIO 0.6250
#endif
//------- Define fine-tune value
//#define TUNER_FINETUNE_HIGH FREQ(125.00, KHZ)/TUNER_DIV_RATIO
//#define TUNER_FINETUNE_MID FREQ( 65.00, KHZ)/TUNER_DIV_RATIO
//#define TUNER_FINETUNE_LOW FREQ( 0.00, KHZ)/TUNER_DIV_RATIO
#define TUNER_FINETUNE_HIGH 18.75 //unit 10KHZ
#define TUNER_FINETUNE_MID 12.5 //unit 10KHZ
#define TUNER_FINETUNE_LOW 6.25 //unit 10KHZ
#define SUCCESS TRUE
#define FAILURE FALSE
void Tuner_WriteFreq(uDWORD ChFreq);
//uDWORD TVEEPGetChFreq();
uDWORD Tuner_AFC_Control(uDWORD ChFreq);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -