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

📄 tmbsltda18271local.h

📁 nxp silicon tuner 18271 sample code
💻 H
📖 第 1 页 / 共 3 页
字号:
/**
Copyright (C) 2008 NXP B.V., All Rights Reserved.
This source code and any compilation or derivative thereof is the proprietary
information of NXP B.V. and is confidential in nature. Under no circumstances
is this software to be  exposed to or placed under an Open Source License of
any type without the expressed written permission of NXP B.V.
*
* \file          tmbslTDA18271local.h
*                %version: 27.4 %
*
* \date          %date_modified%
*
* \brief         Describe briefly the purpose of this file.
*
* REFERENCE DOCUMENTS :
*
* Detailed description may be added here.
*
* \section info Change Information
*
* \verbatim
Date          Modified by CRPRNr  TASKNr  Maintenance description
-------------|-----------|-------|-------|-----------------------------------
|            |           |       |
-------------|-----------|-------|-------|-----------------------------------
|            |           |       |
-------------|-----------|-------|-------|-----------------------------------
\endverbatim
*
*/

#ifndef _TMBSL_TDA18271LOCAL_H 
#define _TMBSL_TDA18271LOCAL_H

/*------------------------------------------------------------------------------*/
/* Standard include files:                                                      */
/*------------------------------------------------------------------------------*/

#include "tmbslTDA18271.h"


/*------------------------------------------------------------------------------*/
/* Project include files:                                                       */
/*------------------------------------------------------------------------------*/

