blob: d6251d0baf8377c6c127b50b106839a6d1384819 [file] [log] [blame]
/*****************************************************************************
*°æ±¾ËùÓÐ (C)2009ÖÐÐËͨѶ¹É·ÝÓÐÏÞ¹«Ë¾
* Ä£¿éÃû £ºPS-PHY½Ó¿Ú¶¨Òå
* ÎļþÃû £ºps_ephy_interface.h
* Îļþ±êʶ£º500000859505
* Ïà¹ØÎļþ£ºLTEЭÒéÕ»ÓëÎïÀí²ãÈí¼þ½Ó¿Ú˵Ã÷Êé
* ʵÏÖ¹¦ÄÜ£ºLTEЭÒéÕ»ÓëLTEÎïÀí²ãÖ®¼äµÄ½Ó¿Ú¶¨Òå
* ×÷Õß £ºÁõÖÇÅô ЭÒéÕ»²¿
* °æ±¾ £ºV1.0
* Íê³ÉÈÕÆÚ£º2009-8-10
* ÆäËü˵Ã÷£ºÐ½¨
*
* Ð޸ļǼ1£º// ÐÞ¸ÄÀúÊ·¼Ç¼£¬°üÀ¨ÐÞ¸ÄÈÕÆÚ¡¢ÐÞ¸ÄÕß¼°ÐÞ¸ÄÄÚÈÝ
* ÈÕ ÆÚ£º2010.5.10
* Ð޸ļǼºÅ(»ò°æ±¾ºÅ):
* ÐÞ¸ÄÈË£ºÁõÖÇÅô
* ÐÞ¸ÄÄÚÈÝ£ºÍ¬²½Í·ÎļþÓë×îеĽӿÚÉè¼ÆÎĵµ
* Ð޸ļǼ2£º
* ÈÕ ÆÚ£º2011.7.27
* Ð޸ļǼºÅ(»ò°æ±¾ºÅ):
* ÐÞ¸ÄÈË£ºÁõÖÇÅô
* ÐÞ¸ÄÄÚÈÝ£ºÔö¼Ó¶àÄ£½Ó¿Ú
* Ð޸ļǼ3£º
* ÈÕ ÆÚ£º2012.9.5
* Ð޸ļǼºÅ(»ò°æ±¾ºÅ):
* ÐÞ¸ÄÈË£ºÁõÖÇÅô
* ÐÞ¸ÄÄÚÈÝ£ºÔö¼ÓATÃüÁîʵÏÖÎïÀí²ã²ÎÊýÅäÖõÄÏûÏ¢½Ó¿Ú
*****************************************************************************/
#ifndef _PS_EPHY_INTERFACE_H
#define _PS_EPHY_INTERFACE_H
/**************************************************************************
* Í·Îļþ°üº¬ *
**************************************************************************/
#ifndef _OS_WIN
#include "ram_config.h"
#endif
#include "psl1com.h"
/**************************************************************************
* ºê¶¨Òå *
**************************************************************************/
#ifndef _USE_LTEA_MERGE_LTE//DLMacbufÓÅ»¯LTE-AÔÝʱûÓл®·ÖµØÖ·¿Õ¼äby zcc
#define Z_EUMAC_UL_PDU_BUF_NUM 16
/*µ¥¸ö»º´æ´óС µ¥Î» BYTE*/
#define Z_EUMAC_DL_PDU_BUF_SIZE 18736//18724
#define ZPS_LTE_P_MAX_TB_NUM 4/*MACÒ»´Î½ÓÊÕµÄÏÂÐÐTBµÄ×î´ó¸öÊý*/
#else
#define Z_EUMAC_UL_PDU_BUF_NUM 8
/*µ¥¸ö»º´æ´óС µ¥Î» BYTE*/
#define Z_EUMAC_DL_PDU_BUF_SIZE 13000 //Áô¸øC#½Å±¾×ö»Ø¹é²âÊÔÓ㬺óÆÚTDDºÍC#½Å±¾ÍêÉÆºó¿ÉÒÔÈ¥µô
/*Large and small DlMacPduBuf*/
#define Z_EUMAC_DL_LARGEPDU_BUF_NUM 86 //210 //DDRÄÚ´æÑ¹Ëõ¸ÄΪ110
#define Z_EUMAC_DL_SMALLPDU_PRE_MALLOC_MIN 16
#define Z_EUMAC_DL_SMALLPDU_PRE_MALLOC_MAX 32
/*µ¥¸ö»º´æ´óС µ¥Î» BYTE*/
#define Z_EUMAC_DL_LARGEPDU_BUF_SIZE 9472
#define Z_EUMAC_DL_SMALLPDU_BUF_SIZE 4000 //+64½Ó½ü4096
#define ZPS_LTE_P_MAX_TB_NUM 2/*MACÒ»´Î½ÓÊÕµÄÏÂÐÐTBµÄ×î´ó¸öÊý*/
#endif
#define Z_EMBMS_DL_PDU_BUF_NUM 32 //8*4
#define Z_EMBMS_DL_PDU_BUF_SIZE 9440
/*µ¥¸ö»º´æ´óС µ¥Î» BYTE*/
#define Z_EUMAC_UL_PDU_BUF_SIZE 9696
#define Z_LTE_P_MAX_PCH_BUF_SIZE 500
#define Z_LTE_P_MAX_SI_BUF_SIZE 2048
#define Z_LTE_P_MAX_ETWS_BUF_SIZE 2048
#define Z_LTE_P_HARQ_BUF_SIZE 64
/* category3 ʱµÄPDU×î´óÖµ*/
#define Z_LTE_P_MAX_UL_MACPDU_SIZE 9422
#define Z_LTE_P_MAX_DL_MACPDU_SIZE 12756
/* ²âÁ¿Ïà¹Øºê */
#define ZPS_LTE_P_MAX_REPORT_CELL_PER_FREQ 32
#define ZPS_LTE_P_MAX_MEAS_CELL_NUM_PER_FREQ 32
#define ZPS_LTE_P_MAX_BLACK_CELL_PER_FREQ 32
#define ZPS_LTE_P_MAX_FREQ_NUM 8
#define ZPS_LTE_P_MAX_INTER_FREQ_NUM (ZPS_LTE_P_MAX_FREQ_NUM - 1)
#define ZPS_LTE_P_MAX_SCELL_NUM 4
#define ZPS_LTE_P_MAX_MBSFN_SUBFRAME_CFG_NUM 8
#define ZPS_LTE_P_MAX_SINR_RESULT_NUM 4
#define ZPS_LTE_P_MAX_RSSI_RESULT_NUM 2
#define ZPS_LTE_P_MAX_N1PUCCH_AN_CSLISTP1_NUM 4
#define Z_LTE_MAX_MBSFN_AREA_NUM_IN_CELL 8
#define Z_LTE_P_MAX_SESSION_NUM_IN_PMCH 29
#define Z_LTE_P_MAX_PMCH_NUM 15
/*ZEPCG½Ó¿Úºê*/
#define Z_ZEPCG_PARAM_NUM 25
/*ºË¼äͬ²½ ±êÖ¾×Ö·û*/
#define INTER_CORE_SYNC 0x5555AAAA
/**************************************************************************
* È«¾ÖÊý¾Ý½á¹¹ÉùÃ÷ *
**************************************************************************/
/*
Á¬½Ó̬ϵÄÎÞÏßÁ´Â·¼à¿Ø²ÎÊý R9
*/
typedef struct
{
WORD wCtrlFlg; /*1:ÆôÓñ¾IEÄÚЯ´øµÄÎÞÏßÁ´Â·¼à¿Ø²ÎÊý 0:ʹÓÃCommConfigÖÐÎÞÏßÁ´Â·¼à¿Ø²ÎÊý*/
/*
ȡֵ·¶Î§£º1, 2, 3, 4, 6, 8, 10, 20
µÈͬЭÒé²ÎÊý£ºÎÞ
²ÎÊýÓÃ;£ºEPHY¼ì²âµ½N310´Îʧ²½ºó£¬Éϱ¨ZPS_LTE_P_OUT_OF_SYNC_IND_EvÏûÏ¢¸øEURRC
*/
WORD wN310; /*bCtrlFlg=1ʱÓÐЧ*/
/*
ȡֵ·¶Î§£º1, 2, 3, 4, 5, 6, 8, 10
µÈͬЭÒé²ÎÊý£ºÎÞ
²ÎÊýÓÃ;£ºEPHY¼ì²âµ½N311´Îͬ²½ºó£¬Éϱ¨ZPS_LTE_P_RECOVERY_SYNC_IND_EvÏûÏ¢¸øEURRC
*/
WORD wN311; /*bCtrlFlg=1ʱÓÐЧ*/
WORD wPadding;
}T_zPS_LTE_P_TimerConfig;
/*
EPHYÒ»¸öÐ¡ÇøµÄ²âÁ¿½á¹ûÐÅÏ¢
*/
typedef struct
{
WORD wPhyCellId; //ȡֵ·¶Î§£º 0~503
WORD wRsrp; //ȡֵ·¶Î§£º 0~97
WORD wRsrq; //ȡֵ·¶Î§£º 0~34
WORD wPadding;
} T_zPS_LTE_P_MeasResult;
/*
Ò»¸öƵµãµÄ²âÁ¿½á¹û,ÓÃÓÚÒìÆµ²âÁ¿½á¹ûµÄÉϱ¨
*/
typedef struct
{
DWORD dwReportEarfcn; //ȡֵ·¶Î§£º 0~65535
WORD wCellNum; //ȡֵ·¶Î§£º 0~32
WORD wPadding;
T_zPS_LTE_P_MeasResult atResultList[ZPS_LTE_P_MAX_REPORT_CELL_PER_FREQ];
} T_zPS_LTE_P_FreqMeasResult;
/*
¶¨ÒåµÄºÚÃûµ¥ÖÐÎïÀíÐ¡ÇøID µÄ·¶Î§
*/
typedef struct
{
WORD wStartPhyCellId;
/*
´ÓwStartPhyCellId¿ªÊ¼µÄÎïÀíÐ¡ÇøIDµÄ¸öÊý,
ȡֵ·¶Î§£º 1, 4, 8, 12, 16, 24, 32, 48, 64, 84, 96, 128, 168, 252, 504
*/
WORD wPhyCellIdNum;
} T_zPS_LTE_P_PhyCellIdRange;
typedef struct
{
WORD wMeasSubframePattern;
WORD awSubframeConfigBit[5];
} T_zPS_LTE_P_MeasSubframePattern;
typedef struct
{
WORD wSetupFlg;
WORD wCellRangeNum;
T_zPS_LTE_P_MeasSubframePattern tMeasSubframePattern;
T_zPS_LTE_P_PhyCellIdRange atPhyCellIdRangeList[ZPS_LTE_P_MAX_MEAS_CELL_NUM_PER_FREQ];
} T_zPS_LTE_P_MeasSubframeConfigNeigh;
/*
²âÁ¿¶ÔÏóµÄÐÅÏ¢
*/
typedef struct
{
DWORD dwEarfcn;
/*
wMeasBandWidth ȡֵ·¶Î§£º 6£¬15£¬25£¬50£¬75£¬100£¬255
255±íÊ¾ÍøÂç²àûÓÐÅäÖòâÁ¿´ø¿í£¬²ÉÓúͷþÎñÐ¡ÇøÏàͬµÄÏÂÐдø¿í½øÐвâÁ¿
*/
WORD wMeasBandWidth;
WORD wCellNum;
/*
1:¸ÃƵµãÏà¶ÔÓÚ·þÎñƵµãÊǸßÓÅÏȼ¶Æµµã
0:¸ÃƵµãÏà¶ÔÓÚ·þÎñƵµã²»ÊǸßÓÅÏȼ¶Æµµã
*/
WORD wHighPrioFlg;
WORD wPadding0;
WORD awPhyCellIdList[ZPS_LTE_P_MAX_MEAS_CELL_NUM_PER_FREQ];
/*
ÒìÆµµÄÖÆÊ½,ȡֵ·¶Î§£º 0£¬1
0:FDDÒìÆµ£»
1:TDD񓮵
*/
WORD wAdditionalEarfcnInd;
/*
wPresenceAntennaPort1 : ÊÇ·ñʹÓÃÌìÏß¶Ë¿Ú1
TRUE£ºÊ¹ÓÃÌìÏß¶Ë¿Ú1.Ò²¾ÍÊÇËùÓÐÁÚÐ¡ÇøÖÁÉÙʹÓÃÁ½¸öÌØ¶¨µÄÌìÏß¶Ë¿Ú
FALSE£º²»ÊÊÓÃÌìÏß¶Ë¿Ú1.
*/
WORD wPresenceAntennaPort1;
/*ÓÃÓÚCONNECTED̬£¬ÌṩintraÁÚÇøµÄMBSFNºÍTDD UL/DLÐÅÏ¢*/
WORD wNCellConfig;
/*Ö¸¶¨µÄºÚÃûµ¥ÎïÀíÐ¡ÇøID·¶Î§µÄÊýÄ¿, ȡֵ·¶Î§£º 0~32*/
WORD wBlackCellNum;
/*Ö¸¶¨µÄºÚÃûµ¥ÎïÀíÐ¡ÇøID·¶Î§µÄÁбí*/
T_zPS_LTE_P_PhyCellIdRange atPhyCellIdRangeList[ZPS_LTE_P_MAX_BLACK_CELL_PER_FREQ];
/*No DRX used״̬ϵı¨¸æÖÜÆÚ£¬µ¥Î»ms*/
DWORD dwNoDrxReportPeriod;
/*DRX used״̬ϵı¨¸æÖÜÆÚ£¬µ¥Î»ms*/
DWORD dwDrxReportPeriod;
/*Ô¼ÊøÅäÖñê־λ£¬Ö¸Ê¾atNeighMeasSubframeConfigÊÇ·ñ´æÔÚ£¬0-²»´æÔÚ£¬1-´æÔÚ*/
WORD wMeasSubFrameConfigFlg;
/*Scell²âÁ¿ÖÜÆÚ£¬ÒÔ×ÓÖ¡ÊýΪµ¥Î»±íʾ*/
WORD wMeasCycleScell;
/*ÁÚÇø²âÁ¿Ô¼ÊøÅäÖÃ*/
T_zPS_LTE_P_MeasSubframeConfigNeigh atNeighMeasSubframeConfig;
} T_zPS_LTE_P_MeasFreqInfo;
typedef struct
{
WORD wMsgId;
/*
wReportQuantity: ȡֵ·¶Î§£º0£¬1£¬2
0: Ö»²âRSRP
1: Ö»²âRSRQ,
2: RSRPºÍRSRQÁ½¸ö¶¼²â
*/
WORD wReportQuantity;
/*
wMaxCellReportPerFreq ÅäÖÃÿ¸öƵµãÉÏEPHYÉϱ¨Ð¡ÇøµÄ×î´ó¸öÊý¡£
ÒòΪ³ýÁËÅäÖõÄCellInfoListÍ⣬ÎïÀí²ã»¹ÄܽøÐÐÆäËû·ÇblacklistÄÚµÄÐ¡ÇøµÄ¼ì²âºÍ²âÁ¿Éϱ¨¡£
Òò´Ë¿ÉÒÔÀûÓô˽ӿڶÔÎïÀí²ãÉϱ¨µÄ×î´ó¸öÊý½øÐÐÁé»îÅäÖá£Ä¿Ç°Í³Ò»ÉèÖÃΪ32¡£
*/
WORD wMaxCellReportPerFreq;
/*
±»²âµÄƵµã¸öÊý¡£¸ù¾ÝĿǰLTEÎïÀí²ãµÄ²âÁ¿ÄÜÁ¦×î¶àÖ§³Ö3¸öÒìÆµÆµµã£¬¼ÓÉÏͬƵµÄƵµã£¬×î´óֵΪ4¡£
*/
WORD wFreqNum;
/*
Rx-Tx²âÁ¿Ö¸Ê¾
*/
WORD wRxTxMeas; /* 1±íʾ¿ªÆôRx-Tx²âÁ¿Éϱ¨£¬0±íʾֹͣ */
WORD wRsrpFilterFactor; /* RSRPµÄL3¹ýÂËϵÊý£¬È±Ê¡ÖµÎª4 */
WORD wRsrqFilterFactor;
WORD wPadding;
/*
²âÁ¿¶ÔÏóµÄÐÅÏ¢ÁÐ±í£¨º¬Í¬ÆµºÍÒìÆµ£©, ÔªËØ0¹Ì¶¨ÎªintraƵµãµÄ²ÎÊý¡£1~3ΪinterƵµã²ÎÊý
*/
T_zPS_LTE_P_MeasFreqInfo atMeasFreqInfoList[ZPS_LTE_P_MAX_FREQ_NUM];
} T_zPS_LTE_P_MeasConfig_Req;
/*
ЭÒéÕ»¸øÎïÀí²ãÅäÖòâÁ¿GAPµÄÏûÏ¢¡£Èç¹ûÅäÖÃÁËеÄGAP PATTEN£¬ÎïÀí²ãÐèҪֹͣ¾ÉµÄGAP
*/
typedef struct
{
WORD wMsgId;
/*
wActivated: ȡֵ·¶Î§ 1£¬0
1£º¼¤»îÏÂÃæÅäÖõÄmeas_gap,ֹ֮ͣǰµÄGAP
0£ºÈ¥»îµ±Ç°ÕýÔÚʹÓõÄmeas_gap£¬ÏÂÃæµÄ²ÎÊýÎÞЧ
*/
WORD wActivated;
/*
wGapPatternId ȡֵ·¶Î§£º0£¬1
0Ϊpattern0,
1Ϊpattern1
*/
WORD wGapPatternId;
/*
PATTEN_0µÄ·¶Î§£¨0~39£©
PATTEN_1µÄ·¶Î§£¨0~79£©
*/
WORD wGapOffset;
} T_zPS_LTE_P_MeasGapConfig_Req;
/*
ЭÒéÕ»¸øÎïÀí²ãÅäÖòâÁ¿¶ÔÏóµÄÑÚÂëÐÅÏ¢(Æô¶¯/ֹͣijЩƵµãµÄÁÚÇø²âÁ¿)
*/
typedef struct
{
WORD wMsgId;
/*
ÿ¸öbit¶ÔÓ¦meas_freq_infoÖеÄÒ»¸öƵµã£¬ÎïÀí²ãÖ»Æô¶¯¶ÔÓ¦µÄbitλΪ1µÄƵµãµÄ²âÁ¿¡£
Bitn¶ÔÓ¦ZPS_LTE_P_MEAS_CONFIG_REQ_EvÖеÄatMeasFreqInfoList[n]£¬n£º0~3
*/
WORD wMeasBitMask;
/*
µ±·þÎñÐ¡ÇøSr>SnonintraPÇÒSq>SnonintraQʱ£¬¸ÃÖµ±»ÖÃΪ1£¬·ñÔòÖÃ0
*/
WORD wEnableHighSearch;
/*
ÒìÖÆÊ½¸öÊý£¬ÓÃÀ´¼ÆËã¸ßÓÅÏȼ¶ËÑË÷ÖÜÆÚ£¬µ±wEnableHighSearchΪ1ʱÓÐЧ£¬Îª0ºöÂÔ¸ÃÖµ
*/
WORD wIratNum;
WORD wMeasTypeBitMask;/*ÿ¸öƵµã²âÁ¿Æô¶¯µÄ³¡¾°Î»Í¼£¬È¡Öµ0±íʾ°´Ð­ÒéÃÅÏÞÆô¶¯£¬È¡Öµ1±íʾ°´RSRQ<=TH1(-12.5dB)Æô¶¯ */
WORD wPadding;
} T_zPS_LTE_P_MeasMaskSet_Req;
typedef struct
{
WORD wMsgId;
WORD wMeasPeriodChgMask;
} T_zPS_LTE_P_MeasPeriodChg_Req;
/*
ÏòЭÒéÕ»Éϱ¨Í¬ÆµÐ¡ÇøºÍ·þÎñÐ¡ÇøµÄ²âÁ¿½á¹û
*/
typedef struct
{
WORD wRxTxTimeDiff;
WORD wCurSFN;
} T_zPS_LTE_P_RxTxResult;
typedef struct
{
DWORD dwEarfcn;
WORD wPci;
WORD wRsrp;
WORD wRsrq;
WORD wNeighCellNum;
T_zPS_LTE_P_MeasResult tSccNeiCellRlstList[ZPS_LTE_P_MAX_REPORT_CELL_PER_FREQ];
} T_zPS_LTE_P_ScellMeasResult;
typedef struct
{
SHORT sSinrInt; //ȡֵ·¶Î§ -20~40
WORD wSinrDec; //ȡֵ·¶Î§ 0~9
} T_zPS_LTE_P_SinrResult;
typedef struct
{
SHORT sRssiInt; //ȡֵ·¶Î§ -128~-4£¬ÕûÊý²¿·Ö
WORD wRssiDec; //ȡֵ·¶Î§ 0~9£¬Ð¡Êý²¿·Ö
} T_zPS_LTE_P_RssiResult;
typedef struct
{
WORD wNeibExistFlg;
WORD wCellNum;
WORD wRxTxRsltFlg;
WORD wSccRsltFlg;
DWORD dwServEarfcn;//·þÎñÐ¡ÇøÆµµãºÅ£¬·ÀÖ¹PSÖØÑ¡³É¹¦ºóÎóʹÓÃÖ®Ç°Ð¡Çø²âÁ¿½á¹û×öÆÀ¹À
WORD wRankInd; //µ¥Ë«Á÷ָʾ£¬È¡Öµ1±íʾµ¥Á÷£¬2±íʾ˫Á÷£¬0±íʾÎÞЧ£¬
WORD wPadding;
T_zPS_LTE_P_RxTxResult tRxTxRslt;
T_zPS_LTE_P_SinrResult tSinrRslt[ZPS_LTE_P_MAX_SINR_RESULT_NUM];
T_zPS_LTE_P_RssiResult tRssiRslt[ZPS_LTE_P_MAX_RSSI_RESULT_NUM];
T_zPS_LTE_P_MeasResult atResultList[ZPS_LTE_P_MAX_REPORT_CELL_PER_FREQ];
T_zPS_LTE_P_ScellMeasResult atScellResult[ZPS_LTE_P_MAX_SCELL_NUM];
} T_zPS_LTE_P_IntraMeas_Ind;
/*
ÏòЭÒéÕ»Éϱ¨ÒìÆµÐ¡ÇøµÄ²âÁ¿½á¹û
*/
typedef struct
{
WORD wFreqNum;
WORD wSpecFreqRltFg; //ȡֵΪ1ʱ±íʾ°üº¬ÁËÖ¸¶¨ÒìÆµÆµµãµÄ²âÁ¿½á¹û
T_zPS_LTE_P_FreqMeasResult atFreqResultList[ZPS_LTE_P_MAX_INTER_FREQ_NUM];
} T_zPS_LTE_P_InterMeas_Ind;
/*
Í£Ö¹EPHYµÄNCELL²âÁ¿Éϱ¨£¬SCELLµÄ²âÁ¿ÈÔÈ»¼ÌÐøÉϱ¨¡£
*/
typedef struct
{
WORD wMsgId;
WORD wPadding0;
} T_zPS_LTE_P_AbortMeas_Req;
/*
EPHYÉϱ¨µÄDRX״̬
*/
typedef struct
{
/*
1:drx is used£¬0: no drx is used
*/
WORD wDrxState ;
WORD wPadding0;
} T_zPS_LTE_P_DrxStateInd;
/**************************************************************************
* Ð¡ÇøÑ¡Ôñ¡¢Ñ°ºôÏà¹Ø½Ó¿Ú *
**************************************************************************/
#define ZPS_LTE_P_MAX_NUM_OF_BAND 32
#define ZPS_LTE_P_MAX_NUM_OF_EARFCN_SCAN 64
#define ZPS_LTE_P_MAX_NUM_OF_STORED_CELL 8
#define ZPS_LTE_P_MAX_NUM_OF_CELL_SEARCH 8
typedef struct
{
WORD wPhyCellId;
/*
¶ÔÓ¦Ð¡ÇøµÄRS½ÓÊܹ¦ÂʵÄÖµ, 0¡«97
*/
WORD wRsrp;
WORD wRsrq;
WORD wPadding;
} T_zPS_LTE_P_CellSearchResult;
typedef struct
{
DWORD dwEarfcn;
WORD wRssi;
WORD wPadding;
} T_zPS_LTE_P_FreqScanResult;
typedef struct
{
/*
ij¸öƵ¶ÎµÄÆðʼƵµã,
ȡֵ·¶Î§£º1830~2619¡²¶ÔÓ¦ÓÚTDDģʽ£¬²Î¼ûЭÒé36.101- Table 5.7.3-1¡³
*/
DWORD dwStartEarfcn;
DWORD dwEndEarfcn;
} T_zPS_LTE_P_FreqBand;
typedef struct
{
WORD wMsgId;
WORD wBandNum;
WORD wProcId; /* Ôö¼Ó */
WORD wFreqScanType;
T_zPS_LTE_P_FreqBand atFreqBandList[ZPS_LTE_P_MAX_NUM_OF_BAND];
} T_zPS_LTE_P_FreqScan_Req;
typedef struct
{
WORD wReportEarfcnNum;
WORD wProcId; /* Ôö¼Ó */
/*
ȡֵ·¶Î§£º1830~2619¡²¶ÔÓ¦ÓÚTDDģʽ£¬²Î¼ûЭÒé36.101- Table 5.7.3-1¡³
µÈͬЭÒé²ÎÊý£ºFDL = FDL_low + 0.1(NDL - NOffs-DL) ²Î¼ûЭÒé36.101-5.7.3
²ÎÊýÓÃ;£º½«±¾´ÎƵµãɨÃ賬¹ýÃÅÏ޵ĸ÷Ƶµã£¬°´ÕÕRSSIÄÜÁ¿´Ó´óµ½Ð¡Ë³ÐòÅÅÁУ¬
²¢×ª»¯ÎªÐ­Òé±ê×¼µÄFDLƵµãºÅÉϱ¨Ð­ÒéÕ»¡£
*/
DWORD adwEarfcn[ZPS_LTE_P_MAX_NUM_OF_EARFCN_SCAN];
} T_zPS_LTE_P_FreqScan_Cnf;
typedef struct
{
WORD wMsgId;
/*
±êÊ¶Ð¡ÇøËÑË÷µÄÐÎʽºÍËÑË÷½á¹ûÉϱ¨µÄÐÎʽ
1:Éϱ¨×îÇ¿Ð¡Çø£»2:Éϱ¨Ò»¸öÐ¡ÇøÁÐ±í£»3:´æ´¢Ð¡ÇøµÄËÑË÷£¬²ÉÓÃwPhyCellIdListÖÐÖ¸¶¨µÄÐ¡Çø
*/
WORD wSearchType;
WORD wProcId;
WORD wIratFg; //1:-->2/3Gµ½4GµÄÖØÑ¡¡¢Öض¨Ïò³¡¾°Ö¸Ê¾
DWORD dwEarfcn;
/*
´æ´¢Ð¡ÇøËÑË÷ʱ,Ö¸¶¨µÄÐ¡ÇøÁбí.½ö´æ´¢Ð¡ÇøËÑË÷ʱÓÐЧ
*/
WORD wCellNum;
WORD wBlackCellListNum;
WORD awPhyCellIdList[ZPS_LTE_P_MAX_NUM_OF_STORED_CELL];
T_zPS_LTE_P_PhyCellIdRange atBlackCellList[ZPS_LTE_P_MAX_BLACK_CELL_PER_FREQ];
} T_zPS_LTE_P_CellSearch_Req;
/*
EPHYÐ¡ÇøËÑË÷½á¹ûÉϱ¨
*/
typedef struct
{
WORD wProcId;
WORD wCellNum;
DWORD dwEarfcn;
T_zPS_LTE_P_RssiResult tRssiRslt; /*¸ÃƵµãµÄRSSI£¬¹¤³ÌģʽɨƵÉϱ¨ÐèÇóÐÂÔö*/
T_zPS_LTE_P_CellSearchResult atCellSearchResultList[ZPS_LTE_P_MAX_NUM_OF_CELL_SEARCH];
} T_zPS_LTE_P_CellSearch_Cnf;
/*
ÖÕÖ¹EPHYÕýÔÚ½øÐеÄÐ¡ÇøËÑË÷ÒÔ¼°ÆµµãɨÃè
*/
typedef struct
{
WORD wMsgId;
WORD wPadding0;
} T_zPS_LTE_P_AbortCellSearch_Req;
/*
PSÄÚ²¿µÄÏûÏ¢£¬ÓÉPHYµÄ²Ù×÷À´´¥·¢
ÏûÏ¢·½Ïò£ºHISR->ESIR
*/
typedef struct
{
WORD wDataLen;
WORD wPadding;
PBYTE pbPchData;
} T_zPS_LTE_P_PchData_Ind;
/**************************************************************************
* ϵͳÏûÏ¢¶ÁÈ¡Ïà¹Ø½Ó¿Ú *
**************************************************************************/
#define ZPS_LTE_P_MAX_NUM_OF_SI 10
typedef struct
{
/*
wSiPeriodicity: ȡֵ·¶Î§:
ȡֵ·¶Î§£º rf8, rf16, rf32, rf64, rf128, rf256, rf512 (ÎÞÏßÖ¡µ¥Î»)
µÈͬЭÒé²ÎÊý£ºsi-Periodicity£¬²Î¼û²Î¼ûTS36.331-5.2.3
²ÎÊýÓÃ;£º±êʾÏàÓ¦SIBµÄ½ÓÊÕ´°¿Ú³öÏÖµÄÖØ¸´ÖÜÆÚ
*/
WORD wSiPeriodicity;
/*
wSiIndex ȡֵ·¶Î§£º 1¡«32
µÈͬЭÒé²ÎÊý£º n£¬²Î¼û²Î¼ûTS36.331£­5.2.3£¬ 6.2.2
²ÎÊýÓÃ;£ºÎªSIÏûÏ¢¶ÔÓ¦µÄnÖµ£¬ÓÃÓÚ¼ÆËãÿ¸öSIBµÄ´°¿ÚÆðʼʱ¼äµã£¨²Î¼û36331-5.2.3ЭÒéÃèÊö£©£¬
´ÓÏûÏ¢½á¹¹ÉÏ¿´£¬Ã¿¸öSIBµÄ´°¿Ú³¤¶ÈÊÇÏàͬµÄ£¬Ö»ÐèÒª¸ù¾ÝSIBµÄϱê¾Í¿ÉÒÔÍÆËã³öÿ¸ö´°¿ÚµÄÆðʼλÖá£
for the concerned SI message, determine the number n which corresponds to the order of entry
in the list of SI messages configured by schedulingInfoList in SystemInformationBlockType1;
2> determine the integer value x = (n - 1)*w, where w is the si-WindowLength;
2> the SI-window starts at the subframe #a, where a = x mod 10, in the radio frame for which
SFN mod T = FLOOR(x/10), where T is the si-Periodicity of the concerned SI message;
*/
WORD wSiIndex;
} T_zPS_LTE_P_SiSchedInfo;
/*
RRCÇëÇóEPHY¶ÁÈ¡SIB1(PHY¸ù¾ÝÐèÒª¶ÁÈ¡MIB)£¬
×¢£ºÊÕµ½´ËÇëÇóºó£¬EPHYÁ¢¼´Í£Ö¹Ö®Ç°µÄϵͳÏûÏ¢µ÷¶È£¬²¢¿ªÊ¼¶ÁÈ¡SIB1¡£MIBµÄ¶ÁÈ¡ÓÉÎïÀí²ã×Ô¼ºÈ·¶¨¡£
*/
typedef struct
{
WORD wMsgId;
WORD wSiRequestForHO;
WORD wProcId;
/*
ÐèÒª¶ÁÈ¡SIµÄÎïÀíÐ¡ÇøID
*/
WORD wPhyCellId;
DWORD dwEarfcn;
//WORD wPadding;
} T_zPS_LTE_P_ReadSib1_Req;
/*
RRCÇëÇóEPHYÍ£Ö¹ËùÓÐϵͳÐÅÏ¢µÄ¶ÁÈ¡
*/
typedef struct
{
WORD wMsgId;
WORD wPadding1;
} T_zPS_LTE_P_AbortSiRead_Req;
/*
ÇëÇóEPHY¸ù¾ÝÏ·¢µÄµ÷¶ÈÐÅÏ¢¶ÁÈ¡ÏàÓ¦µÄSI
*/
typedef struct
{
WORD wMsgId;
WORD wPadding;
DWORD dwEarfcn;
WORD wSubFrameAssign;
WORD wSpecialSubFramePatterns;
WORD wReadMode;
WORD wPhyCellId;
/*
wSiWindowLen£ºÈ¡Öµ·¶Î§£ºms1, ms2, ms5, ms10, ms15, ms20, ms40 (ºÁÃ뵥λ),
±íÕ÷ij¸öSI¿ÉÄÜ´æÔÚµÄʱ¼ä´°µÄ³¤¶È£¬Õâ¸öÕâ¸öʱ¼ä´°ÄÚµÄ×ÓÖ¡ÓпÉÄܳÐÔØSIÒ²¿ÉÄܲ»³ÐÔØSI£¬
UEÐèÒªÔÚ´°ÄÚ³ÖÐø¼ì²âÖ±µ½½â³öÕýÈ·µÄSIΪֹ£¬´°ÄڵijÐÔØSIµÄPDSCHÐèÒª²ÉÓÃHARQ¹ý³Ì£¬
µ«ÎÞÐèÏòÍøÂç²à·´À¡ACK/NACK¡£Ò»¸ö´°¿ÚÄÚ½ö½ö»á³ÐÔØ1¸öSIµÄÐÅÏ¢¡£
*/
WORD wSiWindowLen;
/*
ָʾ±¾´ÎSIµ÷¶ÈÐèÒª¶ÁÈ¡µÄSI¸öÊý
*/
WORD wSiSchedNum;
/*
ÿ¸öÄ¿±êSIµÄʱ¼ä·Ö²¼ÐÅÏ¢£¬ÓÃÓÚ¼ÆËãSIµÄ½ÓÊÕʱ¼ä´°
*/
T_zPS_LTE_P_SiSchedInfo atSiSchedInfoList[ZPS_LTE_P_MAX_NUM_OF_SI];
} T_zPS_LTE_P_SchedSi_Req;
/*
EPHY·´À¡¸øÐ­ÒéÕ»µÄSIBÐÅÏ¢Êý¾Ý¸ñʽ
*/
typedef struct
{
/*
wReadResultȡֵ·¶Î§£º0£ºÓÐЧϵͳÏûÏ¢£¬ 1£ºÔ¤Áô
±êʾµ±Ç°bufferÖеÄÊý¾ÝÊÇ·ñΪSIBÊý¾Ý¡£¸Ã²ÎÊýÓпÉÄÜÀ©Õ¹ÎªCRCÐÅÏ¢£»
ĿǰЭÒéÕ»Ô¤ÆÚPHYÉϱ¨µÄÊý¾Ý×ÜÊÇCRC okµÄ£»Èç¹ûCRC fail Ôò²»ÒªÉϱ¨¡£
*/
WORD wReadResult;
WORD wDlBandWidth;
WORD wProcId; /* Ôö¼Ó */
/*
±êʾµ±Ç°bufferÖеÄSIBÊý¾Ý³¤¶È, 0¡«2Kbyte
*/
WORD wDataLen;
PBYTE pbSiData;
T_zPS_LTE_P_SinrResult tSinrRslt; /*¸ÃÐ¡ÇøµÄSINR£¬¹¤³ÌģʽɨƵÉϱ¨ÐèÇóÐÂÔö*/
} T_zPS_LTE_P_SiData_Ind;
/*
EPHY¶ÁÈ¡MIBʧ°ÜºóÉϱ¨´ËÏûÏ¢
µ±PHYÊÕµ½¶ÁÈ¡SIB1µÄÇëÇóºó£¬×Ô¶¯Ñ¡Ôñ½øÐÐMIBµÄ¶ÁÈ¡£¬Èç¹û¶à´Î£û³õ²½Ô¼¶¨Îª3´Î£¬ ¼´Ô¼3*40ms£ý
¶ÁÈ¡MIBʧ°Üºó£¬PHYÓ¦¸ÃÍ£Ö¹MIBµÄ¶ÁÈ¡³¢ÊÔ£¬Éϱ¨´íÎó¸øÐ­ÒéÕ»£¬ÓÉЭÒéջѡÔñÆäËûÐ¡Çø½øÐг¢ÊÔ¡£
*/
typedef struct
{
WORD wProcId;
WORD wPadding;
} T_zPS_LTE_P_PbchReadFail_Ind;
/**************************************************************************
* ÅäÖÃÏà¹Ø½Ó¿Ú *
**************************************************************************/
#define ZPS_LTE_P_MAX_N1PAN_NUM 4
#define ZPS_LTE_P_MAX_SRS_CFG_NUM 3
#define ZPS_LTE_P_MAX_CSI_MEAS_SF_PATTERN_NUM 2
#define ZPS_LTE_P_MAX_N3PAN_NUM 4
#define ZPS_LTE_P_MAX_N1PANLIST_NUM 2
typedef struct
{
DWORD dwDlEarfcn;
DWORD dwUlEarfcn;
WORD wPhyCellId;
WORD wDlBandWidth;
WORD wUlBandWidth;
WORD wPadding;
} T_zPS_LTE_P_PhyCellInfo;
typedef struct
{
/*
wPowerRampStep:
ȡֵ·¶Î§£ºdB0, dB2,dB4, dB6
µÈͬЭÒé²ÎÊý£º321.5.1.1 powerRampingStep
²ÎÊýÓÃ;£ºÉÏÐз¢ËÍpreamble¹¦Âʵ÷Õû²½³¤£¬ÓÃÓÚÖØ·¢preamble¹ý³ÌÖе÷Õû·¢É书ÂÊ
*/
WORD wPowerRampStep;
/*
ȡֵ·¶Î§£º{dBm-120, dBm-118, dBm-116, dBm-114,dBm-112, dBm-110, dBm-108,
dBm-106, dBm-104, dBm-102, dBm-100, dBm-98, dBm-96, dBm-94, dBm-92, dBm-90}
µÈͬЭÒé²ÎÊý£º321.5.1.1 preambleInitialReceivedTargetPower
²ÎÊýÓÃ;£ºRRCÅäÖÃÏÂÀ´µÄ³õʼpreamble¹¦ÂÊ£¬ÓÃÓÚ¼ÆËãpreamble·¢É书ÂÊ
*/
WORD wPreamInitialRecvTargetPower;
/*
ȡֵ·¶Î§£º{n3, n4, n5, n6, n7, n8, n10, n20, n50, n100, n200}
µÈͬЭÒé²ÎÊý£º321.5.1.1 preambleTransMax
²ÎÊýÓÃ;£ºpreamble×î´óÖØ´«´ÎÊý£¬ÖØ´«´ÎÊý³¬¹ý´ËÊýÖµÔòÐèÒªÉϱ¨´íÎó£¬ÖØÐ·¢ÆðËæ»ú½ÓÈë¹ý³Ì¡£
*/
WORD wPreamTransMax;
/*
ȡֵ·¶Î§£º{ sf2, sf3, sf4, sf5, sf6, sf7, sf8, sf10}
µÈͬЭÒé²ÎÊý£º321.5.1.1 ra-ResponseWindowSize
²ÎÊýÓÃ;£º¼ì²âRARÐÅϢʱ¼ä´°³¤¶È¡£ÓÃÓÚ·¢ËÍpreambleºóÔÚÖ¸¶¨µÄʱ¼äÄÚ¼ì²âÊÇ·ñÓжÔÓ¦µÄRARÐÅÏ¢£¬
²¢ÅжϽÓÊÕ·¢ËÍpreamble¹ý³Ì£¨msg1£©ÊÇ·ñ³É¹¦£¬³¬¹ý´Ë¶Îʱ¼äÒÀ¾ÉûÓÐÏàÓ¦µÄRARÐÅÏ¢£¬ÔòÅжϷ¢ËÍpreamble¹ý³Ìʧ°Ü¡£
ÐèÖØÐ·¢ËÍ¡£
*/
WORD wRaResponseWinSize;
/*
ȡֵ·¶Î§£ºINTEGER 1~8
µÈͬЭÒé²ÎÊý£º321.5.1.1 maxHARQ-Msg3Tx.
²ÎÊýÓÃ;£º¾ºÕù½â¾öÖз¢ËÍmsg3ʱ£¬µ÷ÓÃHARQ¹ý³Ì×î´óÖØ´«´ÎÊý¡£
*/
WORD wMaxHarqMsg3Tx;
/*
ȡֵ·¶Î§£ºINTEGER (0..837)
µÈͬЭÒé²ÎÊý£º211.5.7.2 RACH_ROOT_SEQUENCE£¨Logical root sequence number£©
²ÎÊýÓÃ;£ºZCÐòÁÐÁãÏà¹ØÇøÓòÂß¼­¸ùÖµ¡£ÓÃÓÚ²éÕÒÎïÀí¸ùÖµ£¬×÷ΪÆäÖÐÒ»¸ö²ÎÊý£¬¼ÆËãµ±Ç°Ð¡Çø²úÉúµÄpreambleÐòÁС£
*/
WORD wRootSeqIdx;
/*
ȡֵ·¶Î§£ºINTEGER 0~63
µÈͬЭÒé²ÎÊý£º211.5.7.1 prach-ConfigurationIndex
²ÎÊýÓÃ;£ºÐ­Òéջָʾµ±Ç°PHY¿ÉÓõÄprach resource¡£ÓÃÓÚ×ÊÔ´Ñ¡Ôñ£¬ÒÔ¼°»ñÈ¡preambleµ±Ç°ËùÓøñʽ¡£
*/
WORD wPrachConfigIdx;
/*
ȡֵ·¶Î§£º1Ϊ¸ßËÙָʾ£¨ÏÞÖÆÐ¡Çø£©£¬0Ϊ·Ç¸ßËÙ£¨·ÇÏÞÖÆÐ¡Çø£©
µÈͬЭÒé²ÎÊý£º211.5.7.2 High-speed-flag
²ÎÊýÓÃ;£º±êÖ¾µ±Ç°Ð¡ÇøÀàÐÍ£¨¸ßËÙÐ¡Çø»¹ÊǷǸßËÙÐ¡Çø£©¡£
*/
WORD wHighSpeedFlag;
/*
ȡֵ·¶Î§£ºINTEGER (0..15)
µÈͬЭÒé²ÎÊý£º211.5.7.2 NCS configuration
²ÎÊýÓÃ;£ºÐòÁÐÉú³ÉÖеÄÑ­»·ÒÆÎ»±í¸ñË÷Òý¡£²éѯµ±Ç°Ð¡ÇøÐòÁÐÉú³ÉËùÓõÄÑ­»·ÒÆÎ»Öµ£¬ÓÃÓÚÉú³ÉpreambleÐòÁС£
*/
WORD wZeroCorrelZoneConfig;
/*
ȡֵ·¶Î§£ºINTEGER (0..94)
µÈͬЭÒé²ÎÊý£º211.5.7.1 prach-FrequencyOffset£¬
²ÎÊýÓÃ;£ºprach resourceÔÚOFDM·ûºÅÉÏÆµÓòÉÏµÄÆ«ÒÆÖµ¡£ÓÃÓÚ¼ÆËãprach resourceµÚÒ»¸öÎïÀí×ÊÔ´¿éÆðʼλÖà £¬
*/
WORD wPrachFreqOffset;
/*
ȡֵ·¶Î§£º4,8,12,16,20,24,28,32,36,40,44,48,52,56,60,64
µÈͬЭÒé²ÎÊý£º
²ÎÊýÓÃ;£ºËæ»ú½ÓÈëǰµ¼¸öÊý
*/
WORD wNumOfRAPreambles;
/*
ȡֵ·¶Î§£º4, 8, 12, 16 ,20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60
µÈͬЭÒé²ÎÊý£º
²ÎÊýÓÃ;£ºËæ»ú½ÓÈëǰµ¼×éAµÄ¸öÊý
*/
WORD wSizeOfRAPinGroupA;
/*
ȡֵ·¶Î§£º56¡¢144¡¢208¡¢256
µÈͬЭÒé²ÎÊý£º
²ÎÊýÓÃ;£ºËæ»úǰµ¼×éAµÄÏûÏ¢³¤¶È
*/
WORD wMsgSizeGroupA;
/*
ȡֵ·¶Î§£ºÈ¡ÖµÎª0µ½7£¬·Ö±ð¶ÔÓ¦minusinfinity, dB0, dB5, dB8, dB10, dB12, dB15, dB18£¬µ¥Î»ÊÇdB
µÈͬЭÒé²ÎÊý£º
²ÎÊýÓÃ;£ºÓÃÓÚ½øÐÐǰµ¼Ñ¡Ôñ
*/
WORD wPwrOffsetGroupB;
/*
ȡֵ·¶Î§£º {sf8, sf16, sf24, sf32, sf40, sf48, sf56, sf64}
µÈͬЭÒé²ÎÊý£º321.5.1.1 mac-ContentionResolutionTimer
²ÎÊýÓÃ;£º¾ºÕùËæ»ú½ÓÈë¹ý³ÌÖмì²âmsg4ʱ¼ä´°¿Ú´óС¡£
ÓÃÓÚÔÚ·¢ËÍmsg3ºó¿ªÊ¼µÄmsg4¼ì²â£¬Ã¿´ÎÖØ·¢msg3£¬ÐèÒªÖØÐÂÆô¶¯´Ë¼ÆÊ±Æ÷¡£
*/
WORD wConResoTimer;
WORD wPadding;
} T_zPS_LTE_P_PhyRaConfig;
typedef struct
{
/*
ȡֵ·¶Î§£º 1~4
²ÎÊýÓÃ;£ºÒ»¸öʱ϶ÄÚPRBËùÕ¼×Ó´ø¸öÊý£¬ÓÃÓÚ¼ÆËãPUSCHµÄʱƵ×ÊԴλÖá£
*/
WORD wNsb;
/*
ȡֵ·¶Î§£º 0£¬1
µÈͬЭÒé²ÎÊý£ºÎÞ¡£
²ÎÊýÓÃ;£ºÌøÆµÄ£Ê½£º0Ϊ×ÓÖ¡¼ä£¬1Ϊ×ÓÖ¡ÄÚºÍ×ÓÖ¡¼ä£¬ÓÃÓÚ¼ÆËãPUSCHµÄʱƵ×ÊԴλÖá£
*/
WORD wHoppingMode;
/*
ȡֵ·¶Î§£º 0~98 £¨TS331-860/850¸Ã·¶Î§Îª0~98£©
µÈͬЭÒé²ÎÊý£º ¡£
²ÎÊýÓÃ;£ºÌøÆµÆ«ÒÆ£¬ÒÔRBΪµ¥Î»£¬ÓÃÓÚ¼ÆËãPUSCHµÄʱƵ×ÊԴλÖá£
*/
WORD wPuschHoppingOffset;
/*
ȡֵ·¶Î§£º 0£¬1
µÈͬЭÒé²ÎÊý£ºÎÞ¡£
²ÎÊýÓÃ;£ºPUSCH 64QAMµ÷ÖÆÊ¹ÄܱêÖ¾£¬1ΪENABLE£¬0ΪDISABLE¡£
*/
WORD wEnable64Qam;
/*
ȡֵ·¶Î§£º 0£¬1
µÈͬЭÒé²ÎÊý£ºÎÞ¡£
²ÎÊýÓÃ;£º²Î¿¼ÐźŵÄÐòÁÐ×éÌø±ä£¨Sequence-group hopping£©Ê¹ÄܱêÖ¾£¬
1ΪENABLE£¬0ΪDISABLE£¬ÓÃÓÚ¼ÆËãPUSCHºÍPUCCH²Î¿¼ÐźÅÐòÁС£
*/
WORD wGroupHoppingEnable;
/*
ȡֵ·¶Î§£º 0 ~ 29
µÈͬЭÒé²ÎÊý£º¦¤SS¡£
²ÎÊýÓÃ;£ºÓÃÓÚ¼ÆËãPUSCH²Î¿¼ÐźŵÄÐòÁÐÒÆÎ»Í¼Ñù £¬¼Ì¶øµÃµ½Ê±Ï¶ µÄ²Î¿¼ÐźŵĻùÐòÁÐ×éÐòºÅ ¡£
PUSCHµÄÐòÁÐÒÆÎ»Í¼ÑùÊÇÔÚPUCCHµÄÐòÁÐÒÆÎ»Í¼Ñù ÉÏ¼ÓÆ«ÒƦ¤SS£¬²Î¼ûЭÒé36.211-870£¬µÚ5.5.1.3½Ú¡£
*/
WORD wGroupAssignPusch;
/*
ȡֵ·¶Î§£º 0£¬1
µÈͬЭÒé²ÎÊý£ºÎÞ¡£
²ÎÊýÓÃ;£º²Î¿¼ÐźŵÄÐòÁÐÌø±ä£¨sequence hopping£©Ê¹ÄܱêÖ¾£¬
1ΪENABLE£¬0ΪDISABLE£¬ÓÃÓÚ¼ÆËãʱ϶ µÄ»ùÐòÁÐ×éÖеĻùÐòÁÐÐòºÅ ¡£²Î¼ûЭÒé36.211-870£¬µÚ5.5.1.4½Ú.
*/
WORD wSeqHoppingEnable;
/*
ȡֵ·¶Î§£º0~7
µÈͬЭÒé²ÎÊý£ºÎÞ¡£
²ÎÊýÓÃ;£ºÓÃÓÚ¼ÆËã²Î¿¼Ðźš£²Î¼ûЭÒé36.211-870£¬µÚ5.5.2.1.1½Ú¡£
*/
WORD wCyclicShift;
} T_zPS_LTE_P_PuschConfigComm;
/*
PUSCHÐŵÀרÓÃÅäÖòÎÊýÐÅÏ¢£¬ÓÃÓÚACK/RI/CQIµÄ±àÂëËÙÂÊÆ¥Åä¡£¿É²Î¼ûЭÒé36.212-870£¬µÚ5.5.2.6½Ú¡£
*/
typedef struct
{
/*
ȡֵ·¶Î§£º 0~15
µÈͬЭÒé²ÎÊý£º
²ÎÊýÓÃ;£º²Î¼ûЭÒé36.213-870£¬µÚ8.6.3½Ú¡£
*/
WORD wBetaOffsetAckIndex;
/*
ȡֵ·¶Î§£º 0~15
µÈͬЭÒé²ÎÊý£º
²ÎÊýÓÃ;£º²Î¼ûЭÒé36.213-870£¬µÚ8.6.3½Ú¡£
*/
WORD wBetaOffsetRiIndex;
/*
ȡֵ·¶Î§£º 0~15
µÈͬЭÒé²ÎÊý£º
²ÎÊýÓÃ;£º²Î¼ûЭÒé36.213-870£¬µÚ8.6.3½Ú¡£
*/
WORD wBetaOffsetCqiIndex;
WORD wPadding;
WORD wBetaOffsetMcFlag;
WORD wBetaOffsetAckIndexMc;
WORD wBetaOffsetRiIndexMc;
WORD wBetaOffsetCqiIndexMc;
WORD wGroupHoppingDisabledFlag;
WORD wDmrsWithOccActivatedFlag;
} T_zPS_LTE_P_PuschConfigDedi;
/*
PUCCHÐŵÀ¹«¹²ÅäÖòÎÊý£¬¿É½áºÏÏÂÐÐPDCCHʹÓõÄÎïÀí×ÊÔ´ÐÅÏ¢½øÐÐPUCCHÐŵÀ·ûºÅÊý¾ÝÉú³É¼°ÎïÀí×ÊÔ´Ó³É䣬
¿É²Î¼û36.211-870£¬µÚ5.4½Ú¼°36.213-870£¬µÚ10.1½Ú¡£
*/
typedef struct
{
/*
ȡֵ·¶Î§£º 1£¬2£¬3
µÈͬЭÒé²ÎÊý£º
²ÎÊýÓÃ;£ºÓÃÓÚPUCCH¡¡format 1,1a,1bµÄ²ÎÊýcyclic shift ¼°·¢ËÍ×ÊÔ´ µÄ¼ÆË㣬Ïêϸ²Î¼û36.211ЭÒéµÄ5.4½Ú¡£
*/
WORD wDeltPucchShift;
/*
ȡֵ·¶Î§£º0~98
µÈͬЭÒé²ÎÊý£º
²ÎÊýÓÃ;£º±íʾPUCCH format 2,2a,2b¸ñʽÏ£¬Ð¡ÇøPUCCHÐŵÀÕ¼ÓõÄPRBÊýÄ¿£¬¶ÔÓÚUEÕâ¸ö²ÎÊýÓÃÓÚ¼ÆËãcyclic shift £¬
Ïêϸ²Î¼û36.211ЭÒéµÄ5.4.2½Ú¡£
*/
WORD wNrbCqi;
WORD wNcsAn;
WORD wN1PucchAn;
} T_zPS_LTE_P_PucchConfigComm;
typedef struct
{
WORD wN3PucchAnListNum;
WORD wTwoAntennaPortActivatedPucchFormat3Tpye;
WORD wN3PucchAnList[ZPS_LTE_P_MAX_N3PAN_NUM];
WORD wN3PucchAnListP1Num;
WORD wPadding1;
WORD wN3PucchAnListP1[ZPS_LTE_P_MAX_N3PAN_NUM];
} T_zPS_LTE_P_PucchFormat3;
typedef struct
{
WORD wNum;
WORD wPadding;
WORD wList[ZPS_LTE_P_MAX_N1PAN_NUM];
} T_zPS_LTE_P_N1PucchAnCs;
typedef struct
{
WORD wN1PucchAnCsTpye;
WORD wN1PucchAnCsListNum;
T_zPS_LTE_P_N1PucchAnCs tN1PucchAnCsList[ZPS_LTE_P_MAX_N1PANLIST_NUM];
}T_zPS_LTE_P_PucchChnlSele;
typedef struct
{
WORD wAckNackRepetitionInd;
WORD wRepetitionFactor;
WORD wN1PucchAnRep;
WORD wTddAckNackFeedbackMode;
WORD wPucchFormatFlag;
WORD wPadding1;
T_zPS_LTE_P_PucchFormat3 tPucchFormat3;
T_zPS_LTE_P_PucchChnlSele tPucchChnlSele;
WORD wTwoAntennaPortActivatedFormat1a1bFlag;
WORD wN1PucchAnRepP1Flag;
WORD wN1PucchAnRepP1;
WORD wSimultaneousPucchPuschFlag;
WORD wN1PucchAnCsListP1Num;//0±íʾ¹Ø±Õ¹¦ÄÜtxDiv-PUCCH1b-ChSelect-r11
WORD wPadding2;
WORD awN1PucchAnCsListP1[ZPS_LTE_P_MAX_N1PUCCH_AN_CSLISTP1_NUM];//Ó¦¸Ã¼Ó¸öºê
} T_zPS_LTE_P_PucchConfigDedi;
typedef struct
{
/*
ȡֵ·¶Î§£º0,1
µÈͬЭÒé²ÎÊý£º¿ØÖÆÓòÎÊý£¬Ð­ÒéÉÏûÓд˲ÎÊý¡£
²ÎÊýÓÃ;£º1Ϊsetup£¬¾ÍÊÇÅäÖÃSRS×ÊÔ´£» 0Ϊrelease£¬¾ÍÊÇÒªÊͷŵ±Ç°µÄSRS×ÊÔ´£¨ºóÃæµÄ²ÎÊý¾ÍÊÇÎÞЧֵÁË£©£¬
ÊÍ·Å×ÊÔ´ºó£¬PHY²»ÐèÒª·´À¡¸øÐ­ÒéÕ»ÊÍ·ÅÍê³ÉµÄÏûÏ¢
*/
WORD wCtrlFlag;
/*
ȡֵ·¶Î§£º0,1,2,3,4,5,6,7
µÈͬЭÒé²ÎÊý£ºCsrs
²ÎÊýÓÃ;£º¸ù¾Ý²ÎÊýCsrs£¬ BsrsºÍÉÏÐдø¿íN(UL,RB) ²é±í¿ÉÈ·¶¨SRSƵÓòÆðʼλÖúʹø¿íµÄ¼ÆËã²ÎÊýmsrsºÍNb ¡£
Ïêϸ²Î¼û36.211ЭÒéµÄ5.5.3.2½Ú¡£
*/
WORD wSrsBandWidthConfig;
/*
ȡֵ·¶Î§£º0~15
µÈͬЭÒé²ÎÊý£ºsrsSubframeConfiguration
²ÎÊýÓÃ;£º´Ë²ÎÊýΪcell specific subframe configuration¡¡Ë÷Òý£¬¸ù¾Ý´ËË÷Òý²é36.211ЭÒéµÄ±í5.5.3.3-2£¬
¿ÉµÃ²ÎÊýT_SFCºÍ ¦¤SFC£¬ ÓÃÓÚÈ·¶¨CELLÔÚÄÄЩ×ÓÖ¡½ÓÊÕUEµÄSRS¡£Ïêϸ²Î¼û36.211ЭÒéµÄ5.5.3.3½Ú¡£
*/
WORD wSrsSubFrameConfig;
/*
ȡֵ·¶Î§1£ºÔÊÐíÔÚͬһ×ÓÖ¡´«ÊäACK/NACKºÍSRS£¬0£º²»ÔÊÐí
µÈͬЭÒé²ÎÊý£ºSimultaneous-AN-and-SRS
²ÎÊýÓÃ;£ºÔÚÉÏÐз¢ËÍPUCCHÇé¿öÏ£¬ÓÃÓÚÈ·¶¨ACK/NACKºÍSRSÊÇ·ñ¿ÉÔÚͬһ×ÓÖ¡·¢ËÍ
*/
WORD wAckNackSrsSimulTrans;
/*
ȡֵ·¶Î§£º0,1
µÈͬЭÒé²ÎÊý£ºsrsMaxUpPts
²ÎÊýÓÃ;£º¶ÔÓÚUpPTS£¬µ±²ÎÊýΪ1ʱ£¬Ê¹ÄÜ µÄÖØÅ䣬µ±²ÎÊýΪ0ʱ£¬½ûÖ¹ ÖØÅä¡£
Ïêϸ²Î¼û36.211ЭÒéµÄ5.5.3.2¡£
*/
WORD wSrsMaxUpPts;
WORD wPadding;
} T_zPS_LTE_P_SrsUlConfigComm;
/*
SRSרÓÃÅäÖòÎÊýÐÅÏ¢£¬°üÀ¨UEÌØ¶¨µÄʱƵ²ÎÊý¼°ÓÃÓÚSRS·ûºÅÉú³ÉµÄ²ÎÊýµÈ¡£
*/
typedef struct
{
/*
ȡֵ·¶Î§£º0,1
µÈͬЭÒé²ÎÊý£º¿ØÖÆÓòÎÊý£¬Ð­ÒéÉÏûÓд˲ÎÊý¡£
²ÎÊýÓÃ;£º1Ϊsetup£¬¾ÍÊÇÅäÖÃSRS×ÊÔ´£» 0Ϊrelease£¬¾ÍÊÇÒªÊͷŵ±Ç°µÄSRS×ÊÔ´£¨ºóÃæµÄ²ÎÊý¾ÍÊÇÎÞЧֵÁË£©£¬
ÊÍ·Å×ÊÔ´ºó£¬PHY²»ÐèÒª·´À¡¸øÐ­ÒéÕ»ÊÍ·ÅÍê³ÉµÄÏûÏ¢
*/
WORD wCtrlFlag;
/*
ȡֵ·¶Î§£º0,1,2,3
µÈͬЭÒé²ÎÊý£º
²ÎÊýÓÃ;£º¸ù¾Ý²ÎÊýCsrs£¬B_SRS ºÍÉÏÐдø¿íN(UL,RB) ²é±í¿ÉÈ·¶¨SRSƵÓòÆðʼλÖúʹø¿íµÄ¼ÆËã²ÎÊým(SRS,b) ºÍNb ¡£
Ïêϸ²Î¼û36.211ЭÒéµÄ5.5.3.2½Ú¡£
*/
WORD wSrsBandWidthConfig;
/*
ȡֵ·¶Î§£º 0,1,2,3
µÈͬЭÒé²ÎÊý£ºsrs-HoppingBandwidth¡¡
²ÎÊýÓÃ;£ºB_SRS ºÍ b_hopÒ»ÆðÈ·¶¨SRSÊÇ·ñÐèÒªÌøÆµ¡£ÏêϸÃèÊö²Î¼û36.211ЭÒéµÄ5.5.3.2½Ú¡£
*/
WORD wSrsHoppingBandWidth;
/*
ȡֵ·¶Î§£º0~23
µÈͬЭÒé²ÎÊý£ºfreqDomainPosition
²ÎÊýÓÃ;£ºÓÃÓÚ¼ÆËãSRSµÄƵÓòÆðʼλÖã¬ÏêϸÃèÊö²Î¼û36.211ЭÒéµÄ5.5.3.2½Ú¡£
*/
WORD wFreqDomainPos;
/*
ȡֵ·¶Î§£º0 ,1
µÈͬЭÒé²ÎÊý£ºDuration
²ÎÊýÓÃ;£ºÐ­ÒéÕ»Óô˲ÎÊýÅäÖÃUEµÄSRSÊǵ¥´Î·¢ËÍ£¬»¹ÊÇÖÜÆÚ·¢ËÍ£¬0-µ¥´Î·¢ËÍ£»1-ÖÜÆÚ·¢ËÍ¡£
*/
WORD wDuration;
/*
ȡֵ·¶Î§£º0~1023
µÈͬЭÒé²ÎÊý£º Isrs
²ÎÊýÓÃ;£ºÀûÓô˲ÎÊý£¬²é36.213ЭÒéµÄ±í8.2-1£¬¿ÉµÃ²ÎÊýTsrsºÍToffset£¬
ÔÙÀûÓÃTsrsºÍToffset¿É¼ÆËã³öUEÐèÒª·¢ËÍSRSµÄ×ÓÖ¡ºÅ¡£
*/
WORD wSrsConfigIndex;
/*
ȡֵ·¶Î§£º0~1
µÈͬЭÒé²ÎÊý£ºtransmissionComb¡¡ Ktc
²ÎÊýÓÃ;£º´Ë²ÎÊýÓÃÓÚ¼ÆËãSRSƵÓòÆðʼλÖã¬ÏêϸÃèÊö²Î¼û36.211ЭÒéµÄ5.5.3.2½Ú¡£
*/
WORD wTransComb;
/*
ȡֵ·¶Î§£º0~7
µÈͬЭÒé²ÎÊý£º n(cs,SRS)
²ÎÊýÓÃ;£ºÓÃÓÚ¼ÆËãSRSµÄcyclic shift £¬ÏêϸÃèÊö¼û36.211ЭÒéµÄ5.5.3.1½Ú¡£
*/
WORD wCyclicShift;
WORD wSrsAntennaPort;
WORD wPadding1;
} T_zPS_LTE_P_SrsUlConfigDedi;
/*
ÉÏÐй¦ÂÊ¿ØÖÆÏà¹ØµÄ¹«¹²ÅäÖòÎÊý£¬º­¸ÇÁËËùÓÐÉÏÐÐÐŵÀ¼°SRS£¬Ö÷Òª°üÀ¨Ð¡ÇøÌض¨µÄ¿ª»·¹¦¿Ø³õÖµ£¬
PUCCHÖв»Í¬formatÏà¶Ôformat1aµÄdeltaÖµ¼°Â·Ëð²¹³¥ÏµÊýµÈ²ÎÊý¡£
*/
typedef struct
{
/* ȡֵ·¶Î§£ºÕæÊµÖµ·¶Î§[-126,24] dBm
PSÏ·¢µÄ²ÎÊýÖµÔÚÕæÊµÖµÉÏ+126£¬²ÎÊý·¶Î§£º[0£¬150]
*/
WORD wP0NominalPusch;
/*
ȡֵ·¶Î§£ºÕæÊµÖµÎª£º{0, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1}
PSÏ·¢µÄ²ÎÊýÖµ=ÕæÊµÖµ*10£¬ ²ÎÊý·¶Î§£º[0£¬4£¬5£¬6£¬7£¬8£¬9£¬10]
*/
WORD wAlpha;
/*
ÕæÊµÖµÎª[-127£¬-96], PSÏ·¢µÄ²ÎÊýÖµÎªÕæÊµÖµÈ¡·´
*/
WORD wP0NominalPucch;
/*
ȡֵ·¶Î§£º0£ºdeltaF-2; 1£ºdeltaF0; 2£ºdeltaF2; 0xFF£ºÎÞЧ
deltaF-2 ´ú±í -2db£¬ deltaF0 ´ú±í0db£¬ ÒÔ´ËÀàÍÆ
*/
WORD wDeltaFPucchFormat1;
/*
ȡֵ·¶Î§£º0£ºdeltaF1; 1£ºdeltaF3; 2£ºdeltaF5; 0xFF£ºÎÞЧ
*/
WORD wDeltaFPucchFormat1b;
/*
ȡֵ·¶Î§£º0£ºdeltaF-2; 1£ºdeltaF0; 2£ºdeltaF1; 3£ºdeltaF2
*/
WORD wDeltaFPucchFormat2;
/*
ȡֵ·¶Î§£º0£ºdeltaF-2; 1£ºdeltaF0; 2£ºdeltaF2; 0xFF£ºÎÞЧ
*/
WORD wDeltaFPucchFormat2a;
/*
ȡֵ·¶Î§£º0£ºdeltaF-2; 1£ºdeltaF0; 2£ºdeltaF2; 0xFF£ºÎÞЧ
*/
WORD wDeltaFPucchFormat2b;
/*
ȡֵ·¶Î§£º[-1~6] PSÏ·¢µÄ²ÎÊýÖµ=ÕæÊµÖµ+1£¬²ÎÊý·¶Î§£º[0~7]
*/
WORD wDeltaPreamMsg3;
WORD wDeltaFPucchFormat31bCSFg;
WORD wDeltaFPucchFormat3;
WORD wDeltaFPucchFormat1bCS;
} T_zPS_LTE_P_UlPowerCtrlComm;
/*
ÉÏÐй¦ÂÊ¿ØÖÆÏà¹ØµÄרÓÃÅäÖòÎÊý£¬º­¸ÇÁËËùÓÐÉÏÐÐÐŵÀ¼°SRS£¬Ö÷Òª°üÀ¨UEÌØ¶¨µÄ¿ª»·¹¦¿Ø³õÖµ£¬
ÊÇ·ñ½øÐÐMCSÏà¹ØµÄ¹¦Âʵ÷ÖÆ£¬ÊÇ·ñ²ÉÓÃÀÛ¼ÓµÄTPC commandµ÷ÕûµÈÐÅÏ¢¡£
*/
typedef struct
{
/*
ȡֵ·¶Î§£º[-126,24]
PSÏ·¢µÄ²ÎÊýÖµÔÚÕæÊµÖµÉÏ+126£¬²ÎÊý·¶Î§£º[0£¬150]
*/
WORD wP0UePusch;
/*
ȡֵ·¶Î§£º
0 corresponds to value 0 corresponding to state "disabled".
1 corresponds to value 1.25 corresponding to "enabled".
*/
WORD wDeltaMcsEnabled;
/*
ȡֵ·¶Î§£º1£ºEnable; 0:Disable
*/
WORD wAccumulationEnabled;
/*
ȡֵ·¶Î§£º[-8£¬7]
PSÏ·¢µÄ²ÎÊýÖµÔÚÕæÊµÖµÉÏ+8£¬²ÎÊý·¶Î§£º[0£¬15]
*/
WORD wP0UePucch;
/*
ȡֵ·¶Î§£º0~15
For Ks=1.25, the actual parameter value is pSRS-Offset value - 3.
For Ks=0, the actual parameter value is -10.5 + 1.5*pSRS-Offset value. See TS 36.213 [23, 5.1.3.1].
*/
WORD wPsrsOffset;
/*
ȡֵ·¶Î§£ºfc0, fc1, fc2, fc3, fc4, fc5, fc6, fc7, fc8, fc9, fc11, fc13, fc15, fc17, fc19¡£È¡Öµ0xFFʱΪÎÞЧֵ
See TS 36.331 [5.5.3.2] fc0 ´ú±í k =0£¬fc1 ´ú±í k =1
µÈͬЭÒé²ÎÊý£ºÎÞ
²ÎÊýÓÃ;£ºÓÃ×÷RSRP²âÁ¿Ê±µÄÂ˲¨Æ÷ϵÊý£¬ÓÃ×÷¼ÆËãPL
*/
WORD wFilterCoefficient;
WORD wDeltaTxDOffsetListPucchCtrlFlag;
WORD wDeltaTxDOffsetListPucchFormat1;
WORD wDeltaTxDOffsetListPucchFormat1a1b;
WORD wDeltaTxDOffsetListPucchFormat22a2b;
WORD wDeltaTxDOffsetListPucchFormat3;
WORD wPsrsOffsetApCtrlFlag;
WORD wPsrsOffsetAp;
WORD wPadding1;
} T_zPS_LTE_P_UlPowerCtrlDedi;
/*
ÏÂÐÐSPSÅäÖÃÐÅÏ¢£¬¸ù¾Ý´ËÅäÖýøÐÐÏÂÐÐSPSµ÷¶È¡£
²Î¼û36.321.850µÄ5.10.1½Ú¡¢36.331.850µÄ6.3.2½ÚµÄSPS-Config¡£
*/
typedef struct
{
/*
ȡֵ·¶Î§£º0£¬1
µÈͬЭÒé²ÎÊý£ºÎÞ
²ÎÊýÓÃ;£ºSPS½¨Á¢»òÕßÊͷŵÄÃüÁîָʾ
*/
WORD wCtrlFlag;
/*
ȡֵ·¶Î§£º[1£¬8]
µÈͬЭÒé²ÎÊý£ºnumberOfConfSPS-Processes
²ÎÊýÓÃ;£ºSPS½ø³ÌÊýÁ¿
*/
WORD wSpsProcessNum;
/*
ȡֵ·¶Î§£ºsf10, sf20, sf32, sf40, sf64, sf80, sf128, sf160, sf320, sf640£¬È¡ÖµÎª0xFFFFʱΪÎÞЧ
µÈͬЭÒé²ÎÊý£ºsemiPersistSchedIntervalDL
²ÎÊýÓÃ;£ºÏÂÐÐSPSµ÷¶È¼ä¸ô
*/
WORD wSpsIntervalDl;
/*
ȡֵ·¶Î§£º[1£¬4]
µÈͬЭÒé²ÎÊý£ºn1-PUCCH-AN-PersistentList
²ÎÊýÓÃ;£ºÏÂÐÐSPSµÄHARQ·´À¡×ÊÔ´ÁбíÖеÄ×ÊÔ´ÊýÁ¿£¬Óɸ߲ãÅäÖ㬹²ÓÐ4¸ö·´À¡×ÊÔ´¡£
¾ßÌåʹÓÃÄĸöÓÉSPS DCIÖеÄTPCÓòָʾ¡£²Î¼û36.213.860µÄ9.2½Ú¡£
*/
WORD wN1PAPNum;
/*
ȡֵ·¶Î§£º[0~2047]
µÈͬЭÒé²ÎÊý£ºn1-PUCCH-AN-PersistentList
²ÎÊýÓÃ;£ºÏÂÐÐSPSµÄHARQ·´À¡×ÊÔ´ÁÐ±í£¬Óɸ߲ãÅäÖᣲμû36.213.860µÄ9.2½Ú¡£
*/
WORD awN1PucchAnPersistentList[ZPS_LTE_P_MAX_N1PAN_NUM];
WORD wTwoAntennaPortActivatedCtrlFlag;
WORD wN1PAPNumP1;
WORD awN1PucchAnPersistentP1List[ZPS_LTE_P_MAX_N1PAN_NUM];
} T_zPS_LTE_P_SpsConfigDl;
/*
ÉÏÐÐSPSÅäÖÃÐÅÏ¢£¬¸ù¾Ý´ËÅäÖýøÐÐÉÏÐÐSPSµ÷¶È¡£
²Î¼û36.321.850µÄ5.10.2½Ú¡¢36.331.850µÄ6.3.2½ÚµÄSPS-Config¡£
*/
typedef struct
{
/*
wCtrlFlag: 1Ϊsetup, 0Ϊrelease
ȡֵ·¶Î§£º0£¬1
µÈͬЭÒé²ÎÊý£ºÎÞ
²ÎÊýÓÃ;£ºSPS½¨Á¢»òÕßÊͷŵÄÃüÁîָʾ
*/
WORD wCtrlFlag;
/*
ȡֵ·¶Î§£º2£¬3£¬4£¬8
µÈͬЭÒé²ÎÊý£ºsemiPersistSchedIntervalUL
²ÎÊýÓÃ;£ºUEÔÚÖ¸¶¨´ÎÊýµÄ¿Õ´«Êý¾ÝºóÒþʽÊÍ·ÅSPSÅäÖÃ
*/
WORD wImplicitReleaseAfter;
/*
ȡֵ·¶Î§£ºsf10, sf20, sf32, sf40, sf64, sf80, sf128, sf160, sf320, sf640£¬È¡ÖµÎª0xFFFFʱΪÎÞЧ
µÈͬЭÒé²ÎÊý£ºsemiPersistSchedIntervalUL
²ÎÊýÓÃ;£ºÉÏÐÐSPSµ÷¶È¼ä¸ô
*/
WORD wSpsIntervalUl;
/*
ȡֵ·¶Î§£ºÕæÊµÖµ·¶Î§£º[-126£¬24]£¬×¢£ºPSÏ·¢µÄ²ÎÊýÖµÎªÕæÊµÖµ+126¡£²ÎÊýȡֵ·¶Î§[0£¬150]
µÈͬЭÒé²ÎÊý£ºp0-NominalPUSCH-Persistent£¨36.331£©£¬P0,NOMINAL_PUSCH (0)£¨36.213£©
²ÎÊýÓÃ;£ºÓÃÓÚ¼ÆËãPUSCH·¢Ë͹¦ÂÊ£¬²Î¼û36.213µÄ5.1.1.1½Ú¡£
*/
WORD wP0NominalPuschPersistent;
/*
ȡֵ·¶Î§£ºÕæÊµÖµ·¶Î§£º[-8£¬7]dB£¬×¢£ºPSÏ·¢µÄ²ÎÊýÖµÎªÕæÊµÖµ+8¡£²ÎÊýȡֵ·¶Î§[0£¬15]
µÈͬЭÒé²ÎÊý£ºp0-UE-PUSCH-Persistent£¨36¡£331£©£¬P0,UE; PUSCH (0) £¨36.213£©
²ÎÊýÓÃ;£ºÓÃÓÚ¼ÆËãPUSCH·¢Ë͹¦ÂÊ£¬²Î¼û36.213µÄ5.1.1.1½Ú¡£
*/
WORD wP0UePuschPersistent;
/*
ȡֵ·¶Î§£º0£¬1
µÈͬЭÒé²ÎÊý£ºtwoIntervalsConfig
²ÎÊýÓÃ;£ºÁ½ÖÖÉÏÐÐSPSµ÷¶È¼ä¸ô£¬ÒÔ±ÜÃâÉÏÐÐSPSÐÂÊý¾Ý·¢ËͺÍͬ²½HARQÖØ´«µÄ³åÍ»¡£
*/
WORD wTwoIntervalsConfig;
} T_zPS_LTE_P_SpsConfigUl;
/*
DRXÅäÖÃÐÅÏ¢£¬¸ù¾Ý´ËÅäÖýøÐÐÁ¬½Ó̬DRXµ÷¶È´¦Àí£¬¼´Åж¨Active timeºÍNon-active timeµÄ½øÈëʱ»ú¡£
²Î¼û36.321.850µÄ5.7½Ú¡¢36.331.850µÄ6.3.2½ÚµÄDRX-Config¡£
*/
typedef struct
{
/*
ȡֵ·¶Î§£º0£¬1
µÈͬЭÒé²ÎÊý£ºÎÞ
²ÎÊýÓÃ;£ºÆô¶¯»òÍ£Ö¹Á¬½Ó̬DRXµ÷¶È´¦Àí
*/
WORD wCtrlFlag;
/*
´¦ÓÚOn durationµÄʱ³¤£¬ÓÉPDCCH×ÓÖ¡µÄ¸öÊýÀ´ºâÁ¿¡£
ȡֵ·¶Î§£ºpsf1, psf2, psf3, psf4, psf5, psf6,psf8, psf10, psf20, psf30, psf40,psf50,
psf60, psf80, psf100, psf200
µÈͬЭÒé²ÎÊý£ºonDurationTimer
²ÎÊýÓÃ;£º´¦ÓÚOn durationµÄʱ³¤£¬ÔÚ´ËÆÚ¼äPHYÐèÒª¼à²âPDCCH¡£Ò²±íʾÿ´ÎDRX»½ÐѺóµÄ×îСactiveʱ¼ä¡£
*/
WORD wOnDurationTimer;
/*
psf0, psf1, psf2, psf3, psf4, psf5, psf6, psf8, psf10, psf20, psf30, psf40, psf50, psf60,
psf80, psf100, psf200, psf300, psf500, psf750, psf1280, psf1920, psf2560¡£ÓÉPDCCH×ÓÖ¡µÄ¸öÊýÀ´ºâÁ¿¡£
µÈͬЭÒé²ÎÊý£ºdrx-InactivityTimer
²ÎÊýÓÃ;£º¶¨ÒåÁËÊÕµ½Ò»´ÎPDCCHµ÷¶ÈÉÏ¡¢ÏÂÐÐд«Êäºó£¬ÐèÒª¼ÌÐø¼à²âPDCCHµÄʱ¼ä¡£
*/
WORD wDrxInactivityTimer;
/*
ȡֵ·¶Î§£ºpsf1, psf2, psf4, psf6, psf8, psf16, psf24, psf33¡£ÓÉPDCCH×ÓÖ¡µÄ¸öÊýÀ´ºâÁ¿¡£
µÈͬЭÒé²ÎÊý£ºdrx-RetransmissionTimer
²ÎÊýÓÃ;£º¶¨ÒåÁËÕë¶ÔÏÂÐÐHARQÖØ´«£¬ÐèÒª¼à²âPDCCH£¨ÏÂÐÐÖØ´«µ÷¶È£©µÄʱ¼ä¡£
*/
WORD wDrxRetransTimer;
/*
ȡֵ·¶Î§£º1~16¡£ÎªwShortDrxCycleµÄ±¶Êý¡£
µÈͬЭÒé²ÎÊý£ºdrxShortCycleTimer
²ÎÊýÓÃ;£º¶¨ÒåÁ˶ÌDRXÖÜÆÚ¶¨Ê±Æ÷£¬ÔÚwDrxInactivityTimer³¬Ê±ºÍÊÕµ½DRXÃüÁDRX Command MAC control element£©Ê±£¬Æô¶¯´Ë¶¨Ê±Æ÷¡£
wDrxShortCycleTimer¶¨Ê±Æ÷³¬Ê±£¬½øÈ볤DRXÖÜÆÚ´¦Àí¡£
*/
WORD wDrxShortCycleTimer;
/*
ȡֵ·¶Î§£º£¨µ¥Î»Îª×ÓÖ¡Êý£©£º10¡¢20¡¢32¡¢40¡¢64¡¢80¡¢128¡¢160¡¢256¡¢320¡¢512¡¢640¡¢1024¡¢1280¡¢2048¡¢2560
µÈͬЭÒé²ÎÊý£ºlongDRX-CycleStartOffset
²ÎÊýÓÃ;£º¶¨ÒåÁ˳¤DRXÖÜÆÚÖµ£¬ÔÚÓ¦Óó¤DRXÖÜÆÚʱ£¬¸ù¾Ý³¤DRXÖÜÆÚºÍÆ«ÒÆÀ´È·¶¨Æô¶¯bOnDurationTimer¶¨Ê±Æ÷µÄʱ»ú¡£
*/
WORD wLongDrxCycle;
/*
ȡֵ·¶Î§£º0~2559 ×ÓÖ¡
µÈͬЭÒé²ÎÊý£ºlongDRX-CycleStartOffset
²ÎÊýÓÃ;£º¶¨ÒåÁ˳¤DRXÖÜÆÚºÍ¶ÌDRXÖÜÆÚµÄactive time½øÈëµÄʱ¼äÆ«ÒÆÖµ£¬¸ù¾ÝÖÜÆÚºÍÆ«ÒÆÀ´È·¶¨Æô¶¯bOnDurationTimer¶¨Ê±Æ÷µÄʱ»ú¡£
Õâ¸ö²ÎÊý²¢·ÇÖ»ÓÐ long drx»áÓõ½£¬short drxÒ²»áÓõ½
*/
WORD wLongDrxCycleStartOffset;
/*
ȡֵ·¶Î§£ºsf2, sf5, sf8, sf10, sf16, sf20, sf32, sf40, sf64, sf80, sf128, sf160, sf256, sf320, sf512, sf640 ×ÓÖ¡¡£
ûÓÐÅäÖöÌDRXÖÜÆÚʱ£¬È¡ÖµÎª0xFFFF¡£
µÈͬЭÒé²ÎÊý£ºshortDRX-Cycle
²ÎÊýÓÃ;£º¶¨ÒåÁ˶ÌDRXÖÜÆÚÖµ£¬ÔÚÆô¶¯Á˶ÌDRXÖÜÆÚ¶¨Ê±Æ÷bDrxShortCycleTimerÆÚ¼ä£¬
¸ù¾Ý¶ÌDRXÖÜÆÚºÍÆ«ÒÆ£¨Í¬³¤DRXÆ«ÒÆ£©À´È·¶¨Æô¶¯bOnDurationTimer¶¨Ê±Æ÷µÄʱ»ú¡£
*/
WORD wShortDrxCycle;
} T_zPS_LTE_P_DrxConfig;
/*
PDCCH¹¦¿ØÅäÖÃÐÅÏ¢,PHYÊÕµ½PSÅäÖõÄPDCCHÐŵÀÉϵÄTPC¿ØÖÆÐÅÏ¢ºó£¬
¶ÔºóÐøµÄPUCCH»òPUSCHµÄ´«Ê书ÂʽøÐÐÏàÓ¦Ôö¼Ó»ò¼õСµÄµ÷Õû¡£
*/
typedef struct
{
/*
ȡֵ·¶Î§£º1Ϊsetup, 0Ϊrelease
µÈͬЭÒé²ÎÊý£ºÎÞ
²ÎÊýÓÃ;£ºÖ¸Ê¾Æô¶¯»òÊÍ·Å»ùÓÚTPCµÄ¹¦¿Ø
*/
WORD wCtrlFlag;
/*
ȡֵ·¶Î§£º1ΪDCI format3, 0ΪDCI format3A
µÈͬЭÒé²ÎÊý£ºÎÞ
²ÎÊýÓÃ;£ºÖ¸Ê¾ÎïÀí²ã£¬Ê¹ÓÃformat3£¬»¹ÊÇformate3a
*/
WORD wFormat3Or3A;
/*
ȡֵ·¶Î§£º00001 - FFF3
µÈͬЭÒé²ÎÊý£ºÎÞ
²ÎÊýÓÃ;£ºRNTI for power control using DCI format 3/3A, see TS 36.212 [22].
*/
WORD wTpcRnti;
/*
ȡֵ·¶Î§£º
DCI format 3: 1~15
DCI format 3A: 1~31
µÈͬЭÒé²ÎÊý£ºÎÞ
²ÎÊýÓÃ;£ºÖ¸Ê¾ÔÚformat3 »ò 3aÖУ¬Ê¹ÓõÄbitλÖã¬×÷ΪTPCÃüÁ
*/
WORD wTpcIndex;
} T_zPS_LTE_P_TpcPdcchConfig;
/*
ÌìÏßרÓÃÅäÖÃÐÅÏ¢
*/
typedef struct
{
/*
ȡֵ·¶Î§£º1~7 ·Ö±ð¶ÔÓ¦7ÖÖģʽ£¬È¡Öµ0xFFʱÎÞЧ
µÈͬЭÒé²ÎÊý£ºÎÞ
²ÎÊýÓÃ;£ºÖ¸Ê¾ÏÂÐд«Êäģʽ
*/
WORD wTransMode;
WORD wCBRestricBitLen;
WORD wUlTransModeR10 ;
WORD wUlFourAntennaPortActivateR10 ;
/*
awCBRestricBit: CodebookSubsetRestricµÄbit£¬×î´ó109bit
ȡֵ·¶Î§£º
µÈͬЭÒé²ÎÊý£ºÎÞ
²ÎÊýÓÃ;£ºÓÃÀ´ÏÞÖÆÔÚ½øÐÐPMI,RI¼ÆËãʱ£¬ÐèÒª³¢ÊÔµÄcodebook
*/
WORD awCBRestricBit[8];
/*
ȡֵ·¶Î§£º1Ϊsetup, 0Ϊrelease ×¢£ºsetupʱ£¬bUeTransAntSelect²ÎÊýÓÐЧ
µÈͬЭÒé²ÎÊý£ºÎÞ
²ÎÊýÓÃ;£ºÖ¸Ê¾ÊÇ·ñ½øÐÐUE·¢ÉäÌìÏßÑ¡Ôñ
*/
WORD wUeTransAntCtrlFlag;
/*
ȡֵ·¶Î§£º0ΪCLOSELOOP£¬1ΪOPENLOOP
µÈͬЭÒé²ÎÊý£ºÎÞ
²ÎÊýÓÃ;£ºÈç¹û½øÐÐUE·¢ÉäÌìÏßÑ¡Ôñ£¬ ָʾʹÓÿª»·£¬»¹ÊDZջ·µÄ·½Ê½
*/
WORD wUeTransAntSelect;
} T_zPS_LTE_P_AntenInfoDedi;
/*
UE SRµ÷¶ÈÇëÇóµÄÅäÖòÎÊýÐÅÏ¢
*/
typedef struct
{
/*
ȡֵ·¶Î§£º 0£¬1
µÈͬЭÒé²ÎÊý£ºÎÞ
²ÎÊýÓÃ;£º1Ϊsetup, 0Ϊrelease£¬Æô¶¯ºÍ¹Ø±ÕSR¹ý³Ì
*/
WORD wCtrlFlag;
/*
ȡֵ·¶Î§£º0~155
µÈͬЭÒé²ÎÊý£ºIsr . See TS 36.213 [23,10.1].
²ÎÊýÓÃ;£ºÓÃÓÚ²é±í¼ÆËãSRµÄ·¢ËÍÖÜÆÚ£ûms£ýºÍÖÜÆÚÄÚµÄsubframe offset¡£
¼ÆËã·½·¨²Î¼û£ºTS 36.213 [23,10.1].
*/
WORD wSrConfigIndex;
/*
ȡֵ·¶Î§£º 0~2047
µÈͬЭÒé²ÎÊý£º ¡² TS 36.213 [23, 10.1]¡³
²ÎÊýÓÃ;£ºÓÃÓÚ¼ÆËã³ÐÔØSRµÄPUCCHµÄʱƵ×ÊԴλÖã¬×¢£ºÖ»ÓÐ postive SRÓÃÕâ¸ö²ÎÊý¼ÆËã×ÊԴλÖã¬
negtive SR Ö±½Ó²ÉÓà £û±¾ÎĵµµÄ½Ó¿ÚÃüÃûΪwN1PucchAn:£ý
*/
WORD wSrPucchResourceIndex;
/*
ȡֵ·¶Î§£º4, 8, 16, 32, 64£¬0xFFΪÎÞЧֵ
µÈͬЭÒé²ÎÊý£ºdsr-TransMax in TS 36.321 [6, 5.4.4].
²ÎÊýÓÃ;£º±íÕ÷SRµÄ×î´óÖØ´«´ÎÊý£¬Èç¹ûSRµÄ·¢ËÍ´ÎÊý´ïµ½Õâ¸öÊýÖµ£¬ÔòÐèÒª×Ô¶¯Í£Ö¹SRµÄ·¢ËÍ¡£
*/
WORD wDsrTransMax;
WORD wSrPucchResourceIndexP1Flag;
WORD wSrPucchResourceIndexP1;
} T_zPS_LTE_P_SrConfig;
typedef struct
{
WORD wRadioFrameAllocPeriod;
WORD wRadioFrameAllocOffst;
WORD wSubframeAllocType;
WORD wPadding0;
WORD awFrameBitStr[2];
} T_zPS_LTE_P_MbsfnSubframeConfig;
typedef struct
{
WORD wMbsfnSubframeConfigNum;
WORD wPadding;
T_zPS_LTE_P_MbsfnSubframeConfig tMbsfnSubframeConfig[ZPS_LTE_P_MAX_MBSFN_SUBFRAME_CFG_NUM];
}T_zPS_LTE_P_MbsfnSubframeConfigList;
typedef struct
{
WORD wMeasSubframePatternType;
WORD wPadding;
T_zPS_LTE_P_MeasSubframePattern tMeasSubframePatternPcell;
} T_zPS_LTE_P_MeasSubframePatternPcell;
typedef struct
{
WORD wCsiRsFlag;
WORD wAntennaPortsCount;
WORD wResourceConfig;
WORD wSubframeConfig;
WORD wPc;
WORD wZeroTxPowerCsiRsFlag;
WORD wZeroTxPowerResourceConfigList;
WORD wZeroTxPowerSubframeConfig;
} T_zPS_LTE_P_CsiRsConfig;
typedef struct
{
WORD wSrsAntennaPortAp;
WORD wSrsBandWidthConfigAp;
WORD wFreqDomainPosAp;
WORD wTransCombAp;
WORD wCyclicShiftAp;
WORD wPadding;
} T_zPS_LTE_P_SrsConfigAp;
typedef struct
{
WORD wCtrlFlag;
WORD wSrsConfigIndexAp;
WORD wSrsConfigApDciFormat4Num;
WORD wPadding0;
T_zPS_LTE_P_SrsConfigAp tSrsConfigAp[ZPS_LTE_P_MAX_SRS_CFG_NUM];
WORD wSrsActivateApCtrlFlag;
WORD awPadding1;
T_zPS_LTE_P_SrsConfigAp tSrsConfigApDciFormat0;
T_zPS_LTE_P_SrsConfigAp tSrsConfigApDciFormat1a2b2c;
} T_zPS_LTE_P_SrsUlConfigDediAp;
typedef struct
{
WORD wP0NominalPusch;
WORD wAlpha;
} T_zPS_LTE_P_UplinkPwrCntlCommonSCell;
typedef struct
{
WORD wCrossSchedulingCellInfoInd;
WORD wCifPresence;
WORD wOtherCellSchedulingCellIdId;
WORD wOtherCellSchedulingPdschStart;
} T_zPS_LTE_P_CrossSchedulingConfig;
typedef struct
{
WORD wP0UePusch;
WORD wDeltaMcsEnabled;
WORD wAccumulationEnabled;
WORD wPsrsOffset;
WORD wPsrsOffsetAp;
WORD wFilterCoefficient;
WORD wPathlossReferenceLinking;
WORD wPadding;
} T_zPS_LTE_P_UlPowerCtrlDediSCell;
typedef struct
{
WORD wCqiPucchResourceIndex;
WORD wCqiPucchResourceIndexP1;
WORD wCqiPmiConfigIndex;
WORD wCqiFormatIndrPeriodicType;
WORD wWideBandCsiRptMode;
WORD wSubbandCqiK;
WORD wSubbandCqiPeriodicityFactor;
WORD wRiConfigIndex;
WORD wSimulAckNackAndCQI;
WORD wCqiMask;
WORD wCsiConfigIndexFlag;
WORD wCqiPmiConfigIndex2;
WORD wRiConfigIndex2;
WORD wPadding;
} T_zPS_LTE_P_CqiReportPeriodicConfig;
typedef struct
{
WORD wCqiReportModeAperiodic;
WORD wNomPdschRsEpreOffset;
WORD wPmiRiRpt;
WORD wCqiReportPeriodicFlag;
T_zPS_LTE_P_CqiReportPeriodicConfig tCqiReportPeriodic;
} T_zPS_LTE_P_CqiReportConfigSCell;
typedef struct
{
WORD wDlBandWidth;
WORD wAntennaPortsCount ;
T_zPS_LTE_P_MbsfnSubframeConfigList tMbsfnSubframeConfigList;
WORD wPhichDuration;
WORD wPhichResource;
WORD wDlReferSignalPower;
WORD wPb;
WORD wTddConfigCtrlFlag;
WORD wSubFrameAssign;
WORD wSpecialSubFramePatterns;
WORD wUlConfigCtrlFlag;
DWORD dwUlEarfcn;
WORD wUlBandWidth;
WORD wAdditionalSpectrumEmission;
WORD wPeMax;
WORD wPadding1;
T_zPS_LTE_P_UplinkPwrCntlCommonSCell tUplinkPwrCntlCommonSCell;
T_zPS_LTE_P_SrsUlConfigComm tSrsUlConfigComm;
WORD wUlCpLen;
WORD wPrachConfigIndex;
T_zPS_LTE_P_PuschConfigComm tPuschConfigComm;
} T_zPS_LTE_P_SCellConfigComm;
typedef struct
{
WORD wAntenInfoDediFlag;
WORD wCrossSchedulingConfigFlag;
WORD wCsiRsConfigFlag;
WORD wUlPowerCtrlDediSCellFlag;
WORD wCqiReportConfigSCellFlag;
WORD wPadding0;
T_zPS_LTE_P_AntenInfoDedi tAntenInfoDedi;
T_zPS_LTE_P_CrossSchedulingConfig tCrossSchedulingConfig;
T_zPS_LTE_P_CsiRsConfig tCsiRsConfig;
WORD wPa;
WORD wGroupHoppingDisabledFlag;
WORD wDmrsWithOccActivatedFlag;
WORD wPadding1;
T_zPS_LTE_P_UlPowerCtrlDediSCell tUlPowerCtrlDediSCell;
T_zPS_LTE_P_CqiReportConfigSCell tCqiReportConfigSCell;
T_zPS_LTE_P_SrsUlConfigDedi tSrsUlConfigDedi ;
T_zPS_LTE_P_SrsUlConfigDediAp tSrsUlConfigDediAp;
} T_zPS_LTE_P_SCellConfigDedi;
typedef struct
{
WORD wSCellIndex;
WORD wSCellIdFlag;
WORD wSCellPci;
WORD wPadding;
DWORD dwDlEarfcn;
WORD wSCellCommonCfgFlag;
WORD wSCellDedicateCfgFlag;
T_zPS_LTE_P_SCellConfigComm tSCellCommonCfg;
T_zPS_LTE_P_SCellConfigDedi tSCellDedicateCfg;
} T_zPS_LTE_P_SCellAddModConfig;
typedef struct
{
WORD wSCellToReleaseNum;
WORD wSCellToAddModNum;
WORD wSCellToReleaseList[ZPS_LTE_P_MAX_SCELL_NUM];
T_zPS_LTE_P_SCellAddModConfig tSCellToAddModList[ZPS_LTE_P_MAX_SCELL_NUM];
} T_zPS_LTE_P_SCellConfig;
typedef struct
{
WORD wCqiReportAPeriodicFlag;
WORD wCqiReportModeAperiodic;
WORD wAPeriodicCsiTriggerFlag;
WORD wAPeriodicCsiTrigger;
WORD wNomPdschRsEpreOffset;
WORD wCqiReportPeriodicFlag;
T_zPS_LTE_P_CqiReportPeriodicConfig tCqiReportPeriodic;
WORD wPmiRiRpt;
WORD wCsiSubframePatternConfigFlag;
T_zPS_LTE_P_MeasSubframePattern atCsiMeasSubframeSet[ZPS_LTE_P_MAX_CSI_MEAS_SF_PATTERN_NUM];
WORD wSimultaneousAckNackAndCqiFormat3Flg;
WORD wPadding;
} T_zPS_LTE_P_CqiReportConfig;
typedef struct{
DWORD dwM_TMSI;
WORD wMmec;
WORD wPadding;
}T_zPS_LTE_P_S_TMSI;
typedef struct{
WORD wNum;
WORD awList[21];
}T_zPS_LTE_P_IMSI;
typedef struct
{
WORD wImsiExistFlg;/*ָʾIMSIÊÇ·ñ´æÔÚ£¬È¡Öµ1:IMSI´æÔÚ£»0:IMSI²»´æÔÚ*/
WORD wSTmsiExistFlg;/*ָʾS-TMSIÊÇ·ñ´æÔÚ£¬È¡Öµ1:S-TMSI´æÔÚ£»0:S-TMSI²»´æÔÚ*/
T_zPS_LTE_P_IMSI tImsi;
T_zPS_LTE_P_S_TMSI tSTmsi;
} T_zPS_LTE_P_UeId;
/**************************************************************************
* RRCÅäÖÃEPHY IDLE̬ÎÞÏß×ÊÔ´²ÎÊý£¬Ö÷Òª°üº¬Í¨ÓÃÅäÖÃÐÅÏ¢ *
**************************************************************************/
typedef struct
{
WORD wMsgId;
/*
ȡֵ·¶Î§£º1~32
µÈͬЭÒé²ÎÊý£ºAdditionalSpectrumEmission
²ÎÊýÓÃ;£ºrelated to IE AdditionalSpectrumEmission are defined in TS 36.101 [42, table 6.2.4-1]¡£
ΪÁ˼õÉÙLTE UEÉÏÐÐ¶ÔÆäËûϵͳµÄ¹¦ÂʸÉÈÅ£¬UE¿ÉÒÔÔÚ×î´ó·¢Ë͹¦ÂʵĻù´¡ÉÏ£¬°Ñ×î´ó·¢Ë͹¦ÂʼõСndb£¬
n¸ù¾ÝAdditionalSpectrumEmission²é±íµÃµ½¡£
*/
WORD wAdditionalSpectrumEmission;
/*
ȡֵ·¶Î§£º[-30..33) , PSÏ·¢µÄ²ÎÊýÖµÔÚÕæÊµÖµÉÏ+30£¬²ÎÊýȡֵ·¶Î§£º0~63
µÈͬЭÒé²ÎÊý£ºPEMAX
²ÎÊýÓÃ;£ºÐ­ÒéÕ»ÅäÖõÄUE×î´ó·¢É书ÂÊ
*/
WORD wPeMax;
/*
ȡֵ·¶Î§£º0~6
µÈͬЭÒé²ÎÊý£ºÎÞ
²ÎÊýÓÃ;£ºTDDµÄUL/DL×ÓÖ¡ÅäÖÃÀàÐÍ
*/
WORD wSubFrameAssign;
/*
ȡֵ·¶Î§£º0~8
µÈͬЭÒé²ÎÊý£ºÎÞ
²ÎÊýÓÃ;£ºTDDµÄÌØÊâ×ÓÖ¡µÄpattern
*/
WORD wSpecialSubFramePatterns;
/*
ȡֵ·¶Î§£º0ΪLEN1£¨normal cyclic prefix£©£¬1ΪLEN2£¨extended cyclic prefix£©
µÈͬЭÒé²ÎÊý£ºÎÞ
²ÎÊýÓÃ;£ºÉÏÐÐÑ­»·Ç°×º³¤¶È
*/
WORD wUlCpLen;
/*
ȡֵ·¶Î§£º32£¬64£¬128£¬256£¨ms£©
µÈͬЭÒé²ÎÊý£ºÎÞ
²ÎÊýÓÃ;£ºÄ¬ÈϵÄѰºôÖÜÆÚ
*/
WORD wDefaultPageCycle;
/*
ȡֵ·¶Î§£º0~1023
µÈͬЭÒé²ÎÊý£ºÎÞ
²ÎÊýÓÃ;£ºUE_ID£¬Ñ°ºô¼ÆËãµÈÐèҪʹÓã¬ÓÃÓÚÇø·Ö²»Í¬UE
*/
WORD wUeId;
/*
ȡֵ·¶Î§£ºÕæÊµÖµÎª{fourT, twoT, oneT, halfT, quarterT, oneEightT,onSixteenthT, oneThirtySecondT},
T´ú±íѰºôÖÜÆÚ£¬PSÏ·¢µÄ²ÎÊýÖµ·¶Î§Îª0~7£¬·Ö±ð¶ÔÓ¦ÒÔÉÏ8ÖÖȡֵ¡£
µÈͬЭÒé²ÎÊý£ºÎÞ
²ÎÊýÓÃ;£ºÓÃÓÚ¼ÆËãѰºôʱ»úµÄ²ÎÊý
*/
WORD wNb;
/*
ȡֵ·¶Î§£º[-60£¬50]dbm , PSÏ·¢µÄ²ÎÊýÖµÔÚÕæÊµÖµÉÏ+60£¬²ÎÊýȡֵ·¶Î§£º0~110
µÈͬЭÒé²ÎÊý£ºÎÞ
²ÎÊýÓÃ;£ºÏÂÐвο¼ÐźŹ¦ÂÊ
*/
WORD wDlReferSignalPower ;
/*
ȡֵ·¶Î§£º0~3
µÈͬЭÒé²ÎÊý£ºPb
²ÎÊýÓÃ;£ºPDSCHÐ¡ÇøÏà¹Ø²ÎÊý£¬ÓÃÓÚÏÂÐй¦ÂʼÆË㣬TS 36.213 [23, Table 5.2-1]
*/
WORD wPb;
/*
ȡֵ·¶Î§£º1, 2, 3, 4, 6, 8, 10, 20
µÈͬЭÒé²ÎÊý£ºÎÞ
²ÎÊýÓÃ;£ºEPHY¼ì²âµ½N310´Îʧ²½ºó£¬Éϱ¨ZPS_LTE_P_OUT_OF_SYNC_IND_EvÏûÏ¢¸øEURRC
*/
WORD wN310;
/*
ȡֵ·¶Î§£º1, 2, 3, 4, 5, 6, 8, 10
µÈͬЭÒé²ÎÊý£ºÎÞ
²ÎÊýÓÃ;£ºEPHY¼ì²âµ½N311´Îͬ²½ºó£¬Éϱ¨ZPS_LTE_P_RECOVERY_SYNC_IND_EvÏûÏ¢¸øEURRC
*/
WORD wN311;
/*
ȡֵ·¶Î§£º1£¬Ö¸Ê¾EPHYפÁô£»0£¬Ö¸Ê¾EPHY²»½øÐÐפÁô
µÈͬЭÒé²ÎÊý£ºÎÞ
²ÎÊýÓÃ;£º×¤Áôָʾ£¬Ö¸Ê¾UEÊÇ·ñפÁôµ½¸ÃÏûÏ¢Ö¸¶¨µÄÐ¡Çø¡£
1 ±íʾÒÔ±¾ÏûÏ¢ÖеÄcell Ϊ·þÎñÐ¡Çø£¬±¾ÏûÏ¢»á´¥·¢PHYµÄפÁôÐ¡ÇøºÍ×´Ì¬Ç¨ÒÆ£»
0£¬ÔòÈÏΪ¸ÃÏûÏ¢Ö»ÊÇÓÃÓÚ²ÎÊýµÄ¸üУ¬·þÎñÐ¡Çø²»ÐèÒª¸Ä±ä¡£
*/
WORD wCampInd;
#ifdef BTRUNK_SUPPORT
WORD wSupportBtrunking;
WORD wTpchCycle;
WORD wFrameNum;
WORD wSubFrameNum;
#endif
T_zPS_LTE_P_PhyCellInfo tPhyCellInfo;
T_zPS_LTE_P_PhyRaConfig tPhyRaConfig;
T_zPS_LTE_P_PuschConfigComm tPuschConfigComm;
T_zPS_LTE_P_PucchConfigComm tPucchConfigComm ;
T_zPS_LTE_P_SrsUlConfigComm tSrsUlConfigComm;
T_zPS_LTE_P_UlPowerCtrlComm tUlPowerCtrlComm;
T_zPS_LTE_P_MbsfnSubframeConfigList tMbsfnSubframeConfigList;
T_zPS_LTE_P_UeId tUeId;
DWORD dwCellId; //sib1ÖÐÐ¡Çøid
DWORD dwPLMN; /* µ±Ç°Ð¡ÇøµÄÖ÷PLMN,PS°´ÕÕMCC1 MCC2 MCC3 MNC1 MNC2 MNC3 Æ´½Ó³É¾ßÌåµÄ5λ»ò6λ(MNC3¿ÉÄÜûÓÐ)Ê®½øÖÆÊý×Ö
¾ÙÀý:PLMNΪ46000£¬ÔòdwPLMNÖµ¾ÍµÈÓÚËÄÍòÁù;PLMNΪ460001£¬ÔòdwPLMNÖµ¾ÍµÈÓÚËÄÊ®ÁùÍòÁãÒ»*/
} T_zPS_LTE_P_CommonConfig_Req;
/**************************************************************************
* RRCÅäÖÃEPHY CONNECT̬ÎÞÏß×ÊÔ´²ÎÊý£¬Ö÷Òª°üº¬Í¨ÓÃÒÔ¼°×¨ÓÃÅäÖÃÐÅÏ¢£¬ *
* ÎïÀí²ã½ÓÊÕµ½¸ÃÏûÏ¢ÒԺ󣬿ÉÒÔ¿ªÊ¼½øÐÐÉÏÏÂÐÐÊý¾ÝÐŵÀµÄ½ÓÊÕ *
**************************************************************************/
typedef struct
{
WORD wMsgId;
/*
1£ºÖØÅäÖã¬0£ºÅäÖÃ
*/
WORD wReConfigFlag; //ÐÂÔö²ÎÊý
/*
ȡֵ·¶Î§£º 1£ºTTI°ó¶¨£» 0£º·ÇTTI°ó¶¨
µÈͬЭÒé²ÎÊý£ºÎÞ
²ÎÊýÓÃ;£ºÉÏÐд«ÊäTTI°ó¶¨Ö¸Ê¾
*/
WORD wTtiBundlingInd;
/*
ȡֵ·¶Î§£ºn1, n2, n3, n4, n5, n6, n7, n8, n10, n12, n16, n20, n24, n28
ȡֵ0xFFʱΪÎÞЧ£¬ n´ú±í·¢ËÍ´ÎÊý£»
µÈͬЭÒé²ÎÊý£ºmaxHARQ-Tx
²ÎÊýÓÃ;£ºHARQ½ø³Ì×î´ó·¢ËÍ´ÎÊý
*/
WORD wMaxHarqTx;
/*
ȡֵ·¶Î§£º{ -6, -4.77, -3, -1.77, 0, 1, 2, 3} dB
PSÏ·¢µÄ²ÎÊýµÄȡֵΪ{0£¬1£¬2£¬3£¬4£¬5£¬6£¬7}£¬·Ö±ð¶ÔÓ¦ÉÏÊöÕæÊµÖµ
µÈͬЭÒé²ÎÊý£º
²ÎÊýÓÃ;£ºÏÂÐй¦ÂÊ¿ØÖÆÊ¹ÓòÎÊý£¬TS 36.213 [5.2]
*/
WORD wPa;
/*
ȡֵ·¶Î§£º0~7
²ÎÊýÓÃ;£ºSR·¢ËÍ×èÖ¹¶¨Ê±Æ÷,±ÜÃâÒ»¶Îʱ¼äÄÚÆµ·±·¢ËÍSR
*/
WORD wSrProhibitTimer;
/*
ȡֵ·¶Î§£º1~FFF3
µÈͬЭÒé²ÎÊý£ºÎÞ
²ÎÊýÓÃ;£ºSPS C RNTI ȡֵ
*/
WORD wSpsCRnti;
WORD wPadding;
T_zPS_LTE_P_SpsConfigDl tSpsConfigDl ;
T_zPS_LTE_P_SpsConfigUl tSpsConfigUl ;
T_zPS_LTE_P_DrxConfig tDrxConfig;
T_zPS_LTE_P_PuschConfigDedi tPuschConfigDedi;
T_zPS_LTE_P_PucchConfigDedi tPucchConfigDedi;
T_zPS_LTE_P_SrsUlConfigDedi tSrsUlConfigDedi;
T_zPS_LTE_P_UlPowerCtrlDedi tUlPowerCtrlDedi;
T_zPS_LTE_P_TpcPdcchConfig tTpcPdcchConfigPucch;
T_zPS_LTE_P_TpcPdcchConfig tTpcPdcchConfigPusch;
T_zPS_LTE_P_CqiReportConfig tCqiReporting;
T_zPS_LTE_P_AntenInfoDedi tAntenInfoDedi;
T_zPS_LTE_P_SrConfig tSrConfig;
T_zPS_LTE_P_TimerConfig tTimerConfig;
WORD wCifPresence;
WORD wAdditionalSpectrumEmissionCaType;
WORD wAdditionalSpectrumEmissionPCell;
WORD wScellDeactivationTimer;
T_zPS_LTE_P_MeasSubframePatternPcell tMeasSubframePatternPcell;
T_zPS_LTE_P_CsiRsConfig tCsiRsConfig;
T_zPS_LTE_P_SrsUlConfigDediAp tSrsUlConfigDediAp;
T_zPS_LTE_P_SCellConfig tSCellConfig;
} T_zPS_LTE_P_DedicatedConfig_Req;
/**************************************************************************
RRCÅäÖÃEPHY CONNECT̬ÎÞÏß×ÊÔ´²ÎÊý£¬Ö÷Òª°üº¬Í¨ÓÃÒÔ¼°×¨ÓÃÅäÖÃÐÅÏ¢
Ö÷ÒªÓÃÓÚÇл»³¡¾°.ÒªÇóEPHYͬ²½Ä¿±êÐ¡Çø£¬Í¬²½³É¹¦»òʧ°Üºó£¬·µ»ØÇл»È·ÈÏÏûÏ¢*
**************************************************************************/
typedef struct
{
WORD wMsgId;
/*
ȡֵ·¶Î§£º 1£ºTTI°ó¶¨£» 0£º·ÇTTI°ó¶¨
µÈͬЭÒé²ÎÊý£ºttiBundling£¬²Î¼ûTS 36.331 6.3.2 MAC-MainConfig field descriptions
²ÎÊýÓÃ;£ºÏÂÐÐTTI°ó¶¨Ö¸Ê¾£¬±íÕ÷ÏÂÐÐÊý¾ÝµÄACK/NACK·´À¡ÊÇ·ñ²ÉÓÃTTI bunding ģʽ£¬
½ö½öÊÊÓÃÓÚÏÂÐÐ×ÓÖ¡ÊýÄ¿´óÓÚÉÏÐÐ×ÓÖ¡ÊýÄ¿µÄ²»¶Ô³ÆÅäÖã¨2£¬3£¬4£¬5£©¡£²Î¼ûTS 36.213-10.1
*/
WORD wTtiBundingInd;
/*
ȡֵ·¶Î§£º0x0001 ¡« 0xFFF3£¬²Î¼ûTS 36.321-7.1
µÈͬЭÒé²ÎÊý£ºC-RNTI
²ÎÊýÓÃ;£ºCell RNTI£¬ÓÃÓÚÏÂÐÐÁ´Â·µÄ¼ÓÈųõʼÐòÁÐÑ¡Ôñ£¬
³ÐÔØÆÕͨÏÂÐÐÊý¾ÝµÄPDSCHÐŵÀ¶ÔÓ¦µÄPDCCH ÐŵÀDCIÊý¾ÝCRCµÄ¼ÓÑÚ´¦Àí£¬
*/
WORD wCRnti;
/*
ȡֵ·¶Î§£º0x0001 ¡« 0xFFF3£¬²Î¼ûTS 36.321-7.1
µÈͬЭÒé²ÎÊý£ºSemi-Persistent-Schedule RNTI
*/
WORD wSpsCRnti;
/*
ȡֵ·¶Î§£º1¡«32
µÈͬЭÒé²ÎÊý£ºAdditionalSpectrumEmission£¬²Î¼ûTS 36.331 6.3.4
²ÎÊýÓÃ;£ºÆµÆ×·¢Ë͹¦ÂÊÏÞÖÆ£¬ÓÃÓÚÏÞÖÆUEµÄ×î´ó·¢Ë͹¦ÂÊÒÔ¼°¶ÔƵ´øÍâµÄ¹¦ÂʸÉÈÅ£¿£¿
²Î¼ûTS 36.101 [42, table 6.2.4-1]
*/
WORD wAdditionalSpectrumEmission;
/*
ȡֵ·¶Î§£ºn1, n2, n3, n4, n5, n6, n7, n8, n10, n12, n16, n20, n24, n28£¬È¡Öµ0xFFʱΪÎÞЧ
µÈͬЭÒé²ÎÊý£ºmaxHARQ-Tx£¬²Î¼ûTS 36.331 6.3.2 MAC-MainConfig field descriptions
²ÎÊýÓÃ;£ºÖ¸¶¨±¾´ÎRRCÁ¬½ÓÉÏÐÐHARQµÄ×î´ó·¢ËÍ´ÎÊý¡£
*/
WORD wMaxHarqTx;
/*
ȡֵ·¶Î§£º[-60£¬50]dbm , PSÏ·¢µÄ²ÎÊýÖµÔÚÕæÊµÖµÉÏ+60 ¶ÔÓ¦0¡«110
µÈͬЭÒé²ÎÊý£ºreferenceSignalPower£¬²Î¼û TS 36.331 6.3.2 PDSCH-Config
²ÎÊýÓÃ;£ºÏÂÐвÎÊýÐźŵŦÂÊ´óС£¬ÓÃÓÚ·ËðµÄ¹À¼ÆºÍ·¢Ë͹¦ÂʵļÆËã¡£
*/
WORD wDlReferSignalPower;
/*
ȡֵ·¶Î§£º{0£¬1£¬2£¬3£¬4£¬5£¬6£¬7} ¶ÔÓ¦ÕæÊµÖµÎª{ -6, -4.77, -3, -1.77, 0, 1, 2, 3} dB
µÈͬЭÒé²ÎÊý£ºPa ,²Î¼û TS 36.331 6.3.2 PDSCH-Config
²ÎÊýÓÃ;£ºPDSCHרÓÃÅäÖòÎÊý Pa, UEÌØ¶¨²ÎÊý£¬ see TS 36.213 [23, 5.2].
Value dB-6 corresponds to -6 dB, dB-4dot77 corresponds to -4.77 dB etc
*/
WORD wPa;
/*
ȡֵ·¶Î§£º0~3
µÈͬЭÒé²ÎÊý£ºPb £¬²Î¼û TS 36.331 6.3.2 PDSCH-Config
²ÎÊýÓÃ;£ºÓÃÓÚ¼ÆËãÏÂÐй¦ÂÊ·ÖÅä£¬Ð¡ÇøÌØ¶¨²ÎÊý£¬ see TS 36.213 [23, Table 5.2-1].
*/
WORD wPb;
/*
ȡֵ·¶Î§£º0~6
µÈͬЭÒé²ÎÊý£ºÎÞ£¬²Î¼û TS36.211-4.2£¬ Table 4.2-2
²ÎÊýÓÃ;£ºTDDµÄUL/DL×ÓÖ¡ÅäÖÃÀàÐÍ
*/
WORD wSubFrameAssign;
/*
ȡֵ·¶Î§£º0¡«8
µÈͬЭÒé²ÎÊý£ºÎÞ£¬²Î¼û TS36.211-4.2£¬ Table 4.2-1
²ÎÊýÓÃ;£ºTDD ÌØÊâ×ÓÖ¡µÄÅäÖÃÀàÐÍ
*/
WORD wSpecialSubFramePatterns;
/*
ȡֵ·¶Î§£ºPSÏ·¢µÄ²ÎÊýÖµÔÚÕæÊµÖµÉÏ+30£¬²ÎÊýȡֵ·¶Î§£º0~63£¬
µÈͬЭÒé²ÎÊý£ºP-Max£¬see TS 36.331 6.3.2
²ÎÊýÓÃ;£ºÐ¡ÇøÔÊÐíµÄUE×î´ó·¢É书ÂÊ[-30~33£©dbm]
*/
WORD wPeMax;
/*
ȡֵ·¶Î§£º0ΪLEN1£¬1ΪLEN2
µÈͬЭÒé²ÎÊý£ºUL-CyclicPrefixLength£¬²Î¼ûTS36.331 6.3.2 RadioResourceConfigCommon
²ÎÊýÓÃ;£ºÉÏÐÐÑ­»·Ç°×º³¤¶È
*/
WORD wUlCpLen;
/*
ȡֵ·¶Î§£º0ΪÕý³££¬1ΪÀ©Õ¹
µÈͬЭÒé²ÎÊý£ºPHICH-Duration£¬²Î¼û TS 36.331 - 6.3.2 PHICH-Config
²ÎÊýÓÃ;£ºPHICH·Ö²¼·ûºÅµÄ¸öÊý£¬ÓÃÓÚ¼ÆËãPHICHÐŵÀµÄ×ÊÔ´Ó³Éä, see TS 36.211 [21, Table 6.9.3-1].
Õâ¸ö²ÎÊý³ÐÔØÔÚMIBÖУ¬Ò»°ãÇé¿öÏÂÓÉPHY×Ô¼º¶ÁÈ¡£» Çл»Ê±ÍøÂç²àÖ÷¶¯Ï·¢£»
*/
WORD wPhichDuration;
/*
ȡֵ·¶Î§£º²ÎÊýȡֵΪ0£¬1£¬2£¬3·Ö±ð¶ÔÓ¦ÕæÊµÖµ{1/6£¬1/2£¬1£¬2}
µÈͬЭÒé²ÎÊý£ºphich-Resource£¬²Î¼û TS 36.331 - 6.3.2 PHICH-Config
²ÎÊýÓÃ;£º Ng,ÓÃÓÚ¼ÆËãPHICH ×é¸öÊý£¬ see TS 36.211 [21, 6.9].
Value oneSixth corresponds to 1/6, half corresponds to 1/2 and so on.
Õâ¸ö²ÎÊý³ÐÔØÔÚMIBÖУ¬Ò»°ãÇé¿öÏÂÓÉPHY×Ô¼º¶ÁÈ¡£» Çл»Ê±ÍøÂç²àÖ÷¶¯Ï·¢
*/
WORD wPhichResource;
/*
ȡֵ·¶Î§£º1£¬2£¬4£¬È¡ÖµÎª0xFFÊÇΪÎÞЧֵ
µÈͬЭÒé²ÎÊý£ºantennaPortsCount£¬²Î¼ûTS 36.331-6.3.2 AntennaInfo
²ÎÊýÓÃ;£ºÌìÏß¹«¹²ÅäÖÃÐÅÏ¢£¬Ö¸¶¨Ð¡ÇøµÄÌìÏß¶Ë¿ÚÊý
*/
WORD wAntennaPortsCount;
/*
ȡֵ·¶Î§£º0~7
²ÎÊýÓÃ;£ºSR·¢ËÍ×èÖ¹¶¨Ê±Æ÷,±ÜÃâÒ»¶Îʱ¼äÄÚÆµ·±·¢ËÍSR
*/
WORD wSrProhibitTimer;
/*
ȡֵ·¶Î§£ºÕæÊµÖµÎª{fourT, twoT, oneT, halfT, quarterT, oneEightT,onSixteenthT, oneThirtySecondT},
T´ú±íѰºôÖÜÆÚ£¬PSÏ·¢µÄ²ÎÊýÖµ·¶Î§Îª0~7£¬·Ö±ð¶ÔÓ¦ÒÔÉÏ8ÖÖȡֵ¡£Èç¹ûSIB2Ϊ¿Õ£¬È¡0-fourT
µÈͬЭÒé²ÎÊý£ºÎÞ
²ÎÊýÓÃ;£ºÓÃÓÚ¼ÆËãѰºôʱ»úµÄ²ÎÊý
*/
WORD wNb;
/*
ȡֵ·¶Î§£º32£¬64£¬128£¬256£¨ms£©;Èç¹ûSIB2Ϊ¿Õ£¬È¡×î´óÖµ256
µÈͬЭÒé²ÎÊý£ºÎÞ
²ÎÊýÓÃ;£ºÄ¬ÈϵÄѰºôÖÜÆÚ
*/
WORD wDefaultPageCycle;
/*
ȡֵ·¶Î§£º0~1023
µÈͬЭÒé²ÎÊý£ºÎÞ
²ÎÊýÓÃ;£ºUE_ID£¬Ñ°ºô¼ÆËãµÈÐèҪʹÓã¬ÓÃÓÚÇø·Ö²»Í¬UE
*/
WORD wUeId;
T_zPS_LTE_P_PhyCellInfo tPhyCellInfo;
T_zPS_LTE_P_SpsConfigDl tSpsConfigDl ;
T_zPS_LTE_P_SpsConfigUl tSpsConfigUl ;
T_zPS_LTE_P_DrxConfig tDrxConfig;
T_zPS_LTE_P_PhyRaConfig tPhyRaConfig;
T_zPS_LTE_P_PuschConfigComm tPuschConfigComm;
T_zPS_LTE_P_PucchConfigComm tPucchConfigComm ;
T_zPS_LTE_P_SrsUlConfigComm tSrsUlConfigComm;
T_zPS_LTE_P_UlPowerCtrlComm tUlPowerCtrlComm;
T_zPS_LTE_P_PuschConfigDedi tPuschConfigDedi;
T_zPS_LTE_P_PucchConfigDedi tPucchConfigDedi;
T_zPS_LTE_P_SrsUlConfigDedi tSrsUlConfigDedi;
T_zPS_LTE_P_UlPowerCtrlDedi tUlPowerCtrlDedi;
T_zPS_LTE_P_TpcPdcchConfig tTpcPdcchConfigPucch;
T_zPS_LTE_P_TpcPdcchConfig tTpcPdcchConfigPusch;
T_zPS_LTE_P_CqiReportConfig tCqiReporting;
T_zPS_LTE_P_AntenInfoDedi tAntenInfoDedi;
T_zPS_LTE_P_SrConfig tSrConfig;
T_zPS_LTE_P_TimerConfig tTimerConfig;
T_zPS_LTE_P_MbsfnSubframeConfigList tMbsfnSubframeConfigList;//Èç¹ûSIB2Ϊ¿Õ£¬ÁÐ±í³¤¶ÈÈ¡0£¬ºöÂÔÁбíÄÚÈÝ
WORD wCifPresence;
WORD wAdditionalSpectrumEmissionCaType;
WORD wAdditionalSpectrumEmissionPCell;
WORD wScellDeactivationTimer;
T_zPS_LTE_P_MeasSubframePatternPcell tMeasSubframePatternPcell;
T_zPS_LTE_P_CsiRsConfig tCsiRsConfig;
T_zPS_LTE_P_SrsUlConfigDediAp tSrsUlConfigDediAp;
T_zPS_LTE_P_SCellConfig tSCellConfig ;
WORD wT304; //T304ʱ³¤£¬µ¥Î»ms
WORD wPadding;
} T_zPS_LTE_P_Handover_Req;
/*
EPHYÉϱ¨ECERÇл»½á¹ûָʾ
*/
typedef struct
{
/*
ȡֵ·¶Î§£º1:Çл»³É¹¦ 0£ºÇл»Ê§°Ü
µÈͬЭÒé²ÎÊý£ºÎÞ
²ÎÊýÓÃ;£º±¨¸æÐ­ÒéÕ»PHYÊÇ·ñ¿ÉÒÔÓëÄ¿±êÐ¡Çø»ñȡͬ²½£¬
Ò»°ãÇé¿öÏ£¬PHYÒѾ­»ñÈ¡ÁËÄ¿±êÐ¡ÇøµÄÖ¡±ß½ç£¬Ö±½Ó±¨¸æ³É¹¦¼´¿É¡£
*/
WORD wResult;
WORD wPadding;
} T_zPS_LTE_P_Handover_Cnf,T_zPS_LTE_P_ListeningHo_Cnf;
/*
RRCÁ¬½Ó״̬£¬PHYÒ»Ö±¼à²âÎÞÏßÁ´Â·µÄÐźÅÖÊÁ¿£¬µ±Âú×ãʧ²½Ìõ¼þʱ£¬Éϱ¨Ð­ÒéÕ»Á´Â·Ê§²½¡£
ÐèÒª½øÒ»²½Ã÷ȷһϣº
upon receiving N310 consecutive "out-of-sync" indications from lower layers
while neither T300, T301, T304 nor T311 is running:
2> start timer T310;
N310´Îʧ²½ÓÉPHY¸ºÔð¼ÆÊý£»
T300, T301, T304 nor T311 is running:˵Ã÷´¦ÓÚRRCÁ¬½Ó½¨Á¢¡¢Öؽ¨¿ªÊ¼Ð¡ÇøËÑË÷¡¢Öؽ¨¡¢Çл»¹ý³ÌÖС£
ÎïÀí²ãÐèҪȷ¶¨ÕâЩ״̬¡£ÕâЩ״̬ʱ£¬ÎïÀí²ã²»ÐèҪͳ¼ÆºÍÉϱ¨Ê§²½¡£
½¨ÒéÎïÀí²ãÔÚ´ÓÕâЩÔÝ̬½øÈëCOMM̬Õâ¸öÎȶ¨Ì¬ºó£¬¶Ôʧ²½¼ÆÊýÇåÁãһϡ£
typedef struct
{
} T_zPS_LTE_P_OutOfSyc_Ind;
*/
/*
RRCÁ¬½Ó״̬£¬PHY½øÈëʧ²½×´Ì¬ºó£¬ÈÔÈ»ÐèÒªÒ»Ö±¼à²âÎÞÏßÁ´Â·µÄÐźÅÖÊÁ¿£¬
µ±Âú×ã»Ö¸´Í¬²½Ìõ¼þʱ£¬Éϱ¨Ð­ÒéÕ»Á´Â·»Ö¸´Í¬²½¡££¨À뿪Á¬½Ó̬ºó£¬Ê§²½×´Ì¬ÒªÇå³ý£©
typedef struct
{
} T_zPS_LTE_P_RecoverySync_Ind;
*/
/*
ÔÚRRC½¨Á¢¹ý³ÌÖУ¬ÈôÒòÁ¬½Ó±»¾Ü¡¢T300³¬Ê±¡¢·¢ÉúÐ¡ÇøÖØÑ¡µÈÒòËØ£¬µ¼Ö½¨Á´Ê§°Ü£¬
Ôò·¢Ë͸ÃÏûÏ¢RESETÎïÀí²ã¡£
*/
typedef struct
{
WORD wMsgId;
WORD wPadding1;
} T_zPS_LTE_P_MAC_Reset_Req;
/*
ECER֪ͨEPHYÊÍ·Å×ÊÔ´¼°ÅäÖã¬Í£Ö¹Ñ°ºô£¬À뿪פÔú״̬
*/
typedef struct
{
WORD wMsgId;
/* ¸Ã×ֶαíʾÊÍ·Å×ÊÔ´µÄͬʱ£¬ÊÇ·ñÐèÒªÊÍ·ÅRF
wRelRfFlg = 1±íʾÐèÒª·ÅÉ䯵£¬
wRelRfFlg = 0±íʾ²»ÐèÒªÊÍ·ÅÉ䯵£¬½öÊÍ·Å×ÊÔ´*/
WORD wRelRfFlg;
/* ¸Ã×ֶαíʾÔÚÊÍ·ÅÎïÀí²ãÅäÖÃʱ£¬ÊÇ·ñÐèÒª±£Áô·þÎñÐ¡Çø¶¨Ê±ÐÅÏ¢£¬ÔÚwRelRfFlg==0ʱÓÐЧ
wKeepServCellFlg = 0±íʾÐèÒªÊÍ·ÅËùÓÐ×ÊÔ´ÅäÖã¬
wKeepServCellFlg = 1±íʾ²»ÐèÒªÊÍ·ÅÐ¡ÇøÐÅÏ¢£¬ÓÃÓÚÁ¬½Ó̬»Øidleʱ¿ìËÙפÁô*/
WORD wKeepServCellFlg;
WORD wPadding;
} T_zPS_LTE_P_Rel_Req;
/*
EPHY´¦ÀíÍêZPS_LTE_P_REL_REQ_EvÏûÏ¢ºó·´À¡´ËÈ·ÈÏÏûÏ¢
typedef struct
{
} T_zPS_LTE_P_Rel_Cnf;
*/
/**************************************************************************
* EUMACÓëEPHYµÄ½Ó¿Ú *
**************************************************************************/
typedef struct
{
WORD wMsgId;
/*
ȡֵ·¶Î§£ºINTEGER (0..15)£¬È±Ê¡Ê±£¬Ìîд0xFF
µÈͬЭÒé²ÎÊý£º321.5.1.2 ra-PRACH-MaskIndex (PRACH Mask Index)
²ÎÊýÓÃ;£ºÍøÂç²àÃ÷È·Ö¸¶¨preamble·¢ËÍprach resource selectionÐÅÏ¢¡£
*/
WORD wRaPrachMaskIndex;
/*
ȡֵ·¶Î§£ºINTEGER (0..63) £¬È±Ê¡Ê±£¬Ìîд0xFF
µÈͬЭÒé²ÎÊý£º321.5.1.2 ra-PreambleIndex (Random Access Preamble)
²ÎÊýÓÃ;£ºÍøÂç²àÃ÷È·Ö¸¶¨preamble·¢ËÍÐòÁÐIDÐÅÏ¢¡£
*/
WORD wPreamId;
/*
ȡֵ·¶Î§£ºËæ»ú½ÓÈëµÄÀàÐÍ£¬0±íʾ·Ç¾ºÕùËæ»ú½ÓÈ룬
1±íʾ¾ºÕù½â¾öÉÏÐз¢ËÍÄÚÈÝΪC-RNTI¿ØÖÆÐÅÔª£¬2±íʾUL CCCHÊý¾Ý;
3 ±íʾ×ÔÖ÷Çл»µÄ״̬±¨¸æ£»4 ±íʾ¼¯ÈºLTE UL CCCHÉÏÊý¾Ý£¬²»ÐèÒªMSG4.
µÈͬЭÒé²ÎÊý£ºÎÞ
²ÎÊýÓÃ;£ºÐ­ÒéÕ»¸æÖªÎïÀí²ãµ±Ç°·¢ÆðµÄËæ»ú½ÓÈë¹ý³ÌµÄÀàÐÍ¡£
*/
WORD wRaType;
/*
ȡֵ·¶Î§£º
µÈͬЭÒé²ÎÊý£ºÎÞ
²ÎÊýÓÃ;£º DZÔÚµÄÏûÏ¢³¤¶È£¬ÓÃÓÚPHYÈ·¶¨Ç°µ¼×éA/B¡£
*/
WORD wMsgSize;
/*
ȡֵ·¶Î§£ºËæ»ú½ÓÈë¹ý³ÌÓÉË­·¢Æð£¬0±íʾÉϲãЭÒéÕ»·¢Æð£¬1±íʾÎïÀí²ã·¢Æð
µÈͬЭÒé²ÎÊý£ºÎÞ
²ÎÊýÓÃ;£º±íÊ¾Ëæ»ú½ÓÈë¹ý³Ì·¢ÆðÕß¡£
*/
WORD wInitRA;
/*
ȡֵ·¶Î§£ºÊÇ·ñresetÏà¹ØµÄ²ÎÊý£¬Èç·¢Ë͹¦ÂÊ£¬Ç°µ¼·¢ËͼÆÊý¡£1ΪRESET£¬0Ôò²»ÐèÒªRESET
µÈͬЭÒé²ÎÊý£ºÎÞ
²ÎÊýÓÃ;£º±íʾÊÇ·ñÖØÖÃËæ»ú½ÓÈë¹ý³ÌÏà¹Ø²ÎÊý¡£
*/
WORD wResetPara;
/*
20100309 added by hongjb
Èç¹ûÊÇPDCCHÃüÁî·¢ÆðµÄËæ»ú½ÓÈë¹ý³Ì£¬
°Ñ10.1.4ÏûÏ¢ÖеÄ×ÓÖ¡ºÅÔÙ·¢¸øPHY,
·ñÔòÏ·¢ÎÞЧֵ0XFFFF ÓÐЧ×ÓÖ¡ºÅ·¶Î§0-10240
*/
WORD wSubFN;
} T_zPS_LTE_P_Access_Req;
typedef struct
{
/*
1:·Ç¾ºÕù½ÓÈë³É¹¦
2:¾ºÕù½ÓÈë³É¹¦
3:¾ºÕù¶¨Ê±Æ÷³¬Ê±Ê§°Ü
4:ǰµ¼·¢ËÍ´ïµ½×î´óÖµ:preamble_trans_counter = preambleTransMax+1
*/
WORD wResult;
WORD wPreamCnt;
/*
ȡֵ·¶Î§£ºBIT STRING (SIZE (16))
µÈͬЭÒé²ÎÊý£º331.6.3.6 C-RNTI
²ÎÊýÓÃ;£º¾ºÕù½â¾ö³É¹¦T-CRNTIÉý¼¶ºó£¬PHY½«CRNTIÉϱ¨¸øPS¡£Ã»ÓÐCRNTIÉϱ¨Ê±£¬Ð´Èë0xFFFF¡£
*/
WORD wCRnti;
WORD wPadding;
} T_zPS_LTE_P_Access_Cnf;
typedef struct
{
WORD wMsgId;
/* 2010309ÐÂÔö²ÎÊý
×ÓÖ¡ºÅ£¬ÓÐЧֵ0-10240£¬ÎÞЧֵΪ0XFFFF
ÕâÀïдÈëÊÕµ½ÏÂÐÐMSG4Êý¾ÝʱµÄ×ÓÖ¡ºÅ
*/
WORD wSubFN;
} T_zPS_LTE_P_AbortAccess_Req;
typedef struct
{
/*
ȡֵ·¶Î§£º0~15£¬ 0xFFΪÎÞЧֵ
µÈͬЭÒé²ÎÊý£º321.5.1.2 ra-PRACH-MaskIndex (PRACH Mask Index)
²ÎÊýÓÃ;£ºÍøÂç²àÃ÷È·Ö¸¶¨preamble·¢ËÍprach resource selectionÐÅÏ¢
*/
WORD wRaPrachMaskIndex;
/*
ȡֵ·¶Î§£ºINTEGER (0..63)
µÈͬЭÒé²ÎÊý£º321.5.1.2 ra-PreambleIndex (Random Access Preamble)
²ÎÊýÓÃ;£ºÍøÂç²àÃ÷È·Ö¸¶¨preamble·¢ËÍÐòÁÐIDÐÅÏ¢¡£
*/
WORD wPreamId;
//WORD wPadding; 2010309 ½Ó¿ÚÎĵµÉ¾³ý
/* 2010309ÐÂÔö²ÎÊý
×ÓÖ¡ºÅ£¬ÓÐЧֵ0-10240£¬ÎÞЧֵΪ0XFFFF
ÊÕµ½PDCCHÃüÁîʱµÄ×ÓÖ¡ºÅ
*/
WORD wSubFN;
WORD wPadding;
} T_zPS_LTE_P_MacInitRa_Req;
/*
psά»¤TA Timer£¬Ä¿Ç°MAC½öÔÚTA TIMER³¬Ê±Í£Ö¹Ê±£¬·¢ËÍZPS_LTE_P_TA_TIMER_STOP_IND_EvÏûÏ¢¡£
PHYÊÕµ½ZPS_LTE_P_TA_CMD_REQ_Ev£¬ÈÏΪTA TIMERÖØÐÂÆô¶¯
*/
typedef struct
{
WORD wMsgId;
/*
ȡֵ·¶Î§£º0£¬1¡£0£º6¸öbit£¬TA¿ØÖÆÐÅÔªÖÐÊÕµ½£»
1£º11¸öbit, Ëæ»ú½ÓÈëÏìÓ¦ÖÐÊÕµ½¡£
µÈͬЭÒé²ÎÊý£ºÎÞ
²ÎÊýÓÃ;£º±íʾTAÖ¸ÁîÀ´Ô´¡£
*/
WORD wTACmdType;
/*
ȡֵ·¶Î§£ºÔÚËæ»ú½ÓÈëÏìÓ¦ÖУ¬³¤¶ÈΪ11¸ö±ÈÌØ£»ÔÚTA¿ØÖÆÐÅÔªÖУ¬³¤¶ÈΪ6¸ö±ÈÌØ¡£
µÈͬЭÒé²ÎÊý£ºTiming Advance Command£¬RARÖеÄTA»òÕßMAC¿ØÖÆÐÅÔª
²ÎÊýÓÃ;£ºÊ±¼äͬ²½ÃüÁîÖµ
*/
WORD wTimeAdvance;
/* 20120101 ²ÎÊýÐÞ¸Äȡֵ·¶Î§Îª0~10240, Ö¡ºÅ*10+×ÓÖ¡ºÅ
ȡֵ·¶Î§£º0~10240
µÈͬЭÒé²ÎÊý£º
²ÎÊýÓÃ;£ºPSÊÕµ½TAÖµµÄʱ¼ä£¬¸Ãʱ¼ä֪ͨ¸øPHY£¬
ÓÃÓÚPHYÈ·¶¨TAµÄ½ÓÊÕʱ¼äµÚN×ÓÖ¡ÒÔÈ·±£ÔÚµÚN+6×ÓÖ¡µ÷ÕûÉÏÐз¢ËͶ¨Ê±¡£
*/
WORD wSubFN;
} T_zPS_LTE_P_TaCmd_Req;
/*
MAC֪ͨEPHYÖ´ÐÐDRXÃüÁî
>Í£Ö¹On Duration TimerºÍDRX inactivity Timer¡£
>Èç¹ûÅäÖÃÁ˶ÌDRXÖÜÆÚ£¬Ôò¿ªÊ¼Æô¶¯¶ÌDRXÖÜÆÚ£¬ÇÒÆô¶¯¶ÌDRXÖÜÆÚ¶¨Ê±Æ÷£»
·ñÔòÆô¶¯³¤DRXÖÜÆÚ¡£¶ÌDRXÖÜÆÚ¶¨Ê±Æ÷³¬Ê±£¬½øÈ볤DRXÖÜÆÚ´¦Àí¡£
*/
typedef struct
{
WORD wMsgId;
WORD wPadding1;
} T_zPS_LTE_P_DrxCmd_Req;
typedef struct
{
WORD wMsgId;
/*
ȡֵ·¶Î§£º0Ϊֹͣ,1ΪÔËÐÐ
µÈͬЭÒé²ÎÊý£ºÎÞ
²ÎÊýÓÃ;£ºTA¶¨Ê±Æ÷ÓÉPSά»¤£¬PSÏòEPHY֪ͨTA¶¨Ê±Æ÷Í£Ö¹µÄÔ­Òò¡£
*/
WORD wCause;
} T_zPS_LTE_P_TATimerStop_Ind;
typedef struct
{
/*
ȡֵ·¶Î§£º11bit
µÈͬЭÒé²ÎÊý£º321.4.2.3 timing advance command TA
²ÎÊýÓÃ;£ºRARÕýÈ·½âÂëºó£¬½«TAÐÅÏ¢·¢Ë͸øMAC¡£ÓÃÓÚµ÷ÕûÉÏÐд«Êäʱ¼ä¡£
*/
WORD wTACmd;
/*
20100309 ÐÂÔö²ÎÊý by hongjb
EPHYÊÕµ½Ëæ»ú½ÓÈëÏìӦʱµÄ×ÓÖ¡ºÅ0-10240£¬0XFFFFΪÎÞЧֵ
*/
WORD wSubFN;
} T_zPS_LTE_P_RaResponse_Ind;
typedef struct
{
/*
ȡֵ·¶Î§£º0~499
µÈͬЭÒé²ÎÊý£ºÎÞ
²ÎÊýÓÃ;£ºÖ¸Ê¾MAC PDU BUF³ØÖеÄBUFµÄindex£¬Ò²¾ÍÊÇHARQ½ø³Ì¶ÔÓ¦µÄbufferµØÖ·
*/
//WORD wMacPduBufIndex;
WORD wSubFN;
/*
ȡֵ·¶Î§£º1£¬2
µÈͬЭÒé²ÎÊý£ºÎÞ
²ÎÊýÓÃ;£ºÖ¸Ê¾´Ë´ÎÓм¸¸ö´«Êä¿é
*/
WORD wTbNum;
WORD awMacPduBufIndex[ZPS_LTE_P_MAX_TB_NUM];
WORD awMacPduLen[ZPS_LTE_P_MAX_TB_NUM];
/*
ȡֵ·¶Î§£ºTBD
µÈͬЭÒé²ÎÊý£ºÎÞ
²ÎÊýÓÃ;£ºÖ¸Ê¾Ã¿¸öMAC PDU´æ·ÅµÄµØÖ·
*/
PBYTE apbMacPduData[ZPS_LTE_P_MAX_TB_NUM];
} T_zPS_LTE_P_DlSchData_Ind;
/*KangShuJie Start*/
/******************************************************
·½Ïò:L1E->EPHY
¹¦ÄÜ:³õʼ»¯É䯵(²¢·Ç¹¤×÷)£¬Çå¿ÕÎïÀí²ã×ÊÔ´ºÍͬ²½ÐÅÏ¢¡£ÓÃÓÚ¿ª»úÉ䯵³õʼ»¯ºÍ½øÈë·ÉÐÐģʽ¡£
ÏûÏ¢£ºLTE_P_RESET_REQ_EV
½á¹¹:T_zPS_LTE_P_Reset_Req
******************************************************/
typedef struct{
WORD wMsgId;
WORD wPadding;
}T_zLTE_P_Reset_Req;
/******************************************************
·½Ïò:EPHY->L1E
¹¦ÄÜ:¶ÔLTE_P_RESET_REQ_EvµÄÏìÓ¦ÏûÏ¢¡£Ìæ´úLTEµ¥Ä£Ê±¶¨ÒåµÄZPS_LTE_P_SWITCH_RF_CNF_Ev
ÏûÏ¢:LTE_P_RESET_CNF_Ev.
½á¹¹:NULL
******************************************************/
/******************************************************
·½Ïò:EPHY->L1E
¹¦ÄÜ:LTEΪÖ÷µÄʱºò,EPHYÉϱ¨¿ÕÏÐʱ¼ä,Ŀǰ½öÓÃÓÚIDLE̬Ï£¬²¢ÇÒÉϱ¨µÄ¿ÕÏÐʱ¼äÒѾ­¿Û³ýÁËEPHYÓÃÓÚ
ͬƵºÍÒìÆµ²âÁ¿ËùʹÓõÄʱ¼äºÍEPHY¹Ø±ÕÉ䯵ËùºÄ·ÑµÄʱ¼ä
ÏûÏ¢:LTE_P_INACTIVE_TIME_IND_EV
½á¹¹:T_zLTE_P_InactiveTime_Ind
******************************************************/
typedef struct
{
WORD wGapStartSfn; /*¿ÕÏÐʱ¼äµÄ¿ªÊ¼Ö¡ºÅ*/
WORD wGapStartSubframe; /*¿ÕÏÐʱ¼äµÄ¿ªÊ¼×ÓÖ¡ºÅ*/
WORD wGapStartTs; /*¿ÕÏÐʱ¼äµÄ¿ªÊ¼TSÆ«ÒÆ*/
WORD wGapMsLen; /*¿ÕÏÐʱ¼äµÄºÁÃë¼¶³¤¶È*/
WORD wGapTsLen; /*¿ÕÏÐʱ¼äÖв»×ã1MSµÄTS³¤¶È*/
WORD wPadding;
} T_zLTE_P_InactiveTime_Ind;
/******************************************************
·½Ïò:L1E->EPHY
¹¦ÄÜ:ÉèÖÃEPHYÖ÷¸¨Ä£Ê½
ÏûÏ¢:LTE_P_SET_MODE_REQ_EV
½á¹¹:T_zLTE_P_SetMode_Req
******************************************************/
typedef struct
{
WORD wMsgId;
WORD wIsMaster; /*1:ÉèÖÃΪÖ÷ģʽ;0:ÉèÖÃΪ¸¨Ä£Ê½*/
} T_zLTE_P_SetMode_Req;
/**************************************************************************
·½Ïò:L1E->EPHY
¹¦ÄÜ:LTEÖ÷ģʽÏÂCONNECTED̬£¬L1E½«µ±Ç°µÄ²âÁ¿GAPģʽÅäÖøøÎïÀí²ã²¢Ö¸Ê¾GAPÐòÁÐÖÐÄÇЩGAPÓÃÓÚLTEµÄ²âÁ¿
ÏûÏ¢:LTE_P_IRAT_MEAS_GAP_CONFIG_REQ_EV
½á¹¹:T_zLTE_P_IratMeasGapConfig_Req
**************************************************************************/
typedef struct
{
WORD wMsgId;
WORD wActive; /* GAPµÄ¼¤»îָʾ£¬0±íʾȥ»î£¬1±íʾ¼¤»î */
WORD wStartSfn; /* GAPÐòÁÐÄ£ÐÍµÄÆðʼSFNºÅ */
WORD wStartSubframe; /* GAPÐòÁÐÄ£ÐÍµÄÆðʼ×ÓÖ¡ºÅ */
WORD wLength; /* GAPµÄ³¤¶È£¬µ¥Î»ÊÇ×ÓÖ¡£¨ms£©,Ŀǰ¹Ì¶¨Îª6ms */
WORD wPeriod; /* GAPµÄÖØ¸´ÖÜÆÚ£¬µ¥Î»ÊÇ×ÓÖ¡£¨ms£©*/
WORD wLteGapPeriod; /* ÓÃÓÚLTE²âÁ¿µÄGAPÖØ¸´ÖÜÆÚ£¬µ¥Î»ÊÇ×ÓÖ¡£¨ms£©´Ó±¾ÅäÖõÄbStartSfn¡¢wStartSubframe¹æ¶¨µÄGAP¿ªÊ¼£¬Ã¿¸ôwLteGapPeriodµÄGAPÊÇÓÃÓÚLTE²âÁ¿µÄ*/
WORD wPadding;
}T_zLTE_P_IratMeasGapConfig_Req;
/*KangShuJie End*/
/**************************************************************************
* Óû§ÃæÏà¹Ø½Ó¿Ú *
**************************************************************************/
/*
PHYÊÕµ½ÉÏÐÐÊÚȨʱÔÚMACµ÷¶ÈÐÅÏ¢BUF£¨¼´PS-PHY½»»»Çø£©Öдæ·ÅÉÏÐе÷¶ÈÐÅÏ¢£¬
²¢²úÉúMACÉÏÐе÷¶ÈÖжϴ¥·¢PS´ÓMACµ÷¶ÈÐÅÏ¢BUFÖÐÈ¡×ß´ËÉÏÐе÷¶ÈÐÅÏ¢Ö´ÐÐMACÉÏÐд¦ÀíÁ÷³Ì¡£
ÿ¸ö×ÓÖ¡Öжϣ¬Ò²ÐèҪͨ¹ý´Ëº¯ÊýָʾMAC£¬½øÐÐÿ¸ö×ÓÖ¡µÄЭÒé´¦Àí£¨Èç¹ûûÓÐÉÏÐе÷¶È£¬ÔòÊÚȨÀàÐÍΪ0£©
*/
#define ZPS_LTE_P_MAX_CELL_NUM 2
typedef struct
{
WORD wCellIndex;
WORD wPucchTrans;
WORD wUlSchedType[2];
WORD wUlGrantTbSize[2];
WORD wIsSpsActivated;
WORD wPowerHeadRoomType1;
WORD wPathLoss;
WORD wPowerBackoff;
WORD wPowerHeadRoomType2;
WORD wPcmaxC;
PBYTE pbUlDataPtr[2];
}T_zPS_LTE_P_UlSchedInfoInd;
typedef struct
{
WORD wUlSchInfoCnt;
WORD wPadding;
PBYTE pbUlCtrlInfoPtr;
T_zPS_LTE_P_UlSchedInfoInd tUlSchInfoArray[ZPS_LTE_P_MAX_CELL_NUM];
} T_zPS_LTE_P_ExtendedUlSchedInfoInd;
/*
µ±ÓÐÉÏÐÐÊÚȨÓÃÓÚÐÂÊý¾Ý·¢ËÍ£¬PS×éÖ¡ºó»áÏòMACµ÷¶ÈÐÅÏ¢BUFдÈëÉÏÐз¢ËÍ¿ØÖÆÏûÏ¢£¬
²¢´¥·¢EDCPÓ²¼þ£¬°áÔËÊý¾Ýµ½¶ÔÓ¦HARQ ramÖС£
µ±Ã»ÓÐÉÏÐÐÊÚȨÓÃÓÚÐÂÊý¾Ý·¢ËÍÇÒÓÐSR´¥·¢Ê±£¬Í¨¹ý´Ë½Ó¿Ú´¥·¢ÎïÀí²ãµÄSR·¢Ë͹ý³Ì¡£
*/
typedef struct
{
WORD wCellIndex;
WORD wPadding;
WORD wSendType[2];
WORD wDataValid[2];
WORD wDataSendSize[2];
PBYTE pbDataSrc[2];
} T_zPS_LTE_P_UlDataSendCtrlInfo;
typedef struct
{
T_zPS_LTE_P_UlDataSendCtrlInfo atUlDataSendCtrlInfoArray[ZPS_LTE_P_MAX_CELL_NUM];
WORD wUlDataSendCtrlInfoCnt;
WORD wPadding;
} T_zPS_LTE_P_ExtendedUlDataSendCtrlInfo;
/*
PHY³É¹¦½âÂëÏÂÐÐÊý¾Ýºó£¬½«µÃµ½ÕâЩÊý¾ÝµÄÀàÐÍ£¬³¤¶È£¬´æ·ÅλÖõÈÐÅÏ¢£¬
ÕâЩÐèҪ֪ͨPSÒÔ±ã¶ÔÕâЩÊý¾Ý×÷ºóÐøµÄ´¦Àí¡£
PHYÐèÒª¸ù¾ÝRNTIÀàÐÍÇø·ÖÊý¾ÝµÄÀàÐÍ£¬PHYÒ²ÐèҪά»¤»·Ðλº³åÇøµÄË÷Òý¡£
*/
typedef struct
{
WORD wSubFN;
WORD wTbNum;
WORD awBufIndex[ZPS_LTE_P_MAX_TB_NUM];
WORD awTbLen[ZPS_LTE_P_MAX_TB_NUM];
PBYTE apbMacPduData[ZPS_LTE_P_MAX_TB_NUM];
} T_zPS_LTE_P_DlDataRecvCtrlInfo;
typedef struct
{
WORD wStartSysFrameNum;
WORD wStartSubFrameNum;
WORD wSleepTimeLen;
WORD wPadding;
}T_zPS_LTE_P_SleepTime_Ind;
typedef struct
{
WORD wMsgId;
WORD wKeepAwakeTime;/*µ¥Î»MS£¬ÎïÀí²ã»½ÐÑÆäTPU£¬²¢´ÓÊÕµ½¸ÃÐÅÏ¢¿ªÊ¼ÐèÒª±£³ÖÆäTPU wKeepAwakeTime MSÄÚ²»ÒªÔٴνøÈë˯Ãß*/
}T_zPS_LTE_P_Wakeup_Req;
/* ÓÃÓÚ±£´æ½âÂëºóµÄ SI ETWS PCH Êý¾ÝµÄ³¤¶ÈºÍ PROID */
typedef struct
{
WORD wDlBandWidth; /*Ð¡ÇøÏÂÐдø¿í£¬Éϱ¨sib1ºÍSIʱÌîд*/
WORD wPadding;
T_zPS_LTE_P_SinrResult tSinrRslt; /*¸ÃÐ¡ÇøµÄSINR£¬¹¤³ÌģʽɨƵÉϱ¨ÐèÇóÐÂÔö*/
WORD wTblen;
WORD wProcId; /* ÓÃÓÚϵͳÏûÏ¢Éϱ¨Ê±µÄÎÕÊÖÐÅÏ¢ */
PBYTE pbDlSiPCHData;
}T_zPS_LTE_P_DlSiPCHDataRecvCtrlInfo;
typedef struct
{
WORD wMsgId;
WORD wActDeactSCellInfo;
WORD wSubFN;
WORD wPadding;
}T_zPS_LTE_P_SCELL_Ctrl_Req;
typedef struct
{
WORD wNotifcRptCoeff;
WORD wNotifcOffset;
WORD wNotifcSfIndx;
WORD wPadding;
}T_zPS_LTE_P_MbmsNotifcCfg;
typedef struct
{
WORD wMbsfnAreaId;
WORD wNonMbsfnRegnLen;
WORD wNotifcInd;
WORD wMcchRptPeriod;
WORD wMcchOffset;
WORD wMcchModiPeriod;
WORD wSfAllocInfo;
WORD wSigMCS;
}T_zPS_LTE_P_McchCfgInfo;
typedef struct
{
WORD wMsgId;
WORD wMcchNum;
T_zPS_LTE_P_McchCfgInfo atMcchCfgList[Z_LTE_MAX_MBSFN_AREA_NUM_IN_CELL];
T_zPS_LTE_P_MbmsNotifcCfg tNotifcCfg;
}T_zPS_LTE_P_McchCfgReq;
typedef struct
{
WORD wSfAllocEnd;
WORD wDataMCS;
WORD wMsp;
WORD wPadding;
}T_zPS_LTE_P_PmchCfg;
typedef struct
{
WORD wPmchCfgNum;
WORD wPadding;
T_zPS_LTE_P_PmchCfg tPmchCfg[Z_LTE_P_MAX_PMCH_NUM];
DWORD dwUsedLochIdList[Z_LTE_P_MAX_PMCH_NUM];
}T_zPS_LTE_P_PmchInfoList;
typedef struct
{
WORD wMsgId;
WORD wMbsfnAreaId;
WORD wCommSfAllocPeriod;
WORD wPadding;
T_zPS_LTE_P_MbsfnSubframeConfigList tCommSfAlloc;
T_zPS_LTE_P_PmchInfoList tPmchInfoList;
}T_zPS_LTE_P_MtchCfgReq;
typedef struct
{
WORD wMsgId;
WORD wMbsfnAreaId;
DWORD dwUsedLochIdList[Z_LTE_P_MAX_PMCH_NUM];
}T_zPS_LTE_P_MtchMaskSetReq;
typedef struct
{
WORD wMbsfnAreaId;
WORD wRelMcch;
WORD wRelMtch;
WORD wPadding;
}T_zPS_LTE_P_PmchRelInfo;
typedef struct
{
WORD wMsgId;
WORD wRelNum;
T_zPS_LTE_P_PmchRelInfo atPmchRelList[Z_LTE_MAX_MBSFN_AREA_NUM_IN_CELL];
}T_zPS_LTE_P_PmchRelReq;
typedef struct
{
WORD wLochId;
WORD wEndSf;
}T_zPS_LTE_P_PmchSI;
typedef struct
{
WORD wMsgId;
WORD wMbsfnAreaId;
WORD wPmchIndex;
WORD wMsiNum;
T_zPS_LTE_P_PmchSI tMsiList[Z_LTE_P_MAX_SESSION_NUM_IN_PMCH];
}T_zPS_LTE_P_Msi_Req;
typedef struct
{
WORD wSubFN;
WORD wBufIndex;
WORD wMbsfnAreaId;
WORD wPmchIndex;
WORD wMcch;
WORD wTbLen;
PBYTE pbMCHPduData;
}T_zPS_LTE_P_MCHRecvCtrlInfo;
#ifdef BTRUNK_SUPPORT
typedef struct
{
/*±ØÑ¡²ÎÊý*/
WORD wSpsIntervalDl;
WORD wSpsRnti;
WORD wSetupFg;
/*ÓÉbSetupFgʹÄÜ*/
WORD wMCS;
WORD wVRBassignmentflag;
WORD wOffset;
WORD wIRV;
WORD wPadding;
}T_zPS_LTE_P_BtrunkSpsConfigDl;
typedef struct
{
WORD wMsgId;
WORD wSelfHoFg;
WORD wSubFrameAssign;
WORD wSpecialSubFramePatterns;
WORD wAntennaPortsCount;
WORD wDlEarfcn;
WORD wUlEarfcn;
WORD wPhyCellId;
WORD wGrnti;
WORD wBlerEnable;
WORD wBlerTrigger;
WORD wcqiProhibitTimer;
WORD wBtrunkPa;
WORD wEnableSpsFg;
T_zPS_LTE_P_BtrunkSpsConfigDl tBrunkSpsConfigDl;
WORD wBandWidth; // ȡֵ{6, 15, 25, 50, 75, 100}£¬È¡0xFFFFʱ,ÎïÀí²ãÑØÓÃÔ­Ð¡ÇøµÄÏÂÐдø¿í
WORD wPadding;
}T_zPS_LTE_P_Btrunk_Ttch_ConfigInfo;
typedef struct
{
WORD wMsgId;
WORD wCfgType;
WORD wPadding;
WORD wGrnti;
}T_zPS_LTE_P_Grnti_Config;
typedef struct
{
WORD wMsgId;
WORD wPadding;
}T_zPS_LTE_P_Dedicated_Rel;
typedef struct
{
WORD wMsgId;
WORD wPadding;
}T_zPS_LTE_P_BtrunkConfig_Rel;
typedef struct
{
WORD wMsgId;
WORD wPadding;
WORD wCQI;
WORD wMCS;
} T_zPS_LTE_P_BTUNK_CQI_IND;
typedef struct
{
WORD wDataLen;
WORD wPadding;
PBYTE pbBTPchData;
} T_zPS_LTE_P_TPchData_Ind;
#endif //ENDIF BTRUNK_SUPPORT
typedef struct
{
WORD wMsgId;
WORD wCmd; /* ÃüÁîºÅ£¬¶ÔÓ¦²»Í¬µÄÎïÀí²ã¹¦ÄÜ */
WORD wMode; /* 0±íʾÉèÖã¬1±íʾ²éѯ */
WORD wVal1Fg; /* ±íʾVal1/Val2ÊÇ·ñ´æÔÚ£¬0±íʾ²»´æÔÚ£¬1±íʾ´æÔÚ */
WORD wVal2Fg;
WORD wPadding;
DWORD dwVal1; /* ²ÎÊý1/²ÎÊý2£¬ÐÞ¸Ä/¶ÁÈ¡µÄÎïÀí²ã²ÎÊý£¬²ÎÊýʵ¼Êº¬ÒåÓÉÎïÀí²ã¸ø³ö */
DWORD dwVal2;
}T_zPS_LTE_P_Zepcg_Req;
typedef struct
{
WORD wCmd; /* ÃüÁîºÅ£¬¶ÔÓ¦²»Í¬µÄÎïÀí²ã¹¦ÄÜ£¬bMode=0/1¶¼ÓÐЧ */
WORD wMode; /* 0±íʾÉèÖöÔÓ¦µÄÏìÓ¦£¬´Ëʱ£¬ºóÐø²ÎÊýbRsltÓÐЧ£¬bVal2Fg£¬bVal1£¬bVal2¾ùÎÞЧ
1±íʾ²éѯ¶ÔÓ¦µÄÏìÓ¦£¬´Ëʱ£¬ºóÐø²ÎÊýbRsltÎÞЧ£¬bVal2Fg£¬bVal1£¬bVal2¾ùÓÐЧ */
WORD wRslt; /* ±íʾÉèÖýá¹û£¬Z_TRUEÉèÖóɹ¦£¬Z_FALSEÉèÖÃʧ°Ü wMode=0ʱÓÐЧ */
WORD wVal1Fg[Z_ZEPCG_PARAM_NUM]; /*°´ÕÕϱêºÍdwValÖÐÖµÒ»Ò»¶ÔÓ¦£¬bVal1Fg[0]±íʾdwVal[0]ÊÇ·ñ´æÔÚ,ÒÀ´ÎÀàÍÆ£¬0±íʾ²»´æÔÚ£¬1±íʾ´æÔÚ*/
LONG dwVal[Z_ZEPCG_PARAM_NUM]; /*²ÎÊý1/²ÎÊý2¡­£¬ÐÞ¸Ä/¶ÁÈ¡µÄÎïÀí²ã²ÎÊý£¬²ÎÊýʵ¼Êº¬ÒåÓÉÎïÀí²ã¸ø³ö*/
}T_zPS_LTE_P_Zepcg_Cnf;
typedef struct {
WORD wMsgId;
WORD wPadding;
WORD wSim1Act;/*0-È¥»î,1-¼¤»î*/
WORD wSim2Act;/*0-È¥»î,1-¼¤»î*/
}T_zPS_LTE_P_CardSwitch_Req;
typedef struct {
WORD wResult;/*0-Z_SUCC,1-Z_FAIL*/
WORD wPadding;
}T_zPS_LTE_P_CardSwitch_Cnf;
typedef struct
{
SHORT sIslandThresh;//¹ÂµºÃÅÏÞĬÈÏ-4
WORD wPadding;
} T_zPS_LTE_Island_Ind;
/*ƵµãƵ¶ÎÅäÖýṹ*/
typedef struct
{
WORD wSupported; /* ¸ÃƵ¶ÎÊÇ·ñÖ§³Ö0:²»Ö§³Ö,1:Ö§³Ö */
WORD wDlStratHz; /* ÏÂÐÐÆðʼƵÂÊ µ¥Î»ÊÇ 100K HZ */
WORD wDlEndHz; /* ÏÂÐÐÆðʼƵÂÊ µ¥Î»ÊÇ 100K HZ */
WORD wDuplexMode; /* ¸ÃƵ¶ÎË«¹¤Ä£Ê½0:ÎÞЧֵ1:FDD,2:TDD */
DWORD dwMinDlEarfcn; /* ×îСÏÂÐÐÆµµã */
DWORD dwMaxDlEarfcn; /* ×î´óÏÂÐÐÆµµã */
WORD wUlStratHz; /* ÉÏÐÐÆðʼƵÂÊ µ¥Î»ÊÇ 100K HZ */
WORD wUlEndHz; /* ÉÏÐÐÆðʼƵÂÊ µ¥Î»ÊÇ 100K HZ */
DWORD dwMinUlEarfcn; /* ×îСÉÏÐÐÆµµã */
DWORD dwMaxUlEarfcn; /* ×î´óÉÏÐÐÆµµã */
}T_zPS_LTE_P_EutraBandInfo;
typedef struct
{
WORD wMsgId;
WORD wPadding;
T_zPS_LTE_P_EutraBandInfo atEutraBandInfo[66];/*Êý×éÓëBAND¶ÔÓ¦£¬atEutraBandInfo[1]±£´æµÄÊÇBAND1µÄÐÅÏ¢£¬ÒÔ´ËÀàÍÆ*/
/* ȡֵҪÓë cpu_r7\platform\ps\src\com\inc\nvparam_ps.h ÖеÄZ_MAX_LTE_BAND_NUMºêÖµÒ»Ö */
}T_zPS_LTE_P_EutraBandInfoList;
/*==============================================================================
PS->EPHY
ʼþ£ºLTE_P_RPI_SET_REQ_EV
¹¦ÄÜ:
ÉèÖÃEPHYʹÓõÄ×î´ó·¢É书ÂʵÄRPI VAULE
==============================================================================*/
typedef struct
{
WORD wRpi; /* ÓÃÓÚË÷ÒýPUMAXµÄRPIµµÎ»£¬·¶Î§0/1/2 */
WORD wPad;
}T_zPS_LTE_P_RpiSetReq;
#define ZPS_LTE_P_RPI_SUPPORT_MAX_BAND (BYTE)12
/*==============================================================================
PS->EPHY
ʼþ£ºLTE_P_RPI_CFG_REQ_EV
¹¦ÄÜ:
ÅäÖÃLTEÏÂ12¸öBAND£¬Ã¿¸öBANDÏÂRPIºÍPUMAXµÄÓ³Éä¹ØÏµ£¬ÆäÖÐRPI·¶Î§0~2
==============================================================================*/
typedef struct
{
T_zBandRpiCfg tLteBandRpiCfg[ZPS_LTE_P_RPI_SUPPORT_MAX_BAND];
}T_zPS_LTE_P_RpiCfgReq;
/*=======================================================================
OTDOA¶¨Î»¹¦ÄÜÐÂÔöPS-EPHY½Ó¿Ú(START)
========================================================================*/
#define OTDOA_MAX_NEIGHBOUR_CELL_CFG_NUM 8
#define OTDOA_MAX_NEIGHBOUR_CELL_MEAS_NUM 8
typedef struct
{
WORD wPrsBandWidth;
WORD wPrsConfIdx;
WORD wPrsSubFrameNum;
WORD wPrsMutSeqPerd;
WORD wPOString;
WORD wPadding;
}T_zPS_LTE_P_PrsInfo;
typedef struct
{
DWORD dwEarfcn;
WORD wPci;
WORD wAntennaConfig;
WORD wCpLen;
WORD wPrsInfoFg;
T_zPS_LTE_P_PrsInfo tPrsInfo;
}T_zPS_LTE_P_OTDOA_RefCellCfg;
typedef struct
{
DWORD dwEarfcn;
WORD wPci;
WORD wAntennaConfig;
WORD wCpLen;
WORD wPrsInfoFg;
T_zPS_LTE_P_PrsInfo tPrsInfo;
WORD wSlotNumOffset;
WORD wSubFrameOffset;
WORD wExptRstd;
WORD wExptRstdUncertainty;
}T_zPS_LTE_P_OTDOA_NCellCfg;
typedef struct
{
WORD wNCellNum;
WORD wPadding;
T_zPS_LTE_P_OTDOA_NCellCfg tOtdoaNCell[OTDOA_MAX_NEIGHBOUR_CELL_CFG_NUM];
}T_zPS_LTE_P_OTDOA_NCellCfgList;
typedef struct
{
DWORD bErrResolution :2;
DWORD bErrVal :5;
DWORD bErrNumSamples: 3;
DWORD bPading :22;
}T_zPS_LTE_P_OTDOA_MeasQua;
typedef struct
{
DWORD dwEarfcn;
WORD wPci;
WORD wSFN;
T_zPS_LTE_P_OTDOA_MeasQua tRefQua;
}T_zPS_LTE_P_OTDOA_RefMeasInfo;
typedef struct
{
DWORD dwEarfcn;
WORD wPci;
WORD wRstd;
T_zPS_LTE_P_OTDOA_MeasQua tRstdQua;
}T_zPS_LTE_P_OTDOA_NCellMeasInfo;
typedef struct
{
DWORD wNCellNum;
T_zPS_LTE_P_OTDOA_NCellMeasInfo tNCellMeasInfo[OTDOA_MAX_NEIGHBOUR_CELL_MEAS_NUM];
}T_zPS_LTE_P_OTDOA_NCellMeasList;
typedef struct
{
WORD wMsgId;
WORD wPeriodMeasFg;
WORD wRptTimerLen;
WORD wPading;
T_zPS_LTE_P_OTDOA_RefCellCfg tOtdoaRefCell;
T_zPS_LTE_P_OTDOA_NCellCfgList tOtdoaNCellList;
}T_zPS_LTE_P_OtdoaConfig_Req;
typedef struct
{
T_zPS_LTE_P_OTDOA_RefMeasInfo tRefMeasInfo;
T_zPS_LTE_P_OTDOA_NCellMeasList tNCellMeasList;
}T_zPS_LTE_P_OtdoaMeas_Rlt;
typedef struct
{
WORD wMsgId;
WORD wPading;
}T_zPS_LTE_P_OtdoaMeas_Abort;
/*=======================================================================
OTDOA¶¨Î»¹¦ÄÜÐÂÔöPS-EPHY½Ó¿Ú(END)
========================================================================*/
/*=======================================================================
230AÐÂÔöPS-EPHY½Ó¿Ú(START)
========================================================================*/
typedef struct
{
WORD CurUtcYear;
WORD CurUtcMonth;
WORD LastUtcYear;
WORD LastUtcMonth;
WORD FactoryCaliUtcYear;
WORD FactoryCaliUtcMonth;
SINT32 C0;
WORD Cnt;
}T_C0CaliInfo; //PHY->PS
typedef struct
{
WORD Year;
WORD Month;
T_C0CaliInfo tC0CaliInfo;
}T_zPs_Phy_UtcInfo; //PS SAVE IRAM
/* PHY-->PS */
typedef struct {
DWORD dwMCS;
DWORD dwAckCnt;
DWORD dwNackCnt;
}T_zPs_Phy_UlParam;
/*=======================================================================
230A¹¦ÄÜÐÂÔöPS-EPHY½Ó¿Ú(END)
========================================================================*/
#ifndef _OS_WIN
/***************************************************************************************************************************************
New Define
***************************************************************************************************************************************/
/*ºË¼äͬ²½FLAG */
#define CTRL_INFO_INTER_CORE_SYNC_ADDR IRAM_BASE_ADDR
/* SRAMÔ¤Áô10K(ÒÑʹÓÃ8576×Ö½Ú)ÓÃÓÚPSÓëEPHY½»»¥PCH/SI/ETWS/ULGRANT*/
#define CTRL_INFO_PS_EPHY_ADDR_BASE IRAM_BASE_ADDR_LTE
#define ZPS_LTE_GET_ULSCHEDIND_PTR CTRL_INFO_PS_EPHY_ADDR_BASE //mac
#define CTRL_INFO_LTE_ULSCHEDIND_ADDR ZPS_LTE_GET_ULSCHEDIND_PTR //PHY
#define CTRL_INFO_LTE_ULDATASEND_ADDR (sizeof(T_zPS_LTE_P_ExtendedUlSchedInfoInd) + ZPS_LTE_GET_ULSCHEDIND_PTR)
#define CTRL_INFO_LTE_ULSRSEND_ADDR (sizeof(T_zPS_LTE_P_ExtendedUlDataSendCtrlInfo)*8 + CTRL_INFO_LTE_ULDATASEND_ADDR)
//#ifdef LTE_R10_DEFAULT_SUPPORT
//#define CTRL_INFO_LTE_LARGEDLMACPDUBUF_IDXOUT_ADDR (sizeof(T_zPS_LTE_P_ExtendedUlDataSendCtrlInfo) + CTRL_INFO_LTE_ULDATASEND_ADDR)
//#else
//#define CTRL_INFO_LTE_LARGEDLMACPDUBUF_IDXOUT_ADDR (sizeof(T_zPS_LTE_P_UlDataSendCtrlInfo) + CTRL_INFO_LTE_ULDATASEND_ADDR)
//#endif
/*largeDLMacPduBuf*/
#define CTRL_INFO_LTE_LARGEDLMACPDUBUF_IDXOUT_ADDR ((4>>CPU_SHIFT) + CTRL_INFO_LTE_ULSRSEND_ADDR)
#define CTRL_INFO_LTE_LARGEDLMACPDUBUF_IDXIN_ADDR ((2>>CPU_SHIFT) + CTRL_INFO_LTE_LARGEDLMACPDUBUF_IDXOUT_ADDR)
#define ZPS_LTE_GET_FREE_LARGEPDU_IDXARRAY_PTR ((4>>CPU_SHIFT) + CTRL_INFO_LTE_LARGEDLMACPDUBUF_IDXOUT_ADDR)
/*smallDlMacPduBuf*/
#define CTRL_INFO_LTE_SMALLDLMACPDUBUF_IDXOUT_ADDR (((Z_EUMAC_DL_LARGEPDU_BUF_NUM*2)>>CPU_SHIFT) + ZPS_LTE_GET_FREE_LARGEPDU_IDXARRAY_PTR)
#define CTRL_INFO_LTE_SMALLDLMACPDUBUF_IDXIN_ADDR ((2>>CPU_SHIFT) + CTRL_INFO_LTE_SMALLDLMACPDUBUF_IDXOUT_ADDR)
#define ZPS_LTE_GET_FREE_SMALLPDU_IDXARRAY_PTR ((4>>CPU_SHIFT) + CTRL_INFO_LTE_SMALLDLMACPDUBUF_IDXOUT_ADDR)
//#define DATA_BUF_LTE_PCH_ADDR (((Z_EUMAC_DL_SMALLPDU_BUF_NUM * 2)>>CPU_SHIFT) + ZPS_LTE_GET_FREE_SMALLPDU_IDXARRAY_PTR)
//ZPS_LTE_GET_FREE_SMALLPDU_IDXARRAY_PTR֮ǰ´æµÄÊÇС¿éµÄË÷Òý£¬ÏÖÔÚ¸ÄΪС¿éÔ¤ÉêÇëµÄС¿éµØÖ·
#define DATA_BUF_LTE_PCH_ADDR (((Z_EUMAC_DL_SMALLPDU_PRE_MALLOC_MAX * 4)>>CPU_SHIFT) + ZPS_LTE_GET_FREE_SMALLPDU_IDXARRAY_PTR)
#define DATA_BUF_LTE_SI_BUF0_ADDR ((Z_LTE_P_MAX_PCH_BUF_SIZE>>CPU_SHIFT) + DATA_BUF_LTE_PCH_ADDR)
#define DATA_BUF_LTE_SI_BUF1_ADDR ((Z_LTE_P_MAX_SI_BUF_SIZE>>CPU_SHIFT) + DATA_BUF_LTE_SI_BUF0_ADDR)
#ifdef BTRUNK_SUPPORT
#define DATA_BUF_LTE_TPCH_ADDR ((Z_LTE_P_MAX_SI_BUF_SIZE >>CPU_SHIFT)+ DATA_BUF_LTE_SI_BUF1_ADDR)
#define DATA_BUF_LTE_ETWS_ADDR ((Z_LTE_P_MAX_PCH_BUF_SIZE>>CPU_SHIFT) + DATA_BUF_LTE_TPCH_ADDR)
#else
#define DATA_BUF_LTE_ETWS_ADDR ((Z_LTE_P_MAX_SI_BUF_SIZE>>CPU_SHIFT) + DATA_BUF_LTE_SI_BUF1_ADDR)
#endif
#define IND_MSG_LTE_ISLAND_ADDR ((Z_LTE_P_MAX_SI_BUF_SIZE>>CPU_SHIFT) + DATA_BUF_LTE_ETWS_ADDR)
#define CTRL_INFO_LTE_SUBFRAMENUM_ADDR (sizeof(T_zPS_LTE_Island_Ind) + IND_MSG_LTE_ISLAND_ADDR)
#define CTRL_INFO_LTE_HARQBUF_ADDR (sizeof(UINT32) + CTRL_INFO_LTE_SUBFRAMENUM_ADDR) //³¤¶È64×Ö½Ú£¬12»ò16¸öÏÂÐÐLTE HARQ BUF BLOCK ADDR£¬Ã¿¸öBLOCK´óС128KB
#define CTRL_INFO_UTC_TIME_ADDR ((Z_LTE_P_HARQ_BUF_SIZE>>CPU_SHIFT) + CTRL_INFO_LTE_HARQBUF_ADDR) //sizeof(T_zPs_Phy_UtcInfo)
#define CTRL_INFO_UL_PARAM_ADDR (sizeof(T_zPs_Phy_UtcInfo) + CTRL_INFO_UTC_TIME_ADDR) //sizeof(T_zPs_Phy_UlParam)
/**************************************************************************
* PSµÄPDU BUFÕ¼ÓÃDDR ¿Õ¼ä *
**************************************************************************/
#define MACPDU_BUF_LTE_DDR_ADDR (ICP_DATA_BASE_ADDR<<CPU_SHIFT)
/* Á¬Ðø86¸öÏÂÐÐMAC PDU BUF(´ó¿é) */
#define DATA_BUF_LTE_LARGE_DLMACPDUBUF_ADDR MACPDU_BUF_LTE_DDR_ADDR
/*Á¬Ðø8¸öÉÏÐÐMAC PDU BUF 8*9696 Byte ,ÒÔ80KB¼ÆËã*/
#define DATA_BUF_LTE_ULMACPDUBUF0_ADDR (DATA_BUF_LTE_LARGE_DLMACPDUBUF_ADDR + 0xC6F00)//9472*86+256
/* ÉÏÐÐPDCP PDU BUF ½öPSʹÓà ---¸ÄΪ¶¯Ì¬ÉêÇ룬²»ÐèÒª */
//#define DATA_BUF_LTE_ULPDCPPDUBUF_ADDR (DATA_BUF_LTE_ULMACPDUBUF0_ADDR + 0x13000) //9696*8+256
//#define DATA_BUF_LTE_DLPDCPSDUBUF_ADDR (DATA_BUF_LTE_ULPDCPPDUBUF_ADDR + 0x1E100)//15*8200B+16B(padding)
#define DATA_BUF_LTE_ULMACPDUBUF0_END_ADDR (DATA_BUF_LTE_ULMACPDUBUF0_ADDR + 0x13000) //9696*8+256
//#endif //#if defined(_CHIP_ZX297520) || defined(_CHIP_ZX2804)??
/* ÏÂÐÐPDCP SDU BUF */
#define DATA_BUF_LTE_DLRLCSDUBUF_ADDR DATA_BUF_LTE_ULMACPDUBUF0_END_ADDR
//#define DATA_BUF_LTE_DLRLCSDUBUF_ADDR (DATA_BUF_LTE_ULMACPDUBUF0_ADDR + 0x12900)
#define DATA_BUF_LTE_LOGOUTPUT_1SBUF0_ADDR (DATA_BUF_LTE_DLRLCSDUBUF_ADDR + 0xC400)
#define DATA_BUF_LTE_LOGOUTPUT_1SBUF1_ADDR (DATA_BUF_LTE_LOGOUTPUT_1SBUF0_ADDR + 0x1000)
#define DATA_BUF_LTE_LOGOUTPUT_100MSBUF0_ADDR (DATA_BUF_LTE_LOGOUTPUT_1SBUF1_ADDR + 0x1000)
#define DATA_BUF_LTE_LOGOUTPUT_100MSBUF1_ADDR (DATA_BUF_LTE_LOGOUTPUT_100MSBUF0_ADDR + 0x7850)
#define DATA_BUF_LTE_LOGOUTPUT_40MSBUF0_ADDR (DATA_BUF_LTE_LOGOUTPUT_100MSBUF1_ADDR + 0x7850)
#define DATA_BUF_LTE_LOGOUTPUT_40MSBUF1_ADDR (DATA_BUF_LTE_LOGOUTPUT_40MSBUF0_ADDR + 0x1518)
#define DATA_BUF_LTE_LOGOUTPUT_40MSBUF2_ADDR (DATA_BUF_LTE_LOGOUTPUT_40MSBUF1_ADDR + 0x1518)
#define DATA_BUF_LTE_LOGOUTPUT_40MSBUF3_ADDR (DATA_BUF_LTE_LOGOUTPUT_40MSBUF2_ADDR + 0x1518)
#define ZPS_PHY_LTE_VALID_START_BUFFER_ADDR DATA_BUF_LTE_LARGE_DLMACPDUBUF_ADDR
#define ZPS_PHY_LTE_VALID_END_BUFFER_ADDR DATA_BUF_LTE_ULMACPDUBUF0_END_ADDR - 4
//#define ZPS_PHY_LTE_VALID_END_BUFFER_ADDR Z_UPLINK_LTE_PDCP_PDU_BASE_ADDR
#define DATA_PS_EPHY_UL_DATA_PROTECT_FLAG_ADDR (ZPS_PHY_LTE_VALID_END_BUFFER_ADDR)
/* ÏÂÐÐÊý¾ÝÀàÐÍ*/
#define ZPS_LTE_DLDATATYPE_PCH 1
#define ZPS_LTE_DLDATATYPE_SI0 2
#define ZPS_LTE_DLDATATYPE_SI1 4
#define ZPS_LTE_DLDATATYPE_PDU 8
#define ZPS_LTE_DLDATATYPE_ETWS 16
#ifdef BTRUNK_SUPPORT
#define ZPS_LTE_GET_TPCHBUF_PTR (PBYTE) DATA_BUF_LTE_TPCH_ADDR
#endif
#define ZPS_LTE_GET_HFN (*(volatile UINT32 *)(CTRL_INFO_LTE_SUBFRAMENUM_ADDR))
#define ZPS_LTE_SET_PS_EPHY_UL_DATA_PROTECT_FLAG (*(volatile UINT32 *)(DATA_PS_EPHY_UL_DATA_PROTECT_FLAG_ADDR) = 0x5a5a5a5a)
#define ZPS_PHY_INTER_CORE_SYNC_FLAG (*(volatile UINT32 *)(CTRL_INFO_INTER_CORE_SYNC_ADDR))
#endif//#ifndef _OS_WIN
#endif /*_PS_EPHY_INTERFACE_H*/