依托现代软件生态简化嵌入式系统设计
2026年09月10日 16:57 发布者:eechina
作者:Lauren Fegan,ADI公司应用工程师摘要
构建嵌入式系统并不意味着需要耗时数月进行底层驱动程序开发和复杂的软件集成。本文以远程油位监测系统为实例,展示如何利用现代微控制器生态,快速地将概念转化为可行的解决方案。
此设计旨在用一种紧凑的基于微控制器的解决方案替代手动油罐测量,可测量油的体积和温度,并以用户友好的格式无线呈现数据。本文强调,与其关注硬件的复杂性,不如聚焦于如何利用现有的软件框架和开发工具来加速开发,使工程师能够专注于系统行为和实际功能。
引言
现代嵌入式应用日益要求具备快速开发能力、灵活性及跨多平台扩展能力。开发此远程油位监测系统旨在演示如何结合高性能微控制器与开放且可扩展的软件生态来实现上述目标。
此系统采用基于Arm的微控制器来连接现成的传感器,处理实际测量数据,并通过无线连接将结果传输至简易接收器和显示器。重点不在于从零开始构建硬件或软件,而在于如何利用现有软件构建模块快速组装出功能齐全且可配置的系统。
通过在CodeFusion Studio开发环境中使用Zephyr RTOS,项目重心从底层实现细节转向数据采集、处理和通信等应用层行为。预置驱动程序、中间件和连接协议栈显著减少了开发工作量,使系统易于适配其他传感器、无线接口或终端应用。
虽然此演示针对家庭油罐监测,但底层方法在各行业中具有广泛适用性。
演示表明,将高性能微控制器与开放且可扩展的软件生态结合,工程师能更快完成原型制作,更自由地开展实验,避免增加不必要的系统复杂性,从而打造实用的嵌入式解决方案。
系统概述
系统由安装在油罐上的发射器和室内接收器组成。发射器定期测量至油面的距离和本地温度。随后,系统利用已配置的油罐几何参数将测量值转换为油位(体积和满度百分比),并通过无线链路发送紧凑的有效载荷。接收器随即解码有效载荷并更新本地显示屏,直观显示剩余燃料量,无需手动量油尺测量。

图1:系统框图
发射器
发射器电子元件集成在油罐盖中(图1),包括超声波传感器、MAX32690微控制器单元(MCU)、MAX31723温度传感器和Wi‑Fi模块。微控制器触发超声波测量,根据飞行时间(ToF)计算距离,将距离转换为液体高度和体积,并格式化结果以供传输。DIP开关提供简单的硬件配置接口,用于选择油罐参数(如容量或几何预设),允许在不同尺寸的油罐间复用相同固件。
接收器
接收器包括Wi‑Fi模块、MAX32690 MCU、LCD和MAX31723温度传感器。接收器接收传输的有效载荷,提取计算出的油位信息,并在显示屏上刷新油罐容量(%)、体积和本地(家庭)温度。将用户界面与传感节点分离,既简化了油罐安装,又提供了便捷的室内读数。
为何选择超声波?
选用超声波传感器配合飞行时间(ToF)技术进行油位测量。传感器向液面发射超声波脉冲;声波从油面反射并返回接收端,如图2所示。接收器将返回的声能转换为电信号,利用发射与接收之间的时间差确定至液面的距离。

图2:超声波反射
将ToF转换为距离时需使用空气中的声速。由于测量时间对应往返行程(传感器→液面→传感器),单程距离计算公式为:
距离 = (空气速度 × 时间) / 2
由此得出传感器表面至油面的距离。
已知油罐几何形状后,可将测得距离转换为液体高度和体积。
以下示例假设矩形油罐长1.7m,宽0.7m,内部高度为1.4m。如果测得的距离为0.4m,则液体高度为:
液体高度 = 油罐高度 − 测量距离 =
1.4 − 0.4 = 1.0m
相应的液体体积为:
体积 = 长度 × 宽度 × 液体高度 = 1.7 × 0.7 × 1.0 = 1.19m3
油罐满载时总体积为1.66m3。利用测得的液体体积,可将油位表示为满量程百分比:
容量 (%) = (V液体/V总) × 100 = (1.19 / 1.66) × 100 = 71.4%
实际应用中,MAX32690在固件中执行此类转换,并将计算出的油位(及相关数值)传输给接收器,而非发送原始ToF测量值。
温度传感器如何助力提高精度?
引入温度传感器可提高超声波油位测量精度,因为空气中的声速随温度变化。若使用固定声速将ToF测量值转换为距离,指示油位会随环境条件变化而产生漂移。通过在油罐处测量温度并更新ToF转距离公式中的声速参数,系统可减少温度相关误差,生成更稳定的油位估算值。
接收器中增设第二个温度传感器,使用户能够了解家庭温度与油耗之间的关系。将此综合数据集与测得的油罐油位进行长期趋势分析,可深入了解供暖系统效率(例如每度-日或每个室内温度区间的燃料消耗量),并可通过标记消耗率的持续变化来支持预测性维护,此类变化可表征燃烧器性能下降、隔热问题或控制故障等问题。
从系统角度看,增MAX31723温度传感器可在CodeFusion Studio环境中以极小软件开销集成额外测量通道的有效方法。
什么是CodeFusion Studio?
CodeFusion Studio是一款综合软件开发环境,旨在简化ADI公司模拟和数字技术的嵌入式开发。CodeFusion Studio并非单一工具,而是将集成开发环境(IDE)、软件开发套件(SDK)及各种配置和生产力工具整合为统一工作流。
此IDE支持跨异构系统的应用开发、调试和优化,使工程师能够从基础功能快速推进至完整的可用解决方案。借助配套的SDK,可访问预集成的驱动程序、操作系统、中间件及特定领域参考应用,显著降低定制化底层软件开发的需求。

