Datasheet
Microcomputer/controller
with Embedded BASIC Interpreter
FEATURES
- Small size: complete computer/controller
with I/O in less than 1.5 in.3 (1.5" x 2.1"
x 0.5")
- Low power: only 100 mW typical
- Dual powered: operates on +5 V or
8 - 16 V at 15 mA (typical)
- Communications through RS-232A,
RS-422, or RS-485 serial port up to 19.2 kbps; internal
on-chip level shifters
- Full floating-point BASIC for easy
programming
- Two firmware PWM outputs: 2 Hz -
3 kHz, 5 - 95% duty cycle
- Hardware PWM output: up to 1 MHz,
depending on duty cycle
- Frequency measurement: 15 Hz - 15
kHz
- I2C bus
- 32-KB SRAM for "enter and execute"
program testing
- 32-KB EEPROM nonvolatile storage
for autostart applications
- Hardware real-time clock/calendar
- 40-pin DIP-style enclosed packaging
with rugged square pins
- Optional 2-channel, 12-bit ADC,
10k samples/second
- 11.059-MHz system clock
- 2 interrupts and 3 timers
- Parallel I/O: 12 bits of bit-programmable
TTL-level and 16 bits of bit-programmable high current drive
I/O lines; 25-mA sink per pin with 20-mA source per pin
- Regulated 5-V output powers external
circuitry
DESCRIPTION
The Domino2 microcontroller is a rugged,
miniature controller with a fast, control-oriented, processor-masked
BASIC interpreter. Domino2 programs can be entirely BASIC
or a mixture of BASIC and assembly-language routines with
a BASIC CALL instruction.
Domino2 is designed to be a 100% stand-alone,
low-power, embedded controller which only requires a user
to apply power to function. Power can be either +5 V only
or +8 - 16 V to the internal regulator. When using the regulator
input, a 5-V output is available to external circuitry.
Domino2 is both RS-232A and RS-485
compatible without extra components. Based on a CMOS 80C52
processor, Domino2 provides a ROM-resident BASIC interpreter,
32 KB of static RAM, and 32 KB of nonvolatile EEPROM.
Domino2 has 12 bidirectional bit-programmable
parallel I/O lines (3 are shared with the ADC) plus 16 bits
of bidirectional, bit-programmable high-current I/O lines
provided by a built-in I2C parallel expander. These
bits can source/sink more than 20 mA each (limited by total
package dissipation). The coprocessor also offers a hardware
PWM output and a real-time clock/calendar. Analog input is
via a 2-channel sample-and-hold 12-bit ADC. It is capable
of sampling at 10k samples per second.
Additional firmware enables program
calls to directly read frequency and period, set PWM pulse
width and duty cycle, communicate with I2C bus
peripherals, and save programs to EEPROM that can be autostarted.
Domino2 combines the ROM-resident BASIC
with a selection of firmware program calls to directly read
frequency and period, set PWM pulse width and duty cycle,
communicate with I2C bus peripherals, and save
programs to EEPROM that can be autostarted.
PIN DESCRIPTION
Pin |
Signal |
Description
|
1
|
V+
|
Domino2
power-supply input. V+ is nominally 8 - 16 V. If pin 1
is open, Domino-2 can be +5-V powered directly to pin
40. |
2
|
Vbat
|
4.5-V
battery backup input for real-time clock |
3
|
PWM
|
Hardware
PWM output generated by coprocessor |
4
|
P1.7
|
TTL
I/O bit 7, available directly through BASIC; optionally
used as ADC CS input and as I2C clock |
5
|
P1.6
|
TTL
I/O bit 6, available directly through BASIC; optionally
used as DATA I/O for ADC and I2C |
6
|
P1.5
|
TTL
I/O bit 5, available directly through BASIC; optionally
used as ADC CLK |
7
|
P1.4
|
TTL
I/O bit 4, available directly through BASIC |
8
|
P1.3
|
TTL
I/O bit 3, available directly through BASIC |
9
|
P1.2
|
TTL
I/O bit 2, available directly through BASIC |
10
|
P1.1
|
TTL
I/O bit 1, available directly through BASIC |
11
|
P1.0
|
TTL
I/O bit 0, available directly through BASIC |
12
|
PA7
|
I2C
Expansion I/O Port A bit 7; high-current I/O pin |
13
|
PA6
|
I2C
Expansion I/O Port A bit 6; high-current I/O pin |
14
|
PA5
|
I2C
Expansion I/O Port A bit 5; high-current I/O pin |
15
|
PA6
|
I2C
Expansion I/O Port A bit 4; high-current I/O pin |
16
|
PA3
|
I2C
Expansion I/O Port A bit 3; high-current I/O pin |
17
|
PA2
|
I2C
Expansion I/O Port A bit 2; high-current I/O pin. |
18
|
PA1
|
I2C
Expansion I/O Port A bit 1; high-current I/O pin. |
19
|
PA0
|
I2C
Expansion I/O Port A bit 0; high-current I/O pin. |
20
|
GND
|
Single
point analog and digital ground. |
21
|
GND
|
Single
point analog and digital ground. |
22
|
PB0
|
I2C
Expansion I/O Port B bit 0; high-current I/O pin. |
23
|
PB1
|
I2C Expansion I/O Port B bit 1; high-current
I/O pin. |
24
|
PB2
|
I2C
Expansion I/O Port B bit 2; high-current I/O pin. |
25
|
PB3
|
I2C
Expansion I/O Port B bit 3; high-current I/O pin. |
26
|
PB4
|
I2C
Expansion I/O Port B bit 4; high-current I/O pin. |
27
|
PB5
|
I2C
Expansion I/O Port B bit 5; high-current I/O pin. |
28
|
PB6
|
I2C
Expansion I/O Port B bit 6; high-current I/O pin. |
29
|
PB7
|
I2C
Expansion I/O Port B bit 7; high-current I/O pin. |
30
|
ADC0
|
12-bit
ADC channel 0 input, input range 0-5 V. |
31
|
ADC1
|
12-bit
ADC channel 1 input, input range 0-5 V. |
32
|
INT0
|
TTL
Interrupt 0 input and general I/O bit (available through
assembly language). |
33
|
INT1
|
TTL
Interrupt 1 input and general I/O bit (available through
assembly language or BASIC). |
34
|
T0
|
Serial
transmitter disable control, TTL timer/counter input and
general purpose I/O bit (available through assembly language). |
35
|
T1
|
TTL
timer/counter input and general purpose I/O bit (available
through assembly language). |
36
|
RX-
|
RS-422/-485/-232A
inverted serial (receive pair/recxmit pair/receive) |
37
|
RX+
|
RS-422/-485/-232A
noninverted serial (receive pair/rec-xmit pair) |
38
|
TX-
|
RS-422/-485/-232A
inverted serial (transmit pair/rec-xmit pair/transmit) |
39
|
TX+
|
RS-422/-485/-232A
noninverted serial (transmit pair/rec-xmit pair) |
40
|
+5V
|
This
is the internal ADC voltage reference (nominally 5.0 V)
This output may be used to power minimal external circuitry
or sensors. Domino2 may be powered on +5-V only through
this pin, provided Pin 1 is left unconnected. |
MECHANICAL AND ENVIRONMENTAL CHARACTERISTICS
Length: 2.25 inches
Width: 1.375 inches
Height: 0.52 inches
Weight: 25 grams
Operating temperature: 0 to +70°C (optional -40 to + 85°C)
Humidity: 0 to 100% (noncondensing)
ABSOLUTE MAXIMUM RATINGS
Operating temperature: 0 to +70°C commercial
(optional -40 to + 85 °C industrial)
Storage temperature -50°C to +125°C
Voltage on V+ (Pin 1): 0 to +16 V, referenced to Vss
Voltage on +5V (Pin 40): 0 to +5.5 V, referenced to Vss with
Pin 1 open
Voltage on Vbat (Pin 2) 0 to +5.0 V
Industrial temperature version is available; minimum quantities
apply.
PROGRAMMING CHARACTERISTICS
Domino2 is a complete computer/controller
in one tiny package. The embedded BASIC interpreter and firmware
provide the user with a direct means to enter and save an
autostarting control program without expensive development
tools. Such powerful advantages facilitate completing a programming
task in record time. You can write, test, and save code in
nonvolatile storage directly on Domino2.
The friendly, control-oriented BASIC
command set allows easy access to the integrated digital and
analog I/O functions. Conversion calculations are a breeze
thanks to BASIC's floating-point number crunching. Because
of the power of a high-level language such as BASIC, useful
programs often take less than a dozen programming statements.
Nonetheless, Domino2 has over 30 KB of space reserved for
your application code and the utilities.
Even though Domino2 is optimized for
BASIC programs, assembly language programs are easily accommodated
as callable routines. A Domino2 application program can be
all BASIC, BASIC with callable assembly language routines,
or virtually all assembly language with the only BASIC command
being an introductory CALL.
Domino2 contains all the communication
interface hardware. It can be used standalone to monitor analog
and digital inputs and to provide control outputs directly
to machine or network interfaces. When connected serially,
Domino2 can serve as a remote device, reporting monitored
conditions to your PC or receiving commands to control external
components. If multiple Domino2s are networked with a master
PC or another Domino2, multi-drop units can share information
collected throughout the network.
I/O COPROCESSOR
DOMINO-2 is equivalent to the original
DOMINO-52/52A plus additional I/O provided by an onboard I/O
coprocessor. The I/O coprocessor is connected to the BASIC
processor via the I2C bus. It provides 16 bits of high current
drive digital I/O, a hardware background PWM, and a RTClock/calendar.
The coprocessor can maintain the correct time and date even
if main power is removed by connecting an auxiliary battery
source to the Vbat input (Pin 2). Each of the 16 digital I/O
pins can be individually programmed as either input or output
and they have the capability to directly drive LEDs either
sinking or sourcing current.
DOMINO-2's coprocessor is physically
connected to the BASIC processor's I2C I/O lines (P1.7 and
P1.6). These two pins may also be used to add external I2C
devices (see section 4.6). With the exception of I2C expansion
peripherals, these two lines should not be used for direct
I/O. Circuitry connected to these lines may interfere with
the coprocessor.
Coprocessor communications are handled
as an I2C register write or register read. The coprocessor
is defined as address 20H. There are 51 8-bit registers which
can be written to or read from. Each has a distinct address
and function. They are defined below.
DOMINO2 COPROCESSOR REGISTER DEFINITIONS
Register
#
hex dec
|
Name |
Function
|
30H
48 |
PA_DIR |
Direction Control
Register for PORT A |
31H
49 |
PA_IN |
PORT A Input Port |
32H
50 |
PA_OUT |
PORT A Output
Port |
33H
51 |
PB_DIR |
Direction Control
Register for PORT B |
34H
52 |
PB_IN |
PORT B Input Port |
35H
53 |
PB_OUT |
PORT B Output
Port |
|
|
|
40H
64 |
PA_IN0 |
PORT A Input Bit
0 |
41H 65 |
PA_IN1 |
PORT A Input Bit
1 |
42H
66 |
PA_IN2 |
PORT A Input Bit
2 |
43H
67 |
PA_IN3 |
PORT A Input Bit
3 |
44H
68 |
PA_IN4 |
PORT A Input Bit
4 |
45H 69 |
PA_IN5 |
PORT A Input Bit
5 |
46H 70 |
PA_IN6 |
PORT A Input Bit
6 |
47H
71 |
PA_IN7 |
PORT A Input Bit
7 |
48H
72 |
PB_IN0 |
PORT B Input Bit
0 |
49H 73 |
PB_IN1 |
PORT B Input Bit
1 |
4AH
74 |
PB_IN2 |
PORT B Input Bit
2 |
4BH
75 |
PB_IN3 |
PORT B Input Bit
3 |
4CH 76 |
PB_IN4 |
PORT B Input Bit
4 |
4DH
77 |
PB_IN5 |
PORT B Input Bit
5\ |
4EH
78 |
PB_IN6 |
PORT B Input Bit
6 |
4FH
79 |
PB_IN7 |
PORT B Input Bit
7 |
|
|
|
50H 80 |
PA_OUT0 |
PORT A Output
Bit 0 |
51H
81 |
PA_OUT1 |
PORT A Output
Bit 1 |
52H
82 |
PA_OUT2 |
PORT A Output
Bit 2 |
53H
83 |
PA_OUT3 |
PORT A Output
Bit 3 |
54H 84 |
PA_OUT4 |
PORT A Output
Bit 4 |
55H
85 |
PA_OUT5 |
PORT A Output
Bit 5 |
56H 86 |
PA_OUT6 |
PORT A Output
Bit 6 |
57H
87 |
PA_OUT7 |
PORT A Output
Bit 7 |
58H
88 |
PB_OUT0 |
PORT B Output
Bit 0 |
59H 89 |
PB_OUT1 |
PORT B Output
Bit 1 |
5AH
90 |
PB_OUT2 |
PORT B Output
Bit 2 |
5BH
91 |
PB_OUT3 |
PORT B Output
Bit 3 |
5CH
92 |
PB_OUT4 |
PORT B Output
Bit 4 |
5DH
93 |
PB_OUT5 |
PORT B Output
Bit 5 |
5EH
94 |
PB_OUT6 |
PORT B Output
Bit 6 |
5FH 95 |
PB_OUT7 |
PORT B Output
Bit 7 |
|
|
|
60H 96 |
PWM_EN |
Start/Stop PWM
Output |
61H
97 |
PWM_P |
PWM Period Value |
62H
98 |
PWM_D |
PWM Duty Cycle
Value |
63H 99 |
PWM_PRE |
PWM Period Prescale
Value |
|
|
|
70H
112 |
TIME_EN |
Start/Stop Real
Time Clock/Calendar |
71H 113 |
TIME_S |
Seconds Register |
72H
114 |
TIME_MI |
Minutes Register |
73H
115 |
TIME_H |
Hours Register |
74H 116 |
TIME_WD |
Day of the Week
Register |
75H
117 |
TIME_DA |
Day of the Month
Register |
76H
118 |
TIME_MO |
Month of the Year
Register |
77H
119 |
TIME_Y |
Year Register |
|
|
|
7FH
127 |
VER |
Software Version
Number |
|