【经验】低功耗蓝牙SoC芯片EFR32BG系列的UART串口通信参考代码与解析

2020-02-10 世强
低功耗蓝牙SoC芯片,EFR32BG,Silicon Labs 低功耗蓝牙SoC芯片,EFR32BG,Silicon Labs 低功耗蓝牙SoC芯片,EFR32BG,Silicon Labs 低功耗蓝牙SoC芯片,EFR32BG,Silicon Labs

EFR32BGSILICON LABS公司的高性能低功耗蓝牙SoC芯片。支持蓝牙5.0、5.1协议和蓝牙Mesh协议,最大发射功率可达+20dbm,接收灵敏度可达-98.9dbm@1Mbps。发射电流3.5mA@0dbm,接收电流仅有2.6mA。广泛用于智能门锁,蓝牙门禁系统,照明系统,智能家居,以及各种需要与智能手机连接的设备中。


在开发EFR32BG蓝牙SoC的代码过程中,经常需要用到uart通信,本文详细介绍如何找到参考代码以及代码解析。本文演示操作使用了EFR32BG21蓝牙SoC芯片的评估板,其他型号的蓝牙评估板或者蓝牙芯片型号对应的操作类似。本文使用的蓝牙SDK版本是2.13.0。


如果使用2.4.2版本或以前的蓝牙SDK,因为之前的一些版本SDK支持可视化的外设配置工具,可以参考文档:【经验】如何实现低功耗智能蓝牙SOC芯片EFR32BG UART通信接口配置与数据收发?

 

接下来,我们详细介绍如何找到EFR32BG蓝牙SoC的uart参考代码,其实很简单,在Simplicity Studio v4开发平台中,生成一份和芯片或者评估板对用的soc-empty工程代码,里面就包含了uart通信的代码。但是里面默认了一些uart配置参数,可能不是我们期望的,本文也会详细介绍如何去修改uart通信的引脚配置和参数等。 

 

 

在soc-empty参考代码中,app.c文件中有uart串口的初始化:

  /* Initialize debug prints. Note: debug prints are off by default. See DEBUG_LEVEL in app.h */
  initLog();

在soc-empty_BG21_UART_test\hardware\kit\common\drivers目录下,可以看到retargetserial.c文件。uart的初始化配置就在这个函数中了, void RETARGET_SerialInit(void),如果我们需要修改uart通信的参数,就可以在这里修改。

 

1、在void RETARGET_SerialInit(void)函数中,如下函数,是配置了一个GPIO口,用于使能评估板底板上的USB转uart功能的开关,只有在评估板上需要使用;在我们的产品中通常就用不到了,因此可以屏蔽这句代码。

  /* Enable DK RS232/UART switch */
  //RETARGET_PERIPHERAL_ENABLE();

 

2、修改uart波特率,默认的uart参数是115200,8N1。配置的代码在void RETARGET_SerialInit(void)函数中如下语句:

  USART_TypeDef           *usart = RETARGET_UART;
  USART_InitAsync_TypeDef init   = USART_INITASYNC_DEFAULT;

 

具体的USART_INITASYNC_DEFAULT定义在em_uart.h文件中,但是我们通常不建议直接修改em_usart.h库文件,如下:

/* Default USART Async struct for Series 1 and Series 2 devices */
#define USART_INITASYNC_DEFAULT                                                                    \
  {                                                                                                \
    usartEnable,           /* Enable RX/TX when initialization is complete. */                     \
    0,                     /* Use current configured reference clock for configuring baud rate. */ \
    115200,                /* 115200 bits/s. */                                                    \
    usartOVS16,            /* 16x oversampling. */                                                 \
    usartDatabits8,        /* 8 data bits. */                                                      \
    usartNoParity,         /* No parity. */                                                        \
    usartStopbits1,        /* 1 stop bit. */                                                       \
    false,                 /* Do not disable majority vote. */                                     \
    false,                 /* Not USART PRS input mode. */                                         \
    0,                     /* PRS channel 0. */                                                    \
    false,                 /* Auto CS functionality enable/disable switch */                       \
    0,                     /* Auto CS Hold cycles */                                               \
    0,                     /* Auto CS Setup cycles */                                              \
    usartHwFlowControlNone /* No HW flow control */                                                \
  }
