Zigbee SoC EFR32MG EmberZNet如何使用Battery Monitor检测电池电压
Silicon Labs的Zigbee SoC EFR32MG由于Zigbee 3.0协议栈EmberZNet性能优越,协议栈兼容性、稳定性都好于其他厂家,已经获得市场认可,目前开发Zigbee的厂家绝大多数都会使用EFR32MG。除了协议栈稳定之外,还有低功耗、集成PA、图形化开发更加简易的优点。
在开发门磁、红外等终端设备时,EFR32有可能将由3.0V的CR2032直接供电,这样做也是可行的,因为EFR32MG的供电范围能够达到1.85~3.8V。那么此时测量电池电压就无需外接分压电阻等方式进行,而是直接通过协议栈内置的Battery Monitor Plugin完成即可。下面介绍下如何配置。
首先采用这个默认的功能将会占用一个GPIO,但是无需硬件连接,只是EFR32MG将使用PRS进行ADC采样,在内部占用一个GPIO的引脚。根据硬件资源的分配,看哪个引脚是不用的,可以设置为Battery Monitor的Active Pin,首先根据引脚选择PRS channel,先查阅芯片数据手册,本文以EFR32MG1为例,比如PC10作为Active Pin,那么PRS通道选择PRS channel 0即可。
在Plugin界面配置:
获取的电池电压降在callback:
电池电压会按照毫伏(mv)反馈给用户。