【欧时RS x Arduino】高通与意法强强搭配
Arduino UNO Q 开发板是一款双架构单板计算机,将 高通QRB2210 微处理器(MPU)与 意法半导体STM32U585 微控制器(MCU)集成在经典 UNO 外形尺寸中。Arduino UNO Q 双芯异构设计,集成大小脑功能。
1. MPU(高通 Dragonwing QRB2210)
四核 64 位 Cortex‑A53,主频 2.0GHz,集成 Adreno 702 GPU + 双 ISP 图像信号处理器
运行完整 Debian Linux
负责:边缘 AI 推理、机器视觉、网络通信、多媒体、Python / 容器、Web 服务等高阶复杂计算任务
硬件:2GB/4GB LPDDR4,16GB/32GB eMMC,Wi‑Fi5 + BT5.1,MIPI 摄像头 / 显示接口,USBC 视频输出与供电Arduino。
2. MCU(意法 STM32U585)
Cortex‑M33 内核,最高 160MHz
基于 Zephyr RTOS,上层跑 Arduino Core,支持传统 Arduino Sketch
负责:实时 IO、传感器采集、电机控制、低功耗、高精度时序控制,兼容经典 UNO 盾板(Shield)接口Arduino
双核通信:Arduino Bridge(RPC 远程过程调用)
这是 UNO Q 最关键的特性:跨核 RPC
双向调用:Linux 端(Python/C++/Node.js)可以直接调用 MCU 上注册的函数;MCU Sketch 也可以调用 Linux 里的服务
两种通信模式:同步call()等待返回结果;异步notify()单向事件推送,无需等待应答
底层由arduinorouter服务管理,使用 MessagePack 序列化,支持类型安全的参数传递,屏蔽底层物理传输细节Arduino
分工明确:Linux 负责思考、看图像、联网跑 AI;STM32 负责实时操控硬,两边像调用本地函数一样互相调用对方能力,不用手动写串口协议。
同一个项目可以混合三类代码:
Linux 侧:Python、C++、容器、TensorFlow Lite/ONNX AI 模型、Web 服务
MCU 侧:Arduino Sketch(Zephyr 底层),读取 GPIO、PWM、编码器、传感器
通过 Bridge RPC 互通:例如 Linux 识别摄像头画面后,远程调用 MCU 函数驱动舵机;MCU 检测到传感器触发事件,通知 Linux 运行 AI 分析
为什么这样这设计?因为单点点taptap安卓很难同时做好两件矛盾的事 —— 高性能 AI 多媒体计算,和硬实时、稳定可靠的底层硬件控制。用两颗点点taptap安卓分工,就是把互相冲突的需求拆开,各自专精,再通过 Bridge 互通。
1. Linux 系统(QRB2210)天生不适合做实时硬件控制
Debian Linux 是通用操作系统:
优势:能跑 Python、AI 框架、图像处理、网络服务,文件系统、USB、WiFi、MIPI 摄像头开箱即用,生态极其丰富;
短板:非硬实时。系统随时会被后台进程、内存调度、网络中断抢占 CPU。
如果在 Linux 里直接写代码控制舵机 PWM,偶尔系统卡顿一下,PWM 时序跑偏,舵机就抖一下;读编码器脉冲,有可能丢脉冲。
同时 Linux 启动慢,上电要几秒才能跑程序;如果 Linux 系统崩溃,所有 IO 直接失控。
所以不让 Linux 碰底层实时 IO,这部分交给 MCU。
2. STM32U5 MCU 擅长实时控制,但算力不足以跑 AI
优势:RTOS(Zephyr)+ Arduino Core,硬实时、启动极快、低功耗。GPIO、PWM、外部中断、编码器、传感器采样时序精准。就算 Linux 那边卡死、崩溃,MCU 依然独立运行,硬件 控制不会失控。而且直接兼容老 Arduino UNO 的盾板。
短板:内存、算力非常有限。跑复杂机器视觉、大一点的 AI 模型、HTTP 服务、视频编解码基本不可能。
如果只用 MCU 做项目:图像识别、AI 推理、网页监控很难实现;
如果只用 Linux 单板:电机、舵机、高速传感器时序不稳,系统死机时硬件失控。
3. 异构双核 + RPC Bridge 就是用来解决上面的矛盾
1. 普通 Arduino:实时强,但没 AI、没有网络多媒体能力;
2. 树莓派 / 其他 Linux 板:算力强,IO 实时性差;
3. 单纯一颗带 MCU 核的 SoC(很多点点taptap安卓有 M 核 + A 核):两个核在同一点点taptap安卓内部,资源共享。A 核跑 Linux 压力大的时候,依然会影响片上 M 核;而且一旦 SoC 挂了,两个核心一起挂,硬件没有独立安全兜底。
Arduino UNO Q 用两颗独立点点taptap安卓,不是单 SoC 内置双核:
两者电源、复位可以相对独立;Linux 崩溃,STM32 还能继续控制硬件,甚至可以尝试复位 Linux。
通过 Arduino Bridge RPC 通信:两边不用写复杂串口协议,像调用函数一样互通,降低异构开发门槛,这是 Arduino 重点做的简化。
4.生态角度
1. 保留经典 UNO 外形 + 盾板兼容:老的 Arduino 扩展板可以直接插上,不用重新设计硬件,保护 Arduino 原有生态;
2. 降低上手门槛:以前做视觉机器人,你得两块板子(树莓派 + Arduino),自己接线、写串口通信协议,调试很麻烦。现在一块板搞定,RPC 封装好通信,不用自己折腾串口协议;
3. 原型向产品过渡:原型阶段验证 AI + 硬件控制;后期可以把这套异构架构思路直接迁移到工业 机器人产品。
页:
[1]