rf_common.h
上传用户:gelin96
上传日期:2017-01-08
资源大小:20993k
文件大小:10k
源码类别:

MTK

开发平台:

C++ Builder

  1. /*****************************************************************************
  2. *  Copyright Statement:
  3. *  --------------------
  4. *  This software is protected by Copyright and the information contained
  5. *  herein is confidential. The software may not be copied and the information
  6. *  contained herein may not be used or disclosed except with the written
  7. *  permission of MediaTek Inc. (C) 2005
  8. *
  9. *  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
  10. *  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
  11. *  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
  12. *  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
  13. *  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
  14. *  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
  15. *  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
  16. *  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
  17. *  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
  18. *  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
  19. *  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
  20. *  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
  21. *
  22. *  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
  23. *  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
  24. *  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
  25. *  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
  26. *  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
  27. *
  28. *  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
  29. *  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
  30. *  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
  31. *  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
  32. *  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
  33. *
  34. *****************************************************************************/
  35. /*****************************************************************************
  36.  *
  37.  * Filename:
  38.  * ---------
  39.  *   rf_common.h
  40.  *
  41.  * Project:
  42.  * --------
  43.  *   Maui META APP
  44.  *
  45.  * Description:
  46.  * ------------
  47.  *   RF common header
  48.  *
  49.  * Author:
  50.  * -------
  51.  *  Andy Ueng (mtk00490)
  52.  *
  53.  *============================================================================
  54.  *             HISTORY
  55.  * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
  56.  *------------------------------------------------------------------------------
  57.  * $Revision$
  58.  * $Modtime$
  59.  * $Log$
  60.  * 
  61.  *------------------------------------------------------------------------------
  62.  * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
  63.  *============================================================================
  64.  ****************************************************************************/
  65. #ifndef  _RF_COMMON_H_
  66. #define  _RF_COMMON_H_
  67. #include <vcl.h>
  68. #include "meta.h"
  69. /*---------------------------------------------------------------------------*/
  70. // UI
  71. #define  BTN_TAG_START     1
  72. #define  BTN_TAG_STOP      0
  73. #define  DRAW_PCL                  0x001
  74. #define  DRAW_VBIAS                0x002
  75. #define  DRAW_RAMP                 0x004
  76. #define  DRAW_WEIGHT               0x008
  77. #define  DRAW_BATTERY_COMPENSATE   0x010
  78. #define  DRAW_TX_AFC_OFFSET        0x020
  79. #define  DRAW_WORD3                0x040
  80. #define  DRAW_BV                   0x080
  81. #define  DRAW_INTERSLOT_LOWEST_DAC 0x100
  82. #define  DRAW_AD6546               0x200
  83. #define  MOD_GMSK_INDEX       0
  84. #define  MOD_EPSK_INDEX       1
  85. // image
  86. #define  IN_RANGE             0
  87. #define  OUT_OF_LEFT_RANGE    1
  88. #define  OUT_OF_RIGHT_RANGE   2
  89. #define  OUT_OF_TOP_RANGE     3
  90. #define  OUT_OF_BOTTOM_RANGE  4
  91. // band
  92. #define  MAX_SUPPORT_BAND_NUM  4
  93. // ARFCN
  94. #define  ARFCN_END -1
  95. #define  PCL_END -1
  96. typedef enum
  97. {
  98.     BANDSEL_GSM900 = 0,
  99.     BANDSEL_DCS1800,
  100.     BANDSEL_PCS1900,
  101.     BANDSEL_GSM850,
  102.     BANDSEL_GSM400
  103. }E_BANDSEL;
  104. // TX IQ
  105. typedef enum
  106. {
  107.    BBTXCFG_VER1 = 0,
  108.    BBTXCFG_VER2,
  109.    BBTXCFG_VER3,
  110.    BBTXCFG_VER4,
  111.    BBTXCFG_VER5
  112. }E_BBTXCFG_VER_T;
  113. typedef enum
  114. {
  115.    NVRAM_BBTXCFG_VER1 = 0,
  116.    NVRAM_BBTXCFG_VER2,
  117.    NVRAM_BBTXCFG_VER3,
  118.    NVRAM_BBTXCFG_VER4
  119. }E_NVRAM_BBTXCFG_VER_T;
  120. // scale
  121. #define RF_RX_GAIN_SCALE 8.0
  122. // modulation index
  123. #define MODU_GMSK_INDEX   0
  124. #define MODU_8PSK_INDEX   1
  125. // multislot
  126. #define  MAX_SUPPORT_TIMESLOT_NUM        4
  127. // RX/TX
  128. typedef enum
  129. {
  130.     DIR_RX = 0,
  131.     DIR_TX
  132. }E_DIR_TXRX_T;    
  133. // graphic ramp profile
  134. #define  DRAW_GUI_PCL       0x1
  135. #define  DRAW_GUI_RAMP      0x2
  136. #define  PLOT_RAMP_GRID          0x01
  137. #define  PLOT_RAMP_PROFILE_CURVE 0x02
  138. #define  MAX_RAMP_DATA_VALUE  255
  139. // image
  140. #define  RAMP_VSCALE_UNIT   5
  141. #define  RAMP_VERTICAL_LABEL_NUM 10
  142. #define  RAMP_UP_SAMPLE_NUM 16
  143. #define  RAMP_DOWN_SAMPLE_NUM 16
  144. #define  TOTAL_RAMP_SAMPLE_NUM  (RAMP_UP_SAMPLE_NUM+RAMP_DOWN_SAMPLE_NUM)
  145. #define  DATA_SAMPLE_NUM  8
  146. #define  TOTAL_HORIZONTAL_SAMPLE ( TOTAL_RAMP_SAMPLE_NUM + DATA_SAMPLE_NUM )
  147. #define  RAMP_CIRCLE_RADIOUS  6
  148. #define  RAMP_UP_FLAG  0
  149. #define  RAMP_DOWN_FLAG  1
  150. #define  INTER_RAMP_SAMPLE_NUM           16
  151. // APC
  152. #define MIN_APC_DAC           0
  153. #define MAX_APC_DAC        1023
  154. #define MAX_APC_PCL_NUM      16
  155. #define APC_BATTERY_COMP_NUM  3
  156. #define APC_RAMP_UP_NUM      16
  157. #define APC_RAMP_DN_NUM      16
  158. // TX IQ
  159. #define MIN_OFFSET_IQ_OLD    -32
  160. #define MAX_OFFSET_IQ_OLD     31
  161. #define MIN_OFFSET_IQ_NEW    -64
  162. #define MAX_OFFSET_IQ_NEW     63
  163. #define MIN_TRIM_IQ           -8
  164. #define MAX_TRIM_IQ            7
  165. #define MIN_CALBIAS_OLD      -16
  166. #define MAX_CALBIAS_OLD       15
  167. #define MIN_CALBIAS_NEW       -8
  168. #define MAX_CALBIAS_NEW        7
  169. #define MIN_PHASESEL_OLD      -3
  170. #define MAX_PHASESEL_OLD       3
  171. #define MIN_PHASESEL_NEW      -5
  172. #define MAX_PHASESEL_NEW       5
  173. #define  BBTX_BATTERY_TEMP_SCALE     1000.0
  174. #define  BBTX_BATTERY_VOLTAGE_SCALE  1000000.0
  175. #define  BBTX_CALIBRATED_SCALE       191
  176. #define  MIN_PA_VBIAS         0
  177. #define  MAX_PA_VBIAS_MT6140  7
  178. #define  MAX_PA_VBIAS_AERO2E 31
  179. //---------------------------------------------------------------------------
  180. typedef enum
  181. {
  182.     GMSK=0,
  183.     EPSK
  184. }E_MODULATION;
  185. //---------------------------------------------------------------------------
  186. typedef struct
  187. {
  188.    int x[RAMP_DOWN_SAMPLE_NUM];
  189.    int y[RAMP_DOWN_SAMPLE_NUM];
  190. }sRampPoint;
  191. typedef struct
  192. {
  193.    int x;
  194.    int y;
  195. }sPoint;
  196. typedef struct
  197. {
  198.     sPoint LeftTop;
  199.     sPoint RightBottom;
  200. }sImageRange;
  201. /*---------------------------------------------------------------------------*/
  202. typedef struct
  203. {
  204.    // low band
  205.    signed char bbtx_common_mode_voltage;
  206.    signed char bbtx_gain;
  207.    signed char bbtx_calrcsel;
  208.    signed char bbtx_trimI;
  209.    signed char bbtx_trimQ;
  210.    signed char bbtx_offsetI;
  211.    signed char bbtx_offsetQ;
  212.    signed char bbtx_phsel;
  213.    // high band
  214.    signed char bbtx_common_mode_voltage_h;
  215.    signed char bbtx_gain_h;
  216.    signed char bbtx_calrcsel_h;
  217.    signed char bbtx_trimI_h;
  218.    signed char bbtx_trimQ_h;
  219.    signed char bbtx_offsetI_h;
  220.    signed char bbtx_offsetQ_h;
  221.    signed char bbtx_phsel_h;
  222.    // common
  223.    double           apc_bat_low_voltage;
  224.    double           apc_bat_high_voltage;
  225.    double           apc_bat_low_temperature;
  226.    double           apc_bat_high_temperature;
  227.    unsigned char bbtx_isCalibrated;
  228. }S_BBTXPARAMETERS_UI;
  229. typedef struct
  230. {
  231.    S_BBTXPARAMETERS_UI BBTXParameters;
  232. } S_UI_L1CAL_TXIQ;
  233. typedef struct {
  234. signed char TxTrimI;
  235. signed char TxTrimQ;
  236. signed char TxOffsetI;
  237. signed char TxOffsetQ;
  238. signed char TxCalbias;
  239. unsigned char TxIQSwap;
  240. signed char TxCMV;
  241. signed char TxGain;
  242. signed char TxCalrcsel;
  243. } ui_RfBBTXCfg2;
  244. //-------------------------------------------------------------------------
  245. // image
  246. typedef struct
  247. {
  248.    int x;
  249.    int y;
  250. }sRfPoint;
  251. // Renesas IP2
  252. typedef struct
  253. {
  254.     sRfPoint LeftTop;
  255.     sRfPoint RightBottom;
  256. }sRfImageRange;
  257. typedef struct
  258. {
  259.     //int  i_ta;
  260.     //int  i_tb;
  261.     //int  i_tc;
  262.     unsigned char  uc_tn;
  263.     unsigned char  uc_to;
  264.     unsigned char  uc_pm;
  265.     unsigned char  uc_addr;
  266.     unsigned int   c3mode;
  267. }sC3Mode;
  268. typedef struct
  269. {
  270.     unsigned char  uc_ap;
  271.     unsigned char  uc_as;
  272.     unsigned char  uc_ao;
  273.     unsigned char  uc_bd;
  274. }sBVW0;
  275. typedef struct
  276. {
  277.     unsigned char  uc_aof;
  278.     unsigned char  uc_ksg;
  279.     unsigned char  uc_ksd;
  280.     unsigned char  uc_are;
  281.     unsigned char  uc_kag;
  282.     unsigned char  uc_kad;
  283.     unsigned char  uc_vof;
  284.     unsigned char  uc_vre;
  285. }sBVW2;
  286. //-----------------------------------------------------------------------------
  287. extern  const int Default_TrimIQ;
  288. extern  const int Default_OffsetIQ;
  289. extern  const int Default_TxCalbias;
  290. extern  const int Default_TxIQSwap;
  291. extern  const int Trim_Setting_Map[];
  292. extern  const short Default_ARFCN[];
  293. extern  const short Default_StartARFCN[];
  294. extern  const short Default_StopARFCN[];
  295. extern  const int Default_PCL;
  296. extern  const int Default_AFC;
  297. extern  const int Default_TA;
  298. extern  const int PCL_RANGE[][16];
  299. extern  const int NVRAM_APC_LOWEST_POWER[];
  300. // BB TX parameters
  301. extern  const int Default_BBTXCommonModeVoltage;
  302. extern  const int Default_BBTXGain;
  303. extern  const int Default_BBTXCalrcsel;
  304. extern  const int Default_BBTXPhasesel;
  305. extern  const int Default_APCBatLowVoltage;
  306. extern  const int Default_APCBatHighVoltage;
  307. extern  const int Default_APCBatLowTemperature;
  308. extern  const int Default_APCBatHighTemperature;
  309. //-----------------------------------------------------------------------------
  310. extern  FrequencyBand   Get_FreqBandFromBandIndex( int band_idx );
  311. extern  int   Get_BandIndexFromFreqBand( FrequencyBand  FreqBand );
  312. extern  FrequencyBand   Get_FreqBandFromAnsiString( AnsiString as_band );
  313. #endif