#endif

 

可以按照下方的方式修改uart波特率为9600,同时需要在文件开头中包含em_usart.h头文件,例如:

特别提醒:使用EFR32BG21的评估板底板上集成的USB转串口功能连接电脑的串口助手工具测试时,波特率配置除115200之外的其他波特率会通信不正确,从评估板侧边的扩展口,外接一个uart转USB工具,9600、57600、19200等等波特率通信都是正常了。这个问题是评估板底板的问题,EFR32BG21芯片本身uart通信是没有问题的。

  #include "em_usart.h"

  。。。

  USART_TypeDef           *usart = RETARGET_UART;
  USART_InitAsync_TypeDef init   = USART_INITASYNC_DEFAULT; 

  init.baudrate= 9600;

 

3、修改UART口以及TX,RX对应的引脚。在工程中可以找到hal-config-board.h文件中,我们就可以根据实际电路图来修改对应的UART引脚了。注意如果以EVB板生产的soc-empty参考代码,hal-config-board.h文件目录在soc-empty_BG21_UART_test\hardware\kit\EFR32MG21_BRD4181A\config;如果是以芯片型号生成的soc-empty参考代码,hal-config-board.h文件目录在soc-empty代码工程的根目录下。以本文EFR32BG21 EVB生成的代码为例,使用uart引脚分配如下,如果不用硬件流控,可以不配置CTS和RTS,如果需要使用UART0,UART1,UART2,以及对应RX 、TX引脚,就直接修改宏定义即可:

 

// $[SERIAL]
#define BSP_SERIAL_APP_PORT                           (HAL_SERIAL_PORT_USART0)
#define BSP_SERIAL_APP_TX_PIN                         (5U)
#define BSP_SERIAL_APP_TX_PORT                     (gpioPortA)

#define BSP_SERIAL_APP_RX_PIN                         (6U)
#define BSP_SERIAL_APP_RX_PORT                     (gpioPortA)

#define BSP_SERIAL_APP_CTS_PIN                       (4U)
#define BSP_SERIAL_APP_CTS_PORT                   (gpioPortA)

#define BSP_SERIAL_APP_RTS_PIN                       (1U)
#define BSP_SERIAL_APP_RTS_PORT                   (gpioPortC)

 

具体哪些引脚可以作为UART引脚,详见对应芯片的数据手册,例如EFR32BG21的数据手册6.4 Digital Peripheral Connectivity。UART0可以分配的引脚是PA、PB、PC;UART1可以分配的引脚是PA和PB,UART2可以分配的引脚是PC。特别注意不是每个uart都可以使用所有的引脚,请查看数据手册引脚描述章节。

 

授权代理商:世强先进(深圳)科技股份有限公司
技术资料,数据手册,3D模型库,原理图,PCB封装文件,选型指南来源平台:安博在线平台www.cdsxtz.com
现货商城,价格查询,交期查询,订货,现货采购,在线购买,样品申请渠道:安博在线平台电子商城www.cdsxtz.com/supply/
概念,方案,设计,选型,BOM优化,FAE技术支持,样品,加工定制,测试,量产供应服务提供:安博在线平台www.cdsxtz.com
集成电路,电子元件,电子材料,电气自动化,电机,仪器全品类供应:安博在线平台www.cdsxtz.com
  • +1 赞 0
  • 收藏
  • 评论 1

本文由紫云提供,版权归安博在线平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:安博在线平台”。

平台合作

评论

   |   

提交评论

