lpcware

LPC11C24 reinvoking the ISP on CAN systems using bitrates unequal 100k

Discussion created by lpcware Employee on Jun 15, 2016
Content originally posted in LPCWare by mhg on Mon Dec 08 02:24:03 MST 2014
The old thread started with "ISP -> APP" and ended on "APP -> ISP" and bitrate issues. Following R2D2s suggestion "Please start a new thread, this one is old and long enough..." i start this new thread.

The problem: Reinvoking the ISP from application code results in 100k bit rate on CAN. Doing this in systems with different CAN BTR setting will fail.

Solutions discussed:
1. Turn all other nodes off or switch all of them to 100k before.
=> This is often not possible running systems with third party components off-the-shelf.
2. Reimplement the on-chip ROM code to replace the CAN BTR setting.
=> Huge coding effort just for adjusted BTR settings.

R2D2 pointed on two interesting details:
1. The "reinvoke ISP" command of the IAP on LPC15 is providing a parameter to select the interface (see thread).
2. R2D2 wrote: "... but it's also useful to switch from IRC to crystal Wink. Note: That's no theory, that's really working".

@1) Is there something (undocumented) similar for BTR setting on LPC11 ?
@2) On my LPC11C24 reinvoking the ISP is always resulting in 100k regardless of the oscillator settings. Is there any special trick?

User manual 26.3.8.1:
3.) A pattern at 0x0000 02FC is used to disable ISP.

@3) Is there any other undocumented magic number (e.g. for BTR setting)?

Reimplementing the on-chip ROM code (with relocation to RAM etc.) appears to me not so pleasant.

Are there any tricks known, that may enable ISP operation at other bitrates?

Outcomes