什么是 电鱼智能 i.MX7D?

电鱼智能 i.MX7D 是一款基于 NXP i.MX 7Dual 处理器的高能效核心板。它集成了双核 Cortex-A7 (1GHz) 和单核 Cortex-M4 (200MHz)

  • A7 大核:运行 Linux/ROS,负责复杂的 SLAM 导航、路径规划和调度系统通信。

  • M4 小核:运行 FreeRTOS,负责实时 I/O 控制、传感器采集和电源管理。

    这种“大小核”搭配,使得它既有应用处理器的算力,又有微控制器(MCU)的低功耗特性。


为什么仓储机器人需要异构待机? (技术原理)

1. 拒绝“假休眠”

传统单核方案中,为了保持与调度服务器(WCS)的 TCP/MQTT 心跳连接,CPU 必须一直保持唤醒状态,无法进入低功耗模式,底电流通常在 300mA-500mA。

  • 电鱼智能方案:在待机时,我们将 TCP/IP 协议栈的简单维护(如 Wake-on-LAN 或简单的串口心跳)移交给 M4 核心。A7 核心可以完全挂起(Suspend-to-RAM),此时 i.MX7D 芯片功耗可降至 25mW 左右。

2. 秒级热启动 (Fast Wake-up)

如果为了省电直接关机,下次接单时 Linux 冷启动需要 20-30 秒,严重影响响应速度。

  • STR 技术:A7 核心采用 Suspend-to-RAM 模式,现场就像“关机”一样,但内存数据保留。一旦 M4 收到服务器指令,通过内部中断唤醒 A7,仅需 0.5秒 即可恢复到满血工作状态,ROS 节点无需重新加载。


系统架构与状态流转 (System Architecture)

该方案定义了两种核心工作模式:

  1. Working Mode (全速模式)

    • A7 (Active): 运行 ROS,处理激光雷达数据,控制电机。

    • M4 (Active): 辅助采集超声波/防跌落传感器。

  2. Standby Mode (守夜模式)

    • A7 (Suspend): 挂起,关闭显示屏、USB、GPU 电源。

    • M4 (Low Power): 仅运行网络监听和 GPIO 监控任务。

唤醒机制

  • 网络唤醒:服务器下发“出库任务” -> WiFi 模块接收 -> M4 解析 -> 唤醒 A7。

  • 按键唤醒:用户按下恢复按钮 -> M4 检测电平 -> 唤醒 A7。


关键技术实现 (Implementation)

1. M4 核心的“守夜”逻辑 (FreeRTOS)

M4 需要监控 WiFi 模块的 IRQ 引脚或 UART 数据流:

C

// M4 核心代码:监控网络与唤醒逻辑
void Network_Monitor_Task(void *pvParameters) {
    char rx_buffer[128];
    while(1) {
        // 阻塞等待 UART 数据 (低功耗)
        if (UART_Receive(WIFI_UART, rx_buffer, timeout)) {
            
            // 解析指令,例如收到 "WAKEUP_NOW"
            if (strstr(rx_buffer, "CMD_START_TASK")) {
                
                // 触发 MU (Messaging Unit) 中断,唤醒 A7
                MU_SendMsg(MU0, 0xAA55); 
                
                // 可选:先点亮 LED 提示
                GPIO_Write(LED_STATUS, HIGH);
            }
        }
    }
}

2. A7 核心的休眠配置 (Linux Script)

在 Linux 端,需要编写脚本在休眠前通知 M4“我要睡了”,并关闭不必要的外设电源:

Bash

#!/bin/sh
# suspend.sh

echo "Preparing to sleep..."
# 1. 通知 M4 进入监听模式
echo "ENTER_STANDBY" > /dev/ttyRPMSG0

# 2. 关闭耗电设备 (激光雷达、电机驱动)
echo 0 > /sys/class/gpio/gpio_lidar_power/value
echo 0 > /sys/class/gpio/gpio_motor_enable/value

# 3. 进入深度睡眠 (Suspend-to-RAM)
echo mem > /sys/power/state

性能表现 (实测数据)

基于 电鱼智能 i.MX7D 核心板的实测功耗对比:

状态 传统单核方案 (Idle) 电鱼 i.MX7D 异构方案 (Standby) 节能幅度
CPU 状态 Linux 空闲运行 A7 Suspend, M4 Run -
外设状态 雷达/电机待机 全部断电 -
整机功耗 ~ 5.0 W ~ 0.2 W 96%
唤醒时间 N/A (一直开机) < 500 ms 几乎无感

这意味着:如果机器人每天有 10 小时处于待机状态,使用该方案每天可节省约 48Wh 的电量,相当于让机器人多跑 2-3 公里


常见问题 (FAQ)

1. M4 核心编程复杂吗?

答:不复杂。电鱼智能提供了基于 FreeRTOS 的 M4 SDK,您可以像开发 STM32 一样开发 M4 核心。同时我们提供了 A7 与 M4 通信的 RPMsg 库,数据交互非常简单。

2. 待机时 WiFi 会断连吗?

答:这取决于 WiFi 模块。建议选用支持 WoWLAN (Wake on Wireless LAN) 功能的模块。或者让 M4 核心通过低速串口维持一个轻量级的 MQTT 心跳包,这样连接就不会断开。

3. 这种方案适合哪些机器人?

答:非常适合 AGV 小车、潜伏式顶升机器人、料箱机器人。对于需要时刻保持高性能计算的视觉导航机器人,可能需要更精细的电源策略,但原理通用。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