传感器板为物联网的蓝牙应用提供解决方案.docx

上传人:b****2 文档编号:24120564 上传时间:2023-05-24 格式:DOCX 页数:8 大小:131.90KB
下载 相关 举报
传感器板为物联网的蓝牙应用提供解决方案.docx_第1页
第1页 / 共8页
传感器板为物联网的蓝牙应用提供解决方案.docx_第2页
第2页 / 共8页
传感器板为物联网的蓝牙应用提供解决方案.docx_第3页
第3页 / 共8页
传感器板为物联网的蓝牙应用提供解决方案.docx_第4页
第4页 / 共8页
传感器板为物联网的蓝牙应用提供解决方案.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

传感器板为物联网的蓝牙应用提供解决方案.docx

《传感器板为物联网的蓝牙应用提供解决方案.docx》由会员分享,可在线阅读,更多相关《传感器板为物联网的蓝牙应用提供解决方案.docx(8页珍藏版)》请在冰豆网上搜索。

传感器板为物联网的蓝牙应用提供解决方案.docx

传感器板为物联网的蓝牙应用提供解决方案

传感器板为物联网的蓝牙应用提供解决方案

对于物联网(IoT)设备的开发人员而言,蓝牙是一种快速,安全的连接路径,无线片上系统(SoC)设备已成为实现蓝牙设计的现成解决方案。

尽管如此,上市时间的压力仍然在增加,因此即使这些高度集成的解决方案也不尽如人意,需要时间和资源来添加完整物联网设计所需的硬件和软件。

本文介绍了蓝牙-启用传感器板为即时物联网解决方案提供了圣杯,也可以作为家庭或个人使用的定制无线传感器物联网设备的基础。

然后使用电路板的应用程序和板载MEMS麦克风,使用代码描述一个真实的传感实现示例。

模块简化蓝牙

蓝牙低功耗(BLE)提供多个优势包括低功耗,高安全性以及移动平台(包括智能手机,平板电脑和笔记本电脑)的近乎普遍的可用性。

虽然低成本收发器的广泛应用推动了蓝牙连接的快速接受,但这些收发器仍然需要在RF设计方面的重要专业知识来构建优化设计。

蓝牙模块简化设计,提供完整的RF子系统,需要工程师简单地集成MCU和相关的子电路,以构建支持蓝牙的系统。

诸如SiliconLabsGeckoMCU系列等无线SoC是这一发展的最新举措,简化了实施,同时减小了设计尺寸和成本。

例如,SiLabsEFR32MG1PMightyGeckoMCU集成了32位ARM®Cortex®-M4内核,存储器,加密硬件加速器,DC/DC转换器,多个外设以及用于2.4GHz和sub-GHz通信的收发器(图1)。

 

 

图1:

SiLabsEFR32MG1P无线SoC将完整的基于Cortex-M4的系统与先进的收发器相结合,能够支持sub-GHz和2.4GHz通信。

(图片:

SiliconLabs)

无线传感器板

高度集成,高能效的无线SoC提供了现成的解决方案,但仍然让设计人员负责实现传感器接口,I/O连接,电源管理和RF。

在电池供电的传感器节点中,每个子系统都需要特别注意以确保最小的功耗。

特别是,当工程师处理包括天线匹配,布局和电磁干扰减轻在内的RF优化问题时,RF设计要求可能会减慢项目进程。

SiLabsThunderboardSense板为物联网应用提供了即时,可扩展的解决方案。

该电路板基于EFR32MG1P无线SoC,包括六个传感器,8-Mbit闪存和高亮度RGBLED,以及用于用户交互的双色LED和按钮(图2)。

此外,ThunderboardSense可作为参考设计,用于实现基于上述EFR32MG1PMightyGecko无线SoC的定制蓝牙IoT设计。

 

 

图2:

SiLabsThunderboardSense主板提供现成的电池供电的蓝牙IoT设计,配备了大量传感器并以全面的软件环境为后盾。

(图片:

SiliconLabs)

