No part of the contents of this manual may be reproduced or transmitted in any form or by any means
without the express written permission of Digi International.
Permission is granted to make one or more copies as long as the copyright page contained therein is
included. These copies of the manuals may not be let or sold for any reason without the express written
permission of Digi International.
Digi International reserves the right to make changes and
improvements to its products without providing n otice.
T r ade mark s
Rabbit and Dynamic C are registered trademarks of Digi International Inc.
Rabbit 2000 and RabbitCore are trademarks of Digi International Inc.
The latest revision of this manual is available on the Rabbit Web site, www.rabbit.com,
for free, unregistered download.
1.5 CE Compliance.....................................................................................................................................6
3.1.1 Headers and Screw Terminals.....................................................................................................18
3.2 Power Modes ......................................................................................................................................19
3.2.1 Setting the Power-Save Mode.....................................................................................................20
3.2.2 Operating in the Power-Save Mode............................................................................................21
3.2.3 Resuming Normal-Power or Low-Power Operation ..................................................................21
3.3 Digital I/O...........................................................................................................................................22
3.3.1 Digital Inputs...............................................................................................................................22
3.3.2 Digital Outputs............................................................................................................................23
3.4 Serial Communication ........................................................................................................................25
The LP3500 is a low-po we r sin gle -bo ar d co mp uter wi th bui lt-i n
analog and digital I/O. Although the LP3500 was designed specifically for low-power applications and data logging, it has a
host of features that make it attractive for other applicat ions as
well. Low power is often required in portable equipment operating from batteries or from solar pow er. The LP3500 is ideal for
monitoring equipment o r processes that are far-removed from a
power supply, remote telemetry (RTUs), pipeline control and
monitoring, well-head monitoring; and use on mobile equipment
such as refrigeration trucks.
An optional plasti c enclosure a nd an
LCD/keypad module are available.
The Tool Kit has the essentials that you need to design your own
low-power microprocessor-based system, and includes a complete Dynamic C software development system.
1.1 LP3500 Description
The LP3500 is a low-power single-board computer that incorporates the powerful and
low-EMI Rabbit 3000 microprocessor, flash memory, static RAM, digital I/O ports, A/D
converter inputs, PWM outputs, RS-232/RS-485 serial ports, and both parallel and serial
interfaces that allow other devices to be connected to the LP3500.
All aspects of the LP3500 are designed for low power consumption and operates at a variety of power levels, including a power-save mode, to fit customer-specified conditions at
any given time. The CPU runs at a nominal speed of 7.4 MHz, and operates at 2.8 V to
conserve power. The LP3500 consumes less than 20 mA when fully operational, and less
than 100 µA when in the power-save mode. A replaceable coin-type battery will allow the
LP3500 to operate in sleep mode for over 3 years. The LP3500 is normally powered from
an external battery or power supply. When the unit is in the power-save mode, it can be
awakened by an internal timer, an RS-232 signal, or via polling of an external input. The
LP3500 can be switched from the power-save mode to full operation and back under program control. In addition, various sections of circuitry (such as the RS-232 ports) can be
switched off under program control to further conserve power when not in use.
User’s Manual1
1.2 LP3500 Features
• Rabbit 3000® microprocessor operating at up to 7.4 MHz.
• 512K/128K static RAM and 512K/256K flash memory options.
• 26 digital I/O: 16 protected digital inputs and 10 high-current digital outputs provide
sinking and sourcing outputs.
• 8 single-ended or 4 differential analog chann els with Vcc monitoring option: 1 1 -bit singleended or 12-bit differential chan nels.
• 3 PWM outputs.
• Six serial ports
1 RS-485
3 RS-232 (one 5-wire and one 3-wire or three 3-wire), jumper option for logic-level
outputs; Serial Port E has a “listen” and “wake-up” capability
1 logic-level serial interface for optional add-ons
1 asynchronous clocked serial port dedicated for programming
• Battery-backed real-time clock.
• Watchdog supervisor.
Two LP3500 models are available. Their standard features are summarized in Table 1.
Table 1. LP3500 Models
FeatureLP3500LP3510
MicroprocessorRabbit 3000 running at 7.4 MHz
Stati c RAM512K128K
Flash Memory512K256K
A/D Converter Inputs
(ranges from 0–1 V DC to 0–20 V DC, 4 channels
may be individually configured for 4–20 mA)
C-form Bistable Rel a yYesNo
YesNo
Appendix A provides detailed specifications.
The LP3500 can be mounted in two ways. It can be mounted to a panel or on a plastic-
enclosure base, which allows I/O connections to be made using traditional connectors with
0.1" spacing. The LP3500 can also be inverted and mounted directly to mating connectors
on a motherboard of the customer's design. The first approach is appropriate where I/O
connections go directly to devices and switches. The second approach is appropriate
where additional circuitry is incorporated on the motherboard.
2Fox (LP3500)
1.3 Optional Add-Ons
• Plastic enclosure (can be wall-mounted or panel-mounted), which consists of a base
and a cover for either the LP3500 by itself or an assembly made up of the LP3500 and
the LP3500 Prototyping Board. The base is also available separately.
• The Prototyping Board included with the T o ol Kit is a convenient means of interfacing
to the LP3500 via the screw-terminal headers on the Prototyping Board. The Prototyping Board is also available for separate purchase.
• 4M and 8M SF1000 serial flash expansion cards.
• LCD/keypad module with 7-key keypad and seven LEDs.
Further details on the Prototyping Board, the plastic enclosure, and the LCD/keypad module
are provided in Appendix B, Appendix C, and Appendix D.
Visit our Web site for up-to-date information about additional add-ons and features as
they become available. The Web site also has the latest revision of this user’s man ual and
schematics.
User’s Manual3
1.4 Development and Evaluation Tools
1.4.1 Tool Kit
A T ool Kit contains the hardware essentials you will need to develop applications with the
LP3500 single-board computer. The items in the Tool Kit and their use are as follows.
• LP3500 Getting Started instructions.
• Dynamic C CD-ROM, with complete product documentation on disk.
• Programming cable, used to connect your PC serial port to the LP3500.
• Universal AC adapter, 12 V DC, 1 A (includes Canada/Japan/U.S., Australia/N.Z.,
U.K., and European style plugs).
3 to 30 V DC
.
• Prototyping Board with pushbutton switches, LEDs, and screw-terminal headers. The
Prototyping Board can be hooked up to the LP3500 to demonstrate the I/O capabilities
of the LP3500 and to provide a prototyping area for you to develop your own add-on
circuits. The screw-terminal headers extend the LP3500’ s headers for development, and
can also be used in a production environment.
• Plastic enclosure with four screws.
• Four standoffs with mounting screws.
If you are using another power supply, it must provide
• Screwdriver.
• Rabbit 3000 Processor Easy Reference poster.
• Registration card.
Programming
DIAG
PROG
Fox (LP3500)
The LP3500 is a low-power single-board computer designed to operate reliably virtually any place it
is deployed, especially where power is limited. These Getting Started instructions included with the
Tool Kit will help you get your LP3500 up and running so that you can run the sample programs to
explore its capabilities and develop your own applications.
Tool Kit Contents
The LP3500 Tool Kit contains the following items:
• Dynamic C CD-ROM, with complete product documentation on disk.
• Programming cable, used to connect your PC serial port to the LP3500.
• Universal AC adapter, 12 V DC, 1 A (includes Canada/Japan/U.S., Australia/N.Z., U.K., and
European style plugs).
• Prototyping Board with pushbutton switches, LEDs, and screw-terminal headers. The Prototyping
Board can be hooked up to the LP3500 to demonstrate the I/O capabilities of the LP3500 and to
provide a prototyping area for you to develop your own add-on circuits.
• Plastic enclosure with four screws.
• Four standoffs with mounting screws.
• Screwdriver.
•
Getting Started instructions.
• Rabbit 3000 Processor Easy Reference poster.
• Registration card.
Visit our online Rabbit store at www.rabbit.com/store/ for the latest information on peripherals and
accessories that are available for the LP3500 single-board computers.
Step 1 — Install Dynamic C
Before doing any development, you must install Dynamic C. Insert the CD from the Development Kit in
your PC’s CD-ROM drive. If the installation does not auto-start, run the setup.exe program in the root
directory of the Dynamic C CD. Install any Dynamic C modules after you install Dynamic C
Rabbit and Dynamic C are registered trademarks of Digi International Inc.
The LP3500 is programmed using version 7.26P or later of Rabbit’s Dynamic C. A com-
patible version is inclu ded o n the Tool Kit CD-ROM.
Library functions provide an easy-to-use
interface for the LP3500. Software drivers for digital and analog I/O, and for serial communication are included with Dynamic C.Web-based technical support is included at no
extra charge.
Starting with Dynamic C version 9.60, Dynamic C includes the popular µC/OS-II realtime operating system, point-to-point protocol (PPP), FAT file system, RabbitWeb, and
other select libraries. Rabbit also offers for purchase the Rabbit Embedded Security Pack
featuring the Secure Sockets Layer (SSL) and a specific Advanced Encryption Standard
(AES) library.
In addition to the Web-based technical support included at no extra charge, a one-year
telephone-based technical support subscription is also available for purchase.
V isit o ur Web site at www.rabbit.com for further information and complete documentation.
User’s Manual5
1.5 CE Compliance
Equipment is generally divided into two classes.
CLASS ACLASS B
Digital equipment meant for light industrial useDigital equipment meant for home use
Less restrictive emissions requirement:
less than 40 dB µV/m at 10 m
(40 dB relative to 1 µV/m) or 300 µV/m
More restrictive emissions requirement:
30 dB µV/m at 10 m o r 100 µ V/m
These limits apply over the range of 30–230 MHz. The limits are 7 dB higher for frequencies
above 230 MHz. Although the test range goes to 1 GHz, the emissions from Rabbit-based
systems at frequencies above 300 MHz are generally well below background noise levels.
The LP3500 has been tested and was found to be in conformity with the
following applicable immunity and emission standards. The LP3510 is
also CE qualified as it is a sub-version of the LP3500. Boards that are
CE-compliant have the CE mark.
NOTE: Earlier versions of the LP3500 sold before 2003 that do not
have the CE mark are not CE-complaint.
Immunity
The LP3500 series of single-board computers meets the following EN55024/1998 immunity standards.
• EN61000-4-3 (Radiated Immunity)
• EN61000-4-4 (EFT)
• EN61000-4-6 (Conducted Immunity)
Additional shielding or filtering may be required for a heavy industrial environment.
Emissions
The LP3500 series of single-board computers meets the following emission standards
emission standards with the Rabbit 3000 spectrum spreader turned on and set to the normal mode.
• EN55022:1998 Class B
• FCC Part 15 Class B
Your results may vary, depending on your application, so additional shielding or filtering
may be needed to maintain the Class B emission qualification.
6Fox (LP3500)
1.5.1 Design Guidelines
Note the following requirements for incorporating the LP3500 series of single-board computers into your application to comply with CE requirements.
General
• The power supply provided with the T ool Kit is for development purposes only. It is the
customer’s responsibility to provide a CE-compliant power supply for the end-product
application.
• When connecting the LP3500 to outdoor cables, the customer is responsible for provid-
ing CE-approved surge/lightning protection.
• Rabbit recommends placing digital I/O or analog cables that are 3 m or longer in a
metal conduit to assist in maintaining CE compliance and to conform to good cable
design practices. Rabbit also recommends using properly shielded I/O cables in noisy
electromagnetic environments.
Safety
• For personal safety, all inputs and outputs to and from the LP3500 must not be con-
nected to voltages exceeding SELV levels (42.4 V AC peak, or 60 V DC). Damage to
the Rabbit 3000 microprocessor may result if voltages outside the design range of 0 V
to 40 V DC are applied directly to any of its digital inputs.
• The lithium backup battery circuit on the LP3500 has been designed to protect the bat-
tery from hazardous conditions such as reverse charging and excessive current flows.
Do not disable the safety features of the design.
1.5.2 Interfacing the LP3500 to Other Devices
There are two versions of the LCD/keypad module that may be used with the LP3500:
without a bezel (Part No. 101-0601), and a remote panel-mounted version with bezel (Part
No. 101-0541). The cable used to connect the LCD/keypad module should be less than 30
cm (12") to maintain CE compliance. Appendix C provides complete information for
mounting and using the LCD/keypad module.
Since the LP3500 series of single-board computers is designed to be connected to other
devices, good EMC practices should be followed to ensure compliance. CE compliance is
ultimately the responsibility of the integrator. Additional information, tips, and technical
assistance are available from your authorized Rabbit distributor, and are also available on
our Web site at www.rabbit.com.
User’s Manual7
8Fox (LP3500)
2. GETTING S TARTED
Chapter 2 explains how to connect the programming cable and
power supply to the LP3500.
2.1 LP3500 Connections
1. Use the 4-40 screws supplied with the Tool Kit to attach the metal standoffs to your
Figure 2. Attach Stand-Offs and Remove Battery Cap
User’s Manual9
2. Attach the LP3500 main board to the Prototyping Board as shown in Figure 3.
Press the pins from the headers on the bottom side of the LP3500 board firmly into the
corresponding header sockets located at J1, J2, and J4 on the Prototyping Board.
NOTE: It is important that you line up the header pins on the LP3500 exactly with the
corresponding
pins may become bent or damaged if the pin alignment is offset, and the LP3500 will
not work. Permanent electrical damage may also result if a misaligned LP3500 is
powered up.
header socketsJ1, J2, and J4 on the Prototyping Board. The header
Figure 3. Attach LP3500 Main Board to Prototyping Board
10Fox (LP3500)
3. Connect the programming cable to download programs from your PC and to program
and debug the LP3500.
NOTE: Use only the programming cable that has a red shrink wrap around the RS-232
level converter (Part No. 101-0513), whic h is supplie d with the LP3500 Tool Kit. Other
Rabbit programming cables with clear or blue shrink wrap might not be voltage-compatible or their connector sizes may be different.
Connect the 10-pin PROG connector of the programming cable to header J5 on the LP3500
board. Ensure that the colored edge lines up with pin 1 as shown. There is a small dot on the
circuit board next to pin 1 of header J5. (Do not use the DIAG connector, which is used for
monitoring only.) Connect the other end of the programming cable to a COM port on your
PC. Make a note of the port to which you connect the cable, as Dynamic C will need to
have this parameter configured. Note that COM1 on the PC is the default COM port used
by Dynamic C.
Header J5 is between
the LP3500 and the
Prototyping Board
NOTE: Some PCs now come equipped only with a USB port. It may be possible to use an
RS-232/USB converte r (Part No. 20- 151-0178) with t he programming c able supplied wi th
the LP3500 Tool Kit. Note that not all RS-232/USB converters work with Dynamic C.
User’s Manual11
4. Connect the power supply.
First, prepare the AC adapter for the country where it will be used by selecting the plug.
The LP3500 Tool Kit presently includes Canada/Japan/U.S., Australia/N.Z., U.K., and
European style plugs. Snap in the top of the plug assembly into the slot at the top of the
AC adapter as shown in Figure 4, then press down on the spring-loaded clip below the
plug assembly to allow the plug assembly to click into place.
Hook up the connector from the wall transformer to header J5 on the Prototyping Board as
shown in Figure 4. The orientation of this connector is not important since the VIN (positive) voltage is the middle pin, and GND is available on both ends of the three-pin header
J5.
NOTE: Do not connect the AC adapter to the VBAT terminal on the Prototyping Board.
The VBAT terminal supplies th e backu p batt ery vo ltage of 3 V, and the LP3500 may b e
damaged if subjected to the raw DC voltage from the AC adapter through the VBAT
terminal.
5. Apply power.
Plug in the AC adapter. If you are using your own power supply, it must provide 3 V to
30 V DC—voltages outside this range could damage the LP3500.
NOTE: A hardware reset may be done by pressing the RESET switch on the LP3500.
The LP3500 may also be reset by unplugging the AC adapter, then plugging it back in.
However, when the LP3500 is operating in the power-save mode, the backup battery
will provide su ff icient voltage to prev ent a r eset f rom happeni ng, in which cas e you will
have to press the RESET switch on the LP3500.
NOTE: Rabbit recommends that the battery tab not be removed until you are ready to
place the LP3500 in normal service with regular power connected through header J2.
The backup battery protects the contents of the SRAM and keeps the real-time clock
running when regular power to the LP3500 is interrupted. If you plan to use the real-time
clock functionality in your application, you will need to set the real-time clock once you
remove the plastic tab. Set the real-time clock using the onscreen prompts in the demonstration program. Alternatively, you may set the real-time clock using the SETRTCKB.C
sample program from the Dynamic C SAMPLES\RTCLOCK folder. The RTC_TEST.C
sample program in the Dynamic C
SAMPLES\RTCLOCK folder provides additional exam-
ples of how to read and set the real-time clock.
User’s Manual13
2.3 Installing Dynamic C
If you have not yet installed Dynamic C version 7.26P (or a later version), do so now by
inserting the Dynamic C CD in your PC’s CD-ROM drive. The CD will auto-install unless
you have disabled auto-install on your PC.
If the CD does not auto-install, click Start > Run from the Windows Start button and
browse for the Dynamic C setup.exe file on your CD drive. Click OK to begin the
installation once you have selected the setup.exe file.
The Dynamic C User’s Manual provides detailed instructions for the installation of
Dynamic C and any future upgrades.
NOTE: If you have an earlier version of Dynamic C already installed, the default instal-
lation of the la te r ver sion wi ll b e in a dif f erent fold er, and a separate icon wil l app ear on
your desktop.
2.4 St arting Dynamic C
Once the LP3500 is connected to your PC and to a power source, start Dynamic C by double-clicking on the Dynamic C icon on your desktop or in your Start menu.
If you are using a USB port to connect your computer to the LP3500, choose Options >
Project Options
Click OK.
and select “Us e USB to Serial Conver ter” on t he Communications tab.
Dynamic C assumes, by default, that you are using serial port COM1 on your PC when
you are running a program. If you are
LP3500 and go through a sequence
using COM1, then Dynamic C should detect the
of steps to cold-boot the LP3500 and to compile the
BIOS. If the error message “Rabbit Processor Not Detected” appears, you have probably
connected to a different PC serial port such as COM2, COM3, or COM4. You can change
the serial port used by Dynamic C with the OPTIONS menu, then try to get Dynamic C to
recognize the LP3500 by selecting Reset Target/Compile BIOS on the Compile menu.
Try the different COM ports in the OPTIONS menu until you find the one you are connected to. If you still can’t get Dynamic C to recognize the target on any port, then the
hookup may be wrong or the COM port might not working on your PC.
Dynamic C automatically uses a maximum debug baud rate of 38,400 bps when an
LP3500 series board is in use.
14Fox (LP3500)
2.5 PONG.C
You are now ready to test your set-up by running a sample program.
Find the file PONG.C, which is in the Dynamic C SAMPLES folder. To run the program,
open it with the File menu (if it is not still open), then compile and run it by pressing F9 or
by selecting Run in the Run menu. The STDIO window will open and will display a small
square bouncing around in a box.
This program shows that the CPU is working.
2.6 Where Do I Go From Here?
NOTE: If you purchased yo ur LP350 0 through a distr ibutor o r Rabbit partner, contact the
distributor or partner first for technical support.
If there are any problems at this point:
• Use the Dynamic C Help menu to get further assistance with Dynamic C.
• Check the Rabbit Technical Bulletin Board and forums at www.rabbit.com/support/bb/
and at www.rabbit.com/forums/.
• Use the Technical Support e-mail form at www.rabbit.com/support/.
If the sample program ran fine, you are now ready to go on to explore other LP3500 fea-
tures and develop your own applications.
Chapter 3, “Subsystems,” provides a description of the LP3500’s features, Chapter 4,
“Software,” describes the Dynamic C software libraries and introduces some sample programs. These sample programs can be used as templates for applications you may wish to
develop.
User’s Manual15
16Fox (LP3500)
3. SUBSYSTEMS
Chapter 3 describes the principal subsystems for the LP3500.
• Power Modes
•Digital I/O
• Serial Communication
• A/D Converter Inputs (LP3500 only)
• PWM Outputs
• Relay Output Circuit (LP3500 only)
• Memory
Figure 7 shows these Rabbit-based subsystems designed into the LP3500.
NOTE: Although header J2 is installed on the LP3510, the associated analog I/O are not
available on the LP3510. The relay screw-terminal header at J8 is also not installed on
the LP3510. The power supply inputs on header J2 are still available.
3.1.1 Headers and Screw Terminals
Standard LP3500 models are equipped with two 1 × 17 headers (J1 and J2) with a pitch of
0.1", one 1 × 25 header (J4) with a pitch of 0.1", and one 1 × 3 screw terminal strip (J8).
The Display Interface (J9) is a 2 × 13 header with a pitch of 0.1", and the Serial Interface
is a 2 mm 2 × 5 socket.
A variety of commercially available connectors with a 0.1" pitch can be used to interface
to the signals on headers J1, J2, and J4, or the Prototyping Board may be used to access
these signals via screw-terminal headers.
18Fox (LP3500)
3.2 Power Modes
See note
16 mA
Consumption
Typical Current
Supports
from Table 3
Subsystems
Supports
Relay Output
Power Source
5 mA
1.0 mA
140 µA
140 µA
battery
VIN or external
NoNo
External battery
70 µA
NoNo46 µA
lator turned off)
(with linear regu-
or ext. battery
Onboard ba ttery
See
Code
NoneVINYesYes
Restrictions
and
SRAM and
Section 3.2.1
Section 3.2.2
R TC updates
Table 2. Software-Defined Power Modes
Low-
Power
88.192 kHz
None
Modes
94.096 kHz
Processor haltedNone
102.048 kHz
Power-Save Mode 2.048 kHz
NOTE: The actual current consumption depends heavily on the SRAM writes in the user’s program. See Section 3.2.2 for more
information.
Debug
Capability
Clock
Frequency
Mode
User’s Manual19
Normal
7.3728 MHz
Modes
Normal
23.6864 MHz
31.8423 MHz
1
41.2288 MHz
32.768 kHz
50.9216 MHz
6
716.384 kHz
Table 2 lists the power modes based on clock frequency that can be defined in software
using the powerMode function.
The LP3500 can operate at various power levels, depending on the clock frequency and on
which subsystems on the board are turned off using the devPowerSet function. Table 3
lists the LP3500 subsystems that can be turned off with the devPowerSet function.
Table 3. LP3500 Subsystems That Can Be Turned Off
LP3500 SectionDescription
RS-232Receivers and transmitters are disabled, RxE remains active.
RS-485Transmitter is disabled.
A/D Converter
(LP3500 model only)
LCD/Keypad ModuleLCD/keypad module is turned off.
All of the AboveAll sections are disabled as described above.
NOTE: RxE always remains active when the above systems are turned off to allow the
LP3500 to “listen” while it is in the
ADS7870 internal oscillator is turned off.
power-save mode.
The LP3500 processor turns off automatically when VIN is removed, and the processor
will not operate again until VIN is restored. The onboard battery provides backup for the
SRAM and the real-time clock. VIN must be applied to the LP3500 in order to run or set
the processor in any of the numbered modes listed in Table 2.
3.2.1 Setting the Power-Save Mode
The LP3500 can be placed in the power-save mode using one of three different software
calls,
serCommAlert,
timedAlert, or
digInAlert,
depending on whether you wish to use Serial Port E, a simple timeout, or a digital input to
trigger the LP3500 to resume operation in one of the other power modes.
If you call serCommAlert, then any activity on Serial Port E will trigger the LP3500 out
of the low-power mode. If you call timedAlert, then the LP3500 is triggered out of the
power-save mode when the specified time has elapsed. If you call digInAlert, then the
LP3500 is triggered out of the power-save mode when the specified channel is activated.
In addition, digInAlert and serCommAlert have “backup” timeout parameters associated with them to wake up the LP3500 after a specified period even in the absence of the
digital or serial triggers.
20Fox (LP3500)
3.2.2 Operating in the Power-Save Mode
VIN may be removed to allow the LP3500 to operate using the external battery once the
LP3500 is in Mode 10. At this point, the LP3500 will draw 200 µA after the subsystems
listed in T able 3 are turned off. The LP3500’ s linear regulator may then be turned off using
the setpowersource function call, and this will lower the current draw to 100 µA.
The LP3500 digital I/O can continue to operate (remember that an independent +K source
is required for the digital outputs) using special software routines.
Here are some tips for when the LP3500 is in the power-save mode.
1. Do not write to the SRAM while the LP3500 is in power-save mode and you are relying
solely on the onboard backup battery.
2. When the linear regulator is turned off, watch your current consumption carefully since
too high a current draw could trigger a system reset and turn off the processor.
3.2.3 Resuming Normal-Power or Low-Power Operation
As long as VIN is still connected and the linear regulator has not been turned off, the
LP3500 will return automatically to the previous power mode once the non-zero timeout
specified in serCommAlert, timedAlert, or digInAlert has elapsed.
NOTE: The processor wil l tur n of f if VIN i s not ava ilable at th e e xpirat ion of the timeout
or if VIN is not available when a wake-up signal comes in through Serial Port E or the
selected digital input.
When the timeout is set to 0, which corresponds to an indefinite timeout, the LP3500 may
still be restored to a normal power mode from the power-save mode.
1. Make sure that raw DC power is available at VIN.
2. Turn the linear regulator back on using the setpowersource function call.
3. Use the rdPowerState function call to establish that the LP3500 is now operating
from VIN. Note that this function only works with LP3500 models, which have the
A/D converter.
4. Use the powerMode function call to set the desired power mode.
User’s Manual21
3.3 Digital I/O
3.3.1 Digital Inputs
The LP3500 has 16 digital inputs, IN00–IN15. The inputs are factory-configured to be
pulled up to +K in banks of eight, but they can also be pulled up to Vcc or down to 0 V in
banks of eight by changing a surface-mounted 0 Ω resistor as shown in Figure 9.
Vcc
Factory
+K
0 W
22 kW
Default
GND
Figure 9. LP3500 Digital Inputs [Pulled Up—Factory Default]
The digital inputs are each fully protected
over a range of 0 V to +36 V, and can handle
short spikes of ±40 V. The actual switching
threshold is approximately 1.40 V. Anything below this value is a logic 0, and anything above is a logic 1
.
100 kW
330 nF
+40 V
+36 V
Microprocessor
Spikes
Rabbit 3000
Normal Switching
Spikes
®
Levels
Pulling the digital inputs to Vcc will
+3.3 V
increase the current consumption by about
300 µA for each digital input.
Digital Input Voltage
40 V
Figure 10. LP3500 Digital Input Protected
22Fox (LP3500)
Spikes
Range
3.3.2 Digital Outputs
The LP3500 has 10 digital outputs: OUT0–OUT7 can each sink up to 200 mA, and
OUT8–OUT9 can each source up to 200 mA at 36 V. Figure 11 shows a wiring diagram
for using the digital outputs in a sinking or a souring configuration.
SINKING OUTPUTS (OUT0OUT7)
K
Current
Flow
1 MW
SOURCING OUTPUTS (OUT8OUT9)
Vcc
K
Current
Flow
Figure 11. LP3500 Digital Outputs
TIP: Turn the outputs off (high for sourcing outputs and low for sinking outputs) to
reduce current consumption.
User’s Manual23
When the LP3500 is connected to the Prototyping Board, a 0 Ω resistor on the Prototyp-
GND
VIN
ing Board (R1) ties +K to VIN, the raw DC
input voltage. Figure 12 shows the location of
D1
J5
R1
DS4 DS3 DS2 DS1
PWR
this 0 Ω resistor on the Prototyping Board.
NOTE: R1 on the Prototyping Broad
must be removed to avoid damage to
the power supplies if you are using the
Prototyping Board with the LP3500
and you are using separate power supplies for VIN and K.
R1
OUT8 OUT7 OUT6 OUT5 OUT4 OUT3 OUT2 OUT1 OUT0
J44
Figure 12. Location of R1
on Prototyping Board
When the LP3500 is used alone, remember to connect a power supply to +K (pin 12 on
header J7). Your +K supply may be up to +36 V DC, and should be capable of delivering
up to 2.0 A.
NOTE: If +K is not connected, the dig ital inputs may floa t, which may in creas e your cur -
rent consumption.
24Fox (LP3500)
3.4 Serial Communication
The LP3500 has three RS-232 serial ports that can set using the serMode software function
call as one RS-232 serial channel (with RTS/CTS) and one 3-wire channel, or they may be
set as three RS-232 (3-wire) channels. Table 4 summarizes the options.
Table 4. RS-232 Serial Communication Configurations
The LP3500 also has one RS-485 serial channel (Serial Port F), one CMOS-level serial
interface port (Serial Port D), and one CMOS-level serial channel that serves as the programming port (Serial Port A).
All six serial ports operate in an asynchronous mode. An asynchronous port can handle 7
or 8 data bits. A 9th bit address scheme, where an additional bit is sent to mark the first
byte of a message, is also supported. Serial Port D and Serial Port A, the programming
port, can be operated alternately in the clocked serial mode. In this mode, a clock line synchronously clocks the data in or out. Either of the two communicating devices can supply
the clock. The LP3500 uses a 3.6864 MHz crystal, which is doubled to 7.3728 MHz. At
this frequency, the LP3500 supports standard asynchronous baud rates up to a maximum
of 921,600 bps.
Table 5 lists the use and the capabilities of the six serial ports.
Table 5. LP3500 Serial Port Uses and Capabilities
Serial PortUse
A
B3-wire RS-232J4No
C
D
ERS-232J4No
FRS-485J4No
User’s Manual25
Programming port or logic-level
serial port
3-wire RS-232 or RTS/CTS flow
control for Serial Port B
Serial interface port supports SPI
device, also used by A/D converter
on LP3500
Header
Location
J5Yes
J4No
J6Yes
Synchronous
Capability
3.4.1 RS-232
The LP3500 RS-232 serial communication is supported by an RS-232 transceiver. This transceiver provides the voltage o utp ut, sl ew rate, and i npu t v oltage i mmuni ty requi red to meet
the RS-232 serial communicatio n p roto co l. Bas icall y, the chip translates the Rabbit 3000’s
logic-level signals to RS-2 32 s ignal l evels . No te t hat the pola rity is reverse d in an RS-2 32
circuit so that a +2.8 V output becom es app roxi mately -7 V and 0 V is out put as +7 V. The
RS-232 transceiver also provides t he proper l ine loadi ng for reliable comm uni cation.
RS-232 can be used effectively at the LP3500’s m aximum baud rate for distances of up to
15 m.
Logic-level signals are also possible on Serial Ports B, C, and E by changing the 0 Ω
surface-mounted resistor jumper settings at locations JP1–JP6.
Serial Port E can be set to “listen” and “wake up” the LP3500 when the unit is in a lowpower mode.
3.4.2 RS-485
The LP3500 has one RS-485 serial channel, which is connected to Serial Port F on the
Rabbit 3000 through an RS-485 transceiver. The half-duplex communication uses the
Rabbit 3000’s PG0 pin to control the transmit enable on the communication line.
The RS-485 transceiver used on the LP3500 is only capable of supporting a maximum
baud rate of 64,000 bits/s.
The LP3500 can be used in an RS-485 multidrop network. Connect the 485+ to 485+ and
485– to 485– using single twisted-pair wires (nonstranded, tinned) as shown in Figure 13.
Note that a common ground is recommended.
Zener diodes are used in lieu of termination and bias resistors to minimize power
consumption.
User’s Manual27
3.4.3 Serial Interface P ort
The LP3500 offers a serial interface port at header
J6, a 2 mm 2 × 5 socket. This port may be used to
connect serial logic-level devices such as Rabbit’s
SF1000 serial flash expansion cards to Serial Port
D on the Rabbit 3000. The PIO_0, PIO_1, PIO_2,
and PF2_SRST signals are not used by the SF1000
serial flash expansion cards.
PIO_2
PIO_1
PIO_0
PF0_SCK
PC1_SRX
J6
PF2_SRST
PB7_SFCS
PC0_STX
Vcc
GND
Figure 14 provides the pinout for the serial interface
port.
Figure 14. Serial Interface Port
(Header J6) Pinout
3.4.4 Programming Port
The LP3500’s serial programming port is accessed using header J5. The programming
port uses the Rabbit 3000’s Serial Port A for communication. Dynamic C uses the programming port to download and debug programs.
The programming port is also used for the following operations.
• Cold-boot the Rabbit 3000 on the LP3500 after a reset.
• Remotely download and debug a program over an Ethernet connection using the
RabbitLink EG2110.
• Fast copy designated portions of flash memory from one Rabbit-based board (the
master) to another (the slave) using the Rabbit Cloning Board.
In addition to Serial Port A, the Rabbit 3000 startup-mode (SMODE0, SMODE1), status,
and reset pins are available on the programming port.
The two startup mode pins determine what happens after a reset—the Rabbit 3000 is
either cold-booted or the program begins executing at address 0x0000.
The status pin is used by Dynamic C to determine whether a Rabbit microprocessor is
present. The status output has three different programmable functions:
1. It can be driven low on the first op code fetch cycle.
2. It can be driven low during an interrupt acknowledge cycle.
3. It can also serve as a general-purpose CMOS output.
The /RESET_IN pin is an external input that is used to reset the Rabbit 3000 and the
LP3500 onboard peripheral circuits. The serial programming port can be used to force a
hard reset on the LP3500 by asserting the /RESET_IN signal.
28Fox (LP3500)
Alternate Uses of the Serial Programming Port
All three clocked Serial Port A signals are available as
• a synchronous serial port
• an asynchronous serial port, with the clock line usable as a general CMOS input
The programming port may also be used as a serial port once the application is running.
The SMODE pins may then be used as inputs and the status pin may be used as an output.
Refer to the Rabbit 3000 Microprocessor User’s Manual for more information.
User’s Manual29
3.5 Display Interface
The LP3500 supports an interf ace with the parall el ports
on the Rabbit 3000 via the Display Interface at header
J9. The Display Interface may be used with Rabbit’s
LCD/keypad module, which offers an operator interface
with seven keys and a 122 × 32 graphic display.
Figure 15 provides the pinout for the Display Interface.
Appendix C, “LCD/Keypad Module,” provides further
The single 8-channel A/D converter chip used in the LP3500 (the LP3510 does not have
analog capabilities) has a resolution of 12 bits for differential measurements or 11 bits for
single-ended measurements. Four of the channels can be jumpered individually for 4–20 mA
using jumpers across pins on header J3, and all 8 channels can be used over several
software-scaled voltage ranges.
The
A/D converter chip has an internal amplifier that works with the resistor divider net-
work on the analog inputs as shown in
+ V
Figure 16.
AIN0
AIN1
R
IN
953 kW
ADC
Jumper pins to
configure for
420 mA
AGND
J3
100 W
52.3 kW
100 pF
Figure 16. Buffered A/D Converter Inputs
The
A/D converter chip can be programmed in software to operate over the voltage ranges
shown in
Table 6.
Table 6. A/D Converter Input Ranges
Gain CodeMultiplier
010–20 V
120–10 V
240–5 V
Voltage
Range
350–4 V
480–2.5 V
5100–2 V
6160–1.25 V
7200–1 V
User’s Manual31
Single-ended measurements are made by connecting the analog signal between an analog
input channel (AIN0–AIN7) and AGND. Differential measurements are made by connecting a pair of differential analog signals to an adjacent pair of analog input channels
(AIN0–AIN1, …, AIN6–AIN7). The A/D converter is only capable of converting positive
voltages, and so will convert the difference between an adjacent pair of input channels,
and must be scaled for a voltage range appropriate for the voltage differences.
Table 7 lists the jumper configurations for header J3 used to set the 4–20 mA and the voltage measurement options.
Table 7. Header J3 Configuration for Analog I/O Options
Analog Input Channel
AIN0Jumper “parked” on pin 2Pins 1–2 connected
AIN1Jumper “parked” on pin 4Pins 3–4 connected
AIN2Jumper “parked” on pin 6Pins 5–6 connected
AIN3Jumper “parked” on pin 8Pins 7–8 connected
CAUTION: If you have enabled the 4–20 mA current option on any of the AIN0–AIN3
channels, be careful with any voltage sources that you might connect to these inputs.
The voltage must be le ss than 2.5 V to keep the current ac ro ss the 100 Ω resistor below
the maximum allowed current.
Voltage Option
(Factory Default)
4–20 mA Option
The A/D converter inputs are factory-calibrated, and the calibration constants are stored in
flash memory . You may calibrate the A/D converter inputs at a later time using the software
functions described in Section 4.4.5, “A/D Converter Inputs.”
NOTE: If you are using a fixed v oltage range, you sho uld recal ibrate you r LP3500 at tha t
range.
AIN7 can be used to monitor Vcc using the VccMonitorInit function. While Vcc can
be monitored in all the power modes, Vcc monitoring is particularly useful when the
LP3500 is being operated from an external battery to monitor the voltage being supplied
by the battery.
The VccMonitorInit function requires the operation of the A/D converter, which consumes about 500 µA. The Vcc monitoring circuit itself consumes about 15 µA while it is
engaged.
Turn off VccMonitorInit() (and the A/D converter if it is not going to be
used) when the test is done to extend your battery life.
32Fox (LP3500)
3.7 PWM Outputs
The D/A conversion outputs are pulse-width modulated and scaled to provide an output
from 0 V to Vcc (approx. 2.8 V).
Figure 17 shows the PWM outputs.
Rabbit 3000
Microprocessor
®
1 kW
PWM0
PWM1
1 nF
GND
Figure 17. PWM Outputs
User’s Manual33
3.8 Relay Output Circuit (LP3500 only)
A bistable relay is stuffed on LP3500 models only at position K1, and the relay contacts
are accessed via screw-terminal header J8. The relay can switch up to 1 A at 30 V DC.
The relay is set via Parallel Port PG4 on the Rabbit 3000, and is reset via Parallel Port PG5
by a 10 ms pulse. The relay resets when the LP3500 resets, and operates only in the normal power modes.
NOTE: The relay does not reset automatically when power is removed from the
LP3500.
PG4
Rabbit 3000
Microprocessor
®
PG5
SET
RESET
5
-
10 nF
7
8
9
+
10
5.1 W
5.1 W
10 nF
1
+
4
3
2
-
6
NO
COM
NC
J8
1
2
3
Figure 18. Relay Output Circuit
NOTE: Switching the rela y may con sume up to 120 mA during the roughly 10 ms that it
takes for the relay to switch. Make sure that your power supply has sufficient capacity
to handle this sur ge c urrent to avoi d putti ng the LP3 500 into the power - save mode . The
relay does not consume any current while it is in the NO or the NC position and is not
switching.
34Fox (LP3500)
3.9 Serial Programming Cable
The programming cable is used to connect the LP3500’s serial programming port to a PC
serial COM port. The programming cable converts the RS-232 voltage levels used by the
PC serial port to the CMOS voltage levels used by the Rabbit 3000.
When the
PROG connector on the programming cable is connected to the LP3500’ s serial
programming port at header J5, programs can be downloaded and debugged over the serial
interface.
The DIAG connector of the programming cable may b e u sed on header J5 of th e LP3500
with the LP3500 operating in the Run Mode. This allows the programming port to be used
as a regular serial port.
3.9.1 Changing Between Program Mode and Run Mode
The LP3500 is automatically in Program Mode when the PROG connector on the programming cable is attached, and is automatically in Run Mode when no programming
cable is attached. When the Rabbit 3000 is reset, the operating mode is determined by the
state of the SMODE pins. When the programming cable’s PROG connector is attached,
the SMODE pins are pulled high, placing the Rabbit 3000 in the Program Mode. When the
programming cable’s PROG connector is not attached, the SMODE pins are pulled low,
causing the Rabbit 3000 to operate in the Run Mode. See Figure 19.
RESET LP3500 when changing mode:
Press RESET switch,
Cycle power off/on
after removing or attaching programming cable.
OR
Figure 19. LP3500 Program Mode and Run Mode Set-Up
User’s Manual35
A program “runs” in either mode, but can only be downloaded and debugged when the
LP3500 is in the Program Mode.
Refer to the Rabbit 3000 Microprocessor User’s Manual for more information on the pro-
gramming port and the programming cable.
3.9.2 Standalone Operation of the LP3500
The LP3500 must be programmed via the Prototyping Board or via a similar arrangement
on a customer-supplied board. Once the LP3500 has been programmed successfully,
remove the serial programming cable from the programming connector and reset the
LP3500. The LP3500 may be reset by cycling the power of f/on or by pressing the RESET
button on the Prototyping Board. The LP3500 module may now be removed from the Prototyping Board for end-use installation.
CAUTION: Disconnect power to the Prototyping Board or other boards when removing
or installing your LP3500 to protect against inadvertent shorts across the pins or damage to the LP3500 if the pins are not plugged in correctly. Do not reapply power until
you have verified that the LP3500 is plugged in correctly.
3.10 Other Hardware
3.10.1 Spectrum Spreader
The Rabbit 3000 features a spectrum spreader, which helps to mitigate EMI problems. By
default, the spectrum spreader is on automatically, but it may also be turned off or set to a
stronger setting. The means for doing so is through a simple global macro as shown below.
1. Select the “Defines” tab from the Dynamic C Options > Project Options menu.
2. Normal spreading is the default, and usually no entry is needed. If you need to specify
normal spreading, add the line
ENABLE_SPREADER=1
For strong spreading, add the line
ENABLE_SPREADER=2
To disable the spectrum spreader, add the line
ENABLE_SPREADER=0
NOTE: The strong spectrum-spreading setting is not recommended since it may limit
the maximum clock speed or the maximum baud rate. It is unlikely that the strong setting will be used in a real application.
3. Click OK to save the macro. The spectrum spreader will now be set to the state specified
by the macro value whenever you are in the project file where you defined the macro.
NOTE: Refer to the Rabbit 3000 Microprocessor User’s Manual for more information
on the spectrum-spreading setting and the maximum clock speed.
36Fox (LP3500)
3.11 Memory
3.11.1 SRAM
The LP3500 module is designed to accept 128K to 512K of SRAM at U5. The standard
LP3500 modules come with 512K of SRAM.
3.11.2 Flash Memory
The LP3500 is also designed to accept 256K to 512K of flash memory at U6 and U7. The
standard LP3500 modules comes with two 256K flash memory chips.
NOTE: Rabbit recommends that any c ustomer applications should not be constra ine d by
the sector size of the flash memory since it may be necessary to change the sector size
in the future.
A Flash Memory Bank Se lect jump er configuration option based on 0 Ω surface-mounted
resistors exists at header JP10. This option, used in conjunction with some configuration
macros, allows Dynamic C to compile two different co-resident programs for the upper
and lower halves of the 256K flash in such a way that both programs start at logical
address 0000. This is useful for applications that require a resident download manager and
a separate downloaded program. See Rabbit’s Technical Note 218, Implementing a Serial Download Manager for a 256K Flash, in the online documentation for details.
User’s Manual37
38Fox (LP3500)
4. SOFTWARE
Dynamic C is an integrated development system for writing
embedded software. It runs on an IBM-compatible PC and is
designed for use with sing le-board computers and other devices
based on the Rabbit microprocessor.
Chapter 4 provides the libraries, function calls, and sample programs related to the LP3500.
You have a choice of doing your software development in the flash memory or in the static
RAM included on the LP3500. The flash memory and SRAM options are selected with the
Options > Project Options > Compiler menu.
The advantage of working in RAM is to save wear on the flash memory, which is limited
to about 100,000 write cycles. The disadvantage is that the code and data might not both
fit in RAM.
NOTE: An application can be developed in RAM, but can not run sta nda lone from RAM
after the programming cable is disconnected. All standalone applications can only run
from flash m emory.
NOTE: Do not depend on the flash memory sector size or type. Due to the volatility of
the flash memory market, the LP3500 and Dynamic C were designed to accommodate
flash devices with various sector sizes.
Developing software with Dynamic C is simple. Users can write, compile, and test C and
assembly code without leaving the Dynamic C development environment. Debugging
occurs while the application runs on the target. Alternatively , users can compil e a program to
an image file for later loading. Dynamic C runs on PCs under Windows 2000/NT and later .
Rabbit’s Technical Note TN257, Running Dynamic C® With Windows Vista®, in the
online documentation set provides additional information about using Windows Vista®
with versions of Dynamic C prior to v. 9.60.
Programs can be downloaded at baud rates of up to 460,800 bps after the program
compiles.
User’s Manual39
Dynamic C has a number of standard features.
• Full-feature source and/or assembly-level debugger, no in-circuit emulator required.
• Royalty-free TCP/IP stack with source code and most common protocols.
• Hundreds of functions in source-code libraries and sample programs:
X Exceptionally fast support for floating-point arithmetic and transcendental functions.
X RS-232 and RS-485 serial communication.
X Analog and digital I/O drivers.
X I2C, SPI, GPS, encryption, file system.
X LCD display and keypad drivers.
• Powerful language extensions for cooperative or preemptive multitasking
• Loader utility program to load binary images into Rabbit targets in the absence of
Dynamic C.
• Provision for customers to create their own source code libraries and augment on-line
help by creating “function description” block comments using a special format for
library functions.
• Standard debugging features:
X Breakpoints—Set breakpoints that can disable interrupts.
X Single-stepping—Step into or over functions at a source or machine code level, µC/OS-II aware.
X Code disassembly—The disassembly window displays addresses, opcodes, mnemonics, and
machine cycle times. Switch between debugging at machine-code level and source-code level by
simply opening or closing the disassembly window.
X Watch expressions—Watch expressions are compiled when defined, so complex expressions
including function calls may be placed into watch expressions. Watch expressions can be updated
with or without stopping program execution.
X Register window—All processor regi sters and fla gs are displ ayed. The content s of general r egisters
may be modified in the window by the user.
X Stack window—shows the contents of the top of the stack.
X Hex memory dump—displays the contents of memory at any address.
X STDIO window—printf outputs to this window and keyboard input on the host PC can be
detected for debugging purposes.
printf output may also be sent to a serial port or file.
40Fox (LP3500)
4.1 Upgrading Dynamic C
4.1.1 Patches and Bug Fixes
Dynamic C patches that focus on bug fixes are available from time to time. C heck the Web
site www.rabbit.com/support/ for the latest patches, workarounds, and bug fixes.
The default installation of a patch or bug fix is to install the file in a directory (folder) different from that of the original Dynamic C installation. Rabbit recommends using a different directory so that you can verify the operation of the patch without overwriting the
existing Dynamic C installation. If you have made any changes to the BIOS or to libraries,
or if you have programs in the old directory (folder), make these same changes to the
BIOS or libraries in the new directory containing the patch. Do not simply copy over an
entire file since you may overwrite a bug fix; of course, you may copy over any programs
you have written. Once you are sure the new patch works entirely to your satisfaction, you
may retire the existing installation, but keep it available to handle legacy applications.
4.1.2 Extras
Dynamic C installations are designed for use with the board they are included with, and
are included at no charge as part of our low-cost kits.
Starting with Dynamic C version 9.60, Dynamic C includes the popular µC/OS-II realtime operating system, point-to-point protocol (PPP), FAT file system, RabbitWeb, and
other select libraries. Rabbit also offers for purchase the Rabbit Embedded Security Pack
featuring the Secure Sockets Layer (SSL) and a specific Advanced Encryption Standard
(AES) library.
In addition to the Web-based technical support included at no extra charge, a one-year
telephone-based technical support subscription is also available for purchase.
V isit o ur Web site at www.rabbit.com for further information and complete documentation.
User’s Manual41
4.2 Sample Programs
Sample programs are provided in the Dynamic C Samples folder. The sample program
PONG.C demonstrates the output to the STDIO window.
The various directories in the Samples folder contain specific sample programs that illustrate the use of the corresponding Dynamic C libraries.
The LP3500 folder provides sample programs specific to the LP3500. Each sample program has comments that describe the purpose and function of the program. Follow the
instructions at the beginning of the sample program.
To run a sample program, open it with the File menu (if it is not still open), compile it
using the Compile menu, and then run it by selecting Run in the Run menu. The LP3500
must be in the Program mode (see Section 3.9, “Serial Programming Cable”) and must be
connected to a PC using the programming cable as described in Section 2.1, “LP3500
Connections.”
Appendix F, “Running a Sample Program,” takes you through the steps of running one of
the sample programs.
4.2.1 Power Modes
The following sample program is found in the POWER subdirectory in SAMPLES\LP3500.
• POWER.C—This program demonstrates switching from the normal raw DC power
source to an external battery using the Prototyping Board. Pressing a switch will
change from the power source and will be displayed by flashing LEDs.
• LOWPWRDEMO.C—This program demonstrates a low-power mode with the normal power
source connected to the LP3500.
4.2.2 Digital I/O
The following sample programs are found in the IO subdirectory in SAMPLES\LP3500.
• DIGIN.C—Demonstrates the use of the digital inputs. Using the Prototyping Board, you
can see an input channel toggle from HIGH to LOW when pressing a pushbutton on the
Prototyping Board.
• DIGOUT.C—Demonstrates the use of the high-current outputs configured as either sinking or sourcing outputs. Using the Prototyping Board, you can see an LED toggle
on/off via a high-current output.
• DIGBANKIN.C—Demonstrates the use of the digital inputs. Using the Prototyping
Board, you can see a bank of input channels toggle from HIGH to LOW when pressing
a pushbutton on the Prototyping Board.
• DIGBANKOUT.C—Demonstrates the use of the high-current outputs configured as either
sinking or sourcing outputs. Using the Prototyping Board, you can see a bank of channels toggle the corresponding LEDs on/off via high-current outputs.
42Fox (LP3500)
4.2.3 Serial Communication
The following sample programs are found in the RS232 subdirectory in SAMPLES\LP3500.
• SIMPLE3WIRE.C—This program demonstrates basic initialization for a simple RS-232
3-wire loopback displayed in the STDIO window.
The following sample programs are found in the RS485 subdirectory in SAMPLES\LP3500.
• SIMPLE485MASTER.C—This program demonstrates a simple RS-485 transmission of
lower case letters to a slave LP3500. The slave will send back converted upper case letters back to the master LP3500 and display them in the STDIO window. Use
SIMPLE485SLAVE.C to program the slave LP3500.
• SIMPLE485SLAVE.C—This program demonstrates a simple RS-485 transmission of
lower case letters to a slave LP3500. The slave will send back converted upper case letters back to the master LP3500 and display them in the
SIMPLE485MASTER.C to program the master LP3500.
STDIO window. Use
4.2.4 A/D Converter Inputs
The following sample programs are found in the ADC subdirectory in SAMPLES\LP3500.
• AD_RDVOLT_ALL.C—This program reads and displays the voltage and equivalent values
of each single-ended A/D converter channel. Coefficients are read from the A/D converter's simulated EEPROM in flash memory to compute the equivalent voltages. Computed raw data and equivalent voltages are displayed in the
STDIO window.
• AD_RDVOLT_CH.C—This program reads and displays the voltage and equivalent values
of one single-ended A/D converter channel. Coefficients are read from the A/D converter's simulated EEPROM in flash memory to compute the equivalent voltages. Computed raw data and equivalent voltages are displayed in the STDIO window.
• AD_RDDIFF_CH.C—This program demonstrates reading one differential A/D converter
channel. Coefficients are read from the A/D converter's simulated EEPROM in flash
memory to compute the equivalent voltages. Computed raw data and equivalent voltages are displayed in the
STDIO window.
• AD_RDMA_CH.C—This program demonstrates reading one milliampere A/D converter
channel. Coefficients are read from the A/D converter's simulated EEPROM in flash
memory to compute the equivalent currents. Computed raw data and equivalent currents are displayed in the STDIO window.
• AD_SAMPLE.C—This program demonstrates how to use the A/D low-level driver. The
program will display the average voltage that is present on an A/D converter channel.
The particular channel and the number of samples may be changed by the user.
User’s Manual43
4.2.5 PWM Outputs
The following sample program is found in the IO subdirectory in SAMPLES\LP3500.
• PWMOUT.C—This program demonstrates the PWM functions. It will set the PWM channels, PWM0–PWM2, to the following duty cycles:
PWM Channel 0 to 10%
PWM Channel 1 to 25%
PWM Channel 2 to 50%
All activity will be displayed in the STDIO window.
4.2.6 Relay Output
The following sample program is found in the RELAY subdirectory in SAMPLES\LP3500.
• SWRELAY.C—This program demonstrates the relay-switching function call operating on
normal power source. Use the pushbutton switches on the Prototyping Board to switch
the relay between the SET (NO) and RESET (NC) positions. All activity will be displayed with the LEDs.
4.2.7 Vcc Monitoring
The following sample program is found in the POWER subdirectory in SAMPLES\LP3500.
• VCCMONITOR.C—This program demonstrates the Vcc monitoring function on AIN7.
All activity will be displayed in the STDIO window
4.2.8 LP3500 Calibration
The following sample programs are found in the ADC subdirectory in SAMPLES\LP3500.
• AD_CAL_ALL.C—This program demonstrates how to recalibrate all single-ended A/D
converter channels using two known voltages to generate constants for each channel,
and will be written into the user block data area. The program uses the STDIO window
to display the voltage that is being monitored.
NOTE: This sample program will overwrite the calibration constants set at the factory.
• AD_CAL_CHAN.C—This program demonstrates how to recalibrate one single-ended A/D
converter channel using two known voltages to generate constants for each channel,
and will be written into the user block data area. The program uses the STDIO window
to display the voltage that is being monitored.
NOTE: This sample program will overwrite the calibration constants set at the factory.
• AD_CALDIFF_CH.C—This sample program demonstrates how to recalibrate one differential A/D converter channel using two known voltages to generate constants for that
channel and rewrite the constants into the user block data area. The program uses the
STDIO window to display the voltage that is being monitored.
NOTE: This sample program will overwrite the calibration constants set at the factory.
44Fox (LP3500)
• AD_CALMA_CH.C—This sample program demonstrates how to recalibrate one A/D converter channel operating in the 4–20 mA current mode using two known currents to
generate two coefficients, gain and offset, which are rewritten into the user block data
area. The program uses the STDIO window to display the current that is being monitored.
NOTE: This sample program will overwrite the calibration constants set at the factory.
4.2.9 LCD/Keypad Module Sample Programs
Sample programs for the LCD/keypad module are described in Section C.8.
User’s Manual45
4.3 LP3500 Libraries
One library directory provides the function calls that are used to develop applications for
the LP3500.
• LP3500—libraries associated with features specific to the LP3500. The functions in the
LIB\Rabbit3000\LP35xx.LIB library are described in Section 4.4, “LP3500 Function
Calls.”
The LCD/keypad module functions are described in Section C.7. Other generic functions
applicable to all devices based on the Rabbit 3000 microprocessor are described in the
Dynamic C Function Reference Manual.
46Fox (LP3500)
4.4 LP3500 Function Calls
4.4.1 LP3500 Power Modes
int devPowerSet(int devices, int state);
Sets individual devices to low-power or fully active states in the order listed below.
PARAMETERS
devices is a list of the following macros, which are OR'ed together, that will be af fected by the state
parameter, e.g., RS232DEV|ADCDEV.
maxpowermode, int powersource, unsigned long
timeout);
Use this function to poll Serial Port E for any activity or until a timeout occurs. The function call forces
the LP3500 to enter the low-power mode using the battery for polling. Upon expiration of the timeout or
the receipt of a serial byte, this function will enable the normal power mode and exit.
Use devPowerSet(ALLDEVICES, int state) before and after this function call to deactivate
and activate all devices to operate at less power.
PARAMETERS
lowpowermode is the low-power mode setting to enter, usually 10 (see powerMode())
maxpowermode is the maximum operating power mode setting to enter, usually 1 (see power-
Mode())
powersource
1 = battery
2 = raw DC power
timeout is the timeout in seconds if no activity is detected on the RxE receiver line. Enter 0 for no
timeout
SEE ALSO
powerMode, digInAlert, timedAlert, devPowerSet
void timedAlert(int lowpowermode, int maxpowermode,
int powersource, unsigned long timeout)
Use this function to poll the real-time clock until a timeout occurs. The function call forces the LP3500 to
enter the low-power mode, disables the normal power source, and may enable the external battery for
polling. Upon expiration of the timeout this function will enable the normal power mode and exit. If the
normal power source is not available, the LP3500 will not be able to resume operation at the maximumpower mode, and may reset.
Use devPowerSet(ALLDEVICES, int state) before and after this function call to deactivate
and activate all devices to operate at less power.
PARAMETERS
lowpowermode is the low-power mode setting to enter, usually 10 (see powerMode())
maxpowermode is the maximum operating power mode setting to enter, usually 1 (see power-
Mode())
powersource
1 = battery
2 = raw DC power
timeout is the timeout in seconds if an input is not received.
SEE ALSO
powerMode, digInAlert, serCommAlert, devPowerSet
User’s Manual49
void digInAlert(int channel, int value, int
lowpowermode, int maxpowermode, int powersource,
unsigned long timeout)
Use this function to poll a selected digital input until a timeout occurs. The function call forces the
LP3500 to enter the low-power mode using the battery for polling. Upon activation of the channel or
expiration of the timeout, this function will enable the normal power mode and exit.
Use devPowerSet(ALLDEVICES, int state) before and after this function call to deactivate
and activate all devices to operate at less power.
PARAMETERS
channel is the digital input channel (IN00– IN15) to poll
value is the input value of 0 or 1 to receive
lowpowermode is the low-power mode setting to enter, usually 10 (see powerMode())
maxpowermode is the maximum operating power mode setting to enter, usually 1 (see power-
Mode())
powersource
1 = battery
2 = raw DC power
timeout is the timeout in seconds if an input is not received. Enter 0 for no timeout.
SEE ALSO
powerMode, serCommAlert, timedAlert, devPowerSet
int rdPowerState(void);
Determines if the LP3500 is running under battery power or a raw DC power source.
RETURN VALUE
0 if on raw DC power source
1 if on battery power
SEE ALSO
powerMode, setPowerState
int setPowerSource(int state);
Turns the linear regulator “off” or “on.”
PARAMETER
0 for normal power source
1 for battery
RETURN VALUE
0 if successful
-1 if raw DC power source is not available
-2 if battery is not available
SEE ALSO
powerMode, rdPowerState
50Fox (LP3500)
4.4.2 Board Initialization
void brdInit (void);
Call this function at the beginning of your program. This function initializes the system I/O ports and
loads all the A/D converter and D/A converter calibration constants from flash memory into SRAM for
use by your program. If the LCD/keypad module is installed, this function will turn off LED DS1 to indicate that the initialization was successful.
Summary of Initialization
• LP3500 uses main oscillator
• LCD/keypad module buffer is disabled
• RS-485 serial communication is not enabled
• RS-232 serial communication is enabled
• Unused configurable inputs are tied and unused configurable outputs are set low
• Self-timed chip select is s e t to 109 ns
• If A/D converter chip is inst alled, chip is reset and SCLKD is set to 19,200 bps
• If A/D converter chip is inst alled, calibration constants are read
• If relay is installed, relay is set to NC or RESET position
The ports are initialized according to Table A-3.
User’s Manual51
4.4.3 Digital I/O
void digOut(int channel, int value);
Sets the state of a digital output (OUT0–OUT9).
Remember to call brdInit before executing this function.
A runtime error will occur for the following conditions:
1. channel or value out of range.
2. brdInit was not executed before executing digOut.
PARAMETERS
channel is the output channel number (0–9).
value is the output value (0 or 1).
SEE ALSO
brdInit, digIn, digBankOut
void digBankOut(int bank, int value);
Writes the state of a block of designated digital output channels. The first bank consists of OUT0–
OUT7, the second bank consists of OUT8–OUT9.
A run-time error will occur for the following conditions:
1. channel or value out of range.
2. brdInit was not executed before executing digOut.
PARAMETER
bank is 0 for OUT0–OUT7, 1 for OUT8–OUT9.
value is an 8-bit output value, where each bit corresponds to one channel. OUT0 and OUT8 are the
least significant bit 0.
RETURN VALUE
None.
SEE ALSO
brdInit, digOut, digBankIn
52Fox (LP3500)
int digIn(int channel);
Reads the state of an input channel (IN00–IN15).
A run-time error will occur for the following conditions:
1. channel out of range .
2. brdInit was not executed before executing digIn.
PARAMETER
channel is the input channel number (0–15)
RETURN VALUE
The logic state of the input (0 or 1).
SEE ALSO
brdInit, digOut, digBankIn
void digBankIn(int bank);
Reads the state of a block of designated digital input channels. The first bank consists of IN0–IN07, the
second bank consists of IN08–IN15.
A run-time error will occur for the following conditions:
1. bank out of range.
2. brdInit was not executed before executing digIn.
PARAMETER
bank is 0 for IN00–IN07, 1 for IN08–IN15.
RETURN VALUE
An input value in the lower byte, where each bit corresponds to one channel. IN00 and IN08 are in the
bit 0 place.
SEE ALSO
brdInit, digOut, digBankOut
User’s Manual53
4.4.4 Serial Co mmunication
Library files included with Dynamic C provide a full range of serial communications support. The LIB\Rabbit3000\RS232.LIB library provides a set of circular-buffer-based
serial functions. The LIB\Rabbit3000\PACKET.LIB library provides packet-based serial
functions where packets can be delimited by the 9th bit, by transmission gaps, or with
user-defined special characters. Both libraries provide blocking functions, which do not
return until they are finished transmitting or receiving, and nonblocking functions, which
must be called repeatedly until they are finished. For more information, see the Dynamic C User’s Manual and Rabbit’s Technical Note TN213, Rabbit 2000 Serial Port Software.
Use the following function calls with the LP3500.
int serMode(int mode);
User interface to set up LP3500 serial communication lines. Call thi s f unction after serXOpen().
Whether you are opening one or multiple serial po rts, this function must be executed after execut ing the last
serXOpen function AND before you start using any of the serial ports. This function is non-reentrant.
If Mode 1 is selected, CTS/RTS flow control is exercised using the serBflowcontrolOn and
serBflowcontrolOff functions from the RS232.LIB library.
Enables the RS-485 transmitter. Transmitted data get echo'ed back into the receive data buffer. These
echo'ed data could be used to know when to disable the transmitter by using one of the following
methods:
Byte mode—disable the transmitter after the same byte that is transmitted is detected in the receive
data buffer.
Block data mode—disable the transmitter after the same number of bytes transmitted is detected in the
receive data buffer.
serMode() must be executed before running this function.
SEE ALSO
serMode, ser485Rx
void ser485Rx(void);
Disables the RS-485 transmitter. This puts the LP3500 in listen mode, which allows it to receive data
from the RS-485 interface. serMode() must be executed before running this function.
SEE ALSO
serMode, ser485Tx
NOTE: The RS-485 transc ei ver us ed on the LP3500 is only capable of s upp ort in g a max -
imum baud rate of 64,000 bits/s. The baud rate is set by the Dynamic C
macro. For example, add the following line on the
Options > Project Options to set a baud rate of 57,600 bits/s, then click OK.
Defines tab in the Dynamic C
_485BAUD
_485BAUD=57600
User’s Manual55
4.4.5 A/D Converter Inputs
The functions in this section apply only to the LP3500 model.
unsigned int anaInConfig(unsigned int
instructionbyte, unsigned int cmd, long baud);
Use this function to configure the ADS7870 A/D converter. This function will address the ADS7870 in
Register Mode only, and will report an error if you try to use it in Direct Mod e. Refer t o AD S787 0 sp ecification for proper addressing and commands.
RISE/FALLInputTied up for SCLK active on rising edge
PIO_0InputPulled down unless driven by serial interface connection
PIO_1InputPulled down unless driven by serial interface connection
PIO_2InputPulled down unless driven by serial interface connection
PIO_3InputPulled up unless driven by Vcc monitor
CONVERTInputPulled down, not used
BUSYOutputPF1 pulled down; 1 state converter is busy
CCLKCNTRLInputTied down; 0 state sets CCLK as input
CCLKInputTied down; external conversion clock
SCLKInputPF0; serial data transfer clock
SDIInputPC0; 3-wire mode for serial data input
SDOOutputPC1; serial data output /CS driven
/CSInputPF3 pulled up; active-low enables serial interface
BUFINInputTied down; reference buffer amplifier
56Fox (LP3500)
PARAMETERS
instructionbyte will initiate a read or write operation at 8 or 16 bits on the designated register
address, for example:
checkid = anaInConfig(0x5F, 0, 9600); // read ID and set baud rate
cmd is the command data that configure the registers addressed by the instruction byte. Enter 0 if per-
forming a read operation.
i = anaInConfig(0x07, 0x3a, 0); // write ref/osc reg and enable
baud is the serial clock transfer rate of 9600 to 57,600 bps. baud must be set on the first call to this
function. Enter 0 in this parameter thereafter.
anaInConfig(0x00, 0x00, 9600); // resets device and sets baud
RETURN VALUE
0 on write operations, data value on read operations.
SEE ALSO
anaInDriver, anaIn, brdInit
User’s Manual57
unsigned int anaInDriver(unsigned int cmd,
unsigned int len);
Reads the voltage of an analog input channel by serial-clocking an 8-bit command to the ADS7870
device by its Direct Mode method. The conversion begins as soon as the last data bit is transferred.
An exception error will occur if Direct Mode bit D7 is not set.
PARAMETER
cmd contains a gain code and a channel code as follows.
D7—1; D6–D4—Gain Code; D3–D0—Channel Code
Use the following calculation and the tables below to determine cmd:
00–20 V
10–10 V
20–5 V
30–4 V
40–2.5 V
50–2 V
60–1.25 V
70–1 V
RETURN VALUE
A value corresponding to the voltage on the analog input channel, which will be:
0–2047 for 11-bit A/D conversions (signed 12th bit)
ADOVERFLOW (defined macro = -4096) if overflow or out of range
SEE ALSO
anaIn, anaInConfig, anaInDriver
Voltage
Range
60Fox (LP3500)
int anaInCalib(int channel, int opmode,
int gaincode, int value1, float volts1,
int value2, float volts2);
Calibrates the response of the A/D converter channel as a linear function using the two conversi on poi nts
provided. Four values are calculated and placed into global table _adcCalib to be stored later store
into simulated EEPROM using the function anaInEEWr(). Each channel will have the following
information:
a linear constant,
a voltage offset,
a calculation gain code used to calculate calibrations, and
a user gain code to set voltage range (defaults to the calculation gain code).
NOTE: Vcc monitoring is disabled when anaInCalib is running.
PARAMETERS
channel is the analog input channel number (0 to 7) corresponding to AIN0–AIN7
opmode is the mode of operation:
SINGLE—single-ended input line
DIFF—differential input li ne
mAMP—milliamp input line
00–20 V
10–10 V
20–5 V
30–4 V
40–2.5 V
50–2 V
60–1.25 V
70–1 V
value1 is the first A/D converter channel value (0–2047).
volts1 is the voltage or current corresponding to the first A/D converter channel value (0 to +10 V or
4to 20 mA).
value2 is the second A/D converter channel value (0–2047).
volts2 is the voltage or current corresponding to the first A/D converter channel value (0 to +10 V or
A voltage value corresponding to the voltage on the analog input channel.
ADOVERFLOW (defined macro = -4096) if overflow or out of range.
SEE ALSO
anaInCalib, anaIn, anaInmAmps, brdInit
User’s Manual63
float anaInmAmps(unsigned int channel);
Reads the state of an analog input channel and uses the previous ly se t calibration constants to convert it
to current.
PARAMETER
channel is 0–3:
Channel
4–20 mA
Input Lines
*
0AIN0
1AIN1
2AIN2
3AIN3
* Negative input is ground.
RETURN VALUE
A current value between 4.00 and 20.00 mA corresponding to the current on the analog input channel.
ADOVERFLOW (defined macro = -4096) if overflow or out of range.
SEE ALSO
anaInCalib, anaIn, anaInVolts
64Fox (LP3500)
float anaInDiff(unsigned int channel, unsigned int
gaincode);
Reads the state of a differential analog input channel and uses the previously set calibration constants to
convert it to volts.
00–20 V
10–10 V
20–5 V
30–4 V
40–2.5 V
50–2 V
60–1.25 V
70–1 V
RETURN VALUE
A voltage value corresponding to the voltage on the analog input channel.
ADOVERFLOW (defined macro = -4096) if overflow or out of range.
SEE ALSO
anaInCalib, anaIn, anaInmAmps, brdInit
User’s Manual65
int anaInEERd(unsigned int channel, int opmode,
unsigned int gaincode);
Reads the calibration constants, gain, and offset for an input based on its designated channel code position into global table _adcCalib. The constants are stored in the top 1K of the reserved user block
memory area 0x1C00–0x1FFF.
NOTE: This function cannot be run in RAM.
PARAMETER
channel is the analog input channel number (0 to 7) corresponding to AIN0–AIN7.
opmode is the mode of operation:
SINGLE—single-ended input line
DIFF—differential input li ne
mAMP—milliamp input line
gaincode is the gain code of 0 to 7. The gaincode parameter is ign ored when channel is ALLCHAN.
Gain Code
00–20 V
10–10 V
20–5 V
30–4 V
40–2.5 V
50–2 V
60–1.25 V
70–1 V
RETURN VALUE
0 if successful.
-1 if address is invalid or out of range.
SEE ALSO
anaInEEWr, anaInCalib
66Fox (LP3500)
Voltage
Range
int anaInEEWr(unsigned int channel, int opmode
unsigned int gaincode);
Writes the calibration constants, gain, and offset for an input based on its designated channel code position from global table _adcCalib. The constants are stored in the top 1K of the reserved user block
memory area 0x1C00–0x1FFF.
NOTE: This function cannot be run in RAM.
PARAMETER
channel is the analog input channel number (0 to 7) corresponding to AIN0–AIN7.
opmode is the mode of operation:
SINGLE—single-ended input line
DIFF—differential input li ne
mAMP—milliamp input line
gaincode is the gain code of 0 to 7. The gaincode parameter is ign ored when channel is ALLCHAN.
Gain Code
00–20 V
10–10 V
20–5 V
30–4 V
40–2.5 V
50–2 V
60–1.25 V
70–1 V
RETURN VALUE
0 if successful.
-1 if address is invalid or out of range.
SEE ALSO
anaInEEWr, anaInCalib
User’s Manual67
Voltage
Range
4.4.6 Vcc Monitoring (LP3500 only)
void VccMonitorInit(int state);
PIO3 on the ADS7870 A/D converter enables or disables Vcc monitoring. If monitoring is enabled, analog input channel AIN7 is not available.
PARAMETER
state
1 = enable Vcc monitor
0 = disable Vcc monitor
SEE ALSO
VccMonitor, anaInConfig, brdInit
float VccMonitor(void);
If Vcc monitoring is enabled, the Vcc level is read by the ADS7870 A/D converter and is converted to a
voltage value.
RETURN VALUE
A voltage value corresponding to the voltage on the analog input channel.
SEE ALSO
VccMonitorInit, anaInVolts, brdInit
68Fox (LP3500)
4.4.7 PWM Outp uts
The PWM functions in this section can be used to operate the analog outputs on the
LP3500 model.
int pwmOutConfig(unsigned long frequency);
Sets the base frequency for the PWM pulses and enables the PWM driver on all four channels. The base
frequency is the frequency without pulse spreading. Pulse spreading (see pwm_set) will increase the
frequency by a factor of 4.
PARAMETERS
frequency is the frequency (in Hz).
RETURN VALUE
Actual frequency set. This will be the closest possible match to the requested frequency.
SEE ALSO
pwmOut
int pwmOut(unsigned int channel, float dutycycle);
Sets a voltage (0 to VDD on an analog output channel according to the percent duty cycle of the 1024clock-count cycle.)
PARAMETERS
channel is the output channel to write to (0–3).
dutycycle is the percent duty (or on) cycle value of the 1024-clock-count cycle (i.e., 0.25).
RETURN VALUE
0 if successful
-1 if an invalid channel number is used
-2 if an invalid duty cycle was requested
SEE ALSO
pwmOutConfig
User’s Manual69
4.5 Relay Output (LP3500 only)
int relayOut(int relay, int value)
A 10 ms low-to-high pulse sets the state of a relay. On power-up or brdInit() the relay contact will
go to the normally closed (NC) RESET contact.
PARAMETERS
relay
0 = the one relay
value is a value used to connect the relay common contact:
0 = relay normally closed (NC or RESET) (Parallel Port PG5)
1 = relay normally open (NO or SET) (Parallel Port PG4)
RETURN VALUE
0 if successful
-1 if the normal power source is not available
70Fox (LP3500)
APPENDIX A. LP3500 SPECIFICATIONS
Appendix A provides the specifications for the LP3500, and
describes the conformal coating.
User’s Manual71
A.1 Electrical and Mechanical Characteristics
Figure A-1 shows the mechanical dimensions for the LP3500.
I/O and misc. signals: one 1 × 25, two 1 × 17 headers
Display: one 2 × 13 header
Connectors
• 2 mm headers
Programming Port: one 2 × 5 header
Serial Interface: one 2 × 4 socket
• Screw-terminal headers
Relay: one 3-position screw-terminal header
Board Size
74Fox (LP3500)
2.60" × 3.65" × 0.45"
(66 mm × 93 mm × 11 mm)
A.1.1 Exclusion Zone
It is recommended that you allow for an “exclusion zone” of 0.25" (6 mm) around the
LP3500 in all directions when the LP3500 is incorporated into an assembly that includes
other printed circuit boards. This “exclusion zone” that you keep free of other components
and boards will allow for sufficient air flow, and will help to minimize any electrical or
electromagnetic interference between adjacent boards. An “exclusion zone” of 0.12"
(3 mm) is recommended below the LP3500. Figure A-2 shows this “exclusion zone.”
4.15
(105)
(18)
0.70
0.70
(18)
3.65
(93)
3.10
(79)
0.12
(3)
0.12
(3)
Exclusion
Zone
2.60
(66)
Figure A-2. LP3500 “Exclusion Zone”
When using the LP3500 with the Prototyping Board, do not install any components in the
prototyping area on the Prototyping Board between the LP3500 and the Prototyping
Board.
User’s Manual75
A.1.2 Headers
The LP3500 uses 0.1" IDC headers at J1–J4 for physical connection to other boards. J5,
the programming port, is a 2 × 5 header with a 2 mm pin spacing.
Figure A-3 shows the LP3500 footprint. These values are relative to the mounting hole.
J1
J2
3.040
(77.2)
2.640
(67.1)
0.100
(2.54)
J6
J5
J4
PROGRAM
PORT
0.590
(15.0)
0.390
(9.9)
J8
J9
0.240
(6.1)
0.320
(8.1)
0.360
(9.1)
(1.0)
0.040
(5.1)
0.200
(20.0)
0.787
(45.7)
1.800
(46.2)
1.820
(55.9)
2.200
Figure A-3. User Board Footprint for LP3500
76Fox (LP3500)
A.2 Conformal Coating
The areas around the 32 kHz real-time clock crystal oscillator has had the Dow Corning
silicone-based 1-2620 conformal coating applied. The conformally coated area is shown
in Figure A-4. The conformal coating protects these high-impedance circuits from the
effects of moisture and contaminants over time.
Figure A-4. LP3500 Areas Receiving Conformal Coating
Any components in the conformally coated area may be replaced using standard soldering
procedures for surface-mounted components. A new conformal coating should then be
applied to offer continuing protection against the effects of moisture and contaminants.
NOTE: For more information on conformal coatings, refer to Technical Note 303, Con-
formal Coatings.
User’s Manual77
A.3 Jumper Configurations
Figure A-5 shows the header locations used to configure the various LP3500 options via
jumpers.
NOTE: The jumper connections on header J3 are made using standard slip-on jumpers.
All other jumper connections except those across JP11 and JP12 are made using 0 Ω
surface-mounted resistors. 390 Ω current-limiting resistors are used on JP11 and JP12.
Factory
Default
×
×
×
80Fox (LP3500)
A.4 Use of Rabbit 3000 Parallel Ports
Figure A-6 shows the Rabbit 3000 parallel ports.
PD0PD7
Port D
Port E
Port F
Port G
(+Serial Ports)
Misc. I/O
Flash
PE0PE1, PE4PE5
PE2PE3, PE6PE7
PF1PF2
PF0, PF3PF7
PG3, PG7
PG0PG2, PG4PG6
/RES_IN
/IORD
/RESET,
/IOWR,
STATUS
SMODE0
SMODE1
PC0, PC2, PC4
PC1, PC3, PC5
PG2, PG6
PG3, PG7
PC6
PB1, PC7, /RES
PA0PA7
Port A
Port C
(Serial Ports B,C & D)
Port G
(Serial Ports E & F)
Programming
Port
(Serial Port A)
RAM
PB0PB5
PB6PB7
Port B
R
ABBIT
3000
Real-Time Clock
Watchdog
11 Timers
Slave Port
Clock Doubler
Backup Battery
Support
Figure A-6. LP3500 Rabbit-Based Subsystems
Table A-3 lists the Rabbit 3000 parallel ports and their use in the LP3500.
Table A-3. Use of Rabbit 3000 Parallel Ports (continued)
PortI/OSignalOutput Function State
PB3InputIN05
PB4InputIN06
PB5InputIN07
Pulled up
Pulled up
Pulled up
PB6OutputLCD Buffer EnableInactive high
PB7OutputSerial Device SelectInactive high
PC0OutputTXD Serial Device Int.
Inactive high
Serial Port D
PC1InputRXD Serial Device Int.Inactive high
PC2OutputRTS/TxC RS-232
Inactive high
Serial Port C
PC3InputCTS/RxC RS-232Inactive high
PC4OutputTxB RS-232
Inactive high
Serial Port B
PC5InputRxB RS-232Inactive high
PC6OutputTxA Programming Port
Inactive high
Serial Port A
PC7InputRxA Programmin g PortInactive high
PD0OutputOUT0Inactive low
PD1OutputOUT1Inactive low
PD2OutputOUT2Inactive low
PD3OutputOUT3Inactive low
PD4OutputOUT4Inactive low
PD5OutputOUT5Inactive low
PD6OutputOUT6Inactive low
PD7OutputOUT7Inactive low
PE0InputIN00Pulled up
PE1InputIN01Pulled up
PE2OutputOUT8Inactive low
PE3OutputOUT9Inactive low
PE4InputIN02
Pulled up
PE5InputIN03Pulled up
PE6OutputLCD/Keypad Module Reset LineInactive high
PE7OutputLCD/Keypad Module Device SelectInactive high
82Fox (LP3500)
Table A-3. Use of Rabbit 3000 Parallel Ports (continued)
PortI/OSignalOutput Function State
PF0OutputADC Serial ClockInactive high
PF1InputADC BusyInactive low
PF2InputNot usedPulled up
PF3OutputADC Device SelectInactive high
PF4OutputPWM0Inactive high
PF5OutputPWM1Inactive high
PF6OutputPWM2Inactive high
Low when external power
PF7OutputPower Enable Contr ol
PG0OutputRS-485 Transmit EnableInactive low
PG1OutputRS-232 Shutdown ControlInactive high
source is connected; high
for battery
PG2OutputTxF R S-485
Inactive high
Serial Port F
PG3InputRxF RS-485Inactive high
PG4OutputRelay SetInactive low
PG5OutputRelay Res e tInactive low
PG6OutputTxE RS-232
Inactive high
Serial Port E
PG7InputRxE RS-232Inactive high
User’s Manual83
84Fox (LP3500)
APPENDIX B. PROTOTYPING BOARD
Appendix B describes the features and accessories of the Prototyping Board included wit h the LP3500 Tool Kit, and explains
the use of the Prototyping Board to demonstrate the LP3500 and
to build prototypes of your own circuits.
The screw-terminal headers on the Prototyping Board facilitate
access to the LP3500 connector pins, and the Prototyping Board
is available for purchase separately.
User’s Manual85
B.1 Mechanical Dimensions and Layout
Figure B-1 shows the mechanical dimensions and layout for the LP3500 Prototyping Board.
Board Size3.41" × 4.14" × 0.45" (87 mm × 105 mm × 11 mm)
Operating T emperatu re–40°C to +70°C
Humidity5% to 95%, noncondensing
Prototyping Area2.2" × 3.4" (56 mm × 86 mm) throughhole, 0.1" spacing
86Fox (LP3500)
B.2 Using the Prototyping Board
B.2.1 Interface to LP3500
The Prototyping Board serves as a convenient interface for the LP3500, extending the IDC
headers to convenient screw-terminal connectors, and provides interfaces to the AC
adapter included with the Tool Kit and to a user-supplied external battery.
Figure B-2 shows the pinouts for the Prototyping Board.
NOTE: The LP3500 must be plugged in to the Prototyping Board
as described in
Chapter 2, “Getting Started,” for these signals to be available.
User’s Manual87
B.2.2 Demonstration Board
The Prototyping Board is actually both a demonstration board and a prototyping board.
As a demonstration board, it can be used to demonstrate the functionality of the
LP3500
right out of the box without any modifications to either board. There are no jumpers or dip
switches to configure or misconfigure on the Prototyping Board so that the initial setup is
very straightforward.
The Prototyping Board comes with the basic components necessary to demonstrate the
operation of the LP3500. Four LEDs (DS1–DS4) are connected to PD0–PD3, and four
switches (S1–S4) are connected to PE0, PE1, PE4, and PE5 to demonstrate the i nterface to
the Rabbit 3000 microprocessor.
NOTE: Before running sample programs based on the LP3500, you will have to plug in
the LP3500 to the Prototyping Board
as described in Chapter 2, “Getting Started.”
B.2.3 Prototyping Area
Small to medium cir cuit s can b e pro toty ped u sin g po int -
to-point wiring with 20 to 30 A WG
wire on the prototyping area. Raw DC input, VIN, and GND lines surround the prototyping area.
The resistor pack located next to the pushbutton switches may be removed to disconnect
the LEDs and pushbutton switches from the Prototyping Board circuits, giving your
LP3500 exclusive access to what you may develop in the prototyping area.
+K and VIN are tied together by resistor R1 located beside header J44. Cut off R1 if you
intend to supply a separate +K.
88Fox (LP3500)
APPENDIX C. LCD/KEYPAD MODULE
An optional LCD/keypad is available for the LP3500. Appendix C
describes the LCD/keypad module and provides the software
calls to make full use of the LCD/keypad module.
C.1 Specifications
Two optional LCD/keypad modules—with or without a panel-mounted NEMA 4 waterresistant bezel—are available for use with the LP3500. They are shown in Figure C-1.
LCD/Keypad Modules
Figure C-1. LCD/Keypad Module Models
LCD/keypad modules sold prior to the launch of the LP3500 might not be voltagecompatible with the LP3500. Contact your Rabbit sales representative or your authorized
distributor for further assistance in purchasing an LCD/keypad module.
Mounting hardware and a 127 mm (5") or 60 cm (24") extension cable are also available
for the LCD/keypad module through your Rabbit sales representative or authorized
distributor.
User’s Manual89
Table C-1 lists the electrical, mechanical, and environmental specifications for the LCD/
keypad module.
Table C-1. LCD/Keypad Specifications
ParameterSpecification
Board Size
Bezel Size
Temperature
2.60" × 3.00" × 0.75"
(66 mm × 76 mm × 19 mm)
4.50" × 3.60" × 0.30"
(114 mm × 91 mm × 7.6 mm)
Operating Range: 0°C to +50°C
Storage Range: –40°C to +85°C
Humidity5% to 95%, noncondensing
Power Consumption
1.5 W maximum with backlight on
*
ConnectionsConnects to header J9 (Display Interface) on LP3500
LCD Panel Size122 × 32 graphic display
Keypad7-key keypad
LEDsSeven user-programmabl e LEDs
* The backlight adds approximately 650 mW to the power consumption.
The LCD/keypad module has 0.1"
IDC header sockets at J1, J2, and J3
for physical connection to other
0.100
(2.5)
boards or ribbon cables. Figure C-2
shows the LCD/keypad module footprint. These values are relative to one
J1
of the mounting holes.
(15.4)
0.607
NOTE: All measurements are in
inches foll owed by millimeters
enclosed in parenthes es. Al l di mensions have a manufacturing tolerance of ±0.01" (0.25 mm).
(40.6)
1.600
(19.5)
0.768
J2
J3
0.200
(5.1)
0.500
(12.7)
1.450
(36.8)
2.200
(55.9)
Figure C-2. User Board Footprint for
LCD/Keypad Module
90Fox (LP3500)
C.2 Contrast Adjustment
Starting in 2005, LCD/keypad modules were factory-configured to optimize their contrast
based on the voltage of the sy stem they would b e used in. Be s ure to select a K DU3V LCD/
keypad module for use with the LP 3500 — these modules operate at 3.3 V. You may adjust
the contrast using the potent io met er at R2 as show n in Figure C-3. KDU5V LCD/keypad
modules configured for 5 V may be used with the LP3500, but the backlight will be dim.
LCD/Keypad Module Jumper Configurations
Header
Description
2.8 V
Pins
Connected
12
Factory
Default
×
J5
Contrast
Adjustment
J5
3
4
1
2
J5
3
4
OTHER
3.3 V
n.c. = 5 V
KP1
3.3 V
5 V
R2
C2
U3
LCD1
Q1
R25
R8
R26
R11
J5
LP3500
2.8 V
R13
1
Q4
2
R17
C17
C1
D2
C6
C3
R1
C9
C7
U4
R14
R20
Q6
Q7
R23
R22
U6
U7
RN1
J4
34
n.c.
D1
JP1
C5
U2
R4
R5
C11
R10
R9
R19
Q3
Q2
U5
C14
R24
C15
C16
C4
R3
U1
C10
CR1
R6
C13
C12
R7
J1
R12
R15
R18
R16
Q5
R21
Q8
J2
DISPLAY
BOARD
Part No. 101-0541
Figure C-3. LCD/Keypad Module Contrast Adjustment
You can set the contrast on the LCD display of pre-2005 LCD/keypad modules by adjusting
the potentiometer at R 2 or by se ttin g th e vol ta ge f or 2 .8 V b y c o nne cti ng t he ju m pe r
across pins 1–2 on header J5 as shown in Figure C-3. Only one of these two options is
available on these older LCD/keypad modules.
NOTE: Older LCD/keypad modules that do not have a header at J5 or a contrast adjust-
ment potentiometer at R2 are limited to operate only at 5 V, and will not work with the
LP3500. The older LCD/keypad modules are no longer being sold.
User’s Manual91
C.3 Keypad Labeling
The keypad may be labeled according to your needs. A template is provided in Figure C-4
to allow you to design your own keypad label insert.
1.10
(28)
2.35
(60)
Figure C-4. Keypad Template
To replace the keypad legend, remove the old legend and insert your new legend prepared
according to the template in Figure C-4. The keypad legend is located under the blue keypad matte, and is accessible from the left only as shown in Figure C-5.
Keypad label is located
under the blue keypad matte.
Figure C-5. Removing and Inserting Keypad Label
The sample program KEYBASIC.C in the 122x32_1x7 folder in SAMPLES\LCD_KEYPAD
shows how to reconfigure the keypad for different applications.
92Fox (LP3500)
C.4 Header Pinouts
Figure C-6 shows the pinouts for the LCD/keypad module.
DB6B
DB4B
DB2B
DB0B
A1B
A3B
GND
LED7
LED5
LED3
LED1
J1
/RES
VCC
LED4
LED7
GND
/CS
LED2
LED5
LED6
LED4
+5BKLT
LED3
LED1
LED2
/RES
/CS
VCC
+5BKLT
J3
GND
GND
DB7B
DB6B
DB4B
DB7B
DB5B
DB5B
DB3B
DB2B
DB3B
DB1B
DB0B
A1B
A0B
DB1B
A0B
A2B
A3B
A2B
GND
J2
GND
LED6
GND
GND
Figure C-6. LCD/Keypad Module Pinouts
NOTE: Note that there are no connections from headers J2 and J3 of the LCD/keypad
module to the LP3500. These headers interface to the keypad and to the LEDs on the
LCD/keypad module, and need to be interfaced to the digital I/O on the LP3500 if you
need keypad or LED functionality. The LEDs may be driven by an active signal either
in software or in hardware.
C.4.1 I/O Address Assignments
The LCD and keypad on the LCD/keypad module are addressed by the /CS strobe as
explained in Table C-2.
Table C-2. LCD/Keypad Module Address Assignment
AddressFunction
0xE000Device select base address (/CS)
0xExx0–0xExx7LCD control
0xExx8LED enable
0xExx9Not used
0xExxA7-key keypad
0xExxB (bits 0–6)7- LED driver
0xExxB (bit 7)LCD backlight on/off
0xExxC–ExxFNot used
User’s Manual93
C.5 Bezel-Mount Installation
This section describes and illustrates how to bezel-mount the LCD/keypad module.
Follow these steps for bezel-mount installation.
1. Cut mounting holes in the mounting panel in accordance with the recommended dimensions in Figure C-7, then use the bezel faceplate to mount the LCD/keypad module onto
the panel.
0.125 D, 4x
(3)
CUTOUT
0.230
(5.8)
2.870
(72.9)
3.100
(78.8)
Figure C-7. Recommended Cutout Dimensions
3.400
(3.3)
0.130
(86.4)
2. Carefully “drop in” the LCD/keypad module with the bezel and gasket attached.
94Fox (LP3500)
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.