由於i.MX8M發布,其所對應的開發板線路,在USB的接口設計是USB TYPE-C。
但是某些客人的需要,只需要USB2.0即可,不需要USB3.0,甚至USB TYPE-C。
為了使具有類似需求的客戶能夠順利完成設計,本文將教導大家如何設計"USB2.0"原理圖。
i.MX8MQ支持USB3.0並與USB2.0兼容。在開發板上,使用USB TYPE-C設計方案。
因此我們必須卸下USB TYPE-C,PD(power deliver)芯片和邏輯(CC logic)芯片。同時,將連接接口更改為MicroUSB和USB TYPE-A。
硬件設計:
一、首先:深入了解i.MX8M的IOMUX清單(USB相關訊號),如下
二、電路設計
A、USB電源(USB_V)與電流保護(Over Current)設計如下
B、USB1接口(Micro-USB)設計如下
USB1被配置為雙重角色模式(HOST / Device),USB1_OTG_ID用於檢測
C、USB接口(USB Type-A)設計如下
USB2被配置為HOST角色模式,USB2_OTG_ID用於檢測(接地)
但是某些客人的需要,只需要USB2.0即可,不需要USB3.0,甚至USB TYPE-C。
為了使具有類似需求的客戶能夠順利完成設計,本文將教導大家如何設計"USB2.0"原理圖。
i.MX8MQ支持USB3.0並與USB2.0兼容。在開發板上,使用USB TYPE-C設計方案。
因此我們必須卸下USB TYPE-C,PD(power deliver)芯片和邏輯(CC logic)芯片。同時,將連接接口更改為MicroUSB和USB TYPE-A。
硬件設計:
一、首先:深入了解i.MX8M的IOMUX清單(USB相關訊號),如下
二、電路設計
A、USB電源(USB_V)與電流保護(Over Current)設計如下
B、USB1接口(Micro-USB)設計如下
USB1被配置為雙重角色模式(HOST / Device),USB1_OTG_ID用於檢測
C、USB接口(USB Type-A)設計如下
USB2被配置為HOST角色模式,USB2_OTG_ID用於檢測(接地)
補充關於USBx_OTG_ID和USBx_ID的說明
(1)個USBx_OTG_ID
USBx_OTG_ID也稱為GPIO_ID。 在工作過程中,軟件根據ID引腳的電平從高到低或從低到高來更改設備(Device)和主機(HOST)之間的角色。
(2)個USBx_ID
USBx_ID稱為USB PHY ID,也可以執行與USBx_OTG_ID相同的功能。
(3)使用USBx_OTG_ID或USBx_ID
建議使用USBx_OTG_ID。但是,如果客戶想將USBx_ID用於i.MX8MQ,則可以透過配置USB_CTL0_ADDR [utmiotg_iddig_sel]寄存器
軟件調適:
一、IOMUX
根據實際應用,要使用的信號在dts文件中多路復用。 此步驟相對簡單,此處不再贅述。
二、在u-boot /Device tree 中調整USB配置
客戶可以通過刪除imx8mm_evk_defconfi中的CONFIG_USB_TCPC以及刪除fsl-imx8mm-evk.dts中的typec_ptn5110_1 / 2依賴項來進行嘗試。
(在uboot確實會檢查USB TYPE-C的狀態,如果它們被卸下,則會崩潰或卡住。)
--u-boot
CONFIG_USB_TCPC=n
--Node of Device tree
&usb_dwc3_0 {
status = "okay";
/*extcon = <&typec_ptn5100>;*/
dr_mode = "otg";
hnp-disable;
srp-disable;
adp-disable;
maximum-speed = "high-speed";
};
以上,使用者需要遵守每一個步驟,即可以將USB2.0的接口,設計於i.MX8M的平台上,而不需要保留USB TYPE-C的接口。
評論