ThunderboardSense的设计仅适用于插入其板载连接器的CR2032纽扣电池。

实际上,该设计强调从MCU本身开始的低功耗操作。

EFR32MG1PMCU在工作模式下仅消耗63μA/MHz,在DeepSleep模式下仅消耗1.4μA,从而保留RAM并保持实时时钟运行。

然而,在无线传感器设计中,功率优化要求将电源管理应用于外部传感器及其调理电路。

Sense板将这些外围电路分组到电源域,并使用专用的SiLabsEFM8SBMCU作为电源和中断控制器来管理这些域。

例如,从电路板的内置MEMS麦克风获取数据,EFR32MG1PMCU将0x01写入EFM8SB外设控制器MCU中的ENV_SENSOR_CTRL寄存器。

EFM8SB反过来为低压差(LDO)稳压器供电,为MEMS麦克风和相关的模拟信号链供电(图3)。

接下来,来自EFM8SB的中断信号使EFR32MG1PMCU通过其集成的模数转换器(ADC)开始数据采集。

 

 

图3:

ThunderboardSense使用专用的EFM8SBMCU作为电源和中断控制器,以优化数字和模拟传感器的功率利用率以及在他们的调理电路中。

(图片:

SiliconLabs)

该板还为高功率应用或开发过程中的线路供电操作提供了替代供电选择。

例如,对于以高强度运行板载LED的应用,您可以通过板内置的连接器添加外部电池。

此外,您还可以通过USB连接器或MiniSimplicity连接器为电路板供电。

后一种方法还允许使用外部SiLabs调试器的高级能量监控功能执行精确的电流测量。

起点

使用Sense板和随附的应用程序只需几个简单的步骤。

启动Thunderboard应用程序(从iOSApp或GooglePlay商店)后,您只需为ThunderboardSense主板供电,该主板立即开始通过蓝牙进行自我宣传,同时闪烁绿色LED。

当ThunderboardSense出现在Thunderboard应用程序上时,用户选择该设备并继续使用特定应用程序。

事实上,ThunderboardSense主板和应用程序为许多物联网应用程序提供了现成的解决方案。

除了作为现成的解决方案使用外,ThunderboardSense还提供了允许开发人员轻松扩展其功能的功能。

除了Micro-BUSB连接器和SiLabs的MiniSimplicity连接器外,ThunderboardSense还提供了20个分线焊盘,开发人员可以使用它们连接其他外围设备或电路板。

分线焊盘包含许多EFR32MG1PMCUI/O引脚,包括I2C和SPI引脚,以及主板电源,5V电压轨和3.3VLDO电源轨。

设计人员还可以利用EFR32MG1PMCU的灵活引脚布线来访问其任何集成外设。

除了作为现成解决方案的实用性外,ThunderboardSense硬件和附带软件提供了一个起点用于自定义IoT应用程序。

该设计解决了与I2C和SPI数字传感器以及模拟外设和RF天线相关的常见接口问题。

为了帮助加速基于Sense板的定制设计的开发,SiLabs为每个外设和IO提供完整的原理图,包括一个合适的2.4GHz匹配网络,将MCU的2.4GHzRFI/O引脚连接到板载芯片天线。

例如,MEMS麦克风电路的原理图为MEMS麦克风输出提供了模拟信号链的完整设计。

在该电路中,德州仪器TLV342S运算放大器用于32.1dB增益放大器级和用于KnowlesSPV1840MEMS麦克风输出的一阶有源低通滤波器(图4)。

该设计将信号链的MIC输出连接到MCU的12位逐次逼近寄存器(SAR)ADC,用于麦克风数据采集。

 

 

图4:

除了ThunderboardSense工具包的硬件和软件外,SiliconLabs还提供装配图,材料清单和完整的原理图,例如这种模拟信号调理电路用于MEMS麦克风信号采集。

(图片:

SiliconLabs)

软件设计和调试

SiliconLabs支持ThunderboardSense套件,其中包含一系列可用于其免费SimplicityStudio开发环境的软件库。

