本文將分享USB接口硬件設計的關鍵要點,并探討LuatOS高效開發(fā)API的運用。期望助力開發(fā)者在設計時避開常見陷阱,迅速實現(xiàn)穩(wěn)定可靠的USB應用開發(fā)。
在設計USB接口時,不少剛接觸嵌入式開發(fā)的新朋友,往往會因其“看似簡單”而掉以輕心。
實際上,USB作為物聯(lián)網設備中負責供電、固件升級、通信交互等功能的核心通道,其設計質量直接影響整機穩(wěn)定性。從電路保護、阻抗控制、電源濾波到PCB布局,幾乎每一步都暗藏玄機。一旦處理不當,就可能導致設備無法識別、連接不穩(wěn)定、甚至批量損壞。

01. 模組管腳
Air780EPM系列模組與USB相關的管腳,如上方管腳圖右側淺綠色塊所示:
VBUS:PIN61;
USB_DM:PIN60;
USB_DP:PIN59;
特別說明:管腳圖中所示的USB_DN正確的寫法應該是USB_DM,歷史原因一直將錯誤寫法延續(xù)到了現(xiàn)在。
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實現(xiàn)快速上網;
僅支持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以內,避免時序偏差和共模干擾;
減少換層過孔:每次換層加一對回流地過孔,維持信號回流路徑連續(xù)性,降低阻抗不連續(xù)風險;
保持完整參考平面:避免跨分割,優(yōu)先內層布線,包地處理減少串擾。
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設計,簡化了傳統(tǒng)USB開發(fā)的繁瑣流程。
▼ pm.USB ▼
API手冊詳見:
https://docs.openluat.com/osapi/core/pm/
常量含義:USB的供電使能;
數據類型:number;
常量取值:0;
適用:Air780EXX系列、Air700E系列、Air8000系列模組;
示例代碼:

▼ 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:協(xié)議選擇(1ECM協(xié)議,0RNDIS協(xié)議);必須在飛行模式下設置才能生效。
適用:Air780EXX系列和Air8000系列模組。
示例代碼:

▼ uart.VUART_0 ▼
API手冊詳見:
https://docs.openluat.com/osapi/core/uart/
常量含義:USB虛擬串口;
數據類型:number;
常量取值:32;
適用:Air780EXX系列和Air8000系列模組。
示例代碼:

今天的內容就分享到這里了~
審核編輯 黃宇
-
USB設計
+關注
關注
0文章
7瀏覽量
9023 -
LuatOS
+關注
關注
0文章
134瀏覽量
2588
發(fā)布評論請先 登錄
電子工程師硬件設計開發(fā)指南
USB設計操作指南:硬件關鍵與LuatOS API開發(fā)技巧!
避坑指南!RK3568開發(fā)板選型,這5點沒看清千萬別下手!(附迅為驅動開發(fā)指南資源)
AN101 GD32E501系列硬件開發(fā)指南
GD32E103和GD32C103硬件開發(fā)指南
AN148 GD32VW553射頻硬件開發(fā)指南

USB設計全程攻略:硬件關鍵點與LuatOS API開發(fā)指南!
評論