tag 标签: 低功耗

相关博文
  • 2025-3-24 17:00
    255 次阅读|
    0 个评论
    在智慧城市领域中,当一个智慧路灯项目因信号盲区而被迫增设数百个网关时,当一个传感器网络因入网设备数量爆增而导致系统通信失效时,当一个智慧交通系统因基站故障而导致交通瘫痪时,星型网络拓扑与蜂窝网络拓扑在构建广覆盖与高节点数物联网网络时的局限性便愈发凸显,行业内亟需一种更高效、可靠与稳定的组网技术以满足构建智慧城市海量IoT网络节点的需求。 星型网络的无线信号覆盖范围高度依赖网关的部署密度,同时单一网关的承载设备数量有限,难以支撑海量IoT网络节点的城市物联系统;而蜂窝网络的无线信号覆盖范围同样高度依赖基站,且其节点设备工作在LTE频段,需为运营商支付昂贵的频谱费用,长期成本较高。故其,城市管理者需要更清醒的认知:选择合适的LPWAN技术路线,就是选择未来的城市数字基因。 Wi-SUN协议,轻松构建海量IoT网络节点 资料显示,Wi-SUN(Wireless Smart Utility Networks)是一种基于IEEE 802.15.4g/e以及IPv6标准的低功耗广域网(LPWAN)技术,专为大规模物联网应用设计,主要适用于智能电网、智慧城市、工业物联网等领域,共包括 Wi-SUN FAN、 Wi-SUN HAN、 Wi-SUN RLMM 和 Wi-SUN JUTA四种协议。 注:Wi-SUN FAN(Field Area Network)用于广域物联网连接,Wi-SUN HAN(Home Area Network)专注智能家居,Wi-SUN RLMM(Roadside and Low-speed Mobile)适用于车联网,Wi-SUN JUTA(Japan Utility)针对日本市场需求。 Wi-SUN协议下的四种配置方式 其中,Wi-SUN FAN(Field Area Network)作为Wi-SUN中最重要的网状网络协议,具有Mesh自组网功能和自我修复路由功能,网络中的每个设备都可与相邻设备通信,这种结构使得数据传输更加灵活高效,当某个节点出现故障或信号受阻时,数据可以自动通过其他路径进行传输,极大地提高了网络的可靠性和稳定性。 Wi-SUN FAN理论上可兼容数百万个IoT网络节点,能轻松满足超大规模物联网部署的需求。在智慧城市的建设中,海量的路灯节点、交通传感器以及传感器设备等都可在基于IEEE 802.15.4标准的条件下接入同一个Wi-SUN 网络,且随着城市后续的壮大发展和节点入网需求的增加,Wi-SUN网络还可无成本地进行节点扩展,无需大规模重新布线或更换设备。 Wi-SUN FAN协议下的组网优势 同时,Wi-SUN FAN还支持多信道跳频传输功能,基于FHSS(跳频扩频)技术,网络中的设备节点会根据特定跳频图案在不同信道之间进行跳转来传输数据,能促进不同节点对之间通过多个信道同时进行数据传输,提高网络吞吐量,增强网络的抗干扰能力。 例如,在智能工厂中,大量的生产设备需要向控制层实时传输生产数据,而使用Wi-SUN FAN协议则能快速、稳定地传输这些数据,确保生产过程的高效进行,避免因数据传输延迟而导致的生产故障。 Wi-SUN FAN协议下的通信协议栈 从通信协议栈上看,Wi-SUN 网络中的设备主要工作在 Sub-GHz频段,该频段具有信号绕射能力强、穿墙性能好与通信功耗低等特点,能有效减少信号在传输过程中的衰减,实现广域网络覆盖 ,是连接城市建设、能源管理和智能家居等领域的理想选择。以智能水表为例,采用 Wi-SUN FAN协议的智能水表可以在电池供电的情况下,持续工作数年,不仅降低了维护成本,还提高了系统的可靠性。 此外,Wi-SUN FAN协议还提供了成熟的安全机制,其采用了RADIUS/AAA 认证机制,认证方式采用 EAP-TLS,能保护数据传输的隐私性,极大地增强了系统的安全性。 Wi-SUN协议,弥合LPWAN生态的最后一块“拼图” 在低功耗广域网(LPWAN)领域,Wi-SUN 与 LoRaWAN、NB-IoT 是备受关注的三种通信协议,它们在通信性能方面上各有千秋,各自适用于不同的应用场景。Wi-SUN的价值不在于替代LoRaWAN、NB-IoT与其他协议,而是填补LPWAN生态的关键缺口——Wi-SUN是唯一能协调满足距离、功耗、速率与网络节点容量等多种需求的技术路径。 与 LoRaWAN 、 NB-IoT 与其他 LPWAN 协议相比,Wi-SUN FAN在拓扑结构、通信功耗、数据速率和应用场景等方面展现出明显的差异和独特的优势。其互操作性、可扩展性、安全性以及低延迟和高数据吞吐量等特性,使其成为智能电网、智慧城市、智能农业等领域的理想选择。 值得一提的是,当Wi-SUN FAN协议为智慧城市成功搭建起设备互通的网络骨架时,如何将各种IoT设备完美接入网络中就成为了行业关注的焦点,而这则需要底层模块在通信性能、功耗控制与功能集成等维度上通过设计实现。 例如,HM-WS-001就是一款完全符合Wi-SUN FAN1.0规范和功能要求的模块产品,其射频通信频段为868MHz与915MHz;最大发射功率20dBm,最大接收灵敏度-107 dBm(868MHz,50kbps、25KHz);具有长距离通信,超低功耗,收发一体等优势。 以HM-WS-001模块构建的 Wi-SUN无线组网数据平台 Wi-SUN FAN基于网状网络,HM-WS-001能够与周围大量的设备建立多个连接,通过多个链路中继数据并提高可靠性。此外HM-WS-001已通过Wi-SUN® 联盟PHY认证并获得认证证书,可完美应用于自动抄表、家居安防及楼宇自动化、ISM 波段数据通讯、工业监控及控制、遥控及安防系统、遥控钥匙进入、无线传感器节点、标签读写器以及其他物联网通信应用场景。 展望未来,随着中国物联网产业的快速发展,Wi-SUN 协议在解决产业痛点、推动各行业数字化转型方面具有巨大的潜力。在智能电网中助力电力企业实现精准能源管理,在智慧城市建设中提升城市智能化管理水平,在工业物联网中推动制造业转型升级 。可以预见,Wi-SUN 协议将在未来的物联网发展中扮演更加重要的角色,成为 LPWAN 中不可或缺的关键部分,为构建更加智能、高效、安全的物联网世界贡献力量。
  • 2025-3-19 14:29
    85 次阅读|
    0 个评论
    随着智能家居设备数量的激增,传统连接技术逐渐暴露出带宽不足、延迟高、多协议协同困难等短板。以典型家庭场景为例,当50台设备同时接入时,WiFi4因仅支持单用户轮询机制,导致多设备并发延迟高达200ms以上;蓝牙4.2受限于1Mbps传输速率,难以支撑高清音频传输。爱科微推出的AIC8800系列双模芯片(WiFi6+BT5.2),通过技术创新与场景化落地,正在重塑智能家居设备的互联生态。 一、技术突破:从协议升级到硬件革新 AIC8800系列的核心竞争力源于其对WiFi6与蓝牙5.2技术的深度融合。在WiFi6层面,其采用的OFDMA(正交频分多址)技术将信道划分为多个子载波,实现多设备并行通信。实测数据显示,搭载该芯片的智能网关可同时连接256台设备,吞吐量较WiFi5提升4倍。目标唤醒时间(TWT)机制则大幅降低低功耗设备的待机电流,以绿米Aqara智能门锁为例,其日均功耗降至0.8μA,续航时间延长至18个月。双频段自适应切换功能进一步优化体验:5GHz频段支持160MHz带宽,峰值速率达1.2Gbps,满足极米H5投影仪的4K投屏需求(延迟5ms);2.4GHz频段穿墙能力提升30%,覆盖复杂户型。 蓝牙5.2技术的升级同样关键。LE Audio与LC3编解码器的结合,使得24bit/96kHz高保真音频传输延迟控制在18ms以内。漫步者NeoBuds Pro 2耳机采用该方案后,声画同步误差低于1帧。双模Mesh混合组网能力则打破协议壁垒,Yeelight智能灯具通过BLE Mesh组网后,经WiFi Mesh接入云端的响应速度提升40%。此外,芯片高度集成的SoC架构(含ARM Cortex-M4F MCU与硬件安全引擎)替代传统多模块方案,帮助小米智能摄像头降低28%的BOM成本。射频性能方面,AIC8800在极端温度环境下的发射功率稳定在20dBm,接收灵敏度达-98dBm,优于瑞昱RTL8723DU的-95dBm。 二、场景落地:从影音娱乐到全屋智能 在影音娱乐领域,AIC8800展现出带宽与延迟的极致平衡。极米H5投影仪通过其5GHz频段传输HDR10+内容,平均码率稳定在80Mbps,画面延迟控制在7ms以内,较WiFi5方案提升50%以上。Sonos基于该芯片开发的分布式音箱系统,利用蓝牙LE Audio实现16台设备同步播放,时钟误差0.5ms,精度达到传统方案的10倍。 安防与能源管理场景则凸显低功耗优势。鹿客S50M Pro智能门锁采用动态电源管理技术,使6000mAh电池续航达18个月,同时支持远程视频对讲功能。涂鸦智能PM2.5传感器通过TWT机制将每日唤醒时间缩短至0.02秒,电池寿命延长至5年。边缘计算能力的加入进一步拓展应用边界:内置MCU可运行离线语音识别算法,唤醒词检测准确率超95%;Matter协议的支持则实现跨生态互联,例如通过苹果HomePod控制米家空调的延迟50ms。 三、市场竞争:国产替代与技术话语权 在技术参数层面,AIC8800展现出显著优势:其WiFi6双频支持、256设备连接能力、0.8μA待机功耗均优于乐鑫ESP32-C6(单频WiFi6/128连接/1.2μA)与瑞昱RTL8723DS(WiFi4/32连接/2.5μA)。国产化替代战略更推动成本与效率革新:模组价格控制在8-10美元(国际大厂方案约18美元),鸿蒙OS与RT-Thread的SDK支持使客户开发周期缩短至3周,较博通方案效率提升4倍。据GFK数据,2023年采用AIC8800的设备出货量超500万台,国内市场份额提升至12%。 四、生态共建与未来演进 开发者生态的构建是AIC8800成功的关键。2023年其开源Linux驱动代码吸引超200家开发者适配工业PLC与车载场景,而华为OpenHarmony 3.1认证使其成为首批支持分布式软总线的国产芯片。技术演进路线同样清晰:2024年量产的AIC8800E系列将支持6GHz频段,理论速率提升至3.6Gbps,满足8K VR传输需求;规划中的NPU单元(1TOPS算力)将赋能智能门锁3D结构光方案,实现本地人脸识别。 结语 爱科微AIC8800系列通过“高带宽、低延迟、低功耗”三位一体的技术突破,正在重构智能家居的连接标准。从4K投屏到全屋Mesh组网,从一年续航门锁到跨生态互联,其不仅解决了设备互联的核心痛点,更推动行业从“单点智能”向“全域协同”跃迁。随着Matter协议的普及与AIoT深度融合,这款国产芯片或将成为挑战国际巨头的关键力量。
  • 热度 1
    2025-2-22 17:21
    203 次阅读|
    0 个评论
    引言:智能家居设备的 “ 双刃剑 ”—— 功能升级与续航 / 设计挑战 随着智能家居设备功能日益复杂化,用户对续航时间、设备体积和成本的要求也愈发严苛。以智能门锁为例,集成指纹识别、蓝牙连接、远程报警等功能已成为市场标配,但电池续航却难以突破1 年大关;温控器需要 24 小时待机并实时监测环境数据,如何在低功耗与高性能间平衡成为行业难题。普冉 MCU 凭借 低功耗硬件架构 与 高集成设计 ,直击这一矛盾,为智能家居设备提供 “ 鱼与熊掌兼得 ” 的解决方案。本文将以智能门锁与温控器为锚点,拆解普冉 MCU 如何破解续航焦虑与设计瓶颈。 第一部分:续航焦虑的根源 —— 智能家居设备的功耗困局 1. 电池容量与设备寿命的天然矛盾 l 智能门锁 :典型功耗场景包括指纹识别(峰值电流 50mA )、蓝牙通信( 20mA )和实时安全监测(待机电流 10μA )。若采用传统 MCU ,单次指纹解锁需消耗 0.5mAh 电量,按日均 10 次使用频率计算, 800mAh 电池仅能支持 6 个月续航,远低于用户期待的 1 年以上需求。 l 温控器 :温度、湿度传感器需每分钟唤醒采集数据,每次唤醒耗时 10ms (电流 5mA ),待机电流若高于 5μA ,一年待机耗电量将超过 43mAh ,导致设备频繁更换电池。 2. 传统 MCU 的设计瓶颈 l 静态电流累积 :竞品 MCU 在深度睡眠模式下仍需 50μA 电流,外设模块(如 ADC 、 UART )独立供电进一步增加漏电流。 l 多芯片方案的低效性 :以某品牌温控器为例,其主控 + 电源管理 IC+ 存储芯片的方案导致 PCB 面积增加 30% ,且多芯片协同功耗损失高达 15% 。 第二部分:普冉MCU 的芯片级低功耗架构解析 1. 动态电压频率调整( DVFS ):按需分配 “ 动力 ” 普冉MCU 采用 自适应DVFS 技术 ,根据任务负载实时切换 CPU 核心电压( 1.8V-3.3V )与主频( 32kHz-48MHz )。例如,智能门锁在指纹识别时, CPU 主频瞬间提升至 48MHz 以加速算法运算,完成后立即降至 32kHz 进入休眠。实测显示,该技术可减少动态功耗 30% ,单次指纹解锁电量消耗降至 0.35mAh 。 2. 多级休眠模式与 μA 级待机 l 深度睡眠模式(<2μA ) :关闭非必要外设,仅保留 RTC (实时时钟)和 SRAM 数据保持功能。温控器通过 RTC 每 5 分钟唤醒一次,批量采集 10 组环境数据后立即休眠,将日均唤醒次数从 1440 次压缩至 288 次,功耗降低 80% 。 l 快速唤醒机制 :从深度睡眠到全速运行的唤醒时间< 5μs ,确保温控器实时响应环境变化。 3. 智能外设电源域划分 普冉MCU 将外设模块(如 ADC 、 GPIO 、通信接口)划分为独立电源域,支持按需关闭闲置模块。例如,温控器在待机时仅保留传感器接口供电,其余模块(如 UART 、 SPI )完全断电,静态电流从 10μA 降至 1.2μA 。 第三部分:高集成度设计如何破解开发瓶颈 1. “All-in-One” 芯片架构:化繁为简 普冉MCU 集成 LDO 电源管理、电容触摸控制器和 12-bit 高精度 ADC ,大幅减少外围元件。以某智能门锁方案为例,传统方案需外接触摸芯片、 LDO 和加密 IC ,而普冉单芯片方案使 BOM 成本降低 25% , PCB 面积缩减 40% 。 2. 存储与计算的协同设计 l 嵌入式Flash 支持 OTA 升级 :温控器可通过 Wi-Fi 直接更新固件,无需外挂 EEPROM 存储升级包,节省 15% 的 PCB 空间与 5% 的功耗。 l 硬件加密引擎 :集成 AES-128 模块,智能门锁的指纹数据加密耗时从软件方案的 10ms 缩短至 0.2ms ,功耗降低 80% 。 3. 硬件加速引擎:以 “ 专芯 ” 提效 针对电机控制、信号处理等场景,普冉MCU 内置 PWM 控制器和硬件滤波器。例如,温控器的风扇调速信号可通过硬件 PWM 直接生成,无需 CPU 干预,减少 30% 的运算负载。 第四部分:场景实战 —— 智能门锁与温控器案例拆解 1. 智能门锁:续航与安全的平衡术 l 痛点 :某客户原有方案(竞品 MCU )日均功耗 200μA ,续航仅 8 个月,且指纹识别延迟高达 1.5 秒。 l 普冉方案 : l 动态电源管理 :指纹模块仅在识别时供电(非使用时段完全关闭),待机电流从 50μA 降至 2μA 。 l 硬件加密加速 : AES-128 模块将指纹数据传输加密时间缩短至 0.1ms , CPU 负载率从 70% 降至 10% 。 l 电容触摸集成 :替代机械按键,消除按键磨损漏电问题,功耗再降 15% 。 l 成果 :整机续航延长至 18 个月,指纹识别速度提升至 0.8 秒,客户产品返修率下降 20% 。 2. 温控器:实时性与低功耗的兼得之道 l 痛点 :某欧洲品牌温控器待机功耗 10μA ,需每年更换电池,且温度采样误差 ±1.5℃ 导致频繁校准。 l 普冉方案 : l RTC 批量采样 :每 5 分钟唤醒一次,连续采集 10 组数据取均值,减少 80% 的唤醒次数。 l 自校准 ADC :内置温度补偿算法,将采样误差压缩至 ±0.3℃ ,避免重复校准耗能。 l 通信接口自动休眠 : UART 传输完成后 50ms 内自动断电,节省 5% 的动态功耗。 l 成果 :待机功耗< 3μA ,电池寿命延长至 5 年,温度控制精度提升至 ±0.5℃ 。 第五部分:市场反馈与未来演进方向 1. 客户实证:效率与成本双赢 国内某头部智能家居厂商采用普冉MCU 后,产品开发周期从 12 周缩短至 8 周,售后故障率下降 15% ,年节省 BOM 成本超 200 万元。 2. 技术迭代: AIoT 时代的能效革新 下一代普冉MCU 计划集成 AI 协处理器 ,支持本地化语音唤醒指令识别(如 “Hey Google” ),通过硬件加速将语音处理功耗从 5mA 降至 1mA ,进一步拓展智能音箱、 AI 摄像头等场景。 3. 行业趋势: Matter 协议下的生态整合 随着Matter 协议统一智能家居互联标准,普冉 MCU 正优化多协议栈( Thread/Wi-Fi/ 蓝牙)支持能力,通过高集成设计降低多模通信设备的开发复杂度。 结语:重新定义智能家居MCU 的价值锚点 普冉MCU 通过 “ 低功耗架构 + 高集成设计 ” 双引擎,将传统 MCU 从功能执行单元升级为 系统能效管理者 。对厂商而言,开发门槛的降低与 BOM 成本的优化,加速了产品迭代与市场竞争力;对用户而言,续航焦虑的破解与使用体验的提升,正重新定义智能家居设备的可靠性标准。未来,随着边缘计算与 AIoT 融合,普冉 MCU 或将成为智能家居 “ 隐形大脑 ” 的核心载体。 作者:深圳市中科领创实业有限公司 电话:18822846570
  • 热度 2
    2024-10-10 14:42
    248 次阅读|
    0 个评论
    01 概述 TCP协议广泛应用于可靠性要求较高的应用场景,如网页浏览、文件传输、电子邮件等。它提供了可靠的数据传输和流控制机制,能够确保数据的完整性和有序性。然而,由于TCP协议在传输过程中引入了较多的控制信息,因此相比于UDP协议,TCP的传输速度较慢。 02 功耗的组成 低功耗技术就是一系列的降低功耗的技术。 在了解低功耗技术之前,我们必须先了解功耗的构成。 一个SOC芯片的功耗由两部分组成:动态功耗和静态功耗。 动态功耗是设备运行时或者说信号改变时所消耗的功耗; 静态功耗是设备上电但是信号没有改变时所消耗的功耗; 这里要注意的是:在设备运行时,也需要消耗静态功耗的,因为设备运行时也是上电状态。功耗分类把静态功耗单独拿出来,只是为了理论分析方便。 2.1 动态功耗 动态功耗可以分为: 1. 翻转功耗(有的地方称为开关功耗,但是笔者认为这个名字不准确,因为开关包含的功耗很多,其实是从英文switching power翻译过来,从switching可以看到,名称想表现是动作。所以称为翻转功耗比较准确) 2. 短路功耗(或者称为内部功耗,英文是internal power) 2.1.1 翻转功耗(switching power) Switching power 是一个门电路对输出电容进行充电和放电需要的功耗。简单的说就是一个门电路输出从0变到1和从1变到0所需要消耗的功耗。 Switching power 是动态功耗最主要的组成部分。 1. Switching power 和电压,翻转率,负载电容有关; 2. Switching power和数据无关,也就传输的数据不会影响翻转功耗,但是数据的翻转率会影响翻转功耗; 3. Switching power和传输的大小也无关 由这个公式我们很容易得到如果想减少功耗,那么方法就是: 1. 降低电压; 2. 降低翻转率; 3. 减少负载电容 当然,这些方法的前提永远是芯片的功能要满足要求。功率再低,功能不满足的芯片和板砖有什么区别,起码板砖还能拍人。 芯片的功能要满足要求这个基础就决定了这些方法有一些限制,比如不可能把电压降到0,不可能让信号永远不翻转,不可能电容减少到0。这些都是前提。 2.1.2 内部功耗(internal power) 内部功耗又可以称为短路功耗,因为主要原因是由于短路造成的。短路功耗是因为在输入信号进行翻转时,信号的翻转不可能瞬时完成,因此PMOS和NMOS不可能总是一个截止另外一个导通,总有那么一段时间是使PMOS和NMOS同时导通,那么从电源VDD到地VSS之间就有了通路,就形成了短路电流。 后面的部分就是短路功耗。tsc是短路电流持续的时间,Ipeak是总的短路电流(包含了内部电容充电的电流) 由于传输中短路持续的时间特别短,短路功耗相比翻转功耗来说小很多。所以一般情况下会忽略短路功耗,把翻转功耗就当作动态功耗。 但是值得注意的是,有的情况下,还是要考虑短路功耗,比如如何处理门控模块的悬空的输出的时候。 2.2 静态功耗 静态功耗是由于漏电流引起的,在CMOS 门中,漏电流主要来自4个源头: 1. 亚阈值漏电流(Sub-threshold Leakage, ISUB): 亚阈值泄漏电流是晶体管应当截止时流过的电流. 2. 栅极漏电流(Gate Leakage, Igate): 由于栅极氧化物隧穿和热载流子注入,从栅极直接通过氧化物流到衬底的电流。 3. 栅极感应漏电流(Gate Induced Drain Leakage, IGIDL): 结泄漏电流发生在源或漏扩散区处在与衬底不同电位的情况下。结泄漏电流与其他泄漏电流相比时通常都很小。 4. 反向偏置结泄漏(Reverse Bias Junction Leakage ,IREV):由少数载流子漂移和在耗尽区产生电子/空穴对引起。 2.2.1亚阈值漏电流(Sub-threshold Leakage) 亚阈值漏电流(Sub-threshold Leakage)发生在CMOS gate没有完全关断时。 VT是阈值电压;可以看到,阈值电压越高,漏电功耗就越低。但是阈值电压越高,对应的翻转速度就会越慢,延时就会越大,性能就越差。 1. 可以通过调整VDD/VT来降低漏电流,从而减少漏电功耗。 2. 增加VT会带来性能损失,只能在满足功能需求前提下增加VT; 3. ISUB只和VDD/VT有关,和信号翻转这些都没关系。这是一个工艺强相关的电流,RTL设计对其无影响。 亚阈值泄漏电流随温度呈指数增长(Vth)。这大大增加了设计低功率系统的复杂性。即使在室温下的泄漏是可以接受的,在最坏的情况下,温度会超过芯片的设计目标。 2.2.2栅极漏电流(Gate Leakage) 栅极泄漏电流发生在一个电压加到栅上时(例如当门导通时)载流子遂穿通过薄栅介质的情况下。 泄漏电流与介质厚度有极强的关系。工艺中通过选择合适厚度的介质将栅泄漏电流限制到一个可接受的水平上。泄漏电流还取决于栅极电压。通过使晶体管堆叠起来并使截止晶体管靠近电源/地线可以使栅泄漏电流减小。 在以往的技术节点中,漏电电流一直以亚阈值漏电为主。但是从90nm开始,门极漏电几乎是亚阈值漏电的1/3。在某些情况下,在65nm工艺下,它可以等于亚阈值泄漏。低于65nm,high-k介电材料必须进行保持门级泄漏电流检查,这似乎是唯一有效减少门泄漏电流的方法。 其他两种流电流占比比较小,所以一般不做分析。 Ipeak为泄露电流,减少静态功耗的方法就是减小VDD和Ipeak。 2.3 不同结构的功耗组成 SOC中不同结构的对功耗的消耗是不一样的。有几个功耗大户如下: 1. 时钟树功耗:时钟树的功耗通常占整个SOC功耗的40%左右,这是因为时钟是一直在翻转的信号,所以动态功耗特别大。所以门控时钟技术就特别重要。 2. CPU: CPU是SOC主控制器,工作时CPU一般都必须要打开,随着CPU频率越来越高,功耗也越来越大。所以现在的多核,大小核就比较流行,不同场景下用不同功耗的CPU核; 3. GPU: GPU是并行处理单元,由于其算力主要来自多个模块并行计算,为了正常工作,通常需要很多模块同时运算,功耗也很大,所以很多SOC都不带GPU或者默认关掉; 4. 存储器:DDR这些存储器作为SOC主存也需要时刻使用,也是功耗消耗的大户。 SOC还有其他模块,但是时钟树,CPU/GPU, 存储器占了绝大部分的功耗。在AI芯片的时代,CCN IP也是功耗的主要来源,和GPU比较类似。 03 组件的使用 1 Gitee链接地址 Demo位于amaziot_bloom_os_sdk\sample\libraries\5.19-app_low_power Gitee源码地址:https://gitee.com/ning./hongdou Github源码地址:https://github.com/ayumid/hongdou 编译指令:.\build.bat -l .\amaziot_bloom_os_sdk\sample\libraries\5.19-app_low_power 2 组件功能介绍 组件实现了 TCP 通信下的低功耗。 设备上电后会连接 TCP 服务器,之后发送登录字符串“login”,服务器回复字符串“login_resp”后,设备会进入低功耗状态。低功耗状态下,设备每隔60s会给服务器发送心跳字符串“heart”。当设备在低功耗状态下,服务器发送“wakeup”,设备会唤醒。服务器发送“suspend”,设备会重新进入低功耗。测试平均功耗大概是5mA左右(参考下方固件测试图)。 组件提供一个GPIO控制,如果硬件设计中是MCU+AM430EV5,通过这个IO,可以唤醒MCU。 3 代码讲解 1 low_power_gpio_init 功能:该函数用于,组件提供的用于唤醒主控MCU的GPIO。 参数:无 返回值:无 示例: low_power_gpio_init(); 2 low_power_gpio_out 功能:该函数用于,GPIO输出,用于适当的时间唤醒主控MCU。 参数: 参数 释义 val 输出电平 返回值:0 示例: low_power_gpio_out(1) 3 low_power_send_msg 功能:该函数用于,发送消息给主任务。 参数: 参数 释义 msgId 消息ID extra 按需使用,额外信息 data 按需使用,额外数据 返回值:无 示例: low_power_send_msg(LOW_POWER_CMD_SUSPEND, 1, NULL); 4 low_power_set_mcu_wake 功能:该函数用于,唤醒mcu。 参数: 参数 释义 ad 消息指针 wake gpio输出状态 返回值:无 示例: low_power_set_mcu_wake(ad, 1); 5 low_power_wakeup_internal 功能:该函数用于,关闭网络连接。 参数: 参数 释义 ad 消息指针 返回值:文件指针 示例: low_power_net_close(ad); 6 low_power_net_send 功能:该函数用于,发送数据。 参数: 参数 释义 ad 消息指针 data 数据指针 sz 数据长度 返回值:无 示例: low_power_net_send(); 7 low_power_net_init 功能:该函数用于,发送数据。 参数: 参数 释义 ad 消息指针 返回值:无 示例: low_power_net_init(ad); 8 low_power_net_connect 功能:该函数用于,连接服务器。 参数: 参数 释义 ad 消息指针 fd 套接字描述符 data 数据指针 sz 数据长度 返回值:无 示例: ai_addrlen); 9 low_power_net_create 功能:该函数用于,发送数据。 参数: 参数 释义 ad 消息指针 返回值:无 示例: low_power_net_create(ad); 10 low_power_net_recv 功能:该函数用于,接收服务器信息。 参数: 参数 释义 ad 消息指针 返回值:无 示例: ret = low_power_net_recv(ad); 11 low_power_task 功能:该函数用于,主任务。 参数: 参数 释义 param 任务参数指针,可不用 返回值:无 示例: low_power_task(); 12 low_power_config 功能:该函数用于,配置低功耗相关的信息。 参数: 参数 释义 ad 消息指针 返回值:无 示例: low_power_config(); 13 low_power_init 功能:该函数用于,初始化低功耗需要的资源,任务等。 参数:无 返回值:无 示例: low_power_init(); 4 Demo实战 4.1 创建一个Demo 复制4.2_hal_UART示例工程,到同一个文件夹下,修改文件名为5.19-app_low_power,如图: 4.2 修改makefile 增加文件组件所在目录头文件路径,和源文件路径,如图: 4.3 增加头文件 使用代码编辑器,将新建的工程文件加入代码编辑器中,打开main.c,修改main.c,加入am.h等头文件,如图: 4.4 修改代码 在Phase2Inits_exit 调用低功耗初始化函数,如图: 4.5 宏定义介绍 low_power_uart_printf 输出日志到DEBUG 串口,日志比较少,可以输出到这个串口,如果日志比较多,需要输出到usb口,以免不必要的问题出现 low_power_catstudio_printf 输出日志到USB 串口,使用catstudio查看,catstudio查看日志需要更新对应版本mdb.txt文件,软件打开filtter过滤日志,只查看用户输出的日志 LOW_POWER_TASK_STACK_SIZE 栈空间宏定义 4.6 函数介绍 Phase1Inits_enter 底层初始化,本例空 Phase1Inits_exit 底层初始化,本例空 Phase2Inits_enter 底层初始化,本例空 Phase2Inits_exit 创建主任务,初始化消息队列,定时器,任务等。 代码片段: enter main\n"); ret = OSAFlagCreate(&sample_ele_log_flag_ref); ASSERT(ret == OS_SUCCESS); ret = OSATimerCreate(&sample_ele_log_timer_ref); ASSERT(ret == OS_SUCCESS); ret = OSATaskCreate(&sample_ele_log_task_ref, sample_ele_log_task_stack, SAMPLE_ELE_LOG_TASK_STACK_SIZE, 200, "filetest-task", sample_ele_log_task, NULL); ASSERT(ret == OS_SUCCESS); OSATimerStart(sample_ele_log_timer_ref, 5 * 200, 5 * 200, sample_ele_log_timer_callback, 0); // 3 seconds timer sample_ele_log_timer_callback 定时器回调函数,发送事件给主任务。 代码片段: OSAFlagSet(sample_ele_log_flag_ref, SAMPLE_ELE_LOG_TASK_TIMER_CHANGE_FLAG_BIT, OSA_FLAG_OR); sample_ele_log_task 日志写入任务,由事件驱动,这里5s一次。 代码片段: open file for write error\n"); } } 4.7 编译 在SDK根目录打开命令行,输入命令.\build.bat -l .\amaziot_bloom_os_sdk\sample\libraries\8.5_ele_log\ 4.8 生成固件 参考入门中开发工具,生成工具。 4.9 测试 测试步骤: 参考编译教程,和文档开头的编译指令,进行编译 按照编译教程选择对应的选项 烧录 4.10 固件 TCP连接 60s一次心跳,测试1小时; 本文章源自奇迹物联开源的物联网应用知识库Cellular IoT Wiki,更多技术干货欢迎关注收藏Wiki: Cellular IoT Wiki 知识库(https://rckrv97mzx.feishu.cn/wiki/wikcnBvAC9WOkEYG5CLqGwm6PHf) 注:本文部分内容来源于网络,如有侵权,请及时联系我们。
  • 热度 4
    2024-9-30 12:02
    1058 次阅读|
    1 个评论
    01 概述 随着物联网(IoT)的快速发展,低功耗广域网(LPWAN)技术在无线通信领域的重要性日益凸显。其中, LoRa(Long Range)技术凭借其独特的扩频调制机制和超远传输距离,在智能城市、农业监测、工业自动化等领域取得了显著的应用成果。本文将系统性地介绍LoRa技术的基本原理、核心特点、存在的缺点以及广泛的应用场景。 LoRa全称(Long Range Radio)是基于Semtech公司开发的一种低功耗局域网无线标准,其目的是为了解决功耗与传输难覆盖距离的矛盾问题。一般情况下,低功耗则传输距离近,高功耗则传输距离远,LoRa技术解决了在同样的功耗条件下比其他无线方式传播的距离更远的技术难题,实现了低功耗和远距离两种兼顾的效果。 02 LoRa技术原理 LoRa是一种基于 chirp spread spectrum (CSS) 扩频调制技术的无线通信方案,由美国Semtech公司开发。其工作原理在于通过线性频率调制(LFM)产生“啁啾”信号,每个数据包的载波频率随着时间线性变化。这种调制方式允许信号在强干扰环境下保持良好的穿透力与抗多径衰落能力,从而实现远距离传输。 LoRa技术采用先进的前向纠错编码(FEC)技术来增强数据传输的可靠性,即使在信号强度较低的情况下也能保证一定的数据完整性。此外,它支持多种扩频因子选择,以适应不同的传输速率和距离需求。 03 LoRa技术特点 ● 长距离通信:LoRa 技术能够实现长距离的通信覆盖,其通信范围可以达到数公里到数十公里,非常适合于远距离物联网应用,例如农业监测、智能城市等。 ● 低功耗(电池寿命长):LoRa 设备以及其通信协议被设计为低功耗的,所以 LoRa 网络中的设备可以长时间运行,即使是由电池供电的设备也可以有较长的使用寿命。 ● 广域覆盖:LoRa 网络可以提供广泛的覆盖范围,不仅覆盖城市地区,也能够较好地穿透障碍物,提供深度的室内和地下覆盖,适用于各种不同环境下的物联网应用。 ● 抗干扰能力:LoRa 技术采用了频率扩散调制技术,使得其在频繁干扰的环境中依然能够保持稳定的通信连接,从而提高了其在复杂电磁环境下的可靠性。 ● 低成本:LoRa 技术的部署相对成本较低,设备价格低廉,且由于其长距离通信能力,可以减少基础设施的需求,从而降低了整体的部署成本。 ● 开放标准:LoRa 是一种开放的通信标准,因此厂商和开发者可以基于 LoRa 技术进行开发,极大的促进了 LoRa 生态系统的发展和创新。 04 LoRa技术的不足之处 数据传输速率 :LoRa在传输距离上有突出表现,同样牺牲了数据传输速率,通常在几十至几百kbps之间,不适合需要高速率传输的应用场景。 网络可靠性 :尽管LoRa网络设计之初考虑了稳健性,但在高密度部署或复杂环境中仍可能面临网络拥塞、信号干扰等问题。 标准化与兼容性 :LoRa主要依托于私有协议LoRaWAN,虽然已在全球范围内得到广泛应用,但相对于其他一些全球统一标准的通信技术还是有较大的差距的。 05 LoRa应用场景 智慧城市 :用于智能照明、环境监测、停车管理等市政设施的数据采集与远程控制。 农业监测 :实现农田土壤湿度、温度、光照等参数的实时监测,助力精准农业发展。 资产追踪 :在物流和供应链管理中,对货物进行实时定位和状态跟踪。 工业物联网 :为工厂自动化提供无线监控解决方案,如生产设备的状态监测和预测性维护。 总结而言,LoRa技术作为LPWAN领域的关键推动者之一,以其特有的技术优势服务于众多物联网应用场景,尤其在低速、低功耗、远距离通讯方面展现出巨大潜力。然而,面对快速发展的物联网市场和技术演进,LoRa还需不断改进和完善,以应对更高的可靠性和安全性需求。 06 LoRa组件的使用 1 Gitee链接地址 Demo位于amaziot_bloom_os_sdk\sample\libraries\21.1_lora_rtx Gitee源码地址:https://gitee.com/ning./hongdou Github源码地址:https://github.com/ayumid/hongdou 编译指令:.\build.bat -l .\amaziot_bloom_os_sdk\sample\libraries\21.1_lora_rtx\ 2 组件功能介绍 初始化Lora模块。 3.26 Lora AM-HD-E-REV-06-020 3.25 Lora AM-HD-E-INIT-06-018 3 代码讲解 1 dev_lora_send 功能:该函数用于初始化lora模块。 参数: 参数 释义 data 发送数据缓冲区指针 len 发送数据长度 返回值:无 示例: C dev_lora_send("abcdefghijklmnopqrstuvwxyz", strlen("abcdefghijklmnopqrstuvwxyz")); 2 dev_lora_module_packet_init 功能:该函数用于,将发送数据长度写入Lora模块寄存器。 参数: 参数 释义 len 发送数据长度 返回值:无 示例: C dev_lora_module_packet_init(strlen("abcdefghijklmnopqrstuvwxyz")); 4 Demo实战 4.1 概述 上电后,模组会一直等待其它lora模块发送的数据。 上电后,模组会每隔3s发送不同长度的数据 4.2 测试 测试步骤: 参考编译教程,和文档开头的编译指令,进行编译 按照编译教程选择对应的选项 烧录 4.3 宏定义介绍 sample_lora_rtx_uart_printf 输出日志到DEBUG 串口,日志比较少,可以输出到这个串口,如果日志比较多,需要输出到usb口,以免不必要的问题出现 sample_lora_rtx_catstudio_printf 输出日志到USB 串口,使用catstudio查看,catstudio查看日志需要更新对应版本mdb.txt文件,软件打开filtter过滤日志,只查看用户输出的日志 LORA_RTX_TASK_STACK_SIZE 栈空间宏定义 4.4 全局变量介绍 lora_rtx_task_stack 任务栈空间,本例使用数组实现,用户在做项目时,可以预先估算下当先任务需要的大致栈空间,OS没有提供可以查看栈空间使用情况的API lora_rtx_task_ref Lora任务指针 4.5 函数介绍 Phase1Inits_enter 底层初始化,本例空 Phase1Inits_exit 底层初始化,本例空 Phase2Inits_enter 底层初始化,本例空 Phase2Inits_exit 创建主任务 代码片段: C int ret; ret = OSATaskCreate(&lora_rtx_task_ref, lora_rtx_task_stack, LORA_RTX_TASK_STACK_SIZE, 120, "lora_rtx_task", lora_rtx_task, NULL); ASSERT(ret == OS_SUCCESS); sample_lora_rtx_uart_printf("Phase2Inits_exit\n"); _task 主任务,代码发分为两部分,一部分是发送不定长数据;另一部分是上电后等待其它模块发送的数据,收到后打印到串口。 代码片段: C while(1) { //这里实现了发送任意长度的字节,可以使用另一个模块来接收 // sample_gpio_sleep(3); // dev_lora_module_packet_init(strlen("1234567980")); // dev_lora_send("1234567980", strlen("1234567980")); // sample_gpio_sleep(3); // dev_lora_module_packet_init(strlen("abcdefghijklmnopqrstuvwxyz")); // dev_lora_send("abcdefghijklmnopqrstuvwxyz", strlen("abcdefghijklmnopqrstuvwxyz")); //这里实现了接收其它模块发来的数据 status = OSAMsgQRecv(lora_data_msgq, (void *)&rcv_data, sizeof(LORA_RCV_DATA_MSG_T), OSA_SUSPEND); if (status == OS_SUCCESS) { if(NULL != rcv_data.data) { sample_lora_rtx_uart_printf("lora data len:%d %s\n", rcv_data.len, rcv_data.data); free(rcv_data.data); rcv_data.data = NULL; } } } 注:本文部分内容来源于网络,如有侵权,请及时联系我们。 本文章源自奇迹物联开源的物联网应用知识库Cellular IoT Wiki,更多技术干货欢迎关注收藏Wiki: Cellular IoT Wiki 知识库(https://rckrv97mzx.feishu.cn/wiki/wikcnBvAC9WOkEYG5CLqGwm6PHf)
相关资源