From 403f2638b77471fec732ad1d24d6a0746ac1237a Mon Sep 17 00:00:00 2001 From: sphoorthi Date: Thu, 28 Jan 2021 19:10:31 +0530 Subject: [PATCH] [JIRA ID - ODUHIGH-280] Changes in DU_CFG as per the TDD Change-Id: I1448423c7d14728ae006ed97e72b758fa60c77cf Signed-off-by: sphoorthi --- src/cm/du_app_mac_inf.h | 2 +- src/du_app/du_cfg.c | 58 ++++++++++++++++++++++++++++++++++--------------- src/du_app/du_cfg.h | 15 ++++++++----- 3 files changed, 51 insertions(+), 24 deletions(-) diff --git a/src/cm/du_app_mac_inf.h b/src/cm/du_app_mac_inf.h index cccce8ee7..16c90a95d 100644 --- a/src/cm/du_app_mac_inf.h +++ b/src/cm/du_app_mac_inf.h @@ -21,7 +21,7 @@ #define __MACINT_H__ #define NUM_NUMEROLOGY 5 /* Number of numerology */ -#define MAXIMUM_TDD_PERIODICITY 5 +#define MAXIMUM_TDD_PERIODICITY 10 #define MAX_SYMB_PER_SLOT 14 #define NUM_SSB 1 /* max value is 64 */ diff --git a/src/du_app/du_cfg.c b/src/du_app/du_cfg.c index a596fdf2b..17b0fb6a4 100644 --- a/src/du_app/du_cfg.c +++ b/src/du_app/du_cfg.c @@ -61,10 +61,15 @@ char encBuf[ENC_BUF_MAX_LEN]; * 0 DL DL DL DL DL DL DL DL DL DL DL DL DL DL * 1 DL DL DL DL DL DL DL DL DL DL DL DL DL DL * 2 DL DL DL DL DL DL DL DL DL DL DL DL DL DL - * 3 DL DL DL DL DL DL DL DL DL DL GD GD GD UL - * 4 UL UL UL UL UL UL UL UL UL UL UL UL UL UL + 3 DL DL DL DL DL DL DL DL DL DL DL DL DL DL + 4 DL DL DL DL DL DL DL DL DL DL DL DL DL DL + 5 DL DL DL DL DL DL DL DL DL DL DL DL DL DL + 6 DL DL DL DL DL DL DL DL DL DL DL DL DL DL + 7 DL DL DL DL DL DL DL DL DL DL DL DL F UL + 8 UL UL UL UL UL UL UL UL UL UL UL UL UL UL + 9 UL UL UL UL UL UL UL UL UL UL UL UL UL UL */ - +#ifdef NR_TDD /******************************************************************* * * @brief Fills the Slot configuration @@ -82,27 +87,42 @@ char encBuf[ENC_BUF_MAX_LEN]; * ****************************************************************/ void FillSlotConfig() { - uint8_t slot; - uint8_t symbol; - - for(slot = 0; slot <= 3; slot++) + uint8_t slot = 0; + uint8_t symbol =0; + + memset(duCfgParam.macCellCfg.tddCfg.slotCfg, 0, sizeof(duCfgParam.macCellCfg.tddCfg.slotCfg[0][0]*\ + MAXIMUM_TDD_PERIODICITY*MAX_SYMB_PER_SLOT)); + + //Filling the DL Slots + for(slot =0; slot < NUM_DL_SLOTS; slot++) { - for(symbol = 0; symbol < MAX_SYMB_PER_SLOT; symbol++) + for(symbol =0; symbol < MAX_SYMB_PER_SLOT; symbol++) + { duCfgParam.macCellCfg.tddCfg.slotCfg[slot][symbol] = DL_SLOT; + } } + + //Filling the Flexi Slot + for(symbol =0; symbol < NUM_DL_SYMBOLS; symbol++) + { + duCfgParam.macCellCfg.tddCfg.slotCfg[GUARD_SLOT_IDX][symbol] = DL_SLOT; + } + duCfgParam.macCellCfg.tddCfg.slotCfg[GUARD_SLOT_IDX][symbol] = GUARD_SLOT; + symbol++; + duCfgParam.macCellCfg.tddCfg.slotCfg[GUARD_SLOT_IDX][symbol] = UL_SLOT; - duCfgParam.macCellCfg.tddCfg.slotCfg[3][10] = GUARD_SLOT; - duCfgParam.macCellCfg.tddCfg.slotCfg[3][11] = GUARD_SLOT; - duCfgParam.macCellCfg.tddCfg.slotCfg[3][12] = GUARD_SLOT; - duCfgParam.macCellCfg.tddCfg.slotCfg[3][13] = UL_SLOT; - - for(symbol = 0; symbol < MAX_SYMB_PER_SLOT; symbol++) - duCfgParam.macCellCfg.tddCfg.slotCfg[4][symbol] = UL_SLOT; + //Filling the UL Slot + for(slot = GUARD_SLOT_IDX + 1; slot < MAXIMUM_TDD_PERIODICITY; slot++) + { + for(symbol =0; symbol < MAX_SYMB_PER_SLOT; symbol++) + { + duCfgParam.macCellCfg.tddCfg.slotCfg[slot][symbol] = UL_SLOT; + } + } } - +#endif /******************************************************************* - * * @brief Reads the CL Configuration. * * @details @@ -221,12 +241,14 @@ uint8_t readMacCfg() duCfgParam.macCellCfg.prachCfg.rsrpThreshSsb = RSRP_THRESHOLD_SSB; duCfgParam.macCellCfg.prachCfg.raRspWindow = RA_RSP_WINDOW; duCfgParam.macCellCfg.prachCfg.prachRestrictedSet = PRACH_RESTRICTED_SET; +#ifdef NR_TDD /* TDD configuration */ duCfgParam.macCellCfg.tddCfg.pres = TRUE; duCfgParam.macCellCfg.tddCfg.tddPeriod = TDD_PERIODICITY; FillSlotConfig(); +#endif /* RSSI Measurement configuration */ duCfgParam.macCellCfg.rssiUnit = RSS_MEASUREMENT_UNIT; @@ -476,7 +498,7 @@ uint8_t fillServCellCfgCommSib(SrvCellCfgCommSib *srvCellCfgComm) /* Configuring TDD UL DL config common */ tddCfg.refScs = SubcarrierSpacing_kHz30; - tddCfg.txPrd = TDD_UL_DL_Pattern__dl_UL_TransmissionPeriodicity_ms2p5; + tddCfg.txPrd = TDD_UL_DL_Pattern__dl_UL_TransmissionPeriodicity_ms5; tddCfg.numDlSlots = NUM_DL_SLOTS; tddCfg.numDlSymbols = NUM_DL_SYMBOLS; tddCfg.numUlSlots = NUM_UL_SLOTS; diff --git a/src/du_app/du_cfg.h b/src/du_app/du_cfg.h index ba5665f62..668074f0e 100644 --- a/src/du_app/du_cfg.h +++ b/src/du_app/du_cfg.h @@ -97,7 +97,11 @@ #define PRACH_PREAMBLE_RCVD_TGT_PWR -74 #define NUM_RA_PREAMBLE 63 #define RSRP_THRESHOLD_SSB 31 -#define TDD_PERIODICITY TX_PRDCTY_MS_2P5 + +#ifdef NR_TDD +#define TDD_PERIODICITY TX_PRDCTY_MS_5 +#endif + #define RSS_MEASUREMENT_UNIT DONT_REPORT_RSSI #define RA_CONT_RES_TIMER 64 #define RA_RSP_WINDOW 180 @@ -152,10 +156,11 @@ #define PUCCH_P0_NOMINAL -74 /* MACRO defines for TDD DL-UL Configuration */ -#define NUM_DL_SLOTS 3 -#define NUM_DL_SYMBOLS 12 -#define NUM_UL_SLOTS 1 -#define NUM_UL_SYMBOLS 0 +#define NUM_DL_SLOTS 7 +#define NUM_DL_SYMBOLS 12 +#define NUM_UL_SLOTS 2 +#define NUM_UL_SYMBOLS 1 +#define GUARD_SLOT_IDX 7 /* MACRO defines for SRC config */ #define SRS_RSRC_ID 1 -- 2.16.6