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

📄 tmbsl10046local.h

📁 TDA10046驱动源代码.TDA10046是PHILIPS的一款DVB-T TUNER
💻 H
📖 第 1 页 / 共 2 页
字号:
//  DEFINE BITS  
//---------------
#define TDA10046_AUTO_100PPM_BIT        0x80
#define TDA10046_AUTO_STARTLOCK_BIT     0x40
#define TDA10046_AUTO_AUTOOFFSET_BIT    0x10
#define TDA10046_AUTO_HPLP_BIT          0x08
#define TDA10046_AUTO_AUTO2K8K_BIT      0x04
#define TDA10046_AUTO_AUTOGI_BIT        0x02
#define TDA10046_AUTO_AUTOTPS_BIT       0x01
#define TDA10046_CONFC4_DSPWD_BIT       0x20
#define TDA10046_CONFC4_BPI2CTUNEEP_BIT 0x02
#define TDA10046_CONFC4_ICSTDBY_BIT     0x01
#define TDA10046_CONFC1_USEPK_BIT       0x80
#define TDA10046_CONFC1_INVQ_BIT        0x20
#define TDA10046_INCONF1_CNF2K8K_BIT    0x10
#define TDA10046_OUTCONF1_CNF2K8KF_BIT  0x10
#define TDA10046_CVBERCTRL_ITVBER_BIT   0x04
#define TDA10046_CVBERCTRL_ITCBER_BIT   0x01
#define TDA10046_AGCCONF_USEAGCTUN_BIT  0x10
#define TDA10046_AGCCONF_AUTOAGC_BIT    0x08
#define TDA10046_AGCCONF_AGCCONF2_BIT   0x04
#define TDA10046_CONFPOLA_AGCTUN_BIT    0x40
#define TDA10046_CONFPOLA_IFTUN_BIT     0x20
#define TDA10046_CONFTS1_DEGIG_BIT      0x80
#define TDA10046_CONFTS2_SLSB_BIT       0x20
#define TDA10046_CONFTS2_SBUS_BIT       0x10
#define TDA10046_CONFTS2_POCLK_BIT      0x01
#define TDA10046_SYNCSTATUS_FEL_BIT     0x08
#define TDA10046_TRISTATE1_ZTSPAR_BIT   0x80
#define TDA10046_GPIOSELECT_GPIOIN0_BIT 0x08

//-----------------------------------------------------------------------------
// Structure:
//-----------------------------------------------------------------------------
typedef enum _tm10046cfgIndex_t 
{
    BOARD = 0,
	STANDARD,
    XTALL,
    PLLMFACTOR,
    PLLNFACTOR,
    PLLPFACTOR,
	BERDEPTH,
	IQSWAPPED,
    EXTOFFSET,
    OFFSET125K,
    IF,
    WATCHDOG,
    NBRETRY,
    PULSEKILLER,
    XTALL100PPM,
    AGCTUN,
    AGCPOLATUN,
    AGCPOLAIF,
    AGCTUNMAX,
    AGCTUNMIN,
    AGCIFMAX,
    AGCIFMIN,
    OUTPOCLK,
    OUTPARASER,
    OUTMSBLSB,
    OUTMODEAB,
    OUTPARADIV,
	FEINIT = 100,
    SWITCH,
    IDENTITY,
    READSYNC,
    READIQ,
    READAGC,
    READCBER = 109,
    READCONF,
    READREPIMP,
    READREPFREQ,
    READCELLID,
    READDSPVERSION,
    SETCARRIERHIGH,
    SETCARRIERLOW,
    SETCARRIERSTEP,
    READCARRIER,
    STARTIQ,
    STOPIQ,
    STARTREPIMP,
    STOPREPIMP,

    GETNBOFUNIT = 200
} tm10046cfgIndex_t;

typedef struct _tm10046config_t
{
	UInt32	uBoard;
	UInt32	uXtall;
	UInt8	bPLL_MFactor;
	UInt8	bPLL_NFactor;
	UInt8	bPLL_PFactor;
	UInt8	bBerDepth;
	UInt8   bIQ_Swapped;
    UInt8   bExtOffset;
    UInt8   bOffset125k;
    UInt32	uIF;
    UInt8   bWatchdog;
    UInt8   bNbRetry;
    UInt8   bPulseKiller;
    UInt8   bXtall100ppm;
    UInt8   bAgcTun;
    UInt8	bAgcPolaTun;
    UInt8	bAgcPolaIf;
    UInt8	bAgcTunMax;
    UInt8	bAgcTunMin;
    UInt8	bAgcIfMax;
    UInt8	bAgcIfMin;
	UInt8	bOUT_Poclk;
	UInt8	bOUT_ParaSer;
	UInt8	bOUT_MsbLsb;
	UInt8	bOUT_ModeAB;
	UInt8	bOUT_ParaDiv;
} tm10046config_t, *ptm10046config_t;

