LPC11U37 ISP AUTOBAUD SYNCRONIZATION FAILS

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

LPC11U37 ISP AUTOBAUD SYNCRONIZATION FAILS

1,122 Views
HeMyFAE
NXP Employee
NXP Employee

Dear Tech Support,

I am curious about behavior when the ISP autobaud synchronization fails – currently this only happens when I go outside the expected limits e.g. when I drive in the sync character immediately after resetting into ISP mode.  The autobaud procedure then gets some interesting results. It functions as expected when I properly wait a few ms after reset before trying to synchronize.

 

The manual  seems to suggest that responding with “Synchronized\r\n” should trigger a sync failure and allow for resynching, but this doesn’t appear to happen automatically.  (A quick attempt at sending a Synchronized response that doesn’t fit the autobaud expectation nor a subsequent ‘?’ doesn’t seem to trigger a correct, or even attempt at a subsequent, autobaud calculation.  How do I force a resynch to handle (unlikely?) potential autobaud failures?

 

Secondly, it doesn’t appear (small sample size) to matter if my autobaud trigger (‘?’)  is also ‘\r’ ’\n’ terminated.  The manual says extra termination characters are ignored, so I take it that it’s not a problem, but wanted confirmation.

 

Finally, is there a way to force a bypass of the USB ISP mode and go directly to UART ISP despite VBUS assertion by a USB connection?  We can hold off on the reset into ISP mode if USB is connected, but if there was a secret way to avoid that check, I’d be happy to just override the default behavior.

Regards,

hy

Labels (1)
0 Kudos
Reply
3 Replies

846 Views
HeMyFAE
NXP Employee
NXP Employee

HI PHua,

How long do you have to wait after POR before you can run ISP Autobaud ?

The reason is the customer is using another MCU to isp our LPC11u37h.

 Do you have more detail as to how the autobaud  is determined to be sucessful?

page 396 ofUM10462.pdf.

pastedImage_1.png

Regards,

hy

0 Kudos
Reply

846 Views
ckphua
NXP Employee
NXP Employee

If you look at the User Manual, Section 3.7 Startup Behavior Fig 8, it will take about 100uS from power stable to a full internal reset. The boot code takes 55uS to decide to jump to user code.

So I would say about 150uS is needed from power stable to start of Autobaud.

As spoken, if the user want to check that the autobaud is correct, especially in a machine driven Host (not human typing on PC Terminal),  then the Host machine should read the LPC will return ASCII string of ("Synchronized<CR><LF>"). The user can also do a Read Part ID (ISP) command to ensure everything is right before start of programming.

Let me know if you still have questions.

0 Kudos
Reply

846 Views
ckphua
NXP Employee
NXP Employee

Hi Hy,

Will need to list the Boot loader version with the corresponding ISP entry pins setting to ensure you get in correctly:- 

Boot loader version 7.0 ( only UART ISP) Pins PIO0_1 and PIO0_3 must be pulled LOW to enter UART ISP mode.

Boot loader version 7.1 ( only UART ISP) Only pin PIO0_1 must be pulled LOW to enter UART ISP mode. Pin PIO0_3 is not checked.

Boot loader version 7.4 and higher (UART and USB ISP) Pins PIO0_1 and PIO0_3 must be pulled LOW to enter UART ISP mode. 

Assuming you have ver 7.4 or higher, once PIO0_3 is sampled LOW,  the bootloader configures the UART serial port using pins PIO0_18 and PIO0_19 for RXD and TXD and calls the ISP command handler. Once it's started, it will wait for the Host to send "?"synchronization character. You need to include "CR+LF" on the Host Transmit. You can add this automatically in your terminal program setting.

If synchronization is not verified then the auto-baud routine waits again for a synchronization character... You need to resend the "?" character.

0 Kudos
Reply