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

📄 tmbsl10086local.h.rz_backup

📁 卫星前段解码器详细代码
💻 RZ_BACKUP
📖 第 1 页 / 共 2 页
字号:
#define TDA10086_WPLL1_ON_DEF           0x44
#define TDA10086_WPLL2_ON_DEF           0x00
#define TDA10086_WPLL1_OFF_DEF          0xC4
#define TDA10086_WPLL2_OFF_DEF          0x08
#define TDA10086_ADC_C1_DEF             0x20

#define TDA10086_AGCN_HIGHSR_DEF        0x63
#define TDA10086_AGCN_LOWSR_DEF         0x43
#define TDA10086_GTR2_HIGHSR_DEF        0x4F
#define TDA10086_GTR2_LOWSR_DEF         0x43

//----------------
//  DEFINE MASKS  
//----------------
#define TDA10086_CLEAR_STDBY_MSK        0x08

#define TDA10086_RATE_R_O_MSK           0x70

#define TDA10086_CPT_UNCOR_CPTU_MSK     0x7F
#define TDA10086_CPT_UNCOR_CLBUNC_MSK   0x80

#define TDA10086_CARINIT_CLBCAR_MSK     0x80

#define TDA10086_CLEAR_CLB_MSK          0x01
#define TDA10086_CLEAR_IICTRL_MSK       0x10

#define TDA10086_ADCONF_BYP_MSK         0x08

#define TDA10086_CONF_SPECINV_MSK       0xC0
#define TDA10086_RATE_RAUTO_MSK         0x0F

#define TDA10086_FCONF_DFN_MSK          0x07

#define TDA10086_MODE_PVBER_MSK         0x30
#define TDA10086_BIT7_MSK               0x80
#define TDA10086_STATUS_SIA_MSK         0x02

#define TDA10086_CONF_PFEL_MSK          0x02

#define TDA10086_SYNC_RXSIG_MSK         0x01
#define TDA10086_SYNC_CARLOC_MSK        0x02
#define TDA10086_SYNC_FSYNC_MSK         0x08
#define TDA10086_SYNC_FEL_MSK           0x10
#define TDA10086_SYNC_BER_MSK           0x60

#define TDA10086_STATUS_NODVB_MSK       0x08
#define TDA10086_RHYC_DYN_MSK           0x40
#define TDA10086_ADCONF_CTRL4_MSK       0x40
#define TDA10086_PWMSAGCR_MSK           0x3F
#define TDA10086_AGCRA_PWMOD_MSK        0x80
#define TDA10086_AGCRA_AGCRA_MSK        0x1F
#define TDA10086_FTUNMSB_POSMUL_MSK     0x80

#define TDA10086_TEST_LNBONOFF_MSK      0x20
#define TDA10086_TEST_LNBOFF_MSK        0x00
#define TDA10086_TEST_VOLT_MSK          0x30
#define TDA10086_TEST_13V_MSK           0x20
#define TDA10086_TEST_18V_MSK           0x30

#define TDA10086_DISEQC_SEL22K_MSK      0x01
#define TDA10086_DISEQC_SELBUR_MSK      0x02
#define TDA10086_DISEQC_SENDBUR_MSK     0x04
#define TDA10086_DISEQC_SENDM_MSK       0x08
#define TDA10086_DISEQC_OCTNB_MSK       0x70
#define TDA10086_DISEQC_MODE22K_MSK     0x80

#define TDA10086_PLLP2_P_FACTOR_MSK     0xF8
#define TDA10086_SA_DIV_MSK             0xF0

//---------------
//  DEFINE BITS  
//---------------
#define TDA10086_POLA_POINT_BIT         0x08
#define TDA10086_POLA_POCLK_BIT         0x01

#define TDA10086_TSINT_SERINT_BIT       0x01
#define TDA10086_TSINT_PARMOD_BIT       0x02
#define TDA10086_TSINT_MSBFIRST_BIT     0x40

#define TDA10086_MODE_STD_BIT           0x01
#define TDA10086_MODE_PSK_BIT           0x02
#define TDA10086_MODE_PARC_SERB_BIT     0x04
#define TDA10086_MODE_SERB_BIT          0x08

#define TDA10086_PWMS_BIT               0x20
#define TDA10086_RATE_RAUTO_BIT         0x08

#define TDA10086_PLLP4_PDPLL_BIT        0x20
#define TDA10086_PLLP4_BYPPLL_BIT       0x10


//-----------------------------------------------------------------------------
// Structure:
//-----------------------------------------------------------------------------
//
typedef enum _tm10086cfgIndex_t 
{
    BOARD = 0,
    DSSDVB,
    XTALL,
    PLLMFACTOR,
    PLLPFACTOR,
    BERDEPTH,
    SEARCHRANGE,
    POLAAGC,
    IQSWAPPED,
    OUT1MODEABC,
    OUT1PARASER,
    OUT1POCLK,
    OUT1MSBFIRST,
    OUT1PARBDIV,
    OUT2MODEAB,
    OUT2POCLK,
    OUT2MSBFIRST,
    FEINIT = 100,
    SWITCH,
    IDENTITY,
    READSYNC,
    READIQ,
    READAGCAD,
    GETNBOFUNIT = 200
} tm10086cfgIndex_t;