除了用于MCU硬件功能的软件库外,该软件包还包括用于ThunderboardSense的板级支持包(BSP)以及随附的示例C代码。

例如,SenseApp模块提供了一个BLE应用程序,可将数据从其全套传感器传输到智能手机应用程序。

除了作为正常运行的应用程序之外,SenseApp代码还说明了基于EFR32MG1PMCU实现IoT传感器设计的关键软件设计模式。

例如,BLE堆栈接管实时时钟,防止其用于应用程序本身的定时事件。

SenseApp示例代码演示了如何使用MCU软件定时器定期轮询各种软件功能,包括传感器数据捕获功能。

在SenseApp应用程序中,主程序启动设备并开始等待无限循环对于一个事件并调用一个应用程序事件处理程序来处理该事件(清单1)。

复制

while

(1){

structgecko_cmd_packet*evt;

/*检查堆栈事件。

*/

evt=gecko_wait_event();

/*运行应用程序和事件处理程序。

*/

appHandleEvents(evt);

}

清单1:

SenseApp主程序中的实用程序循环不断循环,将事件移交给事件处理程序以调用传感器采样等操作。

(列表:

SiliconLabs)

位于app.c中,appHandleEvents调用RADIO_bleStackLoopIteration()(位于radio_ble.c中),如果设备是不在蓝牙广告模式。

如果连接处于活动状态,则此例程轮流调用connectionActiveIteration()(在radio_ble.c中),它提供核心数据采样功能。

connectionActiveIteration()例程检查板载按钮的状态,并定期调用负责更新每个板传感器数据的服务程序。

最后,此例程检查麦克风活动,如果麦克风处于活动状态,它会通过设置声级并通过调用MIC_start()函数启动麦克风数据采集来启动麦克风数据采集(清单2)

<跨度>复制<代码>

******************************************************************************/

voidMIC_start(uint32_tnSamples)

{

if(nSamples>sampleBufferLen){

sampleCount=sampleBufferLen;

}

else{

sampleCount=nSamples;

}

if(!

dmaBusy){

/*配置DMA*/

DMADRV_PeripheralMemory(dmadrvChannelId,//channelId

dmadrvPeripheralSignal_ADC0_SCAN,//peripheralSignal

(void*)sampleBuffer,//*dst

(void*)&(ADC0->SCANDATA),//*src

true,//dstInc

sampleCount,//len

dmadrvDataSize2,//size

dmaCompleteCallback,//callback

NULL);//*cbUserParam

adcEnable(true);

dmaBusy=true;

sampleBufferReady=false;

}

返回;

}

清单2:

mic.c模块位于BSP包中,包括麦克风支持例程,包括MIC_start()例程,通过从MCU的片上ADC启动DMA传输来执行麦克风数据采集。

(列表:

SiliconLabs)

MIC_start()例程启动来自MCU的片上ADC(dmadrvPeripheralSignal_ADC0_SCAN)的DMA传输,使用dmadrv.c模块中的DMADRV_PeripheralMemory例程。

(如前所述,MEMS麦克风信号链的输出与MCUADC相连。

)该模块是github上可用的SiLabsemdrvEnergyAware驱动程序库的一部分。

完成ADC数据采集后序列,dmaCompleteCallback()回调例程禁用进一步的ADC采样,并为下一轮采样准备设备。

超越这个基本应用程序,开发人员可以构建这些代码示例和基本设计模式,以实现更复杂的应用程序特定功能。

结论

蓝牙低功耗提供了一个特别引人注目的连接选项用于设计用于移动应用程序的物联网应用程序。

尽管无线SoC减轻了设计负担,但即使是这些高度集成的设备也需要额外的工作来实现全功能物联网设计所需的其他硬件和软件组件。

SiLabsThunderboardSense套件基于SiliconLabsMightyGecko无线SoC,为移动连接的物联网设备提供完整的现成解决方案,并作为更复杂的定制物联网设计的起点。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1