LPC546xx USB ISP bootloader

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

LPC546xx USB ISP bootloader

2,186 Views
lutzherrmann
Contributor II

We made a board with LPC54608J512 BD208. We planned to use USB1 for flashing user code. We also have a 12MHz crystal on board. We also have a ISP-connector as secondary means to flash applications but rather not use it for production. So far the board does what it should, but we can't get USB1 working from bootloader.

When pulling down ISP2 the boot-ROM tries to initiate USB-connection. However the device isn't correctly registered as MSC by Windows, it just says "unknown device".

When we pull down ISP1 and ISP2 it's the same, it doesn't register as "LPC" as the demo boards (OM13092 and OM13098) do.

We have no idea how to debug or proceed.

It seems guanix asked the same question in another thread Crystal value for LPC546xx USB ISP bootloader 

Is this a known problem? Any hints on how to find out what's going wrong?

Labels (3)
0 Kudos
5 Replies

1,296 Views
jeremyzhou
NXP Employee
NXP Employee

Hi Lutz Herrmann

Thank you for your interest in NXP Semiconductor products and 
the opportunity to serve you.
On my site, PC(Win7 64 bits) can recognize the MSC device when ISP1 or ISP0 button is pushed on OM13098 (Rev C) board, and so does OM13092 (Rev C).
So I was wondering if you can illustrates the steps of replicating the issue you encountered.
pastedImage_1.png
Have a great day,

TIC

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

1,296 Views
lutzherrmann
Contributor II

Thanks for your response.

The demo boards are correctly recognized when pushing ISP1 or ISP0.

It's just that our custom board is not. The only significant difference that I can see is the CPU package. Is there any possibility to cross check with another BD208 board design?

0 Kudos

1,296 Views
jeremyzhou
NXP Employee
NXP Employee
Thanks for your reply.
Bernhard Fink share a good way for checking the USB circuit, please giving a try.

Have a great day,
TIC

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

1,296 Views
bernhardfink
NXP Employee
NXP Employee

If the USBs get recognized somehow, but just as unknown device, then this could be a performance problem in your USB implementation. Either coming from a clock problem (inaccurate or with jitter or both) or from an electrical problem on USB D+ / D- (impedance mismatch, wrong protection diode circuit etc.)

If you are able to download firmware over JTAG or UART ISP, then you could load a USB example and try this. If this works fine, then you could exclude my assumptions from above and we need to look somewhere else.

See here:  https://community.nxp.com/thread/472764 

Regards,

Bernhard.

1,296 Views
lutzherrmann
Contributor II

Thanks for your input.

I tried the "MSC ramdisk lite" example, with same results. Demo boards do, our board does not.

So I removed ESD protection from our custom board, no change.

Next I checked the clocks using the fmeas example. I added some code to enable and measure the external oscillator:

    CLOCK_Enable_SysOsc(true);
    MeasureDisplay("12MHz ext oscillator (" EXAMPLE_REFERENCE_CLOCK_NAME " reference)", kINPUTMUX_MainOscToFreqmeas,
                   freqRef, CLOCK_GetExtClkFreq());

The results are very much the same on the custom board and the demo boards:

Capture source: Watchdog oscillator (main clock reference), reference frequency = 48000000 Hz
Computed frequency value = 600585 Hz
Expected frequency value = 500000 Hz

Capture source: RTC32K oscillator (main clock reference), reference frequency = 48000000 Hz
Computed frequency value = 32226 Hz
Expected frequency value = 32768 Hz

Capture source: 12MHz FRO oscillator (main clock reference), reference frequency = 48000000 Hz
Computed frequency value = 11997070 Hz
Expected frequency value = 12000000 Hz

Capture source: 12MHz ext oscillator (main clock reference), reference frequency = 48000000 Hz
Computed frequency value = 11988281 Hz
Expected frequency value = 12000000 Hz‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

I let it run for  a while and got results from 11.970.703 Hz to 11.985.351 Hz.

I'd higly appreciate any further ideas.

0 Kudos