错误 #5125
UU口A18版本新传配置为1次情况下,L1C的TBSIZE参数与基站下发的不一致
100%
文件
历史记录
由 王 金伏 更新于 3 天 之前
- 文件 20260409-163133.jpg 20260409-163133.jpg 已添加
- 文件 20260409-163139.jpg 20260409-163139.jpg 已添加
- 文件 20260409-163139.jpg 20260409-163139.jpg 已添加
- 指派给 从 王 金伏 变更为 雪峰 赖
- % 完成 从 0 变更为 90
【问题描述】UU口A18版本新传配置为1的情况下,上行在做ping包业务时,出现大量PUSCH误包
【问题原因】新传配置为1的情况下,终端L1C调度给PUSCH的参数TBSIZE与基站下发TBSIZE的不一致。原因是dciNdi的值获取方式不对,应该在uecfg之后获取。
1 重传配置4次环境也能大部分解析TBsize,原因是配置重传4次时,lastNdi是非0乱值(重传配置1次时,lastNdi一直是0,dciNdi是基站给PDCCH解析出的,0和1交替出现);而dciNdi值是基站给PDCCH解析出来的,只有0和1;两个值做比较,不相同的话会将newdata置为1,去解析tBsize。newdata的值大部分是1(1次终端log中newdata有5532次10,30次0,0占0.53%)
2 重传配置1次环境,lastNdi的值一直是0,dciNdi值是基站给PDCCH解析出来的,0和1交替出现,只有dcindi的值是1时,判断不等满足条件才能翻转new_data为1,计算TBsize.
【解决方案】将uint8_t lastNdi = LOAD_EX_B(&ulProc_p[bufId][harqId].lastSchNdi);放到 ulProc_p = LOAD_EX_W(&ueCfg->ulProc);之后
同时将if( LOAD_EX_B(&dci0_1->mcs)>=28 ) (获取方式不对,应该指定先临时变量获取值,在加syn同步值)
修改为:
uint8_t mcs = LOAD_EX_B(&dci0_1->mcs);
__ucps2_synch(0);
if((28 mcs)||(29 mcs)||(30 mcs)||(31 mcs))
【问题验证】在环境验证,修改后不再出现此问题。待合入代码。
