【经验】低功耗蓝牙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.sekorm.com
现货商城,价格查询,交期查询,订货,现货采购,在线购买,样品申请渠道:世强硬创平台电子商城www.sekorm.com/supply/
概念,方案,设计,选型,BOM优化,FAE技术支持,样品,加工定制,测试,量产供应服务提供:世强硬创平台www.sekorm.com
集成电路,电子元件,电子材料,电气自动化,电机,仪器全品类供应:世强硬创平台www.sekorm.com
  • +1 赞 0
  • 收藏
  • 评论 1

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

相关研发服务和供应服务

评论

   |   

提交评论

全部评论(1

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

相关推荐

【经验】Silicon Labs低功耗蓝牙SoC EFR32BG22如何通过GPIO唤醒UART通信

SiliconLabs的低功耗蓝牙SoC EFR32BG22系列芯片以极低的功耗和相对低廉的价格,达到了性价比的极致。目前大家开发EFR32BG22,大部分都会使其工作在休眠状态,一般会先用一个GPIO唤醒EFR32BG22,通过一定的条件使EFR32BG22停止休眠,再去串口通信,通信完成后,再进入休眠这样的流程。本文介绍下如何使用Silicon Labs的Bluetooth SDK实现该功能。

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

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

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

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

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

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

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

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

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

型号- HS6621CX,HS6621CG,HS6621CQ,HS6621CM,HA6621CM

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

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

型号- SIWG917M110LGT,SIWG917M100MGT,SIWG917M111MGT,SIWG917M141XGT,SIWN917M100LGT,SIWG917M121XGT,SIWG917M111XGT,SIWT917M100XGT

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

研讨会2024年Silicon Labs(芯科科技)无线SoC新产品研讨会

12月26日Silicon Labs(芯科科技)无线SoC新产品研讨会上将重磅推出的SiWx917以及MG2X系列无线SoC。两款产品均集成了先进的无线技术、强大的处理能力和高效的能耗管理,同时还具备了两项关键功能:超低功耗运行以及单芯片Matter over Wi-Fi功能支持。

2024-11-26 -  活动

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

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

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

EFR32BG24无线SoC系列数据手册

描述- 该资料介绍了EFR32BG24无线SoC系列芯片,适用于蓝牙低能耗和蓝牙网状网络连接。该系列芯片具备高性能2.4GHz射频、低功耗、AI/ML硬件加速器和安全保险库等功能,旨在为物联网设备制造商提供智能、稳健且节能的产品。其主要特点包括:32位ARM Cortex-M33核心最高运行频率78MHz,高达1536KB的闪存和256KB的RAM,高性价比设计,支持多种外围设备接口和应用协议。

型号- EFR32BG24B110F1536IM48-B,EFR32BG24B210F1024IM48-B,EFR32BG24A020F1024IM40-B,EFR32XG24,EFR32BG24A010F1024IM48-B,EFR32BG24A020F1024IM48-B,EFR32BG24 FAMILY,EFR32BG24B220F1024IM48-B,EFR32BG24B020F1536IM48-BR,EFR32,EFR32BG24,EFR32BG24A010F1024IM40-B

March, 2023  - SILICON LABS  - 数据手册  - Rev. 1.1 代理服务 技术支持 采购服务

【应用】亚米级、发射电流仅3.5mA@0dBm的蓝牙AOA室内定位系统方案

本方案采用Silicon Labs的低功耗蓝牙SoC芯片EFR32BG22,并搭配EPSON的高精度晶体38.4MHz无源晶体Q22FA1280041500,圣邦微SGMICRO的低噪声LDO SGM2036器件,实现亚米级、可探测方向、电池使用时间长的蓝牙AOA室内定位系统设计。

2020-04-11 -  应用方案

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

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

2024-06-21 -  产品

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

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

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

【应用】超低功耗2.4GHz WIFI+蓝牙二合一SoC芯片用于智能照明网关,射频电路集成度高满足小体积需求

WIFI、ZigBee等无线智能灯因为智能家居的普及而得到了很好的发展,多模网关因此应运而生,本文主要介绍旺凌科技的超低功耗2.4GHz WIFI+蓝牙二合一SoC芯片OPL1200在智能照明网关上的应用。

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

EFR32BG21 BLE无线SoC系列数据手册

描述- 该资料介绍了EFR32BG21蓝牙无线系统级芯片(SoC)的特性和应用。EFR32BG21适用于低功耗物联网设备,具备高性能的ARM Cortex-M33内核、2.4GHz无线电收发器、硬件安全引擎等功能,支持多种外围设备和接口,广泛应用于照明、智能家居、网关和数字助理等领域。

型号- EFR32BG21B010F1024IM32-B,EFR32BG21B020F1024IM32-D,EFR32BG21A020F768IM32-B,EFR32BG21A020F768IM32-D,EFR32BG21B010F512IM32-B,EFR32BG21A010F512IM32-B,EFR32BG21B020F768IM32-D,EFR32BG21B010F512IM32-D,EFR32BG21B020F768IM32-B,EFR32BG21A010F512IM32-D,EFR32BG21B020F512IM32-D,EFR32BG21B020F512IM32-B,EFR32BG21A020F1024IM32-B,EFR32BG21A020F512IM32-B,EFR32BG21,EFR32BG21A010F1024IM32-D,EFR32BG21A020F512IM32-D,EFR32BG21A010F1024IM32-B,EFR32BG21A020F1024IM32-D,EFR32BG21A010F768IM32-D,EFR32BG21B010F768IM32-B,EFR32BG21A010F768IM32-B,EFR32BG21B010F768IM32-D,EFR32BG21B020F1024IM32-B,EFR32BG21B010F1024IM32-D

May, 2024  - SILICON LABS  - 数据手册  - Rev. 1.2 代理服务 技术支持 采购服务

EFR32BG22C112无线Gecko Soc数据表

描述- EFR32BG22C112 无线 Gecko SoC 是一款专为物联网设备设计的低功耗蓝牙 5.2 连网解决方案。该芯片集成了 38.4 MHz Cortex-M33 内核和高性能 2.4 GHz 无线电,具备低功耗、高可靠性和安全性等特点,适用于资产标签、消费电子、医疗器械、体育健身、智能家居和建筑自动化等领域。

型号- EFR32BG22C112F352GM32-C,EFR32BG22C112

June 2021  - SILICON LABS  - 数据手册  - Rev. 1.1 代理服务 技术支持 采购服务
展开更多

电子商城

查看更多

品牌:SILICON LABS

品类:Wireless Gecko SoC

价格:¥8.1764

现货: 101,879

品牌:芯海

品类:低功耗蓝牙SOC芯片

价格:¥6.1334

现货: 5,951

品牌:芯海

品类:低功耗蓝牙SOC芯片

价格:¥6.4706

现货: 5,151

品牌:芯海

品类:蓝牙芯片

价格:¥4.6667

现货: 990

品牌:芯海

品类:低功耗蓝牙SOC芯片

价格:¥3.5334

现货: 240

品牌:芯海

品类:低功耗蓝牙SOC芯片

价格:¥2.8236

现货: 100

品牌:芯海

品类:低功耗蓝牙SOC芯片

价格:¥5.8824

现货: 7

品牌:芯海

品类:低功耗蓝牙SOC芯片

价格:

现货: 0

品牌:芯海

品类:低功耗蓝牙SOC芯片

价格:¥4.1530

现货: 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

品类:8 BIT MCU

价格:¥3.7900

现货:3,451

品牌:SILICON LABS

品类:Wireless SoC

价格:¥15.1400

现货:1,455

品牌:SILICON LABS

品类:Mixed-Signal MCU

价格:¥11.1200

现货:1,201

品牌:SILICON LABS

品类:8 BIT MCU

价格:¥16.8500

现货:550

品牌:SILICON LABS

品类:8位MCU

价格:¥56.0000

现货:550

品牌:SILICON LABS

品类:8位MCU

价格:¥5.1900

现货:396

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

服务

查看更多

蓝牙射频及通信协议测试

根据用户的蓝牙模块,使用Bluetooth 蓝牙测试装置MT8852B,测试蓝牙1.0至5.1,包括传输速率、功率、频率、调制和接收机灵敏度,生成测试报告。支持到场/视频直播测试,资深专家全程指导。

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

物联网天线方案设计/虚拟天线芯片方案设计

Ignion可支持多协议、宽频段的物联网天线方案设计,协议:Wi-Fi、Bluetooth、UWB、Lora、Zigbee、2G、3G、4G、5G、CBRS、GNSS、GSM、LTE-M、NB-IoT等,频段范围:400MHz~10600MHz。

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

查看更多

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

查看更多

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

查看更多

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

查看更多

授权代理品牌:电子材料

查看更多

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

查看更多

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

查看更多

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

查看更多

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

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

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

收藏
收藏当前页面