MTCH9010 是一款一站式液体泄漏检测专用集成电路。它可通过检测电导率变化或电容变化来识别液体泄漏,能为客户的设计开发提供一款灵活且易于配置的芯片。为进一步加快这款器件的开发进程,Microchip 已编写 MTCH9010 传感器驱动及驱动示例代码,并将其贡献至 Zephyr® 实时操作系统。
前提条件与背景知识
Zephyr 项目官网提供了官方安装和配置指南。本文默认你已完成 Zephyr 的安装与运行,且 Python 虚拟环境处于激活状态。本示例使用 SAM L21 Xplained Pro 评估板(型号 ATSAML21-XPRO-B)与 MTCH9010 评估板连接使用。其他品牌或型号的单片机开发板也可兼容,但 UART(通用异步收发传输器)和 GPIO(通用输入输出口)的配置会有所不同。
注:若你处于标准 Zephyr 安装包的根目录下,示例代码的路径为samples/sensor/mtch9010。
配置系统(KConfig)设置
配置系统是 Zephyr 用于配置软件功能标志的工具。示例项目的prj.conf文件中已包含 MTCH9010 所需的配置参数。若你需要修改这些参数,可先编译项目,再运行以下命令:
west build -t menuconfig
执行该命令后会弹出图形化配置界面。若前期配置无误,你可通过以下路径找到 MTCH9010 的配置项:设备驱动 → 传感器驱动 → MTCH9010你也可以按下 “/” 键,输入配置项名称进行搜索,按下回车键即可定位。
图 1 配置系统中 MTCH9010 的默认配置
这些配置参数适用于项目中所有 MTCH9010 实例,本示例中使用默认参数即可。
驱动设计
示例应用程序会先完成传感器初始化,再周期性地将所有传感器数据输出至终端。MTCH9010 传感器采用 “ Fetch and Get” 的传感器应用程序接口设计模式。传感器会先将数据加载至内部缓冲区,待应用程序发出读取请求后,再从缓冲区中解析出传感器数值。
编译与编程
若这是该项目的首次编译,可运行以下命令强制进行完整重建:
west build -p always -b saml21_xpro <folder_to_project>
若项目已编译过,可运行以下命令,由工具链判断是否需要完整重建:
west build -b saml21_xpro <folder_to_project>
编译完成后,可使用以下命令将程序烧录至开发板:
west flash
该命令会自动识别并通过调试 USB 接口,将程序烧录至 SAM L21 Xplained Pro 评估板。若无法通过 west 命令完成烧录,可将编译生成的二进制文件导入其他编程工具,例如 MPLAB® X IPE 或同类软件完成烧录。
硬件配置
首先,关闭 MTCH9010 评估板的 USB 桥功能,同时启用通用异步收发传输器配置。确保跳线开关处于如下位置:
| 开关 | 状态 |
|---|---|
| OUTPUT | 不适用 |
| LOCK | 关闭 |
| ECFG | 开启 |
| MODE | 不适用 |
| USB BRIDGE | 关闭 |
| SLEEP PERIOD | 不适用 |
其次,按照设备树中指定的通用输入输出引脚,将 MTCH9010 开发板与单片机开发板进行连接。对于 SAM L21 Xplained Pro 评估板,需使用扩展接口 2(EXT2)上的如下引脚:
| MTCH9010 评估板 | SAM L21 Xplained Pro 评估板 |
|---|---|
| VDD(电源正极) | VCC(电源正极) |
| GND(电源负极) | GND(电源负极) |
| HBEAT(心跳引脚) | PA20 |
| DETECT (OUT)(检测输出引脚) | PB15 |
| WAKE(唤醒引脚) | PB14 |
完成连接后,通过调试 USB 接口为开发板供电并烧录程序。使用 MPLAB 数据可视化工具或其他串口终端,以 115200 波特率(数据位 8 位、停止位 1 位、无校验位)连接开发板虚拟串口。
先按下 MTCH9010 开发板的复位按钮,确保开发板准备就绪可接收配置参数,再按下单片机开发板的复位按钮。若所有配置均正确无误,终端会开始输出如下信息:

