EFR32BG12P432F1024GL125
蓝牙低能耗 EFR32BG12 SoC(系列 1)
EFR32BG12P432F1024GL125 蓝牙低能耗 (BLE) 芯片包含 40 MHz ARM Cortex-M4 微控制器,并可提供 19 dBm 的最大输出功率。凭借 -94.8 dBm (1 Mbps 2 GFSK) 的接收灵敏度,EFR32BG12P432F1024GL125 可支持完整的 DSP 指令集和浮点运算单元以加速计算。此设备包括 1024 kB 闪存、256 kB RAM 并使用 BGA125 封装,采用创新型低能耗技术、快速唤醒时间和节能模式等低功耗 Gecko 技术。EFR32BG12P432F1024GL125 的软件和 SDK 可支持 BLE、蓝牙 5 以及蓝牙网状网络。该设备还支持专有无线协议的开发。
规格
技术文档
软件与工具
质量与封装
社区与支持
规格
查找类似型号
关键规格
MCU 内核
ARM Cortex-M4
|
核心频率 (MHz)
40
|
最大输出功率 (dBm)
19
|
||
闪存 (kB)
1024
|
内存 (kB)
256
|
蓝牙 5 - 2M PHY
是
|
||
蓝牙 5 - LE 长距离
否
|
蓝牙网状网络
是
|
能适用 Sub-GHz
否
|
||
封装类型
BGA125
|
数字 I/O 引脚
65
|
MCU 内核
ARM Cortex-M4
|
核心频率 (MHz)
40
|
最大输出功率 (dBm)
19
|
闪存 (kB)
1024
|
内存 (kB)
256
|
蓝牙 5 - 2M PHY
是
|
蓝牙 5 - LE 长距离
否
|
蓝牙网状网络
是
|
能适用 Sub-GHz
否
|
封装类型
BGA125
|
数字 I/O 引脚
65
|
EFR32BG 蓝牙 SoC 入门套件
EFR32BG12 蓝牙 +10 dBm 无线电板
Pro Kit for Amazon Sidewalk
技术文档
软件与工具
EFR32BG 蓝牙 SoC 入门套件
EFR32BG12 蓝牙 +10 dBm 无线电板
Pro Kit for Amazon Sidewalk
质量与封装
质量保证、环境和包装信息
上面显示的寿命日期针对此部件编号的首选版本,要获得部件编号版本的完整列表,请使用下面的搜索按钮。
作为其对供应连续性持续承诺的一部分,如果 Silicon Labs 自行确定供应链调整、产品改进、市场状况或类似的业务或技术问题使其有必要或可取,Silicon Labs 可以提供引脚兼容和功能等同的替代产品。
如果因为业务、技术或其他超出 Silicon Labs 合理控制范围的原因,使得 Silicon Labs 发现有必要终止产品,我们的政策规定我们将发出 EOL 通知,提供从通知发出之日起 6 个月的下达最终订单时间,以及从通知发出之日起 12 个月的最终发货时间。该政策符合半导体行业常用的 JEDEC 标准 EIA/JESD48。我们为产品的整个生命周期提供所需的支持。
查找并下载其他有关 Silicon Labs 设备的质量、环境、设备组成、测试结果、运输和供应链信息。
搜索结果将包括:
- 产品信息
- 包装信息
- 质量体系认证
- 财务信息
- 冲突矿产 (CMRT)
- 环境信息
- RoHS 合规认证
- REACH 声明
- 设备组成明细 (MDDS)
- MCD/FMD
- RoHS 合规认证
- 认证数据
- 贸易合规:ECC/HTS 代码
- 供应链信息
- IPC 1752-2 Class 6(XML 格式)
- ICP 测试报告
- 无卤素合规认证
- PFOS/PFOA 合规认证
- 供应保证函(长寿命)
社区与支持
How to use Ozone IDE for SiW917 debugging?
To debug using the Ozone IDE, please follow the instructions below.
Prior to debugging, please make sure you flash the firmware, that you wish to debug, using Simplicity Commander.
Link to flash the firmware: https://docs.silabs.com/wiseconnect/latest/wiseconnect-getting-started/getting-started-with-soc-mode#upgrade-si-wx91x-connectivity-firmware
Settings:
-
Install Ozone using this link: https://www.segger.com/downloads/jlink/#Ozone
-
Download "sl_siw917.jdebug" and "SiWx917.svd" files from this given link: https://www.silabs.com/Wi-Fi_I&C_Apps/Ozone/Ozone.zip
-
Unzip the downloaded folder.
-
Settings in"sl_siw917.jdebug" file should be done appropriately as mentioned below:
Where,
Project.AddPathSubstitute ("C:\Users\SimplicityStudio\workspace\wifi_powersave_standby_associated_soc", "$(ProjectDir)"); // Please provide the path of the folder.
Project.SetHostIF ("USB", "440270093"); // Check for this number using Simplicity Commander as shown in the below image:
Project.AddSvdFile ("C:\Users\Downloads\SiWx917.svd"); // Use the SVD file: SiWx917.svd
File.Open ("C:\Users\Downloads\wifi_powersave_standby_associated_soc.axf"); // Optional to add the *.axf file.
-
Connect your board and make sure it is in "MCU" Debug mode in Simplicity Commander.
-
Open Ozone IDE and click on "Next" button on the popup as shown below:
-
Now in Emulators connected via USB section, select your board and click on "Next" button.
-
Either click on "Next" Button or Browse the *.axf file. This is optional step.
-
Keep the default settings as is, in "Optional Settings" and click on "Finish" button.
-
Make the changes as shown below in "Project Load Diagnostics" and click on "Continue" button.
-
Now Click on "File" section and select "Open" option:
-
Now browse the "sl_siw917.jdebug" file and select it.
-
Another popup would automatically be prompted, browse and select the *.axf file for debugging
-
Click on "Attach & Halt Program"
-
Click on "Reset & Break at Symbol"
- After the 11th Step, the pointer will be at main() function:
Above are the steps which can help one to debug SiW917 using Ozone IDE.
Bluetooth Knowledge Base Article List
NOTE
-
Bluetooth Low Energy (BLE) Knowledge Base Articles are now moved to https://docs.silabs.com/bluetooth/latest/. They are not maintained any more.
-
Bluetooth Mesh Knowledge Base Articles are still VALID and maintained here.
Introduction
This Knowledge Base Article (KBA) aims to act as a “master” KBA which keeps a curated index of all the Bluetooth related KBAs divided into logical categories for an easier and more convenient look-up. It may also include non-KBA content which is relevant for designing your Bluetooth application (e.g. app notes or web pages).
If you are just getting started with Silicon Labs Bluetooth solutions then your starting point should be QSG139: Getting Started with Bluetooth® Software Development. At the end of that document you are presented with the flowchart below which shows what documents should be read and in which order. Additionally you can check out our Bluetooth Training page for more training material.
Knowledge Base Articles List
The content listed below is grouped together into categories to make it easier for you to find what you are looking for. Want to know more about security, or looking for a peripheral example, then head down to the right section and see what KBAs or other relevant content has been created under those topics.
Each category has an associated index number and each individual KBA has its own index number within the category. The KBA's are prefixed with KBA_BT_AABB where AA is the category index and BB is the KBA index within that category. The category index numbers are as follows:
- [01] Bluetooth - General
- [02] Bluetooth - Advertising
- [03] Bluetooth - Stack features
- [04] Bluetooth - Performance
- [05] Bluetooth - Bluetooth Mesh
- [06] Bootloading - General
- [07] Bootloading - UART DFU
- [08] Bootloading - OTA DFU
- [09] Application Examples
- [10] Peripheral Examples
- [11] Security
- [12] Tools
- [13] Hardware
- [14] Migration
- [15] Mobile
- [16] NCP
Note: Do you want to get automatic notifications when new content is added to the list? Just click the Follow button in upper right corner to subscribe to email notifications. We will make comments when new content is created to trigger those notifications.
[01] Bluetooth General
- KBA_BT_0101: Selecting Your Blue Gecko SoC/Module
- KBA_BT_0102: BLE Basics (master/slave, GATT client/server, data RX/TX)
- KBA_BT_0103: Understanding the Bluetooth Connection Process
- KBA_BT_0104: Acknowledged vs Unacknowledged GATT operations
- KBA_BT_0105: Bluetooth 5 Features
- KBA_BT_0106: Bluetooth SIG Resources
- KBA_BT_0107: Bluetooth Stack Operations Flowcharts
[02] Bluetooth - Advertising
- KBA_BT_0201: Bluetooth advertising data basics
- KBA_BT_0202: Bluetooth advertising using manufacturer specific data
- KBA_BT_0203: Providing Extra Data by Scan Response
- KBA_BT_0204: Using scan request reporting
- KBA_BT_0205: Advertisement Constructor
- KBA_BT_0206: Extended Advertising Example
- KBA_BT_0207: Periodic Advertising
- KBA_BT_0208: Chained Advertisements
[03] Bluetooth - Stack features
- KBA_BT_0301: LE Coded PHY on EFR32xG13
- KBA_BT_0302: Advertising and Scanning with LE Coded PHY
- KBA_BT_0303: Enabling Coexistence Feature in Bluetooth SDK projects
- KBA_BT_0304: Different characteristic value types
- KBA_BT_0305: Handling GPIO Interrupts using External Signals
- KBA_BT_0306: Using the lazy soft timer
- KBA_BT_0307: Enabling TX/RX activity indicator pins in BLE SDK 2.4.0 and later
- KBA_BT_0308: Polymorphic GATT
- KBA_BT_0309: How to save float values (or any arbitrary data) in PS keys
- KBA_BT_0310: Changes to the le_gap class of API functions
- KBA_BT_0311: Whitelisting
- KBA_BT_0312: Service Change Indications
- KBA_BT_0313: GATT Caching
[04] Bluetooth - Performance
- KBA_BT_0401: Optimizing Current Consumption in Bluetooth Low Energy Devices
- KBA_BT_0402: EM3 and EM4S for non-connectable advertising
- KBA_BT_0403: Using Energy Modes with Bluetooth Stack
- KBA_BT_0404: Throughput with Bluetooth Low Energy technology
- KBA_BT_0405: Bluetooth Tx power settings
- KBA_BT_0406: Adaptive Frequency Hopping
- KBA_BT_0407: Bluetooth Radio Task Priorities
- KBA_BT_0408: Current consumption during advertising with different Tx power setting
- KBA_BT_0409: Using the PLFRCO as low-frequency clock source
- KBA_BT_0410: TX power limitations for regulatory compliance (ETSI, FCC)
[05] Bluetooth - Bluetooth Mesh
- KBA_BT_0501: BT Mesh embedded provisioner example
- KBA_BT_0502: Bluetooth Mesh Vendor Specific Model Example
- KBA_BT_0503: Bluetooth Mesh Advertising Sets
- KBA_BT_0504: Bluetooth Mesh Mobile - Reduction of GATT Connections for Provisioning with Configuration - Implementation
- KBA_BT_0505: Bluetooth Mesh Training resources
- KBA_BT_0506: Minimalistic OnOff client for testing Bluetooth Mesh on custom board
- KBA_BT_0507: Bluetooth Mesh Host Switch Example
- KBA_BT_0508: Scanning BLE beacons in Bluetooth Mesh mode
- KBA_BT_0509: Bluetooth Mesh Host Provisioner
- KBA_BT_0510: Blacklisting Nodes From Bluetooth Mesh Network
- KBA_BT_0512: Bluetooth Mesh Proxy Client Example
- KBA_BT_0513: IV Update & Recovery Procedure and Sequence Number Storing Strategy
- KBA_BT_0515: Bluetooth Mesh Mobile - Import/Export Functionalities Concepts
- KBA_BT_0517: Bluetooth Mesh Node Reset Procedure
- KBA_BT_0518: Self provisioning and configuration example
-
KBA_BT_0519: Bluetooth Mesh ADK migration from 2.3.4 to 3.0.x
[06] Bootloading - General
- KBA_BT_0601: Why Doesn't My Sample Application Run?
- KBA_BT_0602: Bootloader changes in BLE SDK
- KBA_BT_0603: Adding Gecko Bootloader to Bluetooth projects
- KBA_BT_0604: Switching between firmware images using Internal Storage Bootloader
- KBA_BT_0605: Upgrading Gecko Bootloader
- KBA_BT_0606: Upgrading Gecko Bootloader with Slot address change
- KBA_BT_0607: Adding metadata to GBL files
- KBA_BT_0608: Factory programmed firmware of Bluetooth devices
[07] Bootloading - UART DFU
- KBA_BT_0701: Upgrading from factory firmware (v2.0.0) and from Bluetooth SDK v2.1.x with UART DFU type legacy bootloader
- KBA_BT_0702: UART DFU - Upgrading BGM111 by EFM32PG example
[08] Bootloading - OTA DFU
- KBA_BT_0801: Using Blue Gecko app OTA
- KBA_BT_0802: Uploading images to internal/external flash using OTA DFU
- KBA_BT_0803: Bluetooth OTA updates using customized advertising data
- KBA_BT_0804: Secure OTA DFU
- KBA_BT_0805: Setting Bluetooth Address as device name in OTA
- KBA_BT_0806: Using BLED112 to do Over-the-Air update of BGMxxx
- KBA_BT_0807: Implementing OTA firmware update in the user application
- KBA_BT_0808: OTA options for NCP-based designs
[09] Application Examples
- KBA_BT_0901: Bluetooth SoC-Empty example
- KBA_BT_0902: How to use Voice over Bluetooth Low Energy example for Thunderboard Sense
- KBA_BT_0903: SPP-over-BLE example
- KBA_BT_0904: Creating an Eddystone-URL Beacon
- KBA_BT_0905: SPP client example using BLED112 dongle
- KBA_BT_0907: Parallel handling of multiple slaves with Bluetooth stack
- KBA_BT_0908: Using RTCC as Timer or Calendar while running BLE stack
- KBA_BT_0909: Scheduling application tasks while running BLE stack
- KBA_BT_0910: Using the UD flash in the Bluetooth C SDK
- KBA_BT_0911: Midi over BLE
- KBA_BT_0912: Control LEDs on a Wireless Starter Kit from a Mobile App
- KBA_BT_0913: BLE Central and GATT client example - working with an Android app
- KBA_BT_0914: ANCS
- KBA_BT_0915: Throughput Tester Example
- KBA_BT_0916: Working with Long Characteristic Values
- KBA_BT_0917: Implementing wireless direct test mode (DTM)
- KBA_BT_0919: Using EM3 or EM4 energy mode in a Bluetooth beacon app
- KBA_BT_0920: Bluetooth Device Tracking with Tile
- KBA_BT_0921: Using Mbedtls with BLE
[10] Peripheral Examples
- KBA_BT_1001: Using the LEUART
- KBA_BT_1002: Using Low Energy Timers
- KBA_BT_1003: Using accelerometer found in the WSTK expansion board
- KBA_BT_1004: Hardware Timers with EFR32xG1x
- KBA_BT_1005: Reporting Battery Voltage over BLE
- KBA_BT_1006: Thermometer example with EFR32 internal temperature sensor
- KBA_BT_1007: Enable LCD screen on WSTK
- KBA_BT_1008: Watchdog on BGM111 (and other Blue Gecko modules / boards)
- KBA_BT_1009: Waking from Deep Sleep Using RF Sense
- KBA_BT_1010: Push buttons and interrupts in a Bluetooth project
- KBA_BT_1011: How can I extend the Bluetooth examples with UART functionality?
- KBA_BT_1012: Adding Watchdog in NCP Mode
Additional Resources
- MCU Peripheral Examples on GitHub (also includes EFR32)
[11] Security
- KBA_BT_1101: Using Bluetooth security features in Silicon Labs Bluetooth SDK
- KBA_BT_1102: Pairing Processes
- KBA_BT_1103: Application Layer Security
- KBA_BT_1104: The New Bond Replacement Algorithm
- KBA_BT_1105: How to handle missing bonding keys
- KBA_BT_1106: OOB introduction and example
- KBA_BT_1107: Secure connection with serial communication between two BGM modules
- KBA_BT_1108: Authenticating Bluetooth Devices with no User Interface
[12] Tools
- KBA_BT_1201: Condensed Bluetooth SDK revision history (2.0.0 and later)
- KBA_BT_1202: Building C++ BLE projects
- KBA_BT_1203: Creating projects for EFR32BG on a custom board
- KBA_BT_1204: How to flash BGM11x or EFR32BG from command line?
- KBA_BT_1205: Programming an external BGM111 using the WSTK
- KBA_BT_1206: Log System
- KBA_BT_1207: Event and Error Checking
- KBA_BT_1208: Using virtual COM port (VCOM)
- KBA_BT_1209: Debugging BGTool not being able to communicate with NCP target.
- KBA_BT_1210: Connect Custom board to Simplicity Studio using JTAG/SWD.
Additional Resources
[13] Hardware
- KBA_BT_1301: How to find schematics and other documentation for radio boards?
- KBA_BT_1302: Supplying EFR32 PAVDD from 3.3V
- KBA_BT_1303: Enabling LNA on MGM12P for Bluetooth usage
- KBA_BT_1304: Antenna tuning for BGM12x (coin-cell usage example)
- KBA_BT_1305: Quartz Crystals, MEMS Oscillators, and Phase Noise for BLE Applications
- KBA_BT_1306: TX Power Levels
- KBA_BT_1307: What is a STEP file and how to obtain a STEP file for Silicon Labs IOT products?
- KBA_BT_1308: Saving CTUNE value as manufacturing token
- KBA_BT_1309: Design and Assembly guidelines when using xGM parts based System in Package (SiP)
Additional Resources
- Debugging and Programming Interfaces for Custom Designs
- Production Programming Options for Silicon Labs Devices
- RF Range Calculator
- Driving FEMs (and PAs and LNAs) on EFR32
[14] Migration
- KBA_BT_1401: Updating NCP projects to SDK 2.4.x
- KBA_BT_1402: Bluetooth Smart SDK Migration Guide From V2.0.1 to V2.1.x
- KBA_BT_1403: Migrating Simplicity Studio projects from Bluetooth SDK 2.1.1 to 2.3.1
- KBA_BT_1404: Migrating Simplicity Studio projects from Bluetooth SDK 2.3.x to 2.4.x
- KBA_BT_1405: Migration guide to Bluetooth SDK 2.7.x
- KBA_BT_1406: Migrating Bluetooth Projects between SDK Releases
[15] Mobile
- KBA_BT_1501: BLE devices on iOS Bluetooth Settings page
- KBA_BT_1502: Evaluating SPP-over-BLE example using BLE1xx cable replacement app
- KBA_BT_1503: iOS 9.1 with respect to Bluetooth LE
- KBA_BT_1504: Mobile Devices used for Interoperability Testing
- KBA_BT_1505: Selecting suitable connection parameters for iOS
- KBA_BT_1506: How to find the Bluetooth 5 feature status of a listed device such as a smartphone
[16] NCP
KBA_BT_1502: Evaluating SPP-over-BLE example using BLE1xx cable replacement app
Introduction
This article shows how to evaluate the SPP-over-BLE BGScript example for BGM111 with the BLE1xx cable replacement app for iOS. The original example requires using 2 SLWSTK6101A but the server side project can be slightly modified so that it can be used with the iOS app as a client.
The BLE1xx cable replacement app can be found in any of the BLE1xx product pages in the Miscellaneous section -> BLE Cable Replacement and Heart Rate Demo App for Apple iOS (source code)
The app is compatible with the cable_replacement example (attached here as reference) from the BLExx SDK (commonly called legacy BLE) so the service UUIDs used in that example must be used in the SPP-over-BLE example as well. Attached is the server side project for BGM1xx with the required modifications in the GATT file to match the cable_replacement example:
1- UUID for SPP Service copied from cable_replacement example
2- UUID for SPP Data characteristic copied from cable_replacement example
3- SPP Data properties changed from write_no_response="true" to write="true"
Modifications (1) and (2) allow the iOS app to discover and show the device in the scan list and to discover the cable replacement service. Modification (3) is because the app is using WriteWithResponse to write data into the GATT. Using write instead of write_no_response decreases throughput but this app is not an optimal way to measure throughput so there is minimal impact. If you wish to develop your own app to measure the throughput then you can change the property back to write="true" and use WriteWithoutResponse on the app side. On this particular app you can find the call in the CRViewController.m file in the source code.
Running the Projects
The BGM111 project can be built and flashed with BGTool which can be launched from within Simplicity Studio or directly from the bgtool.exe executable located in C:\SiliconLabs\SimplicityStudio\v4\developer\stacks\ble\v2.0.0.0\protocol\bluetooth_2.0\bin
The iOS app is only available as source code so you need a MAC and Xcode to build and load the app to your iPhone or iPad.
Once both the BGM111 and the iOS device have their respective software you can open a terminal emulator to talk to BGM111 using baud 115200, 8N1 and no flow-control. To ensure that the connection is properly established you can reset the BGM111 after which you should see the message below (build number might be different if you're using a different SDK version).
Then you can open the iOS app and enable the scanner so that BGM111 SPP server becomes visible in the device list.
After selecting device it will discover the "BG Cable Replacement" service.
After selecting the service you will be able to exchange raw data with the BGM111. Data written in the terminal emulator will show up in the iOS app and vice-versa.