什么是 电鱼智能 SAIL-IMX7D?
电鱼智能 SAIL-IMX7D是一款基于 NXP i.MX7Dual 处理器的高效能核心板。它采用独特的非对称多处理架构(AMP),集成了双核 Cortex-A7 @ 1.0GHz(运行 Linux/Android)和单核 Cortex-M4 @ 200MHz(运行 FreeRTOS)。
该平台专为物联网网关与手持终端设计,具备双千兆网口、CAN 总线及EPD(电子墨水屏)硬件驱动接口。其核心优势在于极其优秀的能效比(Performance/Watt),是手持设备“去充电宝化”的理想选择。
为什么 手持探鱼器 需要这款硬件?(选型分析)
户外钓鱼通常持续 6-12 小时。传统的 Linux 手持机即便关屏,后台跑声呐算法也会快速耗尽 3000mAh 的电池。SAIL-IMX7D通过以下特性解决痛点:
1. 异构双核:分工明确
痛点:为了等待偶尔出现的鱼群,CPU 必须全速运行处理声呐数据,即使 90% 的时间水下没有任何动静。i.MX7D 优势:可以将复杂的 UI 渲染和海图显示交给Cortex-A7(耗电大户),而将底层的声呐发波、回波检测交给Cortex-M4(极低功耗)。当水下无鱼时,A7 彻底休眠,仅留 M4 站岗。
2. 独立电源域与低功耗状态
痛点:系统待机电流通常在 200mA 以上。i.MX7D 优势:i.MX7D 支持LPSR (Low Power State Retention)模式。在 M4 运行时,可以将 A7 内核及大部分外设断电,仅保留必要的共享内存和 M4 电源域,整机功耗可降至20mA级别。
3. EPD 电子墨水屏支持
痛点:LCD 屏幕在户外强光下看不清,且背光极其耗电。i.MX7D 优势:原生支持E-Ink (EPDC)接口。结合异构架构,M4 可以在 A7 休眠时,直接驱动墨水屏刷新简单的水深数字或文字,实现“屏幕常显”但“系统休眠”的极致省电效果。
系统架构与数据流 (System Architecture)
本方案采用Linux (A7) + FreeRTOS (M4)的双系统架构。
场景逻辑:智能监测模式
正常模式:A7 运行 Linux Qt 界面,显示彩色声呐云图;M4 负责采集数据传给 A7。
进入休眠:用户按下电源键或长时间无操作 ->A7 进入 Suspend 模式(关屏/关背光),M4 保持运行。
后台监测 (M4):M4 控制声呐探头低频发波(如 1次/秒),实时分析回波强度。
唤醒触发:当 M4 检测到回波强度超过阈值(发现鱼群) -> 通过RPMsg (Remote Processor Messaging)或GPIO 中断唤醒 A7。
满血复活:A7 瞬间唤醒,点亮屏幕,发出报警音,并绘制鱼群图像。
关键技术实现 (Implementation)
1. M4 侧:FreeRTOS 监测与唤醒逻辑 (C 代码)
在 M4 核心上运行的实时代码,负责判断是否唤醒主核。
C
#include "rpmsg_platform.h" #include "FreeRTOS.h" // 模拟声呐数据处理任务 void Sonar_Task(void *pvParameters) { float depth, intensity; while(1) { // 1. 读取 ADC 或 串口 声呐数据 get_sonar_data(&depth, &intensity); // 2. 阈值判断:如果有大鱼 (强度 > 80) if (intensity > 80.0) { // 3. 触发 GPIO 中断唤醒 A7 (假设连接到 GPIO1_IO05) GPIO_WritePinOutput(GPIO1, 5, 1); // 或者发送 RPMsg 消息 // rpmsg_send(my_channel, "FISH_DETECTED", 13); vTaskDelay(pdMS_TO_TICKS(5000)); // 防止频繁唤醒 } // 低频采样,省电 vTaskDelay(pdMS_TO_TICKS(1000)); } }2. A7 侧:Linux 电源管理配置 (Shell)
在 Linux 端配置唤醒源,并进入低功耗模式。
Bash
# 1. 允许 GPIO 作为唤醒源 (假设 GPIO1_5 是连接 M4 的中断线) echo enabled > /sys/class/gpio/gpio5/device/power/wakeup # 2. 手动进入内存挂起模式 (Suspend-to-RAM) # 此时 A7 停止运行,电流降至最低,直到 M4 拉高 GPIO5 echo mem > /sys/power/state性能表现 (理论预估)
假设使用 3000mAh 电池:
传统单核方案 (全速运行):
功耗:约 350mA (CPU) + 200mA (屏幕) = 550mA。
续航:< 5.5 小时。
电鱼 i.MX7D 异构方案 (智能监测模式):
A7 唤醒时间占比 10% (发现鱼群时)。
A7 休眠功耗:约 15mA。
M4 运行功耗:约 25mA。
综合平均功耗:(550 * 0.1) + (40 * 0.9) ≈ 91mA。
续航:> 30 小时。
常见问题 (FAQ)
Q1: A7 唤醒需要多长时间?A:从 Suspend-to-RAM (STR) 模式唤醒通常只需要100-300毫秒。用户几乎感觉不到延迟,屏幕瞬间点亮。
Q2: M4 核心编程难吗?A:NXP 提供了完善的MCUXpresso SDK,包含 FreeRTOS 和外设驱动。电鱼智能也提供了 A7与M4 通信的RPMsg 示例代码,开发难度类似于 STM32。
Q3: 两个核心如何共享数据?A:i.MX7D 拥有硬件层面的共享内存 (Shared Memory)区域。声呐原始数据可以直接由 M4 写入共享内存,A7 唤醒后直接读取渲染,无需进行低效的串口传输。