typedef struct _tm10086config_t
{
    UInt32   uBoard;
    UInt8    bDSS_DVB;
    UInt32   uXtall;
    UInt8    bPLL_M_Factor;
    UInt8    bPLL_P_Factor;
    UInt8    bBerDepth;
    UInt8    bSearchRange;
    UInt8    bPolaAGC;
    UInt8    bIQ_Swapped;
    UInt8    bOUT1_ModeABC;
    UInt8    bOUT1_ParaSer;
    UInt8    bOUT1_POClk;
    UInt8    bOUT1_MSBFirst;
    UInt8    bOUT1_ParBDiv;
    UInt8    bOUT2_ModeAB;
    UInt8    bOUT2_POClk;
    UInt8    bOUT2_MSBFirst;
} tm10086config_t, *ptm10086config_t;

typedef struct _tm10086apiStatus_t
{
    unsigned int iScan           :1;
    unsigned int iAutoViterbi    :1;
    unsigned int iAutoSpecInv    :1;
} tm10086apiStatus_t, *ptm10086apiStatus_t;

typedef struct _tm10086demodStatus_t
{
    unsigned int bfReceiveSignal    :1;
    unsigned int bfFrameSync        :1;
} tm10086demodStatus_t, *ptm10086demodStatus_t;

typedef struct _tm10086freqSearch_t
{
    UInt32 uCounter;
    UInt32 uCenterRF;
} tm10086freqSearch_t, *ptm10086freqSearch_t;

typedef struct _tm10086channel_t
{
    UInt32               uRF;
    UInt32               uSR;
    tmhalFESpectrum_t    eSI;
    tmhalFEModulation_t  eMOD;
    tmhalFEDepuncRate_t  eVR;
    UInt8                bLNBvoltage;
    UInt16               wLNBfrequency;
    tmhalFEToneBurst_t   eDiSEqCtoneburst;
    UInt8                bDiSEqCNbByte;
    UInt8                pDiSEqCMessage[8];
} tm10086channel_t, *ptm10086channel_t;

typedef struct _tm10086object_t 
{
    Bool                    Init;
    UInt32                  uDemodHwAdd;
    tmUnitSelect_t          eTunerUnit;
    tmhalFEBslSystemFunc_t  systemFunc;
    tmbslTuConfig_t         tunerFunc;
    tm10086channel_t        sCurrentChannel;
    tm10086config_t         sConfig;
    tm10086apiStatus_t      sApiStatus;
    tm10086demodStatus_t    sDemodStatus;
    tm10086freqSearch_t     sFreqSearch;
    UInt32                  uStopFrequency;        // End of the RF freqency band (Hz)
    UInt32                  uSysClk;
    Bool                    bStartAlgo;
    UInt8                   bState;
    UInt8                   bStateRF;
    UInt32                  uTickEnd;
} tm10086object_t, *ptm10086object_t;

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

static tm10086object_t g10086Instance[] = 
{
    {
        (Bool)False,                // True:instance is initialized
        (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,
            (UInt8)0,
            (UInt16)0, 
            (tmhalFEToneBurst_t)0, 
            (UInt8)0, 
            (UInt8)0 
        },
        {   OM5751_BOARD_DEF,       // Default configuration structure
            OM57XX_DSSDVB_DEF,
            OM57XX_XTAL_DEF,        
            OM57XX_PLLMFACTOR_DEF,
            OM57XX_PLLPFACTOR_DEF,
            OM57XX_BERDEPTH_DEF,
            OM57XX_SEARCHRANGE_DEF,
            OM57XX_POLAGC_DEF,
            OM57XX_IQSWAPPED_DEF,
            OM57XX_MODEABC1_DEF,
            OM57XX_PARASER1_DEF,
            OM57XX_POCLK1_DEF,
            OM57XX_MSBFIRST1_DEF,
            OM57XX_PARBDIV1_DEF,
            OM57XX_MODEAB2_DEF,
            OM57XX_POCLK2_DEF,
            OM57XX_MSBFIRST2_DEF
        },
        {   0, 0, 0                 // api status structure not initialized
        },                      
        {   0, 0                    // demod status structure not initialized
        },                      
        {   0, 0                    // freq search structure not initialized
        },
        2150000000,                 // stop scanning frequency
        0,                          // system clock
        0,                          // startAlgo OFF
        0,                          // state of the main algo
        0,                          // state of the RF algo
        0                           // tick for the end of the timer
    }
};

#ifdef __cplusplus
}
#endif

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

⌨️ 快捷键说明

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