Dear Philips Apps people, LPC2214 fails to write 0x0d to EXTMODE register even when VPBDIV=0 as advised in the device errata. The EXTMODE register prior to write was 0x0f and gets 0x00 just after attempting to set to 0x0d. What happens is in conflict with the workaround suggested in the device errata. Please advise... Device marking --------------- LPC2214FBD144 CD0931 05 TS0432A Kerem Or, SYS Inc. |
|
EXTMODE/EXTPOLAR & VPBDIV
Started by ●December 31, 2004
Reply by ●January 18, 20052005-01-18
Hi Kerem, This is actually a bug which is related to the EXTINT.1 bug (present in the Errata sheet). Problem: Incorrect setting of EXTMODE and/or EXTPOLAR register while trying to set them to desired value. For instance, trying to set EXTMODE to 0x1 or 0xd would result in EXTMODE to be set to 0x0 instead. To avoid this problem, while writing to EXTMODE and/or EXTPOLAR the following steps have to be carried out. Workaround: Since this issue is related to the EXTINT.1 Errata, the same workaround applies with an additional step. Before writing to the EXTMODE and EXTPOLAR registers, 1> Write 0x0 to VPBDIV 2> Then write the desired value to EXTMODE or EXTPOLAR register. 3> Then write the same value to VPBDIV ( additional step) 4> Restore the VPBDIV to the previously saved value or simply write to the register again with the desired value. Note: While testing this in a debugger enviornment, please dont single-step through these steps. A breakpoint could be placed after Step 4 and you would see the EXTMODE and EXTPOLAR registers reflecting the correct values. The Errata sheet for these devices will be updated soon. This bug is not present in the LPC213x. Thanks Philips_apps --- In , "Kerem Or" <k.or@s...> wrote: > > Dear Philips Apps people, > > LPC2214 fails to write 0x0d to EXTMODE register even when VPBDIV=0 > as advised in the device errata. The EXTMODE register prior to write > was 0x0f and gets 0x00 just after attempting to set to 0x0d. > > What happens is in conflict with the workaround suggested in the > device errata. > > Please advise... > > Device marking > --------------- > LPC2214FBD144 > CD0931 05 > TS0432A > > Kerem Or, > SYS Inc. |
|
Reply by ●January 18, 20052005-01-18
Question below: philips_apps wrote: > > Hi Kerem, > > This is actually a bug which is related to the EXTINT.1 bug (present > in the Errata sheet). > > Problem: Incorrect setting of EXTMODE and/or EXTPOLAR register while > trying to set them to desired value. ... > Before writing to the EXTMODE and EXTPOLAR registers, > 1> Write 0x0 to VPBDIV > 2> Then write the desired value to EXTMODE or EXTPOLAR register. > 3> Then write the same value to VPBDIV ( additional step) If I want to program both EXTMODE and EXTPOLAR, do I have to do this in two passes: old=VPBDIV, VPBDIV=0, EXTMODE=n, VPBDIV=n, VPBDIV=0, EXTPOLAR=y, VPBDIV=y, VPCDIV=old ? (or can fewer steps be used somehow ?) -- Cheers, Bruce ------------------------------- This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the system manager. /\\\/\\\/\\\ / / Bruce Paterson / \\\ \\\ \\\ / / Senior Design Engineer / /\\\/\\\/\\\/ / 8 Anzed Court, Mulgrave, Vic, 3170 / / \\\ \\\ \\\ / PO Box 4112, Mulgrave, Vic, 3170, Australia / / \\\/\\\ \\\/ Ph: +61 3 8561 4232 Fax: +61 3 9560 9055 Tele-IP Ltd. Email: Icq: #32015991 WWW: http://www.tele-ip.com VK3TJN ------------------------------- |
|
Reply by ●January 19, 20052005-01-19
Hi Bruce, There is no shorter way that this could be done. Also, please note, while reading the VPBDIV, it should be read twice. So you would want to do the following steps. old= VPBDIV; old= VPBDIV; Thanks Philips apps --- In , Bruce Paterson <bruce@t...> wrote: > Question below: > > philips_apps wrote: > > > > Hi Kerem, > > > > This is actually a bug which is related to the EXTINT.1 bug (present > > in the Errata sheet). > > > > Problem: Incorrect setting of EXTMODE and/or EXTPOLAR register while > > trying to set them to desired value. > ... > > Before writing to the EXTMODE and EXTPOLAR registers, > > 1> Write 0x0 to VPBDIV > > 2> Then write the desired value to EXTMODE or EXTPOLAR register. > > 3> Then write the same value to VPBDIV ( additional step) > > If I want to program both EXTMODE and EXTPOLAR, do I have to do this > in two passes: old=VPBDIV, VPBDIV=0, EXTMODE=n, VPBDIV=n, VPBDIV=0, > EXTPOLAR=y, VPBDIV=y, VPCDIV=old ? > (or can fewer steps be used somehow ?) > > -- > Cheers, > Bruce > ------------------------------- > This email and any files transmitted with it are confidential and > intended solely for the use of the individual or entity to whom > they are addressed. If you have received this email in error please > notify the system manager. > > /\\\/\\\/\\\ / / Bruce Paterson > / \\\ \\\ \\\ / / Senior Design Engineer > / /\\\/\\\/\\\/ / 8 Anzed Court, Mulgrave, Vic, 3170 > / / \\\ \\\ \\\ / PO Box 4112, Mulgrave, Vic, 3170, Australia > / / \\\/\\\ \\\/ Ph: +61 3 8561 4232 Fax: +61 3 9560 9055 > Tele-IP Ltd. Email: bruce@t... Icq: #32015991 > WWW: http://www.tele-ip.com VK3TJN > ------------------------------- |
Reply by ●March 4, 20052005-03-04
Dear Sir, VPBDIV=0; EXTMODE=0x0d; VPBDIV=0; VPBDIV=VPB_DIV_VAL; I have placed a breakpoint after the last line and EXTMODE still reads 0. I guess I am unable to make this work Can you advise why the suggested workaround did not help? Best regards, Kerem ----- Original Message ----- From: "philips_apps" <> To: <> Sent: Wednesday, January 19, 2005 2:25 AM Subject: [lpc2000] EXTMODE/EXTPOLAR & VPBDIV > > > Hi Kerem, > > This is actually a bug which is related to the EXTINT.1 bug (present > in the Errata sheet). > > Problem: Incorrect setting of EXTMODE and/or EXTPOLAR register while > trying to set them to desired value. > > For instance, trying to set EXTMODE to 0x1 or 0xd would result in > EXTMODE to be set to 0x0 instead. To avoid this problem, while > writing to EXTMODE and/or EXTPOLAR the following steps have to be > carried out. > > Workaround: > Since this issue is related to the EXTINT.1 Errata, the same > workaround applies with an additional step. > > Before writing to the EXTMODE and EXTPOLAR registers, > 1> Write 0x0 to VPBDIV > 2> Then write the desired value to EXTMODE or EXTPOLAR register. > 3> Then write the same value to VPBDIV ( additional step) > 4> Restore the VPBDIV to the previously saved value or simply write > to the register again with the desired value. > > Note: > While testing this in a debugger enviornment, please dont single-step > through these steps. A breakpoint could be placed after Step 4 and > you would see the EXTMODE and EXTPOLAR registers reflecting the > correct values. > > The Errata sheet for these devices will be updated soon. This bug is > not present in the LPC213x. > > Thanks > Philips_apps > > --- In , "Kerem Or" <k.or@s...> wrote: >> >> Dear Philips Apps people, >> >> LPC2214 fails to write 0x0d to EXTMODE register even when VPBDIV=0 >> as advised in the device errata. The EXTMODE register prior to > write >> was 0x0f and gets 0x00 just after attempting to set to 0x0d. >> >> What happens is in conflict with the workaround suggested in the >> device errata. >> >> Please advise... >> >> Device marking >> --------------- >> LPC2214FBD144 >> CD0931 05 >> TS0432A >> >> Kerem Or, >> SYS Inc. > > Yahoo! Groups Links |