USB host (for MSD) example and test problem at USB1 interface in LPC54618.

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

USB host (for MSD) example and test problem at USB1 interface in LPC54618.

ソリューションへジャンプ
1,552件の閲覧回数
toipaz
Contributor III


1. Environment:

SDK v2.9.0
CPU: LPC54618
example Code: host_msd_fatfs_freertos

2. Goal: USB 2.0 Host MSD @ USB1 interface

3. Problem

The example code only supports OHCI.

Referring to Datasheet, USB1 is EHCI compliant.
Using EHCI in the example, it is not built with a compile error saying that there is no ehci driver source.

4. Questions

4.1. When using usb1 interface, does it work with ohci?

4.2. Can I specify that the example source uses usb1 interface?

attachement: test project code.

 

0 件の賞賛
返信
1 解決策
1,532件の閲覧回数
toipaz
Contributor III

The USB hw block did not work properly because the GND wiring of the USB circuit was connected incorrectly.
Corrected the GND wiring and it worked normally.

元の投稿で解決策を見る

0 件の賞賛
返信
2 返答(返信)
1,546件の閲覧回数
toipaz
Contributor III

As I looked at the datasheet and manuals, it says that it uses USB_HOST_CONFIG_IP3516HS.

So

in usb_host_config.h, we test it by changing it as follows.:

#define USB_HOST_CONFIG_OHCI (0U)
#define USB_HOST_CONFIG_IP3516HS (1U)

After that, it'll be waiting forever at the while() statement in usb_host_ip3156hs.c as below.:

static usb_status_t USB_HostIp3516HsControllerReset(usb_host_ip3516hs_state_struct_t *usbHostState)
{
    usbHostState->usbRegBase->USBCMD = USB_HOST_IP3516HS_USBCMD_HCRESET_MASK;
    while (0U != (usbHostState->usbRegBase->USBCMD & USB_HOST_IP3516HS_USBCMD_HCRESET_MASK))
    {
        __NOP();
    }
    return kStatus_USB_Success;
}

The USB1 RESET command is not completed, where should I start to find bug?

0 件の賞賛
返信
1,533件の閲覧回数
toipaz
Contributor III

The USB hw block did not work properly because the GND wiring of the USB circuit was connected incorrectly.
Corrected the GND wiring and it worked normally.

0 件の賞賛
返信