CC2652P: Freescale MC13213 to CC2652

Part Number: CC2652P
Other Parts Discussed in Thread: SIMPLELINK-CC13X2-26X2-SDK, SYSCONFIG, Z-STACK


We are actually using Freescale-NXP MC13213 (MC13192 MC13202) with the SMAC stack 

(this is the simplest stack from Freescale-NXP build over 802.15.4)

This chipset will be NLA end of this year and we want to replace it with CC2652P.

 I've installe all the SimpleLink440 suite and I'm abble to compile, run, debug on CC2652

(Module Eebyte E72 2G4M20S1E) but I'm unable toestablish Rf communication with Freescale.

This is not realy Zigbee . We wort at 2.4 GHz My questions are 100

1) Which project to you suggest to start with ?

I use rfEasyLinkRx for CC1352P2 with ti rtos for instance but which is the better choice ?

2) Which Rf configuration to use for all the rf parameters ?

There are a lot of things to configure, if someone have the correct configuration, I'll be very happy

(The best should be to have a wide open rf ant then to reduce acceptance)

3) Which is the configuration for the antenna switch as I have100

TX = DIO5 set to 1

RX = DIO6 set to 1

I really appreciate help to establish rf communication, after it'll be more easy ...

Best regards


  • Hello francois,

    I don't know anything about the previous hardware platform or software solution, but it sounds like you need an IEEE 802.15.4-based stack.  I recommend looking into the SIMPLELINK-CC13X2-26X2-SDK 15.4-Stack resources.  You can refer to the collector_2_4g, sensor_2_4g, and coprocessor examples based on your project's needs.  Your development should be based off of the LAUNCHXL-CC1352P-2 EVM, where SysConfig -> Show Board View -> Use Custom Board is selected (Lock PinMux unchecked) and TI Drivers -> RF is modified for 2 Antenna Switch Control Pins: DIO5/TX for CONFIG_RF_HIGH_PA and DIO6/RX for CONFIG_RF_24GHz.  You will need to know more about the Channel Mask and mode used by the Freescale device and modify TI 15.4 Stack SysConfig settings accordingly.  Several instructions can be found in the TI 15.4-Stack User's Guide.  If you really need Zigbee then the same instructions apply but for Z-Stack.

    You can also try to use Smart RF Studio to capture packets from the Freescale device using IEEE 802.15.4 mode and customize the Target Configuration for your specific board layout.


  • Hello Ryan,

    Thank you very much for your help and for the links you've indicated me. Here is what I've found : 

    1) I've installed, configured for DIO5 DIO6 and test with SmartRfStudio and found the following : 

    My protocol is 802.15.4 250 kbps OQPSK and I'm able to receive correct packets from the Freescale-NXP

    There are 2 choices : IEEE 802.15.4 and IEEE 802.15.4 10dBm : I don't know exactly the difference ?

    2) I don't think TI 15.4 stack could fit because I've no role of PAN-Coordinator or network devices.

    In my case, we only use the Rf layer without any stack on it and all devices act as master or slave.

    3) Now I want to move to a CCS project, I've loaded the RfPacketRx project and modified the syscfg properties : 

    RF STACK Custom IEEE 802.15.4 OQPSK at 2.4 GHz with High PA, Custom symbol Name, no PA table.

    When I compile, I have the RF_cmdPropRadioDivSetup and RF_cmdPropRx which are undefined.

    At this step, I don't know what to do?

    Do I have selected the good starting project for my application ?

    Do I have to declare or write my own functions ? (for antenna switching, it'll not be a big issue afterwards)

    Do I have to include somewhere the code generated by SmartRfStudio ?

    If you can give me some small guidance I'll be very very interested But you've put me on the right way Slight smile

    Best regards


  • Hi francois,

    1. I don't know exactly what you are looking at inside Smart RF Studio, but "10 dBm" implies hardware which is optimized for a maximum 10 dBm TX output like the LAUNCHXL-CC1352P-4 as compared to the LAUNCHXL-CC1352P-2 which utilizes a matching network to allow for the maximum 20 dBm output.

    2. You can consider any Proprietary RF solution, like rfPacketRxrfEasyLinkRx or rfWsnNode, depending on your application needs.  Please reference the Proprietary RF documentation and SimpleLink Academy Labs as well.

    3. You will need to change the RF_* definitions to those which are generated by the SysConfig output files based on the IEEE PHY selection. You should not need to create your own functions for antenna switching so long as you are using LAUNCHXL-CC1352P-2/4 examples. Please see the aforementioned documentation for more information.


  • Hello Ryan,

    Thank you for your help and for the samples of project you indicate.

    1) For the 10 dBm, I talk about the choice in syscfg, RF_STACKS, Custom, IEEE 802.15.4

    There are 2 choices, I've selected the 1st one (without 10 dBm)

    2) I've installed the projects you've indicated to me, modified RF_* declarations, modified to custom stack IEEE 802.15.4

    with 2,4 GHz parameters change slightly the fields in RF_cmdPropRx and RF_cmdPropTx, now I'm able to compile, load and run it

    The issue I've now is that I can't send several commands : 


    then RF_postCmd(rfHandle, (RF_Op*)&RF_cmdFs, 

    then RF_runCmd(rfHandle, (RF_Op*)&RF_cmdPropRx

    The Rf engine stucks and I've to restart the debugger to unock it (waiting for semaphore unlock ???)

    Restart of program in debugger do not release the Rf engine

    Do I have to acknowledge each function after completion ? or do I wait for a flag before sending a new command ?

    I'll continue tomorrow

    Best regards


  • Hey francois,

    Thanks for clarifying, maximum TX output power options are dependent on hardware selected.  I think this similar E2E thread is relevant to your RF command issues.


  • Ok thanks Ryan, I'll test tomorrow but this afternoon, I was able to catch one 

    frame send from my old Freescale/NXP interface Relaxed


  • Hello Ryan,

    Further to the indications and example you indicate me,

    I've now used only cmdPost (cmdRun for RF_cmdFs) and it sounds working 100

    I'm able to send a frame from old Freescale/NXP, perfectly receive it on the cc2652,

    when replying to the frame (other direction TI -> NXP) I've still some miss/errors and have to investigate further.

    I'll keep you in touch


  • Hi Ryan,

    It's 2 days that I work on the zigbee module.

    With SmartRF Studio, it works perfectly in both directions at the first attempt

    With a CCS project based on RfEchoRX nonrtos, it works perfectly for receiving.

    I've added some code to transmit a frame but without any success for now.

    The configurations generated by SmartRF Studio and syscfg are the same except in


    In SmartRF Studio tx power = 0xA73F; and in syscfg tx_power = 0xFFFF

    I was wondering if I have to configure the output amplifiers and where ?

    In the first step can I start without PA (and not having to switch the output pins) ?

    I'll continue next week

    Best regards


  • Hi francois,

    You will need to change the SysConfig Custom -> IEEE 802.15.4 -> High PA radio box depending on whether or not you are attempting to use the internal power amplifier and corresponding output RF pins. The default rfEchoRx example already has receive and transmit procedure, please try to get this and rfEchoTx working as explained in the README.  You can also reference the original settings with Proprietary PHYs to determine whether the issue is the PHY setup or HW configuration.  How do you determine whether frame transmission is not successful?


  • Hi Ryan,

    I've worked on our Ieee 802.15.4 communication and here are my up yo now results.

    For testing if I receive frames successfully, I use NXP debugger on a MC13213 test PCB and it stops at each received frame.  

    1) For the output PA and Rf mux with DIO5 DIO6 configuration is correct > I've measured with spectrum analyser and have the same

    level while emitting at 2405 MHz with Smart Rf studio7 and with my project.

    2) For Tx and Rx commands, I use definitively  RF_runScheduleCmd  which is better particulary for TX commands

    3) For Rx, each frame emitted from the old NXP design is catched each time correctly by the CC2652P

    4) For Tx, not all frames are correctly catched by the old NXP design, when sending several frames, I can catch it but not at the first attempt.

    (When testing, each frame send by Smart Rf studio7 (packet count =  1) is correctly catched by the old NXP design but not all frames from rfEchoTx)

    Can we have more informations about the exact configuration of Smart Rf studio7 configured in OQPSK particulary for transmitting packets ?

    (Configuration used, command used, perhaps pre-command send to the rf core, etc ...Because it works each time)



  • Hi Francois,

    Thank you for providing the detailed update.  Seeing as how the PHY should be identical in both instances, I recommend that you compare the SmartRF Studio register settings against the SysConfig ti_radio_config.c/h and determine what changes could be causing the misalignment observed.  You may even consider exporting the Smart RF code and using that in your project to see if it makes any difference.