目前测试RD模块,发现按例程中的tbsize=144,可以使用;tbsize最大到968,再往上就容易出错:比如打印信息打不出来;再到75536的时候,直接输出数据就不对了。
请问这个RD模块最大的处理能力!谢谢Andy!
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
在补充一下目前的情况(仅测试RD模块,已经在上行中去掉了SLL,CQI=0,ACK=0,不做HARQ)是这样的:
如果用tbsize=144,一切运行正常;
我们目前需要的是tbsize=149776(2Layers); 这时候应该出来26个块,总共460800B(这个数字是对应BCP编码得到的),但是实际上只能得到25个数据包,每个包长度18128B,还差一个数据包出不来(如果使用中断方式就收不到中断)。
有测试了一下1layer,tbsize=75376;这时候该出来13个块,全出来了,但是跑到free hRX的时候,程序自动就死了,相当于根本就free不掉整个Rx的句柄,很奇怪。
出错的地方
/* Free up the Rx object space */
Bcp_osalFree (pRxObjInfo, sizeof (Bcp_RxInfo), FALSE);
或者
Bcp_osalLog ("Invalid Receive Object Handle provided \n");
只要是这汇总osal的语句后,进去就出不来了
对LTE UL而言,RD的输入是解调解扰后的结果,其输入的配置参数是接速率匹配前后block size及block number,对tbSize=75376 case,我们是测过的肯定没有问题,至于你说的free的时候程序就异常,这个是跟软件有关,根据你的提示貌似free的结构体指针已经重复被释放了?具体可以跟进代码看看,至少你可以先确认在这种case输出的解速率匹配结果是正确的。
对tbsize=149776(2Layers)这种case我这边没有做过测试,你先确定接速率匹配输入输出的参数配置都没有问题,比如C, K, E等这些参数都没有问题。