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.

CC1352P: DN507 FEC Decoding 解码结果与编码(DN504 FEC Implementation)不一致

Part Number: CC1352P
Other Parts Discussed in Thread: CC1312R, CC1101,

1. 参考DN504 FEC Implementation 我们将源数据(0x01 0x02 0x03 0x04 0x05)进行FEC编码,得到:4C F0 30 10 C8 7C C3 23 40 34 7C E3;

2. 参考DN507 FEC Decoding 对上述编码数据进行解码,得到结果是:0x01 0x02 0x73 0x04 0x05与源数据不一致!

 

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// NUMBER_OF_BYTES_AFTER_DECODING should be given the length of the payload + CRC (CRC is optional)
#define NUMBER_OF_BYTES_AFTER_DECODING 5
#define NUMBER_OF_BYTES_BEFORE_DECODING (4 * ((NUMBER_OF_BYTES_AFTER_DECODING / 2) + 1))
/*******************************************************************************
* @fn:
* @brief:
* @para:
* @return:
******************************************************************************/
void ReadRxFifo(uint8_t* rxBuf, uint16_t startAddr, uint16_t readLen)
{
// 01 02 03 04 05
const uint8_t rxRawData[] = { //
0x4C, 0xF0, 0x30, 0x10, //
0xC8, 0x7C, 0xC3, 0x23, //
0x40, 0x34, 0x7C, 0xE3, //
};
uint8_t iX;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • 您好我们已收到您的问题并升级到英文论坛寻求帮助,如有答复将尽快回复您。谢谢!

  • 您好,

    工程师这边做了如下测试:使用 CC1312编码并发送了数据0x01、0x02、0x03、0x04、0x05,并使用 CC1312R 接收它们。

    可以成功实现应用手册中描述的代码,但重新编写了代码所指的读取 FIFO 的部分,因为 CC1312没有 FIFO。

    数据包已正确编码和解码,此外,还通过与 CC1101和 SmartRF Studio 通信(使能 FEC)验证了这一点:

    工程师使用 CC1312R rfPacketRX 示例作为起点。请注意,缓冲区大小经过优化,仅适合此特定数据包(5字节有效载荷、无 CRC),从而产生12字节交错数据。

    修改后的代码如下所示:

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    /***** Includes *****/
    /* Standard C Libraries */
    #include <stdlib.h>
    /* TI Drivers */
    #include <ti/drivers/rf/RF.h>
    #include <ti/drivers/GPIO.h>
    /* Driverlib Header files */
    #include DeviceFamily_constructPath(driverlib/rf_prop_mailbox.h)
    /* Board Header files */
    #include "ti_drivers_config.h"
    /* Application Header files */
    #include "RFQueue.h"
    #include <ti_radio_config.h>
    /***** Defines *****/
    /* Packet RX Configuration */
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • 您好,

          我按照您提供的代码在CC1352P上运行了一下fecDecode,得到的结果依然是:0x01 0x02 0x73 0x04 0x05,与期望值不符。

          在程序中,我修改了两个地方:

          1. 屏蔽了RF_runCmd();

          2. 将数组packet的初始值强制设为:0x4C, 0xF0, 0x30, 0x10, 0xC8, 0x7C, 0xC3, 0x23, 0x40, 0x34, 0x7C, 0xE3;

          我的调试结果如下图:

         

         我的源代码如下:

          

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    /***** Includes *****/
    /* Standard C Libraries */
    #include <stdlib.h>
    /* TI Drivers */
    #include <ti/drivers/rf/RF.h>
    #include <ti/drivers/GPIO.h>
    /* Driverlib Header files */
    #include DeviceFamily_constructPath(driverlib/rf_prop_mailbox.h)
    /* Application Header files */
    #include "RFQueue.h"
    #include "smartrf_settings/smartrf_settings.h"
    /***** Defines *****/
    /* Packet RX Configuration */
    #define MAX_LENGTH 12 //(Number of bytes received when transmitting payload of 5 bytes)
    #define DATA_ENTRY_HEADER_SIZE 8 /* Constant header size of a Generic Data Entry */
    #define NUM_DATA_ENTRIES 2 /* NOTE: Only two data entries supported at the moment */
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • 我的开发环境:

    ​    1. Code Composer Studio Version: 9.2.0.00013
        2. SimpleLink CC13x2 26x2 SDK 3.20.0.68
        3. Compiler version: TI v18.12.3.LTS

  • 同样的代码,将其移植到MSP432P411R上运行,得到的结果就是:0x01 0x02 0x03 0x04 0x05。

    这是什么原因造成的?project properties的配置问题吗?

  • 我们跟进给英文论坛的工程师看下哈。

  • 您好,

    应该是与您使用什么工具相关。

    工程师给出的working example中使用的是 TI Clang v2.0.STS (CCS 11.20和 SDK 版本6.20)

    工程师也试了使用 CCS 9.3和 TI v18.12.8.LTS 进行测试,得到的结果与您相同。

    我们会再请求下CCS 团队的帮助,有新的进展尽快给到您。

  • 您好,这个问题有新的进展吗?
    另外,麻烦分享一下该问题的英文论坛帖子的链接。

  • 您好,

    您的问题并没有解决吗?因为看到您点击了“认为已解决”?

    您可以在英文论坛看下:

    e2e.ti.com/.../cc1352p-dn507-fec-decoding-results-are-inconsistent-with-the-code-dn504-fec-implementation

  • 您好,

    这个问题还没解决,在SimpleLink CC13x2 26x2 SDK 和 Compiler version: TI v18.12.3.LTS 上依然是存在这个问题的。

    我的诉求有两个:
    1. 在当前开发环境(CCS、 SDK、 Compiler )下,能否解决这个问题?如果能,该怎么做?
    2. 如果在当前开发环境(CCS、 SDK、 Compiler )下,无法解决这个问题,请高祖我什么版本的开发环境,不会出现这个问题。MCU必须是CC1352P。

    谢谢!

  • 我们跟进给工程师了,您可以多关注英文论坛的答复。

  • 抱歉我们的工程师这边也并不太清楚此问题的根本原因,但正如之前给您的答复,工程师这边使用最新的SDK (6.20) 和 TI Clang v2.0.0.STS (CCS 11.20) 进行了测试,是没有任何问题的。