Fox (LP3500)
User's Manual
PREV INDEX NEXT


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.


Figure 7. LP3500 Subsystems

3.1 LP3500 Pinouts

The LP3500 pinouts are shown in Figure 8.


Figure 8. LP3500 Pinouts

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.

3.2 Power Modes


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 Section

Description

RS-232
Receivers and transmitters are disabled, RxE remains active.
RS-485
Transmitter is disabled.
A/D Converter
(LP3500 model only)
ADS7870 internal oscillator is turned off.
LCD/Keypad Module
LCD/keypad module is turned off.
All of the Above
All 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 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.

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 Table 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 will turn off if VIN is not available at the expiration 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.

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 W resistor as shown in Figure 9.


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.

Pulling the digital inputs to Vcc will increase the current consumption by about 300 µA for each digital input.


Figure 10. LP3500 Digital Input Protected 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.


Figure 11. LP3500 Digital Outputs

NOTE Turn the outputs off (high for sourcing outputs and low for sinking outputs) to reduce current consumption.

When the LP3500 is connected to the Prototyping Board, a 0 W resistor on the Prototyping Board (R1) ties +K to VIN, the raw DC input voltage. Figure 12 shows the location of this 0 W 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.


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 digital inputs may float, which may increase your current consumption.

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

serMode

Serial Port

B

C

E

0
RS-232, 3-wire
RS-232, 3-wire
RS-232, 3-wire
1
RS-232, 5-wire
CTS/RTS
RS-232, 3-wire

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 Port

Use

Header Location

Synchronous Capability

A
Programming port or logic-level serial port
J5
Yes
B
3-wire RS-232
J4
No
C
3-wire RS-232 or RTS/CTS flow control for Serial Port B
J4
No
D
Serial interface port supports SPI device, also used by A/D converter on LP3500
J6
Yes
E
RS-232
J4
No
F
RS-485
J4
No

3.4.1 RS-232

The LP3500 RS-232 serial communication is supported by an RS-232 transceiver. This transceiver provides the voltage output, slew rate, and input voltage immunity required to meet the RS-232 serial communication protocol. Basically, the chip translates the Rabbit 3000's logic-level signals to RS-232 signal levels. Note that the polarity is reversed in an RS-232 circuit so that a +2.8 V output becomes approximately -7 V and 0 V is output as +7 V. The RS-232 transceiver also provides the proper line loading for reliable communication.

RS-232 can be used effectively at the LP3500's maximum 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 W 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 low-power 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.


Figure 13. LP3500 Multidrop Network

Zener diodes are used in lieu of termination and bias resistors to minimize power consumption.

3.4.3 Serial Interface Port

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.

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.

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.

Alternate Uses of the Serial Programming Port

All three clocked Serial Port A signals are available as

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.

3.5 Display Interface

The LP3500 supports an interface with the parallel 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 information on the LCD/keypad module.


Figure 15. Display Interface
(Header J9) Pinout


3.6 A/D Converter Inputs (LP3500 only)

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 network on the analog inputs as shown in Figure 16.


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 Code

Multiplier

Voltage Range

0
1
0-20 V
1
2
0-10 V
2
4
0-5 V
3
5
0-4 V
4
8
0-2.5 V
5
10
0-2 V
6
16
0-1.25 V
7
20
0-1 V

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

Voltage Option
(Factory Default)

4-20 mA Option

AIN0
Jumper "parked" on pin 2
Pins 1-2 connected
AIN1
Jumper "parked" on pin 4
Pins 3-4 connected
AIN2
Jumper "parked" on pin 6
Pins 5-6 connected
AIN3
Jumper "parked" on pin 8
Pins 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 less than 2.5 V to keep the current across the 100 W resistor below the maximum allowed current.


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 voltage range, you should recalibrate your LP3500 at that 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.

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.


Figure 17. PWM Outputs

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.


Figure 18. Relay Output Circuit

NOTE Switching the relay may consume 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 surge current to avoid putting the LP3500 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.

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 be used on header J5 of the 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.


Figure 19. LP3500 Program Mode and Run Mode Set-Up

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 programming 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 off/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.

  1. 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.

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 customer applications should not be constrained 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 Select jumper configuration option based on 0 W 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.


Rabbit Semiconductor
www.rabbit.com
PREV INDEX NEXT