0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

USB设计全程攻略:硬件关键点与LuatOS API开发指南!

合宙LuatOS 来源:合宙LuatOS 作者:合宙LuatOS 2025-11-11 18:29 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文将分享USB接口硬件设计的关键要点,并探讨LuatOS高效开发API的运用。期望助力开发者在设计时避开常见陷阱,迅速实现稳定可靠的USB应用开发。

在设计USB接口时,不少刚接触嵌入式开发的新朋友,往往会因其“看似简单”而掉以轻心。

实际上,USB作为物联网设备中负责供电、固件升级、通信交互等功能的核心通道,其设计质量直接影响整机稳定性。从电路保护、阻抗控制、电源滤波到PCB布局,几乎每一步都暗藏玄机。一旦处理不当,就可能导致设备无法识别、连接不稳定、甚至批量损坏。

wKgZPGkTCTCAfOh0AAQuJxWXY5Y817.png

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接口相关硬件参考设计如下图示,横屏或点击放大查看。

wKgZO2kTCamAInGHAAKtWYTWRxQ120.png

▼ 相关注意事项 ▼

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。

相关手册详见:

https://docs.openluat.com/air780epm/product/air780exxpins/#usb

05. 与USB相关的LuatOS API

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

▼ pm.USB ▼

API手册详见:

https://docs.openluat.com/osapi/core/pm/

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

数据类型:number;

常量取值:0;

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

示例代码:

wKgZPGkTCj2AbsT0AABfOLQVJNg085.png

▼ mobile.CONF_USB_ETHERNET

API手册详见:

https://docs.openluat.com/osapi/core/mobile/

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

数据类型:number;

常量取值:11;

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

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

适用:Air780EXX系列和Air8000系列模组。

示例代码:

wKgZPGkTCoqAO37QAADIic98ljo088.png

uart.VUART_0 ▼

API手册详见:

https://docs.openluat.com/osapi/core/uart/

常量含义:USB虚拟串口;

数据类型:number;

常量取值:32;

适用:Air780EXX系列和Air8000系列模组。

示例代码:

wKgZPGkTCreAHQLPAAA1GCkbPwE045.png

今天的内容就分享到这里了~


审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • USB设计
    +关注

    关注

    0

    文章

    7

    浏览量

    9023
  • LuatOS
    +关注

    关注

    0

    文章

    134

    浏览量

    2575
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    USB设计操作指南硬件关键LuatOS API开发技巧!

    本文以Air780EPM系列低功耗模组为实例,分享USB接口硬件设计的要点以及LuatOS高效开发API的助力作用。旨在指导
    的头像 发表于 11-11 18:29 104次阅读
    <b class='flag-5'>USB</b>设计操作<b class='flag-5'>指南</b>:<b class='flag-5'>硬件</b><b class='flag-5'>关键</b>与<b class='flag-5'>LuatOS</b> <b class='flag-5'>API</b><b class='flag-5'>开发</b>技巧!

    避坑指南!RK3568开发板选型,这5没看清千万别下手!(附迅为驱动开发指南资源)

    避坑指南!RK3568开发板选型,这5没看清千万别下手!(附迅为驱动开发指南资源)
    的头像 发表于 10-30 15:49 346次阅读
    避坑<b class='flag-5'>指南</b>!RK3568<b class='flag-5'>开发</b>板选型,这5<b class='flag-5'>点</b>没看清千万别下手!(附迅为驱动<b class='flag-5'>开发指南</b>资源)

    STM32F10xxx硬件开发指南

    官方STM32F10xxx硬件开发指南
    发表于 04-14 14:59 2次下载

    AN101 GD32E501系列硬件开发指南

    电子发烧友网站提供《AN101 GD32E501系列硬件开发指南.pdf》资料免费下载
    发表于 02-09 16:43 0次下载
    AN101 GD32E501系列<b class='flag-5'>硬件</b><b class='flag-5'>开发指南</b>

    GD32F1x0硬件开发指南

    电子发烧友网站提供《GD32F1x0硬件开发指南.pdf》资料免费下载
    发表于 02-09 15:39 0次下载
    GD32F1x0<b class='flag-5'>硬件</b><b class='flag-5'>开发指南</b>

    GD32F10x硬件开发指南

    电子发烧友网站提供《GD32F10x硬件开发指南.pdf》资料免费下载
    发表于 02-07 17:30 0次下载
    GD32F10x<b class='flag-5'>硬件</b><b class='flag-5'>开发指南</b>

    GD32VF103硬件开发指南

    电子发烧友网站提供《GD32VF103硬件开发指南.pdf》资料免费下载
    发表于 02-07 17:30 2次下载
    GD32VF103<b class='flag-5'>硬件</b><b class='flag-5'>开发指南</b>

    GD32L23x硬件开发指南

    电子发烧友网站提供《GD32L23x硬件开发指南.pdf》资料免费下载
    发表于 02-07 17:26 2次下载
    GD32L23x<b class='flag-5'>硬件</b><b class='flag-5'>开发指南</b>

    GD32E103和GD32C103硬件开发指南

    电子发烧友网站提供《GD32E103和GD32C103硬件开发指南.pdf》资料免费下载
    发表于 02-07 17:25 3次下载
    GD32E103和GD32C103<b class='flag-5'>硬件</b><b class='flag-5'>开发指南</b>

    GD32F4xx硬件开发指南

    电子发烧友网站提供《GD32F4xx硬件开发指南.pdf》资料免费下载
    发表于 02-07 17:20 3次下载
    GD32F4xx<b class='flag-5'>硬件</b><b class='flag-5'>开发指南</b>

    GD32F3x0硬件开发指南

    电子发烧友网站提供《GD32F3x0硬件开发指南.pdf》资料免费下载
    发表于 02-07 17:19 1次下载
    GD32F3x0<b class='flag-5'>硬件</b><b class='flag-5'>开发指南</b>

    GD32E23x硬件开发指南

    电子发烧友网站提供《GD32E23x硬件开发指南.pdf》资料免费下载
    发表于 02-07 16:20 0次下载
    GD32E23x<b class='flag-5'>硬件</b><b class='flag-5'>开发指南</b>

    GD32F20x硬件开发指南

    电子发烧友网站提供《GD32F20x硬件开发指南.pdf》资料免费下载
    发表于 02-07 16:19 0次下载
    GD32F20x<b class='flag-5'>硬件</b><b class='flag-5'>开发指南</b>

    AN110 GD32A503系列硬件开发指南

    电子发烧友网站提供《AN110 GD32A503系列硬件开发指南.pdf》资料免费下载
    发表于 01-17 16:04 5次下载
    AN110 GD32A503系列<b class='flag-5'>硬件</b><b class='flag-5'>开发指南</b>

    AN148 GD32VW553射频硬件开发指南

    电子发烧友网站提供《AN148 GD32VW553射频硬件开发指南.pdf》资料免费下载
    发表于 01-17 14:40 1次下载
    AN148 GD32VW553射频<b class='flag-5'>硬件</b><b class='flag-5'>开发指南</b>