[X]关闭

裸核 usb host MSC 通不过

文档创建者:michaelyang
浏览次数:6241
最后更新:2019-11-07
本帖最后由 michaelyang 于 2019-11-7 16:18 编辑

Hi UISRC,

            mz7xa 核心板 + 开发板, vivado/sdk 2017.4, ucos_v1_43, usb host MSC

上周买了 mz7xa 核心板 + 开发板,现在做 裸核 usb host MSC 怎么也通不过,就是用 vivado/sdk debug, 测试 ucos 官网给的例程,这个例程在 microzed 上没有任何问题,microzed uart 输出如下,

Terminal ready
UCOS - uC/OS Init Started.
UCOS - STDIN/STDOUT Device Initialized.
UCOS - Initializing uC/FS.
UCOS - uC/FS initialization successful.
UCOS - Initializing uC/USB-Host.
UCOS - UCOS init done
UCOS - Total configured heap size. 81521
UCOS - Total used size after init. 9652
Hello world from the main task
... Initiliazing HOST Mass Storage class ...
UCOS - Starting uC/USB-Host.
MSC Demo: Device with unit #0 connected
Writing 'msc:x:\MSPrint.txt' to USB drive...OK
Reading 'msc:x:\MSPrint.txt' from USB drive...OK
Comparing original data and data read from USB drive... Passed

Periodic output every 10 seconds from the main task
Periodic output every 10 seconds from the main task
Periodic output every 10 seconds from the main task

mz7xa uart debug 输出缺了蓝色的4句话,其他和上面一样,

MSC Demo: Device with unit #0 connected
Writing 'msc:x:\MSPrint.txt' to USB drive...OK
Reading 'msc:x:\MSPrint.txt' from USB drive...OK
Comparing original data and data read from USB drive... Passed


感觉 usb vbus 没有供电 -- 我有一个usb器件带电源指示灯,所以知道有没有 vbus +5v 输出)

请指教,谢谢

P.S. 1。zedboard 也是用 TUSB1210 芯片,但是多了一根 OTG-RESETN输出,对应G17引脚,不知道mz7xa怎么处理的。

发表评论已发布 2

uisrc

发表于 2019-11-6 21:16:03 | 显示全部楼层

USB HOST 默认就是,LINUX下可以正常工作的
越努力越幸运!加油!

michaelyang

发表于 2019-11-7 09:11:56 | 显示全部楼层

本帖最后由 michaelyang 于 2019-11-13 17:12 编辑

和 zedboard 做了比较, zedboard usb 连接了 otg_vbusoc/L16 管脚,这样控制 vbus +5V 输出 

set_property  -dict {PACKAGE_PIN  L16   IOSTANDARD LVCMOS25} [get_ports otg_vbusoc]

而 mz7xcore400商业级.pdf 原理图上看, 核心板 otg_vbusoc 是悬空的,没有连接到任何地方


正如您说的 linux 下 usb otg 是工作的, 但是 JTAG debug 的时候有些情况工作,大多数时候没有+5v输出不工作;

实际上先跑 linux,然后马上 JTAG debug SDK 程序, 这时候 usb otg 是工作的.但是如果掉电再重新上电( 直接进入 JTAG debug 模式),SDK MSC 程序从来不工作.

我想上面这种情况,linux boot 可能 reset 了所有东西,包括 otg_vbusoc,这样 usb otg 就工作了
但是 JTAG debug 可能啥也没做,这样 otg_vbusoc 悬空,对应的芯片 OC管脚 接入3.3v,  造成 vbus 没有输出 +5v


尝试连接了 V13 管脚 IO_L3N_T0_DQS_34 (vivado 里 取反,然后连接到 zynq usb0_vbus_pwrfault), 但是问题没有解决

set_property  -dict {PACKAGE_PIN  V13   IOSTANDARD LVCMOS33} [get_ports OTG_VBUSOC]

请继续指教
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则