# CC2640R2F 不同尺寸和射频前端的SDK移植 # ## 芯片尺寸 ## 对于CC2640R2F IC,官方提供不同尺寸的芯片用以选择。在[Datasheet](http://www.ti.com/product/CC2640R2F/datasheet)能够知道这些尺寸。 ![不同芯片尺寸](http://www.leconiot.com/md_res/cc2640r2f/ble_stack_app/app_examples/trans_size/images/device_info.png) ## 射频前端 ## 对于这些不同的芯片尺寸,TI提供不同的[核心板](http://www.ti.com/product/CC2640R2F/toolssoftware#TIDesigns)和[开发套件](http://www.ti.com/product/CC2640R2F/toolssoftware#desKits)用以开发。 |参考设计|设计编号| |-------|-------| |[Bluetooth® low energy Beacons Reference Design](http://www.ti.com/tool/tidc-bluetooth-low-energy-beacons)|TIDC-BLUETOOTH-LOW-ENERGY-BEACONS| |[CC2650EM-4XD Reference Design](http://www.ti.com/tool/cc2650em-4xd-rd) |CC2650EM-4XD-RD| |[CC2650EM-4XS Reference Design](http://www.ti.com/tool/cc2650em-4xs-rd) |CC2650EM-4XS-RD| |[CC2650EM-4XS-EXT-REG Reference](http://www.ti.com/tool/cc2650em-4xs-ext-reg-rd) |Design CC2650EM-4XS-EXT-REG-RD| |[CC2650EM-5XD Reference Design](http://www.ti.com/tool/cc2650em-5xd-rd) |CC2650EM-5XD-RD Texas Instruments| |[CC2650EM-7ID Reference Design](http://www.ti.com/tool/cc2650em-7id-rd) |CC2650EM-7ID-RD Texas Instruments| |[CC2650EM-MurBal Reference Design](http://www.ti.com/tool/cc2650em-murbal-rd) |CC2650EM-MURBAL-RD| >**注意**: 特别需要说明的是,以上不同的[核心板](http://www.ti.com/product/CC2640R2F/toolssoftware#TIDesigns)设计在射频前端不太一样。主要是区分为内部偏置(Internal Bias)/外部偏置(External Bias) 和差分(Difference)单点(Single-End)射频接口,分别对应上面设计的4XD、4XS、5XD、7ID。 >**提示**:X=External I=Internal D=Difference S=Single ![不同射频前端](http://www.leconiot.com/md_res/cc2640r2f/ble_stack_app/app_examples/trans_size/images/rf_front.png) ## 有什么不同? ## * 芯片尺寸 主要是芯片大小、外设接口资源、IO数量上有差别; * 射频前端 不同射频前端在核心模块的大小和器件上面给与灵活性,但是对应的射频性能(灵敏度、最大输出功率)也不太一样。 * 开发套件 IO对应不一样,外设资源,传感器不一样,官方默认SDK射频LaunchPad,但是提供了其他开发套件的开发移植。 >**推荐**: 我们设计改良的[开发板](leconiot.taobao.com),完全兼容官方SDK。 ## 如何移植SDK适配我的硬件 ## ### 修改芯片尺寸 ### 明白了以上的芯片尺寸和射频前端,接下来就是修改支持LaunchPad+7*7 芯片尺寸默认工程到你手里硬件。TI已经保留了移植任何芯片尺寸和射频前端的接口。 参考`simple_peripheral`选择APP工程。 **Project->Opintions(Alt+F7)->C/C++ Compiler->Preprocessor->CC2640R2_LAUNCHXL** 根据你实际的芯片尺寸修改以下配置宏: |器件编号|芯片尺寸|选择配置宏|编译的板级文件| |-------|-------|---------|------------| |CC2640R2FRGZ | 7.00mm×7.00mm|CC2640R2_LAUNCHXL/CC2640R2DK_7ID|CC2640R2DK_7ID.h/CC2640R2_LAUNCHXL.h| |CC2640R2FRHB | 5.00mm×5.00mm|CC2640R2DK_5XD|CC2640R2DK_5XD.h| |CC2640R2FRSM | 4.00mm×4.00mm|CC2640R2DK_4XS|CC2640R2DK_4XS.h| |CC2640R2FYFV | 2.70mm×2.70mm|CC2640R2DK_CXS|CC2640R2DK_CXS.h| ```C // File="Project\source\ti\ble5stack\target\board.c" // Line="60" #if defined(CC2640R2DK_CXS) || defined (CC2640R2DK_4XS) \ || defined (CC2640R2DK_5XD) || defined (CC2640R2DK_7ID) #include "./cc2640r2em/cc2640r2em_board.c" #elif defined(CC2640R2_LAUNCHXL) #include "./cc2640r2lp/cc2640r2lp_board.c" #elif defined(CC2640R2_RC) #include "./cc2640r2rc/cc2640r2rc_board.c" #else // unknown board #error "***ERROR*** Invalid Board Specified! Please see board.h for options." #endif ``` ### 修改射频前端 ### 如果你是参考以上参考设计做的,基本上已经不要考虑射频部分,几乎是一一对应的。如果不是,根据以上对应的`编译的板级文件`找到对应射频前端配置。 |射频前端|配置宏| |-------|-----| |差分/内部偏置 |CC2650EM_7ID |差分/外部偏置|CC2650EM_5XD| |单端(RFN)/外部偏置|CC2650EM_4XS| |单端(RFP)/外部偏置|CC2640R2DK_CXS| >**注意**:这里不再需要考虑前面的芯片尺寸,只需要考虑射频前端,通过注意单端射频接口区分RFN/RFP接口。 >**注意**:官方SDK只支持还没有单端/内部偏置,可尝试参考[Troubleshooting](#Troubleshooting)更改。 ```C //File="Project\source\ti\ble5stack\boards\CC2640R2DK_4XS\CC2640R2DK_4XS.h" //Line="110" /* * ============================================================================ * RF Front End and Bias configuration symbols for TI reference designs and * kits. This symbol sets the RF Front End configuration in ble_user_config.h * and selects the appropriate PA table in ble_user_config.c. * Other configurations can be used by editing these files. * * Define only one symbol: * CC2650EM_7ID - Differential RF and internal biasing (default for CC2640R2 LaunchPad) * CC2650EM_5XD - Differential RF and external biasing * CC2650EM_4XS - Single-ended RF on RF-P and external biasing * CC2640R2DK_CXS - WCSP: Single-ended RF on RF-N and external biasing * (Note that the WCSP is only tested and characterized for * single ended configuration, and it has a WCSP-specific * PA table) * * Note: CC2650EM_xxx reference designs apply to all CC26xx devices. * ========================================================================== */ #define CC2650EM_7ID ``` ### 修改外设资源 ### 根据你实际硬件资源在,在对应的`编译的板级文件`中修改驱动资源、IO资源。 ### 举个栗子 ### 我们要修改当前默认的LaunchPad+7*7 到4ID,只需要按照[修改芯片尺寸](#修改芯片尺寸)修改芯片尺寸从**CC2640R2_LAUNCHXL**到CC2650EM_4XS,同时参考[修改射频前端](#修改射频前端)`CC2640R2DK_4XS.h`文件修改宏`CC2650EM_4XS`到`CC2650EM_7ID`。 ## Troubleshooting ## ### 我不知道我对应的射频前端 ### **Q:** 我购买的是模块,官方屏蔽罩不能确定射频前端? 我是软件工程师,不清楚什么叫前端? **A:** 可以尝试使用SmartRFStudio 依次尝试,直接 ![](http://www.leconiot.com/md_res/cc2640r2f/ble_stack_app/app_examples/trans_size/images/smart_rf_studio_rf_front.png) ### SDK没有单端内部偏置的射频前端,如何移植 ### 参考`ble_user_config.c/h`宏引用,修改。 ## 加入我们 ## 文章所有代码、工具、文档开源。加入我们[**QQ群 591679055**](http://shang.qq.com/wpa/qunwpa?idkey=d94f12d37c3b37892af4b757c6dc34bea140f3f3128a8d68e556a3d728148e85)获取更多支持,共同研究CC2640R2F&BLE5.0。

CC2640R2F&BLE5.0-乐控畅联 © Copyright 2017, 成都乐控畅联科技有限公司.