RPC-320 USER'S MANUAL
REV 2
NOTICE TO USER
Copyright 1997, 1999 - Remote Processing C orporation.
All rights reserved. However, any part of this document
may be reproduc ed with Remote Proce ssing cited as the
source.
The information contained in this manual is believed
correct. However, Remote Pr ocessing assumes no
responsibility for any of the circuits described herein,
conveys no license under any patent or other right, and
make no repre sentations that the circuits are free from
patent infringement. Rem ote Processing makes no
representation or warr anty that such applications will be
suitable for the use specified without further testing or
modification. The user must make the final
The con tents of this manual and the specifications her ein
may change without notice.
TRADEMARKS
RPBASIC-52™ is a trademark of Remote P rocessing
Corpor ation.
determination as to fitness for a particular use.
Remote Pr ocessing Corporation' s general policy does not
recommend the use of its products in life support
applications where the failure or malfunction of a
component m ay directly threaten life or injury. It is a
Condition of Sale that the user of Remote Processing
products in life support applications assum es all the risk
of such use and indemn ifies Remote Pr ocessing against
all damages.
PC SmartLINK® is a trademark of Octagon Systems
Corpor ation.
BASIC-52© is a trademark of Intel Corpor ation.
Remote Processing Corporation
79 75 E. Harvard Ave.
Denver, Co 802 31 USA
Tel: (303) 690 - 1588
Fax: (303) 690 - 1875
w w w .rp3.com
P/N 1366
Revision: 2.8
Page i RPC -320
TABLE OF CONTENTS
SECT ION 11
WATCHDOG TIMER
DESCRIPTION . . . . . . . . . . . . . . . . . . . 11-1
EXTERNAL RESET . . . . . . . . . . . . . . . . 11-1
DESCRIPTION . . . . . . . . . . . . . . . . . . . 11-1
OPTICALLY ISOLATED INTERRUPT . . . 11-1
INTERRUPT CHARACTERISTICS . . . . . . 11-1
SECT ION 12
EXTERNAL INTERRUPT
DESCRIPTION . . . . . . . . . . . . . . . . . . . 12-1
PROGRAMMING . . . . . . . . . . . . . . . . . 12-1
Program exam ples . . . . . . . . . . . . . . 12-1
COMMANDS . . . . . . . . . . . . . . . . . . . . 12-2
SECT ION 13
MULTI-MODE COUNTER
DESCRIPTION . . . . . . . . . . . . . . . . . . . 13-1
SECT ION 14
POWER REDUCTION
FURTHER POWER REDUCTION . . . . . . 14-1
Prog ram Exam ple . . . . . . . . . . . . . . . 14-2
SECT ION 15
TECHNICAL INFORMATION
ELECTRICAL SPECIFICATIONS . . . . . . 15-1
MEMORY AND I/O BANK MAP . . . . . . . 15-2
MECHANICAL SPECIFICATIONS . . . . . 15-2
JUMPER DESCRIPTIONS . . . . . . . . . . . 15-2
Page iii RPC-320
SOFTWARE REVISION HISTORY
V1.04
V1.05
Release for RPC 320
BSAVE retur ned a hardware er ror when ver ify
was bad. In fact, save was OK.
V1.06
V1.07
V1.08
LCD graphics hardware CS and reset are
reversed. C ompensated in software.
MTO P was useless in any system, especially a
32K RAM.
Varia bles E and F would get dropped if
followed by a space.
Added de lays betwee n data strob e writes to
LCD display.
V1.09
V1.10
STR(7, . . .) did not put in a CR into the put
string, causing longer strings to be printed.
Initial release for RPC-330.
Added AOT command (330 only)
Added COUNT, ON COM , ON COUNT, ON
LINE, and ON KEYPAD
V1.11
11/29/95
Added day of week to DAT E comm and and
function.
V1.12
V1.13
12/01/95
Added code to use Atmel 29C040A flash.
01/12/96
Added code to support IEE centry series
display (3602-100-05420)
Includes PRINT #port
V1.14
V1.15
V1.16
03/28/96
Fixed bug in ON C OUN T. Returns error for
lines > 100.
06/26/96
PEEK$ could cause BASIC to lock up under
right conditions.
02/18/97
ON LIN E OF F could cause program to lock up
if running ON COM.
Syntax error when DISPLAY used with IF-
THEN-ELSE.
Added PE EKF a nd POKE F com mands.
Page iv RPC -320
OVERVIEW
SECTION 1
from your PC are downloaded using a serial
communication program.
DESCRIPTION
The RP C-320 is an embed ded contr oller with a built in
Basic language. Several featur es make it suitable as a
stand alone unit:
MANUAL ORGANIZATION
This manual pro vides all the infor mation r equired to
install, c onfigure , and operate the RPC-320. Using this
manual you will be able to:
Built in RPBASIC-52 programm ing language
supports hardware using single commands. On card
flash EPROM programm er can save up to 8
progr ams to 62K , or about 500K tota l.
Interface the RPC-320 to your IBM compatible PC
or terminal.
High speed multimode counter accepts quadrature or
single inputs. Program mable for up/dow n, binary,
divide-by-N, X1, X2 or X4 quadr ature counting.
Understand the operation of the RPC-320 hardware
using RPBASIC-52 programming software.
This manual assumes you are fam iliar with some type of
BASIC progr amming software. The syntax used by
RPBASIC-52 is similar to BASIC-52. If you are not
experie nced with a ny BASIC softwar e, you may w ant to
refer to books and training program s available through
your local book store. The BASIC-52 Programm ing
Manual has information and examples for the original
commands. Comm ands unique or modified by
RPBA SIC-52 a re in the Sof tware Supplement in this
manual.
LCD character and gr aphic display and keypad p orts
for operator interface.
Two R S-232 ser ial ports, one of whic h is
configurable for RS-422/485.
Watchdog timer resets card if a program "crashes".
34 digital I/O lines, 9 of which are high curre nt
outputs. 24 of these lines can connect to an opto
rack or o ther TT L devices.
Each chapter or section is written to first provide an
overview. Then, m ore specific information is provided.
Each chapter has some examples using Basic. A
summar y of related hardware com mands is at the end of
most chapters.
Eight channel, 12 bit resolution analog to digital
converter. Configurable operational amplifiers
allow you to signal condition inputs or measure
temperature.
32K, 128K, or 512K RAM battery backable to save
process variables and other data when power is off.
MANUAL CONVENTIONS
Information appearing on your screen is shown in a
different type.
32K or 512K flash EPRO M to save program s and
data.
Example:
The RPC -320 uses an 80C320 CPU operating at 22.1184
Mhz. It can operate stand alone or on a network using
the RS-485 port. Its 4. 7" x 7. 0" size with 4 mounting
holes makes it easy to mount in a NEMA box.
Compactness is enhanced by on-board analog and digital
terminal strips.
RPBASIC-52 V1.0
Copyright Intel (1985) and Remote Processing
Bytes free: 27434
RPBA SIC-52 p rogr amm ing language is standard. T his
language is a version of the original Intel BASIC-52. It
was m odified for the RPC -320 for c ontrol, data
acquisition applications, and on board har dware fea tures.
Program development can take place on your PC, using
your word processor, or on the RPC-320. Programs
Page 1-1 RPC -320
OVERVIEW
SECTION 1
TECHNICAL SUPPORT
Symbols and Term inology
If you have a question about the RPC-320 or RPBASIC-
52 and can' t find it in this manual, call us and ask for
technical supp ort. Technical support hours ar e 9 AM to
4 PM mountain time.
NOTE: Text under this heading is helpful information.
It is intended to act as a reminder of some
operation or interaction with another device that
may not be obvious.
When you call, please have your R PC-320 and BASIC-
52 PROGRAMMING MANUAL ready. Many times it is
helpful to know what the R PC-320 is used for, so please
be ready to describe its application as well as the
problem.
WARNING:
Information under this heading warns you of
situations which might cause catastrophic or
irreversible damage.
Phone: 303-690-1588
FAX: 303-690-1875
W[-]
Denotes jump er block pins.
< xxx> Paired angle brackets are used to indicate a
specific key on your ke yboard. F or exam ple
< esc> means the escape key.
The RPC -320 uses a Dallas Semiconductor DS80C320
processor. Additional information can be obtained from
Dallas Semiconductor (214-450-0448, F AX 214-450
0470), or your distributor.
BASIC uses the decimal convention for designating
addresses and data. There are times when hexadecimal
notation is mo re convenient to use. Notation use d in this
manual and BASIC-52 is the ' H' character after the
number. 8CH stands for 8 C hexadecimal.
Page 1-2 RPC -320
OVERVIEW
SECTION 1
Figure 1-1 System layout
Page 1-3 RPC -320
SETUP AND OPERATION
SECTION 2
can easily arc through cables and to the card.
Simply touching your PC before you touch the
card can greatly reduce the amount of static.
INTRODUCTION
The RPC -320 is ready to program as soon as you
connect it to a ter minal or PC a nd apply pow er. This
chapter describes what is needed to get a sign- on
message and begin program ming.
2. Do not insert or remove components when
power is applied. While the ca rd is a + 5 volt
only system, other voltages generated on the
card which affect other com ponents.
Requirements for uploading and downloading programs
are discu ssed. A "W here to go from here" section tells
you what chapters to refer to in order to use the various
capabilities of the RPC-320. Finally, a troubleshooting
section helps out on the most com mon pro blems.
EQUIPMENT
You will need the following equipment to begin using the
RPC-320:
OPERATING PRECAUTIONS
RPC-320 embedded controller
PC w ith a serial port and com munications
program
or a
Terminal
The RPC -320 is designed to handle a wide variety of
temperature ranges at low power. These characteristics
requir e using CM OS com ponents. CM OS is static
sensitive. T o avoid damaging these c omponents,
observe the following precautions before handling the
RPC-320.
VTC -9F ser ial cable
+ 5, 200 ma po wer supply
Refer to Chapter 4, SERIAL PORTS, for w iring
information to make your own serial cable.
1. Ground yourself before handling the RPC -320
or plugging in cables. Static electricity
Figure 2-1 Connector location and function
Page 2-1 RPC-320
SETUP AND OPERATION
SECTION 2
Turn on your pow er supply. On pow er up a
copyright message is printed.
FIRST TIME OPERATION
Become familiar with the locations of connectors before
getting started. See Figure 2-1.
RPBASIC-52 V1.09
RPC-320
RPC -320 jump ers have been set at the fa ctory to operate
the system immediately. F or first time operation, do not
install any connectors or parts unless specified below.
Jumpers sho uld be kept in default positions.
Copyright Remote Processing (1994)
Bytes free: 63740
65,536 bytes of additional expanded memory detected
512K byte EPROM installed
1. Connect power.
If a nonsense message appears, your terminal or PC
may not be set to the appropriate communication
parameters. If the system still does not respond,
refer to TROUBLESHOOTING later in this chapter.
The RPC-320 needs + 5 ±0.25 volts at 100 ma.
Any well regulated supply that supp lies this will
work. Be careful when using "switching" power
supplies. Some of the se supplies do no t regulate
properly unless they are adequately loaded. Don' t
forget that power requir ements inc rease w hen opto
modules a re used. G4 opto m odules require up to
20 ma each.
The sign on message may differ based on the RAM
and flash EPROM installed.
4. Testing.
The system is now in the " imme diate mode" and is
ready for you to start program ming. T ype the
following program:
Make sure pow er is off. Connec t the power supply
to one of the appropriately marked terminals on the
RPC-320. There two power connectors: P2 and P 6.
Either one may be used to connect power.
10 FOR X=0 TO 2
20 PRINT "Hello ",
30 NEXT
2. Hook up to a PC or terminal.
40 PRINT
You can use either a PC o r CR T term inal to
program the RPC-320. Connect one end of the
VTC -9F connector to the 10 pin COM 0 port on the
RPC-320. Refer to Figure 2-1 for connector
location.
Now type RUN. The system will display:
Hello Hello Hello
READY
>
Terminate a program by typing a < Ctrl> -C.
Using a PC
Connect the VTC-9F serial cable to the PC's COM1
or COM 2 port. Y ou may need a 9 pin male to 25
pin female adapter . T he VT C-9F is designed to
plug directly into the 9 pin serial port connector on a
PC.
UPLOADING AND DOWNLOADING
PROGRAMS
Downloading program s means transferring them fr om
your PC (or terminal) to the RPC-320. Uploading
means transferring them from the RPC -320 back to the
PC. This section explains how to do both of these
procedures using generalized instructions for terminal
programs (Procomm , Windows Ter minal, etc.)
Start up your serial communication program. Set
comm unication par ameter s to 9600 baud, 8 da ta
bits, no parity, 1 stop.
Using a Terminal
When uploading or downloading files, select ASCII text
format. XMODEM, YMODEM, or other formats are
not used.
Follow your term inal instructions to set the baud
rate to 9600 baud, 8 data bits, no parity, and 1 stop.
You may need a 9 pin male to 25 pin male adapter
to connect the VTC-9F.
RPBASIC-52 does not know w hen you are typing in a
progr am or if something else (laptop or mainfr ame) is
3. Power up.
Page 2-2 RPC-320
SETUP AND OPERATION
SECTION 2
increased download time.
sending it char acters. The uploa d and dow nload file
does not contain any special codes; they are sim ply
ASCII cha racters.
Notice that you can w rite a progr am in lower case
characters. RPBASIC-52 translates them to upper case.
Uploading programs is simply a process of receiving an
ASCII file. Y ou or your progr am simply need to send
"LIST " to receive the entire program . The default baud
rate (960 0) is rather high. The RP C-320' s baud ra te is
changed using the CONF IG BAUD command.
Some program mers put "N EW" as the first line in the
file. During debugging, it is common to insert
"temporary" lines. This ensures that these lines are
gone. Down loading time is increase d when the old
progr am is still pre sent. If you like to wr ite progr ams in
separate modules, you can dow nload them separately.
Modules are assigned blocks of line numbers. Star t up
code might be from 1 to 999. Interrupt handling
(keypad, serial ports) might be from lines 1000 to 1499.
Display output might be from 1500 to 2500. The
programmer must determine the number of lines
required for each section.
Downloading a program requires transmitting an ASCII
file. As you type in (or download) a line, RP BASIC-52
tokenizes, or com piles, that line. The time to do this
depends upon its complexity and how many lines of code
have been entered.
RPBASIC-52 m ust finish compiling a line before starting
the next one. When a line is compiled, a "> " character
is sent. This should be your terminal progra ms pacing
character for dow nloading.
RPBASIC-52 autom atically formats a line for minimum
code space. F or example, you could download the
following line of code:
If your communications program cannot look for a
pacing prompt, set it to delay transmission after each line
is sent. A 100 ms delay is usually adequate, but your
program may be long and complex and require more
time. A r esult of a short transmission time is missing or
incomplete pro gram lines.
10 fora= 0to5
When you listed this line, it would appear as:
10 FOR A=0 TO 5
Spaces are displayed but not stored. The following line:
Editing programs and program ming hints
10 for a
=
0
to
5
Files uploaded or downloaded are simply ASCII DOS
text files. No special characters or control codes are
used. You m ay create and edit programs using your
favorite word processor or editor. Just be sure to save
files in DO S text form at.
would be compressed and displayed as in the second
example above. Spaces are removed. H owever, spaces
as part of a remark or PRINT are not removed.
Instead of uploading and downloading programs, you can
save them to the on card EPRO M. This is useful if you
are using a terminal to write program s. Simply type
SAVE. To retrieve a program, type LOAD.
A technique used to further program documentation and
reduce code space is the use of comments in a
downloaded file. For example, you could have the
following in a file written on your editor:
REM Check position
REM Read output from the pot and
REM calculate the position
2200 a = ain(0) :REM Get position
The first 3 comments downloaded to the RPC -320
are ignored. Similarly, the empty lines between
comm ents are a lso ignored . L ine 2200, with its
comment, is a part of the program and could be listed.
The m ajor pena lty by writing a progr am this w ay is
Page 2-3 RPC-320
SETUP AND OPERATION
SECTION 2
attached, you should see a burst of activity. With a
volt meter, you should see a change in voltage.
Using a Fluke 8060A set to measure A C, you
should see a mom entary rea ding above 2 volts.
WHERE TO GO FROM HERE
If you want to do this:
Turn to
Chapter
3. Install the serial cable and make sure the voltages
and output activity are still there. Output is from
pin 3 on the VTC-9F. If not, check to make sure
something is not shorting the output.
Save a program
Run a program at power up or
reset (autorun)
3
3
4
5
5
5
6
6
6
6
7
8
9
10
12
13
14
Know m ore about serial por ts
Install a differ ent RAM mem ory chip
Using RAM to save variables
Run an assembly language program
Configure digital I/O lines
Detect on/off switch status
Use high c urre nt outputs
Connect an external opto rack
Calendar/ clock option
Connect Displays
4. Check the serial pa ram eters on your P C or termin al.
They should be set to:
9600 baud, no parity, 8 data bits, 1 stop
5. If you are receiving a sign on me ssage but not ab le
to enter characters, check U8, pin 4 for at least -6
volts. When it is near 0 volts, the terminal or PC's
Tx line is not connected. When you pr ess a
character on the terminal or P C, you should see the
voltage go positive. Check the serial cable.
Use a keypad
Measure voltages
Using inter rupts
Multi-mode counter
Transmitted signals from the PC or terminal are
from pin 5 on the 10 pin IDC connector.
Use low power operation
If all of this fails, call technical support listed in chapter
1.
Refer to the table of contents for a more detailed listing.
TROUBLESHOOTING
You would probably turn to this section because you
could not get the sign on message. If you are getting a
sign on message but can' t enter characters, then read
section 5 below . T he following are troubleshooting hints
when you can' t get anything.
1. Check the power source. If it is below 4.65 volts at
the input pow er ter minal, the RPC -320 will r eset.
Power is 5 ±0.25 volts. Make sure it is a clean 5
volt source . If it dips intermittently to 4. 65 volts
(due to switching noise or ripple), the card will reset
for about 100 ms. If the noise is frequent enough,
the card will be in per manent reset. Check U7, pin
8. If it is high (about 5 volts), then the car d is in
reset. T his line should be low (about 0 volts).
2. Check the COM 0 port (J3). Rem ove the connector
from COM 0. R efer to the outline drawing ear lier in
this chapter. Connect an oscilloscope (preferred) or
a voltmeter to pin 3 (T xd) and gr ound. Pin 3 should
be -6 volts or more negative. (Pin 1 is designated
by the v symbol on the connector. Pin 3 is next to
it, nearer the key opening.) If you have -6 volts or
more, press the reset switch. If you have a scope
Page 2-4 RPC-320
SAVING PROGRAMS
SECTION 3
A flash EPROM is non-volatile (retaining data even
INTRODUCTION
when power is disconnected), having an unlimited
number of re ad cycles and a limited number of write
cycles (about 1,000). A program is not run fr om
EPROM . It is transferred to RAM and run from there.
Prog ram s in RAM can be m odified. They ar e saved to
EPROM for execution later.
Program s are stored in an EPRO M in socket U6. You
can store one or mor e program s, depending upon
EPROM size. A BASIC program can call another when
a 512K byte EPROM is used.
Maximum program size that can be run at any one time
is about 62K, not including space for variables. 32K
bytes is the maximum program size when a 29C256 IC
type is used to save a program.
The RPC -320 can autorun on power up or r eset by
removing jumper (W9). W hen autorun is on, the
program in EPROM segment 0 is loaded into RAM and
begins to execute immediately.
A conservative rule to determine program memory
requirements is one line requires 40 bytes. 32K bytes
would stor e 800 lines of code. Your application cou ld
be significantly more or less, depending upon the
number of comm ands/line, com ments, and pr int
statements.
Despite the fact you may have a 128K or 512K RAM
installed, the maximum progr am size RPBASIC-52 can
run at one time is about 60K (including room for some
variable storage). T he table below shows the maximum
capacity, maximum number of program lines, program
size at one time, and number of program s for an
EPROM type.
Figure 3-1 W3 autorun jumper
EPROM
type
Max
Cap.
Prog
lines
Max
Bytes Progs
No.
This chapter discusses saving programs to EPR OM (U 6)
and program autoexecution.
29C256
29C040
30K
509K 12400
400
32K
62K
1
8
SAVING A PROGRAM
For this example, assume you wanted to save the
following program:
One program can call another using the EXECUTE n
command. n is from 0 to 7, depending upon the
EPROM type.
20 FOR N= 0 TO 2
30 PRINT "Hello ",
40 NEXT
NOTE: When a program calls another, the old program
is completely replaced. All variables and
arrays are clear ed (set to 0).
50 PRINT
If this progr am is not alr eady in, type it in now (or , if
you prefer, use your own progr am).
To keep variables, you m ust save them before calling the
new progr am. When the new program is running, these
variables are restored. Use PEEK and P OKE to read
and save numbers and strings. See Chapter 5, STORING
VARIABLES IN RAM for more inform ation.
Type in the following command:
SAVE
Binary data is saved and read from the EPR OM using
BSAVE a nd BLOA D com mands. The EP ROM has a
limited number of write cycles (about 1000), so wr iting
information should be kept to a minimum.
RPBASIC-52 r esponds with:
Saving 35 bytes
Verifying --- OK
Page 3-1 RPC -320
SAVING PROGRAMS
SECTION 3
The time it takes save a program depends upon the
length and complexity of the program and flash EPROM
type. Pr ogramm ing rate is roughly 600 bytes/second. If
the program is not successfully saved to EPROM, an
error message will appear.
AUTORUNNING
To autorun a program:
1. Make sure there is a program in EP ROM (from
above). When using a 128K or 512K size EPROM,
make sure the star t up progr am was saved to
segment 0.
Saving a pr ogram overw rites the pr evious one. Ther e is
no way to recover the old one since both occupy the
same space.
2. Remove jumper W9.
Using SAVE without any parameters is the same as
typing SAVE 0.
Push the reset button. The program will run. If there
are any error s, the progr am will stop (assuming you
have not trapped them with ON E RROR) and display the
error m essage. EX ECU TE n is used within any
program to load and run another program. The EPROM
size must be a 128K or 512K.
When a 128K (29C 010) or 512K (29C 040) EP ROM is
installed in U6, the SAVE segment parameter is 0 or 1
(128K) or 0 - 7 (512K). EX ECU TE loads and runs the
program in the segment specified by SAVE. A 32K
(29C256) EPROM can run just one program.
PREVENTING AUTORUN
Make the following modifications to the above program
as instructed to see how one program can call another.
There m ust be a 128K or 512K EPRO M installed to run
this code.
When troubleshooting a program , it' s not always
convenient fo r an autoe xecute file to r un. This is
especially tr ue if the pro gram has been configured to
ignore the < ESC> or < Ctl-C> keys.
Add the following lines:
To prevent autorun, install jumper W9 before power up
or re set.
10 PRINT "Program segment 0"
60 EXECUTE 1
LOADING A PROGRAM
Now type:
SAVE 0
Ther e are tim es when you may w ish to tempor arily
modify or otherwise test out a change to a program.
Since the program is loaded into RAM in autorun,
modifications are m ade withou t affecting the pr ogram in
EPROM. Use the LOAD or LOAD n comm and to
transfer the EPROM program to RAM.
Now m odify lines 10 and 60 as follows:
10 PRINT "Pr ogram segme nt 1"
60 EXECUTE 0
Now type:
If you find out that modification s are not de sirable or did
not work, you can restore the original program to RAM
using the LOAD com mand.
SAVE 1
To see the programs operate, type RUN. To stop program
execution, press < Ctrl-C> .
CHANGING EPROM SIZE
The RP C-320 can com e with a 32K or 512 K flash
EPROM . The size may be changed at any time. Set
W3 according to the type/size.
You may notice there is a slight pause between the
printed he llo' s and program segment number . T his is
the time it takes to clear memory and load the program.
Loading and clear ing take appr oximately 0.25 seconds in
a very small program up to 1 second in a very large
program.
Type
Size
W3
Bytes
Configuration
29C256 32K
[3-5], [4-6]
29C010 128K
[3-5], [2-4]
Page 3-2 RPC -320
SAVING PROGRAMS
SECTION 3
29C040 512K
[1-3], [2-4]
COMMANDS
To change the EPRO M in U6, remove the IC and
replace it with the new one. Whe n installing a 29C256,
pin 1 on the IC goes into socket pin 3. The top two
rows of pins are empty.
The following is a list of RPBASIC-52 commands used
for saving, loading, and executing programs and data.
These comm ands and functions are explained in the
Software Supplement in this manua l.
ALTERNATE EPROMS
Comm and
BLOAD
Function
Flash EPR OMs ar e more expensive than UV er asable or
OTPs as of this writing. Large volume OEM' s may
wish to use lower cost EPRO Ms.
Transfers binary data from
EPROM to RAM
Transfers binary data from RAM
to flash EPROM
BSAVE
Program development must use flash EPROM s. Whe n a
program is finished, the flash EP ROM is used as a
master. Use an exter nal progra m to duplicate progr ams.
EXECUTE
Loads, clear s memory, then runs
a program from w ithin a program
Loads a program from EPROM
Saves a program to flash EPROM
LOAD n
SAVE n
Jumper W2 is normally configured for flash EPROM
(W2[3-5 ] and W2 [4-6]). For non-flash E PRO Ms, W2 is
configured for [1-3] and [2-4]. Large volume OEM's
should contact Remote Processing regarding pre-
configuring W2 and W3 for your application.
Page 3-3 RPC -320
SERIAL PORTS
SECTION 4
COM0 SERIAL PORT
DESCRIPTION
This port uses a VTC-9F serial cable to connect external
serial devices to the por t. T he cable con sists of a 10 pin
IDC connector wired one-to-one to a DB-9 connector.
Line 10 is sim ply cut off. The pin out is designed so it
plugs directly into the 9 pin serial port connector on a
PC.
The RPC -320 has two serial ports that interface to a
printer, terminal, RS-485 network, or other serial
devices. This chapter describes their char acteristics and
how to use them. Fre quent ref erence s are m ade to
commands listed in the BASIC-52 Programm ing Manual
or RPBASIC-52 Software Supplement in this manua l.
Please refer to these manuals for m ore information about
these comm ands.
CTS is a output and is set to high on power up.
Norm ally, this tells the other device to send data. The
CTS line is set high or low to hold off communication.
The sending device must have a RTS input. L ine 400
sets CTS high and 500 sets it low, or to hold off.
Serial por ts are num bered C OM 0 and CO M1. COM 0 is
RS232 only and is used for progr am deve lopment.
During r un time, it can be used for other functions.
COM 1 is a general purpose port and is jumperable for
RS-232 or RS-422/485.
400 LINEB 5,0,(LINEB(5,0) .AND. 247)
500 LINEB 5,0,(LINEB(5,0) .OR. 8)
Each port has a 256 character interr upt driven input and
output buffer. This allows sending characters without
slowing down program execution. How ever, if the
PRIN T buffer fills, pr ogram execution is susp ended until
all PRINT char acters are in the buffer. Both ports have
a 256 character input buffer. When mor e than 256
characters are r eceived, excess ones are ignored.
COM 0 is normally used for program ming. D uring run
time it ma y be used as a genera l purpose serial por t.
When used for programming or with the INPUT
statement, it will accept ASCII character values from 0
to 127. When used with the GET function, it will return
ASCII values from 0 to 255.
COM1 SERIAL PORT
CON FIG BAU D controls baud rate and RS-232/485
mode (CO M1 only).
COM 1 is either an RS-232 or RS-422/ 485 port.
A
VTC -9F serial cable, descr ibed above, is used for RS-
232 level communications. RS-485 is from screw
terminals. COM 1 has 2 hardw are handshaking lines,
CTS and RT S.
RTS is an input to the car d. W hen RT S to the card is
low, it usually indicates the sender does not want any
data sent to it. The status of this port is read by the
LINEB statement. The example below retur ns a status
of the RTS line:
100 B = LINEB(5,1) .AND. 32
Figure 4-1 Serial port and jumper locations
If B = 32, the sender is not requesting information and
nothing further should be printed.
ON C OM $ is useful whe n data is sent in pac kets. This
multitasking command branches to a BASIC subroutine
when a specific char acter or number of chara cters is
received.
The CT S line may be set high or low to hold off
comm unication from a se nding device. The sender must
recognize the CTS line. Line 400 sets CTS high and 500
sets it low, or to hold off.
Another useful function is STR. Strings can be
formatted, analyzed for length and content. When used
in conjunction with ON COM $, networ king over RS-485
is much easier than with the original BASIC-52.
Page 4-1 RPC -320
SERIAL PORTS
SECTION 4
Figure 4-2 Network diagram
RS-422/485 OPERATING INFORMATION
400 LINEB 5,0,(LINEB(5,0) .AND. 251)
500 LINEB 5,0,(LINEB(5,0) .OR. 4)
RS-422/485 Termination network
Jumper W 4 determines if COM 1 receive is RS-232 or
RS-422/485.
When the RPC-320 is the last physical unit on a network
(RS-485), or it is the only unit (RS-422), the receiver
must be terminated to prevent ringing. Jumper block
W5, 6 installs or removes this network. Insert a jumper
in W5 and W6 to install the network terminator.
W4[1-2]
W4[2-3]
RS-485
RS-232 (de fault)
COM1 default is RS-232. Use the CONFIG BAUD
statement to set the software to RS-422 or RS-485.
When set to RS-422, the transm itter is always on. RS-
485 mode turns on the transmitter only when sending.
Only one slave device on a RS-485 network should have
a terminator installed. The host transmitter shou ld also
have a 100 ohm resistor in series with a 0.1 m fd
capacitor . T he term inator on the RPC -320 includes p ull
up and pull down resistors to prevent lines from floating
and generating er roneous char acters.
Page 4-2 RPC -320
SERIAL PORTS
SECTION 4
Two wire RS-485
The RS-485 port on the RPC-320 is set up for 4 wire
mode. 2- wire mode causes transmitted data to be
received. T o use the RPC-320 is this mode, your code
should "flush" the received data or otherwise r emove
transmitted information.
Mechanically, to make a 2- wire system, simply connect
T+ to R+ and T- to R -. M ake sure CON FIG BAUD is
set up for RS-485 mode.
Multidrop Network
Figure 4-3 Data packet
You can use the RPC-320 in a m ultidrop network by
using CO M1' s RS-422/ 485 port. You can c onnect up to
32 units (including other RPC -320' s) over a 4,000 foot
range.
The response depends upon the nature of the command.
Suppose the command M means "return a digital I/O
port status". T he RPC-320 could rea d the port and
respond with AA2< cr> . The first A is an
acknowledge, that is no error s were detected in the
message. The data, A 2, is a hex number and is broken
down as follows:
Figure 4-2 shows an exam ple of a multidrop network.
This networ k includes a host and one or m ore devices.
The host transmits data packets to all of the devices, or
nodes, in the network. A data packet includes an
address, com mand, data, and a checksum. See figure 4-
3. The packe t is received by all devices, and ignored by
all except the one addressed.
Bit/line
Status
7 6 5 4 3 2 1 0
1 0 1 0 0 0 1 0 = A2
Lines 1, 5 and 7 are high while the others are low.
The relationship described below between nodes and the
host is a maste r-slave. The host dir ects all
The following program fragment uses ON C OM$ and
STR in a network environment. ON C OM$ generates an
interrupt when a < CR> is received. The interr upt
progr am uses a STR fun ction to deter mine if the da ta
packet was addressed to this card.
communication. Nodes "do not speak unless spoken to".
Peer to peer com munication, while possible with the
RPC-320, is not discussed here.
Ther e are m any com munication protoco ls. F or this
example, a protocol might look som ething like this:
10 STRING 200,20
20 ON COM$ 1,0,13,1000
30 $(1) = ">05"
> 22M B1
.
.
.
The pr otocol starts w ith the < cr> charac ter. This
character synchronizes all units and alerts them that the
next few characters coming down are address and data.
In this case, "> 22" is the units address. "M " is the
comm and and " B1" is the checksum . T he comm and is
terminated with a < cr> character.
1000 $(0) = COM$(1)
1010 A = STR(8,$(0),$(1))
1020 IF A = 0 THEN RETURN
.
.
Line 20 sets up ON CO M$ to interrupt on a < CR> and
branch to line 1000. Line 30 sets up this card' s address.
Line 1010 checks to see if the received message = this
card's address. If not, the subroutine ends. When there
is a match, further processing is performed.
ACCESSING SERIAL BUFFERS
Page 4-3 RPC -320
SERIAL PORTS
SECTION 4
You can access C OM0 and COM 1 buffers in three w ays:
DISABLING CONTROL-C
Program execution is terminated by entering a
< Cntl> < C> . To disable < Cntl> < C> so program
execution is not terminated, execute the following
statement:
1. INPUT sta tement. This removes all characters in
the buffer up to the term inator cha racter and puts
them into a variable.
When using the INPUT statement, program
execution is susp ended until a < cr> (Enter key) is
received. W hether this is a problem depends on
your particular application.
DBY(38) = DBY(38) .OR. 1
COMMANDS
The following is a list of RPBASIC-52 commands used
for serial I/O. These commands and functions are
explained in the BASIC-52 Programm ing Manual and
RPBASIC-52 Software Supplement in this manua l.
INPUT strips bit 7. This means ASCII characters
from 0 to 127 are rec eived.
2. GET function. Char acters ar e rem oved one at a
time as an ASCII value. A 0 is returned when the
buffer is empty. Use the C OM function to
determine if the buffer is empty or if a 0 is an
ASCII value. Use UIn to select the serial port for
GET.
Comm and
Function
CLEAR COM$
COM$
COM
Clears serial input buffer
Returns string from buffer
Returns number of characters
in buffer
If you don' t read the buffer and the buffer fills, all
subsequent characters are discarded.
CONFIG BAUD
GET
Sets serial port parameters
Returns a character fr om the
serial buffer
3. COM$(n) retrieves all characters in the buffer,
including other control codes (except CR).
INPUT
LIST
PRINT
Receives string from port
Outputs program listing
Outputs data in various
form ats
ACCESSING COM0 AND COM1
PRINT #,
SPC
STR
Prints to a specified port
Print out n number of spaces
String handling commands
Tabs to predetermined
positions
Reroute inputs to COM0
Route inputs to COM1
Rerou te PRIN T statem ent to
COM0
INPU T and GET functions retrieve data using the UIn
comm and. UI0 routes inputs to C OM 0 while U I1 inputs
from the CO M1 port. PRINT outputs are set by the
UOn command. UO0 prints out COM0 while UO1
outputs COM1 using the PRIN T comm and. PR INT #1,
is an alternative way to print to COM 1.
TAB
UI0
UI1
UO0
The following show how UIn and U On work.
UO1
Route P RINT statement to
COM1
100 UI0
Set to COM0
110 INPUT A
Get data from COM0 port
USING
PRINT formatting statement
520 UI1
530 INPUT B
Switch to COM1 port
Get data from COM1 port
SERIAL PORT PIN OUT
Pin outs for J1 and J2 are shown below. Unused pins
are open.
800 REM
810 PRINT "Temperature:",T
Print to COM0
900 REM Print to COM 1
910 PRINT#1, "Set pressure at:",CA
J1 &
J2
Name
Direction
from card
Power up default is set to COM 0.
3
4
Tx
RTS*
Out
In
Page 4-4 RPC -320
SERIAL PORTS
SECTION 4
5
6
RXD
CTS
In
Out
9
10
Ground
+ 5
*RTS input not in COM0.
A seria l cable is made by simp ly taking a 10 pin fe male
IDC connector and crim ping a 9 wir e ribbon c able to it.
Page 4-5 RPC -320
RAM MEMORY
SECTION 5
To install a new memory chip:
INTRODUCTION
1. Turn off power to the RPC-320.
32K, 128K, or 512K of RAM may be battery backed on
the RPC-320. RA M size can be changed at any time.
RAM is in socket U5.
2. Remove the mem ory chip from U 5.
3. Orient the chip so pin 1 is towards the inside.
If installing a 32K RAM , place the chip at the
RAM is backed up when a DS1216DM is installed.
Battery life depends upon RAM size, its power
consumption, ambient temperature, and amount of time
the board is operating. Gener ally, a battery life of about
3 to 5 years is expected . Oper ating the boar d at 50 °C
reduces battery life by 1/2.
bottom
of the socket (m emor y chip pin 1 goes into
socket pin 3). The top two socket pins in each row
are empty.
If installing a 128K or 512K, install the chip into the
socket.
The DS1216DM is also a real time clock. Thus, DATE
and TIM E functions and com mands are available when it
is installed. See Chapter 7 for more inform ation.
4. Check and change , as n ecessar y, jum per W 1 to
conform to the new mem ory.
This chapter discusses changing RAM, saving and
retrieving variables, r unning assembly language
program s, and battery condition. F igure 5-1 shows the
location of U3 and jumper W1.
RAM size
Jumper W1
32K
128K
512K
[1-2]
[1-2]
[2-3]
Increasing RAM size does not necessarily increase the
program size RPBASIC-52 can handle. Maximum
program and variable size is 60K. Additional RAM does
increase the amount of space available for PEEK and
POKE storage.
BATTERY BACKUP
An optional battery backup module may be installed.
Principal is the same as installing a RAM chip.
WARNING:
An additional modification must be performed to the
DS1216DM module when a 512K RAM is installed.
Contact Rem ote Processing fo r details.
To install a module:
1. Remove the RAM IC in U5.
2. Install the DS1216DM in U5.
3. Re-install the RAM chip into the top of the module.
Figure 5-1 RAM and W1 jumper location
CHANGING MEMORY
Checking the battery
Battery voltage is approximately 3.0 volts, measured
between pin 16 (ground) and 30 (128K RAM ), 14 and 28
(32K RA M), or 16 and 32 (512K RAM ) on the IC itself
(not the circuit side of the board). Be sure to pow er up
the RPC -320 once to a ctivate the batter y backup cir cuit
in the module.
Different types of memory can be installed at any time.
RPC-320 models come with either 32K or 128K of RAM
installed. Maximum is 512K.
To change a mem ory chip, you need to rem ove the
original chip, install the new one, and set jumper W 1.
Page 5-1 RPC -320
RAM MEMORY
SECTION 5
RESERVED MEMORY
Many control systems use process variables that are
operator entered. "variables" in this context include
numbers, strings, ar rays, recipes, or formulas as applied
to your application. They are not a part of the variables
used by Basic. Process variables are accessed by PEEK
and POK E type statements.
The upper 512 by tes of mem ory ar e set aside for this
purpose in a 32K RAM system. In 128K and 512K
RAM systems, all of the first 64K of RAM is used for
program and variable stora ge. P rocess var iables in these
larger versions are stored starting at segment 1 and
higher.
Figure 5-2 RPBASIC-52 memory map
100 POKEB0,7E00H,C
120 B = PEEKB(0,7E05H)
When the combined program and data size exceed 30K,
a 128K or 512K RA M is necessary. Additional R AM is
necessary when your pr ogram has large ar rays and / or
string storage r equireme nts.
The highest address in a 32K RAM system is 7FFFH.
MTOP should not be used when variables are battery
backed for power off conditions. Basic clears all of
RAM in segment 0 (except for the last 512 bytes in a
32K system) at power up. Store process variables
starting at segment 1 or higher in a 128K or 512K RAM
system or start at address 7E00H, segment 0 in a 32K
RAM system.
Many times it is desirable to store an array containing a
"mixed" set of variables. Suppose you needed to save an
array m ade up of the following elem ents:
Bytes Type
Description
1
Byte
Job counter
2
6
20
Word
Floating
String
Analog output offset
Corr ection factor
Job name
STORING VARIABLES IN RAM
Program s and RPBASIC-52 var iables reside in segment
0. D ata is generally stored in segment 1 and higher (a
segment is 64K of memory). See memor y map figure 5-
2. "Data Area" is segment 1 or higher.
Total number of byes required for each array is 30 (add
1 for a < CR> at the end of the string).
The Job c ounter is increm ented ever y time it is
completed. A nalog output offset is an output constant or
other var iable used to initialize the outputs. Job name is
used with the display to identify a job.
PEEK and PO KE commands store and retrieve values
from memor y. For example:
20 POKEB1,12,A
For this example, suppose there are 20 of these arrays
that need to be set up. A program fragment is as
follows:
puts the 8 bit value of A into segment 1, addr ess 12.
Use the PEEK statement to retrieve the variable:
100 STRING 400,20 Initialize 20 string arrays
50 B = PEEKB(1,12)
300 NO = 12
Element to fill
Corr ection factor
Job counter
310 CF = 23.432
320 JC = JC + 1
330 AC = 25
Accessing reser ved mem ory in a 32K RAM system is
accomplished as follow s:
Analog offset
350 GOSUB 1000
500 NO = 5
Element to retrieve
Page 5-2 RPC -320
RAM MEMORY
SECTION 5
510 GOSUB 2000
Retrieve variables
This subroutine stores variables CF, JC, and AC into an
array starting in segment 1, address 0.
ASSEMBLY LANGUAGE INTERFACE
1000 POK EB1, 30*NO, JC
1010 POKEW1,30*NO+ 1,AC
1020 POKEF1,30*NO+ 3,CF
1030 POKE$1, 30*NO+ 9,$(0)
1040 RETURN
Assembly language program s must be placed in the
RPBASIC-52 E PROM . W hen using RPBASIC-52,
progr ams should start at addr ess 6000H or higher up to
7FFFH.
RPBASIC is norm ally in a 32K byte EPROM (27C256).
A 64K byte EPROM (27C512) may be used in socket U4
provided the following modification is made: Cut the
trace between W11 pins 1 and 2 on the circuit side.
(Jumper W11 is under socket U4. P in 1 is designated by
the square pad.) Solder a jumpe r between W11 pin 2
and 3.
Subroutine 2000 - 2040 retrieves data into variables CF,
JC and AC.
2000 JC = PEEKB(1,30*NO)
2010 AC = PEEKW (1,30*N O+ 1)
2020 $(1) = PEEK$(1, 30*NO+ 9)
2030 CF = PEEKF (1,30*N O+ 3)
2040 RETURN
Docum ented assem bly language interface calls listed in
the Intel MCS BASIC -52 Users Manual will not work
with RPBASIC-52. This is because RPBASIC-52 has
been reassembled and code shifted around.
You can store and retrieve strings and variab les in this
way. Ther e are many variations of PEEK and POKE
statements. Refer to the RPBASIC-52 Software
Supplement in this manual for additional information and
examples. A list of comm ands appea rs at the end of this
chapter.
The RP-10 adapter boar d is used to run and debug
assembly and C code. This board plugs into RAM
socket U5 and RPBASIC socket U4. It does not use the
Basic at all.
BLOCK DATA TRANSFER
COMMANDS
Blocks of data are transferred to and from RA M and
flash EPR OM u sing BLOAD and BSAVE comma nds.
Block transfers are useful for loading and storing data,
look-up tables, text, etc. U p to 65,535 bytes can be
moved from RAM to EPROM or EPROM to RAM at
one time. The absolute number of bytes that are moved
is limited by the RAM and EPR OM sizes.
The following is a list of RPBASIC-52 commands used
with RAM.
Comm and Function
BLOAD
BSAVE
CALL
CBY
DBY
Transfers data from EPROM to RAM
Transfers data from RAM to EPROM
Calls an assembly language routine
Return s code memor y data
Returns or assigns internal memory
Sets top of RAM memory
Return s a byte
Returns a floating point number
Returns a 16 bit value
Returns a string
Stores a by te
Stores a floating point number
Stores a 16 bit value
Stores a string
Returns or assigns external memory
Transfers from EPRO M to RAM , using BLOA D, take
approximately 23.5 m s/1000 bytes. T ransfers from
RAM to EPROM , using BSAVE , are even longer at 100
ms/ 1000 bytes using a 512K byte EPR OM . T his time is
even longer when smaller E PROM s are used (due to the
program ming algorithm).
MTOP
PEEK B
PEEK F
PEEK W
PEEK $
POKE B
POKE F
POKE W
POKE $
XBY
Serial port, tick timer, and external interrupts are
enabled dur ing these transfers. Howe ver, response s to
ONT ICK or ONIT R are d elayed by the time it takes to
transfer data. W hen ONTIC K or ONIT R must be
serviced faster, transfer data in sm aller blocks.
Refer to BLOAD and BSAVE in Appendix A for more
information.
Page 5-3 RPC -320
DIGITAL AND OPTO PORTS
SECTION 6
technical support for suggestions appropriate to your
application. Power may be applied to ISOA/B at
any time.
INTRODUCTION
Digital I/ O lines ar e used to inter face with op to-module
racks, switches, low current LED's, and other TTL
devices. The RPC-320 has 34 of these lines. 8 TTL I/O
lines go to a terminal strip. Additionally, there is one
high curr ent output and a n opto-isolated inp ut. R efer to
the figure below for the location of these lines.
Several softwar e comm ands support the digital I/O ports.
ON L INE br anches to a subroutine w hen a line changes.
ON C OUN T counts the number of high to low
transitions at a digital line. Maxim um coun ting rate is
about 95 Hz. T hese commands simplify design and
greatly speed up execution. See Appendix A for more
information.
Eight lines at P6 are intended for general purpose TTL
I/O such as switches, level sensors or to drive other
devices.
DIGITAL I/O PORTS
A 24 line con nector, J3, is inte nded to inter face to opto
racks or other TT L devices. 8 of these lines are high
curr ent outputs, capable of sink ing 75 to 200 m a. O pto
modules on an opto rack sense presence of AC or DC
voltages or switch them.
All ports use an 82C55 for I/O. Lines are accessed
using LINE or LINEB commands. Lines at J3 and P6
are configured for inputs or outputs using the CONF IG
LINE comm and. See Appendix A for information.
L8 at P2 is a "zero" ohm FE T switch. It is intended for
switching L ED b ack lighting on an LC D display. This
line may also be used to switch high current, high
voltage power . It can sw itch up to 2 amps.
WARNING:
When using CON FIG LIN E, output lines go low
momentarily (less than 10 micro-seconds) until they
are set high again as per the data in the command
line. Some other lines are affected when C ONF IG
LINE 0 is executed. Refer to CONFIG LINE
command in Appendix A for more inform ation.
ISOA/B is used as an isolated input as well as an
interrupt.
In addition to the 24 I/O lines from J3, the display port
can be used as digital I/O. Refer to Chapter 8 for more
information.
Digital Por t J3
This port is used to interface opto modules (using the
MP S series racks), drive small r elays, solenoids,
motors, or lamps, and provide general purpose TTL I/O
to other logic devices or mechanical switches. The
LINE com mand is use d to access and control this p ort.
The lines on J3 are divided into 3 eight bit groups from
an 82C55. Ports A and B are configured as all inputs or
outputs. Port C is progr amm ed as one gr oup of 8 inputs
or outputs or as two groups of four lines (upper and
lower C). T he four lines in upper and lower C can each
be program med as all inputs or outputs. R efer to T able
6-1 to determine the opto channel or J3 pin number for a
port. U se CON FIG LIN E 100 (Appendix A) to
configure por ts A, B, and C for inputs or outputs.
Figure 6-1 Digital I/O
When a line is configured as an output, it can sink a
maximum of 2. 5 ma at 0.4V and can source over 2. 5
ma. Outputs sink 15 ma at 1. 0V. This will dr ive opto
modules. P ort B is connected to a high current sink
through U12. See "High current output" later.
WARNING:
Apply power to the RPC -320 before applying a
voltage to the digital I/O lines to prevent current
from flowing in and damaging devices. If you
cannot apply power to the RPC-320 first, contact
Digital I/ O lines at J3 m ay be pulled up to + 5 volts or to
Page 6-1 RPC -320
DIGITAL AND OPTO PORTS
SECTION 6
to the touch. Consider the maxim um ambient
ground through a 10K/100K resistor packs using jumper
W7. 10K is on digital port A only.
temper ature the b oard w ill operate at. A t 70°C, warm to
the touch at room temperature m ay be too much.
Consider adding a heat sink.
Jumper W7 for pull up or down configuration is as
follows:
The PW M com mand m ay be used with this port. Use
the circuit in Figur e 6-2 when switching induc tive loads.
Use the "GN D" ter minal next to L8 when switching
loads.
W7[1-2]
W7[2-3]
Pull up
Pull down
Setting W7 for pull up makes interfacing to switches and
"open collector" TTL devices easy . See "Inter facing to
Switches and other devices" below.
Optically Isolated Input
ISOA a nd ISOB ar e inputs to an optica l isolator. This
input is read as L8. It can also generate an interrupt
provided W8[1-2] is jumpered and ONITR is set. Refer
to Chapter 12 for input voltage and interrupt
requirements. This line can be used to "wake up" the
CPU fr om low power IDLE 2 mode.
Digital Port P6
Connector P6 has 8 digital I/O lines for general pur pose
use. Additionally, 3 ground and a + 5V positions are
provided. + 5V power and gr ound may be brought in or
taken from this connector. L ines are numbered L 0-L7.
This por t may be used to interfa ce switches, dr ive small
LED' s, and provide general purpose TTL I/O to other
logic devices. Voltage and current param eters are the
same as J3 except there is no high current output. Port
C from an 82C55 is used for this I/O.
The status is read using the LINE(8) function.
A = LINE(8)
A 1 is returned when there is no input and a 0 when
voltage is sufficiently high enough to turn on the isolator
(about 3.5 volts).
Upon po wer u p or reset lines L0 to L3 ar e inputs while
L4 to L7 are outputs. Lines L4 and L5 are low while L6
and L7 are high at power up. All lines are connected to
a 10K pull up resistor (R21). Lines are r econfigured for
all inputs or outputs using the CONFIG LINE 0
command, found in Appendix A.
The opto isolator is not polarity sensitive. This input can
be used in conjunction with or independently of the
ONIT R statement.
Digital I/O Commands
High Current Port L8
L8 will switch 2 amperes to ground through a "zero
ohm" FET switch. Maxim um off voltage is + 50 volts
DC. "ON" resistance is about 0.5 ohm.
The CON FIG LINE statement is used to configure lines
at J3 and P6 for inputs a nd outputs. J3 power up default
is all inputs. P6 pow er up default is L0 to L 3 are inpu ts
and L4 to L7 are outputs. CONFIG LINE 0 refers to P6
while CON FIG LIN E 100 to J3.
Use this port to switch LED back lighting for LCD
displays on or off under softwar e control.
The L INE comm and has 3 variations: LIN E, LIN E B,
and LINE #. Each is described below. See Appendix A
for more inform ation.
This line is always an output. Use the LINE 8 com mand
to turn this line off or on.
LINE 8,ON
LINE function and statem ent is used with M PS-XX opto
rack at J3. It accesses a module according to the
position number printed on the MPS board. Lines are
numbered from 100 to 123. The opto module number
used in this command is computed by adding 100 to the
board position number. LINE also accesses L0-L 8 on
P2 and P6.
LINE 8,1
Both commands turn on L8.
The F ET sw itch is rated fo r much higher curr ent.
However, continuous current is much less without a heat
sink attached. You may dr aw more than the rated 2
amps on an intermittent basis. How m uch and for how
long depend s upon your application. A quick w ay to
check for excessive current is to touch (VERY
The LIN E B function and statement is used to acc ess
CARE FUL LY!) Q2 (next to P2). It can be warm to hot
Page 6-2 RPC -320
DIGITAL AND OPTO PORTS
SECTION 6
ON C OUN T and O N LIN E do not ne cessarily h ave to
be input lines. They can be outputs controlled by
another part of the program.
digital I/O lines 8 bits at a time. T he address for port A
is 0, B is 1, and C is 2. J3 I/O bank number is 3.
Address for lines L0-L7 at P6 is 2 and I/O bank number
is 5.
High Current Output
LINE # function and statement accesses lines according
to the pin number at J3. J3 lines are number ed from 101
to 125. The line number used in this com mand is
computed by adding 100 to the connector pin number.
Line 102 is not allowed as it is the + 5V supply. See
table 6-1 to cor respond a pin numb er to a por t and opto
rack position.
Eight lines at J3 can be used as high cur rent driver s.
These outputs will switch loads to ground. Outputs are
controlled by Port B on the 82C55.
Logic outputs are inverted. That is, when a 1 is written
to the high current port, the output is switched on and
goes low.
P6 lines are numbered 0 to 7, and correspond to the
terminal number on the boar d. The L INE function and
comm and are used to acc ess these lines. L 8 at P2 is a
high current output and is accessed using LINE 8. T he
status of ISOA/B is returned using LINE 8 function.
The output driver chip, U 12, can be replaced w ith a DIP
shunt jumper so it is like the other lines at J3. To do
this, r emove U12. Install a DIP shunt so pin 1 goe s to
pin 18. Pins 9 & 10 ar e open.
LINE, LINE B and LIN E # re turn a ' true' logic level.
A ' 1' indicates + 5 volts or high and a '0' is low or
ground. LINE B and LINE # output true logic levels.
LINE, however, outputs inverted logic. In order to turn
on an opto m odule, a line must go low. Howe ver, to
turn on a module using LINE, specify ' 1' or ON. High
curr ent output chip U 12 inverts c ontrol signa ls sent to it,
regardless of comm and.
NOTE: Outputs at the high current lines are not
compatible with TTL logic levels and should not
be used to drive other logic devices.
Each of the high current outputs can sink 500 ma at 50V.
However, package dissipation will be ex ceeded if all
outputs are used at the maximum rating. The following
conserv ative guidelines a ssume the number of outputs
are on simultaneously:
100 LINE 118,1
110 LINE 118,ON
120 LINE#104,0
:REM Turn opto 118 ON
:REM Turns opto 118 ON
:REM also turns 118 ON
# of outputs
on
Maximum current
per output
ON LIN E is a multitasking command. W hen active, the
RPBASIC oper ating system checks the specified line
every 5 ms. If the line changed state from the previous
scan, a software interr upt is set. Upon completion of the
current BASIC command (and assuming no other
interrupts are active), pr ogram execution branches to a
specified subroutine. This command is useful for
monitoring lines, such as limit or door switches, that
may not change often or when the program structure
make it unwieldy to check lines frequently.
1
2
3
4
5
6
7
8
500 ma
400 ma
275 ma
200 ma
160 ma
135 ma
120 ma
100 ma
Another multitasking command, ON C OUN T, causes the
operating system to ch eck the specified line every 5 m s.
Up to 8 lines are monitored. If the line changed from a
high-to-low state, a counter is incremented. M aximum
counting rate is effectively 95 Hz. This command has
two variations. One causes a software interr upt when a
specified num ber of co unts is reached. Another simply
counts pulses at a line. The C OUN T function returns
the number of pulses since ON CO UNT was initiated.
See Appendix A for command infor mation.
The ther mal time constant of the package is very shor t,
so the number of outputs that are on at any one time
should include those that overlap even for a few
milliseconds.
Incandescent lamps have a " cold" curre nt of 11 times its
operating current. Lamps requiring more than 50 ma
should not be used unless a series resistor is installed.
Page 6-3 RPC -320
DIGITAL AND OPTO PORTS
SECTION 6
130
A = LINE#(103)
Function
Protection diodes m ust be used with inductive loads.
Refer to figure 6-2
Program line 100 turns external opto module rack
position 0 off. Program line 110 sets J3, pin 3, to a
logical 0 level. Program line 120 returns the status of
externa l opto modu le rack po sition 0. If the modu le is
"off", a 1 is returned (assuming it is an output module).
Program line 130 returns the status of J3, pin 3 as a 0 or
1.
Example: To turn on opto module in slot position 8, the
following command is executed:
Figure 6-2 Inductive load protection
LINE 108, 1
Do not parallel outputs for higher drive. This could
result in damage since outputs will not share current
equally.
A ' 1' turns on a module while a 0 turns it off. (In actual
fact, a 0 is written at the port. )
The outputs at U12 are open collector. An external
device must supply power.
See Digital I/ O program ming exam ple later in this
chapter.
Interfacing Digital I/O to an opto-module rack
Interfacing to switches and other devices
I/O lines at J3 can interface to an MPS-8, 16, or 24
position opto m odule rac k. L ines not going to an opto
module connect to a screw terminal on the MPS-XX
series boards. This feature allows you to connect
switches or other TTL type devices to the digital I/O
lines. The MPS-XX series boards accept G4 series
modules.
Switches and other digital I/O devices may be connected
directly to P6 or J3. The STB-26 terminal board
provides a convenient way of interfacing switches or
other digital I/ O devices. L ines at J3 are connected to
the STB-26 with a CMA-26 cable. Digital devices are
then connected to the screw terminals on the STB-26.
The M PS-XX serie s opto racks also provide a way to
access digital I/O lines.
A CM A-26-24 connects J3 on the RPC-320 to the MP S-
XX board. Cable length should be less than 2 feet.
Excessive cable lengths cause a voltage drop and
consequently unreliable operation. Make sure + 5 V and
ground is connected to the M PS-XX racks.
Switches may be connected directly to a line. When
jumper W7 configures the resistors as pull ups, a switch
closure to ground at a line is read as a 0 using the LINE
# function at J1. 10K resistors are always pulled up at
lines L0 to L7.
Before a line is set, the 82C55 chip must be initialized.
This is done using the CONFIG LINE statement. Group
inputs and outpu ts together. Refer to Table 6-1 for opto
module position, port number , and connector pin out. If
opto channels 16-23 are used, U12 should be replaced by
a DIP shunt jumper.
When W 7 configures the input re sistors as pull downs,
one end of the switch m ust be tied to + 5 volts. If this is
not possible or convenient, a 1K resistor can be tied
between an input and + 5 volts to force it high when a
switch is open.
Digital I/ O prog ramm ing exam ple
The LINE and LINE # com mands are used to control
and access opto modules and lines. These commands are
both functions and statements, depending upon how they
are used.
The follow ing exam ple reads a switch at port A, bit 3
(J3-25) (program line 200), r eads L1 at P6 (program line
210) and turns on opto module at channel 5 (program
line 220). A LE D is controlled through the high current
port at J3-10 (port B, bit 0) (program lines 230 and 240).
For testing, a 100 ohm resistor from J3-10 to + 5 volts
can be substituted.
100 LINE 100, 0
Statement
Statement
Function
110 LINE #103, 0
120 A = LINE(100)
Page 6-4 RPC -320
DIGITAL AND OPTO PORTS
SECTION 6
100 CON FIG LIN E 100,13, 1,1, 1
200 D = LINE #(125)
210 F = LINE (1)
220 LINE 105, 1
230 LINE #110,1 :REM Turn on LED
240 LINE #110,0 :REM Turn off LED
Line 100 configured the 82C55 so ports A and C are
inputs while B is the output.
Note that the LINE statement is used to control both opto
modules and individual lines.
Lines can also be read or controlled in the imme diate
mode.
PRINT LINE#(125)
returns the status at J3-25. Notice that even when a line
is configured as an output, its status can be read back.
Execute the following to control L7.
LINE 7,OFF
sets L7 low. E xecuting
LINE 7,ON
sets the line high.
LINEB is used to read and write a byte at a time.
LINEB 3,1,128
sets port B, bit 7 high and bits 0-6 are low.
Pulse Width Modulation (PWM)
Any line accessible by the L INE com mand m ay be pulse
width modulated. PW M comm and parameters determ ine
high and low time (to 5 ms resolution) and, optionally,
number of pulses.
Use PW M to control the brightness of a display (via line
8), control the speed of a motor, or output a number of
pulses to a stepper controller. Brightness control using
LED ' s is best achieved when htime or ltime are less than
5 (25 ms). O ne of the parameters should be 1.
Noticeable flicker occurs when htime and ltime sum to
more than 6 (30 ms).
See the PWM comm and in the Software Supplement for
more inform ation. Use Table 6-1 to use an output
directly from J3.
Page 6-5 RPC -320
DIGITAL AND OPTO PORTS
SECTION 6
Table 6-1 Connector pin ou t - J3
Pin #
82C55
Description
Opto
Channel
19
21
23
25
24
22
20
18
Port A, line 0
Port A, line 1
Port A, line 2
Port A, line 3
Port A, line 4
Port A, line 5
Port A, line 6
Port A, line 7
8
9
10
11
12
13
14
15
10
8
4
6
1
3
5
7
Port B, line 0
Port B, line 1
Port B, line 2
Port B, line 3
Port B, line 4
Port B, line 5
Port B, line 6
Port B, line 7
High current
High current
High current
High current
High current
High current
High current
High current
16
17
18
19
20
21
22
23
13
16
15
17
14
11
12
9
Port C, line 0 Lower C
Port C, line 1 Lower C
Port C, line 2 Lower C
Port C, line 3 Lower C
Port C, line 4 Upper C
Port C, line 5 Upper C
Port C, line 6 Upper C
Port C, line 7 Upper C
0
1
2
3
4
5
6
7
26
2
Ground
+ 5V
Figure 6-3 Digital I/O connector pin out (viewed from top)
Page 6-6 RPC -320
DIGITAL AND OPTO PORTS
SECTION 6
COMMANDS
The following tables shows the RPBASIC-52 comm ands
used for digital I/O.
Comm and
Function
CONFIG LINE Configures I/ O ports
COUNT
LINE
Returns number of pulses at a line.
Function returns status of an opto
module as a 0 or 1.
LINE
Statemen t turns on or off an opto
module.
LINE B
LINE B
LINE #
LINE #
ON COUNT
ON LINE
PWM
Function returns 8 data bits from any
I/O type device.
Statement writes 8 data bits to any I/O
type device.
Function re turns status of line at J3
connector as a 0 or 1.
Statement wr ites data to a line at J3
connector as a 0 or 1.
Counts pulses and optional generates an
interrupt.
Generates an interrupt when a line
changes.
Sets PWM param eters for any line.
Page 6-7 RPC -320
CALENDAR/CLOCK
SECTION 7
NOTE: The clock module is turned off as shipped from
the factory. DATE and TIME functions return
a HARDW ARE erro r until DA TE is set first.
DESCRIPTION
An optional DS1216DM calendar/clock module m ay be
installed in U5. The DS1216D M also battery backs
RAM.
To retrieve date and time as part of a program:
100 PRINT "Time: ",
110 FOR N=0 TO 2
120 PRINT TIME(N),
130 NEXT
140 PRINT "Date: ",
150 FOR N=0 TO 2
160 PRINT DATE(N),
170 NEXT
The DS1216DM from Remote Processing is a modified
version of the Dallas DS1216D. An internal reset line
has been cut. When a 512K RAM is installed, an
additional line is cut and another soldered. Contact
Remote P rocessing for de tails.
180 PRINT CR,
190 GOTO 100
Battery life depends greatly upon the ambient
temperature. Battery life degrades up to 50% at 50°C,
using 25°C as a refer ence. RAM size and type also
affect battery life. Generally, you can expect a battery
life of 3 to 5 years.
run
Time: 13 24 12 Date: 94 11 14
When the clock module is missing, defective, or the date
has not been set, a HARD WARE er ror (code 50 at
address 101H) is returned by RPBASIC when a DATE
or TIM E function is performed. Use ONE RR to trap for
this error and report the problem.
Accuracy is about 1 minute/month and is not adjustable.
Hour s are exp ressed in 24-hour fo rma t.
Refer to the RPBASIC -52 Software Supplement for
more com mand information.
COMMANDS
The clock module is installed by first r emoving the IC in
U5. Then, install the DS1216DM into the socket. Install
the RAM chip into the socket. W hen installing a 32K
RAM chip, the top two pins in the DS1216DM ar e left
open.
The following is a list of RPBASIC-52 commands for
the calendar/clock.
Comm and
Function
Refer to CHAPTER 5 for information about using battery
backed RAM and jumper setting when installing a 512K
RAM.
DATE
DAT E(n)
TIME
Sets date and tur ns on mod ule
Return s date
Sets time
TIME (n)
Returns time
WARNING: An additional modification to the
DS1216DM is necessary when
installing a 512K RAM. C ontact
Remote P rocessing for de tails.
SETTING DATE AND TIME
Set the date to turn on the clock module. Date and time
are set w hile running a progr am or in the imm ediate
mode. Date and time are treated as number s and not
strings. To set the date and time:
DATE 95,11,28
TIME 13,23,43
The time is set to 1:23:43 PM.
Page 7-1 RPC-320
CALENDAR/CLOCK
SECTION 7
Figure 7-1 Calendar/Clock
Page 7-2 RPC-320
DISPLAY PORT
SECTION 8
INTRODUCTION
Additional power wiring is usually required for LCD
graphic and VF charac ter displays. This infor mation is
included with the display. Information content is display
dependent. Below is general information on both.
RPBASIC-52 and the RP C-320 interface to a variety of
displays:
VF (vacuum florescent) character
LCD (liquid crystal) character
LCD gr aphics
Graphic displays require additional voltages not
generated on the RPC-320. These must be supplied
externally. An external contrast adjustment may be
necessary. Y ou may be able to connect these through
screw term inal block P5.
Character display sizes range from four lines by 20
characters to four lines by 40 characters. The graphics
display supports 160 x 128 pixels. Remote Processing
supplies these displays with appropr iate cables. A
contrast adjustment fo r LC D char acter displays is built
into the card.
VF c haracte r displays r equire + 5 volts and gr ound to
connector P5. This may in the form of external wires
from the main power connector on the board or power
supply.
If a display is not used, this port may be used for general
purpose digital I/O. P ort A and part of port B from an
82C55 are available. See CONNE CTOR D ISPLAY PIN
OUT below for ava ilable lines.
Additional information for commands m entioned in the
following text are found in the RPBASIC-52 Software
Supplem ent in this manual.
WRITING TO THE DISPLAY
The cable length to a display depends upon the amount
of current it requires. A significant amount of voltage
drop occurs with a long cable. V acuum florescent and
The display type must first be set using the CON FIG
DISPLAY command. T he DISPLAY com mand is used
to print information.
LCD graphics cables should b e less than 2 feet.
A
charac ter LC D display c able should be less than 5 feet.
PROGRAMMING EXAMPLE
The example below is for a four line by 20 character
LCD display. Even though DISPL AY statements do not
end with a comma (, ), a < cr> < lf> sequence is not
sent. Use C R to force a return to the beginning of the
line. A CR does not scroll characters on a display. You
must position the cursor to the next line.
10 CONFIG DISPLAY 1
20 STRING 200,30
30 $(0) = "Hello world"
40 DISPLAY (1,2),$(0)
Figure 8-1 Display interface
CONNECTING DISPLAYS
The display port is designed to supply all the lines
necessar y for V F and L CD displays. A custom cable
connects the RPC-320 to the display.
Displays purchased from Remote Processing include a
cable. You simply connect the 20 pin connector to the
RPC-320 L CD display port and the other end into the
display.
Page 8-1 RPC-320
DISPLAY PORT
SECTION 8
DISPLAY TYPES
COMMANDS
RPBASIC-52' s software driver is based upon the
characteristics of the display family. Compatible VF and
LCD displays are shown below:
The following RPBASIC-52 com mands are used for the
display.
Manu fact.
Model
Type
Comm and
Function
Optrex
Optrex
IEEE
DMC 40457
DMC 40202
3601-90-080
DMF 682N
LCD 4 x 40
LCD 2 x 40
VF 4 x 20
LCD 160W x 128D
CLEAR DISPLAY
CLEAR DISPLAY LINE Clears curr ent line
CONFIG DISPLAY
Clears entire display
Specifies display type to
use
Optrex
DISPLAY
Prints the string at the
row and collum specified
DISPLAY CONNECTOR PIN OUT
The display port uses an 82C5 5 for data and contr ol.
The table below lists a pin number and its intended
function. A display may not use all lines even though
they are available.
J4
8255
Function
Pin
Port/line
1
Logic + 5V
2
Digital ground
3
A/4
D4
4
Contrast voltage
5
6
7
8
A/6
A/5
B/4
B/3
B/2
A/7
A/1
A/0
A/3
A/2
B/7
B/6
B/5
D6
D5
Reset (from invertor)
Write
Read
D7
D1
D0
D3
D2
CS (from invertor)
Com mand/ data
Halt
Contrast adjust
Alternate power
Power gr ound
9
10
11
12
13
14
15
16
17
18
19
20
J4 is available for additional I/O if a display is not used.
Port A is configured as an input or output. P ort B must
be configur ed as an outpu t if a 17 key or larger keypad is
used. Use the L INE B comm and to access this part.
I/O bank is 4.
Pins 18, 19, and 20 are for the LCD -5003 and other
graphic displays.
Page 8-2 RPC-320
KEYPAD PORT
SECTION 9
INTRODUCTION
10 STRING 200,20
20 $(0) = "123A456B789C*0#D"
30 P = 1
40 PF = 0
50 PRINT "Enter a number from the keypad",
16, 20, or 24 position keypads are plugged into keypad
port J5. Keys are arra nged in a m atrix for mat. A key is
recogn ized when a row and a colum n connect.
REM Rest of program continues
REM Scan keypad and update display
RPBASIC-52 scans and debounces the keypad every 50
ms. Keypad pr esses are returned as a num ber fr om 1 to
24 using the KE YPA D function . Ke ypad scanning is
always active and cannot be turned off. Up to 8 key
presses are buffered.
200 GOSUB 500
210 IF PF = 0 THEN 200
220 PRINT
230 PRINT "Entered string is: ",$(2)
240 PF = 0
250 GOTO 50
Keypad presses are multi-tasked using ON KEYPAD.
When a key is pressed, the program br anches to the
subroutine.
500 A = KEYPAD(0)
510 IF A = 0 THEN 500
520 IF A = 12 THEN 600 : REM Process clear
530 IF A = 16 then 700 : REM process enter
540 A=ASC($(0),A)
550 PRINT CHR(A),
560 ASC($(2),P) = A
570 P = P + 1
Keypads from Rem ote Processing simply plug into J5.
The keypad cable length should be limited to less than 5
feet.
580 ASC($(2),P) = 13
590 RETURN
600 REM Clear input string
610 $(2) = ""
620 P = 1
630 RETURN
700 REM Enter processing
710 P = 1
720 PF = 1
730 RETURN
Program explanation
Line 20 defines the keypad legend. Letters may be
redefined as necessary.
Figure 9-1 Keypad connector
Line 30 sets the position counter used to insert characters
into the string.
PROGRAMMING EXAMPLE
Line 200 w aits for a key press. The enter ed string is
printed.
The following example sets up RPBASIC to scan a 16
position keypad. T he results are echo ' ed when a key is
pressed. Press the 'D' key to enter.
Line 500 checks the keypad. If a character is available,
it processe s it.
Lines 540-590 update the input string and position. A
< CR> is inserted to mark the end of string.
Page 9-1 RPC -320
KEYPAD PORT
SECTION 9
The second example uses ON KEYPAD to generate an
interrupt every time a key is pressed.
KEYPAD PORT PIN OUT - J5
The keypad port uses ports B and C from an 82C55.
Lowe r por t C is configured as an input. Upper port C
and port B bits 0 and 1 are ou tputs.
10 ON KEYPAD1000
.
.
.
500 GOTO 500
The table b elow lists J5' s pin out, 82C55 p ort and bit,
and its intended function.
1000 PRINT KEYPAD(0)
1100 RETURN
Pin
82C55
Function
Line 10 sets up the tasker for keypad interrupts to start at
line 1000. Line 500 loops on itself for demonstration
purposes.
Port/ bit
1
2
3
4
5
6
7
8
9
C/0
C/6
C/5
C/1
C/2
C/4
C/7
C/3
B/0
B/1
Row 1
Column 3
Column 2
Row 2
Line 1000 prints out the key pad position pressed.
Elements of the pr evious program can be com bined with
this one to produce keypad strings.
Row 3
Column 1
Column 4
Row 4
Column 5
Column 6
10
Page 9-2 RPC -320
ANALOG INPUT
SECTION 10
usually affects readings on other channels.
DESCRIPTION
Grounding
The RP C-320 has 8 single ended analog input channels.
These channels are used to measure voltages from
transducers, 4-20ma current loops, thermistors, etc.
Input voltage r ange is 0 to 5 volts or ±2.5V with 12 bit
(4096 count) resolution. Signals are single ended or
differential. Input impedance is 100K ohms to ground.
Analog ground is somewhat isolated from digital ground.
While the ground plane is connected between the two,
analog ground is a virtual "island" connected only in one
place to digital ground. To minimize noise pickup, the
sending device should be connected to analog ground
(located at the analog input ter minal str ip). W hen both
analog and digital grounds come from the same device,
you will have to play around with the g rounds to
determine which scheme provides the best performance
for your system.
Reference IC U 14 has a voltage output that corresponds
to the IC tem peratur e. T his output ma y be used to
measure ambient temperature.
Two am plifiers are available to signal condition inputs.
By installing appr opriate r esistors and capacitor s, inputs
are buffered, amplified, and filtered.
This chapter begins with basic information on connecting
and using ana log inputs. Later, descriptions of how to
measure voltages other than 2.5 or 5 volts, temperature
measurem ent, data logging, using the amplifiers, and
calibration are presented.
CONNECTING ANALOG INPUTS
All analog inputs interface through connector P4.
Additional compone nts, such as r esistors and capacitors,
may be conne cted directly to the screw terminals.
Figure 10-1 Analog I/O
INITIALIZATION
For gr eatest accuracy, connect unused inputs to ground.
Each channel is initialized for 0-5V, single ended input
upon power up. Inputs can be reconfigured for eight
single-ended, four differential, or a mixture of single-
ended and differential inputs. Input voltage ranges are 0
to 5V or ±2.5V for any single-ended channel or
differential pair. Syntax is:
R17 is adjusted to trim accuracy to your system. See
Calibration later in this chapter for more information.
Tem peratur e output or other signa l input may go directly
to channel 0 via header H1. See Temperature
Measurement and Amplifiers below.
CONFIG AIN channel,mode, range
Overvoltage conditions
Inputs are protected over voltage protected. M aximum
voltage on 1 channel is 25 volts. M aximum voltage for
2 to 4 channels is 12 volts. Total input current m ay not
exceed 16 ma on all channels. Each channels input
current is computed by the following formula:
channel ranges from 0 to 7 for single-ended inputs.
Differential inputs use adjace nt channels.
mode defines single-ended or differential. 0 =
differential, 1 = single-ended.
Iin = (Vin - 5)/4700
Differential inputs operate in a special way. The
polarity of the input signal must be connected as shown
for an even or odd channel. For exam ple, when channel
is odd (1, 3, 5, or 7), channel 0 m ust be more negative
than channel 1 otherwise a 0 is returned. Should the
relative polarity change, configure the even channel for
differential input and perform an AIN on it. Use the
When Vin
<
5 volts, no curr ent flows into the channel.
NOTE: An over-voltage condition on one channel
Page 10-1 RPC -320
ANALOG INPUT
SECTION 10
Perform a conver sion as normal:
following tables for differ ential inputs.
A = AIN(0)
When channel = odd
The difference between channel 0 and 1 is returned.
When channel 1 is more positive than channel 0, the
result is zero. The differenc e is read on channel 1 by
performing:
Pol.
CH #
-
0
+
1
-
2
+
3
-
4
+
5
-
6
+
7
channel
1
3
2
5
4
7
6
A = AIN(1)
When channel = even
Pol.
CH #
+
0
-
1
+
2
-
3
+
4
-
5
+
6
-
7
Single-ended, ±2.5V input
CONFIG AIN channel,1,0
channel
0
The result is 0 for -2.500V input, 2048 for 0. 000V, and
4095 for + 2.4988V.
When range = 0, the input is ±2.5 volts and a 1 = 0 to
5 volts.
Acquiring Analog Data
Differential Mode
When differential m ode is specified, inpu ts are actually
pseudo-differential. What this means is that a ground
reference is needed. For example, you cannot place a
battery be tween channel 0 and 1 and get an accurate
reading. T he (-) input must be referenced to ground.
An example of where pseudo-differential works is an
output from a bridge network.
Analog data is accessed with the AIN function. The
syntax is:
A = AIN(channel)
This function assigns the analog value of a channel to the
variable; A in this case. The value returned is alway s in
the 0 to 4095 range bec ause the converter is 12 bits.
Power up or reset default configures inputs to the 0-5V
range, single ended.
A pseudo-differential input subtracts the DC component
from an input. T he IC maker recomm ends the (-) input
remain stable within 1 count with respect to ground for
best results. Connecting a 0. 1 uF capacitor from the (-)
input to grou nd wor ks well.
To view the result of a conversion in the command
mode, type:
When operating in differential mode, r elative + and -
voltages must be connected to specific inputs. When
inputs are reversed, a conversion returns a 0. When the
relative voltage changes, perform a conversion on the
alternate c hannel. CON FIG AIN is perfor med on b oth
channels.
print ain(0)
The result at channel 0 is returned. T he returned value
will always be in the 0 to 4095 range. When using a
channel in the ±2. 5V ra nge, the value returned is
interpreted differently. Zero count is now -2.500V,
4095 is + 4.9988, and 2048 is 0.000V.
Pairs of channels can be differ ential while others single
ended. Thus, if channel 0 and 1 are differ ential inputs,
channels 2-7 may be single ended.
Use the following formulas to convert a returned number
to a voltage:
Examples u sing CON FIG AIN
0 - 5V A = .001221 * AIN(channel)
Below are sample syntaxes for CO NFIG AIN
Differential, 0 to + 5V input
±2.5V A = .001221 * ain(channel) - 2.5
The AIN function require s about 1.5 ms to convert the
data. Additional time is needed to store the data. The
example below takes 255 data samples and stores them
CON FIG AIN 0,0, 1
CON FIG AIN 1,0, 1
Page 10-2 RPC -320
ANALOG INPUT
SECTION 10
period of time (several seconds if possible).
into an array which requires 6 bytes per entry. The
second example takes only two byes per entry, can save
to extended m emor y, but requir es a longer time to get a
data point.
Another way is place a capacitor (0.1 to 1 mfd) between
the input terminal and ground. This is useful when the
source resistance is high.
The pr ogram below take s about 1. 5 ms per data point.
Noise is, by definition, random . If you wer e to plot out
the deviations from a norm, it would roughly resemble a
bell shaped curve. Exper iments on the RPC-320 have
shown that 99% of the readings are w ithin the ±3 count
reading and 60% are ±1 count. Noise readings were
made with all inputs shorted to ground.
10 DIM A(254)
20 FOR X=0 TO 254
30 A(X) = AIN(0)
40 NEXT
This next program saves data above MTOP . M TOP was
previously set. However, if you have 128K or more
RAM, you can POKE into segment 1 or higher. It takes
approximately 2 mS per data point and is not affected by
the memory location saved to.
Temperature Measurement
Refer ence IC U14 outputs a voltage pr oportiona l to its
temperature. This information is used to determine
approximate ambient temper ature in order to turn on
fans or heater s.
10 A = 30000
20 FOR X=0 TO 999
30 POKE W0,A,AIN(0)
40 A=A+2
50 NEXT
Vo = 2.1(T + 273)
or
Data is retrieved using the PEEK W command.
T = Vo/2. 1 - 273
or
Noise Notes
T = Vc * .581428 - 273
An input channel can appear noisy (change readings at
random) if unused inputs are allowed to float. To
minimize noise (and increase accura cy), connect all
unused inputs to ground.
Where T =
Vo =
Vc =
Te mp er atu re in °C
Output voltage in mV
Count returned using AIN , 0 -
5V range
A high im pedance inp ut is, by definition, sensitive to
voltage pickup. Noise is minimized by running wires
away from A C power lines. A low impedance voltage
source helps to reduce noise pick up. Shielded cable can
help reduce noise from high impedance sources. Make
sure the shield is not used for power ground. U sing the
shield for power ground defeats its purpose.
At 25°C the output voltage is approximately 625 mV, or
506 counts. Vo is expressed as a milli-volt number
(625) not .625.
The output from U14 must be buffered. To measure
temperature, jumper H1[1-3]. Remove resistor R13.
Jumper H1[2-4]. Tem perature is read at analog channel
0. T he sensitivity is incr eased by jum pering H 1[5-7] to
ground. T his will double the output voltage and any
voltage changes due to temperature.
Wire pairs can also be twisted. 5-6 twists/foot provides
a reasonable amount of noise cancellation.
Noise is defined in this section as any random change
from a known input. The amount of noise you can
expect under nor mal operatin g circumstances is ±3
counts for any input range.
100 T = AIN(0) * .581428 - 273
T retur ns the tempera ture in celsius.
Sensitivity is increased by jumpering H1[5-7] to ground.
This doubles the output voltage and any voltage changes
due to temperature.
One way to compensate for noise is to take a number of
samples and average the results. Taking 6 or more
samples would, in theory, cancel out any effects of
noise. A problem with this is noise tends to group
together. Ta king 6 readings at one time might show no
change fr om the norm. Another 6 reading s might be all
high. If possible, try to spread out readings over a
NOTE: Tem peratur e measu rem ents are a pproxim ate
and are meant as a guide to indicate ambient
temperature.
Page 10-3 RPC -320
ANALOG INPUT
SECTION 10
The outpu t from the temperatur e sensor v aries fr om unit
to unit. Self heating effects as well as supply voltage
will change the output.
Page 10-4 RPC -320
ANALOG INPUT
SECTION 10
The outpu t voltage fro m the tem peratur e sensor is
doubled by jumpering H1[5-7]. While this does not
change the range the unit operates at, it does change
increase temperature m easurement sensitivity.
Data logging on a timer tick
Some applications require that data is read at fixed
intervals. The ONTICK con struct is used to take data in
intervals from 0. 01 to 327 seconds. The exam ple below
takes 1 sample per second until 100 samples have been
obtained.
10 DIM A(100)
20 ONTICK 1,500
30 REM THE REST OF YOUR PROGRAM
40 REM CONTINUES
80 GOTO 30
500 A(N) = AIN(3)
510 N=N+1
520 IF N = 100 THEN ONTICK 0,500
530 RETI
MEASURING HIGHER VOLTAGES
Voltages higher than + 5V are measur ed by inserting a
series r esistor to the inp ut.
The table below shows resistor values for some input
voltages using the 0-5V range.
Maximum
Input Voltage
Resistor
6
20K
12.5
24
150K
380K
Use the following formula to determine the series
resistance necessar y for a m aximum voltage input:
Rs = Vi * 20000 - 100000
Rs = Vi * 40000 - 100000
0 - 5V range
0 - 2.5V r ange
Rs is the resistor value in ohms in ser ies with the input.
Vi is the maximum input voltage. W hen Rs is negative
or zero, a series resistor is not necessary.
A high Rs v alue can cause noisy readings. This is
because the resistor acts as an antenna. To reduce noise,
place a 0.1 mfd to 1 mfd capacitor betw een the input
terminal and ground.
NOTE: When an input voltage exceeds the input range,
other channel values are affected.
Page 10-5 RPC -320
ANALOG INPUT
SECTION 10
K = 200/3276
K = .06105
CONVERTING ANALOG
MEASUREMENTS
Inputs are converted to "real numbe rs" by perfor ming
scaling calculations in the program. The AIN function
returns values from 0 to 4095. To change these numbers
into something more meaningful, use the following
formula:
There is one addition factor. Since the lowest value read
is 1 V, this offset is subtracted from all readings. A 1 V
offset is 1/5 of 4095 counts, or 819. The program line
then becomes:
200 A=.06105*(AIN(N)-819)
var = K * AIN(n)
Note that if the current loop line breaks, a negative value
is returned.
n is the analog channel to read. K is the scaling
constant. K is obtained by dividing the highest number
in the range of units by the maximum AIN count (4095).
AMPLIFIERS
Example 1: To measure the results of an A/D
conversion in volts and the voltage range is 0 to 5V,
divided 5 by 4095 to obtain K.
Two operational amplifiers are available to signal
condition inputs. Each amplifier is configured as shown
below.
K = 5/4095
K = .001221
Your program could look something like:
1000 C = .001221 * AIN(N)
Example 2: Y ou want to measure a 0 to 200 PSI
pressure transducer w ith a 0 to + 5V output. Divide 200
by 4095 to obtain the constant K.
K = 200 / 4095
K = .0488
Figure 10-2 Amplifier circuit
The code can then look like:
1000 B = .0488 * AIN(0)
Amplifiers are accessed through header connector H1.
Pin out is as follows:
Measuring 4-20 mA current loops
H1 pin
Function
Curr ent loops is a convenient way to transmit a value
and still assure the integrity of the signal. If the line
should break, a 0 volt (or nearly so) is returned.
1
2
3
4
5
6
Temper ature output from U14
To channel 0 analog input
Non-inverting input, amplifier A
Output from amplifier A
Inverting input, amplifier A
Approximately + 7V supply (5 ma
maximum)
A 4-20 ma curr ent loop is converted to 1 - 5V by placing
a 250 ohm resistor across the input of the chan nel to
ground.
Cur rent loop r eadings ar e conver ted to engineer ing units
by performing scaling as described earlier. Since the
measur ement r ange is 1 to 5V , the count ran ge is
reduced by 20% to 3276.
7
8
9
10
Ground
Ground
Non-inverting input, amplifier B
Approximately -7V supply (5 ma
maximum)
11
12
Inverting input, amplifier A
Output from amplifier A
If pressure were measured:
Page 10-6 RPC -320
ANALOG INPUT
SECTION 10
Voltage outputs from pins 6 and 10 are generated by the
RS-232 chip U8. Both of these voltages go through a
100 ohm resistor to H1-10 and H1-6. Pin 10 goes to 0
volts when operating the board in IDLE m odes 1 or 2.
Pin 6 goes to about + 5 volts. These voltages may be
used to supply power to very low pow er amplifier s.
CALIBRATION
The A /D comes fa ctory calibrated for a 0 to 5V input.
This range is chan ged by adjusting R17. You can adjust
the range to 5.12V. This is useful when the input is 0 -
5V and you want to know when the input is over-range.
To calibrate or adjust the voltage reference:
1. Connect the voltmeter ground to a GN D point
on the Analog IN terminal strip. Make sure
there are no other connections to the analog
ground.
2. Connect the voltmeter ' + ' lead to U14, pin 6.
3. Adjust R5 for 5.00 VDC or other voltage as
desired. D o not exceed 5.2 or go below 4. 8
volts.
COMMANDS
The following RPBASIC-52 com mands are used for
analog I/ O. Mor e inform ation is found in the appendix
of this manu al.
Comm and
Function
AIN(n)
CON FIG AIN (n)
Returns analog value.
Configures analog input
channels
Page 10-7 RPC -320
WATCHDOG TIMER
SECTION 11
DESCRIPTION
The watchdog timer is used to reset the RPC -320 if the
program or CPU "crashes" . The time r is built into the
80C320 CP U. Timed access requirem ents built into the
CPU make it high ly unlikely an er rant pr ocessor would
cancel a watchdog timer.
The watchdog should not be used in loops which do not
end quickly or ar e of indetermina te duration unless a
WDOG command is included. An example of an
indeterminate loop is one that waits for a port condition
to change.
The timer is set by executing a WDOG n command. n is
0, 1, or 2. 0 turns off the timer. 1 sets the watch dog
time to 380 ms while 2 sets it to 2.8 seconds. Executing
WDO G by itself resets the timer. WD OG must be
executed pe riodically to prevent a reset.
When the watchdog times out, a softwar e reset is
perfor med. The effect is lines at J3 do not ch ange as in
a power-up or har dware reset. Lines at P6, display, and
keypad port ar e reset to power -up conditions.
EXTERNAL RESET
The card is reset externally by mom entarily shorting
W10[1-2]. R eset is also achiev ed by shor ting W10-2 to
ground. Maintain this short for at least 10 ms. The card
will then reset for abo ut 350 ms.
Page 11-1 RPC-320
EXTERNAL INTERRUPT
SECTION 12
INTERRUPT CHARACTERISTICS
DESCRIPTION
Interrupts are negative going edge sensitive. This means
an interrupt is detected when P2-INT goes low or when a
voltage is applied to P2-ISOA and ISOB for at least 10
micro-seconds. To detect a subsequent interrupt, the
line must go high at P2-INT or voltage removed at P 2-
ISOA/ B for at least 10 micro -seconds.
There are tw o sources of interrupts the ONITR statement
respond s to: Inter nal and exter nal. External interr upts
are off-card. Internal interrupts are from the counter.
External interrupts are used to "w ake-up" the card from
any of the IDLE modes. This feature is useful in power
conserving m odes.
The status of the interrupt or ISOA/B line is read using
the following statement:
Signals to P2-ISOA and P2-ISOB are optically isolated.
P2-IN T is a non-isolated, TTL input. Only 1 inter rupt is
selected. Available interrup ts are show n in the table
below.
100
A = LINE(8)
When A = 1, P 2-INT is high or no v oltage is applied to
ISOA /B.
W8 P in
1-2
Description
The P2-INT goes to the output from the opto-isolator I1.
Since this line goes to a 10K ohm pull-up resistor,
additional devices can generate an interrupt only if they
are "wired-or".
External TTL level through P2 (INT)
or optically isolated through P2 (ISOA
& ISO B)
3-4
5-6
7-8
Carry or borr ow pulse from counter
Carry pulse from counter
Borrow pulse from counter
PROGRAM EXAMPLE
The following program enables interrupts and goes to a
routine to service it. Jumper W8[1-2] and bring P2-INT
to ground to see this example work.
ONINT selection is through jumper W8. This chapter
descr ibes using external inter rupts P 2-INT or ISOA /B.
When a counter is used, then external interr upts may not
be used. See Chapter 14, C ounter Inputs for more
information.
10 ONITR 500
30 GOTO 30
500 PRINT "Got Interrupt"
510 RETI
External interrupt at P2-INT is TTL level compatible.
Bringing this line low generates an interrupt when
ONITR is enabled.
Line 510 is necessary to re-enable all interru pts. If this
line is not executed, but a RETURN is used, then
ONT ICK is also d isabled. If your pr ogram requir ements
require disabling all interrupts for a time, then the RETI
statement can be executed within any subroutine to re-
OPTICALLY ISOLATED INTERRUPT
ISOA and ISOB provide an isolated, higher voltage
input. Neither input is connected to ground or + 5V and
is isolated to the card by at least 500 volts.
An external voltage of at least 3.5 volts, any polarity,
will generate an interrupt. Higher voltages may be used
provided a ser ies resistor is in line to the supply. Use
the following formula to determine the series resistor
needed.
Rs = (Vi - 6) / .005
Where: Vi = input voltage
No series resistor is needed when Rs is negative.
Page 12-1 RPC-320
EXTERNAL INTERRUPT
SECTION 12
Figure 12-1 Optically isolated and TTL interrupts
enable interrup ts.
Page 12-2 RPC-320
MULTI-MODE COUNTER
SECTION 13
Specifically, RPBASIC w rites a 2 to the MCR (M aster
Control Register), reads the 3 counter bytes from the OL
(Output latch), and converts it to the proper internal
BASIC form at.
DESCRIPTION
The 24 bit multimode counter is capable of up/down,
binary, divide-by-n, and quadrature inputs. C ount
frequency is DC to 20 M hz. The R PC-320 uses an LSI
Com puter Syste ms LS7166. Its data sheet is foun d in
Appendix C.
100 A = COUNT(0)
COUNT statement writes a 24 bit number to the PR
(Preset r egister) only. Its syntax is:
The COU NT function and statement are used to read
from and wr ite to the counter . L INEB is used to
program the chip for various op erating mode s.
200 COU NT 0, D
To transfer this number to the counter, execute the
following in the program:
An interrupt, using ONITR, may be detected on a carry,
borr ow, or either event. The event is jumper selectable
through W8. When the counter is used, external
interrupts (see Chapter 12) may not be used.
LINEB 6,1,8
The counter number is always 0 on the RPC -320.
W8 P in
1-2
Description
LINEB is used to access specific registers within the
chip. Accessing control and status registers is shown
below. C ounter bank is 6.
External TTL level through P2-6 or
optically isolated through P3
Carry or borrow pulse from counter
Carry pulse from counter
3-4
5-6
7-8
100 A = LINEB(6,1) : REM Read OSR
200 LINEB6,1,X
Borrow pulse from counter
Line 200 writes to OCCR, ICR, QR, MCR, and ICR
register s. W hich registe r selected is determ ined by bits
6 and 7 in the byte written to the chip.
Signals connect to the counter via P2. Use the following
table to determine signal input to the LS7166.
P2
Name
Function
Program examples
This code resets the counter and enables the inputs. The
count is printed once a second. To see the count change,
momentarily bring " A IN" or "B IN" on P2 to ground.
When " B IN" is gr ounded, the count decrem ents.
A IN
B IN
GND
LOAD
GATE
Count input A
Count input B
Ground
Load counter/latch (LCTR/LLTC)
Gate/reset counter (ABGT/RCTR)
10 LINEB6,1,32
20 LINEB6,1,64+8
30
40
ONTICK 1,500
GOTO 40
Input lines (A IN), (B IN), LOAD, and GATE are
pulled to + 5V through a 10K resistor.
500 PRINT COUNT(0)
510 RETI
PROGRAMMING
Line 20 can be shortened somewhat. 64 selects the ICR
(Input contr ol register ) and 8 enables inputs. 72 could
have been used.
The LS7166 is capable of several operating modes, all of
which are not discussed here. See Appendix C for this
chips operating modes. W hat are shown are exam ples of
how to program this chip.
NOTE: Be sure to initialize the counter chip before
using COU NT com mands. Failure to do so
returns m eaningless results.
The COU NT function returns the current counter value.
Page 13-1 RPC-320
MULTI-MODE COUNTER
SECTION 13
The following program example returns a frequency.
Input signal is at "A IN".
COMMANDS
The table below lists commands used with the counter.
100
110
120
130
140
500
510
520
530
530
LINEB 6,1,32
LINEB 6,1,72 : REM enable inputs
ONTICK 1,500
IDLE
GOTO 130
A=COUNT(0) : REM get count
C=A-B : REM figure change from last time
PRINT "Frequency = ",A
B=A
Comm and
Function
COU NT(0)
COUNT 0,n
Returns value in counter
Writes value to counter
RETI
The fir st frequen cy read will always be a bit off. This is
because of the time required to initialize ONTICK.
Subsequent readings are more accurate.
Accuracy is increased by stretching readings to every 10
seconds. This is necessary w hen higher accura cy is
needed.
Other factors affecting accurate readings in this program
include serial communications and ONITR statement. If
ONITR is in process, ONTICK is delayed until ONITR
is finished.
The problem w ith this routine is periodically, a large
negative number is returned. This is because the
multimode counter has rolled over. This is corrected by
periodica lly reseting the CNTR or transfer ring PR to
CN TR. Refer to the data sheet, Appendix A for counter
operating mo des.
This program sets up the LS7166 to cause an interrupt
when a pr eset numb er of cou nts is reached. W8[7-8] is
jumpered to interrupt on a borrow.
10
20
30
40
50
LINEB 6,1,132
COUNT 0,1000
LINEB 6,1,8
LINEB 6,1,72
ONITR 500
: REM write to CNTR
: REM transfer PR to CNTR
: REM enable A/B counters
100 PRINT COUNT(0) : REM print progress
110 GOTO 100
500 PRINT "In Interrupt"
510 RETI
Line 10 sets OCCR to divide by N. Line 50 enables
interrupts. Line 100 prints the counter. When pulses
are applied to the A input, the count will go down. When
1000 pulses are detected at A input, the message in line
500 is printed.
Page 13-2 RPC-320
POWER MANAGEMENT
SECTION 14
grossly distorted.
DESCRIPTION
There are thr ee power mana gement modes. Each mode
affects the way RPBASIC operates. T he IDLE
command is used to control how the card operates
NOTE: Delay printing out the R S-232 ports for at least
20 ms (20 instructions) after exiting IDLE 1 or
IDLE 2. These chips generate RS-232 voltages
and require a "pow er up" time. Failure to do
so could result in garbled ch aracters.
Default mode is full power. All commands, timers, and
interrupts function. IDLE command is not used.
NOTE: The < Ctl> -C break char acter is not
recognized in any of the IDLE modes.
Norm ally this is not a problem except during
progr am deve lopment. If the program is
executing an IDLE statement and it won' t
respond to any interrupts, pressing the reset
button is the only w ay to exit.
There are a number of ways to exit the IDLE mode in
conjunction with ONITR. Refer to Chapter 12, External
Interrupt and Chapter 13, Multi-mode Counter for ways
to generate interr upts. IDLE 2 is restricted on the type
of interrupt. T he signal at P2-INT must return to a high
state befor e the next IDLE 2 command is executed. (P2-
INT is also controlled by the multi-mode counter and
optically isolated interrupt, described in Cha pter 12 and
13.) If it does not go high, IDLE 2 mode w ill exit in
approximately 3 ms. This is due to a characteristic of
the A6 mask revision in the Dallas 80C320 CPU. A
general rule is to keep the negative pulse at P2-INT
greater than 50 ns but less than 3 ms.
Exit IDLE 2 by applying a low going pulse at the INT
input at P2. The pulse width should be 50 ns minimum.
The other IDLE modes re quire a pulse width of at least
1 micro-second. Optical interrupt ISOA/B may also be
used to exit any of the IDLE modes. The pulse w idth
needs to be at least 10 micr o-seconds.
IDLE or IDLE 0 waits until an ONTICK or ONITR
interrupt occur s. Serial I/ O oper ates norm ally. U se this
comm and when you wan t your pr ogram to "hang out"
until something happens. The RPC-320 operates under
full power.
FURTHER POWER REDUCTION
Some applications require the least amount of power
possible. You m ay rem ove cer tain IC' s from the card to
do this. The table below lists the IC 'U' number,
approximate curr ent consumption (in shutdown and run
mode), and function.
IDLE 1 reduce s power by 30% . H ere the C PU " shuts
down" but the internal timers are still operating.
ONT ICK and ON ITR will cause the card to come out of
power down m ode. Howe ver, the RS-232 se rial por ts
are disabled. C haracters in the transmitter buffer are not
sent out and incoming characters are ignored.
Un
Curr ent
Shutdown
Function
Run
U9
10 mA
100 uA
400 uA RS-485 interface
IDLE 2 is the lowest power mode. T he CPU, internal
timers, ser ial ports, and oscillator are tur ned off. Only
interrupts responding to ONITR wake up the processor.
Cur rent consumption is less than 5 ma with no signals
going into or coming from the RPC -320.
U14
1.2 ma Reference for U 15,
temperature reference.
U15
5 ma
10 uA Analog to digital
converter
IDLE 2 also has a number of operating restr ictions.
This mode shuts dow n the RS-232 rece iver/dr iver IC, so
no character s can come in or go out. T his IC also
supplies current for the amplifiers and analog to digital
converter. Do not apply negative voltages to the analog
input in this mode. The tick timer is shut off. However,
the real tim e clock m odule, if installed, continues to
operate.
U11
U17
10 mA
10 mA
1 ua
1 ua
Digital I/O at J3
Display output, keypad
scanner.
U8
30 mA
10 uA RS-232 driver/receiver,
power supply for analog
to digital converter,
amplifiers
NOTE: The RS-232 receiver is shut down in IDLE
modes 1 and 2. A ny characters sent to the
RPC-320 dur ing this time are ignored or
Page 14-1 RPC -320
POWER MANAGEMENT
SECTION 14
Curr ents are maximum and minimum as specified by the
manufacturer. Min-max curr ent ranges "guaranteed" by
the device manufacturer have a tremendous range, often
by a factor of 10 or m ore. Current abov e is “typical” .
Some current consumption is difficult to determine.
Digital outputs, for example, will draw virtually no
current under no load conditions, but can supply 15 ma
to each output if requir ed. Ther efore, inputs and outputs
connected to the card will affect its current consumption.
Some chips, such as U 9, will not draw m uch current
unless there is activity on the R S-485 por t.
Board current consumption may be affected by the
setting of jump er W 7. T his jumper determ ines if inputs
at J3 are pulled up or down. When set to pull up inputs,
each line forced low increases current consumption by
50 uA. If all inputs are tied to + 5V or ground,
rem oving jump er W 7 may dr aw less cur rent.
The application program IC in U6 may be changed to a
29C040. This 512K byte memory draws 200 uA less
current than a 32K byte one.
Any contr ol line from P2 to gr ound dra ws 500 uA due to
the 10K pull-ups. Lines at P6 are pulled to + 5V
through a 10K resistor. Each low line draws 500 uA.
The contrast adjustment (R18) can be removed or
adjusted for minimum cur rent.
Program Examp le
This examp le makes the RP C-320 go into its lowest
power mode.
10 ONITR 500
.
.
other code
.
100 IDLE 2
200 GOTO 100
500 PRINT "In interrupt"
510 RETI
Page 14-2 RPC -320
TECHNICAL INFORMATION
SECTION 15
Opto isolated input ISOA/ISOB
ELECTRICAL SPECIFICATIONS
Isolated voltage s to 250 volts peak may be a pplied to this
input. A series resistor is necessary for voltages above
12V.
CPU
80C320, 22. 1184 Mhz clock
Memory
Keypad input
RPBASIC-52, 32K RO M, jumperable for 64K.
Type: 27C256 Access time: 80 ns or faster.
10 lines accept a 16 position matrix keypad. Scanning
and debounce performe d in RPBASIC-52.
Program ming and data is 32K or 128K RAM standard,
512K Optional.
Display output
14 digital and 6 power and ground lines used to control
LCD , VF , and LC D graphics displays. D isplays
supported in RPBASIC-52.
RAM optionally battery backed up. Battery life is 5-10
years depending upon RAM size, type, and oper ating
temperature and time.
Serial ports
Two RS-232D serial ports. All have RxD , TxD , and
CTS lines. COM 0 has only these lines. COM1 also has
RTS. COM 1 configurable to RS-232 or RS-422/485.
Term ination network for RS-422/485 available. Baud
rates fr om 300 to 3 8.4 K are pr ogram mable. Length
fixed at 8 bits, no parity, 1 start and stop bit.
Maximum BASIC progra m is 62K
Battery backed using D S1216DM , w hich also acts as a
real time clock. Can also use DS1213C or D to battery
back ram.
Digital I/O
EPROM and programmer
The RPC -320 has 34 digital I/O lines. 24 are from J3,
which is a ge neral pur pose por t.
Accepts 29C 256, 29 C010, 29C040 or equivalent flash
EPR OM from Atmel.
Size: 32K (29C256), 128K(29C010), 512K(29C040)
The specifications below a re for digital I/ O at P6 and J3
except for the eight high current lines at J3.
Calendar/Clock
Optional DS-1216DM installed in socket U5.
Accur acy to 1 minute/m onth
Supported by RPBASIC
Drive curr ent
2.5 ma m aximum per line,
sink or source. TTL
compatible.
Expected life 3 to 5 years depending upon RAM size
installed, temperature, and operating time.
Output low voltage 0.45V m ax at 2.5 mA , 1V
max at 15 mA for opto rack.
Output high v olts
2.4V m inimum, sink or source
at rated cu rren t.
Watchdog timer, reset
Watch dog timer resets C PU whe n enabled.
Time between re sets is 380 ms or 2.8 seconds
Push button reset. Exter nal reset through W10.
All digital input lines are TTL compatible.
High cu rrent output at J3
Power requireme nts
+ 5 ±5% at 95 ma operating.
Current consumption is less than 5 ma in IDLE 2 mode,
all components installed.
8 of the 24 lines can drive up to 500 ma at 50V. Refer
to CHAPTER 6, D IGITAL AND OPTO PORTS for
limitations.
Curr ent is less than 1 ma when analog and RS-485 chips
(U14, 15,16, and 9) are removed.
RS-232 voltages generated on card.
Current consumption does not include any opto-modules
or other acc essories.
High current output at L8
L8 sinks up to 2 amperes at 50 V olts. Sw itching is
through a "zero" ohm FE T switch.
Page 15-1 RPC -320
TECHNICAL INFORMATION
SECTION 15
MEMORY AND I/O BANK MAP
JUMPER DESCRIPTIONS
Memory
A * after a jumper position indicates fa ctory def ault is
jumpered.
Description
RPBASIC-52, U4
RAM , U 5, 32K
128K
Address
0000H - 7FFFH
00000H - 07FFFH
00000H - 1FFFFH
00000H - 7FFFFH
Jumper
Description
W1[1-2]*
W1[2-3]
RAM size 32K, 128K
RAM size 128K
512K
I/O Bank
RAM (U5)
EPRO M (U6)
not used
Digital I/O (U11)(J3)
Display & keypad (U17)
Control & L 0-L8 (U19)
Counter (U13)
not used
0
1
2
3
4
5
6
7
W3[1-3],[2-4]
W3[3-5],[2-4]
W3[3-5],[4-6]
29C040 F lash
29C010 Flash
29C256 F lash
W2[1-3],[2-4]
W2[3-5],[4-6]* Flash EPROM selected
EPROM selected
W4[1-2]
W4[2-3]*
COM 1 RS-485 input
COM 1 RS-232 input
MECHANICAL SPECIFICATIONS
W5[1-2]*
W6[1-2]*
RS-485 terminator
RS-485 terminator
Size
4.6" x 7.0"
W7[1-2]*
W7[2-3]
J3 resistors pulled up
J3 resistors pulled down
4 mounting holes are 0.250 x 0.250 inches from each
edge. Mounting holes are 0.124 inch in diameter.
W8[1-2]
W8[3-4]
W8[5-6]
W8[7-8]
External or isolated interrupt
Counter carr y or borrow interrupt
Counter carr y interrupt
Board thickness:
Board m aterial:
0.062
FR-4
Counter borr ow interrupt
W9[1-2]*
Do not autorun
W9[no jumper] Autorun on reset
W10[1-2] Exter nal reset inp ut.
Page 15-2 RPC -320
|