ETC D80530

8-bit Control Unit
8-bit Arithmetic-Logic Unit
32-bit Input/Output ports
D80530
8-bit Microcontroller
Core
Three 16-bit Timer/Counters
Two Serial Peripheral Interfaces
in full duplex mode
Three priority/Fourteen source
Interrupt Controller
27-bit Programmable Watchdog
Timer
The D80530 core implements a fast, single-chip, 8-bit microcontroller that executes all
ASM51 instructions. It has the same instruction set as the 80C31, but its Dallas architecture executes operations an average of 2.5 times faster.
Internal Data Memory interface
can address up to 256 bytes of
Read/Write Data Memory space
The D80530 provides software and hardware interrupts, a serial communications interface, extra timer features, and power management.
External Memory Interface
The microcode-free, strictly synchronous design was developed for reuse in ASICs and
FPGAs. Scan insertion is straightforward.
o Can address up to 64 K bytes
of External Program Memory
space and up to 64 K bytes of
External Data Memory space
o Can address up to 64 K bytes
Applications
The D80530 can be utilized for a variety of applications including:
• Embedded microcontroller systems
• Data computation and transfer
of External Data Memory
Space
o Dual Data Pointer
o Variable length MOVX to ac-
cess fast/slow
RAM/peripherals
• Communication systems
Services up to 67 External Special Function Registers
• Professional audio and vide
Power Management Features
Symbol
o EMI reduction mode disables
ALE
o Early-warning power-fail in-
terrupt
reset
clk
clkcpui
clkperi
clkcpuo
clkpero
rtcx
rtcxi
rtcxo
ale
psen
ea
pfi
sfrdatai
sfrdatao
sfraddr
sfrwe
sfroe
D80530
p0i
p1i
p2i
p3i
Real Time Clock
p0o
p1o
p2o
p3o
romdatai
romaddr
romoe
ramdatai
ramdatao
ramaddr
ramwe
ramoe
May 2004
Functional Description
The D80530 core is partitioned into modules as shown
above and described below.
Serial 0 and 1
• RAM and SFR control unit
The D80530 core provides two fully independent serial
ports for simultaneous communication over two channels.
The serials can operate in identical or different modes and
communication speeds. Each serial port is capable of both
synchronous and asynchronous modes. In synchronous
mode, the microcontroller generates the clock and operates
in a half-duplex mode. In asynchronous mode, full duplex
operation is available. Receive data is buffered in a holding
register. This allows the serial to receive an incoming word
before software has read the previous value.
The D80530 engine allows to fetch instructions from program memory and to execute using RAM or SFR.
Each port provides four operating modes. These offer different communication protocols and baud rates:
The Arithmetic-logic unit serves:
• Synchronous mode, fixed baud rate
• 8 bit arithmetic operations
• 8-bit UART mode, variable baud rate
• 8 bit logical operations
• 9-bit UART mode, fixed baud rate
• Boolean manipulations
• 9-bit UART mode, variable baud rate
• 8 x 8 bit multiplication
Interrupt Service Routine
• 8 / 8 bit division
The D80530 core improves three-priority interrupt system.
There are 14 interrupt sources. Each source has an independent priority bit, flag, interrupt vector, and enable. In
addition, interrupts can be globally enabled or disabled.
Core Engine
The D80530 engine is composed of four components:
• Control unit
• Arithmetic-logic unit
• Memory control unit
The RAM and SFR control unit:
• Can address up to 256 bytes of Read/Write Data Memory Space
• Serves the Interface for off-core Special Function Registers
The Memory control unit:
• Can address up to 64 K bytes of External Program
Memory Space
• Can address up to 64 K bytes of External Data Memory
Space
Timer 0 and 1
Timers 0 and 1 are nearly identical. Timers 0 and 1 both
have four modes. They are:
• 13-bit Timer/counter
• 16-bit Timer/counter
• 8-bit timer/counter with auto reload
• Two 8-bit timers
The later mode is available to Timer 0 only. Each timer can
also serve as a counter of external pulses (1 to 0 transition)
on the corresponding T0 or T1 pin. One other option is to
gate the timer/counter using an external control signal. This
allows the timer to measure the pulse width of external signals.
Timer 2
Timer 2 has several abilities not found in Timers 0 and 1.
However, it does not offer the 13-bit and dual 8-bit modes.
Thus it runs in 16-bit mode at all times. Also note that instead of offering 8-bit auto-reload mode, Timer 2 has a 16bit auto-reload mode. This mode uses the Timer Capture
registers to hold the reload values.
Ports
The D80530 provides four I/O ports. Port 0 – Port 3 are an
8-bit bi-directional I/O ports with separated inputs and outputs.
Port 0 is also the multiplexed low-order address and data
bus during accesses to external program and data memories.
Port 1 also serves the special features like external interrupt inputs, Serial 1 interface, and Timer 2 inputs.
Port 2 emits the high-order address byte during fetches
from external program memory that use 16-bit addresses
(MOVX @DPTR).
Port 3 also serves the special features like read and write
strobes for external data memory, Serial 0 interface, Timer
0 and Timer 1 inputs.
Power Management Unit
The D80530 core has several features relate to power consumption and management.
The range of features is shown below
• Power management modes IDLE and STOP
• Early-warning power-fail interrupt
• EMI reduction mode disables ALE
Devices, which incorporate the precision voltage reference,
have the ability to generate power-fail interrupt. The microcontroller has input of the power-fail interrupt. This early
warning of supply voltage allows the system time to save
critical parameters in nonvolatile memory and put external
functions in a safe state.
The D80530 provides two modes that allow power conservation. They are similar, but have different merits and
drawbacks. These modes are IDLE and STOP.
IDLE mode suspends all engine processing by holding the
program counter in a static state. No program values are
fetched and no processing occurs. This saves considerable
power versus full operation. All clocks remain active so the
timers, Watchdog, and Serial Port functions are all working.
Since all clocks are running, the engine can exit the IDLE
mode using any of the interrupt sources. There are two
ways to exit the IDLE mode. First, any enabled interrupt will
cause an exit. The IDLE mode can also be removed using
a reset.
STOP mode is the lowest power state that D80530 core
can enter. This is achieved by stopping all on-core clocks,
resulting in a fully static condition. No processing is possible, timers are stopped, and no serial communication is
possible. Processor operation will halt on the instruction
that sets the STOP bit. The STOP mode can be exited in
two ways. First a non-clocked interrupt such as the external
interrupt or power-fail interrupt. A second method of exiting
STOP mode is with an external reset.
performance improvement of rate 2.5x (in terms of MIPS)
with respect to the Intel device working with the same clock
frequency (the original 8051 had a 12-clock architecture. A
machine cycle needed 12 clocks and most instructions
were either one or two machine cycles. Thus except for the
MUL and DIV instructions, the 8051 used either 12 or 24
clocks for each instruction. Furthermore, each cycle in the
8051 used two memory fetches. In many cases the second
fetch was dummy, and extra clocks were wasted).
The table below illustrates the speed advantage of the
D80530 over the standard 8051. A speed advantage of 3
means that the D80530 performs the same instruction
three times faster that the 8051.
Speed
advantage
Number of
instructions
Number of
opcodes
3
53
160
2
2
2
2.4
16
37
1.5
38
54
1
2
2
Average: 2.5
Sum: 111
Sum: 255
Support
Watchdog Timer
The Watchdog Timer is a user programmable clock counter
that can serve as a time-base generator, an event timer, or
a system supervisor. The timer is driven by the main system clock that is supplied to a series of dividers. The
watchdog counter has 27-bit width. The divider output is selectable, and determines the interval between time-outs.
When the time-out is reached, an interrupt flag will be set,
and if enabled, a reset will occur. The interrupt flag will
cause an interrupt to occur if its individual enable bit is set
and the global interrupt enable is set.
Real Time Clock
The real time clock implements a real time count with a
resolution of 1/256th second. It allows the user to read
seconds, minutes, hours, day of the week and the date.
The date is represented by a 16-bit number, which value is
interpreted by the user software. The RTC enables a count
of 179 years. The RTC features an alarm function which
may be used to generate interrupts at a given time during a
day or periodically. These interrupts may be used to resume operation from the STOP mode at a given time
Performance
The architecture eliminates redundant bus states and implements parallel execution of fetch and execution phases.
Since a cycle is aligned with memory fetch when possible,
most instructions have the same number of cycles as
bytes. The D80530 uses 4 clocks per cycle. This leads to
The core as delivered is warranted against defects for three
years from purchase. Thirty days of phone and email technical support are included, starting with the first interaction.
Additional maintenance and support options are available.
Verification
The D80530 core’s functionality was verified by means of a
proprietary hardware modeler. The same stimulus was applied to a hardware model that contained the original Intel
80C31 and Dallas DS80C320 chips, and the results compared with the core’s simulation outputs.
Deliverables
The core includes everything required for successful implementation:
• VHDL or Verilog RTL
• Post-synthesis EDIF netlist (netlist license)
• Testbench (self checking)
• Vectors for testing the core
• Place & Route Scripts (netlist license)
• Synthesis and simulation scripts
• Constraint file
• Instantiation templates
• Documentation
CAST, Inc. 11 Stonewall Court
Woodcliff Lake, NJ 07677 USA
tel 201-391-8300 fax 201-391-8694
Copyright © CAST, Inc. 2004, All Rights Reserved.
Contents subject to change without notice.
Trademarks are the property of their respective owners.
This core developed by the processor
experts at Evatronix SA.