【经验】在蓝牙SOC EFR32BG的蓝牙项目中外部中断的处理
SILICON LABS 蓝牙SOC EFR32BG系列芯片兼容蓝牙5、蓝牙5.1和蓝牙MESH规范,集成BALUN和PA,具有出色的接收灵敏度和发射功率。芯片还有多种低能耗模式,芯片较适合低功耗蓝牙或蓝牙MESH的应用中。
蓝牙项目程序的核心是一个主循环,而且因为蓝牙任务都是时间要求比较严格的任务,所以要及时处理蓝牙事件。当项目中需要处理外部中断事件时,如何处理外部中断事件与蓝牙事件的关系是工程师必须要解决的一个问题。
当外部中断需要处理的不是一个简单的任务时,则可以考虑在中断服务程序中设置全局变量,再由主循环进行处理。当然最优的解决方法是由中断程序调用gecko_exteranl_signal()函数,这个函数会将新的system_external_signal事件添加到蓝牙事件队列中,然后,在主循环中会收到system_exteranl_signal事件,并在这个事件中执行中断需要触发处理的事务。
程序在处理外部中断功能时,先对GPIO的外部中断及相关的回调函数进行设置,这些可以在进入主循环前处理,程序部分可以参考以下处理Button的一段程序:
GPIOINT_Init() //函数初始化GPIO中断分配
GPIO_PinModeSet(button_port,button_pin,gpioModeInput,1);//设置对应的GPIO引脚为输入模式
GPIO_ExtIntConfig(button_port,button_pin,button_pin,true,true,true);//配置对应引脚为外部中断引脚,设置外部中断号及使能上升沿、下降沿中断及使能外部中断
GPIOINT_CallbackRegister(button_pin,button_press_release_callback);//注册回调函数,在外部中断事件发生后会直接调用这个回调函数
回调函数如下:
Void button_press_release_callback(uint8_t pin)
{
Gecko_external_signal(1);
}
为了区分中断源, gecko_external_signal() 传递了32位的位字段。在不同的中断处理程序中设置不同的位,这样可以在主循环中检查触发了哪个中断。
在主循环中接下来按如下的方式处理外部中断事件:
evt = gecko_wait_event();
switch (BGLIB_MSG_ID(evt->header)) {
case gecko_evt_system_external_signal_id:
printf(“\r\n Got signal #%X\r\n,evt->data.evt_system_external_signal.extsignals);
break;
}
这里只是给了一个打印函数,正常的项目中需要在这里处理外部中断触发的事务。
另外,我们也可以看到gecko_external_signal()传递的是32位的位字段,也就是最多可以传递32个事件给蓝牙协议栈,而且不只是外部中断事件可以调用gecko_external_signal()函数,像定时中断、UART中断等都可以传递外部事件给蓝牙协议栈,最后由蓝牙协议栈统一调试处理事务,整个项目中协议栈与应用程序的调度就如下图:
这样即不影响蓝牙协议栈与外部中断等事务的处理就不会产生相互的影响了。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由John提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
【经验】EFR32BG22系列蓝牙SOC电池电压与VDD供电电压检测ADC的方法
EFR32BG22作为低功耗蓝牙SOC方案,经常应用于电池供电的方案中,一般采用内部的ADC作为采集通道,内部的输入源作为输入接口,来测试VDD供电电压。本文将讲解电池电压与VDD供电电压检测ADC的方法。
设计经验 发布时间 : 2020-11-28
【经验】Silicon Labs 蓝牙Mesh SoC版Provisioner流程介绍
Silicon Labs的蓝牙Mesh SoC EFR32BG是目前市场上非常流行的蓝牙Mesh方案,该芯片支持BLE5.1的全部特性,支持BT Mesh 1.1的全部特性,具有技术上的先进性。在做蓝牙Mesh网关时,需要使用EFR32BG作为Provisioner,本文介绍下Silicon Labs SoC版Provisioner的流程。
设计经验 发布时间 : 2019-07-10
【经验】EFR32BG系列蓝牙SoC之低功耗测试操作指导
很多的蓝牙设备都是电池供电的,因此对蓝牙SoC功耗水平测试与评估就非常有必要。Silicon Labs公司提供的蓝牙评估板底板,都带有电流功耗测试功能,搭配Simplicity studio v4开发平台的energy profile功耗测试上位机,非常容易测试出EFR32BG系列蓝牙SoC的功耗水平。我们详细介绍功耗测试需要的软件和硬件以及测试操作。本文就将具体进行说明。
设计经验 发布时间 : 2020-02-20
Silicon Labs EFR32BG27蓝牙SoC用在CGM中,支持3v或1.5v电池供电,可做到21天超长续航时间
EFR32BG27蓝牙SoC由世界知名半导体厂商Silicon Labs推出,基于ARM Cortex-M33处理器内核,拥有超低功耗、超小体积和超大资源等优势,成为了CGM设备的理想选择。
应用方案 发布时间 : 2023-06-13
芯科科技针对蓝牙Mesh 1.1标准版本发布技术更新,增强安全性和系统可靠性,引入许多通信增强功能
芯科科技宣布针对最新的蓝牙Mesh 1.1标准版本发布技术更新,包括改进了安装和更新过程,增强安全性和系统可靠性,并引入许多通信增强功能。这些功能提升将在许多商业和工业应用中发挥作用,例如商业照明系统,有助于降低进入连接网络照明控制(NLC)系统的门槛。
厂牌及品类 发布时间 : 2024-01-18
基于芯科科技BG2x SoC的蓝牙信道探测和能量收集参考设计演示 – 尽在芯科科技/深圳物联网展
Silicon Labs(亦称“芯科科技”)在8月28至30日举办的“2024年深圳物联网展(IOTE Shenzhen)”展出现下最火的蓝牙信道探测(Channel Sounding)和能量收集(Energy Harvesting)参考设计,从而推动更多物联网创新应用。芯科科技的现场全面展示其BG2x低功耗蓝牙SoC和模块系列在蓝牙信道探测和能量收集技术方面的最新进展。
厂牌及品类 发布时间 : 2024-09-03
汇顶科技(GOODIX)低功耗蓝牙Soc选型表(ON型号)
目录- 蓝牙SoC
型号- GR5515I0ND,GR5515IENDU,GR5515RGBD,GR5513BEND,GR5515GGBD,GR5515IGND,GR5515I0NDA
【技术】蓝牙5与蓝牙MESH,增加蓝牙传输距离并将蓝牙设备进行组网通讯
Silicon Labs公司作为世界顶级的物联网芯片、软件、解决方案供应商,推出支持蓝牙5.0的SOC芯片EFR32BG系列和通过认证、集成天线、远距离传输、小封装的蓝牙模块BGM系列。Silicon Labs公公司针对蓝牙产品,提供整套完善的开发工具,蓝牙Mesh网络开发包,例程和手机APP代码。运用Silicon Labs公司提供的丰富资源,可以提高设计产品的稳定性,加快上市时间。
新技术 发布时间 : 2018-05-18
芯科科技EFR32BG27蓝牙SoC助力持续性血糖监测CGM设备长达21天续航时间
在当今医疗领域,持续性血糖监测(CGM)成为人们关注的焦点,特别是对于糖尿病患者而言,实时了解血糖水平变化对于治疗和生活质量的提升具有举足轻重的意义。Silicon Labs提供的极小型、超低功耗EFR32BG27(BG27)蓝牙SoC在CGM中的应用显得尤为突出。本文将详细介绍BG27蓝牙SoC在CGM中的应用及其突出特点。
应用方案 发布时间 : 2024-07-12
洞悉标准化蓝牙ESL应用潜力,芯科科技全系列低功耗、高性能蓝牙SoC和模块现已支持最新蓝牙5.4版本
随着蓝牙标准的推陈出新,Silicon Labs(亦称“芯科科技”)也持续升级蓝牙解决方案,全系列低功耗、高性能蓝牙SoC和模块现已支持最新蓝牙5.4版本,以满足开发人员的需求。
厂牌及品类 发布时间 : 2023-08-10
BG24蓝牙SoC具备低功耗、小型化等特性,为CoreHW提供蓝牙RTLS的先进解决方案
Silicon Labs(亦称“芯科科技”)的BG24蓝牙SoC具备低功耗、小型化等特性,并支持蓝牙定位技术包括蓝牙到达角(AoA)和蓝牙信道探测(Channel Sounding),为CoreHW公司提供了最先进的实时定位服务(RTLS) 解决方案,以开发出创新的CoreTag和CoreLocator定位应用产品。
应用方案 发布时间 : 2024-06-21
芯科科技BG2x系列蓝牙SoC引领可穿戴设备创新,打造AI健康生活新纪元
随着人们对个人健康和智能生活的追求不断升温,可穿戴设备市场呈现出蓬勃发展的态势。在这个充满机遇与挑战的领域,Silicon Labs(亦称“芯科科技”)凭借其深厚的技术积累和敏锐的市场洞察,成为了行业的佼佼者。近日,芯科科技的家居和生活业务部可穿戴和生活业务经理Pranay Dixit参与了EEPW电子产品世界的访谈,就可穿戴设备市场的现状、公司战略以及技术创新等方面进行了深入探讨。
应用方案 发布时间 : 2024-04-30
Silicon labs 蓝牙SOC选型表
Cortex-M4/M33内核,支持蓝牙5,待机功耗1.2μA;实测网络节点100+,工作温度高达125℃,提供芯片和模块。其最新的1.4μA超低功耗蓝牙SoC EFR32BG22具有主频高达76.8MHz Cortex-M33内核,16位ADC,支持蓝牙5.2与AoX定位和蓝牙Mesh协议。
产品型号
|
品类
|
MCU Core
|
Core Frequency (MHz)
|
Flash
|
RAM
|
Secure Vault
|
Bluetooth
|
Bluetooth 5
|
Bluetooth Mesh
|
Cryptography
|
Output Power Range (dBm)
|
GPIO
|
I²C
|
SPI
|
I²S
|
Receive Sensitivity
|
ADC
|
Comparators
|
Temperature Range (ºC)
|
Package Type
|
Package Size(mm)
|
EFR32BG24B110F1536IM48-B
|
Bluetooth®Wireless SoC
|
ARM Cortex-M33
|
78
|
1536
|
256
|
High
|
5.3
|
Bluetooth 5
|
Bluetooth Mesh
|
AES-128;AES-256;ECC;SHA-1;SHA-2
|
-20 to 10
|
28
|
2
|
3
|
1
|
-97.6DBM(1Mbit/s GFSK)
|
12-bit,SAR,1Msps
|
2
|
-40 to 125
|
QFN48
|
6x6
|
选型表 - SILICON LABS 立即选型
【IC】芯科科技新品BG26蓝牙SoC小而美,RAM数据内存高达256kB,适用于智能家居和便携式医疗设备
芯科科技EFR32BG26(BG26)蓝牙SoC是使用低功耗蓝牙和蓝牙网状网络实现物联网无线连接的理想选择,其小型化的封装尺寸,再加上升级的存储容量和丰富的功能,将是智能家居、照明和便携式医疗产品的理想解决方案。
产品 发布时间 : 2024-04-22
【经验】Silicon Labs 蓝牙SOC EFR32BG22的Jlink接口连接问题解析
EFR32BG22是Silicon Labs公司推出的低功耗、低成本蓝牙SOC。EFR32BG22采用Cortex-M33内核,使用Jlink进行仿真调试、程序下载。出现错误提示,并且多次连接后可以正常连接,本文介绍其错误原因及其解决办法。
设计经验 发布时间 : 2021-10-19
电子商城
品牌:SILICON LABS
品类:Wireless Gecko SoC
价格:¥8.1764
现货: 110,879
现货市场
品牌:SILICON LABS
品类:Switch Hall Effect Magnetic Position Sensor
价格:¥2.2924
现货:150,000
服务
根据用户的蓝牙模块,使用Bluetooth 蓝牙测试装置MT8852B,测试蓝牙1.0至5.1,包括传输速率、功率、频率、调制和接收机灵敏度,生成测试报告。支持到场/视频直播测试,资深专家全程指导。
实验室地址: 深圳 提交需求>
提供语音芯片、MP3芯片、录音芯片、音频蓝牙芯片等IC定制,语音时长:40秒~3小时(外挂flash),可以外挂TF卡或U盘扩容。
最小起订量: 1pcs 提交需求>
登录 | 立即注册
提交评论