📄 l1p_deft.h
字号:
UWORD8 cres_meas_report;
} T_TCR_LIST_SET;
/***************************************************************************************/
/* L1A <-> L1S communication structure dedicated to packet mode */
/***************************************************************************************/
typedef struct
{
// Packet Idle Parameters
// PCCCH parameters
T_PCCCH_PARAM pccch;
//--
T_P_IDLE_PARAM p_idle_param; // Packet Idle Parameters description
// Packet Access Parameters
T_PRACH_INFO pra_info;
// Packet Access Parameters
T_POLL_INFO poll_info;
// Packet Transfer Parameters
T_TRANSFER_PARAM transfer;
// Serving Cell PBCCH parameters
T_PBCCHS_PARAM pbcchs;
// Neigbour Cell PBCCH parameters
T_PBCCHN_PARAM pbcchn;
// Interference measurement parameters
T_ITMEAS_PARAM itmeas;
// Measurement tasks management...
//-----------------------------------------
UWORD32 meas_param; // Synchro semaphore bit register for packet measurement tasks.
UWORD32 l1ps_en_meas; // Enable packet Meas task bit register.
// Access burst type
//------------------
UWORD8 access_burst_type;
// Frequency list Parameters used in Cell Reselection measurements
// ---------------------------------------------------------------
T_CR_FREQ_LIST cr_freq_list;
// Parameters used in Packet Transfer Neighbour measurement task
// -------------------------------------------------------------
T_TCR_LIST_SET tcr_freq_list;
// Cell Reselection list, used both in Packet Idle and Packet Transfer
// -------------------------------------------------------------------
T_CRES_FREQ_LIST cres_freq_list;
} T_L1PA_L1PS_COM;
/***************************************************************************************/
/* API (MCU <-> DSP) communication structures */
/***************************************************************************************/
typedef struct
{
// GPRS Extension...............
API d_task_d_gprs; // (map?) Task, burst per burst (part of header)
API d_task_u_gprs; // (map?) Task, burst per burst (part of header)
API d_task_pm_gprs; // (map?) Task, burst per burst (part of header)
API d_burst_nb_gprs; // (map?) burst identifier. (part of header)
API a_ctrl_abb_gprs[8]; // (map?) Analog baseband control, burst per burst.
API a_ctrl_power_gprs[8]; // (map?) Power control value, burst per burst.
}
T_DB_MCU_TO_DSP_GPRS;
typedef struct
{
// GPRS Extension...............
API d_task_d_gprs; // (map?) Task, burst per burst (part of header)
API d_task_u_gprs; // (map?) Task, burst per burst (part of header)
API d_task_pm_gprs; // (map?) Task, burst per burst (part of header)
API d_burst_nb_gprs; // (map?) burst identifier. (part of header)
API a_burst_toa_gprs[8]; // (map?) Time of arrival, burst per burst
API a_burst_pm_gprs[8]; // (map?) Receive Power Level, burst per burst
API a_burst_angle_gprs[8];// (map?) Angle deviation, burst per burst
API a_burst_snr_gprs[8]; // (map?) Signal to noise ratio, burst per burst
}
T_DB_DSP_TO_MCU_GPRS;
#if (DSP == 38) || (DSP == 39)
typedef struct
{
API d_gea_mode_hole; // 0x09AE
API a_gea_kc_hole[4];
API d_hole1_ndb_gprs[8];
API d_a5mode_ovly; // 0x09BB
API d_sched_mode_gprs; // 0x09BC
API d_hole2_ndb_gprs[5];
API d_usf_updated_gprs; // 0x09C2
API d_win_start_gprs; //
API d_usf_vote_enable; //
API d_bbctrl_gprs_hole;
API d_hole3_ndb_gprs[2];
// (map?) BTS physical timeslot mapping.
API a_ctrl_ched_gprs[8]; // 0x09C8 (map?) Ched configuration, burst per burst
API a_ul_buffer_gprs[8]; // 0x09D0 (map?) UL burst / UL buffer mapping, burst per burst. (part of header)
API a_usf_gprs[8]; // 0x09D8
API a_interf_meas_gprs[8]; // 0x09E0
API a_ptcchu_gprs[4]; // 0x09E8
API a_dd_md_gprs[16]; // 0x09EC
API a_du_gprs[4][29]; //
API a_pu_gprs[4][15];
API d_rlcmac_rx_no_gprs;
API a_dd_gprs[8][31]; //
API a_drp_ramp2_gprs_holes[2907]; // 0x0C25
API a_drp_ramp2_gprs[8][20]; // 0x1700 - Power Ramp up/down in DRP registers format
}
T_NDB_MCU_DSP_GPRS;
#elif ((DSP == 34) || (DSP == 35) || (DSP == 36) || (DSP == 37))
typedef struct
{
// GEA module
API d_gea_mode;
API a_gea_kc[4];
API d_hole1_ndb_gprs[8];
API d_a5mode_ovly;
API d_sched_mode_gprs;
API d_hole2_ndb_gprs[5];
API d_usf_updated_gprs;
API d_win_start_gprs;
API d_usf_vote_enable;
API d_bbctrl_gprs;
API d_hole3_ndb_gprs[2];
// (map?) BTS physical timeslot mapping.
API a_ctrl_ched_gprs[8]; // (map?) Ched configuration, burst per burst
API a_ul_buffer_gprs[8]; // (map?) UL burst / UL buffer mapping, burst per burst. (part of header)
API a_usf_gprs[8];
API a_interf_meas_gprs[8];
API a_ptcchu_gprs[4];
API a_dd_md_gprs[16];
API a_du_gprs[4][29];
API a_pu_gprs[4][15];
API d_rlcmac_rx_no_gprs;
API a_dd_gprs[8][31];
API a_ramp_gprs[8][16];
}
T_NDB_MCU_DSP_GPRS;
#elif (DSP == 33)
typedef struct
{
// GEA module
API d_gea_mode;
API a_gea_kc[4];
API d_hole1_ndb_gprs[8];
API d_a5mode_ovly;
API d_sched_mode_gprs;
API d_hole2_ndb_gprs[5];
API d_usf_updated_gprs;
API d_win_start_gprs;
API d_usf_vote_enable;
API d_bbctrl_gprs;
API d_hole3_ndb_gprs[2];
// (map?) BTS physical timeslot mapping.
API a_ctrl_ched_gprs[8]; // (map?) Ched configuration, burst per burst
API a_ul_buffer_gprs[8]; // (map?) UL burst / UL buffer mapping, burst per burst. (part of header)
API a_usf_gprs[8];
API a_interf_meas_gprs[8];
API a_ptcchu_gprs[4];
API a_dd_md_gprs[16];
API a_du_gprs[4][29];
API a_pu_gprs[4][15];
API d_rlcmac_rx_no_gprs;
API a_dd_gprs[8][31];
API a_ramp_gprs[8][16];
}
T_NDB_MCU_DSP_GPRS;
#else
typedef struct
{
// GPRS Extension...............
API a_ramp_gprs[8][16];
#if (CODE_VERSION != SIMULATION)
API a_hole1_gprs[22]; // hole for a_du_1 and d_a5_mode
#endif
API d_ptcchu_ctrl_abb_gprs;
API d_ptcchu_ctrl_power_gprs;
API d_ptcchd_burst_nb_gprs;
#if (CODE_VERSION != SIMULATION)
API a_hole2_gprs[184];
#endif
API d_usf_updated_gprs;
API d_win_start_gprs; // (map?) BTS physical timeslot mapping.
API a_ctrl_ched_gprs[8]; // (map?) Ched configuration, burst per burst
API a_ul_buffer_gprs[8]; // (map?) UL burst / UL buffer mapping, burst per burst. (part of header)
API a_usf_gprs[8];
API a_interf_meas_gprs[8];
API d_background_enable;
API d_background_abort;
API d_background_state;
API d_max_background;
API a_background_tasks[16];
API a_back_task_io[10];
#if (CODE_VERSION != SIMULATION)
API a_hole3_gprs[19];
#endif
API d_gea_mode;
API a_gea_kc[4];
API d_sched_mode_gprs;
#if (CODE_VERSION != SIMULATION)
API a_hole4_gprs[384];
#endif
API a_du_gprs[4][29];
API d_rlcmac_rx_no_gprs;
API a_dd_gprs[4][31];
API a_pu_gprs[4][15];
#if (CODE_VERSION != SIMULATION)
API a_hole5_gprs[112];
#endif
API a_ptcchu_gprs[4];
API a_dd_md_gprs[16];
}
T_NDB_MCU_DSP_GPRS;
#endif
#if (DSP == 34) || (DSP == 35) || (DSP == 36) || (DSP == 37) || (DSP == 38) || (DSP == 39)
typedef struct
{
// GPRS Extension...............
API_SIGNED d_overlay_rlcmac_cfg_gprs;
API_SIGNED d_mac_threshold;
API_SIGNED d_sd_threshold;
API_SIGNED d_nb_max_iteration;
}
T_PARAM_MCU_DSP_GPRS;
#elif (DSP == 33)
typedef struct
{
// GPRS Extension...............
API_SIGNED d_overlay_rlcmac_cfg_gprs;
API_SIGNED d_mac_threshold;
API_SIGNED d_sd_threshold;
API_SIGNED d_nb_max_iteration;
}
T_PARAM_MCU_DSP_GPRS;
#else
typedef struct
{
// GPRS Extension...............
API_SIGNED d_overlay_rlcmac_cfg_gprs;
API_SIGNED d_lat_mcu_bridge;
API_SIGNED d_lat_pll2div;
API_SIGNED d_lat_mcu_hom2sam;
API_SIGNED d_gprs_install_address;
API_SIGNED d_mac_threshold;
API_SIGNED d_sd_threshold;
API_SIGNED d_nb_max_iteration;
}
T_PARAM_MCU_DSP_GPRS;
#endif
/***************************************************************************************/
/* L1PS -> DSP communication structure... */
/***************************************************************************************/
typedef struct
{
T_DB_DSP_TO_MCU_GPRS *pdsp_db_r_ptr; // MCU<->DSP comm. read page (Double Buffered comm. memory).
T_DB_MCU_TO_DSP_GPRS *pdsp_db_w_ptr; // MCU<->DSP comm. write page (Double Buffered comm. memory).
T_NDB_MCU_DSP_GPRS *pdsp_ndb_ptr; // MCU<->DSP comm. read/write (Non Double Buffered comm. memory).
T_PARAM_MCU_DSP_GPRS *pdsp_param_ptr; // MCU<->DSP comm. read/write (Param comm. memory).
}
T_L1PS_DSP_COM;
/***************************************************************************************/
/* L1PS -> MAC-S communication structure... */
/***************************************************************************************/
typedef struct
{
UWORD8 nb; // Number of error found
UWORD8 id[10]; // Error ID
}
T_MACS_STATUS;
typedef struct
{
BOOL new_set; // Set to 1 if allocation parameters have changed, reset by MAC-S
UWORD8 rx_allocation; // Downlink resources relative to Layer 1 frames
UWORD8 tx_nb_allocation; // Uplink resources used to transmit normal bursts relative to Layer 1 frames
UWORD8 tx_prach_allocation; // Uplink resources used to transmit PRACH bursts relative to Layer 1 frames
#if FF_L1_IT_DSP_USF
UWORD8 usf_status; // USF uncertainty status
#endif
UWORD8 pwr_allocation; // Measurement gap relative to Layer 1 frames
BOOL fix_alloc_exhaust_flag; // Set to 1 if the fixed allocation has just exhausted
BOOL rlc_downlink_call;
T_MACS_STATUS macs_status;
}
T_L1PS_MACS_COM;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -