📄 tmbsltda18271local.h
字号:
/**
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 + -