从STM32到RK3588——自动售货机嵌入式主控方案的架构演进~YH

2023年底,我接手了一个自动售货机的嵌入式系统升级项目。客户的需求很明确:现有设备太"笨"了------用户投币、按键、电机转一圈出货,全程没有数据产生,库存靠人工盘点,故障靠用户打电话投诉才知道。

目标是把传统设备改造成可远程管理、可数据化运营的智能终端。

老方案为什么跑不动了

原有设备用的是基于STM32F103的单片机方案。控制逻辑倒是稳定,但功能扩展已经到头了------不支持4G远程管理、没有触摸屏接口、跑不了AI识别,连OTA升级都做不了。

2026年的自动售货机需要的能力已经完全不同了:

  • 接入4G网络实现远程管理

  • 通过触摸屏展示商品信息、支持多支付方式

  • 高端机型甚至需要在端侧完成YOLO模型的实时推理

如果只是"出货+收钱"的逻辑,用单片机方案确实够用。但行业主流已经从纯逻辑控制转向了需要Linux/Android系统的智能终端。

方案选型:三个选项的权衡

方案A:继续用MCU(STM32MP1系列)

STM32MP1是ST推出的跨界处理器,能跑Linux,接口丰富,生态成熟。但NPU算力基本为零,跑AI模型只能靠CPU软解。如果项目定位是不需要AI识别的机型,这是一个可选项;但对于要上视觉识别的机型,这条路走不通。

方案B:NVIDIA Jetson Nano

最大的优势是CUDA生态成熟,跑YOLO有现成的优化方案,开发快。但算完BOM成本就放弃了------单套硬件成本接近RK3588方案的三倍,而且供货不太稳定。对于需要批量生产的售货机来说,成本和供应链稳定性是硬约束。

方案C:瑞芯微RK系列

最终选择了瑞芯微方案,但不同机型选了不同芯片。

弹簧机选了RK3568:四核Cortex-A55,内置1 TOPS NPU。虽然跑不了复杂的AI模型,但处理弹簧机的控制逻辑绰绰有余。外设接口需求包括:4路以上RS232串口用于连接支付模块、4G模块和触摸屏;8路以上GPIO用于控制货道电机、检测门开关和读取传感器状态。

开门柜选了RK3588:八核(4颗A76大核+4颗A55小核),内置6 TOPS算力的NPU。这个算力水平,能够在本地完成YOLO系列的实时推理。

工程中的几个坑

串口DMA丢数据:RK3568的UART接口在GPIO和UART同时高负载时,串口数据会出现CRC错误。解决方案是在设备树中调整UART的DMA缓存大小,同时降低UART波特率(从115200降到57600),实测丢包率从5%降到了0.2%以内。

Linux vs Android:操作系统选型也是一个关键决策。Linux的优势是轻量、可控、成本低;Android的优势是支付SDK生态成熟、触摸屏交互开发快。最终根据机型需求做了差异化选择。

写在最后

从STM32到RK3588,不仅仅是芯片的升级,更是整个系统架构的重构。对于正在做类似项目的开发者,我的建议是:先想清楚设备需要什么样的能力,再选芯片,而不是反过来。算力过剩是浪费,算力不足是灾难。

相关推荐
码云数智-园园23 分钟前
unique_ptr 还是 shared_ptr?C++ 智能指针选型与内存泄漏实战分析
java·开发语言
禾小西1 小时前
07丨Redis 哨兵机制:主库故障后,如何恢复服务?
java·开发语言·redis
我不是阵雨1 小时前
JDK 21虚拟线程Pinning陷阱:一文拔钉解困
java·开发语言
徐小黑ACG2 小时前
Golang 基础05 结构体struct
开发语言·算法·golang
hz567892 小时前
涉密视频会议设备配置指南:终端、音视频采集与配套设施选型
服务器·网络·数据库·安全·实时音视频·信息与通信·智能硬件
广州浮点FLOATLIC2 小时前
许可证服务器迁移后软件打不开:研发 IT 怎样定位连接问题
linux·服务器·数据库
优橙教育2 小时前
零基础学AI应用开发要多久?3个月能到什么水平
服务器·开发语言·网络·php
Dawson Zhu2 小时前
《Agentic Design Patterns》第 9 章导读:学习与适应(Learning and Adaptation)
人工智能·语言模型·架构·aigc·agi
AIgorithmGEEK2 小时前
[Linux]从手写报头到内核套路:序列化、反序列化与自定义协议全链路
linux·运维·服务器·网络·序列化·反序列化
SEO_juper2 小时前
用 Python 写一个 GEO 可见性检查脚本:你的网站现在能被 AI 引用吗
开发语言·人工智能·爬虫·python·seo·外贸独立站