Philips Semiconductors
P89LPC920/921/922/9221
8-bit microcontrollers with two-clock 80C51 core
Product data Rev. 08 — 15 December 2004 31 of 46
9397 750 14469
© Koninklijke Philips Electronics N.V. 2004. All rights reserved.
8.22 Watchdog timer
The Watchdog timer causes a system reset when it underflows as a result of a failure
to feed the timer prior to the timer reaching its terminal count. It consists of a
programmable 12-bit prescaler, and an 8-bit down counter. The down counter is
decremented by a tap taken from the prescaler. The clock source for the prescaler is
either the PCLK or the nominal 400 kHz Watchdog oscillator. The Watchdog timer
can only be reset by a power-on reset. When the watchdog feature is disabled, it can
be used as an interval timer and may generate an interrupt. Figure 11 shows the
Watchdog timer in watchdog mode. Feeding the watchdog requires a two-byte
sequence. If PCLK is selected as the watchdog clock and the CPU is powered-down,
the watchdog is disabled. The Watchdog timer has a time-out period that ranges from
a few µs to a few seconds. Please refer to the
P89LPC920/921/922/9221
User’s
Manual for more details.
8.23 Additional features
8.23.1 Software reset
The SRST bit in AUXR1 gives software the opportunity to reset the processor
completely, as if an external reset or watchdog reset had occurred. Care should be
taken when writing to AUXR1 to avoid accidental software resets.
8.23.2 Dual data pointers
The dual Data Pointers (DPTR) provides two different Data Pointers to specify the
address used with certain instructions. The DPS bit in the AUXR1 register selects
one of the two Data Pointers. Bit 2 of AUXR1 is permanently wired as a logic ‘0’ so
that the DPS bit may be toggled (thereby switching Data Pointers) simply by
incrementing the AUXR1 register, without the possibility of inadvertently altering other
bits in the register.
(1) Watchdog reset can also be caused by an invalid feed sequence, or by writing to WDCON not immediately followed by a
feed sequence.
Fig 11. Watchdog timer in watchdog mode (WDTE = ‘1’).
PRE2 PRE1 PRE0 WDRUN WDTOF WDCLK
WDCON (A7H)
CONTROL REGISTER
PRESCALER
002aaa423
SHADOW
REGISTER
FOR WDCON
8-BIT DOWN
COUNTER
WDL (C1H)
Watchdog
oscillator
PCLK
÷32
MOV WFEED1, #0A5H
MOV WFEED2, #05AH
RESET
see note (1)
Philips Semiconductors
P89LPC920/921/922/9221
8-bit microcontrollers with two-clock 80C51 core
Product data Rev. 08 — 15 December 2004 32 of 46
9397 750 14469
© Koninklijke Philips Electronics N.V. 2004. All rights reserved.
8.24 Flash program memory
8.24.1 General description
The P89LPC920/921/922/9221 Flash memory provides in-circuit electrical erasure
and programming. The Flash can be read, erased, or written as bytes. The Sector
and Page Erase functions can erase any Flash sector (1 kB) or page (64 bytes). The
Chip Erase operation will erase the entire program memory. In-System Programming
and standard parallel programming are both available. On-chip erase and write timing
generation contribute to a user-friendly programming interface. The
P89LPC920/921/922/9221 Flash reliably stores memory contents even after
10,000 erase and program cycles. The cell is designed to optimize the erase and
programming mechanisms. The P89LPC920/921/922/9221 uses V
DD
as the supply
voltage to perform the Program/Erase algorithms.
8.24.2 Features
Parallel programming with industry-standard commercial programmers.
In-Circuit serial Programming (ICP) with industry-standard commercial
programmers.
IAP-Lite allows individual and multiple bytes of code memory to be used for data
storage and programmed under control of the end application.
Internal fixed boot ROM, containing low-level In-Application Programming (IAP)
routines that can be called from the end application (in addition to IAP-Lite).
Default serial loader providing In-System Programming (ISP) via the serial port,
located in upper end of user program memory.
Boot vector allows user-provided Flash loader code to reside anywhere in the
Flash memory space, providing flexibility to the user.
Programming and erase over the full operating voltage range.
Read/Programming/Erase using ISP/IAP/IAP-Lite.
Any flash program or erase operation in 2 ms.
Programmable security for the code in the Flash for each sector.
>100,000 typical erase/program cycles for each byte.
10 year minimum data retention.
8.24.3 ISP and IAP capabilities of the P89LPC920/921/922/9221
Flash organization: The P89LPC920/921/922/9221 program memory consists of
two/four/eight 1 kB sectors. Each sector can be further divided into 64-byte pages. In
addition to sector erase, page erase, and byte erase, a 64-byte page register is
included which allows from 1 to 64 bytes of a given page to be programmed at the
same time, substantially reducing overall programming time. An In-Application
Programming (IAP) interface is provided to allow the end user’s application to erase
and reprogram the user code memory. In addition, erasing and reprogramming of
user-programmable bytes including UCFG1, the Boot Status Bit and the Boot Vector
are supported. As shipped from the factory, the upper 512 bytes of user code space
contains a serial In-System Programming (ISP) routine allowing for the device to be
programmed in circuit through the serial port.
Philips Semiconductors
P89LPC920/921/922/9221
8-bit microcontrollers with two-clock 80C51 core
Product data Rev. 08 — 15 December 2004 33 of 46
9397 750 14469
© Koninklijke Philips Electronics N.V. 2004. All rights reserved.
Flash programming and erasing: There are three methods of erasing or
programming of the Flash memory that may be used. First, the Flash may be
programmed or erased in the end-user application by calling low-level routines
through a common entry point. Second, the on-chip ISP boot loader may be invoked.
This ISP boot loader will, in turn, call low-level routines through the same common
entry point that can be used by the end-user application. Third, the Flash may be
programmed or erased using the parallel method by using a commercially available
EPROM programmer which supports this device. This device does not provide for
direct verification of code memory contents. Instead this device provides a 32-bit
CRC result on either a sector or the entire 2 kB/4 kB/8 kB of user code space.
Boot ROM: When the microcontroller programs its own Flash memory, all of the
low-level details are handled by code that is contained in a Boot ROM that is separate
from the Flash memory. A user program simply calls the common entry point in the
Boot ROM with appropriate parameters to accomplish the desired operation. The
Boot ROM include operations such as erase sector, erase page, program page, CRC,
program security bit, etc. The Boot ROM occupies the program memory space at the
top of the address space from FF00H to FEFFH, thereby not conflicting with the user
program memory space.
Power-on reset code execution: The P89LPC920/921/922/9221 contains two
special Flash elements: the Boot Vector and the Boot Status Bit. Following reset, the
P89LPC920/921/922/9221 examines the contents of the Boot Status Bit. If the Boot
Status Bit is set to zero, power-up execution starts at location 0000H, which is the
normal start address of the user’s application code. When the Boot Status Bit is set to
a one, the contents of the Boot Vector is used as the high byte of the execution
address and the low byte is set to 00H. The factory default setting is 1FH for the
P89LPC9221 and P89LPC922, and corresponds to the address 1F00H for the default
ISP boot loader. The factory default setting is 0FH for the P89LPC921 and
corresponds to the address 0F00H for the default ISP boot loader. The factory default
setting for the LPC920 is 07H and corresponds to the address 0700H. This boot
loader is pre-programmed at the factory into this address space and can be erased
by the user. Users who wish to use this loader should take precautions to avoid
erasing the 1 kB sector from 1C00H to 1FFFH in the P89LPC922/9221 or the
1 kB sector from 0C00H to 0FFFH in the P89LPC921, or the 1 kB sector from
0400H to 07FFH in the P89LPC920. Instead, the page erase function can be
used to erase the eight 64-byte pages which comprise the lower 512 bytes of
the sector. A custom boot loader can be written with the Boot Vector set to the
custom boot loader, if desired.
Hardware activation of the boot loader: The boot loader can also be executed by
forcing the device into ISP mode during a power-on sequence (see the
P89LPC920/921/922/9221 User’s Manual
for specific information). This has the same
effect as having a non-zero Boot Status Bit. This allows an application to be built that
will normally execute user code but can be manually forced into ISP operation. If the
factory default setting for the Boot Vector is changed, it will no longer point to the
factory pre-programmed ISP boot loader code. If this happens, the only way it is
possible to change the contents of the Boot Vector is through the parallel
programming method, provided that the end user application does not contain a
customized loader that provides for erasing and reprogramming of the Boot Vector

P89LPC921FDH,518

Mfr. #:
Manufacturer:
NXP Semiconductors
Description:
Microcontrollers - MCU 8-bit Microcontrollers - MCU 8B MCU 80C51 2/4/8KB 3V FL 256B RAM
Lifecycle:
New from this manufacturer.
Delivery:
DHL FedEx Ups TNT EMS
Payment:
T/T Paypal Visa MoneyGram Western Union