#ifndef TUNER_FQD1236_H #define TUNER_FQD1236_H #include "Cas2BGeneralDefinitions.h" //For Tuner FQD1236 typedef enum EN_TYPE_TUNERFQD1236_REF_DIVIDER_RATIO{ TUNERFQD1236_REF_DIVIDER_RATIO_31_25 = 0, TUNERFQD1236_REF_DIVIDER_RATIO_50, TUNERFQD1236_REF_DIVIDER_RATIO_62_5, TUNERFQD1236_REF_DIVIDER_RATIO_166_7 /* 166.7KHz´Â Áö¿øÇÏÁö ¾ÊÀ½. */ }TYPE_TUNERFQD1236_REF_DIVIDER_RATIO; typedef enum EN_TYPE_TUNERFQD1236_AGC{ TUNERFQD1236_AGC_115_A = 0, TUNERFQD1236_AGC_115_B, TUNERFQD1236_AGC_112, /* Default at POR */ TUNERFQD1236_AGC_109, TUNERFQD1236_AGC_106, TUNERFQD1236_AGC_103, TUNERFQD1236_AGC_EXTERNAL_AGC, TUNERFQD1236_AGC_DISABLED }TYPE_TUNERFQD1236_AGC; typedef enum EN_TYPE_TUNERFQD1236_CHARGE_PUMP{ TUNERFQD1236_CHARGE_PUMP_50 = 0, TUNERFQD1236_CHARGE_PUMP_250 }TYPE_TUNERFQD1236_CHARGE_PUMP; typedef enum EN_TYPE_TUNERFQD1236_AGC_TIME_CONSTANT{ TUNERFQD1236_AGC_TIME_CONSTANT_50_MS = 0, TUNERFQD1236_AGC_TIME_CONSTANT_2_SEC }TYPE_TUNERFQD1236_AGC_TIME_CONSTANT; #define FQD1236_CHANNEL_DOES_NOT_FIT_ANY_FREQUENCY -1 #define FQD1236_SUCCESS 0 #define FQD1236_FREQUENCY_VALUE_OUT_OF_RANGE 1 #define FQD1236_VALUE_OUT_OF_RANGE 2 #define FQD1236_COULD_NOT_SET_N 3 #define FQD1236_BEFORE_SEND_BYTES_FAILED 4 #define FQD1236_AFTER_SEND_BYTES_FAILED 5 #define FQD1236_SEND_CONTROL_DATA_FAILED 6 #define FQD1236_CHANNEL_OUT_OF_RANGE 7 #define FQD1236_LOW_BAND_MIN 55250 #define FQD1236_LOW_BAND_MAX 161250 /* STD Ch.19 + 2.25MHz = 161.25MHz */ #define FQD1236_MID_BAND_MIN 161750 /* HRC Ch.20 - 2.25MHz = 161.75MHz */ #define FQD1236_MID_BAND_MAX 443250 /* STD Ch.60 + 2.25MHz = 443.25MHz */ #define FQD1236_HIGH_BAND_MIN 443500 /* HRC Ch.61 - 2.25MHz = 443.50MHz */ #define FQD1236_HIGH_BAND_MAX 859250 #define FQD1236_F_IF_KHZ 44000 #define FQD1236_N_MAX 32768 //15 bits #if NIMTN_TYPE==NIMTN_FQD1236 int TunerFQD1236SendCnannel(unsigned int uiChannel,CHANNEL_TABLE_TYPE iChannelTable,TYPE_TUNERFQD1236_REF_DIVIDER_RATIO iRefDividerRatio,unsigned int uiAgc, unsigned int uiAgcMode,unsigned int uiChargePump,unsigned int uiAgcTimeConstant); int TunerFQD1236SendFreq(unsigned long ulFrequency,TYPE_TUNERFQD1236_REF_DIVIDER_RATIO iRefDividerRatio,unsigned int uiAgc, unsigned int uiAgcMode,unsigned int uiChargePump,unsigned int uiAgcTimeConstant); int TunerFQD1236SendPicCarrier(unsigned long ulFrequency,TYPE_TUNERFQD1236_REF_DIVIDER_RATIO iRefDividerRatio,unsigned int uiAgc, unsigned int uiAgcMode,unsigned int uiChargePump,unsigned int uiAgcTimeConstant); unsigned long TunerFQD1236GetFrequency(unsigned int uiChannelNumber,CHANNEL_TABLE_TYPE iChannelTable); BOOLEAN TunerFQD1236SetRFFreq(unsigned long ulFrequency,unsigned int uiAgcMode,unsigned char* pucBb); BOOLEAN FQD1236SetN(unsigned long ulFrequency,TYPE_TUNERFQD1236_REF_DIVIDER_RATIO iRefDividerRatio, unsigned char* pucDb1,unsigned char* pucDb2); void FQD1236SetCP(unsigned int uiChargePump,unsigned char* pucCb); void FQD1236SetStepSize(TYPE_TUNERFQD1236_REF_DIVIDER_RATIO iRefDividerRatio, unsigned char* pucCb,unsigned char* pucCb2); void FQD1236SetAGC(unsigned int uiAgc, unsigned char* pucAb); void FQD1236SetATC(unsigned int uiAgcTimeConstant,unsigned char* pucAb); unsigned int FQD1236SendControlData(unsigned int uiAgcMode,unsigned char Db1,unsigned char Db2,unsigned char Cb,unsigned char Bb,unsigned char Ab,unsigned char Cb2); BOOLEAN TunerFQD1236BeforeSendBytes(); BOOLEAN TunerFQD1236AfterSendBytes(); void FQD1236InitBytes(unsigned char* pucDb1,unsigned char* pucDb2,unsigned char* pucCb,unsigned char* pucBb,unsigned char* pucAb,unsigned char* pucCb2); unsigned int FQD1236GetTunerStatusReg(unsigned char * pucStatusReg); #endif #endif