当前位置: 首页 > news >正文

别让USB拖后腿!硬件参考设计+软件开发API,都帮你整理好了

本文以Air780EPM系列低功耗模组为例,分享USB接口的硬件设计要点以及LuatOS高效开发API,帮助开发者在设计中避开常见陷阱,快速构建稳定可靠的USB应用。

01. 模组管脚

Air780EPM系列模组与USB相关的管脚,如上方管脚图右侧浅绿色块所示:

  • VBUS:PIN61;

  • USB_DM:PIN60;

  • USB_DP:PIN59;

特别说明:
管脚图中所示的USB_DN正确的写法应该是USB_DM,历史原因一直将错误写法延续到了现在。

USB_DM:
USB Data Minus,USB数据负信号;

USB_DP:
USB Data Positive,USB数据正信号。

02. 功能说明

Air780EPM系列模组支持如下USB功能:

  • 支持USB Full speed:
    全速模式,最高支持12Mbps,即1.5MB/s;

  • 支持USB High speed:
    高速模式,最高支持480Mbps,即40MB/s;

  • 支持USB下载软件,Boot from USB;

  • 支持USB RNDIS:
    搭配Windows/Linux实现快速上网;

  • 仅支持USB Slave,不支持USB HOST。

03. 注意事项

与USB相关的操作,重点关注如下几个方面:

  • 上电开机前将USB_BOOT(GPIO0)上拉至 VDD_EXT,模组将进入USB下载模式(Boot from USB);

  • 模组内部用于USB部分供电的电源是LDO33USB(3.3V输出),该LDO只为USB功能提供电源,模组管脚未引出;

  • 低功耗模式pm.WORK_MODE,1和PSM+模式pm.WORK_MODE,3 下,会将LDO33USB关闭;

  • 模组VBAT最低2.3V左右(实测最低可至 2.1V)时仍可工作,但因此时LDO33USB的输入(2.3V)已远低于输出(3.3V),所以USB已无法正常工作;

  • VBUS,在模组内部实际接的是WAKEUP1,USB_VBUS的5V经过分压后接到WAKEUP1,用于USB插入检测。

04. 硬件参考设计

USB接口相关硬件参考设计如下图示,横屏或点击放大查看。

▼ 相关注意事项 ▼

USB接口硬件设计需要特别注意如下几个方面:

1)阻抗匹配

USB接口的PCB设计中,差分信号线(USB_DP/USB_DM)的阻抗需控制在90Ω±10%(即81Ω~99),这是保证信号完整性的关键参数。

注意:阻抗不匹配将会导致信号反射、眼图闭合、误码率上升,甚至通信失败。

2)布线原则
  • 差分对等长匹配:
    长度差控制在5mil以内,避免时序偏差和共模干扰;

  • 减少换层过孔:
    每次换层加一对回流地过孔,维持信号回流路径连续性,降低阻抗不连续风险;

  • 保持完整参考平面:
    避免跨分割,优先内层布线,包地处理减少串扰。

3)TVS保护

USB接口容易引入静电干扰,因此需要在电路上增加 TVS保护。

  • USB High speed差分数据线选择TVS的最关键参数是结电容容值,需要小于1pF;我们验证使用过的是芯禾微XESD124N-5V0。

  • VBUS电源上使用的TVS,我们使用过的是芯禾微XESD307D-5V0。

05. 与USB相关的LuatOS API

LuatOS高度封装与灵活的API设计,简化了传统USB开发的繁琐流程

▼ pm.USB ▼

  • 常量含义:USB的供电使能;

  • 数据类型:number;

  • 常量取值:0;

  • 适用产品:
    Air780EXX系列、Air700E系列、Air8000系列模组;

  • 示例代码:

▼ mobile.CONF_USB_ETHERNET ▼

  • 常量含义:蜂窝网络模块的USB以太网卡控制;

  • 数据类型:number;

  • 常量取值:11;

  • 取值范围:
    0x01:开启RNDIS功能;
    0x03:开启RNDIS功能,使用NAT模式(基站分配ip);
    0x05:开启ECM功能;
    0x07:开启ECM功能,使用NAT模式(基站分配ip)。

  • 注意事项:
    控制设备的USB以太网卡功能,通过位操作来控制不同的功能;仅在开启前可以修改;bit2:协议选择(1ECM协议,0RNDIS协议);必须在飞行模式下设置才能生效。

  • 适用产品:
    Air780EXX系列和Air8000系列模组。

  • 示例代码:

▼ uart.VUART_0 ▼

  • 常量含义:USB虚拟串口;

  • 数据类型:number;

  • 常量取值:32;

  • 适用产品:
    Air780EXX系列和Air8000系列模组。

  • 示例代码:

http://www.cnnetsun.cn/news/138145.html

相关文章:

  • OpenAI 的反击!GPT-5.2 强行拉开代差,Gemini 3 和 Claude 4 还有机会吗?
  • 零售打工人加薪难?靠这张证,我在激烈竞争里站稳了脚跟
  • 基于springboot的多媒体素材库的开发与应用毕业论文+PPT(附源代码+演示视频)
  • 从离线语音到多模态智能体四博智联 AI 硬件整体解决方案全景解析
  • 我发现跨医院联合训练让诊断准确率飙升后来才知道是横向联邦学习在数据孤岛中的绝招
  • 性能压测工具:wrk
  • 论文引用标注工具排名2025:6大平台+自动规范推荐
  • Kotaemon AWS EC2部署实例:国际业务首选
  • 实在没货,简历(软件测试)咋写?
  • 网约车服务端线上流量巡检与测试验收技术
  • 公考日记7
  • 火电一次调频、自抗扰调频及群智能算法智能调频在MATLAB/Simulink中的应用
  • 科研实验室温湿度监控新范式:以太网 POE 技术全场景解决方案
  • RV1126 NO.57:ROCKX+RV1126人脸识别推流项目之读取人脸图片并把特征值保存到sqlite3数据库
  • 探索SAR ADC:45nm工艺下的高速高精度设计
  • 【小增长技术团队东哥分享】Electron vs Electron-Vite vs Electron-Egg:桌面端开发到底该选谁?
  • 测试价值的量化评估:从成本中心到价值证明的路径探索
  • 测试领导力:在敏捷洪流中筑造质量堤坝
  • C++常用设计模式
  • Spring Boot 自动配置深度解析:原理、实战与源码追踪
  • 无代码解决方案:破解企业数字化转型效率困局
  • SAM (Segment Anything Model):万物皆可分割-k学长深度学习专栏
  • Mysql 报错 “Public Key Retrieval is not allowed”
  • 熊市中最适用的公式==底部建仓
  • 100G双光口网卡技术解析:Intel E810-CAM2方案的性能与应用突破
  • BioSIM抗人组蛋白H1抗体SIM0385:广泛应用于表观遗传学、染色质结构分析等领域
  • 智慧灯杆数字孪生系统:“多杆合一“技术实现
  • SCI一稿多投会不会被发现?
  • RUI Builder-图形化UI设计-工程范例
  • win10 - 删除非法命名的文件夹的方法