This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具与软件:
大家好!
我们正在尝试将 usb0配置为用作主机、以便在连接 USB 等设备时、它可以从 USB 读取数据。
我们的硬件连接采用的方式是将 Vbus、CC1和 CC2连接到+5V。 USB ID 连接到1v8。
其余连接为 USB_1_D_CON_P、USB_1_D_CON_N 连接到 USB-C 连接器。
以下是设备树配置:
/* Verdin USB_1_ID */ pinctrl_usb0_id: main-gpio1-19-pins-default { pinctrl-single,pins = < AM62X_IOPAD(0x01c4, PIN_INPUT_PULLUP, 7) /* (B14) SPI0_D1.GPIO1_19 */ /* SODIMM 161 */ >; }; /* Verdin USB_1 */ &usbss0 { ti,vbus-divider; status = "okay"; connector { compatible = "gpio-usb-b-connector", "usb-b-connector"; pinctrl-names = "default"; pinctrl-0 = <>; label = "USB-C"; port { usb_dr_connector: endpoint { remote-endpoint = <&usb0_ep>; }; }; }; }; &usb0 { dr_mode = "host"; status="okay"; port { usb0_ep: endpoint { remote-endpoint = <&usb_dr_connector>; }; }; };
请检查一下、如果我有什么问题、请告诉我
您好!
为了使 USB0处于主机模式、不需要 USB ID 引脚。
在 devicetree 中、只需要 dr_mode ="host"、我认为也不需要连接器/端口节点。
您好!
感谢您的答复。
目前我的设备树更改如下:
/* Verdin USB_1 */ &usbss0 { ti,vbus-divider; status = "okay"; debounce = <25>; id-gpio = < >; pinctrl-names = "default"; }; &usb0 { dr_mode = "host"; status="okay"; };
我们使用 Type-C 端口来连接 USB 存储设备等设备。 如上所述、VBUS、CC1和 CC2连接到5V、ID 连接到 GND。 和 drvbus 未连接。
您好!
应从&usbss0节点中删除"debounce"和"id-gpio"属性。
ID 引脚不是必需的。
当 dr_mode 设置为"主机"时、USB 控制器不会与 Type-C 器件通信以进行角色切换、因此应根据 Type-C 器件要求(但我不熟悉这一点)连接 CC 引脚。
如果未连接 USB drvbus 引脚、则 VBUS 5V 电源开关应由其他对象(Type-C 器件?)控制。
在这种情况下、我们是否需要 USB 控制器 IC? 如果我们使用 type c?
目前 VBUS 只是直接连接到5V!
有关通常如何将 USB type c 设为主机的任何建议
提前感谢
您好!
在这种情况下我们是否需要 USB 控制器 IC? 如果我们使用 type c? [报价]这是一个好问题。 从软件的角度来看、如果 USB 控制器在仅主机模式下工作、则不需要 Type-C IC。 但是、USB Type-C 插座有两组 DP/DM 引脚、如果没有 Type-C IC、则两组 DP/DM 必须一起路由到 AM62x USB0端口的 DP/DM 引脚、我是一家软件供应商、但我认为这种"Y"型 USB 信号路由是不允许的、可能会导致 USB 信号完整性问题。 我在我们的 USB 硬件专家中对此发表评论。
Naveen、
您可能需要参考 SK 上的不同实现。
请查看以下内容
查看和设计定制电路板的推荐参考资料
AM62X
硬件设计注意事项
www.ti.com/.../sprad05b.pdf
原理图设计和审阅检查清单
www.ti.com/.../sprad21c.pdf
DDR 电路板设计和布局布线指南
www.ti.com/.../sprad06.pdf
常见问题解答
e2e.ti.com/.../faq-custom-board-hardware-design---master-complete-list-of-faqs-for-all-sitara-processor-am62x-am64x-am243x-am335x-families
e2e.ti.com/.../faq-am625-am623-am625sip-am625-q1-am620-q1-custom-board-hardware-design---faqs-related-to-processor-collaterals-functioning-peripherals-interface-and-starter-kit
e2e.ti.com/.../faq-am625-am623-custom-board-hardware-design---design-and-review-notes-for-reuse-of-sk-am62b-schematics
e2e.ti.com/.../faq-am625-am623-custom-board-hardware-design---design-and-review-notes-for-reuse-of-sk-am62b-p1-schematics
e2e.ti.com/.../faq-am625-q1-am620-q1-custom-board-hardware-design---design-and-review-notes-for-reuse-of-sk-am62-lp-schematics
e2e.ti.com/.../faq-am625sip---custom-board-hardware-design---design-and-review-notes-for-reuse-of-sk-am62-sip-schematics
e2e.ti.com/.../faq-am62x-am64x-custom-board-hardware-design-how-to-handle-used-unused-pins-peripherals-e-g-gpios-serdes-usb-csi-mmc-emmc-sd-card-csi-oldi-dsi
TI.com 列表上 SK 的可下载设计文件
SK-AM62B-P1设计包内容概述(修订版 A)
www.ti.com/.../sprt777
SK-AM62-LP 设计包内容概述
www.ti.com/.../sprt778
SK-AM62B 设计包文件夹和文件列表
www.ti.com/.../sprt784
SK-AM62-SIP 设计包文件夹和文件列表
https://www.ti.com/lit/pdf/sprt785
此致、
Sreenivasa
大家好!
感谢大家的宝贵意见。 我已经把一切都分享给了我们的硬件团队。 下面是我们电路板中的 USB 原理图配置。
最近在这几处更改中、VBUS 被连接至+5V 以及 CC1和 CC2并且也被连接至+5V。 该器件是 USB Type-C 端口。
您好!
我想我应该在一开始就提出这个问题-您是在寻找电路板 USB 设计原理图中的注释、还是您的电路板 USB 无法按预期工作并需要调试?
尊敬的 bin Liu:
现在您已经确认了关于器件树的信息、我们进行了更改并对其进行了测试、但即使我连接存储器器件、USB 仍然无法检测到任何 USB 器件、因此我想知道是否需要在硬件中更改任何内容。
您是否测量了连接 USB 设备时5V 电压提供的 USB-C 连接器上的 VBUS 引脚?
请在您的电路板上运行以下脚本并提供其输出。
尊敬的 bin Liu:
请在下面找到输出、
chkusb.sh Version 0.4.0 Linux verdin-am62-15133535 6.1.80-6.7.0-devel+git.603f75dc931d #1 SMP PREEMPT Wed Aug 28 15:15:41 UTC 2024 aarch64 aarch64 aarch64 GNU/Linux USB is initialized usb@31000000: host, okay usb@31100000: otg, (enabled) Gadget Kernel Config: g_zero is enabled Gadget Kernel Config: g_ether is enabled Gadget Kernel Config: g_ncm is enabled Gadget Kernel Config: g_mass_storage is enabled Gadget Kernel Config: g_serial is enabled gadget driver loaded: (none) The list of USB gadget drivers installed: /lib/modules/6.1.80-6.7.0-devel+git.603f75dc931d/kernel/drivers/usb/gadget/function/: u_ether.ko u_serial.ko usb_f_acm.ko usb_f_ecm.ko usb_f_ecm_subset.ko usb_f_eem.ko usb_f_fs.ko usb_f_mass_storage.ko usb_f_ncm.ko usb_f_obex.ko usb_f_rndis.ko usb_f_serial.ko usb_f_ss_lb.ko /lib/modules/6.1.80-6.7.0-devel+git.603f75dc931d/kernel/drivers/usb/gadget/legacy/: g_cdc.ko g_ether.ko g_mass_storage.ko g_multi.ko g_ncm.ko g_serial.ko g_zero.ko gadgetfs.ko
目前、Vbus 通过上拉电阻连接到5V 电压、并始终保持为5V
您好!
日志似乎表明 USB 控制器处于正确的状态。
连接 USB 设备后、请使用示波器来捕获 DP/DM 和 VBUS 线路的波形。
尊敬的 bin Liu:
正如我先前提到的、VBUS 始终上拉至5V、我看到 DP 和 DM 线路上没有任何活动
您好!
如果连接 USB 器件后 DP 或 DM 线路上拉不上拉、那么器件很可能无法在 VBUS 上获得5V 电压。 请检查 Type-C 连接器上是否存在5V 电压。
我们可以看到 DP 和 DM 上拉至3.3V、VBUS 也为5V。但仍未检测到器件。 我们可以检查的任何其他内容。
为了让您现在看到 DP 和 DM 上拉、您做了哪些改变? 请附上示波器屏幕截图。
连接 USB 器件时、电路板的 Linux 控制台是否会打印任何消息? 如果是、请附加控制台日志。
您好!
在器件树中未进行任何更改、但 CC1和 CC2现在已被拉至 up.in Linux 控制台、我们无法获取任何日志。
即使我使用 lsblk、我也无法看到正在连接任何新设备。
请附上示波器屏幕截图、以显示连接 USB 设备后 DP/DM 与 VBUS 线一同上拉的波形。
每当连接设备时、我们都会在示波器上捕获 DP/DM 的信号。 我们测量了 Vbus、并将其保持在5V。
请将示波器水平分辨率设置为毫秒分辨率、并将波形与正常工作的 USB 主机进行比较。
我相信、连接高速 USB 器件时、应该只会将 DP 上拉、DM 应该保持低电平。 但我不知道你们为什么会看到 DP 和 DM 都被拉高了。
尊敬的 bin Liu:
感谢您的帮助、我们能够使 USB 正常工作、
以下是设备树:
/* Verdin USB_1 */
usbss0 (&U)
TI、VBUS 分频器;
status="确定";
};
&usb0{
DR_MODE ="主机";
状态="正常";
}
问题是、DP/DM 上使用的变压器放置错误、现在我们已更正了它的工作情况。
您好!
很高兴听到问题已解决。 感谢您的更新。