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

📄 l1p_deft.h

📁 MMI层OBJ不能完全编译
💻 H
📖 第 1 页 / 共 2 页
字号:
/************* Revision Controle System Header *************
 *                  GSM Layer 1 software
 * L1P_DEFTY.H
 *
 *        Filename l1p_deft.h
 *  Copyright 2003 (C) Texas Instruments  
 *
 ************* Revision Controle System Header *************/

typedef struct
{
  WORD32  rand;
  UWORD16 channel_request_data;
  UWORD8  bs_prach_blks;
  UWORD8  prach_alloc;
  UWORD32 fn_to_report;
#if FF_L1_IT_DSP_USF
    UWORD8  prach_controlled;
#endif
}
T_PRACH_INFO;

typedef union
{
  UWORD16 prach_data[12];
  UWORD8  cs1_data[24];
}
T_CHAN_REQ_DATA;

typedef struct
{
  UWORD8          pol_resp_type;
  T_CHAN_REQ_DATA chan_req;
  UWORD32         fn;
  UWORD8          timing_advance;
  UWORD32         fn_to_report;
}
T_POLL_INFO;


typedef struct
{
  UWORD8  data_array[23];
  UWORD8  tn;
  UWORD8  dl_tn_to_restore;
  UWORD8  activity;
}
T_SINGLE_BLOCK;


typedef struct
{
  UWORD32               SignalCode;
  UWORD8                assignment_id;
  UWORD8                synchro_tn;
  UWORD8                allocated_tbf;
  UWORD8                dl_tbf_synchro_timeslot;
  UWORD8                ul_tbf_synchro_timeslot;
  UWORD8                transfer_synchro_timeslot;

  UWORD8                assignment_command;
  UWORD8                multislot_class;
  T_PACKET_TA           packet_ta;
  T_DL_POWER_CTL        dl_pwr_ctl;
  UWORD8                tsc;
  T_PACKET_FREQ_PARAM   freq_param;
  UWORD8                mac_mode;
  T_TBF_STI             tbf_sti;

  T_UL_RESSOURCE_ALLOC  *ul_tbf_alloc;
  T_DL_RESSOURCE_ALLOC  dl_tbf_alloc;

  BOOL                  interf_meas_enable;
  UWORD8                ts_override;
  BOOL                  pc_meas_chan;
}
T_TRANSFER_SET;


typedef struct
{
  UWORD8       ta_update_cmd;
  UWORD8       assignment_id;
  UWORD16      radio_freq;
  UWORD8       activity;
  BOOL         request_dl;
  T_PACKET_TA  packet_ta;
}
T_PTCCH_PARAM;

typedef struct
{
  UWORD8       tbf_release_cmd;
  UWORD8       released_tbf;
}
T_TBF_RELEASE_PARAM;

typedef struct
{
  UWORD8       pdch_release_cmd;
  UWORD8       timeslot_available;
  UWORD8       assignment_id;
}
T_PDCH_RELEASE_PARAM;

typedef struct
{
 UWORD8        txpwr[8];
 BOOL          crc_error;
 WORD8         bcch_level;
 UWORD16       radio_freq_tbl[4];
 WORD8         burst_level[4];
}
T_DL_PWR_CTRL;

typedef struct
{
  UWORD8       psi_param_update_cmd;
  UWORD8       Scell_pb;
  UWORD8       access_burst_type;
}
T_PSI_PARAM_UPDATE;

typedef struct
{
  BOOL                              semaphore;

  T_TRANSFER_SET                    *aset;
  T_TRANSFER_SET                    *fset[2];
  T_TRANSFER_SET                    set[3];

  T_UL_RESSOURCE_ALLOC              ul_tbf_alloc[3];

  T_SINGLE_BLOCK                    single_block;

  T_PTCCH_PARAM                     ptcch;
  T_TBF_RELEASE_PARAM               tbf_release_param;
  T_PDCH_RELEASE_PARAM              pdch_release_param;
  T_MPHP_REPEAT_UL_FIXED_ALLOC_REQ  repeat_alloc;
  T_PSI_PARAM_UPDATE                psi_param;

  T_DL_PWR_CTRL                     dl_pwr_ctrl;
}
T_TRANSFER_PARAM;

