2、硬件平台选型:主流扫地机器人SoC方案对比(全志、瑞芯微、海思),外设接口分析
做嵌入式Linux移植,第一步就是选芯片。这活儿说白了,就像相亲——选对了,后面顺风顺水;选错了,天天加班填坑。
扫地机器人这个品类,对SoC的要求其实挺有意思的。它不像手机那样追求极致性能,也不像工业设备那样要求宽温宽压。它要的是:够用、便宜、生态好。我这些年经手过好几个扫地机项目,从低端到旗舰都碰过,今天就跟大家聊聊主流的三个方案——全志、瑞芯微、海思。
2.1 全志方案:性价比之王
全志的芯片,在扫地机圈子里用得特别多。为什么?便宜啊。一颗芯片几块钱到十几块钱,BOM成本压得死死的。
我个人习惯把全志的路线分成两类:
- 入门级:比如全志V3s、F1C200s。单核ARM Cortex-A7,主频1.2GHz,内置64MB DDR。适合做纯随机清扫的机器,没有视觉导航,靠陀螺仪和碰撞传感器。
- 中端级:比如全志T113、MR133。双核Cortex-A7,带硬件编解码,支持1080p视频。可以接个USB摄像头做简单的视觉避障。
全志最大的优势是资料多。官方SDK虽然写得乱,但网上社区活跃,遇到问题基本能搜到答案。我在项目里用过V3s,嗯,有个坑要提醒你——它的内置DDR只有64MB,跑完整Linux+QT界面会非常吃力。我当时做的一个项目,硬是把QT的动画效果全砍了,才勉强跑起来。
2.2 瑞芯微方案:性能担当
瑞芯微的芯片,性能比全志强一截。价格也贵一些,但物有所值。
扫地机上常用的瑞芯微方案:
- RK3308:四核Cortex-A35,主频1.3GHz。带硬件NPU(0.5TOPS),可以做轻量级的AI避障。我有个项目就是用这颗芯片做视觉导航,效果还不错。
- RK3566:四核Cortex-A55,主频1.8GHz。性能更强,支持4K编解码,可以接激光雷达+双目摄像头做SLAM导航。
瑞芯微的SDK比全志规范得多。它用的是Buildroot + Yocto的混合方案,内核版本跟进也快。我个人特别喜欢它的NPU工具链——RKNN Toolkit,把训练好的模型转成RKNN格式,部署起来很方便。
不过瑞芯微也有个问题:功耗偏高。RK3566的典型功耗在2-3W,如果散热没做好,机身会发烫。扫地机内部空间本来就紧凑,你想想看,电机、电池、激光雷达都在发热,再加个高温SoC...嗯,我建议你在设计时预留导热硅脂和散热片的位置。
2.3 海思方案:曾经的王者
海思的芯片,在安防监控领域是绝对的霸主。它的ISP(图像信号处理器)做得特别好,用在扫地机的视觉导航上,简直是降维打击。
扫地机上常见的海思方案:
- Hi3516DV300:双核Cortex-A7 + 硬件NPU,主打AI视觉。ISP支持宽动态、低照度增强,在光线不好的床底、沙发底下也能看清。
- Hi3559AV100:四核Cortex-A73 + 双核Cortex-A53,性能怪兽。但说实话,用在扫地机上有点浪费,成本也高。
海思的SDK...怎么说呢,专业但封闭。它的Huawei LiteOS和Linux双系统方案,文档全是中文的,但很多细节藏着掖着。我当年调Hi3516的ISP参数,花了整整两周才把图像效果调好。你如果要用海思,建议先找原厂或代理商要一份详细的ISP调试指南。
另外,海思芯片的供货问题是个大隐患。自从被制裁后,Hi3516系列的价格涨了不少,而且经常缺货。我有个朋友的项目,就因为海思芯片断供,被迫临时换方案,重新画板子、调驱动,折腾了三个月。
2.4 外设接口分析
选完SoC,接下来就是看它能不能接上扫地机的各种外设。我列个表格,大家一目了然:
| 外设类型 | 接口要求 | 典型芯片 | 注意事项 |
|---|---|---|---|
| 激光雷达 | UART / SPI | 思岚RPLIDAR A1 | 波特率一般115200或256000,注意电平匹配 |
| 陀螺仪/IMU | I2C / SPI | MPU6050 / ICM-20948 | 中断引脚要接到SoC的GPIO,用于数据同步 |
| 电机驱动 | PWM + GPIO | DRV8833 / L298N | PWM频率建议10kHz以上,避免电机啸叫 |
| 电池管理 | I2C / ADC | BQ25895 / MAX17048 | ADC采样要加滤波电容,不然电量显示不准 |
| WiFi模块 | SDIO / USB | ESP8266 / RTL8723 | SDIO接口驱动复杂,建议用USB转WiFi |
| 摄像头 | USB / MIPI CSI | OV5640 / IMX219 | MIPI走线要等长,差分阻抗100欧姆 |
| 红外/超声传感器 | GPIO / ADC | HC-SR04 / 红外对管 | 超声传感器容易受电机干扰,软件要做滤波 |
| 显示屏 | SPI / RGB / LVDS | ST7789 / ILI9341 | SPI屏刷新慢,适合显示简单图标 |
这里我重点说几个容易踩坑的地方:
第一,激光雷达的供电。 很多激光雷达是5V供电的,而SoC的GPIO是3.3V电平。直接连会烧引脚。我习惯加一个电平转换芯片,比如TXS0108E,或者用MOS管搭个简单电路。
第二,电机PWM的频率。 你想想看,如果PWM频率太低,电机会发出刺耳的啸叫声。扫地机在卧室里工作,那个声音...用户肯定投诉。我一般设到20kHz,人耳听不到,电机也安静。
第三,电池ADC的精度。 我曾经遇到过电量显示跳变的问题——明明还有50%电,突然跳到10%。后来发现是ADC引脚没加滤波电容,电机启动时的电压波动干扰了采样。加个0.1uF电容就解决了。
2.5 我的选型建议
说了这么多,最后给个总结性的建议:
- 预算有限、功能简单: 全志V3s + 陀螺仪 + 碰撞传感器。成本控制在50元以内。
- 需要视觉导航: 瑞芯微RK3308 + USB摄像头 + 激光雷达。性价比最高。
- 追求极致效果: 海思Hi3516DV300 + 双目摄像头 + 激光雷达。但要做好供应链备货。
我个人现在做新项目,首选是瑞芯微。为什么?生态好、性能够、供货稳。全志虽然便宜,但调试起来太折腾了。海思嘛...除非客户指定,否则我尽量避开。
好了,这一章就聊到这儿。下一章我们开始讲具体的Linux内核移植,从拿到开发板到点亮第一颗LED,一步步来。