typedef struct _tm10046flags_t
{
    unsigned int iScan	        :1;
	unsigned int iTune	        :1;
	unsigned int iStartAlgo	    :1;
	unsigned int iAutoOffset    :1;
	unsigned int iInit          :1;
} tm10046flags_t, *ptm10046flags_t;

typedef struct _tm10046channel_t
{
    UInt32	                uRF;
    UInt32	                uCS;
    tmhalFESpectrum_t	    eSI;
    tmhalFEModulation_t     eMOD;
    tmhalFEDepuncRate_t	    eVRHP;
    tmhalFEDepuncRate_t	    eVRLP;
    tmhalFERfOffset_t	    eRFO;
    tmhalFEGuardInterval_t	eGI;
    tmhalFEFft_t		    eFFT;
    tmhalFEPriority_t	    eHPLP;
    tmhalFEHierarchy_t	    eHRCH;
} tm10046channel_t, *ptm10046channel_t;

typedef struct _tm10046object_t 
{
	UInt32					uDemodHwAdd;
	tmUnitSelect_t			eTunerUnit;
    tmhalFEBslSystemFunc_t	systemFunc;
	tmbslTuConfig_t			tunerFunc;
	tm10046channel_t		sCurrentChannel;
	tm10046config_t			sConfig;
	tm10046flags_t		    sApiFlags;
    UInt32					uStopFrequency;
	UInt32					uSampClk;
    UInt32                  uWref8;
    UInt32                  uWref7;
    UInt32                  uWref6;
    UInt32                  uInvWref8;
    UInt32                  uInvWref7;
    UInt32                  uInvWref6;
    UInt8                   bStateOffset;
    tmhalFERfOffset_t       eStartOffset;
    UInt32                  uTickEnd;
    UInt32                  uCarrierHigh;
    UInt32                  uCarrierLow;
    UInt32                  uCarrierStep;
    UInt32                  uCarrier;
} tm10046object_t, *ptm10046object_t;

//-----------------------------------------------------------------------------
// Global data:
//-----------------------------------------------------------------------------
//

static tm10046object_t g10046Instance[TDA10046_MAX_UNITS] = 
{
    {
        (UInt32)0,                  // Demod Hw Address not set
        (tmUnitSelect_t)0,          // Tuner unit not set
        {   Null, Null, Null,       // Demod system function not initialized
            Null, Null, Null
        },                      
        {   Null, Null, Null,       // BSL tuner function not initialized
            Null, Null, Null,
            Null, Null, Null,
            Null, Null, Null
        },                      
        {   (UInt32)0,              // Channel structure not initialized
            (UInt32)0, 
            (tmhalFESpectrum_t)0,				
            (tmhalFEModulation_t)0, 
            (tmhalFEDepuncRate_t)0,
            (tmhalFEDepuncRate_t)0,
            (tmhalFERfOffset_t)0,
            (tmhalFEGuardInterval_t)0, 
            (tmhalFEFft_t)0, 
            (tmhalFEPriority_t)0, 
            (tmhalFEHierarchy_t)0 
        },
		{   OM5748_BOARD_DEF,		// Default configuration structure
            OM57XX_XTALL_DEF,
            OM57XX_PLLMFACTOR_DEF,
            OM57XX_PLLNFACTOR_DEF,
            OM57XX_PLLPFACTOR_DEF,
            OM57XX_BERDEPTH_DEF,
            OM57XX_IQSWAPPED_DEF,
            OM57XX_EXTOFFSET_DEF,
            OM57XX_OFFSET125K_DEF,
            OM57XX_IF_DEF,
            OM57XX_WATCHDOG_DEF,
            OM57XX_NBRETRY_DEF,
            OM57XX_PULSEKILLER_DEF,
            OM57XX_XTALL100PPM_DEF,
            OM57XX_AGCTUN_DEF,
            OM57XX_AGCPOLATUN_DEF,
            OM57XX_AGCPOLAIF_DEF,
            OM57XX_AGCTUNMAX_DEF,
            OM57XX_AGCTUNMIN_DEF,
            OM57XX_AGCIFMAX_DEF,
            OM57XX_AGCIFMIN_DEF,
            OM57XX_OUTPOCLK_DEF,
            OM57XX_OUTPARASER_DEF,
            OM57XX_OUTMSBLSB_DEF,
            OM57XX_OUTMODEAB_DEF,
            OM57XX_OUTPARADIV_DEF
        },
        {   0, 0, 0, 0, 0           // api flags
        },                      
        0,                          // stop scanning frequency
		0,							// system clock
        0,0,0,0,0,0,                // Wref and InvWref
        0,                          // state of the offset algo
        (tmhalFERfOffset_t)0,       // start offset algo
        0,                          // end tick value
        1704,                       // carrier high
        0,                          // carrier low
        1,                          // carrier step
        0                           // current carrier
    }
};

#ifdef __cplusplus
}
#endif

#endif // TM<MODULE>_H //---------------

⌨️ 快捷键说明

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