/***************************************************************************************/
/* L1S packet global variable structure...                                             */
/***************************************************************************************/

typedef struct
{
  BOOL            new_set;
  UWORD8          assignment_id;
  UWORD8          allocated_tbf;
  UWORD8          dl_tfi;
  UWORD8          ul_tfi;
  T_DL_POWER_CTL  dl_pwr_ctl;
  BOOL            pc_meas_chan;
  UWORD16         radio_freq_for_lna;
  UWORD8          dl_tn;
} T_READ_PARAM;

typedef struct
{
  UWORD8     ILmin_beacon;
  UWORD8     ILmin_others[8];

  // No power control AGC algorithm variables
  UWORD32    fn_select;
  BOOL       phase;

  // Downlink power control mode B variables
  UWORD8     last_PR_good;

  // TBF Parameters used during the PDTCH read phase
  T_READ_PARAM   read_param;

  // Flag used to know if the pc_meas_chan measurement has been controlled
  BOOL pc_meas_chan_ctrl;

  #if (GSM_IDLE_RAM == 1)
    // Used to avoid allocation of ext mem data while in L1PS_meas_manager (allocate signal long time before sending)
    WORD8  ncell_meas_rxlev[33];
  #endif
}
T_L1PS_GLOBAL;

/***********************************************************/
/* L1PA global variable structure...                       */
/***********************************************************/
typedef struct
{
  // State for L1A state machines...
  //-----------------------------------------
  UWORD8    state[NBR_L1PA_PROCESSES];

  // Measurement tasks management...
  //-----------------------------------------
  UWORD32   l1pa_en_meas[NBR_L1PA_PROCESSES];
}
T_L1PA_GLOBAL;


/*************************************************************/
/* Packet Idle mode tasks information...                     */
/*************************************************************/
/* must be filled according to Packet Idle parameters...     */
/* ...                                                       */
/*************************************************************/
// Packet Idle Parameter description
typedef struct
{
  UWORD16  radio_freq;
  UWORD16  radio_freq_d;
  UWORD16  radio_freq_dd;
}
T_P_IDLE_PARAM;

// Packet Paging description
typedef struct
{
  // -------- Packet Paging description --------------
  UWORD8                  bs_pag_blks_res; // BS_PAG_BLKS_RES parameter (cf. S921 specification)
  UWORD8                  bs_pbcch_blks;   // BS_PBCCH_BLKS parameter (cf. S921 specification)
  T_PACKET_CHANNEL_DESC   packet_chn_desc; // Packet Channel Description: arfcn/Hopping description + TN + TSC
  T_MOBILE_ALLOCATION     frequency_list;  // Mobile allocation description
  UWORD8                  nb_ppch_per_mf52;// Number of Packet PCCH per MF52
  UWORD16                 first_pg_grp;    // First Paging Group index
  UWORD16                 pg_blks_avail;   // Number of Paging blocks available per MF52
  UWORD16                 pg_offset;       // (IMSI mo 1000) div (KC*N) (Note N = 1 for PCCCH)
  UWORD16                 split_pg_value;  // Min(pg_blks_avail, split_pg_cycle)

  //--
  BOOL                    epg_computation; // Packet Paging STATE used in Extended Paging scheduling
  UWORD16                 pnp_period;      // Paging Period = (52*64)/split_pg_value
  WORD16                  time_to_pnp;     // Time to  next PPCH block position.
}
T_PCCCH_PARAM;

typedef struct
{
  BOOL                    change_synchro;
  BOOL                    control_offset;
  BOOL                    read_all_psi;

  UWORD8                  nbr_psi;
  UWORD8                  bs_pbcch_blks;
  UWORD8                  psi1_repeat_period;
  UWORD8                  relative_position_array[20]; // Array for Relative position
  UWORD16                 offset_array[20];            // Array of offset computed from relative position
  T_PACKET_CHANNEL_DESC   packet_chn_desc;             // Packet Channel Description: arfcn/Hopping description + TN + TSC
  T_MOBILE_ALLOCATION     frequency_list;              // Mobile allocation description
  UWORD8                  rel_pos_to_report;           // Relative Position of the PBCCH block read and to
                                                       // to report to L3.
  UWORD16                 pbcch_period;                // PBCCH period = MFL52 * psi1_repaet_period;
  UWORD8                  tn_pbcch;                    // Time slot number relative for DSP point of view.
}
T_PBCCHS_PARAM;

