RT1020 board bring-up issue – USB HID does not enumerate

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

RT1020 board bring-up issue – USB HID does not enumerate

Jump to solution
1,261 Views
Mike_B
Contributor III

DESCRIPTION OF ISSUE

  • We have a hardware issue in which the MIMXRT1021CAG4A is not able to boot properly
  • When BOOT_MODE register is set to 01 (serial downloader), the MCU does not enumerate as a HID
    • And we cannot connect to the MCU using MCUXpresso Secure Provisioning software
  • When BOOT_MODE register is set to 00 or 10, a hardware fault occurs when attempting to start a debug session using the P&E Multilink Universal in MCUXpressohardfault.png 
  • However the debug probe can erase, program, and verify the flash seemingly without issue

OUR HARDWARE

There are some layout differences, but our board is quite similar to the RT1020 dev board (MIMXRT1020-EVK).

  • MCU: MIMXRT1021CAG4A (144 pin LQFP)
  • SDRAM: IS42S16160J-6TL (16 Mbit, 166 MHz)
  • NOR Flash: W25Q64JVS (64 Mbit, 133 MHz)

MY QUESTION

What is the minimum set of hardware peripherals required to enable the MCU to enumerate as a HID on power up when BOOT_MODE register is set to 01?

Given that we can’t even get this far, our problem appears to be something fundamental (power sequence, clock, etc.).

We have verified that our power sequence conforms to Figure 1 from the Hardware Development Guide:

Mike_B_0-1681330621776.png

And I have scoped the 24 MHz clock and compared this measurement to a working board. As far as I can tell there is no issue with the 24 MHz clock.  

Can you think of anything else we should be checking? 

Thanks in advance,

Mike B.

0 Kudos
Reply
1 Solution
1,169 Views
Mike_B
Contributor III

Looks like the TVS diode array protecting the USB circuit was not routed correctly. The VBUS pin was connected to USB_OTG1_DP but should be connected to USB_OTG1_VBUS. I removed the TVS diodes and now the chip appears to be working as expected. 

View solution in original post

0 Kudos
Reply
5 Replies
1,170 Views
Mike_B
Contributor III

Looks like the TVS diode array protecting the USB circuit was not routed correctly. The VBUS pin was connected to USB_OTG1_DP but should be connected to USB_OTG1_VBUS. I removed the TVS diodes and now the chip appears to be working as expected. 

0 Kudos
Reply
1,240 Views
jingpan
NXP TechSupport
NXP TechSupport

Hi @Mike_B ,

Please check VDD_SOC_IN first. If it's not correct, you can try to replace the cap on pswitch pin from 0.22uf to 1uf.

 

Regards,

Jing

0 Kudos
Reply
1,232 Views
Mike_B
Contributor III

Hi @jingpan,

VDD_SOC_IN (same as DCDC_OUT) measures 1.16 VDC. Also, we had already tried changing the cap on pswitch from .22 uF to 4.7 uF with no change in behavior.  

Here is a scope trace showing VDD_SNVS_IN, MCU_DCDC_IN, DCDC_OUT, and DCDC_PWITCH:

Mike_B_0-1681399168847.png

We also verified that POR_B is not released until about 200 mS after DCDC_OUT is stable:

Mike_B_0-1681400103593.png

 

 

0 Kudos
Reply
1,219 Views
jingpan
NXP TechSupport
NXP TechSupport

The power on sequence is fine. Please check other power input pins, like VDD_SOC_IN, VDD_HIGH_IN and USB_OTG1_VBUS.

You said BOOT_MODE register. Do you mean the configure pins?

You can try to use sdphost.exe to connect to the RT1021. 

>sdphost.exe -t 50000 -u 0x1FC9,0x0135 -j -- error-status

Is there UART boot port

on your board? To avoid USB hardware problem, you can also try to connect via UART.

>sdphost -t 50000 -p COM4,115200 -j -- error-status

 

Regards,

Jing

0 Kudos
Reply
1,191 Views
Mike_B
Contributor III

VDD_SOC_IN measures 1.15 VDC.

VDD_HIGH_IN measures 3.27 VDC. Note that VDD_HIGH_IN is tied to VDD_SNVS_IN, VDDA_ADC_3P3, NVCC_GPIO, DCDC_IN, and DCDC_IN_Q.

With USB cable plugged in, USB_OTG1_VBUS measures 5.17 VDC.

Yes, by BOOT_MODE register I mean the state of the BOOT_MODE0 and BOOT_MODE1 inputs. From the i.MX RT1020 reference manual:

Mike_B_0-1681754405095.png

Our boot mode pins are wired the same as Figure 4 in the hardware development guide for MIMXRT1020:

Mike_B_1-1681754428277.png

Our device does not enumerate as a HID, so I’m not able to connect over USB. However I am able to connect over UART1.

Mike_B_2-1681754455017.png

And I’m able to connect by running sdphost.exe:

C:\Flashloader_RT1020_1.0_GA\Tools>sdphost -t 50000 -p COM14,115200 -j -- error-status

{

   "command" : "error-status",

   "response" : [ 4042322160 ],

   "status" : {

      "description" : "1450735702 (0x56787856) HAB disabled.",

      "value" : 1450735702

   }

}

 

0 Kudos
Reply