【经验】解析芯科科技无线多协议SoC EFR32MG21中断控制系统中抢占优先与响应优先的设置
用户在使用SILICON LABS无线多协议SOC EFR32MG21时,有时需要将UART或TIMER的中断设置为高优先级,可以及时响应UART或TIMER的事件,防止有数据溢出或定时错过的情况出现。那要如何去设置中断的优先级?本文将为你介绍。
在了解如何通过程序设置中断优先级前,我们要清楚几个概念,抢占优先级、响应优先级、中断序列号。
我们先看一下什么是中断序列号,在Cortex-M内核的芯片中有一个嵌套向量中断控制器(NVIC),它负责中断的控制。NVIC将芯片内部的硬件中断分配了从小到大的序列号,如下图。这个序列号我们无法通过程序去修改,所以也称之为硬件优先级,在同时发生中断时,中断序列号小的先执行中断。但这个硬件优先级不能嵌套,序列号小的也不能打断序列号大的中断。
接下来我们再看抢占优先与响应优先,这两个优先级是可以通过软件编程进行修改的,所以这两个优先级又可以称之为可编程优先级。对于抢占优先级,不同等级间可以嵌套,高抢占优先级可以打断低抢占优先级中断。而对于响应优先级不可以嵌套,响应过程与硬件优先级相同。
在EFR32MG21中共使用4个位分配抢占优先与响应优先,它通过SCB->AIRCR[10:8]这三个位设置优先级分组,通过分组来分配抢占优先与响应优先的设置位数,具体设置如下:
从表格中可以看出有效的分组有5个分组,最多可设置的优先级为16级。在程序初始化后只能有一个优先级分组,系统上电后的默认优先级分组为0,4位优先级都分配给抢占优先设置,如果程序中有定时器或UART需要更快的响应中断能打断其它中断优先处理,可以将抢占优先级设置的高一些(与硬件优先一样,编号越小,等级越高)。
在程序中我们需要通过以下几个函数进行设置:
void __NVIC_SetPriorityGrouping(uint32_t PriorityGroup) //设置优先级分组,参数取值范围0~7
void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority) //设置指定中断的优先等级,priority参数的范围为0~15
但由于优先级中包括抢占优先与响应优先,具体取值需要去计算,为了方便,SDK中提供了下面这个函数去获取当前分组、抢占优先、响应优先设置下的优先级的值。
uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, uint32_t PreemptPriority, uint32_t SubPriority)
以下的代码是将USART1_RX_IRQn这个中断设置为优先级分组为5,抢占优先为2,响应优先为1。
NVIC_SetPriorityGrouping(5);
Priority = NVIC_EncodePriority (5, 2 , 1) ;
NVIC_SetPriority(USART1_RX_IRQn, Priority );
- |
- +1 赞 0
- 收藏
- 评论 0
本文由John提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
【经验】多协议无线 SOC EFR32MG实现ZigBee的OTA操作指南
EFR32MG系列是Silicon Labs公司推出支持多协议无线 SOC,可以单芯片支持私有协议、BLE5.0、BLE MESH、ZigBee和Thread协议,并且可以单芯片支持Sub-GHz和2.4GHz的频段。由于其超低功耗、高射频性能以及高集成度等特点被广泛应用于智能家居、安防、智能工业等市场。在ZigBee的实际应用中,OTA是必不可少的功能,由于选择的型号不同,配置OT
【经验】无线SoC EFR32MG21使用ADC后EM2模式功耗较高问题如何解决?
EFR32MG21是Silicon Labs最新一代支持多协议的无线SoC,最近有用户发现EFR32MG21初始化ADC后,进入EM2模式的电流比较高,无法恢复到正常的EM2电流,本文就将分析问题的原因并给出解决方法。
【经验】EFR32MG21多协议无线SoC的SWO PA03如何复用为普通GPIO口呢?
EFR32MG21 系列是 Silicon Labs 推出的高性价比的多协议无线SoC,用户在进行产品开发时会遇到 GPIO 不够用的情况,此时我们可以通过复用 JTAG 管脚中的 SWO log 输出脚,作为普通 GPIO 使用。本文介绍把 PA03 配置成普通按键的方法。
SILICON LABS ZIGBEE 无线 Gecko SoC选型表
EFR32MG无线 Gecko SoC 是在 IoT 设备上实现节能多协议连网的理想之选。芯片解决方案结合了 76.8MHz ARM和高性能 2.4GHz 无线电,旨在为 IoT连接应用提供行业领先的节无线 SoC。
产品型号
|
品类
|
Protocol Stack
|
Frequency Band @ Max TX Power(GHz@dBm)
|
Flash(kB)
|
RAM(kB)
|
GPIO(个数)
|
Operating Temperature(℃)
|
Storage Temperature(℃)
|
Pin Count
|
AVDD Supply Voltage(V)
|
EFR32MG12P433F1024GL125-C
|
Gecko Multi-Protocol Wireless SoC
|
Bluetooth LE Zigbee Thread Proprietary, Wi-SUN
|
2.4GHz @ 19dBm, Sub-GHz @ 20dBm
|
1024kB
|
256kB
|
65
|
-40℃~85℃
|
-50℃~150℃
|
BGA125
|
1.8V~3.8V
|
选型表 - SILICON LABS 立即选型
2.4GHz无线SoC MG21助力开发SONOFF微型Zigbee USB智能适配器支持路由和快充
SILICON LABS近日宣布,其EFR32MG21(MG21)2.4GHz无线SoC获SONOFF公司选用于开发新型“ZBMicro”智能开关。该产品是SONOFF最新的微型Zigbee USB智能适配器,也是智能家居技术领域的开创性产品。从作为USB设备的智能开关到作为Zigbee路由器和支持快速充电的功能,ZBMicro提供了无与伦比的用户体验,提升了现代智能家居的连接性和便利性。
EFR32MG21多协议无线SoC系列数据表
型号- EFR32MG21A020F512IM32-B,EFR32MG21B020F512IM32-D,EFR32MG21B020F512IM32-B,EFR32MG21A010F512IM32-B,EFR32MG21B010F512IM32-B,EFR32MG21A010F768IM32-D,EFR32MG21B020F1024IM32-B,EFR32MG21B010F1024IM32-B,EFR32MG21B010F768IM32-D,EFR32MG21B010F768IM32-B,EFR32MG21B010F1024IM32-D,EFR32MG21A010F768IM32-B,EFR32MG21B020F1024IM32-D,EFR32MG21B010F512IM32-D,EFR32MG21,EFR32MG21A010F512IM32-D,EFR32MG21B020F768IM32-B,EFR32MG21A020F768IM32-D,EFR32MG21B020F768IM32-D,EFR32MG21A020F768IM32-B,EFR32MG21A020F512IM32-D,EFR32MG21A010F1024IM32-B,EFR32MG21A020F1024IM32-D,EFR32MG21A020F1024IM32-B,EFR32MG21A010F1024IM32-D
【经验】创建ZigBee的无线SOC网关工程操作步骤
Silicon Labs公司的EFR32MG系列是针对智能家居市场应用的多协议无线SOC,单芯片支持蓝牙、ZigBee和Thread等协议,尤其是高性价比的系列2产品MG21、MG22,在ZigBee应用方面受到广大工程师的青睐。对于新手来说,使用SOC模式网关是最简单不过,本文就指导大家创建ZigBee的SOC网关工程操作步骤。
【经验】芯科多协议无线SoC EFR32MG21在使用PA端口时的注意事项
最近有用户在使用PA口时发现会出现一些异常,而且主要集中在PA01/PA02/PA03/PA04几个低端口,它们在使用时会出现一些异常的波形或无法控制。本文世强来介绍芯科多协议无线SoC EFR32MG21在使用PA端口时的注意事项。
芯科科技MG24系列多协议SoC助力Centero工业网络,提升工业无线连接设备性能和安全性
SILICON LABS的合作伙伴Centero运用MG24多协议无线SoC提供了易于集成、兼容的端到端无线IEEE 802.15.4和802.11解决方案,从而满足严格的行业要求。其保证的延迟是安全、关键应用程序所必需的。Centero的解决方案还提供强大的数据存储和使用信息,以及预测性维护(predictive maintenance),从而提高运营效率和工厂安全性。
【经验】EFR32MG SoC ZigBee开发Manufacturing Library的CLI使用详解
Manufacturing Library是Silicon Labs针对ZigBee开发提供的嵌入式软件测试工具,可以嵌入到用户的应用程序中。对于产品量产测试时,无需下载多次程序和多个BootLoader,只需要通过串口输入CLI命令,就可以直接进入测试模式,大大缩短测试步骤和时间。并且此Library占用非常少的代码空间,目前它占用的空间低于500 Bytes。
【经验】多协议无线SoC EFR32MG的ZigBee开发之Token使用教程
EFR32MG系列是Silicon Labs公司针对多协议推出的无线SOC,单芯片可以支持Sub-G、蓝牙、Thread和Zigbee多种协议。Token是用来存储非易失性数据的即掉电后也能保存,本文档指导大家如何在EmberZNet PRO应用程序中自定义Token来存储非易失性数据。
芯科科技多协议无线SoC助力控客开发智能家居解决方案,为杭州亚运村打造智能舒适、便捷安全的生活体验
SILICON LABS MG21多协议无线SoC获杭州控客信息技术有限公司采用于开发全套智能家居解决方案,并提供予杭州亚运会媒体村打造智能、舒适、便捷、安全的生活体验。控客于近期采用了芯科科技MG21多协议无线片上系统(SoC)的控客智能家居解决方案于先前落地杭州亚运会媒体村,用创新性设计和高品质产品,为入住人员提供了智能、舒适、便捷、安全的生活体验。
【经验】如何配置多协议无线SoC EFR32的SPI外设驱动端口映射?
Silicon Labs公司针对物联网应用推出的多协议无线SoC,客户在开发时通常会通过基于开发板的例程代码来修改成自己的产品功能,本文基于开发板的SPI例程指导如何修改客户自定义的SPI的引脚,从而实现客户自己产品的SPI功能。
【经验】EFR32多协议无线SoC radio configuration私有协议配置
EFR32系列是Silicon Labs公司针对物联网应用推出的多协议无线SoC,覆盖了私有协议、Blue Tooth 、ZigBee、Thread和Z-Wave等无线协议。本文介绍EFR32 radio configuration私有协议配置方法。
【经验】芯科多协议SoC EFR32MG21使用外部高频晶体时CTUNE值的存储与调用过程
在使用SILICON LABS多协议SoC EFR32MG21芯片开发无线产品时,需要校准外部高频晶体的CTUNE值以保证射频的频偏最小,那么CTUNE值校准后要保存在哪里才能生效,本文我们就通过程序看一下。
电子商城
品牌:SILICON LABS
品类:Wireless Gecko SoC
价格:¥8.1764
现货: 102,628
品牌:SILICON LABS
品类:Mighty Gecko Multi-Protocol Wireless SoC
价格:¥27.0929
现货: 90,767
现货市场
品牌:SILICON LABS
品类:Switch Hall Effect Magnetic Position Sensor
价格:¥2.2924
现货:126,000
服务
Ignion可支持多协议、宽频段的物联网天线方案设计,协议:Wi-Fi、Bluetooth、UWB、Lora、Zigbee、2G、3G、4G、5G、CBRS、GNSS、GSM、LTE-M、NB-IoT等,频段范围:400MHz~10600MHz。
最小起订量: 2500 提交需求>
可定制卫星定位天线协议:GPS、北斗、伽利略 (Galileo) 、格洛纳斯(GLONASS)卫星定位;增益:5~25dBi;驻波比:≤1.5;接口连接器:IPEX:1~5代IPE、SMA接口/公头等。
最小起订量: 1000 提交需求>
登录 | 立即注册
提交评论