全部评论(1

  • maomao Lv8. 研究员 2020-02-10
    学习了~~~
没有更多评论了

相关推荐

【经验】如何实现低功耗智能蓝牙SOC芯片EFR32BG UART通信接口配置与数据收发?

EFR32BG是Silicon Labs公司的一款高性能低功耗蓝牙SOC芯片。广泛用于智能门锁,蓝牙门禁系统,照明系统,智能家居,以及各种需要与智能手机连接的设备中。这样一款应用广泛,高性能低功耗的BLE智能蓝牙SOC,在设计产品代码时,大都会使用UART通信,本文详细介绍如何配置UART引脚和初始化,以及代码的实现。

2018-05-30 -  设计经验 代理服务 技术支持 采购服务

【经验】如何开启低功耗蓝牙SoC芯片EFR32BG系列参考代码soc-empty工程中的调试串口打印输出功能

EFR32BG是Silicon Labs公司的高性能低功耗蓝牙SoC芯片。支持蓝牙5.1协议和蓝牙Mesh协议,支持AOA定位功能,苹果HomeKit,支持多种硬件加密等。发射电流3.5mA@0dbm,接收电流仅有2.6mA。广泛用于智能门锁,蓝牙门禁系统,照明系统,智能家居。开发过程中,经常需要用到uart串口调试,本文详细介绍如何在soc-empty工程中开启调试串口。

2020-02-09 -  设计经验 代理服务 技术支持 采购服务

【经验】SSV5平台上如何创建超低功耗蓝牙SoC芯片EFR32BG22的工程和功耗测试?

Silicon Labs的超低功耗蓝牙SoC芯片EFR32BG22系列,具备行业领先的低功耗水平,非常适合电池供电的设备。本文详细介绍在Simplicity Studio V5开发平台上,如何创建工程和功耗测试。

2021-05-08 -  设计经验 代理服务 技术支持 采购服务

芯科科技智能家居蓝牙SoC芯片BG24提供+19.5dBm高射频功率与1.3μA超低功耗,助力实现远距离连接与超长续航

Silicon Labs BG24蓝牙SoC芯片专为智能家居设备设计,以+19.5 dBm的高射频功率覆盖更广区域,同时1.3 μA的深度睡眠功耗大幅延长设备续航时间。支持蓝牙5.3和蓝牙Mesh协议,BG24提升了智能门锁、传感器和网关等设备的通信稳定性与兼容性,是智能家居互联的理想选择。

2024-12-27 -  产品 代理服务 技术支持 采购服务

【应用】超低功耗M33内核的SoC EFR32BG22用于蓝牙体温计,可将纽扣电池寿命延长至十年

蓝牙体温计因为能够方便地与智能手机连接,并且因为体积小巧,已经在家庭体温测量中广泛使用。常见的蓝牙体温计大多采用CR2032规格的纽扣电池供电容量较小,因此需要选择极低功耗的蓝牙芯片方案,Silicon Labs的EFR32BG22(BG22)SoC低功耗蓝牙非常适合此类产品。

2020-04-01 -  应用方案 代理服务 技术支持 采购服务

EFR32BG24L无线SoC系列数据

EFR32BG24L无线SoC系列是适用于蓝牙低功耗和蓝牙网状网络的无线连接,具有高性能2.4GHz射频、低功耗、AI/ML硬件加速器和Secure Vault等关键特性。该系列SoC采用Cortex®-M33内核,最高运行频率78MHz,提供768kB闪存和96kB RAM,适用于智能家居、照明、便携式医疗设备和AI/ML等应用领域。

SILICON LABS  -  无线系统芯片 (SOC),EFR32BG24L,AI/ML,智能家居,照明,便携式医疗设备

2024年  - 数据手册  - Rev. 1.0 代理服务 技术支持 采购服务

【视频】SiWx917新一代超低功耗Wi-Fi 6+蓝牙BLE 5.4无线SoC芯片,实现超乎想象性能和体验的双重突破

SILICON LABS  -  WI-FI 6+蓝牙BLE 5.4无线SOC芯片,WI-FI 6 SOC,SIWG917M110LGT,SIWG917M100MGT,SIWG917M111MGT,SIWG917M141XGT,SIWN917M100LGT,SIWG917M121XGT,SIWG917M111XGT,SIWT917M100XGT,资产追踪,暖通空调,智慧楼宇,宠物追踪器,智慧城市,智能门锁,HVAC,智能家居,运动手表,智慧医院,IPC,运动相机,智能电表,低功耗定位

商品及供应商介绍 代理服务 技术支持 采购服务

HS6621Cx 蓝牙低功耗兼容和专有2.4GHz SoC芯片

本资料介绍了HS6621Cx蓝牙低功耗和2.4GHz专有SoC芯片。该芯片符合全功能蓝牙5.1标准,具备高接收灵敏度和可编程发射功率,支持多种数据速率和广播扩展功能。它采用ARM Cortex-M4F内核,具有丰富的接口和外设,适用于运动健康、智能家居、物联网等领域。

ONMICRO  -  BLUETOOTH LOW ENERGY COMPLIANT AND 2.4GHZ PROPRIETARY SYSTEM-ON-CHIP,符合蓝牙低功耗标准和2.4GHZ专有片上系统,蓝牙低功耗兼容和专有2.4GHZ SOC芯片,HS6621CX,HS6621CG,HS6621CQ,HS6621CM,HA6621CM,MESH组网,智能手表,手环,语音遥控器,无线透传,无线键鼠,智能锁,智能楼宇照明,智能开关,运动健康智能设备,智能家居,智能控制,物联网,天猫精灵

2021.12.08  - 数据手册  - V1.0 代理服务 技术支持 采购服务

EFR32BG24蓝牙6.0 channel sounding 帮助智能门锁距离感知精度提升到0.3米,更准确更安全

Silicon Labs 的 EFR32BG24 低功耗蓝牙 6.0 SoC 搭载的信道探测(Channel Sounding)技术,以及优秀的测距算法将距离感知精度提升至0.3 米,为智能门锁构建了更可靠的安全性。

2025-04-11 -  应用方案 代理服务 技术支持 采购服务

芯科科技BG24蓝牙SoC芯片内置AI/ML硬件加速器提供低功耗边缘计算能力,助力智能设备实现实时数据处理与决策

Silicon Labs BG24蓝牙SoC芯片通过内置AI/ML硬件加速器,赋予物联网设备卓越的边缘计算能力,使其能够在设备本地进行高效的实时数据处理与决策。结合低功耗设计和蓝牙5.3支持,BG24芯片在智能家居、工业监控和智能照明等领域表现出色,为未来智能设备的开发提供了强大的技术支撑。其低延迟和高效性能为用户带来更智能、更快速的应用体验,同时减少了对云计算资源的依赖,降低了整体运营成本。

2024-12-27 -  产品 代理服务 技术支持 采购服务

最新Matter智能家居参考设计打破生态藩篱—尽在深圳物联网展

随着智能家居市场的兴起,消费者对设备间的无缝互联与高效协同提出了更高要求。在这一情形下,Matter标准应运而生。连接标准联盟推出的Matter是一项全新的智能家居互联标准,旨在打破不同品牌、不同协议间的壁垒,实现智能家居设备的统一管理和互操作。自Matter标准发布以来得到了国内外众多厂商的支持,其功能不断增强,认证产品数量快速增长,覆盖品类更加多样化。本文介绍Matter 1.3带来哪些更新。

2024-08-16 -  原厂动态 代理服务 技术支持 采购服务

【应用】高集成度低功耗的蓝牙SOC芯片CST92F30应用于智能门锁,功耗更低且系统稳定性更高

芯海科技的高集成度低功耗蓝牙SOC芯片CST92F30基于低功耗蓝牙5.0协议栈,其片内置32位Cortex-M0 CPU、512KB Flash、138KB SRAM,最多可支持34个GPIO,12位ADC,最多支持16*18的键盘扫描,上述特性特别适用于智能门锁方案设计。

2019-09-04 -  应用方案 代理服务 技术支持 采购服务

芯科新推出无线SoC EFR32BG和EFR32MG24系列构建单芯片边缘AI解决方案,持续探索无线SoC+嵌入式AI

芯科科技新推出的EFR32BG和EFR32MG24产品旨在无线SoC上构建单芯片边缘AI解决方案,它是一种集成化的解决方案,实现更高的性能和更低的功耗,支持Matter、Zigbee、OpenThread、低功耗蓝牙。

2022-08-17 -  原厂动态 代理服务 技术支持 采购服务

思为无线发布低功耗、小体积、远距离蓝牙5.2数传模块BLE5201,发射功率最高6dBm

思为无线BLE5201蓝牙5.2数传模块具备超低发射和接收电流(发射功率为0dBm时3.6mA;接收2.6mA)和高性能、低功耗M33内核,可将纽扣电池的寿命延长至十年。目标应用包括蓝牙Mesh低功耗节点、智能门锁、个人医疗保健和健身设备。

2024-06-21 -  产品 代理服务 技术支持 采购服务
展开更多

电子商城

查看更多

品牌:SILICON LABS

品类:Wireless Gecko SoC

价格:¥8.1764

现货: 86,074

品牌:芯海

品类:低功耗蓝牙SOC芯片

价格:¥6.1334

现货: 5,951

品牌:芯海

品类:低功耗蓝牙SOC芯片

价格:¥6.4706

现货: 5,149

品牌:芯海

品类:低功耗蓝牙SOC芯片

价格:¥4.1530

现货: 5,000

品牌:芯海

品类:蓝牙芯片

价格:¥4.6667

现货: 990

品牌:芯海

品类:低功耗蓝牙SOC芯片

价格:¥2.8236

现货: 100

品牌:芯海

品类:低功耗蓝牙SOC芯片

价格:¥5.8824

现货: 7

品牌:芯海

品类:低功耗蓝牙SOC芯片

价格:¥3.5334

现货: 0

品牌:芯海

品类:低功耗蓝牙SOC芯片

价格:

现货: 0

品牌:航顺芯片

品类:低功耗蓝牙SoC芯片

价格:¥9.6000

现货: 0

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

现货市场

查看更多

品牌:SILICON LABS

品类:Switch Hall Effect Magnetic Position Sensor

价格:¥2.2924

现货:126,000

品牌:SILICON LABS

品类:Light Sensor

价格:¥20.3400

现货:28,003

品牌:SILICON LABS

品类:8位MCU

价格:¥4.9000

现货:12,000

品牌:SILICON LABS

品类:Mixed-Signal MCU

价格:¥10.1700

现货:10,000

品牌:SILICON LABS

品类:芯片

价格:¥14.5550

现货:1,874

品牌:SILICON LABS

品类:Mixed-Signal MCU

价格:¥11.1200

现货:1,201

品牌:SILICON LABS

品类:8位MCU

价格:¥56.0000

现货:550

品牌:SILICON LABS

品类:8 BIT MCU

价格:¥16.8500

现货:550

品牌:SILICON LABS

品类:8位MCU

价格:¥5.1900

现货:396

品牌:SILICON LABS

品类:8位MCU

价格:¥39.8000

现货:266

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

服务

查看更多

EDA芯片设计软件免费使用

世强深圳实验室提供Robei EDA软件免费使用服务,与VCS、NC-Verilog、Modelsim等EDA工具无缝衔接,将IC设计高度抽象化,并精简到三个基本元素:模块、引脚、连接线,自动生成代码。点击预约,支持到场/视频直播使用,资深专家全程指导。

实验室地址: 深圳 提交需求>

IC烧录代工及IC自动化烧录

拥有IC烧录机20余款,100余台设备,可以烧录各种封装的IC;可烧录MCU、FLASH、EMMC、NAND FLASH、EPROM等各类型芯片,支持WIFI/BT模组PCBA烧录、测试。

最小起订量: 1 提交需求>

查看更多

授权代理品牌:接插件及结构件

查看更多

授权代理品牌:部件、组件及配件

查看更多

授权代理品牌:电源及模块

查看更多

授权代理品牌:电子材料

查看更多

授权代理品牌:仪器仪表及测试配组件

查看更多

授权代理品牌:电工工具及材料

查看更多

授权代理品牌:机械电子元件

查看更多

授权代理品牌:加工与定制

世强和原厂的技术专家将在一个工作日内解答,帮助您快速完成研发及采购。
我要提问

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

平台客服
服务热线

联系我们

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

投诉与建议

E-mail:claim@sekorm.com

商务合作

E-mail:contact@sekorm.com

收藏
收藏当前页面