You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过USB Host CDC类将Quectel EC25 4G modem集成到STM控制器

核心结论

STM仅配置为标准USB Host CDC类,无法直接识别Quectel EC25 4G modem,必须做针对性适配修改,才能正常发送AT指令。

不兼容的核心原因

EC25的USB接口不属于标准单接口CDC-ACM设备,是多接口USB复合设备:

EC25默认USB枚举后会导出4~6个独立的虚拟串口接口(具体数量随固件配置变化),分别对应AT指令交互、PPP拨号、GNSS NMEA输出、DM调试等不同功能,接口描述符、端点配置逻辑和标准CDC协议存在差异。STM自带的默认USB Host CDC驱动仅支持标准单接口CDC设备,无法解析EC25的多接口复合设备描述符,自然无法识别为可用通信设备。

需要完成的适配修改项

  • 首先扩展STM的USB Host驱动,新增USB复合设备枚举支持:EC25插入时完成完整的设备描述符、配置描述符、接口描述符解析,过滤出所有属于虚拟串口类的接口,为每个接口独立分配端点资源、缓存空间。
  • 替换默认的标准CDC类驱动,改用EC25适配的USB虚拟串口驱动:EC25的USB串口通信不需要走标准CDC的控制请求流程,枚举完成后直接向对应接口的BULK OUT端点发送数据,从BULK IN端点读取返回数据即可,你可以直接裁剪掉标准CDC驱动里的控制请求相关逻辑,只保留批量传输部分。
  • 新增功能端口映射逻辑:EC25的不同接口对应固定功能,常规固件下接口1为AT指令交互端口,你只要对接该端口的端点即可发送AT指令拿到返回结果。

快速验证流程

如果要快速确认硬件和基础逻辑没问题,可以先跳过CDC框架做最小验证:

  1. 先将EC25连接到电脑,用USB设备查看工具读取它的VID、PID,以及AT指令对应接口的BULK IN、BULK OUT端点地址,记录备用。
  2. STM侧先写最简USB Host批量传输驱动,枚举成功匹配EC25的VID/PID后,直接向记录的BULK OUT端点发送AT\r\n指令,监听BULK IN端点,只要能收到OK返回,说明底层通信链路已经通了,再封装上层逻辑即可。

内容的提问来源于stack exchange,提问作者New_Beginning

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 10:15:06