The Philips 83C576/87C576 is a high-performance microcontroller
fabricated with Philips high-density CMOS technology. The Philips
CMOS technology combines the high speed and density
characteristics of HMOS with the low power attributes of CMOS.
Philips epitaxial substrate minimizes latch-up sensitivity.
The 8XC576 contains an 8k × 8 ROM (83C576) EPROM (87C576),
a 256 × 8 RAM, 32 I/O lines, three 16-bit counter/timers, a
Programmable Counter Array (PCA), a 10-bit, 6 channel A/D,
2 PWM outputs, an 8-bit UPI interface, a fifteen-source, two-priority
level nested interrupt structure, an enhanced UART, four analog
comparators, power-fail detect and oscillator fail detect circuits, and
on-chip oscillator and clock circuits.
In addition, the 8XC576 has a low active reset, and a software reset.
There is also a fully configurable watchdog timer, and internal power
on clear circuit. The part includes idle mode and power-down mode
states for reduced power consumption.
ORDERING INFORMATION
ROMEPROM
P83C576EBPNP87C576EBPNOTP0 to +70, 40-Pin Plastic Dual In-line Package16SOT129-1
P83C576EBAAP87C576EBAAOTP0 to +70, 44-Pin Plastic Leaded Chip Carrier16SOT187-2
P83C576EBBBP87C576EBBBOTP0 to +70, 44-Pin Plastic Quad Flat Pack16SOT307-2
P83C576EFPNP87C576EBPNOTP–40 to +85, 40-Pin Plastic Dual In-line Package16SOT129-1
P83C576EFAAP87C576EFAAOTP–40 to +85, 44-Pin Plastic Leaded Chip Carrier16SOT187-2
P83C576EFBBP87C576EFBBOTP–40 to +85, 44-Pin Plastic Quad Flat Pack16SOT307-2
P83C576EHPNP87C576EHPNOTP–40 to +125, 40-Pin Plastic Dual In-line Package16SOT129-1
P83C576EHAAP87C576EHAAOTP–40 to +125, 44-Pin Plastic Leaded Chip Carrier16SOT187-2
P83C576EHBBP87C576EHBBOTP–40 to +125, 44-Pin Plastic Quad Flat Pack16SOT307-2
P0.0-0.739-32 43-36 37-30I/OPort 0: Port 0 is a bidirectional I/O port. Port 0 is also the multiplexed low-order address and
P1.0-P1.53-85-942-44
P2.0-P2.721-28 24-31 18-25I/OPort 2: Port 2 is an 8-bit bidirectional I/O port. Port 2 emits the high-order address byte
DIPLCCQFPTYPE NAME AND FUNCTION
202216IGround: 0V reference.
404438IPower Supply: This is the power supply voltage for normal, idle, and power-down operation.
data bus during accesses to external program and data memory (see Note 5). In this
application, it uses strong internal pull-ups when emitting 1s. Port 0 also receives code bytes
during parallel EPROM programming and outputs code bytes during verification. External
pull-ups are required during program verification. During reset, the port register is loaded
with 1’s. Port 0 has 4 output modes selected on a per bit basis by writing to the P0M1 and
P0M2 Special Function Registers as follows:
P0M1.xP0M2.xMode Description
00Open drain (default). See Note 1.
01W eak pullup. See Note 2.
10High impedance. See Note 3.
11Push-pull. See Note 4.
Port 0 is also the data I/O port for the Universal Peripheral Interface (UPI). When the UPI is
enabled, port 0 must be configured as High-Z by the user. Input/Output through P0 is
controlled by pin CS
I/OPort 1: Port 1 is a 6-bit bidirectional I/O port with Schmitt trigger inputs. Port 1 receives the control
signals during program memory verification and parallel EPROM programming. During reset, port
1 is configured as a high impedance analog input port. Digital push-pull outputs are enabled by
writing 1’s to the P1M1 register. The programmer must take care to prevent digital outputs from
switching while an A/D conversion is in progress. Port 1 has 3 output modes selected on a per bit
basis by writing to the P1M1 and P1M2 special function registers as follows:
P1M1.XP1M2.XMode Description
00A/D only. (High impedance)
01Digital input only. High impedance (default).
1XPush-pull.
Port 1 pins also serve alternate functions as follows:
during accesses to external program and data memory that use 16-bit addresses (MOVX
@DPTR) (see Note 5). In this application, it uses strong internal pull-ups when emitting 1s.
Port 2 receives the high-order address byte during program verification and parallel EPROM
programming. During reset, the port 2 pullups are turned on synchronously, and the port
register is loaded with 1’s. Port 2 has the following output modes which can be selected on a
per bit basis by writing to P2M1 and P2M0:
P2M1.XP2M2.XMode Description
00Open drain. See Note 1.
01W eak pullup (default). See Note 2.
10High impedance. See Note 3.
11Push-pull. See Note 4.
Port 2 pins serve alternate functions as follows:
, WR, RD, and A0. Output is push-pull when enabled.
RST9104IReset: A low on this pin synchronously resets all port pins to a high state. The pin must be
ALE/PROG303327I/OAddress Latch Enable/Program Pulse: Output pulse for latching the low byte of the address
PSEN293226OProgram Store Enable: The read strobe to external program memory. When the device is
EA/V
PP
XTAL1192115ICrystal 1: Input to the inverting oscillator amplifier and input to the internal clock generator
XTAL2182014OCrystal 2: Output from the inverting oscillator amplifier.
NOTES:
1. When Open Drain mode is selected, ports 0 and 2 have weak pulldowns to guarantee positive leakage current (see DC electrical
characteristic I
2. When Weak Pullup mode is selected, ports bits that have 1’s written to them can be used as inputs but will source current when externally
pulled low (see DC electrical characteristic IIL).
3. When High Impedance mode is selected, all pullups and pulldowns are turned off. The only current sourced or sunk by the pin is the
parasitic leakage current (see DC electrical characteristic I
4. When Push-Pull mode is selected, strong pullups are on continuously when emitting 1’s (see DC electrical characteristic V
5. When Open-Drain, Weak Pull-up, or Push-pull mode is selected.
1240IA/D positive power supply
CC
2341IA/D 0V reference
SS
I/OPort 3: Port 3 is an 8-bit bidirectional I/O port. Port 3 pins that have 1s written to them can
13-195,7-13
be used as inputs but will source current when externally pulled low (see DC Electrical
Characteristics: I
high until written to by software. Port 3 has the following output modes which can be
). During reset all pins will be synchronously driven high and will remain
IL
selected on a per bit basis by writing to P3M1 and P3M2:
P3M1.XP3M2.XMode Description
00Open drain. See Note 1.
01W eak pullup (default). See Note 2.
10High impedance. See Note 3.
11Push-pull. See Note 4.
Port 3 pins serve alternate functions as follows:
10115IP3.0RxDSerial receive port
11137OP3.1TxDSerial transmit port (enabled only when transmitting serial data)
12148IP3.2INT0External interrupt 0
CMP3+ Comparator 3 positive input
13159IP3.3INT1External interrupt 1
CMP2+ Comparator 2 positive input
141610IP3.4T0Timer/counter 0 input
CMP1+ Comparator 1 positive input
151711IP3.5T1Timer/counter 1 input
CMPR– Common reference to comparators 1, 2, 3
161812OP3.6WRExternal data memory write strobe
CMP0+ Comparator 0 positive input
171913OP3.7RDExternal data memory read strobe
CMP0– Comparator 0 negative input
held low with the oscillator running for 24 oscillator cycles to initialize the internal registers.
An internal diffused resistor to V
capacitor to V
with a slow rising input voltage.
. RST has a Schmitt trigger input stage to provide additional noise immunity
SS
permits a power on reset using only an external
CC
during an access to external memory. In normal operation, ALE is emitted at a constant rate
of 1/6 the oscillator frequency, and can be used for external timing or clocking. Note that
one ALE pulse is skipped during each access to external data memory. ALE is switched off
if the bit 0 in the AUXR register (8EH) is set. This pin is also the program pulse input
(PROG
) during parallel EPROM programming. (See also I n t e r n a l Re s e t o n pa g e 2 4. )
executing code from the external program memory, PSEN
cycle, except that two PSEN
memory. PSEN
is not activated during fetches from internal program memory.
activations are skipped during each access to external data
313529IExternal Access Enable/Programming Supply Voltage: EA must be externally held low
to enable the device to fetch code from external program memory locations 0000H to
1FFFH. If EA
is held high, the device executes from internal program memory unless the
program counter contains an address greater than 1FFFH. This pin also receives the
12.75V programming supply voltage (V
voltage during reset the device enters the in-circuit programming mode.
* SFRs are bit addressable.
# SFRs are modified from or added to the 80C51 SFRs.
1. Reset value depends on reset source.
The 8XC576 has a number of failure detect circuits to prevent
abnormal operating conditions. these failure detect circuits generate
resets as shown in Figure 1.
Watchdog Timer Reload
POWER ON CLEAR / POWER ON FLAG
An on-chip Power On Detect Circuit resets the 8XC576 and sets the
Power Off Flag (PCON.4) on power up or if V
momentarily. The POF can only be cleared by software. The RST
pin is not driven by the power on detect circuit. The POF can be
read by software to determine that a power failure has occurred and
can also be set by software.
LOW VOLTAGE DETECT
An on-chip Low Voltage Detect circuit sets the Low Voltage Flag
(PCON.3) if V
Characteristics) and resets the 8XC576 if the Low Voltage Reset
Enable bit (WDCON.4) is set. If the LVRE is cleared, the reset is
disabled but LVF will still be set if V
driven by the low voltage detect circuit. The LVF can be read by
software to determine that V
cleared by software.
drops below V
CC
LOW
was low. The LVF can be set or
CC
OSCILLATOR FAIL DETECT
An on-chip Oscillator Fail Detect circuit sets the Oscillator Fail Flag
(PCON.5) if the oscillator frequency drops below OSCF for one or
more cycles (see AC Electrical Characteristics: OSCF) and resets
the 8XC576 if the Oscillator Fail Reset Enable bit (WDCON.3) is set.
If OFRE is cleared, the reset is disabled but OSF will still be set if
the oscillator fails. The RST pin is not driven by the oscillator fail
detect circuit. The OSF can be read by software to determine that
an oscillator failure has occurred. The OSF can be set or cleared by
software.
C4HPRE2PRE1PRE0LVREOFREDPD
C1H00H
LOW ACTIVE RESET
One of the most notable features on this part is the low active reset.
The low active reset operates exactly the same as high active reset
with the exception that the part is put into the reset mode by
applying a low level to the reset pin. For power-on reset it is also
necessary to invert the power-on reset circuit; connecting the 8.2K
resistor from the reset pin to V
drops to zero
CC
(see DC Electrical
is low. The RST pin is not
CC
reset pin to ground. Figure 1 shows the reset related circuitry.
When reset the port pins on the 8XC576 are driven high
synchronously.
The 8XC576 also has Low voltage detection circuitry that will, if
enabled, force the part to reset when V
set level. Low Voltage Reset is enabled by a normal reset. Low
Voltage Reset can be disabled by clearing LVRE (bit 4 in the
WDCON SFR) then executing a watchdog feed sequence (A5H to
WFEED1 followed immediately by 5AH to WFEED2). In addition
there is a flag (LVF) that is set if a low voltage condition is detected.
The LVF flag is set even if the Low Voltage detection circuitry is
disabled. Notice that the Low voltage detection circuitry does not
drive the RST# pin so the LVF flag is the only way that the
microcontroller can determine if it has been reset due to a low
voltage condition.
The 8XC576 has an on-chip power-on detection circuit that sets the
POF (PCON.4) flag on power up or if the V
drops to 0V . This flag can be used to determine if the part is being
started from a power-on (cold start) or if a reset has occurred due to
another condition (warm start).
The 8XC576 can be reset in software by setting the RST bit of the
AUXR register (AUXR.3). See Figure 1 for reset diagram.
The 8XC576 has four on-chip timers.
Timers 0 and 1 are identical in every way to Timers 0 and 1 on the
80C51.
Timer 2 on the 8XC576 is identical to the 80C52 Timer 2 (described
in detail in the 80C52 overview) with the exception that it is an up or
down counter. To configure the Timer to count down the DCEN bit in
the T2MOD special function register must be set and a low level
must be present on the T2EX pin (P1.1).
The Pulse Width Modulator (PWM) system can be used as a timer
by disabling its outputs and monitoring its counter overflow flag, the
PWMF bit in the PWCON register (see the PWM section for details).
The Watchdog timer operation and implementation is similar to the
8XC550 (for additional information see the 8XC550 datasheet) with
the exception that the reset values of the WDCON and WDL special
function registers have been changed. The changes in these
registers cause the watchdog timer to be enabled with a timeout of
16384 × T
when the part is reset. The watchdog can be disabled
OSC
by executing a valid feed sequence and then clearing WDRUN (bit 2
in the WDCON SFR). In timer mode, the timer is controlled by
toggling the WDRUN bit. The timeout flag, WDTOF, is set when the
timer overflows and must be cleared in software.
PROGRAMMABLE COUNTER ARRAY (PCA)
The Programmable Counter Array is a special Timer that has five
16-bit capture/compare modules associated with it. Each of the
modules can be programmed to operate in one of four modes: rising
and/or falling edge capture, software timer, high-speed output, or
pulse width modulator . Each module has a pin associated with it in
port 2. Module 0 is connected to P2.0(CEX0), module 1 to
P2.1(CEX1), etc. The basic PCA configuration is shown in Figure 2.
The PCA timer is a common time base for all five modules and can
be programmed to run at: 1/12 the oscillator frequency, 1/4 the
oscillator frequency , the Timer 0 overflow, or the input on the ECI pin
(P2.7). The timer count source is determined from the CPS1 and
CPS0 bits in the CMOD SFR as follows (see Figure 3):
CPS1 CPS0 PCA Timer Count Source
001/12 oscillator frequency
011/4 oscillator frequency
10Timer 0 overflow
11External Input at ECI pin (P2.7)
In the CMOD SFR are three additional bits associated with the PCA.
They are CIDL which allows the PCA to stop during idle mode,
WDTE which enables or disables the watchdog function on
module 4, and ECF which when set causes an interrupt and the
PCA overflow flag CF (in the CCON SFR) to be set when the PCA
timer overflows. These functions are shown in Figure 3.
The watchdog timer function is implemented in module 4 as
implemented in other parts that have a PCA that are available on the
market. However, if a watchdog timer is required in the target
application, it is recommended to use the hardware watchdog timer
that is implemented on the 87C576 separately from the PCA (see
Figure 15).
The CCON SFR contains the run control bit for the PCA and the
flags for the PCA timer (CF) and each module (refer to Figure 6). To
run the PCA the CR bit (CCON.6) must be set by software. The
PCA is shut off by clearing this bit. The CF bit (CCON.7) is set when
the PCA counter overflows and an interrupt will be generated if the
ECF bit in the CMOD register is set, The CF bit can only be cleared
by software. Bits 0 through 4 of the CCON register are the flags for
the modules (bit 0 for module 0, bit 1 for module 1, etc.) and are set
by hardware when either a match or a capture occurs. These flags
also can only be cleared by software. The PCA interrupt system
shown in Figure 4.
Each module in the PCA has a special function register associated
with it. These registers are: CCAPM0 for module 0, CCAPM1 for
module 1, etc. (see Figure 7). The registers contain the bits that
control the mode that each module will operate in. The ECCF bit
(CCAPMn.0 where n=0, 1, 2, 3, or 4 depending on the module)
enables the CCF flag in the CCON SFR to generate an interrupt
when a match or compare occurs in the associated module. PWM
(CCAPMn.1) enables the pulse width modulation mode. The TOG
bit (CCAPMn.2) when set causes the CEX output associated with
the module to toggle when there is a match between the PCA
counter and the module’s capture/compare register. The match bit
MAT (CCAPMn.3) when set will cause the CCFn bit in the CCON
register to be set when there is a match between the PCA counter
and the module’s capture/compare register.
The next two bits CAPN (CCAPMn.4) and CAPP (CCAPMn.5)
determine the edge that a capture input will be active on. The CAPN
bit enables the negative edge, and the CAPP bit enables the
positive edge. If both bits are set both edges will be enabled and a
capture will occur for either transition. The last bit in the register
ECOM (CCAPMn.6) when set enables the comparator function.
Figure 8 shows the CCAPMn settings for the various PCA functions.
There are two additional registers associated with each of the PCA
modules. They are CCAPnH and CCAPnL and these are the
registers that store the 16-bit count when a capture occurs or a
compare should occur. When a module is used in the PWM mode
these registers are used to control the duty cycle of the output.
PCA Capture Mode
To use one of the PCA modules in the capture mode either one or
both of the CCAPM bits CAPN and CAPP for that module must be
set. The external CEX input for the module (on port 2) is sampled for
a transition. When a valid transition occurs the PCA hardware loads
the value of the PCA counter registers (CH and CL) into the
module’s capture registers (CCAPnL and CCAPnH). If the CCFn bit
for the module in the CCON SFR and the ECCFn bit in the CCAPMn
SFR are set then an interrupt will be generated. Refer to Figure 9.
16-bit Software Timer Mode
The PCA modules can be used as software timers by setting both
the ECOM and MAT bits in the modules CCAPMn register. The PCA
timer will be compared to the module’s capture registers and when a
match occurs an interrupt will occur if the CCFn (CCON SFR) and
the ECCFn (CCAPMn SFR) bits for the module are both set (see
Figure 10).
High Speed Output Mode
In this mode the CEX output (on port 2) associated with the PCA
module will toggle each time a match occurs between the PCA
counter and the module’s capture registers. To activate this mode
the TOG, MAT, and ECOM bits in the module’s CCAPMn SFR must
be set (see Figure 11).
Pulse Width Modulator Mode
All of the PCA modules can be used as PWM outputs. Figure 12
shows the PWM function. The frequency of the output depends on
the source for the PCA timer. All of the modules will have the same
frequency of output because they all share the PCA timer. The duty
cycle of each module is independently variable using the module’s
capture register CCAPLn. When the value of the PCA CL SFR is
less than the value in the module’s CCAPLn SFR the output will be
low, when it is equal to or greater than the output will be high. When
CL overflows from FF to 00, CCAPLn is reloaded with the value in
CCAPHn. the allows updating the PWM without glitches. The PWM
and ECOM bits in the module’s CCAPMn register must be set to
enable the PWM mode.
PCA Interrupt System
The PCA on most 80C51 family devices provides a single interrupt
source, EC (IE.6). The 8xC576 expands the flexibility of the PCA by
providing additional interrupt sources for each of the five PCA
modules, EC0 (IE1.0) through EC4 (IE1.4), in addition to the original
interrupt source EC (IE.6). Any of these sources can be enabled at
any time. It is possible for both a module source (EC0 through EC4)
to be enabled at the same time that the single source, EC, is
enabled. In this case, a module event will generate an interrupt for
both the module source and the single source, EC.
CIDLCounter Idle control: CIDL = 0 programs the PCA Counter to continue functioning during idle Mode.
CIDL = 1 programs it to be gated off during idle.
WDTEWatchdog Timer Enable: WDTE = 0 disables Watchdog Timer function on PCA Module 4. WDTE = 1 enables it.
–Not implemented, reserved for future use.*
CPS1 PCA Count Pulse Select bit 1.
CPS0PCA Count Pulse Select bit 0.
CPS1CPS0Selected PCA Input**
000Internal clock, f
011Internal clock, f
OSC
OSC
÷ 12
÷ 4
102Timer 0 overflow
113External clock at ECI/P2.7 pin (max. rate = f
OSC
÷ 8)
ECFPCA Enable Counter Overflow interrupt:
ECF = 1 enables CF bit in CCON to generate an interrupt. ECF = 0 disables that function of CF.
NOTE:
* User software should not write 1s to reserved bits. These bits may be used in future 8051 family products to invoke new features. In that case, the reset or inactive value of the
new bit will be 0, and its active value will be 1. The value read from a reserved bit is indeterminate.
= oscillator frequency
** –f
OSC
SU00686A
Figure 5. CMOD: PCA Counter Mode Register
CCON Address = OD8H
Reset Value = 00X0 0000B
Bit Addressable
CFCR–CCF4CCF3CCF2CCF1CCF0
Bit:
76543210
SymbolFunction
CFPCA Counter Overflow flag. Set by hardware when the counter rolls over. CF flags an interrupt if bit ECF in CMOD is
set. CF may be set by either hardware or software but can only be cleared by software.
CRPCA Counter Run control bit. Set by software to turn the PCA counter on. Must be cleared by software to turn the PCA
counter off.
–Not implemented, reserved for future use*.
CCF4PCA Module 4 interrupt flag. Set by hardware when a match or capture occurs. Must be cleared by software.
CCF3PCA Module 3 interrupt flag. Set by hardware when a match or capture occurs. Must be cleared by software.
CCF2PCA Module 2 interrupt flag. Set by hardware when a match or capture occurs. Must be cleared by software.
CCF1PCA Module 1 interrupt flag. Set by hardware when a match or capture occurs. Must be cleared by software.
CCF0PCA Module 0 interrupt flag. Set by hardware when a match or capture occurs. Must be cleared by software.
NOTE:
* User software should not write 1s to reserved bits. These bits may be used in future 8051 family products to invoke new features. In that case, the reset or inactive value of the
new bit will be 0, and its active value will be 1. The value read from a reserved bit is indeterminate.
SymbolFunction
–Not implemented, reserved for future use*.
ECOMnEnable Comparator. ECOMn = 1 enables the comparator function.
CAPPnCapture Positive, CAPPn = 1 enables positive edge capture.
CAPNnCapture Negative, CAPNn = 1 enables negative edge capture.
MATnMatch. When MATn = 1, a match of the PCA counter with this module’s compare/capture register causes the CCFn bit
TOGnToggle. When TOGn = 1, a match of the PCA counter with this module’s compare/capture register causes the CEXn
PWMnPulse Width Modulation Mode. PWMn = 1 enables the CEXn pin to be used as a pulse width modulated output.
ECCFnEnable CCF interrupt. Enables compare/capture flag CCFn in the CCON register to generate an interrupt.
NOTE:
*User software should not write 1s to reserved bits. These bits may be used in future 8051 family products to invoke new features. In that case, the reset or inactive value of the new
bit will be 0, and its active value will be 1. The value read from a reserved bit is indeterminate.
X0000000No operation
XX10000X16-bit capture by a positive-edge trigger on CEXn
XX01000X16-bit capture by a negative trigger on CEXn
XX11000X16-bit capture by a transition on CEXn
X100100X16-bit Software Timer
X100110X16-bit High Speed Output
X10000108-bit PWM
X1001X0XWatchdog Timer
The watchdog timer is not directly loadable by the user. Instead, the
value to be loaded into the main timer is held in an autoload register
or is part of the mask ROM programming. In order to cause the main
timer to be loaded with the appropriate value, a special sequence of
software action must take place. This operation is referred to as
feeding the watchdog timer.
To feed the watchdog, two instructions must be sequentially
executed successfully. No intervening instruction fetches are
allowed, so interrupts should be disabled before feeding the
watchdog. The instructions should move A5H to the WFEED1
register and then 5AH to the WFEED2 register. If WFEED1 is
correctly loaded and WFEED2 is not correctly loaded, then an
immediate underflow will occur.
The watchdog timer subsystem has two modes of operation. Its
principal function is a watchdog timer. In this mode it protects the
system from incorrect code execution by causing a system reset
when the watchdog timer underflows as a result of a failure of
software to feed the timer prior to the timer reaching its terminal
count. If the user does not employ the watchdog function, the
watchdog subsystem can be used as a timer. In this mode, reaching
the terminal count sets a flag. In most other respects, the timer
mode possesses the characteristics of the watchdog mode. This is
done to protect the integrity of the watchdog function.
The watchdog timer subsystem consists of a prescaler and a main
counter. The prescaler has 8 selectable taps of f the final stages and
the output of a selected tap provides the clock to the main counter.
The main counter is the section that is loaded as a result of the
software feeding the watchdog and it is the section that causes the
system reset (watchdog mode) or time-out flag to be set (timer
mode) if allowed to reach its terminal count.
Programming the Watchdog Timer
Both the EPROM and ROM devices have a set of SFRs for holding
the watchdog autoload values and the control bits. The watchdog
time-out flag is present in the PCON register and operates the same
in all versions. In the EPROM device, the watchdog parameters
(autoload value and control) are always taken from the SFRs. In the
ROM device, the watchdog parameters can be mask programmed
or taken from the SFRs. The selection to take the watchdog
parameters from the SFRs or from the mask programmed values is
controlled by EA (external access). When EA is high (internal ROM
access), the watchdog parameters are taken from the mask
programmed values. If the watchdog is mask programmed to the
timer mode, then the autoload values and the pre-scaler taps are
taken from the SFRs. When EA is low (external access), the
watchdog parameters are taken from the SFRs. The user should be
able to leave code in his program which initializes the watchdog
SFRs even though he has migrated to the mask ROM part. This
allows no code changes from EPROM prototyping to ROM coded
production parts. The run control bit only functions in timer mode
and does not require a feed sequence to modify.
Watchdog Detailed Operation
EPROM Device (and ROMless Operation: EA = 0)
In the ROMless operation (ROM part, EA = 0) and in the EPROM
device, the watchdog operates in the following manner (see
Figure 15).
Whether the watchdog is in the watchdog or timer mode, when
external RESET is applied, the following takes place:
•Watchdog mode bit set to watchdog mode.
•Watchdog is running.
•Autoload register set to 00 (min. count).
•Watchdog time-out flag is unchanged.
•Prescaler is cleared.
•Prescaler tap set to the highest divide.
•Autoload takes place.
The watchdog can be fed even though it is in the timer mode.
Note that the operational concept is for the watchdog mode of
operation, when coming out of a hardware reset, the software
should load the autoload registers, set the mode to watchdog, clear
the watchdog timeout flag, and then feed the watchdog (cause an
autoload). The watchdog will now be starting at a known point.
If the watchdog is in the watchdog mode and running and happens
to underflow at the time the external RESET is applied, the
watchdog time-out flag will be set.
When the watchdog is in the watchdog mode and the watchdog
underflows, the following action takes place (see Figure 17):
•Autoload takes place.
•Watchdog time-out flag is set
•Mode bit unchanged.
•Watchdog run bit unchanged.
•Autoload register unchanged.
•Prescaler tap unchanged.
•All other device action same as external reset.
Note that if the watchdog underflows, the program counter will start
from 00H as in the case of an external reset. The watchdog time-out
flag can be examined to determine if the watchdog has caused the
reset condition. The watchdog time-out flag bit must be cleared by
software.
When the watchdog is in the timer mode and the timer software
underflows, the following action takes place:
•Autoload takes place.
•Watchdog time-out flag is set
•Mode bit unchanged.
•Watchdog run bit unchanged.
•Autoload register unchanged.
•Prescaler tap unchanged.
Mask ROM Device (EA = 1)
In the mask ROM device, the watchdog mode bit (WDMOD) is mask
programmed and the bit in the watchdog command register is read
only and reflects the mask programmed selection. If the mask
programmed mode bit selects the timer mode, then the watchdog
run bit (WDRUN) operates as described under EPROM Device. If the
mask programmed bit selects the watchdog mode, then the watchdog
run bit has no effect on the timer operation (see Figure 16).
Watchdog Function
The watchdog consists of a programmable prescaler and the main
timer. The prescaler derives its clock from the on-chip oscillator. The
prescaler consists of a divide by 2 followed by a 13 stage upcounter
with taps from stage 6 through stage 13. This is shown in Figure 18.
The tap selection is programmable. The watchdog main counter is a
down counter clocked (decremented) each time the programmable
prescaler overflows. The watchdog generates an underflow signal
(and is autoloaded) when the watchdog is at count 0 and the prescaler
clock decrements the watchdog. The watchdog is 8 bits long and the
autoload value can range from 0 to FFH. (The autoload value of 0 is
permissible since the prescaler is cleared upon autoload).
This leads to the following user design equations. Definitions :t
OSC
is the oscillator period, N is the selected prescaler tap value, W is
the main counter autoload value, t
time-out value (when the autoload value is 0), t
time-out value (when the autoload value is FFH), t
is the minimum watchdog
MIN
is the maximum
MAX
is the design
D
time-out value.
t
= t
= t
MIN
OSC
MIN
× 2 × 64
× 128 × 256
PRESCALER
× 2
× (W + 1)
MIN
t
MAX
tD = t
(where prescaler = 0, 1, 2, 3, 4, 5, 6, or 7)
Note that the design procedure is anticipated to be as follows. A
t
will be chosen either from equipment or operation
MAX
considerations and will most likely be the next convenient value
higher than t
. (If the watchdog were inadvertently to start from 00H,
D
an underflow would be guaranteed, barring other anomalies, to
occur within t
MAX
).
The software must be written so that a feed operation takes place
seconds from the last feed operation. Some tradeoffs may
every t
D
need to be made. It is not advisable to include feed operations in
minor loops or in subroutines unless the feed operation is a specific
subroutine.
Watchdog Control Register (WDCON)
Address C4H
The following bits of this register are read only in the ROM part
when EA
is high: WDMOD, DPD, OFRE, LVRE, PRE0, PRE1, and
PRE2. That is, the register will reflect the mask programmed values.
In the ROM part with EA
high, these bits are taken from mask coded
bits and are not readable by the program. WDRUN is read only in
the ROM part when EA
is high and WDMOD is in the watchdog
mode. When WDMOD is in the timer mode, WDRUN functions
normally .
The parameters written into WDMOD, DPD, OFRE, LVRE, PRE0,
PRE1, and PRE2 by the program are not applied directly to the
watchdog timer subsystem. The watchdog timer subsystem is
directly controlled by a second register which stores these bits. The
transfer of these bits from the user register to the second control
register takes place when the watchdog is fed. This prevents
random code execution from directly foiling the watchdog function.
This does not affect the operation where these bits are taken from
mask coded values.
The reset values of the WDCON and WDL registers will be such that
the timer resets to the watchdog mode with a timeout period of 2 ×
64 × 128 × t
. The watchdog timer does not generate an interrupt.
OSC
Additional bits in WDCON are used to disable reset generation by
the oscillator fail and low voltage detect circuits. WDCON can be
written by software only by executing a valid watchdog feed
sequence.
WDCON Register Bit Definitions
WDCON.7 PRE2Prescaler Select 2, reset to 1
WDCON.6 PRE1Prescaler Select 1, reset to 1
WDCON.5 PRE0Prescaler Select 0, reset to 1
WDCON.4 LVRELow Voltage Reset Enable, reset to 1
(enabled)
WDCON.3 OFREOscillator Fail Reset Enable, reset to 1
(enabled)
WDCON.2 DPDDisable Power Down
WDCON.1 WDRUNWatchdog Run, reset to 1 (enabled)
WDCON.0 WDMOD Watchdog Mode, reset to 1 (watchdog
mode)
Enhanced UART
The UART operates in all of the usual modes that are described in
the first section of this book for the 80C51. In addition the UART can
perform framing error detect by looking for missing stop bits, and
automatic address recognition. The 8XC576 UART also fully
supports multiprocessor communication as does the standard
80C51 UART.
When used for framing error detect the UART looks for missing stop
bits in the communication. A missing bit will set the FE bit in the
SCON register. The FE bit shares the SCON.7 bit with SM0 and the
function of SCON.7 is determined by PCON.6 (SMOD0) (see Figure
20). If SMOD0 is set then SCON.7 functions as FE. SCON.7
functions as SM0 when SMOD0 is cleared. When used as FE
SCON.7 can only be cleared by software. Refer to Figure 19.
The serial port transmitter data can be inverted by setting the TXI
(AUXR.2) bit. For normal operation, the TXI bit should be cleared.
Automatic Address Recognition
Automatic Address Recognition is a feature which allows the UART
to recognize certain addresses in the serial bit stream by using
hardware to make the comparisons. This feature saves a great deal
of software overhead by eliminating the need for the software to
examine every serial address which passes by the serial port. This
feature is enabled by setting the SM2 bit in SCON. In the 9 bit UART
modes, mode 2 and mode 3, the Receive Interrupt flag (RI) will be
automatically set when the received byte contains either the “Given”
address or the “Broadcast” address. The 9 bit mode requires that
the 9th information bit is a 1 to indicate that the received information
is an address and not data. Automatic address recognition is shown
in Figure 21.
The 8 bit mode is called Mode 1. In this mode the RI flag will be set
if SM2 is enabled and the information received has a valid stop bit
following the 8 address bits and the information is either a Given or
Broadcast address.
Mode 0 is the Shift Register mode and SM2 is ignored.
SymbolFunction
FEFraming Error bit. This bit is set by the receiver when an invalid stop bit is detected. The FE bit is not cleared by valid
frames but should be cleared by software. The SMOD0 bit must be set to enable access to the FE bit.
SM0Serial Port Mode Bit 0, (SMOD0 must = 0 to access bit SM0)
SM1Serial Port Mode Bit 1
SM0SM1ModeDescriptionBaud Rate**
000shift registerf
OSC
/12
0118-bit UARTvariable
1029-bit UARTf
OSC
/64 or f
OSC
/32
1139-bit UARTvariable
SM2Enables the Automatic Address Recognition feature in Modes 2 or 3. If SM2 = 1 then Rl will not be set unless the
received 9th data bit (RB8) is 1, indicating an address, and the received byte is a Given or Broadcast Address.
In Mode 1, if SM2 = 1 then Rl will not be activated unless a valid stop bit was received, and the received byte is a
Given or Broadcast Address. In Mode 0, SM2 should be 0.
RENEnables serial reception. Set by software to enable reception. Clear by software to disable reception.
TB8The 9th data bit that will be transmitted in Modes 2 and 3. Set or clear by software as desired.
RB8In modes 2 and 3, the 9th data bit that was received. In Mode 1, if SM2 = 0, RB8 is the stop bit that was received.
In Mode 0, RB8 is not used.
TlTransmit interrupt flag. Set by hardware at the end of the 8th bit time in Mode 0, or at the beginning of the stop bit in the
other modes, in any serial transmission. Must be cleared by software.
RlReceive interrupt flag. Set by hardware at the end of the 8th bit time in Mode 0, or halfway through the stop bit time in
the other modes, in any serial reception (except see SM2). Must be cleared by software.
Using the Automatic Address Recognition feature allows a master to
selectively communicate with one or more slaves by invoking the
Given slave address or addresses. All of the slaves may be
contacted by using the Broadcast address. Two special Function
Registers are used to define the slave’s address, SADDR, and the
address mask, SADEN. SADEN is used to define which bits in the
SADDR are to be used and which bits are “don’t care”. The SADEN
mask can be logically ANDed with the SADDR to create the “Given”
address which the master will use for addressing each of the slaves.
Use of the Given address allows multiple slaves to be recognized
while excluding others. The following examples will help to show the
versatility of this scheme:
Slave 0SADDR = 1100 0000
SADEN = 1111 1101
Given=1100 00X0
Slave 1SADDR = 1100 0000
SADEN = 1111 1110
Given=1100 000X
In the above example SADDR is the same and the SADEN data is
used to differentiate between the two slaves. Slave 0 requires a 0 in
bit 0 and it ignores bit 1. Slave 1 requires a 0 in bit 1 and bit 0 is
ignored. A unique address for Slave 0 would be 1100 0010 since
slave 1 requires a 0 in bit 1. A unique address for slave 1 would be
1100 0001 since a 1 in bit 0 will exclude slave 0. Both slaves can be
selected at the same time by an address which has bit 0 = 0 (for
slave 0) and bit 1 = 0 (for slave 1). Thus, both could be addressed
with 1100 0000.
In a more complex system the following could be used to select
slaves 1 and 2 while excluding slave 0:
Slave 0SADDR = 1100 0000
SADEN = 1111 1001
Given=1100 0XX0
DATA BYTE
SET FE BIT IF STOP BIT IS 0 (FRAMING ERROR)
SM0 TO UART MODE CONTROL
Slave 1SADDR = 1110 0000
SADEN = 1111 1010
Given=1110 0X0X
Slave 2SADDR = 1110 0000
SADEN = 1111 1100
Given=1110 00XX
In the above example the differentiation among the 3 slaves is in the
lower 3 address bits. Slave 0 requires that bit 0 = 0 and it can be
uniquely addressed by 1110 0110. Slave 1 requires that bit 1 = 0 and
it can be uniquely addressed by 1110 and 0101. Slave 2 requires
that bit 2 = 0 and its unique address is 1110 0011. To select Slaves 0
and 1 and exclude Slave 2 use address 1110 0100, since it is
necessary t make bit 2 = 1 to exclude slave 2.
The Broadcast Address for each slave is created by taking the
logical OR of SADDR and SADEN. Zeros in this result are treated
as don’t-cares. In most cases, interpreting the don’t-cares as ones,
the broadcast address will be FF hexadecimal.
Upon reset SADDR (SFR address 0A9H) and SADEN (SFR
address 0B9H) are loaded with 0s. This produces a given address
of all “don’t cares” as well as a Broadcast address of all “don’t
cares”. this effectively disables the Automatic Addressing mode and
allows the microcontroller to use standard 80C51 type UART drivers
which do not make use of this feature.
Analog Comparators
Four analog comparators are provided on chip. Three comparators
have a common negative reference CMPR- and independent
positive inputs CMP1+, CMP2+, CMP3+ on port 3. The fourth
comparator has independent positive and negative inputs CMP0+
and CMP0- on port 2. The CMP register contains an output and
enable bit for each comparator. Figure 22 shows the connection of
the comparators.
When the comparator is enabled, the port should be configured by
the user as high impedance.
IN UART MODE 2 OR MODE 3 AND SM2 = 1:
INTERRUPT IF REN=1, RB8=1 AND “RECEIVED ADDRESS” = “PROGRAMMED ADDRESS”
– WHEN OWN ADDRESS RECEIVED, CLEAR SM2 TO RECEIVE DATA BYTES
– WHEN ALL DATA BYTES HAVE BEEN RECEIVED: SET SM2 TO WAIT FOR NEXT ADDRESS.
All comparators are disabled automatically in power down mode. In
idle mode unused comparators should be disabled by software to
save power. A comparator can generate an interrupt that will
terminate idle mode when used to drive a PCA capture input.
The CMPE register contains bits to enable each comparator to drive
external output pins or internal PCA capture inputs. When the
comparator is configured for external output, the user must also
configure the output port in one of its output modes. The comparator
output is wire-ORed with the corresponding port SFR bit, so the
SFR bit must also be set by software to enable the output.
CMPE Register Bit Definitions
CMPE.7 enables comparator 3 to drive CEX3
CMPE.6 enables comparator 2 to drive CEX2
CMPE.5 enables comparator 1 to drive CEX1
CMPE.4 enables comparator 0 to drive CEX0
CMPE.3 enables comparator 3 output on P2.3
CMPE.2 enables comparator 2 output on P2.2
CMPE.1 enables comparator 1 output on P2.1
CMPE.0 enables comparator 0 output on P2.0
When 1s are written to CMPE bits 7-4, the comparator outputs will
drive the corresponding capture input. When 1s are written to CMPE
bits 3-0 the comparator output will also drive the corresponding
port 2 pin. If the comparator’s enabled to drive the capture input but
not the port pin, then the port pin can be used for general purpose
I/O. When a comparator output is enabled, the user will need to
configure the port for one of its output modes.
There are two special function registers associated with the
comparators. They are CMP which contains the comparator enables
1
0
11 X
COMPARATOR
and a bit that can be read by software to determine the state of each
comparator’s output, and CMPE which controls whether the output
from each comparator drives the associated output pin or a capture
input associated with one of the PCA modules.
The CMP registers bits 0–3 can be read by software to determine
the state of the output of each comparator. To do this the associated
comparator must be enabled but the output in port 2 can be
disabled. This allows easy polling of the comparator output value
without the need to use up a port pin.
The CMPE register allows the comparator to drive the associated
PCA module capture input, so that on compare a capture can be
generated in the PCA. Bits 0–3 of this register enable the
comparator output to drive the associated port 2 output circuitry.
Used as a comparator output, the output mode for this port must be
configured for output by the user and the port output SFR bit latch
must be set. If the comparator is not enabled to drive the port 2
circuitry, the associated port 2 pin can be used for other I/O. This
includes when a comparator is enabled to drive the capture input to
a PCA module.
Reduced EMI Mode
There are two bits in the AUXR register that can be set to reduce
the internal clock drive and disable the ALE output. AO (AUXR.0)
when set turns off the ALE output. LO (AUXR.1) when set reduces
the drive of the internal clock circuitry. Both bits are cleared on
Reset. With LO set the 8XC576 will still operate at 12MHz, and will
have reduced EMI in the range above 100MHz.
8XC576 Reduced EMI Mode
AUXR (0X8E)
––––––––RSTTXILOAO
AO: Turns off ALE output.
LO:Reduces drive of internal clock circuitry. 8XC576 spec’d to
12MHz when LO set.
TXI: Inverts TxD when set.
RST: Software reset.
Internal resets (see Figure 1) generated by the power on, low
voltage, software (SRST), watchdog and oscillator fail detect circuits
are self timed to guarantee proper initialization of the 8XC576. Reset
will be held approximately 24 oscillator periods after normal
conditions are detected by all enabled detect circuits. Internal resets
do not drive RST
but will cause missing pulses on ALE.
Analog to Digital Converter
The 8XC576 has a 6 channel10 bit successive approximation A/D
converter with separate result registers for each channel. Operating
modes are provided for single or multiple channel conversions and
multiple conversions of a single channel without software
intervention. The ADC can also be operated in 8 bit mode with faster
conversion times. Registers ADC0H–ADC5H contain the MSBs and
ADC0L–ADC5L bits 6 and 7 contain the 2 LSBs of the conversion
result for each channel. The ADCS register determines which
channels are converted in multiple channel modes. If the ADCS bit
corresponding to a channel is set, that channel is converted, else if
the bit is clear the channel is skipped.
A/D Channel Select (ADCS) Register (Reset Value = 00H)
ADCS5 ADCS.5 – A/D channel 5 select bit
ADCS4 ADCS.4 – A/D channel 4 select bit
ADCS3 ADCS.3 – A/D channel 3 select bit
ADCS2 ADCS.2 – A/D channel 2 select bit
ADCS1 ADCS.1 – A/D channel 1 select bit
ADCS0 ADCS.0 – A/D channel 0 select bit
AMOD1 ADCON.4 –A/D mode select bit 1
AMOD0 ADCON.3 –A/D mode select bit 0
ASCA2 ADCON.2 – A/D channel address bit 2
ASCA1 ADCON.1 – A/D channel address bit 1
ASCA0 ADCON.0 – A/D channel address bit 0
AMOD1 AMOD0
00Single Conversion Mode – channel selected by bits
ASCA2..0 in ADCON is converted, the result placed
in the associated result registers; ADF is set on
completion.
01Mulitple Channel Scan Mode – all channels selected
in the ADCS register are converted starting with the
channel addressed by bits ASCA2..0 in ADON,
conversion results are placed in the corres ponding
result r egisters for each channel. ADF is set when
the last conversion is completed.
10Single Channel Multiple Conversion – channel
selected by bits ASCA2..0 in ADCON is converted 6
times and all 6 results are saved in ADC0H–ADC5H
and ADC0L–ADC5L, ADF is set when all
conversions are complete.
11Multiple Channel Continuous – same as Multiple
Channel Scan mode but repeats as long as
ADCE=1, ADF is set when all channels have been
converted once. Hardware will prevent the ADC
from wiriting to the result registers while they are
being read.
Flag ADF is set upon completion of a conversion, if the ADC
interrupt enable bit EAD is set, the program will vector to the ADC
interrupt location when ADF is set.
The pulse width modulator system of the 8XC576 contains two
PWM output channels. These channels generate pulses of
programmable length and interval. The prescaler and counter are
common to both PWM channels.
The prescaler is loaded with the complement of the PWMP register
during counter overflow, internal reset, and when EN/CLR# = 0. The
repetition frequency is defined by the 8-bit prescaler which clocks
the counter. The prescaler division factor = PWMP+1. Reading the
PWMP gives the current reload value. The actual count of the
prescaler cannot be read.
The 8-bit counter counts from 0–254 inclusive. The value of the
counter is compared to the contents of the compare registers PWM0
and PWM1. When the counter compares to the compare register,
that register’s output goes LOW. When the counter reaches zero the
output is set HIGH unless PWMn = 00H. The duty cycle of each
channel is defined by the contents of its compare register and is in
the range of 0 to 1, programmed in increments of 1/255.
The outputs can be set continuously low by loading PWMn with 00H
and continuously high by loading with FFH.
The PWM counter is enabled with bit EN/CLR# of the PWCON
register. Output to the port pin is separately enabled by setting the
PWEn bits in the PWCON register. The counter remains active if
EN/CLR# is set even if both PWEn bits are reset. The PWM function
is reset by a chip reset. In idle mode, the PWM will function as
configured by PWCON. In power-down the state of the PWM will
freeze when the internal clock stops. If the chip is awakened with an
external interrupt, the PWM will continue to function from its state
when power-down was entered. The EN/CLR# bit of PWCON will
clear the counter and load the contents of the PWMP into the
prescaler when set LOW. If PWEn is set at this time the output will
go HIGH unless PWMn is 00H.
The repetition frequency is given by:
f
f
PWM
(510 (1 PWMP))
An oscillator frequency of 12MHz results in a repetition range of
92Hz to 23.5KHz.
The high/low ratio of PWMn is PWMn/(255–PWMn) for PWMn
values except 255. A PWMn value of 255 results in a high PWMn
output.
In order for the PWMn output to be used as a standard I/O pin,
PWMn must be reset. The PWM counter can still be used as an
internal timer by setting EN/CLR#.
OSC
Pulse Width Modulator Control Register Bit Definitions
(PWCON = BCH)
PWMFPWCON.3Counter overflow flag,
EN/CLR
PWE1PWCON.1PWM1 output to P2.7 pin enable
PWE0PWCON.0PWM0 output to P2.6 pin enable
Auxiliary Register Bit Definitions (AUXR =8EH)
RST AUXR.3 Software reset bit
TXI AUXR.2 SIO TxD invert
LOAUXR.1 Low Speed, reduces internal clock drive
AO AUXR.0 ALE Off, when set turns off ALE
The PCA on most 80C51 family devices provides a single interrupt
source, EC (IE.6). The 8xC576 expands the flexibility of the PCA by
providing additional interrupt sources for each of the five PCA
modules, EC0 (IE1.0) through EC4 (IE1.4), in addition to the original
interrupt source EC (IE.6). Any of these sources can be enabled at
any time. It is possible for both a module source (EC0 through EC4)
to be enabled at the same time that the single source, EC, is
enabled. In this case, a module event will generate an interrupt for
both the module source and the single source, EC.
SMOD1PCON.7double baud rate bit
SMOD0PCON.6SCON.7 access control
OSFPCON.5oscillator fail flag
POFPCON.4power off flag
LVFPCON.3low voltage flag
WDTOFPCON.2watchdog timeout flag
PDPCON.1power down mode bit
IDLPCON.0idle mode bit
UNIVERSAL PERIPHERAL INTERF ACE
UPI mode allows the 8XC576 to function as a slave processor
connected to a host CPU bus via port 0. The interface consists of
port 0 input and output buffer registers and the UPI control/status
register (UCS). UPI mode is enabled by setting the UPI enable bit
(UE) in the UCS. When operating in UPI mode, port 0 pins should
be programmed to High-Z (P0M1=1 and P0M2=0) by user firmware.
Access to port 0 is controlled by inputs WR
and WR are the external read and write strobes controlled by the
host CPU. CS
is the chip select input, normally a decoded address
, RD, CS, and A0. RD
8-BIT
UP
COUNTER
PWM0
PWM1
from the host CPU bus, which qualifies RD
have no effect when CS
8-BIT
DETECT
8-BIT
DETECT
OUTPUT
BUFFER
OUTPUT
BUFFER
P2.6
P2.7
SU00256A
and WR (these pins
=1). The A0 pin is an address input from the
host CPU which selects either the port 0 output buffer or the UCS
register to be output during a read operation. During a write
operation, the value of the A0 pin is latched in the AF flag in the
UCS register. The following is a summary of the UPI data control
inputs:
CS
RDWR A0
0010read port 0 output buffer,
clear OBF/set OBE
0011read UPI control/ status register
0100write data to input buffer set IBF, clear AF
0101write command to input buffer set IBF, AF
1xxxdisable input/output
UPI Control Status Register (UCS, Reset value = 00H)
UCS.7ST7User defined status bit
UCS.6ST6User defined status bit
UCS.5ST5User defined status bit
UCS.4ST4User defined status bit
UCS.3UEUPI Enable bit – if UE=1, UPI is enabled
(read only AF, IBF, and OBE/OBF), if UE=0,
UPI is disabled and port 0 functions
normally .
UCS.2AFAddress Flag – contains status of the A0
(address) pin during the last write. If A0=0,
the input buffer should be interpreted as
data by the 8XC576 software, if A0=1, the
input buffer should be interpreted as a
command.
USC.1IBFInput Buffer Full flag – set by hardware on
trailing (rising) edge of WR
when CS=0,
cleared by hardware when port 0 SFR is
read (by the 8XC576 software).
USC.0OBE/OBFOutput Buffer Full flag – set by hardware
during writes (by 8XC576 software) to the
port 0 SFR, set/cleared by hardware on the
trailing (rising) edge of RD
when CS=0 and
A0=0.
NOTE: This bit is defined as OBE (1=empty) when read by the
MCU, and, as OBF (—full) when read by the external host.
The IBF and OBF flag bits reflect the status of the input/output
buffers. The host CPU writes to the 8XC576 by driving data on the
external bus connected to port 0 and strobing the WR
=0. The WR strobe latches port 0 data in the input buffer and
CS
sets the IBF flag on the trailing (rising) edge. When the 8XC576
reads from port 0 in UPI mode, it reads from the input buffer and
clears the IBF. When the 8XC576 writes to port 0 in UPI mode, it
writes to the output buffer which sets the OBF and clears the OBE
flag. The host CPU can read the output buffer or the UCS register
enabling the port 0 drivers, the OBF flag is cleared and the OBE flag
is set when the output buffer is read.
When the UPI is enabled, the AF, IBF, and OBE/OBF flags are
read-only , and thus can only be modified by specific hardware
events.
The UPI runs in idle mode. It can interrupt the part out of Idle mode
for all UPI write and data read operations. It will not interrupt out of
idle mode for a UCS register read operation.
OSCILLA T OR CHARACTERISTICS
XTAL1 and XTAL2 are the input and output, respectively, of an
inverting amplifier . The pins can be configured for use as an on-chip
oscillator, as shown in the Logic Symbol, page 4.
To drive the device from an external clock source, XTAL1 should be
driven while XTAL2 is left unconnected. There are no requirements
on the duty cycle of the external clock signal, because the input to
the internal clock circuitry is through a divide-by-two flip-flop.
However, minimum and maximum high and low times specified in
the data sheet must be observed.
IDLE MODE
In idle mode, the CPU puts itself to sleep while all of the on-chip
peripherals stay active. The instruction to invoke the idle mode is the
last instruction executed in the normal operating mode before the
idle mode is activated. The CPU contents, the on-chip RAM, and all
of the special function registers remain intact during this mode. The
idle mode can be terminated either by any enabled interrupt (at
which time the process is picked up at the interrupt service routine
and continued), or by a hardware reset which starts the processor in
the same manner as a power-on reset. Also see UPI section.
POWER-DOWN MODE
In the power-down mode, the oscillator is stopped and the
instruction to invoke power-down is the last instruction executed.
Only the contents of the on-chip RAM are preserved. The control
bits for the reduced power modes are in the special function register
PCON. Power-down mode can be terminated with either a hardware
reset or external interrupt. With an external interrupt INT0
must be enabled and configured as level sensitive. Holding the pin
low restarts to oscillator and bringing the pin back high completes
the exit.
Power-down mode can be disabled by the DPD bit in the WDCON
register. Reset and waking up from power-down will also enable the
DPD bit, therefore, the DPD bit must be cleared again before the
power-down mode.
or INT1
DESIGN CONSIDERATIONS
At power-on, the voltage on VCC must come up with RST low for a
proper start-up.
Table 2 shows the state of I/O ports during low current operating
modes.
Table 2. External Pin Status During Idle and Power-Down Modes
When submitting ROM code for the 83C576, the following must be specified:
1. 8k byte user ROM data
2. 32 byte ROM encryption key
3. ROM security bits
4. The watchdog timer parameters. (See Watchdog Timer Specifications for definition of WDL and WDCON bits.)
83C576/87C576
ADDRESS
0000H to 1FFFHDATA7:0User ROM Data
2000H to 201FHKEY7:0ROM Encryption Key
2020HSEC
2030HWDCON
2031HWDL7:0Watchdog autoload value
Security Bit 1: When programmed, this bit has two effects on masked ROM parts:
1. External MOVC is disabled, and
2. EA is latched on Reset.
Security Bit 2: When programmed, this bit inhibits Verify User ROM.
If the ROM code file does not include the options, the following information must be included with the ROM code.
For each of the following, check the appropriate box and send to Philips along with the code:
Security Bit #1:
Security Bit #2:
Encryption:
Watchdog/T imer Modes:
Operating temperature under bias–55 to +125°C
Storage temperature range–65 to +150°C
Voltage on EA/VPP pin to V
Voltage on any other pin to V
Maximum IOL per I/O pin15mA
Power dissipation (based on package heat transfer limitations, not device power consumption)1.5W
NOTES:
1. Stresses above those listed under Absolute Maximum Ratings may cause permanent damage to the device. This is a stress rating only and
functional operation of the device at these or any conditions other than those described in the AC and DC Electrical Characteristics section
of this specification is not implied.
2. This product includes circuitry specifically designed for the protection of its internal devices from the damaging effects of excessive static
charge. Nonetheless, it is suggested that conventional precautions be taken to avoid applying greater than the rated maxima.
3. Parameters are valid over operating temperature range unless otherwise specified. All voltages are with respect to V
noted.
= 0°C to +70°C, –40°C to +85°C, and –40°C to +125°C; VCC = 5V ±10%, VSS = 0V
amb
TESTLIMITS
SYMBOLPARAMETERCONDITIONSMINTYP
V
IL
V
IL1
V
IL2
V
IH
V
IH1
HYSHysteresis voltage (Port 1)200mV
V
OL
V
OL1
V
OH
V
OH1
V
OH2
V
IO
V
CR
I
IL
I
IH
I
L2
I
LA
I
CC
R
RST
V
LOW
C
IO
NOTES:
1. Typical ratings are not guaranteed. The values listed are at room temperature, 5V.
2. Capacitive loading on ports 0 and 2 may cause spurious noise to be superimposed on the V
to external bus capacitance discharging into the port 0 and port 2 pins when these pins make 1-to-0 transitions during bus operations. In the
worst cases (capacitive loading > 100pF), the noise pulse on the ALE pin may exceed 0.8V . In such cases, it may be desirable to qualify
ALE with a Schmitt Trigger, or use an address latch with a Schmitt Trigger STROBE input. I
single output sinks more than 5mA and no more than two outputs exceed the test conditions.
3. Capacitive loading on ports 0 and 2 may cause the V
address bits are stabilizing.
4. Pins of ports 1, 2 and 3 source a transition current when they are being externally driven from 1 to 0. The transition current reaches its
maximum value when V
5. I
CC
6. See Figures 34 through 37 for I
7. Load capacitance for port 0, ALE, and PSEN
8. Under steady state (non-transient) conditions, I
If I
test conditions.
9. 20pF MAX for CERDIP package; 15pF MAX for all other packages.
Input low voltage (except Port 1, EA)–0.50.2VCC–0.1V
Input low voltage (EA)–0.50.2VCC–0.45V
Input low voltage (Port 1)–0.50.3V
Input high voltage (except Port 1, XTAL1, RST)IIH < 2mA0.2VCC+0.9VCC+0.5V
Input high voltage (XTAL1, RST, Port 1)IIH < 2mA0.7V
CC
Output voltage low (Ports 1, 2, 3)IOL = 1.6mA0.45V
Output voltage low (Ports 0, ALE, PSEN
)
IOL = 3.2mA0.45V
Output voltage high (Ports 1, 2, 3 in push-pull mode)IOH = –1.6mAVCC–1.0V
Output voltage high (Port 0, ALE, PSEN)IOH = –3.2mAVCC–0.7V
Output voltage high in weak pullup mode (Port 0, 2, 3)IOH = –10µAVCC–1.0V
Offset voltage comparator inputs–35+35mV
Common mode range comparator inputs0V
Logical 0 input current (Ports 0, 2, 3) (weak pull-up)VIN = 0.45V–250µA
Input pulldown current (Port 0, Port2 in open drain mode)0.45 < VIN < V
Input leakage current (EA, P0. 2. 3 High-Z)0.45 < VIN < V
Input leakage current comparator/ADC inputs0 < VIN < V
Power supply current:
(1) Example of an actual transfer curve.
(2) The ideal transfer curve.
(3) Differential non-linearity (DL
(4) Integral non-linearity (IL
(5) Center of a step of the actual transfer curve.
= 0°C to +70°C, –40°C to +85°C, and –40°C to +125°C; VCC = 5V ±10%, VSS = 0V
amb
SYMBOLFIGUREPARAMETERMINMAXUNIT
1/t
CLCL
25Oscillator frequency: Speed Version
8XC576E616MHz
OSCFOscillator fail detect frequency0.65.5MHz
TRComparator response time10µs
t
LHLL
t
AVLL
t
LLAX
t
LLIV
t
LLPL
t
PLPH
t
PLIV
t
PXIX
t
PXIZ
t
AVIV
t
PLAZ
25ALE pulse width2t
25Address valid to ALE lowt
25Address hold after ALE lowt
25ALE low to valid instruction in4t
25ALE low to PSEN lowt
25PSEN pulse width3t
25PSEN low to valid instruction in3t
25Input instruction hold after PSEN0ns
25Input instruction float after PSENt
25Address to valid instruction in5t
25PSEN low to address float10ns
Data Memory
t
RLRH
t
WLWH
t
RLDV
t
RHDX
t
RHDZ
t
LLDV
t
AVDV
t
LLWL
t
AVWL
t
QVWX
t
WHQX
t
RLAZ
t
WHLH
26, 27RD pulse width6t
26, 27WR pulse width6t
26, 27RD low to valid data in5t
26, 27Data hold after RD0ns
26, 27Data float after RD2t
26, 27ALE low to valid data in8t
26, 27Address to valid data in9t
26, 27ALE low to RD or WR low3t
26, 27Address valid to WR low or RD low4t
26, 27Data valid to WR transitiont
26, 27Data hold after WRt
26, 27RD low to address float0ns
26, 27RD or WR high to ALE hight
28Serial port clock cycle time12t
28Output data setup to clock rising edge10t
28Output data hold after clock rising edge2t
28Input data hold after clock rising edge0ns
28Clock rising edge to input data valid10t
NOTES:
1. Parameters are valid over operating temperature range unless otherwise specified.
2. Load capacitance for port 0, ALE, and PSEN
= 100pF, load capacitance for all other outputs = 80pF.
3. Interfacing the 83C576/87C576 to devices with float times up to 45ns is permitted. This limited bus contention will not cause damage to Port
0 drivers.
= 0°C to +70°C, –40°C to +85°C, and –40°C to +125°C; VCC = 5V ±10%, VSS = 0V
amb
SYMBOL
t
AR
t
RA
t
RR
t
AD
t
RD
t
DF
t
AW
t
WA
t
WW
t
DW
t
WD
CS, A setup to RD0ns
CS, A hold after RD35ns
RD pulse width35ns
CS, A to data out delay45ns
RD to data out delay35ns
RD to data float delay (guaranteed by design)30ns
CS, A setup to WR0ns
CS, A hold after WR15ns
WR pulse width45ns
Data setup to WR5ns
Data hold after WR25ns
PARAMETERMINMAXUNIT
83C576/87C576
EXPLANATION OF THE AC SYMBOLS
Each timing symbol has five characters. The first character is always
‘t’ (= time). The other characters, depending on their positions,
indicate the name of a signal or the logical status of that signal.
The designations are:
A – Address
C – Clock
D – Input data
H – Logic level high
I – Instruction (program memory contents)
L – Logic level low, or ALE
t
ALE
PSEN
PORT 0
LHLL
t
t
AVLL
LLPL
t
LLAX
A0–A7A0–A7
t
AVIV
t
LLIV
t
PLIV
t
PLPH
t
PLAZ
t
PXIX
INSTR IN
P – PSEN
Q – Output data
signal
R–RD
t – Time
V – Valid
W– WR
signal
X – No longer a valid logic level
Z – Float
Examples: t
NOTE:
AC inputs during testing are driven at VCC –0.5 for a logic ‘1’ and 0.45V for a logic ‘0’.
Timing measurements are made at VIH min for a logic ‘1’ and VIL max for a logic ‘0’.
0.2V
0.2V
CC
CC
+0.9
–0.1
SU00010
Figure 30. AC Testing Input/Output
V
+0.1V
LOAD
V
LOAD
LOAD
–0.1V
V
NOTE:
For timing purposes, a port is no longer floating when a 100mV change from load voltage occurs,
and begins to float when a 100mV change from the loaded V
To put the 87C576 in the parallel EPROM programming mode,
PSEN must be held high during power up, then driven low with reset
active. The 87C576 is programmed by using a modified Quick-Pulse
Programming algorithm.
The 87C576 contains two signature bytes that can be read and used
by an EPROM programming system to identify the device. The
signature bytes identify the device as an 87C576 manufactured by
Philips.
Table 3 shows the logic levels for reading the signature byte, and for
programming the program memory, the encryption table, and the
security bits. The circuit configuration and waveforms for quick-pulse
programming are shown in Figures 38 and 39. Figure 40 shows the
circuit configuration for normal program memory verification.
On-Board Programming (OBP)
The On-Board Programming facility consists of a series of internal
hardware resources coupled with internal firmware to facilitate
remote programming of the 87C576 through the serial port.
The OBP function is invoked by having the EA
voltage level at the time that the part exits reset. The OBP function
only requires that the TxD, RxD, V
connected to an external circuit in order to use this feature.
The OBP feature provides for the use of a wide range of baud rates
independent of the oscillator frequency used. It is also adaptable to
a wide range of oscillator frequencies. The OBP facility provides for
both auto-echo and no-echo of received characters. The OBP
feature requires that an initial character, an uppercase U, be sent to
the 87C576 to establish the baud rate to be used.
Once baud rate initialization has been performed, the OBP facility
only accepts Intel Hex records. The record-type field of these hex
records are used to indicate either commands or data for the OBP
facility. The maximum number of data bytes in a record is limited to
16 (decimal). These commands/data are summarized below:
Record
Type
00Data record, programs the part with data indicated in
01EOF record, no operation
02Specify timing parameters
The setup for microcontroller quick-pulse programming is shown in
Figure 38. Note that the 87C576 is running with a 4 to 6MHz
oscillator. The reason the oscillator needs to be running is that the
device is executing internal address and program data transfers.
The address of the EPROM location to be programmed is applied to
ports 3 and 2, as shown in Figure 38. The code byte to be
programmed into that location is applied to port 0. RST, PSEN
pins of ports 2 and 1 specified in Table 3 are held at the ‘Program
Code Data’ levels indicated in Table 3. The ALE/PROG
low 25 times as shown in Figure 39.
To program the encryption table, repeat the 25 pulse programming
sequence for addresses 0 through 1FH, using the ‘Pgm Encryption
Table’ levels. Do not forget that after the encryption table is
programmed, verification cycles will produce only encrypted data.
To program the security bits, repeat the 25 pulse programming
sequence using the ‘Pgm Security Bit’ levels. After one security bit is
programmed, further programming of the code memory and
encryption table is disabled. However, the other security bit can still
be programmed.
Note that the EA
maximum specified V
glitch above that voltage can cause permanent damage to the
device. The V
and overshoot.
/VPP pin must not be allowed to go above the
level for any amount of time. Even a narrow
PP
source should be well regulated and free of glitches
PP
and
is pulsed
Program V erification
If security bit 2 has not been programmed, the on-chip program
memory can be read out for program verification. The address of the
program memory locations to be read is applied to ports 3 and 2 as
shown in Figure 40. The other pins are held at the ‘Verify Code Data’
levels indicated in Table 3. The contents of the address location will
be emitted on port 0. External pull-ups are required on port 0 for this
operation.
If the encryption table has been programmed, the data presented at
port 0 will be the exclusive NOR of the program byte with one of the
encryption bytes. The user will have to know the encryption table
contents in order to correctly decode the verification data. The
encryption table itself cannot be read out.
Reading the Signature Bytes
The signature bytes are read by the same procedure as a normal
verification of locations 030H and 031H, except that P1.0 and P1.1
need to be pulled to a logic low. The values are:
(030H) = 15H indicates manufactured by Philips
(B6H) = B6H indicates 87C576
Program/Verify Algorithms
Any algorithm in agreement with the conditions listed in Table 3, and
which satisfies the timing specifications, is suitable.
EPROM PROGRAMMING AND VERIFICATION CHARACTERISTICS
T
= 21°C to +27°C, VCC = 5V±10%, VSS = 0V (See Figure 41)
amb
SYMBOL
V
PP
I
PP
1/t
CLCL
t
AVGL
t
GHAX
t
DVGL
t
GHDX
t
EHSH
t
SHGL
t
GHSL
t
GLGH
t
AVQV
t
ELQZ
t
EHQZ
t
GHGL
Programming supply voltage12.513.0V
Programming supply current50mA
Oscillator frequency412MHz
Address setup to PROG low48t
Address hold after PROG48t
Data setup to PROG low48t
Data hold after PROG48t
P2.7 (ENABLE) high to V
VPP setup to PROG low10µs
VPP hold after PROG10µs
PROG width4060µs
Address to data valid48t
ENABLE low to data valid48t
Data float after ENABLE048t
PROG high to PROG low10µs
This data sheet contains the design target or goal specifications for product development.
Specification may change in any manner without notice.
This data sheet contains preliminary data, and supplementary data will be published at a later date.
Philips Semiconductors reserves the right to make chages at any time without notice in order to
improve design and supply the best possible product.
This data sheet contains final specifications. Philips Semiconductors reserves the right to make
changes at any time without notice in order to improve design and supply the best possible product.
[1]
83C576/87C576
[1] Please consult the most recently issued datasheet before initiating or completing a design.
Definitions
Short-form specification — The data in a short-form specification is extracted from a full data sheet with the same type number and title. For
detailed information see the relevant data sheet or data handbook.
Limiting values definition — Limiting values given are in accordance with the Absolute Maximum Rating System (IEC 134). Stress above one
or more of the limiting values may cause permanent damage to the device. These are stress ratings only and operation of the device at these or
at any other conditions above those given in the Characteristics sections of the specification is not implied. Exposure to limiting values for extended
periods may affect device reliability.
Application information — Applications that are described herein for any of these products are for illustrative purposes only. Philips
Semiconductors make no representation or warranty that such applications will be suitable for the specified use without further testing or
modification.
Disclaimers
Life support — These products are not designed for use in life support appliances, devices or systems where malfunction of these products can
reasonably be expected to result in personal injury . Philips Semiconductors customers using or selling these products for use in such applications
do so at their own risk and agree to fully indemnify Philips Semiconductors for any damages resulting from such application.
Right to make changes — Philips Semiconductors reserves the right to make changes, without notice, in the products, including circuits, standard
cells, and/or software, described or contained herein in order to improve design and/or performance. Philips Semiconductors assumes no
responsibility or liability for the use of any of these products, conveys no license or title under any patent, copyright, or mask work right to these
products, and makes no representations or warranties that these products are free from patent, copyright, or mask work right infringement, unless
otherwise specified.
Philips Semiconductors
811 East Arques Avenue
P.O. Box 3409
Sunnyvale, California 94088–3409
Telephone 800-234-7381
Copyright Philips Electronics North America Corporation 1998
All rights reserved. Printed in U.S.A.
Date of release: 06-98
Document order number:9397 750 04024
1998 Jun 04
46
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.