非暴力拆解:小熊派NB-IoT通信扩展板
摘要:相信大家对小熊派的NB-IoT通信扩展板已经非常了解了,但你有真正的了解过其内部构造吗?今天小编不聊技术,带你做一回拆·机·客!
相信大家对小熊派的NB-IoT通信扩展板已经非常了解了,但你有真正的了解过其内部构造吗?今天小编不聊技术,带你做一回拆·机·客!
拆解对象:BC35-G通信模组
BC35-G模组是由移远发布的一款基于海思Hi2115(又称:Boudica150)芯片的NB-IoT通信模组。BC35-G的运行方式支持以下两种:NB-IoT+MCU模式、OpenCPU模式。
NB-IoT+MCU模式是我们常见的一种组合方式(小熊派IoT即是此种组合方式),用MCU作为主控,进行数据采集及控制,MCU向模组发送AT命令来实现设备与互联网的数据交互。OpenCPU是利用模组自身处理能力来完成MCU的工作,从而省去MCU。
让我们脱掉它的“外衣”,看看它的内部构造
今天的主角就是那个最大的芯片:Hi2115,接下来小编就这款NB-IoT芯片进行深度解析。
Hi2115是华为海思研发的第二款NB-IoT通信芯片(第一款是Hi2110),主频48MHz,352KB Flash,64KB RAM,支持3GPP R14标准,在698-960 MHz和1695-2180 MHz的频率范围内工作,系统带宽为200 kHz。
接下来就由浅入深,透过这款芯片的外表来探究它最深处的“秘密”。
Hi2115芯片有三个处理器子系统,以分离不同的功能,方便认证和简化第三方应用程序开发。
Hi2115芯片内部结构框图
Hi2115芯片的三个处理器子系统分别是:
1.应用核处理器(Application):应用核心支持用户在应用程序上执行第三方应用代码
2.安全核处理器(Security Core):安全核心通过验证系统上运行的代码来维护Hi2115的安全性和完整性,也会生成随机数并控制其他两个核心的内存访问。
3.协议核处理器(Protocol Core):协议核心充当通信处理器,构成实现通信协议栈所有层的基础。它包括一个专用的ARM Cortex M0核和一个具有专用片上RAM的Dual-MAC DSP。有一个USIM接口允许与外部SIM操作,以及一个MIPI RFFE接口用于与外部射频电路接口连接。
三个子处理器之间,通过内存共享方式达成数据共享。每个核都独立运行,相互之间没有干扰。应用核可放心开放出所有用户权限,以供用户侧APP开发。
Hi2115芯片有三种工作模式,这三种模式确定了不同节电级别的可用功能。
1.活跃模式(Active)
在此模式下,芯片的所有功能均可用,并且所有处理器都在正常运行。无线电的传输和接收均是在这种模式下执行的。同时待机模式和深度睡眠模式只能在活动模式下进行转换。
2.待机模式(Standby)
在待机模式下,所有的处理器处于非活跃状态,但所有的外围设备(包括DMA和嵌入式Flash)均处于活跃状态。系统时钟处于活跃状态并通过时钟门控与电源门控降低功耗。当所有处理器执行等待中断(WFI)指令时,进入待机模式。
3.深度睡眠模式(Deep-Sleep)
处于此模式时只有32.768kHz的RTC和某些外围设备运行。芯片可以通过RTC中断或者通过外围设备的外部事件发送消息,唤醒处于深度睡眠模式的模块。此模式需要所有处理器输入设置成深度睡眠模式才能进入,然后执行等待中断(WFI)指令。
探索完框架之后,下面我们来具体了解下Hi2115芯片的外设部分:
- 1个通用UART(最高1.5Mbit/s)
- 2个低功耗UART(支持低功耗下异步操作)
- 2个IIC(最高1Mbit/s)
- 2个SPI(最高 24Mbit/s)
- 1个10bit ADC(818 ksps)
- 1个10bit DAC
- 1个高速模拟比较器
- 22个可编程IO(可配置)
Hi2115芯片的40个PIO中,有24个PIO在应用核上可用。对于每个PIO的IO引脚功能均有软件进行控制,包括:方向、中断配置、驱动强度以及集成的上拉和下拉电阻。
了解完前面这些,有没有种拨开云雾见月明的感觉?让我们带着这种feel,继续解析芯片的内部架构。
- 芯片供电
Hi2115芯片由单个电源供电,双模式(PWM / PFM)降压稳压器SMPSU为数字内核供电并针对深度睡眠的电流进行优化。而集成线性稳压器提供了模拟和无线电电源轨道,实现高发射功率和隔离噪声干扰物。这些线性稳压器由第二个片上SMPSU供电,以提高功耗效率,并且为了减少功耗,该芯片可以自动禁用内部无线电电源轨道。 - 参考时钟
Hi2115需要一个低相位噪声参考时钟为PLL和ADC提供频率参考,并且该芯片还需要32.768 kHz的晶振用于定时和深度睡眠唤醒。处理器由内部生成的时钟驱动,不依赖两个参考时钟启动。 - 射频功能
Hi2115芯片的无线电是用于在蜂窝频率下的NB-IoT通信。有两个阻抗为100Ω、可通过外部组件来配置的差分LNA输入,以用于LB(低频带698-960 MHz)和MB(中频带1695-2180 MHz)。发射机有两个阻抗为50Ω的单端输出,一种用于LB,另一种用于MB。
收发器射频端口与天线之间有以下几个部件:
1.TX功率放大器
这是一个能够产生23 dBm输出功率的PA,其具有20-30 dB的增益和足够的线性度,使之满足3GPP要求。
2.TX谐波滤波器
其规格取决于PA的选择。在某些情况下,它可能会集成到PA中,不需要单独使用。
3.TX/RX开关
RF开关将天线连接到PA输出和RX输入, 此开关可由Hi2115的一个或多个PIO控制。
4.RX谐波滤波器
用于滤除电力系统中某一次或多次谐波的装置
5.RX匹配组件/巴伦
Hi2115芯片还支持MIPI RFFE接口v1.0和v2.0,此接口用于控制功率放大器和支持1.8V接口的RF前端模块,且支持的SCLK频率范围为32kHz~26MHz。
非暴力拆解:小熊派NB-IoT通信扩展板的更多相关文章
- 小熊派IoT开发板系列教程正式发布——免费学习
[摘要] 小熊派开源社区针对小熊派IoT开发板首次规划了小熊派未来的系列教程.从基础到进阶的设计,可适应具有不同基础的开发者,通过该系列教程的学习,开发者能够轻松掌握IoT产品的开发.该系列教程包括单 ...
- 华为云MVP熊保松谈物联网开发:华为云IoT是首选,小熊派是神器
摘要:在AI.5G的技术驱动下,物联网行业的发展愈加如火如荼,开发者在技术的快速更迭间,也得乘风破浪跟上新技术的节奏. 在AI.5G的技术驱动下,物联网行业的发展愈加如火如荼,开发者在技术的快速更迭间 ...
- HC大会,华为联合合作伙伴发布一站式物联网IoT开发工具小熊派BearPi
传统的物联网产品开发步骤复杂,涉及硬件开发.软件开发.云端开发等众多流程.而且产品的开发周期长.开发成本高.产品稳定性不佳.维护成本高.而物联网设备本身市场竞争激烈,价格低,设备更新迭代快,所以在保证 ...
- 基于小熊派Hi3861鸿蒙开发的IoT物联网学习【一】
基于小熊派鸿蒙季BearPi-HM_Nano HarmonyOS 鸿蒙系统Hi3861开发板NFC 开发步骤:1.购买开发板:某宝上购买就行 2.安装开发环境 3.下载源码 4.编写案例并执行 开发 ...
- 手把手教你丨小熊派移植华为 LiteOS-M
摘要:本文详细讲解如何移植 LiteOS 到小熊派. 本文分享自华为云社区<小熊派移植华为 LiteOS-M(基于MDK)>,作者: JeckXu666. 前言 之前使用小熊派实现了鸿蒙动 ...
- 如何利用小熊派获取MPU6050六轴原始数据
摘要:使用小熊派开发板,通过硬件IIC与MPU6050六轴传感器模块通信,完成相应寄存器配置,成功获取陀螺仪.加速度计数据. 本问主要讲述使用小熊派开发板+MPU6050六轴传感器,获取加速度计以及陀 ...
- 开发实践丨用小熊派STM32开发板模拟自动售货机
摘要:本文内容是讲述用小熊派开发板模拟自动售货机,基于论坛提供的工程代码,通过云端开发和设备终端开发,实现终端数据在的华为云平台显示. 本文内容是讲述用小熊派开发板模拟自动售货机,基于论坛提供的工程代 ...
- 小程序接入云通信IM
小程序接入云通信IM--插件 小程序微信后台搜索AI情报官组件即可获得小程序云通信IM的即时通信能力
- 小熊派4G开发板初体验
开发板硬件资源介绍 前阵子小熊派发布了一款超高性价比的4G开发板(19.8元包邮),但是板子仅限量1000套.小熊派官方给我送了一块,我们一起来学习学习: 板子做得小巧精致,控制核心用的是移远的EC1 ...
- 实践案例丨利用小熊派开发板获取土壤湿度传感器的ADC值
摘要:一文带你用小熊派开发板动手做土壤湿度传感器. 一.实验准备 1.实验环境 一块stm32开发板(推荐使用小熊派),以及数据线 已经安装STM32CubeMX 已经安装KeilMDK,并导入stm ...
随机推荐
- 【译】为什么命名“它”为依赖属性(DependencyProperty)
当我们创建新的类和成员时,我们花费了大量的时间和精力是它们尽可能的好用,好理解,好发现.通常我们会遵循.Net框架设计指南,尤其是会不断地研究这个新类与其他类,未来计划等内容之间的关系. 当命名依赖属 ...
- 深入探讨I/O模型:Java中的阻塞和非阻塞和其他高级IO应用
引言 I/O(Input/Output)模型是计算机科学中的一个关键概念,它涉及到如何进行输入和输出操作,而这在计算机应用中是不可或缺的一部分.在不同的应用场景下,选择正确的I/O模型是至关重要的,因 ...
- umich cv-4-1 卷积网络基本组成部分介绍
这节课中介绍了卷积网络的基本组成部分(全连接层,激活函数,卷积层,池化层,标准化等),下节课讨论了卷积神经网络的发展历史以及几种经典结构是如何构建的 卷积网络组成部分 前言 卷积层 池化层 norma ...
- CSS3之创建3D场景
1.属性介绍 perspective:800 平面距离三维中方框的距离 perspective-origin:50% 50% 表示从平面上哪个位置看三维图 ,相当于是X轴和Y轴,此时表示平面 ...
- OpenCv4.6.0交叉编译ARM(aarch64)平台库
1.下载交叉编译工具:gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu 2.opencv官网下载opencv4.6.0源码,opencv官网下载ope ...
- 苹果电脑开不了机,mac时间机器备份加速,以及识别不到u盘的方法
平淡无奇的一天,上班后,我按照正常流程,揭开我亲爱的mac的盖子.屏幕没有如昨天一样照亮我的脸庞,擦,电用完了吗? 我充上电,半小时后,电池都热了,依然开不了机.打售后电话,售后姐姐亲切的指导各种我使 ...
- 解决 IAR中 Warning[Pa082] 的警告问题
这个警告不属于严重问题 在 IAR (for STM8)的编译中,经常有如下的警告: Warning[Pa082]: undefined behavior: the order of volatile ...
- classpath 和 classpath* 的区别
classpath 和 classpath* 的区别 classpath 和 classpath* 是两种不同的类路径搜索模式,它们在寻找资源文件时有所不同: classpath:classpath ...
- 学习tinyriscv(1):安装tinyriscv的工具链
因为毕设是CPU的低功耗设计,所以开始看cpu,打算还是先从这个tinyriscv学起,昨天把环境下好了,第一步是用git去clone代码,这个首先要下载git,然后在目标文件夹鼠标右键,选择&quo ...
- Curator