本文以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系列模组。 -
示例代码:

158

被折叠的 条评论
为什么被折叠?