typedef struct
{
  BOOL                    change_synchro;

  UWORD8                  pb;
  UWORD8                  bs_pbcch_blks;
  UWORD8                  psi1_repeat_period;
  UWORD8                  relative_position;           // for Relative position
  UWORD16                 offset;                      // offset computed from relative position
  T_PACKET_CHANNEL_DESC   packet_chn_desc;             // Packet Channel Description: arfcn/Hopping description + TN + TSC
  T_MOBILE_ALLOCATION     frequency_list;              // Mobile allocation description
  UWORD16                 pbcch_period;                // PBCCH period = MFL52 * psi1_repaet_period;
  UWORD16                 bcch_carrier;                // beacon of the neighbor cell (used by the DSP)
  WORD32                  fn_offset;
  WORD32                  time_alignmt;
}
T_PBCCHN_PARAM;

typedef struct
{
  BOOL                    dsp_r_page_switch_req;       // If true, the dsp_r_page must be toggled in the interference measurement read
  UWORD8                  multislot_class;             // Mobile multislot class
  UWORD8                  meas_bitmap;                 // Timeslots on which the interference measurements are done
  UWORD8                  position;                    // Position on which measurements must be done (search or ptcch frame)
  UWORD8                  idle_tn_rx;                  // Timeslot bitmap in packet idle with PCCCH on the frame before
  UWORD8                  idle_tn_no_rx;               // Timeslot bitmap in packet idle without PCCCH on the frame before
  UWORD16                 radio_freq;                  // Radio freq. processed by l1s_hopping_algo()
  T_PACKET_FREQ_PARAM     packet_intm_freq_param;      // Frequency parameters
}
T_ITMEAS_PARAM;

typedef struct
{
  UWORD32             fn;               // Absolute FN reported during the last measurement session
  UWORD8              rxlev[8];         // Buffer used to save the parameters reported to L3
  UWORD8              meas_bitmap;      // Interf meas bitmap.
  UWORD8              id;               // Id.
} T_L1A_INT_MEAS_PARAM;

typedef struct
{
  UWORD8                  lna;  // Input level result
  UWORD8                  il;   // LNA parameter
}
T_IL_LNA;

typedef struct
{
  UWORD8         next_to_ctrl;     // Carrier for next power measurement result.
  UWORD8         next_to_read;     // Next carrier to measure.

  UWORD8         pnp_ctrl;         // Specify to l1s_meas_manager() that a PPCH burst has been ctrl.

  UWORD8         ms_ctrl;
  UWORD8         ms_ctrl_d;
  UWORD8         ms_ctrl_dd;

  T_IL_LNA       used_il_lna[NB_MEAS_MAX_GPRS];
  T_IL_LNA       used_il_lna_d[NB_MEAS_MAX_GPRS];
  T_IL_LNA       used_il_lna_dd[NB_MEAS_MAX_GPRS];
}
T_CR_FREQ_LIST;

typedef struct
{
  UWORD8   nb_carrier;
  UWORD16  freq_list[32+1];
  UWORD8   list_id;
} T_CRES_LIST_PARAM;

typedef struct
{
  T_CRES_LIST_PARAM  *alist;
  T_CRES_LIST_PARAM  *flist;
  T_CRES_LIST_PARAM  list[2];
} T_CRES_FREQ_LIST;

typedef struct
{
  UWORD8            tcr_next_to_ctrl;
  UWORD8            tcr_next_to_read;
  UWORD8            last_stored_tcr_to_read;

  UWORD8            ms_ctrl;
  UWORD8            ms_ctrl_d;
  UWORD8            ms_ctrl_dd;

  BOOL              first_pass_flag;

  T_IL_LNA          used_il_lna;
  T_IL_LNA          used_il_lna_d;
  T_IL_LNA          used_il_lna_dd;

  BOOL              new_list_present;

  WORD8             beacon_meas;

  WORD8             fn_report;

⌨️ 快捷键说明

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