图3:设备树(左侧)和Kconfig(右侧)中详细描述的功能
CodeFusion Studio在此应用中尤为有用,因为它为硬件和软件配置提供了一种结构化的方法。硬件资源通过设备树描述,设备树以分层格式表示系统组件及其连接。这种分离机制使得外设和传感器能够独立于应用代码进行定义,从而简化了硬件变更并提高了代码的可移植性。
软件功能和系统行为通过Kconfig配置,Kconfig指定构建时选项,如启用的驱动程序、通信协议栈和操作系统功能。设备树和Kconfig共同保持应用代码整洁且易于维护,同时实现对系统资源的精细控制(图3)。
Zephyr与裸机驱动开发对比
在开发的早期阶段,每个硬件组件都需要定制的底层驱动程序。尽管裸机方法提供了完全控制权,但随着新功能和外设的增加,开发迅速变得耗时且占用大量资源。迭代速度放缓,集成愈发复杂,维护不断增长的软件栈需要持续投入大量精力。两个简单示例说明了此种差异:实现超声波测量需89行裸机驱动代码,而使用搭载Zephyr RTOS库的CodeFusion Studio仅需35行。同样,在LCD上显示“Hello World”需要136行裸机代码,而使用Zephyr仅需37行。
CodeFusion Studio发布后,过渡到使用Zephyr RTOS标志着项目的重要转折点。Zephyr提供了更具可扩展性和可维护性的开发环境,实现了实时功能的顺畅集成,加速了整体系统演进。设计重心因此从底层硬件管理转向专注于数据流和应用行为的更高层系统架构。
利用Zephyr硬件抽象层(HAL),只需极少软件返工即可评估多个硬件平台。MAX32690EVKIT和AD‑APARD32690‑SL开发板均使用相同应用框架进行测试,从而能够直接比较低功耗蓝牙和Wi‑Fi连接选项,以确定最合适的通信方式。
随着项目逐渐成熟,借助Zephyr模块化架构,我们能平稳过渡到针对采用更小封装MAX32690 MCU的开发板进行重新配置时。应用代码大部分得到复用,变更仅限于硬件描述和构建时配置。这种灵活性凸显了基于RTOS的方法能够简化平台迁移,并支持嵌入式系统设计的长期可扩展性。
ADI构建模块
此项目的关键目标是展示ADI支持的组件如何在缩短开发时间和降低风险的同时,仍保留扩展和定制空间。本文讨论的ADI组件能促进嵌入式设计的核心要素(处理、传感和现代软件工作流)。
MAX32690开发板提供先进的片上系统(SoC),搭载Arm Cortex‑M4F CPU,兼具强大处理能力与物联网应用所需的连接性。MAX31723采用小型封装,精度为±0.5°C,通过SPI进行通信,供电电压范围为1.7V至3.3V。两款器件均可在苛刻的工业环境中运行。
CodeFusion Studio将项目紧密结合,证明生产力的提升既源于硬件本身,也源于软件生态。CodeFusion Studio通过复用经过验证的组件,并将硬件特定变更限制在配置层面而非重写应用代码,实现更快迭代(包括更换开发板和添加功能);而且提供统一环境,整合了构建和调试嵌入式应用所需的IDE、SDK及配置工具。CodeFusion Studio支持以配置为核心的工作流,具有可移植性,能够随着需求变化实现可控扩展。
展望未来
虽然上述演示侧重于油位测量和数据展示,但系统架构同样支持更广泛的油罐管理功能。在已具备连续测量和无线连接功能的基础上,设计可扩展以支持用量趋势跟踪、低油位警报和预测性补油通知等功能。此类功能将减少人工监控,提高燃料管理效率,尤其适用于住宅和工业环境。
系统的另一自然扩展是采用能量收集或超低功耗运行,以支持长期免维护部署。许多油罐位于偏远或难以接近的位置,更换电池很麻烦。微控制器平台的模块化软件架构和低功耗特性,使系统能够适配能量收集电源或延长电池续航,进一步提升系统自主性。上述功能扩展共同凸显了本文的方法如何从一个简单的测量系统演变为更全面、可扩展的能源监控应用解决方案。
结语
本文展示了CodeFusion Studio开发环境凭借预集成驱动程序、结构化配置工具和模块化软件架构,助力减少开发工作量,实现对多个平台和连接选项的高效评估,使系统能够以最小的返工成本持续演进。
开放的模块化软件生态使嵌入式设计能够超越基础测量,演变为可扩展、可维护的监控解决方案,最大限度减小重复开发工作量。
作者简介
Lauren Fegan是ADI公司都柏林区域应用团队的工程师,负责支持EMEA大众市场客户。她的技术专长涵盖工业以太网、精密信号链技术和高速数据转换器解决方案。Lauren拥有贝尔法斯特女王大学电气与电子工程硕士学位,此前的工程经历使她在状态监测应用领域积累了扎实背景。
