| 1 | /* |
|---|
| 2 | * $Id: TunerDTT7612.h,v 1.1 2011/07/08 03:43:59 megakiss Exp $ |
|---|
| 3 | * $Revision: 1.1 $ |
|---|
| 4 | * $DateTime: 2005/08/24 19:03:17 $ |
|---|
| 5 | * $Change: 28028 $ |
|---|
| 6 | * $Author: megakiss $ |
|---|
| 7 | */ |
|---|
| 8 | |
|---|
| 9 | #ifndef TUNER_DTT7612_H |
|---|
| 10 | #define TUNER_DTT7612_H |
|---|
| 11 | |
|---|
| 12 | #include "Cas2BGeneralDefinitions.h" |
|---|
| 13 | |
|---|
| 14 | //For Tuner DTT7612 |
|---|
| 15 | |
|---|
| 16 | typedef enum EN_TYPE_TUNERDTT7612_REF_DIVIDER_RATIO{ |
|---|
| 17 | TUNERDTT7612_REF_DIVIDER_RATIO_31_25 = 0, |
|---|
| 18 | TUNERDTT7612_REF_DIVIDER_RATIO_50, |
|---|
| 19 | TUNERDTT7612_REF_DIVIDER_RATIO_62_5, |
|---|
| 20 | TUNERDTT7612_REF_DIVIDER_RATIO_166_7 |
|---|
| 21 | }TYPE_TUNERDTT7612_REF_DIVIDER_RATIO; |
|---|
| 22 | |
|---|
| 23 | typedef enum EN_TYPE_TUNERDTT7612_AGC{ |
|---|
| 24 | TUNERDTT7612_AGC_102_A = 0, |
|---|
| 25 | TUNERDTT7612_AGC_102_B, |
|---|
| 26 | TUNERDTT7612_AGC_99, |
|---|
| 27 | TUNERDTT7612_AGC_96, |
|---|
| 28 | TUNERDTT7612_AGC_93, |
|---|
| 29 | TUNERDTT7612_AGC_90, |
|---|
| 30 | TUNERDTT7612_AGC_WIDE_BAND_OFF |
|---|
| 31 | }TYPE_TUNERDTT7612_AGC; |
|---|
| 32 | |
|---|
| 33 | typedef enum EN_TYPE_TUNERDTT7612_CHARGE_PUMP{ |
|---|
| 34 | TUNERDTT7612_CHARGE_PUMP_60 = 0, |
|---|
| 35 | TUNERDTT7612_CHARGE_PUMP_280 |
|---|
| 36 | }TYPE_TUNERDTT7612_CHARGE_PUMP; |
|---|
| 37 | |
|---|
| 38 | typedef enum EN_TYPE_TUNERDTT7612_AGC_TIME_CONSTANT{ |
|---|
| 39 | TUNERDTT7612_AGC_TIME_CONSTANT_50_MS = 0, |
|---|
| 40 | TUNERDTT7612_AGC_TIME_CONSTANT_2_SEC |
|---|
| 41 | }TYPE_TUNERDTT7612_AGC_TIME_CONSTANT; |
|---|
| 42 | |
|---|
| 43 | /* |
|---|
| 44 | #define I2C_DTT7612_DEVICE_ADDRESS_WRITE 0xC2 |
|---|
| 45 | #define I2C_DTT7612_SLAVE_ADDRESS 0x86 |
|---|
| 46 | */ |
|---|
| 47 | /* Platform Specific Defenition */ |
|---|
| 48 | /* |
|---|
| 49 | #define DTT7612_DEVICE_ADDRESS_WRITE I2C_DEVICE_INFO(I2C_DTT7612_DEVICE_ADDRESS_WRITE,I2C_BUS1,I2C_08_SUB_TYPE,I2C_050_KHZ_SETTING) |
|---|
| 50 | #define DTT7612_SLAVE_ADDRESS I2C_DEVICE_INFO(I2C_DTT7612_SLAVE_ADDRESS,I2C_BUS1,I2C_NO_SUB_TYPE,I2C_050_KHZ_SETTING) |
|---|
| 51 | */ |
|---|
| 52 | |
|---|
| 53 | #define DTT7612_CHANNEL_DOES_NOT_FIT_ANY_FREQUENCY -1 |
|---|
| 54 | #define DTT7612_SUCCESS 0 |
|---|
| 55 | #define DTT7612_FREQUENCY_VALUE_OUT_OF_RANGE 1 |
|---|
| 56 | #define DTT7612_VALUE_OUT_OF_RANGE 2 |
|---|
| 57 | #define DTT7612_COULD_NOT_SET_N 3 |
|---|
| 58 | #define DTT7612_BEFORE_SEND_BYTES_FAILED 4 |
|---|
| 59 | #define DTT7612_AFTER_SEND_BYTES_FAILED 5 |
|---|
| 60 | #define DTT7612_SEND_CONTROL_DATA_FAILED 6 |
|---|
| 61 | #define DTT7612_CHANNEL_OUT_OF_RANGE 7 |
|---|
| 62 | |
|---|
| 63 | #define DTT7612_LOW_BAND_MIN 55250 |
|---|
| 64 | #define DTT7612_LOW_BAND_MAX 145250 |
|---|
| 65 | #define DTT7612_MID_BAND_MIN 151250 |
|---|
| 66 | #define DTT7612_MID_BAND_MAX 415250 |
|---|
| 67 | #define DTT7612_HIGH_BAND_MIN 421250 |
|---|
| 68 | #define DTT7612_HIGH_BAND_MAX 859250 |
|---|
| 69 | #define DTT7612_F_IF_KHZ 44000 |
|---|
| 70 | #define DTT7612_N_MAX 32768 //15 bits |
|---|
| 71 | |
|---|
| 72 | //For DTT7612 |
|---|
| 73 | #define FM_MIN_VALUE 88000 |
|---|
| 74 | #define FM_MAX_VALUE 108000 |
|---|
| 75 | #define FM_DTT7612_F_IF_KHZ 41300 |
|---|
| 76 | |
|---|
| 77 | |
|---|
| 78 | |
|---|
| 79 | #if NIMTN_TYPE==NIMTN_DTT7612 |
|---|
| 80 | |
|---|
| 81 | |
|---|
| 82 | int TunerDTT7612SendChannel(unsigned int uiChannel,CHANNEL_TABLE_TYPE iChannelTable,TYPE_TUNERDTT7612_REF_DIVIDER_RATIO iRefDividerRatio,unsigned int uiAgc, unsigned int uiAgcMode,unsigned int uiChargePump,unsigned int uiAgcTimeConstant); |
|---|
| 83 | int TunerDTT7612SendFreq(unsigned long ulFrequency,TYPE_TUNERDTT7612_REF_DIVIDER_RATIO iRefDividerRatio,unsigned int uiAgc, unsigned int uiAgcMode,unsigned int uiChargePump,unsigned int uiAgcTimeConstant); |
|---|
| 84 | int TunerDTT7612SendPicCarrier(unsigned long ulFrequency,TYPE_TUNERDTT7612_REF_DIVIDER_RATIO iRefDividerRatio,unsigned int uiAgc, unsigned int uiAgcMode,unsigned int uiChargePump,unsigned int uiAgcTimeConstant); |
|---|
| 85 | unsigned long TunerDTT7612GetFrequency(unsigned int uiChannelNumber,CHANNEL_TABLE_TYPE iChannelTable); |
|---|
| 86 | BOOLEAN TunerDTT7612SetRFFreq(unsigned long ulFrequency,unsigned int uiAgcMode,unsigned char* pucBb); |
|---|
| 87 | BOOLEAN DTT7612SetN(unsigned long ulFrequency,TYPE_TUNERDTT7612_REF_DIVIDER_RATIO iRefDividerRatio, unsigned char* pucDb1,unsigned char* pucDb2); |
|---|
| 88 | void DTT7612SetCP(unsigned int uiChargePump,unsigned char* pucCb); |
|---|
| 89 | void DTT7612SetStepSize(TYPE_TUNERDTT7612_REF_DIVIDER_RATIO iRefDividerRatio, unsigned char* pucCb,unsigned char* pucCb2); |
|---|
| 90 | void DTT7612SetAGC(unsigned int uiAgc, unsigned char* pucAb); |
|---|
| 91 | void DTT7612SetATC(unsigned int uiAgcTimeConstant,unsigned char* pucAb); |
|---|
| 92 | unsigned int DTT7612SendControlData(unsigned int uiAgcMode,unsigned char Db1,unsigned char Db2,unsigned char Cb,unsigned char Bb,unsigned char Ab,unsigned char Cb2); |
|---|
| 93 | BOOLEAN TunerDTT7612BeforeSendBytes(void); |
|---|
| 94 | BOOLEAN TunerDTT7612AfterSendBytes(void); |
|---|
| 95 | void DTT7612InitBytes(unsigned char* pucDb1,unsigned char* pucDb2,unsigned char* pucCb,unsigned char* pucBb,unsigned char* pucAb,unsigned char* pucCb2); |
|---|
| 96 | unsigned int DTT7612GetTunerStatusReg(unsigned char * pucStatusReg); |
|---|
| 97 | |
|---|
| 98 | #endif//#if NIMTN_TYPE==NIMTN_DTT7612 |
|---|
| 99 | |
|---|
| 100 | #endif |
|---|