COP87L88EK/RK Family
8-Bit CMOS OTP Microcontrollers with 8k or 32k
Memory, Comparator, and Single-slope A/D Capability
General Description
The COP87L88EK/RK Family OTP (One Time Programmable) microcontrollers are highly integrated COP8
ture core devices with 16k or 32k memory and advanced
features including a Multi-Input Comparator and
Single-slope A/D capability. These multi-chip CMOS devices
are suited for applications requiring a full featured, low EMI
controller with an analog comparator, current source, and
voltage reference, and as pre-production devices for a
masked ROM design. Lower cost pin and software compatible 8k ROM versions (COP888EK) are available forusewith
a range of COP8 software and hardware development tools.
COP87L88EK/RK Family, 8-Bit CMOS OTP Microcontrollers with 8k or 32k Memory, Comparator,
and Single-slope A/D Capability
July 1999
Family features include an 8-bit memory mapped architecture, 10 MHz CKI (-XE=crystal oscillator) with 1 µs instruc-
™
tion cycle, three multi-function 16-bit timer/counters with
Fea-
PWM, MICROWIRE/PLUS
parator with seven input multiplexor, an analog current
source and V
modes, idle timer, MIWU, high current outputs, software selectable I/O options, WATCHDOG
2.7V to 5.5V operation and 28/40/44 pin packages.
Devices included in this datasheet are:
If Military/Aerospace specified devices are required,
please contact the National Semiconductor SalesOffice/
Distributors for availability and specifications.
Supply Voltage (V
Voltage at Any Pin−0.3V to V
)7V
CC
CC
+ 0.3V
Total Current into V
Pin (Source)100 mA
CC
Total Current out of GND Pin (Sink)110 mA
Storage Temperature Range−65˚C to +140˚C
Note 1:
Absolute maximum ratings indicate limits beyond which damage to
the device may occur. DC and AC electrical specifications are not ensured
when operating the device at absolute maximum ratings.
DC Electrical Characteristics
−40˚C ≤ TA≤ +85˚C unless otherwise specified
ParameterConditionsMinTypMaxUnits
Operating Voltage2.75.5V
Power Supply Ripple (Note 3)Peak-to-Peak0.1 V
CC
Supply Current (Note 4)
CKI=10 MHzV
CKI=4 MHzV
HALT Current (Note 5)V
=
CC
=
CC
=
CC
=
V
CC
=
5.5V, t
4.0V, t
1 µs16.5mA
c
=
2.5 µs6.5mA
c
5.5V, CKI=0 MHz12µA
4.0V, CKI=0 MHz8µA
IDLE Current (Note 4)
CKI=10 MHzV
CKI=4 MHzV
Input Levels (V
IH,VIL
)
=
CC
=
CC
5.5V, t
4.0V, t
=
1 µs3.5mA
c
=
10 µs0.7mA
c
RESET
Logic High0.8 V
Logic Low0.2 V
CC
CC
CKI, All Other Inputs
Logic High0.7 V
Logic Low0.2 V
Hi-Z Input LeakageV
Input Pullup CurrentV
Note 2: t
Note 3: Maximum rate of voltage change must be
Note 4: Supply and IDLE currents are measured with CKI driven with a square wave Oscillator, CKO driven 180˚ out of phase with CKI, inputs connected to V
and outputs driven low but not connected to a load.
Note 5: The HALT mode will stop CKI from oscillating in the RC and the Crystal configurations. Measurement of I
sinking current; with L, C, G0, and G2–G5 programmed as low outputs and not driving a load; all outputs programmed low and not driving a load; all inputs tied to
V
in crystal clock mode.
Note 6: Pins G6 and RESET are designed with ahighvoltageinput network. These pins allow input voltages
biased at voltages>VCC(the pins do not have source current when biased at a voltage below VCC). The effective resistance to VCCis 750Ω (typical). These two
pins will not latch up. The voltage at the pins must be limited to
cludes ESD transients.
Note 7: The output propagation delay is referenced to the end of the instruction cycle where the output change occurs.
Note 8: Parameter characterized but not tested.
Instruction Cycle Time
c
; clock monitor and comparator disabled. Parameter refers to HALTmode entered via setting bit 7 of the G Port data register.Part will pull up CKI during HALT
CC
)
c
≤ 5.5V1.0DCµs
CC
≤ 5.5V3.0DCµs
CC
4.5V ≤ VCC≤ 5.5V200ns
4.5V ≤ VCC≤ 5.5V60ns
=
L
) (Note 7)VCC≥ 4.5V20ns
UWS
) (Note 7)VCC≥ 4.5V56ns
UWH
)V
UPD
<
0.5 V/ms.
<
14V.WARNING: Voltages in excess of 14V will cause damage to the pins. This warning ex-
=
2.2k, C
100 pF
L
≤ 5.5V1.0µs
CC
≥ 4.5V220ns
CC
HALTis done with device neither sourcing nor
DD
>
VCCand the pins will have sink current to VCCwhen
c
c
c
c
CC
www.national.com6
Analog Function Block AC and DC Characteristics
=
V
5.0V, −40˚C ≤ T
CC
ParameterConditionsMinTypMaxUnits
Input Offset Voltage0.4V
Input Common Mode Voltage Range
(Note 10)
V
/2 Reference4.5V<V
CC
DC Supply Current for
Comparator (when enabled)
DC Supply Current for
V
/2 Reference (when enabled)
CC
DC Supply Current for
Constant Current Source (when enabled)
Constant Current Source4.5V
Current Source Variation over4.5V
Common Mode RangeTemp=Constant
Current Source Enable Time1.52µs
Comparator Response Time100 mV Overdrive,1µs
Note 9: While performance characteristics are given at V
/2 reference and the constant current source is not guaranteed beyond the specified limits.
V
CC
Note 10: The device is capable of operating over a common mode voltage range of 0 to V
and 0.4V.
≤ +85˚C
A
<
<
V
VCC− 1.5V
IN
0.4V
<
5.5V0.5 VCC− 0.040.5 V
CC
=
V
5.5V
CC
=
V
5.5V
CC
=
V
5.5V
CC
<
<
V
5.5V102040µA
CC
<
<
V
5.5V
CC
100 pF Load
=
5.0V, the analog function block will operate over the entire 2.5V–6.0V V
CC
− 1.5V, however increased offset voltage will be observed between 0V
CC
±
10
CC
±
25mV
− 1.5V
CC
0.5 VCC+ 0.04V
250µA
5080µA
200µA
±
2µA
range. Accuracy of the
CC
FIGURE 3. MICROWIRE/PLUS Timing
Typical Performance Characteristics (−55˚C ≤ T
DS101133-19DS101133-20
DS101133-18
=
A
+125˚C)
www.national.com7
Typical Performance Characteristics (−55˚C ≤ T
DS101133-21DS101133-22
=
+125˚C) (Continued)
A
DS101133-23
DS101133-28
www.national.com8
DS101133-27
DS101133-29
Typical Performance Characteristics (−55˚C ≤ T
Pin Descriptions
VCCand GND are the power supply pins. All VCCand GND
pins must be connected.
CKI is the clockinput. This can come from an R/C generated
oscillator, or a crystal oscillator (in conjunction with CKO).
See Oscillator Description section.
RESET is the master reset input. See ResetDescription section.
The device contains three bidirectional 8-bit I/O ports (C, G
and L), where each individual bit may be independently configured as an input(Schmitt Trigger inputs on ports Land G),
output or TRI-STATE under program control. Three data
memory address locations are allocated for each of these
I/O ports. Each I/O port has two associated 8-bit memory
mapped registers, the CONFIGURATION register and the
output DATAregister. A memory mapped address is also reserved for the input pins of each I/O port. (See the memory
map for the various addresses associated with theI/O ports.)
Figure 4
shows the I/O port configurations. The DATA and
CONFIGURATION registers allow for each port bit to be individually configured under software control as shown below:
CONFIGURA-
TION
RegisterRegister
00Hi-Z Input
01Input with Weak Pull-Up
10Push-Pull Zero Output
11Push-Pull One Output
PORT L is an 8-bit I/O port. All L-pins have Schmitt triggers
on the inputs.
The Port L supports Multi-Input Wake Up on alleight pins. L4
and L5 are used for the timer input functions T2A and T2B.
L6 and L7 are used for the timer input functions T3A and
T3B.
DATA
Port Set-Up
(TRI-STATE Output)
The Port L has the following alternate features:
L7 MIWU or T3B
L6 MIWU or T3A
L5 MIWU or T2B
L4 MIWU or T2A
L3 MIWU
L2 MIWU
L1 MIWU
L0 MIWU
Port G is an 8-bit port with 5 I/O pins (G0, G2–G5), an input
pin (G6), and a dedicated output pin (G7). Pins G0 and
G2–G6 all have Schmitt Triggers on their inputs. Pin G1
serves as the dedicated WDOUT WATCHDOGoutput, while
pin G7 is either input or output depending on the oscillator
mask option selected. With the crystal oscillator option selected, G7 serves as the dedicated output pin for the CKO
clock output. With the single-pin R/C oscillator mask option
selected, G7 serves as a general purpose input pin but is
also used to bring the device out of HALT mode with alow to
high transition on G7. There are two registers associated
with the G Port, a data register and a configuration register.
Therefore, each of the 5 I/O bits (G0, G2–G5) can be individually configured under software control.
Since G6 is an input only pin and G7 is the dedicated CKO
clock output pin (crystal clock option) or general purpose input (R/C clock option), the associated bits in the data and
configuration registers for G6 and G7 are used for special
purpose functions as outlined on the nextpage. Reading the
G6 and G7 data bits will return zeros.
=
+125˚C) (Continued)
A
DS101133-30
www.national.com9
Pin Descriptions (Continued)
FIGURE 4. I/O Port Configurations
Note that the chipwill beplaced inthe HALT mode by writing
a “1” to bit 7 of the Port G Data Register. Similarly the chip
will be placed inthe IDLEmode bywriting a “1” to bit 6 of the
Port G Data Register.
Writing a “1” to bit 6 of the Port G Configuration Register enables the MICROWIRE/PLUS to operate with the alternate
phase of the SK clock. The G7 configuration bit, if set high,
enables the clock start up delay after HALT when the R/C
clock configuration is used.
Config Reg.Data Reg.
G7CLKDLYHALT
G6Alternate SKIDLE
Port G has the following alternate features:
G6 SI (MICROWIRE Serial Data Input)
G5 SK (MICROWIRE Serial Clock)
G4 SO (MICROWIRE Serial Data Output)
G3 T1A (Timer T1 I/O)
G2 T1B (Timer T1 Capture Input)
G0 INTR (External Interrupt Input)
Port G has the following dedicated functions:
G7 CKO Oscillator dedicated output or general purpose
input
G1 WDOUT WATCHDOG and/or Clock Monitor dedi-
cated output
Port C is an 8-bit I/O port. The 40-pin device does not have
a full complement of Port C pins. The unavailable pins are
not terminated. A read operation for these unterminated pins
will return unpredicatable values.
PORTI is aneight-bit Hi-Z input port. The 28-pin device does
not have a full complement of Port I pins. The unavailable
pins are not terminated i.e., they are floating. A read operation for these unterminatedpins will return unpredictable values. The user must ensure that the software takes this into
account by either masking or restricting the accesses to bit
operations. The unterminated Port I pins will draw power
only when addressed.
Port I is an eight-bit Hi-Z input port.
Port I0–I7 are used for the analog function block.
The Port I has the following alternate features:
Port D is an 8-bitoutput port thatis presethigh when RESET
goes low. The user can tie two or more D port outputs (except D2) together in order to get a higher drive.
Note: Care must be exercised with the D2 pin operation. At RESET, the ex-
ternal loads on this pin must ensure that the output voltages stay
above 0.8 V
keep the external loading on D2 to
to prevent the chip from entering special modes. Also
CC
<
1000 pF.
Functional Description
The architecture of the device is modified Harvard architecture. With the Harvard architecture, the control store program memory (ROM) is separated from the data store
memory (RAM). Both ROM and RAM have their own separate addressing space with separate address buses. The architecture, though based on Harvard architecture, permits
transfer of data from ROM to RAM.
CPU REGISTERS
The CPU can do an 8-bitaddition, subtraction,logical or shift
operation in one instruction (t
There are six CPU registers:
A is the 8-bit Accumulator Register
PC is the 15-bit Program Counter Register
PU is the upper 7 bits of the program counter (PC)
PL is the lower 8 bits of the program counter (PC)
B is an 8-bit RAM address pointer, which can be optionally
post auto incremented or decremented.
X is an 8-bit alternate RAM address pointer, which can be
optionally post auto incremented or decremented.
SP is the 8-bit stack pointer, which points to the subroutine/
interrupt stack (in RAM). The SP is initialized to RAM address 06F with reset.
) cycle time.
c
Functional Description (Continued)
S is the 8-bit Data Segment Address Register used toextend
the lower half of the address range (00 to 7F) into 256 data
segments of 128 bytes each.
All the CPU registers are memory mapped with the exception of the Accumulator (A) and the Program Counter (PC).
The device can be configured to inhibit external reads of the
program memory. This is done by programming the Security
Byte.
PROGRAM MEMORY
The program memory consists of 8192 bytes of OTP
EPROM. These bytes mayhold program instructions or constant data (data tables for the LAID instruction, jump vectors
for the JID instruction, and interrupt vectors for the VIS instruction). The program memory is addressed by the 15-bit
program counter (PC). All interrupts in the devices vector to
program memory location 0FF Hex.
The device can be configured to inhibit external reads of the
program memory. This is done by programming the Security
Byte.
SECURITY FEATURE
The program memory array has an associate Security Byte
that is located outside of the program address range. This
byte can be addressed only from programming mode by a
programmer tool.
Security is an optional feature andcan onlybe asserted after
the memory array has been programmed and verified. A secured part will read all 00(hex) by a programmer. The part
will fail Blank Check and will fail Verify operations. A Read
operation will fill the programmer’s memory with 00(hex).
The Security Byte itself is always readable with value of
00(hex) if unsecure and FF(hex) if secure.
DATA MEMORY
The data memory address space includes the on-chip RAM
and data registers, the I/O registers(Configuration, Data and
Pin), the control registers, the MICROWIRE/PLUS SIO shift
register, and the various registers, and counters associated
with the timers (with the exception of the IDLE timer). Data
memory is addressed directly by the instruction or indirectly
by the B, X, SP pointers and S register.
The data memory consists of 256 bytes of RAM. Sixteen
bytes of RAM are mappedas “registers”at addresses0F0 to
0FF Hex. These registers can be loaded immediately, and
also decremented and tested with the DRSZ (decrement
register and skip if zero) instruction. The memory pointer
registers X, SP,B andS arememory mappedinto thisspace
at address locations 0FC to 0FF Hex respectively, with the
other registers being available for general usage.
The instruction set permitsany bit in memory to be set, reset
or tested. All I/O and registers (except A and PC) are
memory mapped; therefore, I/O bits and register bits can be
directly and individually set,reset andtested. The accumulator (A) bits can also be directly and individually tested.
Note: RAM contents are undefined upon power-up.
Data Memory Segment RAM
Extension
Data memory address 0FF is used as a memory mapped location for the Data Segment Address Register (S).
The data store memory is either addressed directly by a
single byte address within the instruction, or indirectly relative to the reference of the B, X, or SP pointers (each contains a single-byte address). This single-byte address allows
an addressing range of256 locationsfrom 00to FFhex. The
upper bit of this single-byte address divides the data store
memory into two separate sections as outlined previously.
With the exception of the RAM register memory from address locations 00F0 to 00FF, all RAM memory is memory
mapped with the upper bit of the single-byte address being
equal to zero. This allows the upper bit ofthe single-byte address to determine whether or not the base address range
(from 0000 to 00FF) is extended. If this upper bit equals one
(representing address range 0080 to 00FF), then address
extension does not take place. Alternatively, if this upper bit
equals zero, then the data segment extension register S is
used to extend the base address range (from 0000 to 007F)
from XX00 to XX7F, where XX represents the 8 bits from the
S register. Thus the 128-byte data segment extensions are
located from addresses 0100 to 017F for data segment 1,
0200 to 027F for data segment 2, etc., up to FF00 to FF7F
for data segment 255.The base address range from 0000 to
007F represents data segment 0.
Figure 5
illustrates how the S register data memory extension is used in extending the lower half of the base address
range (00 to 7F hex) into 256 data segments of 128 bytes
each, with a total addressing range of 32 kbytes from XX00
to XX7F. This organization allows a total of 256 data segments of 128 bytes each with an additional upper base segment of 128 bytes. Furthermore, all addressing modes are
available for all data segments. The S register must be
changed under program control to move from one data segment (128 bytes) to another. However, the upper base segment (containing the 16 memory registers, I/O registers,
control registers, etc.) is always available regardless of the
contents of the S register, since the upper base segment
(address range 0080 to 00FF) is independent of data segment extension.
The instructions that utilize thestack pointer (SP)always reference the stack as part of the base segment (Segment 0),
regardless of the contents of the S register. The S register is
not changed by these instructions. Consequently, the stack
(used with subroutine linkage and interrupts) is always located in the base segment. The stack pointer will be intitialized to point at data memory location 006F as a result of reset.
The 128 bytes of RAM contained in the base segment are
split between the lower and upper base segments. The first
112bytes ofRAM are resident from address 0000 to 006F in
the lower base segment, while the remaining 16 bytes of
RAM represent the 16 data memory registers located at addresses 00F0 to 00FF of the upper base segment. No RAM
is located at the upper sixteen addresses (0070 to 007F) of
the lower base segment.
Additional RAM beyond these initial 128 bytes, however, will
always be memory mapped in groups of 128 bytes (or less)
at the data segment address extensions (XX00 to XX7F) of
the lower base segment. The additional 128 bytes of RAM
are memory mapped at address locations 0100 to 017F hex.
www.national.com11
Data Memory Segment RAM
Extension
(Continued)
*Reads as all ones.
DS101133-6
FIGURE 5. RAM Organization
Reset
The RESET input when pulled low initializes the microcontroller. Initialization will occur whenever the RESET input is
pulled low. Upon initialization, the data and configuration
registers for ports L, G and C are cleared, resulting in these
Ports being initialized to the TRI-STATE mode. Pin G1 of the
G Port is anexception (asnoted below)since pinG1 is dedicated as the WATCHDOGand/or Clock Monitor error output
pin. Port D is set high. The PC, PSW, ICNTRL, CNTRL,
T2CNTRL and T3CNTRL control registers are cleared. The
Comparator Select Register is cleared. The S register is initialized to zero. The Multi-Input Wakeup registers WKEN and
WKEDG are cleared. Wakeup register WKPND is unknown.
The stack pointer, SP, is initialized to 6F hex.
The device comes out of reset with both the WATCHDOG
logic and the Clock Monitor detector armed, with the
WATCHDOG service window bits set and the Clock Monitor
bit set. The WATCHDOG and Clock Monitor circuits are inhibited during reset. The WATCHDOG service window bits
being initialized high default to the maximum WATCHDOG
service window of 64k t
being initialized high will cause a Clock Monitor error following reset if the clock has not reached the minimum specified
frequency at the termination of reset. A Clock Monitor error
will cause an active low error output on pin G1. This error
output will continue until 16 t
the clock frequency reaching the minimum specified value,
at which time the G1 output will enter the TRI-STATE mode.
The external RC network shown in
to ensure that the RESETpin is heldlow until thepower supply to the chip stabilizes.
clock cycles. The Clock Monitor bit
C
–32 tCclock cycles following
C
Figure 6
should be used
RC>5 x Power Supply Rise Time
DS101133-7
FIGURE 6. Recommended Reset Circuit
Oscillator Circuits
The chip can be driven by a clock input on the CKI input pin
which can be between DC and 10 MHz. The CKO output
clock is on pin G7 (crystal configuration). The CKI input frequency is divided down by 10 to produce the instruction
cycle clock (1/t
Note: External clocks with frequencies above about 4 MHz require the user
to drive the CKO (G7) pin with a signal 180 degrees out of phase with
CKI.
Figure 7
CRYSTAL OSCILLATOR
CKI and CKO can be connected to make a closed loop crystal (or resonator) controlled oscillator.
Table 1
standard crystal values.
R/C OSCILLATOR
By selecting CKI as a single pin oscillator input, a single pin
R/C oscillator circuit can beconnected toit. CKOis available
as a general purpose input, and/or HALT restart input.
Note: Use of the R/C oscillator option will result in higher electromagnetic
emissions.
Table 2
functions of the component (R and C) values.
).
c
shows the Crystal and R/C oscillator diagrams.
shows the component values required for various
shows the variation in the oscillator frequencies as
DS101133-8
www.national.com12
DS101133-9
FIGURE 7. Crystal and R/C Oscillator Diagrams
Oscillator Circuits (Continued)
TABLE 1. Crystal Oscillator Configuration, T
R1R2C1C2CKI Freq
(kΩ)(MΩ) (pF)(pF)(MHz)
013030–3610V
013030–364V
01200 100–1500.455V
TABLE 2. RC Oscillator Configuration, T
RCCKI FreqInstr. Cycle
(kΩ)(pF)(MHz)(µs)
3.3822.2 to 2.73.7 to 4.6V
5.61001.1 to 1.37.4 to 9.0V
6.81000.9 to 1.18.8 to 10.8V
Note 11: 3k ≤ R ≤ 200k
50 pF ≤ C ≤ 200 pF
=
25˚C
A
Conditions
=
CC
=
CC
=
CC
=
25˚C
A
Conditions
=
CC
=
CC
=
CC
5V
5V
5V
5V
5V
5V
Control Registers
CNTRL Register (Address X'00EE)
T1C3 T1C2 T1C1 T1C0 MSEL IEDGSL1SL0
Bit 7Bit 0
The Timer1 (T1) and MICROWIRE/PLUS control register
contains the following bits:
T1C3Timer T1 mode control bit
T1C2Timer T1 mode control bit
T1C1Timer T1 mode control bit
T1C0Timer T1 Start/Stop control in timer
modes 1 and 2, T1 Underflow Interrupt
Pending Flag in timer mode 3
MSELSelects G5 and G4 as MICROWIRE/PLUS
IEDGExternal interrupt edge polarity select
SL1 & SL0 Select the MICROWIRE/PLUS clock divide
PSW Register (Address X'00EF)
HC C T1PNDA T1ENA EXPND BUSY EXEN GIE
Bit 7Bit 0
The PSW register contains the following select bits:
HCHalf Carry Flag
CCarry Flag
T1PNDA Timer T1 Interrupt Pending Flag (Autoreload
T1ENATimer T1 Interrupt Enable for Timer Underflow
The Half-Carry flag is also affectedby all the instructionsthat
affect the Carry flag. The SC (Set Carry) and R/C (Reset
Carry) instructions will respectively set or clear boththe carry
signals SK and SO respectively
(0 = Rising edge, 1 = Falling edge)
by (00 = 2, 01 = 4, 1x = 8)
RA in mode 1, T1 Underflow in Mode 2, T1A
capture edge in mode 3)
or T1A Input capture edge
flags. In addition to the SC and R/C instructions, ADC,
SUBC, RRC and RLC instructions affect the Carry and Half
Carry flags.
ICNTRL Register (Address X'00E8)
RsvdLPEN T0PND T0EN µWPND µWEN T1PNDB T1ENB
Bit 7Bit 0
The ICNTRL register contains the following bits:
RsvdThis bit is reserved and must be zero
LPENL Port Interrupt Enable (Multi-Input Wakeup/