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.

【BCP】关于上行RD模块输出的疑问



在C6670 evm开发板上调试BCP,上行只有ssl和rd两个模块,上行输出即RD模块的输出,

但是在例程中,调用Bcp_recv()之前,有一句注释,

/* RD output is one per code block per packet. */

也就是说,RD每次只输出一个code block数据,实际测试后,确实发现如此。

问题是,我往一个描述符灌装了多个code blocks,

比如说,code block的数量是8, 编码长度与下行中RM模块一样,为3840,

此时输出只有一个code block。

如何才能让RD符合期望,同时输出这8个code blocks数据呢?

谢谢。

  • PS

    在配置RD模块的header时,

    C,K,E这几个参数的配置与下行RM模块保持一致。

    RD的输出已用matlab实现并验证正确。

  • 想做上行还是下行 用的是mcsdk的例程么

    我们做出来就是多个数据包 您分配了多个足够大的descriptor给BCP的rx了么?

  • 在下行链路,做了8个480bit的数据,Rx分配了一个descriptor,调制输出正确。

    上行链路的ssl和rd模块,应该是做与下行链路相反的操作,参数配置与下行一样,测试给ssl输入是320个复数符号,输出只有160个复数符号的信息,

    于是为Rx分配了8个descriptor,无论是给ssl输入多少个160一组的复数符号,输出都只有160个复数符号的信息,后面全是0

    这应该是哪里配置错误?

  • ti的pdk包里的例程关于上行链路的部分

    while( (Bcp_rxGetNumOutputEntries(hRx)) == 0 );

    这里接收到的packets数量和下行有什么区别?

    while(1)

    {

    Bcp_recv(…);

    if(!hRxDrvBuffer)

    break;

    }

    运行到if语句判断时,程序就挂住了,

    似乎是packet没有完全处理完毕?

  • RM模块是做速率匹配,输入一个block,输出也是一个block,RD模块做的是接速率匹配,输入一个TB,输出是多个CB,所以输出RxFDQ中需要准备相应CB个数的描述符,同时各个描述符上挂的buffer 长度需要满足每个CB解速率匹配后的长度,否则也会存在包的堵塞出不来。RD中参数的配置对应协议中速率匹配前后的参数。