#ifdef __cplusplus
extern "C"
{
#endif

/*------------------------------------------------------------------------------*/
/* Types and defines:                                                           */
/*------------------------------------------------------------------------------*/

#define _SYSTEMFUNC (pObj->SystemFunc)

#define POBJ_SRVFUNC_SIO pObj->sRWFunc
#define POBJ_SRVFUNC_STIME pObj->sTime
#define P_DBGPRINTEx pObj->sDebug.Print
#define P_DBGPRINTVALID ((pObj != Null) && (pObj->sDebug.Print != Null))

#define TDA18271_BSL_COMP_NUM    3  /* Major protocol change - Specification change required */
#define TDA18271_BSL_MAJOR_VER   4  /* Minor protocol change - Specification change required */
#define TDA18271_BSL_MINOR_VER   11 /* Software update - No protocol change - No specification change required */

/*-------------*/
/* ERROR CODES */
/*-------------*/

#define TDA18271_MAX_UNITS                          2
#define TDA18271_NB_BYTES                           39
#define TDA18271_LOG_NB_ROWS                        300
#define TDA18271_LOG_BLANK_DATA                     256

#define    TDA18271_IR_MEAS_NB_COLUMNS              2
#define    TDA18271_IR_CAL_NB_COLUMNS               2
#define    TDA18271_BP_FILTER_NB_COLUMNS            2
#define    TDA18271_RF_BAND_NB_COLUMNS              12
#define    TDA18271_GAIN_TAPER_NB_COLUMNS           2
#define    TDA18271_RF_CAL_NB_COLUMNS               2
#define    TDA18271_RF_CAL_DC_OVER_DT_NB_COLUMNS    2
#define    TDA18271_RF_CAL_KMCO_NB_COLUMNS          4
#define    TDA18271_RF_CAL_CID_TARGET_NB_COLUMNS    3
#define    TDA18271_CAL_PLL_NB_COLUMNS              3
#define    TDA18271_MAIN_PLL_NB_COLUMNS             3

#define    TDA18271_IR_MEAS_NB_ROWS                 3
#define    TDA18271_IR_CAL_NB_ROWS                  3
#define    TDA18271_BP_FILTER_NB_ROWS               7
#define    TDA18271_RF_BAND_NB_ROWS                 7
#define    TDA18271_GAIN_TAPER_NB_ROWS              85
#define    TDA18271_RF_CAL_NB_ROWS                  437    
#define    TDA18271_RF_CAL_DC_OVER_DT_NB_ROWS       101
#define    TDA18271_RF_CAL_KMCO_NB_ROWS             5
#define    TDA18271_RF_CAL_CID_TARGET_NB_ROWS       12
#define    TDA18271_CAL_PLL_NB_ROWS                 35
#define    TDA18271_MAIN_PLL_NB_ROWS                40

#define    TDA18271_THERMOMETER_NB_COLUMNS          3
#define    TDA18271_THERMOMETER_NB_ROWS             16

#define    TDA18271_IDENTITY_IND                    0

#define OM5770C2_BOARD_DEF                          0x57700002  /* TDA8295C1 + TDA10046 + TDA18271 */
#define OM5775_BOARD_DEF                            0x57750000  /* 2xTDA8290C1 + 2xTDA10048 + 2xTDA18271 */

#define OM5776_BOARD_DEF                            0x57760000
#define OM5777_BOARD_DEF                            0x57770000
#define OM5780_BOARD_DEF                            0x57800000
#define OM5782_BOARD_DEF                            0x57820000
#define OM5764_BOARD_DEF                            0x57640199
#define CUSTOM_BOARD_DEF                            0x00000000
#define OM57XX_STANDARD_DEF                         2

#define RF_CAL_IF_FREQ                              1000000


    typedef enum _tmTDA18271MapName_t {
        tmTDA18271_IR_MEAS_Map,                     /* Image rejection measurement map */
        tmTDA18271_IR_CAL_Map,                      /* Image rejection calibration map */
        tmTDA18271_BP_FILTER_Map,                   /* Band pass filter map */
        tmTDA18271_RF_BAND_Map,                     /* RF band map */
        tmTDA18271_GAIN_TAPER_Map,                  /* Gain tapper map */
        tmTDA18271_RF_CAL_Map,                      /* RF calibration map */
        tmTDA18271_RF_CAL_DC_OVER_DT_Map,           /* RF calibration temperature adjustment map */
        tmTDA18271_RF_CAL_KMCO_Map,                 /* RF calibration K,M,COAmpl map */
        tmTDA18271_RF_CAL_CID_TARGET_Map,           /* RF calibration CID target map */
        tmTDA18271_THERMOMETER_Map,                 /* Thermometer map */
        tmTDA18271_CAL_PLL_Map,                     /* Calibration PLL map */
        tmTDA18271_MAIN_PLL_Map,                    /* Main PLL map */
        tmTDA18271_I2C_Map,                         /* I2C map */
    } tmTDA18271MapName_t, *ptmTDA18271MapName_t;

    typedef struct _tmTDA18271_IR_MEAS_Map_t {
        UInt32 uRF_Max;
        UInt32 uIR_Meas;
    } tmTDA18271_IR_MEAS_Map_t, *ptmTDA18271_IR_MEAS_Map_t;

    typedef struct _tmTDA18271_IR_CAL_Map_t {
        UInt32 uRF;
        UInt32 uIR_GStep;
    } tmTDA18271_IR_CAL_Map_t, *ptmTDA18271_IR_CAL_Map_t;

    typedef struct _tmTDA18271_BP_FILTER_Map_t {
        UInt32 uRF_Max;
        UInt32 uBP_Filter;
    } tmTDA18271_BP_FILTER_Map_t, *ptmTDA18271_BP_FILTER_Map_t;

    typedef struct _tmTDA18271_RF_BAND_Map_t {
        UInt32 uRF_Max;
        UInt32 uRF_Band;
        UInt32 uRF1;
        UInt32 uRF2;
        UInt32 uRF3;
        Int32 uRF_A1;
        Int32 uRF_B1;
        Int32 uRF_A2;
        Int32 uRF_B2;
        UInt32 uRF1_default;
        UInt32 uRF2_default;
        UInt32 uRF3_default;
    } tmTDA18271_RF_BAND_Map_t, *ptmTDA18271_RF_BAND_Map_t;

    typedef struct _tmTDA18271_GAIN_TAPER_Map_t {
        UInt32 uRF_Max;
        UInt32 uGain_Taper;
    } tmTDA18271_GAIN_TAPER_Map_t, *ptmTDA18271_GAIN_TAPER_Map_t;

    typedef struct _tmTDA18271_RF_CAL_Map_t {
        UInt32 uRF_Max;
        UInt32 uRFC_Cprog;
    } tmTDA18271_RF_CAL_Map_t, *ptmTDA18271_RF_CAL_Map_t;

    typedef struct _tmTDA18271_RF_CAL_DC_OVER_DT_Map_t {
        UInt32 uRF_Max;
        UInt32 udC_Over_dT;
    } tmTDA18271_RF_CAL_DC_OVER_DT_Map_t, *ptmTDA18271_RF_CAL_DC_OVER_DT_Map_t;

    typedef struct _tmTDA18271_RF_CAL_KMCO_Map_t {
        UInt32 uRF_Max;
        UInt32 uK;
        UInt32 uM;
        UInt32 uCOAmpl;
    } tmTDA18271_RF_CAL_KMCO_Map_t, *ptmTDA18271_RF_CAL_KMCO_Map_t;

    typedef struct _tmTDA18271_RF_CAL_CID_TARGET_Map_t {
        UInt32 uRF_Max;
        UInt32 uCID_Target;
        UInt32 uCount_Limit;
    } tmTDA18271_RF_CAL_CID_TARGET_Map_t, *ptmTDA18271_RF_CAL_CID_TARGET_Map_t;

    typedef struct _tmTDA18271_THERMOMETER_Map_t {
        UInt32 uTM_D;
        UInt32 uTM_60_92;
        UInt32 uTM_92_122;
    } tmTDA18271_THERMOMETER_Map_t, *ptmTDA18271_THERMOMETER_Map_t;

    typedef struct _tmTDA18271_PLL_Map_t {
        UInt32 uLO_Max;
        UInt32 uPost_Div;
        UInt32 uDiv;
    } tmTDA18271_PLL_Map_t, *ptmTDA18271_PLL_Map_t;

    typedef struct _tmTDA18271Config_t {
        UInt32                              uBoard;
        Bool                                uMasterDevice;
        UInt32                              uStandard;
        UInt32                              uRF;
        UInt32                              uIF;
        UInt32                              uTMVALUE_RFCAL;
        UInt32                              uPLMODE;
        Int32                               uRFCAL_TCOMP;
        UInt32                              uMAPNAME;
        UInt32                              uMAPCOLUMN;
        UInt32                              uMAPROW;
        UInt32                              uPROTOCOLSTEP;
        tmTDA18271StdCoefficients           Std_Array[tmTDA18271_StdNotSupported];
        tmTDA18271_IR_MEAS_Map_t            IR_MEAS_Map[TDA18271_IR_MEAS_NB_ROWS];
        tmTDA18271_IR_CAL_Map_t             IR_CAL_Map[TDA18271_IR_CAL_NB_ROWS];
        tmTDA18271_BP_FILTER_Map_t          BP_FILTER_Map[TDA18271_BP_FILTER_NB_ROWS];
        tmTDA18271_RF_BAND_Map_t            RF_BAND_Map[TDA18271_RF_BAND_NB_ROWS];
        tmTDA18271_GAIN_TAPER_Map_t         GAIN_TAPER_Map[TDA18271_GAIN_TAPER_NB_ROWS];
        tmTDA18271_RF_CAL_Map_t             RF_CAL_Map[TDA18271_RF_CAL_NB_ROWS];
        tmTDA18271_RF_CAL_DC_OVER_DT_Map_t  RF_CAL_DC_OVER_DT_Map[TDA18271_RF_CAL_DC_OVER_DT_NB_ROWS];
        tmTDA18271_RF_CAL_KMCO_Map_t        RF_CAL_KMCO_Map[TDA18271_RF_CAL_KMCO_NB_ROWS];
        tmTDA18271_RF_CAL_CID_TARGET_Map_t  RF_CAL_CID_TARGET_Map[TDA18271_RF_CAL_CID_TARGET_NB_ROWS];
        tmTDA18271_THERMOMETER_Map_t        THERMOMETER_Map[TDA18271_THERMOMETER_NB_ROWS];
        tmTDA18271_PLL_Map_t                CAL_PLL_Map[TDA18271_CAL_PLL_NB_ROWS];
        tmTDA18271_PLL_Map_t                MAIN_PLL_Map[TDA18271_MAIN_PLL_NB_ROWS];
    } tmTDA18271Config_t, *ptmTDA18271Config_t;

    typedef struct _tmTDA18271I2CMap_t                                    
    {                                    
        union                                
        {                                
            UInt8 ID_BYTE;                  /* address 0x00 */
                                            /* Chip identification byte */
            struct                            
            {                            
#ifdef _BIG_ENDIAN
                UInt8 UNUSED            :1; /* Reserved, must be written as 1 */
                UInt8 ID                :7; /* Chip identification number */
#else
                UInt8 ID                :7; /* Chip identification number */
                UInt8 UNUSED            :1; /* Reserved, must be written as 1 */
#endif
            }bF;                            
        }uBx00;

        union                                
        {                                
            UInt8 THERMO_BYTE;              /* address 0x01 */
                                            /* Thermometer byte */
            struct                            
            {                            
#ifdef _BIG_ENDIAN
                UInt8 POR               :1; /* Power on reset bit */
                                            /* This bit is set to 1 each time the power supply falls below a certain level (around 1.4V) and is reset after a read operation ending with a stop condition */
                UInt8 MAIN_Lock         :1; /* Indicate that the MAIN synthesizer is locked to the programmed frequency */
                                            /*  0: Not Locked */
                                            /*  1: Locked */
                UInt8 TM_Range          :1; /* Range selection bit for the internal die sensor */
                                            /*  0: 60 to 92癈 */
                                            /*  1: 92 to 122癈 */
                UInt8 TM_ON             :1; /* Enable Die temperature measurement */
                UInt8 TM_D              :4; /* Data from die temperature measurement */
#else
                UInt8 TM_D              :4; /* Data from die temperature measurement */
                UInt8 TM_ON             :1; /* Enable Die temperature measurement */
                UInt8 TM_Range          :1; /* Range selection bit for the internal die sensor */
                                            /*  0: 60 to 92癈 */

⌨️ 快捷键说明

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