You are on page 1of 110

MiniCom (OP6800

)
C-Programmable Operator Interface

User’s Manual
019–0106 •

090529–G

MiniCom (OP6800) User’s Manual
Part Number 019-0106 • 090529–G • Printed in U.S.A.
©2002–2009 Digi International Inc. • All rights reserved.
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 notice.

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

Digi International Inc.
www.rabbit.com

MiniCom (OP6800)

TABLE OF CONTENTS

Chapter 1. Introduction

1

1.1 Description............................................................................................................................................1
1.2 Features .................................................................................................................................................1
1.3 Development and Evaluation Tools......................................................................................................2
1.3.1 Tool Kit .........................................................................................................................................2
1.3.2 Software ........................................................................................................................................3
1.4 CE Compliance .....................................................................................................................................4
1.4.1 Design Guidelines .........................................................................................................................5
1.4.2 Interfacing the OP6800 to Other Devices .....................................................................................5

Chapter 2. Getting Started
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8

7

Connections ..........................................................................................................................................7
Demonstration Program on Power-Up ...............................................................................................10
Display Contrast Adjustment..............................................................................................................10
Programming Cable Connections .......................................................................................................11
Installing Dynamic C ..........................................................................................................................12
Starting Dynamic C ............................................................................................................................12
PONG.C ..............................................................................................................................................13
Where Do I Go From Here? ...............................................................................................................13

Chapter 3. Subsystems

15

3.1 Pinouts ................................................................................................................................................16
3.2 Digital I/O ...........................................................................................................................................17
3.2.1 Digital Inputs...............................................................................................................................17
3.2.2 Digital Outputs............................................................................................................................18
3.3 Serial Communication ........................................................................................................................19
3.3.1 RS-232 ........................................................................................................................................19
3.3.2 RS-485 ........................................................................................................................................19
3.3.3 Programming Port .......................................................................................................................21
3.3.4 Ethernet Port (OP6800 models only) ..........................................................................................22
3.4 Programming Cable ............................................................................................................................23
3.4.1 Changing Between Program Mode and Run Mode ....................................................................23
3.5 Other Hardware...................................................................................................................................24
3.5.1 Clock Doubler .............................................................................................................................24
3.5.2 Spectrum Spreader ......................................................................................................................25
3.6 Memory...............................................................................................................................................26
3.6.1 SRAM .........................................................................................................................................26
3.6.2 Flash Memory .............................................................................................................................26
3.7 Keypad Labeling.................................................................................................................................27

Chapter 4. Software

29

4.1 Upgrading Dynamic C ........................................................................................................................31
4.1.1 Patches and Bug Fixes ................................................................................................................31
4.1.2 Upgrades .....................................................................................................................................31
4.2 Font and Bitmap Converter.................................................................................................................32
User’s Manual

4.3 Sample Programs................................................................................................................................ 33
4.3.1 Board ID ..................................................................................................................................... 33
4.3.2 Demonstration Board.................................................................................................................. 33
4.3.3 Digital I/O................................................................................................................................... 34
4.3.4 Serial Communication ................................................................................................................ 34
4.3.5 LCD/Keypad Module Sample Programs.................................................................................... 34
4.3.6 TCP/IP Sample Programs........................................................................................................... 35
4.4 OP6800 Libraries ............................................................................................................................... 36

Chapter 5. Using the TCP/IP Features

37

5.1 TCP/IP Connections ........................................................................................................................... 37
5.2 TCP/IP Sample Programs................................................................................................................... 39
5.2.1 How to Set IP Addresses in the Sample Programs..................................................................... 39
5.2.2 How to Set Up Your Computer for Direct Connect ................................................................... 40
5.2.3 Run the PINGME.C Demo......................................................................................................... 41
5.2.4 Running More Demo Programs With a Direct Connection ....................................................... 41
5.2.5 LCD/Keypad Sample Programs Showing TCP/IP Features ...................................................... 42
5.3 Where Do I Go From Here? ............................................................................................................... 43

Chapter 6. Installation and Mounting Guidelines

45

6.1 Installation Guidelines........................................................................................................................ 45
6.2 Mounting Instructions ........................................................................................................................ 46
6.2.1 Bezel-Mount Installation ............................................................................................................ 46

Appendix A. Specifications
A.1
A.2
A.3
A.4
A.5

49

Electrical and Mechanical Specifications.......................................................................................... 50
Conformal Coating ............................................................................................................................ 53
Jumper Configurations ...................................................................................................................... 54
Use of Rabbit 2000 Parallel Ports ..................................................................................................... 55
I/O Address Assignments.................................................................................................................. 57

Appendix B. Power Supply

59

B.1 Power Supplies .................................................................................................................................. 59
B.2 Batteries and External Battery Connections...................................................................................... 60
B.2.1 Battery-Backup Circuit .............................................................................................................. 60
B.2.2 Power to VRAM Switch ............................................................................................................ 61
B.2.3 Reset Generator.......................................................................................................................... 61
B.3 Chip Select Circuit............................................................................................................................. 62

Appendix C. Demonstration Board

63

C.1 Mechanical Dimensions and Layout ................................................................................................. 64
C.2 Power Supply..................................................................................................................................... 65
C.3 Using the Demonstration Board ........................................................................................................ 67

Appendix D. OP6800 Function Calls

71

D.1 Board Initialization (OP68xx.LIB).................................................................................................... 72
D.2 Digital I/O (OP68xx.LIB) ................................................................................................................. 73
D.3 Serial Communication (OP68xx.LIB)............................................................................................... 74
D.4 LEDs (OP68xx.LIB) ......................................................................................................................... 76
D.5 LCD Display...................................................................................................................................... 77
D.5.1 Keypad....................................................................................................................................... 97

Index

101

Schematics

105
MiniCom (OP6800)

1. INTRODUCTION
The OP6800 intelligent terminal interface is a small, highperformance, C-programmable terminal interface that offers
built-in I/O and Ethernet connectivity. A Rabbit® 2000 microprocessor operating at 22.1 MHz provides fast data processing.
1.1 Description
The OP6800 intelligent terminal interface incorporates the powerful Rabbit 2000 microprocessor, flash memory, static RAM, digital I/O ports, RS-232/RS-485 serial ports, and a
10Base-T Ethernet port.

1.2 Features
• 122 × 32 graphic display.
• 7-key keypad.
• 7 LEDs.
• 24 digital I/O: 13 filtered digital inputs, and 11 sinking high-current outputs (7 outputs
with LED indicators, and 4 high-current digital outputs with transient protection to
drive inductive loads).
• Rabbit 2000 microprocessor operating at 22.1 MHz.
• 128K static RAM and 256K flash memory standard, may be increased to 512K SRAM
and 512K flash memory.
• One RJ-45 Ethernet port compliant with IEEE 802.3 standard for 10Base-T Ethernet
protocol (OP6800 only).
• Four serial ports (2 RS-232 or 1 RS-232 with RTS/CTS, 1 RS-485, and 1 CMOS-compatible programming port).
• Battery-backable real-time clock, connection point for external battery included.
• Watchdog.
• Reset generator.
• Meets NEMA 4 watertightness specifications when front-panel mounted.
• Remote program downloading and debugging capability via RabbitLink.
User’s Manual

1

Two OP6800 models are available. Their standard features are summarized in Table 1.
Table 1. OP6800 Models
Feature
Microprocessor

OP6800

OP6810

Rabbit 2000 running at 22.1 MHz

Static RAM

128K

Flash Memory

256K

RJ-45 Ethernet Connector and
Filter Capacitors
RabbitCore Module Used

Yes

No

RCM2200

RCM2300

One additional 512K flash/512K SRAM memory option is available for custom orders,
and involves nominal lead times. Contact your Rabbit sales representative or authorized
distributor for more information.
Throughout this manual, the term OP6800 refers to the complete series of OP6800 operator interfaces unless other production models are referred to specifically.
Appendix A provides detailed specifications.
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 manual.

1.3 Development and Evaluation Tools
1.3.1 Tool Kit
A Tool Kit contains the hardware essentials you will need to use your OP6800. The items
in the Tool Kit and their use are as follows.
• Dynamic C CD-ROM, with complete product documentation on disk.
• OP6800 Getting Started instructions.
• Programming cable, used to connect your PC serial port to the OP6800.
• Universal AC adapter, 12 V DC, 1 A (includes Canada/Japan/U.S., Australia/N.Z.,
U.K., and European style plugs).
• Demonstration Board with prototyping area, pushbutton switches, and LEDs. The
Demonstration Board can be hooked up to the OP6800 to demonstrate the I/O, and the
prototyping area can be used for custom circuits.
• Ribbon cable to connect Demonstration Board to OP6800.
• Screwdriver.
• Rabbit 2000 Processor Easy Reference poster.
• Registration card.
2

MiniCom (OP6800)

Dynamic C v. • Programming cable. DS 3 RxB 1 3 HOT! DS 4 OUT00 S2 GND +K OUT09 OUT03 OUT01 OUT02 • Universal AC adapter. Software drivers for the display and keypad.exe program in the root directory of the Dynamic C CD. J8 MiniCom (OP6800) +K +K J11 • Registration card. Library functions provide an easy-to-use interface for the OP6800. Getting Started Instructions Demonstration Board Figure 1. 12 V DC.Z. LS1 IN09 IN07 IN04 The OP6800 Tool Kit contains the following items: 0V +5 V IN15 IN13 IN11 IN12 IN10 IN08 Tool Kit Contents 0V IN17 VBAT IN16 IN14 The OP6800 is a low-cost. and keypad. and other select libraries that were previously sold as individual Dynamic C modules.60 includes the popular µC/OS-II real-time operating system. Install any Dynamic C modules after you install Dynamic C. FAT file system. RabbitWeb.. or contact your Rabbit sales representative or authorized distributor. Rabbit also offers for purchase the Rabbit Embedded Security Pack featuring the Secure Sockets Layer (SSL) and a specific Advanced Encryption Standard (AES) library. 1 A (includes Canada/Japan/U.2 Software The OP6800 is programmed using version 7. point-topoint protocol (PPP). C1 OUT07 OUT05 OUT06 OUT04 • Ribbon cable to connect Demonstration Board to OP6800. run the setup. a graphic LCD. J10 IN05 IN06 • OP6800 Demonstration Board. I/O. +5 V +RAW +RAW J3 • Rabbit 2000 Processor Easy Reference poster. User’s Manual 3 . GND TxB GND GND J1 +5 V • Getting Started instructions. Insert the CD from the Development Kit in your PC’s CD-ROM drive.com for further information and complete documentation. and European style plugs). These Getting Started instructions included with the Tool Kit will help you get your OP6800 up and running so that you can run the sample programs to explore its capabilities and develop your own applications. with complete product documentation on disk. In addition to the Web-based technical support included at no extra charge. Australia/N. U. a one-year telephonebased technical support subscription is also available for purchase. Rabbit and Dynamic C are registered trademarks of Digi International Inc.com/store/ for the latest information on peripherals and accessories that are available for the OP6800 operator interface.3.DIAG Programming Cable Universal AC Adapter with Plugs PROG Demonstration Board Screwdriver Ribbon Cable IN00 IN01 IN02 IN03 IN04 IN05 IN06 IN07 IN08 IN09 IN10 IN11 IN12 IN13 IN14 IN15 IN16 IN17 VBAT 0V J4 S3 S1 U1 1 RP DS 1 DS 2 +5 V GND C2 C3 TxC RxC +485 –485 • Screwdriver. C-programmable operator interface and single-board computer that offers Ethernet connectivity. +5 V GND +5 V GND Buzzer JP 1 IN01 IN02 +RAW OUT10 OUT08 • Standoffs for Demonstration Board.S.K. If the installation does not auto-start. used to connect your PC serial port to the OP6800. plenty of industrialized I/O. and serial communication are included with Dynamic C. 0V GND S4 J2 IN03 IN00 • Dynamic C CD-ROM. 9. J6 J5 GND +RAW TxB RxB TxC RxC + RS485 – +K OUT10 OUT09 OUT08 OUT07 OUT06 OUT05 OUT04 OUT03 OUT02 OUT01 OUT00 J7 Step 1 — Install Dynamic C® Before doing any development.. Visit our online Rabbit store at www. TCP/IP. OP6800 Tool Kit 1. A compatible version is included on the Tool Kit CD-ROM. Visit our Web site at www. you must install Dynamic C.06 or later of Rabbit’s Dynamic C.rabbit.rabbit..

depending on your application. CLASS A CLASS B Digital equipment meant for light industrial use Digital 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 or 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. This microprocessor is used on the OP6800 operator control panels that carry the CE mark. NOTE: Earlier versions of the OP6800 sold before 2003 that do not have the CE mark are not CE-complaint. • EN55022:1998 Class B • FCC Part 15 Class B Your results may vary. The OP6800 has been tested and was found to be in conformity with the following applicable immunity and emission standards. Emissions The OP6800 operator interfaces meet the following emission standards emission standards with the Rabbit 2000 spectrum spreader turned on and set to the normal mode. the emissions from Rabbit-based systems at frequencies above 300 MHz are generally well below background noise levels. The OP6810 is also CE qualified as it is a sub-version of the OP6800. 4 MiniCom (OP6800) . • EN61000-4-2 (ESD) • 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. so additional shielding or filtering may be needed to maintain the Class B emission qualification.1.4 CE Compliance Equipment is generally divided into two classes. C or higher of the Rabbit 2000 microprocessor. Immunity The OP6800 operator interfaces meet the following EN55024/1998 immunity standards. Boards that are CE-compliant have the CE mark. The spectrum spreader is only available with Rev.

CE compliance is ultimately the responsibility of the integrator.4. • The lithium backup battery circuit on the OP6800 has been designed to protect the battery from hazardous conditions such as reverse charging and excessive current flows. • While the OP6800 meets the EN61000-4-2 (ESD) requirements in that it can withstand contact discharges of ± 4 kV and air discharges of ± 8 kV. and technical assistance are available from your authorized Rabbit distributor. Do not disable the safety features of the design. tips. • When connecting the OP6800 to outdoor cables.1. Damage to the Rabbit 2000 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. all inputs and outputs to and from the OP6800 must not be connected to voltages exceeding SELV levels (42. Safety • For personal safety. good EMC practices should be followed to ensure compliance.1 Design Guidelines Note the following requirements for incorporating the OP6800 operator interfaces into your application to comply with CE requirements. or 60 V DC). General • The power supply provided with the Tool Kit is for development purposes only.rabbit.com. • 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. it is the responsibility of the end-user to use proper ESD precautions to prevent ESD damage when installing or servicing the OP6800. the customer is responsible for providing CE-approved surge/lightning protection.4 V AC peak.2 Interfacing the OP6800 to Other Devices Since the OP6800 operator control panels are designed to be connected to other devices.4. Additional information. Rabbit also recommends using properly shielded I/O cables in noisy electromagnetic environments. 1. User’s Manual 5 . It is the customer’s responsibility to provide a CE-compliant power supply for the end-product application. and are also available on our Web site at www.

6 MiniCom (OP6800) .

Screw In Standoffs Into OP6800 Mounting Threads User’s Manual 7 . R18 Y3 R16 Q5 C40 Q4 C13 R20 R19 Q2 C12 R17 R15 C43 BT1 U1 C8 C41 D14 U4 Q3 C37 R2 C42 R11 R13 U7 R31 C36 R21 R22 U6 C14 J2 U2 C25 C28 RT1 D3 C35 R37 R36 U3 C34 C33 R28 R29 R9 ACT GND EGND DS2 JP6 C7 C29 GND JP5 C30 JP2 JP1 R12 U8 U7 C1 U3 Y2 C2 D1 D2 R7 U6 R14 Q12 R23 R24 R25 R8 Y1 C4 R1 C38 C17 DS1 D10 R21 Q11 C24 R30 J1 IN11 IN17 IN15 Q10 RP4 D6 Q6 R15 JP3 JP4 C45 J2 IN13 KP1 VBAT U5 R38 C27 C3 IN16 R41 IN14 C31 C30 R39 R22 R27 IN12 C32 C44 RN1 C17 R32 C23 C22 C21 C20 C19 C18 C28 R26 R20 RP5 C16 LNK C29 C27 C26 Q7 R19 RP3 C13 R9 R7 C25 Flash R18 Q9 Q8 EPROM R17 IN09 C15 C14 RP8 D9 D8 D13 IN10 IN05 C12 Q4 RP6 RP7 R10 D7 R16 IN07 IN06 IN03 C11 Q3 Q2 Q1 RP9 RP2 D5 D4 D3 D2 R8 RP1 IN08 IN04 +K OUT07 IN01 OUT05 GND OUT03 C5 C4 D11 D12 R13 IN02 OUT08 OUT01 R5 Q5 R11 JP1 C3 IN00 OUT06 U2 +RAW OUT04 C7 R6 C2 C8 C9 C10 C6 R3 R2 OUT09 OUT02 TxB GND C1 U1 OUT10 OUT00 TxC RxB RxC LCD1 +485 J1 –485 R4 C39 J3 Figure 2. Screw in the four standoffs included with the Tool Kit into the four mounting threads on the OP6800 as shown in Figure 2. you will be ready to go on and finish developing your system.2. 2.1 Connections 1. Once you run a sample program to demonstrate that you have connected everything correctly. GETTING STARTED Chapter 2 explains how to connect the programming cable and power supply to the OP6800.

1 R6 JP1 KP1 LCD1 R30 J1 R2 TxB RxB GND OUT00 OUT01 OUT02 OUT03 OUT04 OUT05 OUT06 OUT07 OUT08 OUT09 OUT10 +K IN01 IN03 IN05 IN07 IN08 IN09 IN10 IN11 IN12 IN13 IN14 IN15 IN16 IN17 VBAT J1 IN00 IN01 IN02 IN03 IN04 IN05 IN06 IN07 IN08 IN09 IN10 IN11 IN12 IN13 IN14 IN15 IN17 VBAT 0V J4 J2 IN07 IN06 IN05 IN04 IN03 IN02 IN01 IN00 GND Buzzer C1 +K Q3 R9 Q4 D5 C12 C14 C15 RP5 C16 C27 C28 C29 C23 C22 C21 C20 C19 C18 C13 C24 C31 C30 C32 +RAW OUT10 OUT09 OUT08 OUT07 OUT06 OUT05 OUT04 OUT03 OUT02 OUT01 GND OUT00 TxB RxB U1 1 3 HOT! +5 V GND C2 C3 TxC RxC S3 IN08 +485 –485 +5 V GND S2 IN09 GND +5 V GND S1 IN10 0V +5 V LS1 RP1 IN11 GND GND J1 +5 V J1 DS3 DS2 DS1 IN13 IN12 DS4 IN15 IN14 JP1 IN17 IN16 J10 0V 0V VBAT S4 IN16 D4 2 J8 R7 C11 RN1 RP4 D6 GND RP3 C17 R32 R14 IN06 C26 Q1 Q2 D3 RP2 Q6 R15 IN04 C25 D2 RP1 DS1 LNK D10 RP8 Q12 D14 C40 IN00 C7 C5 R21 RP6 RP7 D9 U4 C36 C39 IN02 R5 C10 C4 +RAW C6 C3 R10 Q11 ACT GND EGND TxC RP9 R20 DS2 +485 C2 R8 C29 GND JP6 RxC C8 C9 D11 D8 JP5 –485 R3 U2 D12 Q10 C30 JP2 JP1 R4 C1 U1 R13 R19 Y3 Q5 C7 R12 D7 R16 Q5 R18 Flash Q9 Q8 EPROM C14 C34 R21 R22 R23 C13 C25 Q4 R20 C33 R28 R19 R17 R24 C35 J3 Q3 R18 U8 U7 C1 D13 J2 R25 U3 C37 C12 R17 U3 Q7 JP3 R22JP4 U5 U6 C41 U2 C28 R15 Q2 R16 RT1 D3 C45 R29 R11 R13 U7 R31 C43 BT1 U1 Y2 C2 R27 R37 C8 R41 R36 R11 D1 R38 R9 R8 C44 U6 Y1 C4 R1 C17 C38 C27 J2 C3 D2 R7 R39 R2 C42 R26 J1 Pin 1 +5 V +RAW +RAW J3 +K +K J11 J6 J5 J7 GND +RAW TxB RxB TxC RxC + RS485 – +K OUT10 OUT09 OUT08 OUT07 OUT06 OUT05 OUT04 OUT03 OUT02 OUT01 OUT00 Figure 3. connect the ribbon cable to header J1 on the OP6800.2. you have the option of placing the Demonstration Board behind your OP6800 in your final installation as explained in Appendix C. then turn the OP6800 over and connect the other end of the ribbon cable to header J1 on the Demonstration Board. By connecting the boards this way. Connect the OP6800 to the Demonstration Board from the Tool Kit using the ribbon cable connector as shown in Figure 3. First. Connect the OP6800 to the Demonstration Board 8 MiniCom (OP6800) .

Connect the bare ends of the power supply to the +RAW and GND positions on screw terminal header J5 of the Demonstration Board as shown in Figure 4. then plugging it back in. Power Supply Connections NOTE: The OP6800 itself has reverse polarity protection. but the Demonstration Board does not. Be careful to connect the positive and negative leads as shown to avoid damaging the Demonstration Board. IN00 IN01 IN02 IN03 IN04 IN05 IN06 IN07 IN08 IN09 IN10 IN11 IN12 IN13 IN14 IN15 IN17 VBAT 0V J2 IN05 IN04 IN03 IN02 IN01 IN00 GND Buzzer C1 +K +RAW OUT10 OUT09 OUT08 OUT07 OUT06 OUT05 OUT04 OUT03 OUT02 OUT01 OUT00 GND RxB TxB RxC TxC –485 +485 S3 IN07 IN06 S2 IN08 +5 V GND +5 V GND U1 1 S1 IN09 3 HOT! +5 V GND C2 C3 GND GND J1 +5 V +5 V +RAW +RAW J3 J5 Remove slot cover.Z. NOTE: A hardware RESET is done by unplugging the AC adapter. Australia/N. but can get extremely hot. U. The OP6800 Tool Kit presently includes Canada/Japan/U.K. 4. Plug in the AC adapter. This will protect your OP6800 from inadvertent shorts or power spikes.S..3. The linear regulator on the Demonstration Board can handle up to 35 V. insert tab into slot Assemble AC Adapter 2 +K +K J11 J6 J5 J7 GND +RAW 1 DS3 DS2 DS1 IN11 IN10 GND RP1 IN12 0V +5 V LS1 DS4 IN13 JP1 IN15 IN14 J10 IN17 IN16 S4 IN16 J4 J8 0V 0V VBAT – TxB RxB TxC RxC + RS485 – +K OUT10 OUT09 OUT08 OUT07 OUT06 OUT05 OUT04 OUT03 OUT02 OUT01 OUT00 + Red Heat-Shrink Tubing Snap plug into place Figure 4.. then press down on the spring-loaded clip below the plug assembly to allow the plug assembly to click into place. and European style plugs. prepare the AC adapter for the country where it will be used by selecting the plug. User’s Manual 9 . Rabbit recommends using a 9 V to 25 V DC power supply. Snap in the top of the plug assembly into the slot at the top of the AC adapter as shown in Figure 4. NOTE: If you are using your own power supply.. First. Connect the power supply. Apply power. CAUTION: Unplug the power supply while you make or otherwise work with the connections to the headers.

Contrast Adjustment JP6 EGND DS2 Q12 R18 Q5 R16 R20 R19 C40 Q4 C13 C12 R17 Q2 R15 C41 D14 U4 Q3 C37 C43 BT1 U1 R11 R13 U7 R31 C36 R21 R22 U6 Y3 C25 C14 J2 U2 C35 C28 D3 RT1 U3 R37 R36 R14 D10 R15 C42 C8 DS1 C34 R29 R9 ACT GND C29 GND JP5 R12 C30 JP2 JP1 C7 U8 U7 C1 U3 Y2 C2 D1 D2 R7 U6 Q6 R23 R8 Y1 C4 R1 C17 C38 R2 RP4 D6 C24 R30 J1 IN17 Q11 C33 R28 R25 C45 J2 IN15 U5 VBAT C3 IN16 C13 R41 R38 C27 IN11 C31 C30 C28 R39 IN13 C32 LNK R21 R24 R22 JP4 R27 RN1 C17 R32 C23 C22 C21 C20 C19 C18 C29 C27 C44 IN14 R9 C26 Q10 RP5 C16 C15 C14 C12 RP8 D9 R20 JP3 R26 KP1 R19 IN12 C11 Q3 Q4 R7 C25 RP9 R18 Flash Q9 Q8 EPROM IN09 D4 Q2 Q1 RP6 RP7 R10 D8 R17 Q7 RP3 D5 D3 D2 R16 IN07 IN05 RP2 D7 D13 IN10 IN06 IN03 RP1 IN08 IN04 +K OUT07 IN01 OUT05 GND OUT03 R8 C5 C4 D11 D12 R13 IN02 OUT08 OUT01 R5 Q5 R11 JP1 C3 IN00 OUT06 U2 +RAW OUT04 C7 R6 C2 C8 C9 C10 C6 R3 R2 OUT09 OUT02 TxB GND C1 U1 OUT10 OUT00 TxC RxB RxC LCD1 +485 J1 –485 R4 C39 J3 Figure 5.2. the corresponding LED on the Demonstration Board and on the OP6800 will light up. if you press one of the switches on the Demonstration Board. Note that the programming cable does not have to be connected for this demonstration. The demonstration is available for future reference in the Dynamic C SAMPLES\LCD_KEYPAD\122x32_1x7 directory as FUN. Try pressing the buttons on the keypad. and the LEDs will flash on and off in sequence when power is first applied to the OP6800. Similarly. Note that OP6800 units sold before 2004 did not have any provision to adjust the contrast. LCD Contrast Adjustment 10 MiniCom (OP6800) . you may adjust the potentiometer at R4 located as shown in Figure 5.C. 2. The LED immediately above that button will light up.3 Display Contrast Adjustment The LCD contrast is preset at the factory. If you need to adjust the contrast for optimum display of graphics and messages. This demonstration will be replaced by a new program when the programming cable is attached and the new program is compiled and run. the corresponding LED on the Demonstration Board will light up.2 Demonstration Program on Power-Up A repeating sequence of graphics and messages in various languages will be displayed on the LCD. and if you pressed one of the keys in the top row of the keypad.

which is used for a nonprogramming serial connection. 2.2. Note that not all RS-232/USB converters work with Dynamic C. then plugging it back in. Red shrink wrap To PC COM port Figure 6. NOTE: Some PCs now come equipped only with a USB port. EGND DS2 JP6 R18 Y3 R16 R19 Q5 C40 Q4 C13 R20 Q2 C12 R17 R15 C41 D14 U4 Q3 C37 C43 BT1 U1 R11 R13 U7 R31 C36 R21 R22 U6 C14 J2 C34 C25 C28 D3 C35 U2 RT1 U3 R37 R36 R14 Q12 R15 C42 C8 DS1 R23 R29 R9 ACT GND C29 GND JP5 R12 C30 JP2 JP1 C7 U8 U7 C1 U3 Y2 C2 D1 D2 R7 U6 Q6 D10 R8 Y1 C4 R1 C17 C38 RP4 D6 C24 R2 IN17 C13 J1 VBAT IN11 IN15 R30 PROG IN13 Q11 C33 R28 R25 C45 J2 IN16 U5 R38 C27 C3 IN14 C31 C30 C28 R39 R41 IN12 C32 LNK R21 R24 R22 JP4 R27 RN1 C17 R32 C23 C22 C21 C20 C19 C18 C29 C27 C26 Q10 RP5 C16 C15 C14 C12 R9 R7 C25 C44 IN09 IN05 Q4 RP8 D9 R20 JP3 R26 KP1 R19 IN10 IN03 C11 Q3 Q2 Q1 Q7 R18 Flash Q9 Q8 EPROM RP3 D5 D4 D3 D2 R17 IN07 IN06 RP2 RP6 RP7 R10 RP9 D8 D13 IN08 IN04 +K OUT07 IN01 OUT05 GND OUT03 IN02 OUT08 OUT01 RP1 D7 R16 PROG R8 C5 C4 D11 D12 R13 IN00 OUT06 Q5 R11 JP1 C3 +RAW OUT04 U2 R5 R6 C7 J1 C2 C8 C9 C10 C6 R3 R2 OUT09 OUT02 TxB GND C1 U1 OUT10 OUT00 TxC RxB RxC LCD1 +485 J1 –485 R4 C39 J3 DIAG Colored edge Programming Cable NOTE: Never disconnect the programming cable by pulling on the ribbon cable. User’s Manual 11 .4 Programming Cable Connections 1. Make a note of the port to which you connect the cable. (Do not use the DIAG connector. Connect the 10-pin PROG connector of the programming cable to header J1 on the OP6800 RabbitCore module. Note that COM1 on the PC is the default COM port used by Dynamic C. 101-0513) supplied with the OP6800 Tool Kit—the programming cable has red shrink wrap around the RS-232 converter section located in the middle of the cable. Programming Cable Connections NOTE: Be sure to use the programming cable (Part No. Programming cables from other Rabbit kits are not designed to work with the OP6800. The OP6800 is now ready to be used. Reset the OP6800 by unplugging the AC adapter. Ensure that the colored edge lines up with pin 1 as shown. as Dynamic C will need to have this parameter configured. 20-151-0178) with the programming cable supplied with the OP6800 Tool Kit. Connect the programming cable to download programs from your PC and to program and debug the OP6800. Carefully pull on the connector to remove it from the header.) Connect the other end of the programming cable to a COM port on your PC. It may be possible to use an RS-232/USB converter (Part No.

or COM4.600 bps. start Dynamic C by double-clicking on the Dynamic C icon on your desktop or in your Start menu.” Click OK.06P2 (or a later version). The Dynamic C User’s Manual provides detailed instructions for the installation of Dynamic C and any future upgrades. Dynamic C assumes. 12 MiniCom (OP6800) .2. the default installation of the later version will be in a different folder. by default. it is possible that your PC cannot handle the 115.exe file. and a separate icon will appear on your desktop. that you are using serial port COM1 on your PC. NOTE: If you have an earlier version of Dynamic C already installed. • Locate the Serial Options dialog in the Dynamic C Options > Project Options > Communications menu. If you still can’t get Dynamic C to recognize the target on any port. Try changing the baud rate to 57. do so now by inserting the Dynamic C CD in your PC’s CD-ROM drive. and this message is followed by a communications error message. Click OK to begin the installation once you have selected the setup. Try the different COM ports in the OPTIONS menu until you find the one you are connected to. If you receive the “BIOS successfully compiled …” message after pressing <Ctrl-Y> or starting Dynamic C. 2. You can change the serial port used by Dynamic C with the OPTIONS menu.6 Starting Dynamic C Once the OP6800 is connected to your PC and to a power source. COM3.5 Installing Dynamic C If you have not yet installed Dynamic C version 7.exe file on your CD drive. you have probably connected to a different PC serial port such as COM2. If the error message “Rabbit Processor Not Detected” appears.200 bps baud rate. If you are using COM1. then Dynamic C should detect the OP6800 and go through a sequence of steps to cold-boot the OP6800 and to compile the BIOS. Change the baud rate to 57. If you are using a USB port to connect your computer to the OP6800.600 bps as follows. click Start > Run from the Windows Start button and browse for the Dynamic C setup. The CD will auto-install unless you have disabled auto-install on your PC. then try to get Dynamic C to recognize the OP6800 by selecting Reset Target/Compile BIOS on the Compile menu. then the hookup may be wrong or the COM port might not working on your PC. If the CD does not auto-install. choose Options > Project Options and select “Use USB to Serial Converter.

compile it using the Compile menu. If the sample program ran fine.C These sample programs can be used as templates for applications you may wish to develop.C TEXT. “Software.” provides a description of the OP6800’s features. • Check the Rabbit Technical Bulletin Board and forums at www.rabbit. “Subsystems.8 Where Do I Go From Here? NOTE: If you purchased your OP6800 through a distributor or Rabbit partner. • Use the Technical Support e-mail form at www.C. This program shows that the CPU is working.2.rabbit. If there are any problems at this point: • Use the Dynamic C Help menu to get further assistance with Dynamic C.rabbit. “Using the TCP/IP Features.” tests the TCP/IP portion of the board (if you have the OP6800 model—the OP6810 does not have an Ethernet capability).C You are now ready to test your programming connections by running a sample program.com/support/. and then run it by selecting Run in the Run menu. which is in the Dynamic C SAMPLES folder. User’s Manual 13 .2.C SWITCHES. contact the distributor or partner first for technical support. open it with the File menu (if it is not still open).com/support/bb/ and at www. “Run the PINGME. The sample program described in Section 5. To run the program. Chapter 3. Find the file PONG.3. The following sample programs illustrate the features and operation of the OP6800.” describes the Dynamic C software libraries and describes the sample programs. and Chapter 5.com/forums/. OP6800 Demonstration Board (SAMPLES\LCD_KEYPAD\122x32_1x7) (SAMPLES\OP6800\DEMO_BD) KEYBASIC.7 PONG.C KEYMENU. The STDIO window will open and will display a small square bouncing around in a box. you are now ready to go on to explore other OP6800 features and develop your own applications.” explains the TCP/IP features and describes some sample programs. Chapter 4.C SCROLLING. 2.C Demo.C KEYPAD.

14 MiniCom (OP6800) .

3. SUBSYSTEMS Chapter 3 describes the principal subsystems for the OP6800. OP6800 Subsystems User’s Manual 15 . 32 kHz 11 MHz osc osc SRAM Flash RABBIT ® 2000 RS-232 RS-485 Digital Input Decoder Keypad Ethernet (OP6800 only) Display Digital Output RabbitCore Module Figure 7. • Digital I/O • Serial Communication • Memory Figure 7 shows these Rabbit-based subsystems designed into the OP6800.

16 MiniCom (OP6800) . EGND JP6 DS2 Y3 R16 Q5 C40 Q4 C13 R20 R19 Q2 C12 R17 R15 C41 D14 U4 Q3 C37 C43 BT1 U1 R11 R13 U7 R31 C36 R21 R22 U6 C14 C25 R18 U2 C35 C28 J2 U3 R37 C42 C8 IN07 Q12 C34 C33 R28 R29 R9 ACT GND C29 GND JP5 R24 D3 RT1 D1 U6 R36 R14 R23 R8 Y1 C4 R1 C17 C38 IN05 IN01 IN03 +K GND OUT09 OUT07 OUT05 R12 C30 JP2 JP1 C7 U8 U7 C1 U3 Y2 C2 D2 R7 R2 Q6 DS1 D10 R21 Q11 C24 R30 J1 IN17 Q10 R25 C45 J2 IN15 C3 KP1 VBAT U5 R20 RP4 D6 C23 C22 C21 C20 C19 C18 R41 R38 C27 IN16 C13 R39 RN1 C17 R32 R15 JP3 R22 JP4 R27 IN11 C44 IN13 C31 C30 R26 IN09 LNK C28 FlashQ9 EPROM Q8 R19 IN14 C32 C29 C27 C26 Q7 R18 RP3 RP5 C16 C15 C14 C12 R9 R7 C25 R17 IN12 IN05 C11 RP8 D9 D8 D13 IN10 IN06 IN03 Q3 Q4 RP6 RP7 R10 D7 R16 IN07 IN04 IN01 D4 Q2 Q1 RP9 RP2 D5 D3 D2 R8 RP1 IN08 IN02 OUT07 +K OUT05 C5 C4 D11 D12 R13 GND OUT08 OUT03 C3 R5 Q5 R11 JP1 OUT09 OUT06 OUT01 U2 IN00 OUT04 C7 R6 C2 C8 C9 C10 C6 R3 R2 U1 +RAW OUT02 TxB GND C1 OUT10 OUT00 TxC RxB RxC LCD1 +485 J1 –485 R4 OUT03 J1 C39 J3 Figure 8. The OP6800 also has an RJ-45 Ethernet jack on the RabbitCore module. OP6800 Pinouts Header J1 is a standard 2 × 20 header with a nominal 0.3.1 Pinouts IN10 IN12 IN14 IN16 VBAT IN11 IN13 IN15 IN17 IN08 IN09 IN06 IN04 IN02 IN00 +RAW OUT02 OUT01 OUT10 OUT00 GND OUT08 RxB TxB OUT06 RxC TxC OUT04 485– 485+ Figure 8 shows the OP6800 pinouts.1" pitch.

IN00–IN07. IN13–IN17 are connected in parallel with five of the keypad buttons. Remote Keypad Operation Keypad Key Remote Keypad Signal Inputs 0( ) IN13 1( ) IN14 2( ) IN15 3( ) IN16 6( ) IN17 NOTE: Remote keypad signal inputs IN13–IN17 are not protected. each with a current-limiting resistor of 12 kΩ. These inputs were designed solely to facilitate a remote keypad. and can only handle a voltage range from 0 to +5 V. and should not be used for other purposes.2 Digital I/O 3. and protected over a range of –36 V to +36 V. IN08–IN12. OP6800 Digital Inputs The OP6800 also has five digital inputs. protected over a range of –25 V to +25 V.3.40 V. The inputs are all pulled up to +5 V as shown in Figure 9. and anything above is a logic 1. Table 2. These inputs are normally pulled up. Anything below this value is a logic 0. Vcc ® Rabbit® 2000 Microprocessor GND Figure 9.1 Digital Inputs The OP6800 has eight digital inputs. The actual switching threshold for IN00–IN12 is approximately 2.2. but pulling one of these inputs down is the equivalent of pressing the corresponding keypad key remotely. User’s Manual 17 . and pulled up to +5 V. each with a current-limiting resistor of 27 kΩ.

but keep the internal driver turned off. which can each sink up to 200 mA. OUT00–OUT06 can switch up to 40 V and the corresponding LEDs when the outputs are on.2. The external driver will then control the LED. OUT00–OUT06 Vcc (0 – 40 V) OUT07–OUT10 K (0 – 40 V) Figure 10. Figure 10 shows a wiring diagram for using the digital outputs. OUT07–OUT10 are not connected to the LEDs. Connect the external driver to the output corresponding to the LED you wish to control. OUT07–OUT10 offer protection for inductive loads when K is connected to an external power supply.2 Digital Outputs The OP6800 has 11 digital outputs. OP6800 Digital Outputs It is possible to use an external open-collector driver to control the LEDs associated with OUT00–OUT06.3. OUT00–OUT10. 18 MiniCom (OP6800) .

The half-duplex communication uses the Rabbit 2000’s PB6 pin to control the transmit enable on the communication line. Table 3. RS-232 can be used effectively at the OP6800’s maximum baud rate for distances of up to 15 m. This transceiver provides the voltage output. which is doubled to 22. The RS-232 transceiver also provides the proper line loading for reliable communication. is also supported.3. can be operated alternately in the clocked serial mode.3. slew rate. At this frequency.3 Serial Communication The OP6800 has two RS-232 serial ports.3.2 RS-485 The OP6800 has one RS-485 serial channel. where an additional bit is sent to mark the first byte of a message. which can be configured as one RS-232 serial channel (with RTS/CTS) or as two RS-232 (3-wire) channels using the serMode software function call. Serial Ports B and C are used for RS-232 communication. and input voltage immunity required to meet the RS-232 serial communication protocol.1 RS-232 The OP6800 RS-232 serial communication is supported by an RS-232 transceiver. the chip translates the Rabbit 2000’s CMOS/TTL signals to RS-232 signal levels. Basically. In this mode. All four serial ports operate in an asynchronous mode. a clock line synchronously clocks the data in or out.1184 MHz. the CMOS programming port. 3-wire RS-232. Serial Port A. Note that the polarity is reversed by an RS-232 circuit so that a +5 V input becomes approximately -10 V and 0 V is output as +10 V. Serial Communication Configurations Serial Port Mode B C D 0 RS-232. The OP6800 uses an 11.400 bps. the OP6800 supports standard asynchronous baud rates up to a maximum of 230. 3. Note that a common ground is recommended. 3. Either of the two communicating devices can supply the clock. The OP6800 can be used in an RS-485 multidrop network. and Serial Port D is used for RS-485 communication. 3-wire RS-485 1 RS-232. 5-wire CTS/RTS RS-485 The OP6800 also has one RS-485 serial channel and one CMOS serial channel. tinned) as shown in Figure 11. which is connected to the Rabbit 2000 Serial Port D through an RS-485 transceiver. The OP6800 boards typically use all four ports in the asynchronous serial mode. Connect the 485+ to 485+ and 485– to 485– using single twisted-pair wires (nonstranded. The CMOS serial channel serves as the programming port. User’s Manual 19 . A 9th bit address scheme.0592 MHz crystal. An asynchronous port can handle 7 or 8 data bits. Table 3 summarizes the options.

GND RS485+ RS-485– GND RS485+ RS-485– GND RS485+ RS-485– Figure 11. Disable the termination and bias resistors on any intervening OP6800 units in the network by removing both jumpers from header JP1. Pins 3 and 4 are not otherwise connected to the OP6800. RS-485 Termination and Bias Resistors For best performance. 485+ EGND DS2 JP6 Q6 DS1 R14 Q12 R16 Y3 R21 R22 C13 C40 Q5 R20 R19 Q2 C12 R17 R15 C41 D14 U4 Q4 C37 C43 BT1 U1 C42 R11 R13 U7 R31 C36 Q3 U6 C14 R18 U2 C25 C28 J2 D3 RT1 C35 R37 R36 U3 R8 Y1 C4 R1 C38 C17 R6 681 W C34 C33 R28 R2 C8 bias RP4 D6 R23 R24 R25 R29 R9 C17 R32 ACT GND C29 GND JP5 JP1 R12 C30 JP2 C7 U8 U7 C1 U3 Y2 C2 D1 D2 R7 U6 R11 220 W C24 R30 J1 termination R15 JP3 JP4 C45 J2 IN17 C3 KP1 VBAT C13 U5 IN11 R41 R38 C27 IN15 R39 R22 R27 R13 681 W D10 R21 Q11 IN13 C44 R20 Q10 IN16 C31 C30 R26 R19 IN14 C32 C28 Flash R18 Q9 EPROM Q8 6 RN1 bias 2 C23 C22 C21 C20 C19 C18 C29 C27 LNK D9 D8 R17 Q7 RP3 RP5 C16 C15 C14 C12 RP8 485– R10 IN12 IN05 C11 R9 C26 R16 IN09 IN03 Q3 Q4 RP6 RP7 D7 D13 IN07 IN06 IN01 D4 R7 RP9 5 RP2 D5 Q2 R8 RP1 IN10 IN04 C5 JP1 1 IN08 IN02 +K GND OUT09 IN00 7 C4 D11 D12 R13 6 +RAW OUT10 D3 JP1 OUT07 OUT05 C25 Q5 R11 JP1 OUT08 OUT06 Q1 1 D2 2 C7 3 GND 4 R6 C3 R5 5 OUT03 U2 U1 C2 C8 C9 C10 C6 6 OUT01 TxB R2 U1 OUT04 TxC R3 OUT02 RxB C1 OUT00 RxC +485 LCD1 Factory Default J1 –485 R4 C39 J3 Figure 12. TIP: Save the jumpers for possible future use by “parking” them across pins 1–3 and 4–6 of header JP1. OP6800 Multidrop Network The OP6800 comes with a 220 Ω termination resistor and two 681 Ω bias resistors installed and enabled with jumpers across pins 1–2 and 5–6 on header JP1. the bias and termination resistors in a multidrop network should only be enabled on both end nodes of the network. 20 MiniCom (OP6800) . as shown in Figure 12.

The /RESET_IN pin is an external input that is used to reset the Rabbit 2000 and the OP6800 onboard peripheral circuits. status. The programming port uses the Rabbit 2000’s Serial Port A for communication.3. The programming port is also used for the following operations.3 Programming Port The OP6800 programming port is accessed using header J1 on the OP6800’s RabbitCore module or through the Ethernet jack. with the clock line usable as a general CMOS input The programming port may also be used as a serial port via the DIAG connector on the programming cable. Alternate Uses of the Programming Port All three clocked Serial Port A signals are available as • a synchronous serial port • an asynchronous serial port. User’s Manual 21 . The two startup mode pins determine what happens after a reset—the Rabbit 2000 is either cold-booted or the program begins executing at address 0x0000. and reset pins are available on the programming port header. Refer to the Rabbit 2000 Microprocessor User’s Manual for more information. Dynamic C uses the programming port to download and debug programs. the Rabbit 2000 startup-mode (SMODE0. 3. • Remotely download and debug a program over an Ethernet connection using the RabbitLink EG2110. 2. It can be driven low during an interrupt acknowledge cycle. The status output has three different programmable functions: 1. • Fast copy designated portions of flash memory from one Rabbit-based board (the master) to another (the slave) using the Rabbit Cloning Board. It can be driven low on the first op code fetch cycle. It can also serve as a general-purpose output. The status pin is used by Dynamic C to determine whether a Rabbit microprocessor is present.3. • Cold-boot the Rabbit 2000 on the OP6800 after a reset. SMODE1). In addition to Serial Port A.

RJ-45 Ethernet Port Pinout RJ-45 pinouts are sometimes numbered opposite to the way shown in Figure 13. Note that there are two standards for numbering the pins on this connector—the convention used here. In high-noise environments. 22 MiniCom (OP6800) .4 Ethernet Port (OP6800 models only) Figure 13 shows the pinout for the Ethernet port (J2 on the OP6800 module). 2.3. This will be especially helpful to minimize ESD and/or EMI problems. Regardless of the numbering convention followed. The transformer/connector assembly ground is connected to the BL2100 module printed circuit board digital ground via a 0 Ω resistor “jumper. 6. and the RJ-45 connector will work properly with off-the-shelf Ethernet cables. Isolation Resistor R29 The factory default is for the 0 Ω resistor “jumper” at R29 to be installed. remove R29 and ground the transformer/connector assembly directly through the chassis ground. the pin positions relative to the spring tab position (located at the bottom of the RJ-45 jack in Figure 13) are always absolute. RJ-45 Ethernet Plug R29 Board Ground Chassis Ground Figure 14. ETHERNET 1 8 1. 3. RJ-45 Plug E_Tx+ E_Tx– E_Rx+ E_Rx– RJ-45 Jack Figure 13.” R29. and numbering in reverse to that shown. one to indicate an Ethernet link (LNK) and one to indicate Ethernet activity (ACT).3. as shown in Figure 14. Two LEDs are placed next to the RJ-45 Ethernet jack.

programs can be downloaded and debugged over the serial interface between the PC and the Rabbit 2000. The programming cable converts the RS-232 voltage levels used by the PC serial port to the voltage levels used by the Rabbit 2000. the SMODE pins are pulled high. placing the Rabbit 2000 in the Program Mode. OP6800 Program Mode and Run Mode Set-Up A program “runs” in either mode. Figure 15. Program Mode Y3 GND EGND DS2 R16 C14 R21 R22 C13 D14 U4 C40 Q5 R20 R19 Q2 C12 R17 R15 R9 C41 C43 BT1 U1 R11 R13 U7 R31 C36 Q4 J2 U6 C37 Q3 C7 JP6 C28 R18 D3 U2 RT1 C25 R37 C8 ACT C29 GND JP5 C30 JP2 JP1 R12 U8 U7 C1 U3 Y2 C2 D2 R7 U6 R36 U3 R8 Y1 C4 R1 C38 C17 Q12 C34 C33 R28 C35 R29 C42 J1 R14 R23 R24 R25 R2 Q5 Q4 Q3 R19 R20 C13 Q2 C12 R17 R15 D1 Y3 R16 R21 R22 C14 J2 U2 C28 R18 RT1 D3 R37 C8 C43 BT1 U1 R9 ACT GND EGND DS2 JP6 C7 C29 GND JP5 C30 JP2 JP1 R12 U8 U7 C1 U3 Y2 C2 D1 D2 R7 U6 R36 R8 Y1 C4 C38 R1 C17 R2 C42 Q6 DS1 D10 R21 Q11 RP4 D6 C24 C31 C30 J1 IN17 IN15 VBAT RN1 C17 R32 C23 C22 C21 C20 C19 C18 C28 J2 IN16 C13 C29 C32 C27 LNK D9 R20 Q10 RP5 C16 Q4 C15 C14 C12 RP8 R15 JP3 JP4 C45 C40 IN11 C11 C27 C3 KP1 RP3 D5 U5 R38 D14 IN13 IN05 RP2 IN14 IN03 R41 IN12 IN01 C26 R22 R27 IN09 GND R9 R7 C44 IN10 IN06 Q3 C25 R26 R19 Q8 IN07 IN04 D4 Q1 Q2 R10 D8 Flash R18 Q9 EPROM R17 IN08 IN02 D3 D13 Q7 R39 C39 IN00 D2 C7 C10 RP9 RP1 RP6 RP7 D7 R16 J3 +K OUT07 OUT09 OUT05 JP1 U4 R8 C5 C4 D11 D12 R13 +RAW OUT03 Q5 R11 Q12 C36 OUT10 OUT08 GND OUT01 TxB OUT06 R14 R30 C41 OUT04 C37 OUT00 C25 C3 R5 R6 Q6 C34 C33 R28 OUT02 RxB C6 C24 R11 TxC IN17 RP4 D6 DS1 C2 C8 C9 U2 U1 R23 R29 R13 U7 R31 +485 IN15 U3 U6 RxC IN13 LCD1 VBAT R21 Q11 R24 R25 C35 –485 IN16 C31 C30 R30 PROG R3 RN1 D10 D9 R20 Q10 J1 C17 R32 R15 JP3 JP4 C45 J2 IN14 C13 LNK C28 U5 R38 C27 C3 KP1 IN11 C29 C32 R41 R4 C1 C23 C22 C21 C20 C19 C18 R10 C27 C26 R22 R27 IN12 RP8 RP5 C16 C15 RP6 RP7 C14 C12 R9 C25 R39 IN09 C11 Q3 Q4 R7 C44 R26 R19 Q8 IN10 IN05 D4 Q1 Q2 R18 Flash Q9 EPROM R17 RP3 R2 D8 D13 Q7 IN07 IN01 IN03 GND IN06 RP2 D7 R16 IN08 IN02 RP1 D5 D3 D2 RP9 IN04 IN00 OUT07 C7 R5 R8 C5 C4 D11 D12 R13 +K OUT05 OUT09 OUT03 C10 C6 Q5 R11 JP1 C3 +RAW OUT08 GND OUT01 C2 C8 C9 U2 OUT10 OUT06 TxB R6 OUT04 TxC R2 U1 OUT02 +485 R3 OUT00 RxC RxB LCD1 –485 R4 J1 R4 C1 Run Mode C39 J3 DIAG Colored edge Programming Cable To PC COM port RESET OP6800 when changing mode: Cycle power off/on after removing or attaching programming cable.4 Programming Cable The programming cable is used to connect the programming port of the OP6800 to a PC serial COM port. 3. When the PROG connector on the programming cable is connected to the OP6800 programming port.1 Changing Between Program Mode and Run Mode The OP6800 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. causing the Rabbit 2000 to operate in the Run Mode. User’s Manual 23 .4. This allows the programming port to be used as a regular serial port. Refer to the Rabbit 2000 Microprocessor User’s Manual for more information on the programming port and the programming cable. but can only be downloaded and debugged when the OP6800 is in the Program Mode. When the programming cable’s PROG connector is not attached. the operating mode is determined by the status of the SMODE pins. the SMODE pins are pulled low. When the Rabbit 2000 is reset. When the programming cable’s PROG connector is attached. The DIAG connector of the programming cable may be used on header J1 of the OP6800 RabbitCore module with the OP6800 operating in the Run Mode.3.

The clock doubler is disabled with a simple global macro as shown below.0592 MHz crystal.1 MHz clock speeds are not required. 3. The 22. A built-in clock doubler allows half-frequency crystals to be used to reduce radiated emissions. The clock speed will be doubled as long as the crystal frequency is less than or equal to 26.5. If you need to specify that the clock doubler is always enabled.1 MHz frequency is generated using an 11.7264 MHz. The clock doubler may be disabled if 22. Select the “Defines” tab from the Dynamic C Options > Project Options menu. add the line CLOCK_DOUBLED=1 to always enable the clock doubler. 1. The clock doubler is disabled automatically in the BIOS for crystals with a frequency above 12. Click OK to save the macro.9 MHz.1 Clock Doubler The OP6800 takes advantage of the Rabbit 2000 microprocessor’s internal clock doubler. Add the line CLOCK_DOUBLED=0 to always disable the clock doubler. 24 MiniCom (OP6800) .3. 2.5 Other Hardware 3. The clock doubler is enabled by default. and usually no entry is needed. Disabling the Rabbit 2000 microprocessor’s internal clock doubler will reduce power consumption and further reduce radiated emissions. The clock doubler will now remain off whenever you are in the project file where you defined the macro.

Click OK to save the macro.5. Normal spreading is the default. add the line ENABLE_SPREADER=2 To disable the spectrum spreader. and usually no entry is needed.30 or later versions. The means for doing so is through a simple global macro as shown below. the spectrum spreader is on automatically for OP6800 operator control panels that carry the CE mark when used with Dynamic C 7. There is no spectrum spreader functionality for OP6800 operator control panels that do not carry the CE mark on their RabbitCore module or when using any OP6800 with a version of Dynamic C prior to 7. but the spectrum spreader may also be turned off or set to a stronger setting. User’s Manual 25 . Select the “Defines” tab from the Dynamic C Options > Project Options menu. 2. add the line ENABLE_SPREADER=1 For strong spreading. The spectrum spreader will now remain off whenever you are in the project file where you defined the macro. 1. If you need to specify normal spreading. which helps to mitigate EMI problems. 3.3.30. By default. add the line ENABLE_SPREADER=0 NOTE: The strong spectrum-spreading setting is not needed for the OP6800.2 Spectrum Spreader OP6800 operator interfaces that carry the CE mark on their RabbitCore module have a Rabbit 2000 microprocessor that features a spectrum spreader.

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. 26 MiniCom (OP6800) .6.6 Memory 3. Implementing a Serial Download Manager for a 256K Flash. for details. This option.1 SRAM The OP6800 module is designed to accept 128K to 512K of SRAM. A Flash Memory Bank Select jumper configuration option based on 0 Ω surface-mounted resistors exists at header JP2 on the RabbitCore module. The standard OP6800 modules come with 128K of SRAM. See Technical Note TN218. 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.2 Flash Memory The OP6800 is also designed to accept 128K to 512K of flash memory. The standard OP6800 modules come with one 256K flash memory.3.6. This is useful for applications that require a resident download manager and a separate downloaded program. used in conjunction with some configuration macros. 3.

and is accessible from either the left side or the right side as shown in Figure 18. R18 C36 Mounting tabs Q4 Q5 C40 Q3 C13 R20 R19 Q2 C12 R17 R15 C41 D14 U4 R21 R22 C37 C43 BT1 U1 R11 R13 U7 R31 Y3 R16 J2 U6 C14 C25 C28 D3 RT1 C35 U2 U3 R37 C42 C8 R14 Q12 R15 R29 R9 Q6 DS1 D10 C34 R8 R36 ACT GND EGND DS2 JP6 C7 C29 GND JP5 C30 JP2 JP1 R12 U8 U7 C1 U3 Y2 C2 D1 D2 R7 U6 Y1 C4 R1 C38 C17 R2 Mounting screws C24 R30 J1 IN15 IN17 IN13 RP4 D6 R23 C33 R28 R25 C45 J2 VBAT C31 C30 C3 IN16 C32 U5 RN1 C17 R32 C23 C22 C21 C20 C19 C18 R41 R38 C27 RP5 C16 C15 C28 R39 IN14 C13 C29 C27 LNK R21 Q11 R24 R22 JP4 R27 IN11 R9 C26 C44 IN09 C14 C12 Q3 Q4 RP8 D9 R20 Q10 JP3 R26 KP1 R19 IN07 IN05 C11 R7 C25 R18 Flash Q9 EPROM IN12 IN03 D4 Q2 Q1 R10 RP9 Q8 RP3 D5 D3 D2 R17 Q7 IN10 IN06 RP2 RP6 RP7 D8 D13 IN08 IN04 +K OUT07 IN01 OUT05 GND OUT03 R8 RP1 D7 R16 Mounting tabs C5 C4 D11 D12 R13 IN02 OUT08 OUT01 R5 Q5 R11 JP1 C3 IN00 OUT06 U2 +RAW OUT04 C7 R6 C2 C8 C9 C10 C6 R3 R2 U1 OUT09 OUT02 TxB GND C1 Mounting screws OUT10 OUT00 TxC RxB RxC LCD1 +485 J1 –485 R4 C39 J3 Figure 17. remove the old legend and insert your new legend prepared according to the template in Figure 16.35 (60) Figure 16. Removing LCD/Keypad Module from Plastic Bezel To replace the keypad legend.10 (28) 2. A template is provided in Figure 16 to allow you to design your own keypad label insert.3. The LCD/keypad module circuit board is held down with two screws and two tabs as shown in Figure 17.7 Keypad Labeling The keypad may be labeled according to your needs. you will have to remove the LCD/keypad module from the plastic bezel. Keypad Template Before you can replace the keypad legend. A small screwdriver or a similar small pointed objectcan be used to nudge the keypad legend in or out. 1. User’s Manual 27 . The keypad legend is located under the blue keypad matte.

Removing and Inserting Keypad Label Once you have replaced the keypad label. as shown in Figure 17. re-insert the LCD/keypad module circuit board under the mounting tabs in the plastic bezel. 28 MiniCom (OP6800) . Figure 18.Keypad label is located under the blue keypad matte. Secure the LCD/keypad module circuit board with the two screws.

000 write cycles. Uncomment the BIOS macro USE_2NDFLASH_CODE in BIOS\RABBITBIOS. You have a choice of doing your software development in the flash memory or in the static RAM included on the OP6800. the OP6800 and Dynamic C were designed to accommodate flash devices with various sector sizes. The advantage of working in RAM is to save wear on the flash memory. OP6800s that are special-ordered with the 512K flash/512K SRAM memory option have two 256K flash memories. NOTE: Do not depend on the flash memory sector size or type.4. The flash memory and SRAM options are selected with the Options > Compiler menu. function calls. The disadvantage is that the code and data might not both fit in RAM. Due to the volatility of the flash memory market. Dynamic C will use only the first flash memory for program code in these OP6800s. All standalone applications can only run from flash memory. and sample programs related to the OP6800. It runs on an IBM-compatible PC and is designed for use with Rabbit-based single-board computers and other devices based on the Rabbit microprocessor. By default. but cannot run standalone from RAM after the programming cable is disconnected. SOFTWARE Dynamic C is an integrated development system for writing embedded software. User’s Manual 29 . NOTE: An application can be developed in RAM.C to allow the second flash memory to hold any program code that is in excess of the available memory in the first flash. Chapter 4 provides the libraries. which is limited to about 100.

Watch expressions can be updated with or without stopping program execution. compile. no in-circuit emulator required. µC/OS-II aware. Switch between debugging at machine-code level and source-code level by simply opening or closing the disassembly window. X Analog and digital I/O drivers. Users can write. • Full-feature source and/or assembly-level debugger. GPS.000 bps after the program compiles.Developing software with Dynamic C is simple. Alternatively. Programs can be downloaded at baud rates of up to 230. and test C and assembly code without leaving the Dynamic C development environment. users can compile a program to a binary image file for later loading. • Powerful language extensions for cooperative or preemptive multitasking • Loader utility program to load binary images into Rabbit targets in the absence of Dynamic C. X Code disassembly—The disassembly window displays addresses. SPI. 30 MiniCom (OP6800) . mnemonics. X RS-232 and RS-485 serial communication. opcodes. so complex expressions including function calls may be placed into watch expressions. X Stack window—shows the contents of the top of the stack. and machine cycle times. X Single-stepping—Step into or over functions at a source or machine code level. X Register window—All processor registers and flags are displayed. The contents of general registers may be modified in the window by the user. X I2C. • 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. X Watch expressions—Watch expressions are compiled when defined. Dynamic C has a number of standard features. printf output may also be sent to a serial port or file. Debugging occurs while the application runs on the target. X STDIO window—printf outputs to this window and keyboard input on the host PC can be detected for debugging purposes. • Standard debugging features: X Breakpoints—Set breakpoints that can disable interrupts. • Hundreds of functions in source-code libraries and sample programs: X Exceptionally fast support for floating-point arithmetic and transcendental functions. • Royalty-free TCP/IP stack with source code and most common protocols. X LCD display and keypad drivers. X Hex memory dump—displays the contents of memory at any address. Dynamic C runs on PCs under Windows 95 or later. file system.

a one-year telephonebased technical support module is also available for purchase. but does not include all the Dynamic C features. User’s Manual 31 .com/support/ for the latest patches. Dynamic C is a complete software development system. make these same changes to the BIOS or libraries in the new directory containing the patch. Check the Web site www.1 Patches and Bug Fixes Dynamic C patches that focus on bug fixes are available from time to time. 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 also offers add-on Dynamic C modules containing the popular µC/OS-II real-time operating system. Rabbit recommends using a different directory so that you can verify the operation of the patch without overwriting the existing Dynamic C installation.rabbit. or if you have programs in the old directory (folder).4. Do not simply copy over an entire file since you may overwrite a bug fix. you may copy over any programs you have written.1. In addition to the Web-based technical support included at no extra charge. and other select libraries. If you have made any changes to the BIOS or to libraries. Advanced Encryption Standard (AES). but keep it available to handle legacy applications. workarounds.1 Upgrading Dynamic C 4. you may retire the existing installation.2 Upgrades Dynamic C installations are designed for use with the board they are included with. 4. and are included at no charge as part of our low-cost kits.1. Once you are sure the new patch works entirely to your satisfaction. of course. as well as PPP. and bug fixes.

lib.4. which is located in your Dynamic C directory.lib statement. Once you are done.2 Font and Bitmap Converter A Font and Bitmap Converter tool is available to convert Windows fonts and monochrome bitmaps to a library file format compatible with Rabbit’s Dynamic C applications and graphical displays. TIP: If you used the #use libraryfilename. Editing may be done. Save the file as libraryfilename.exe file in the Dynamic C directory.lib. Non-Roman characters can also be converted by applying the monochrome bitmap converter to their bitmaps. remember to enter libraryfilename.dir. the converted file is displayed in the editing window. You are now ready to add the font or bitmap to your application using the glXFontInit or the glXPutBitmap function calls. but should not be necessary. or by cutting and pasting from the library file(s) you created into the application program.lib into lib. where libraryfilename is a file name of your choice. You then select and convert existing fonts or bitmaps. Start the Font and Bitmap Converter tool by double-clicking on the fbmcnvtr. Add the library file(s) to applications with the statement #use libraryfilename. Complete instructions are available via the Help menu that is in the Font and Bitmap Converter tool. 32 MiniCom (OP6800) .

the STDIO window should show OP6800. User’s Manual 33 . The sample program PONG. The various directories in the Samples folder contain specific sample programs that illustrate the use of the corresponding Dynamic C libraries. For the OP6800.C—Flashes the LED above a keypad button when the corresponding keypad button is pressed. More complete information on Dynamic C is provided in the Dynamic C User’s Manual.1. To run a sample program. A message is also displayed on the LCD.4. • BUZZER. Follow the instructions at the beginning of the sample program.3 Sample Programs Sample programs are provided in the Dynamic C Samples folder.C—Demonstrates the use of the buzzer on the Demonstration Board.2 Demonstration Board The following sample programs are found in the DEMO_BD subdirectory in SAMPLES\OP6800.3. Information on using the TCP/IP features and sample programs is provided in Section 5. The OP6800 must be in Program mode (see Section 3. “Using the TCP/IP Features. then compile and run it by pressing F9.3. 4. it is recommended that you reconnect the jumper across pins 2–3 of header JP1 on the Demonstration Board to disable the buzzer. • BOARD_ID.” 4.1 Board ID The following sample program can be found in the SAMPLES\OP6800 subdirectory. • KEYPAD.4) and must be connected to a PC using the programming cable as described in Section 2. open it with the File menu (if it is not still open).C—Detects the type of single-board computer and displays the information in the STDIO window. • SWITCHES. A message is also displayed on the LCD. The corresponding LED on the Demonstration Board will also flash if a keypad button in the top row of the keypad is pressed.C demonstrates the output to the STDIO window. TCP/IP specific functions are described in the Dynamic C TCP/IP User’s Manual. Each sample program has comments that describe the purpose and function of the program. When you finish with BUZZER. Remember to set the jumper across pins 1–2 of header JP1 on the Demonstration Board (see Figure C-4) to enable the buzzer on.C—Flashes the LED on the Demonstration Board and the OP6800 when the corresponding pushbutton switch on the Demonstration Board is pressed. The OP6800 folder provides sample programs specific to the OP6800.C.

C—Demonstrates drawing primitive features (lines.LIB library 34 MiniCom (OP6800) . 4. The following sample programs are found in the RS485 subdirectory in SAMPLES\OP6800. The slave will send back converted upper case letters back to the master OP6800 and display them in the STDIO window. • DISPPONG.3 Digital I/O The following sample programs are found in the IO subdirectory in SAMPLES\OP6800. It must be run with a serial utility such as Hyperterminal. By pressing a pushbutton switch on the Demonstration Board. Use SLAVE.C to program the slave OP6800.C—Demonstrates how to create messages using the keypad and then displaying them on the LCD display.C—Demonstrates output to LCD display. polygons) using the GRAPHIC. • DKADEMO1. • SLAVE.C to program the master OP6800. IN04–IN12 can also be toggled by momentarily grounding the inputs. It also displays the serial data received from both ports in the STDIO window. • FUN.3.4.LIB library.3.5 LCD/Keypad Module Sample Programs The following sample programs are found in the 122x32_1x7 subdirectory in SAMPLES\LCD_Keypad.C—This program demonstrates a simple RS-485 transmission of lower case letters to a slave OP6800.3. and using the GRAPHIC.C—Transmits and then receives an ASCII string on Serial Ports B and C. • ALPHANUM. The four pushbutton switches correspond to OUT07– OUT10. The four pushbutton switches correspond to IN00–IN03 on the OP6800.4 Serial Communication The following sample programs are found in the RS232 subdirectory in SAMPLES\OP6800. circles. you can view an output channel toggle the corresponding LEDs on/off. you can view an input channel toggle from HIGH to LOW on your PC monitor. • DIGOUT. • RELAYCHR.C—This program demonstrates a simple RS-485 transmission of lower case letters to a slave OP6800.C—This program echoes characters over Serial Port B to Serial Port C. • MASTER. • COFTERMA. and using a serial ANSI terminal such as Hyperterminal from an available COM port connection. • DIGIN.C—Demonstrates the use of the sinking high-current outputs.C—Demonstrates the use of the digital inputs.C—Demonstrates some of the LCD/keypad module font and bitmap manipulation features with horizontal and vertical scrolling. • PUTS. By pressing a pushbutton switch on the Demonstration Board. The slave will send back converted upper case letters back to the master OP6800 and display them in the STDIO window. 4. Use MASTER. the cofunction serial library.C—Demonstrates cofunctions.

Turn Backlight ON 5.C—Demonstrates the text functions in the GRAPHIC. line feed. The menu options for this sample are as follows.keypad repeat functionality.custom ASCII keypad return values. 2. Disable LEDs • LED. Displaying different FONT sizes.LIB library. Turn Backlight OFF 4. Font initialization. Here is a list of what is demonstrated. end-of-text window clipping. Toggle LEDs 6.6 TCP/IP Sample Programs TCP/IP sample programs are described in Chapter 5. • SCROLLING.default ASCII keypad return values. Text window initialization. 1. and carriage return. Set Date/Time 2. 5.C—Demonstrates the following keypad functions in the STDIO display window: . .3. User’s Manual 35 . Display Date/Time 3.C—Demonstrates scrolling features of the GRAPHIC.C—Demonstrates how to implement a menu system using a highlight bar on a graphic LCD display. • KEYMENU. • TEXT. Creating 2 different TEXT windows for display. end-of-line wraparound. Text window. Increment LEDs 7. 4.LIB library.C—Demonstrates how to toggle the LEDs on the LCD/keypad module.• KEYBASIC. 1. 4. 3. .

The functions in these libraries are described in the Dynamic C TCP/IP User’s Manual. 36 MiniCom (OP6800) . Other generic functions applicable to all devices based on the Rabbit 2000 microprocessor are described in the Dynamic C Function Reference Manual. • TCPIP—libraries specific to using TCP/IP functions.LIB library are described in Appendix D. The functions in these libraries are described in Appendix D. The functions in the OP68xx. and initialization. I/O.4.4 OP6800 Libraries The following library folders contain the libraries whose function calls are used to develop applications for the OP6800. • OP6800—libraries associated with OP6800 serial communication. The functions in these libraries are described in Appendix D. • DISPLAYS\GRAPHIC—libraries associated with the LCD display. • KEYPADS–libraries associated with the keypad.

1 TCP/IP Connections Before proceeding you will need to have the following items. • Two RJ-45 straight-through Ethernet cables and a hub. The TCP/IP feature is not available on OP6810 versions. Connect the AC adapter and the programming cable as shown in Chapter 2. use a crossover Ethernet cable to connect the OP6800 to a PC that at least has a 10Base-T Ethernet card. “Getting Started. • If you don’t have an Ethernet connection.” 2. Ethernet Connections User’s Manual 37 . The Ethernet cables and Ethernet hub are available from Rabbit in a TCP/IP tool kit.rabbit. 5. USING THE TCP/IP FEATURES Chapter 5 discusses using the TCP/IP features on the OP6800 boards. you will need to install a 10Base-T Ethernet card (available from your favorite computer supplier) in your PC. OP6800 Board User’s PC OP6800 Board Ethernet cables Ethernet crossover cable Hub Direct Connection (network of 2 computers) To additional network elements Direct Connection Using a Hub Figure 19. • If you have an Ethernet connection. use a straight-through Ethernet cable to establish an Ethernet connection to the OP6800 from an Ethernet hub. Ethernet Connections • If you do not have access to an Ethernet network.5.com. More information is available at www. or an RJ-45 crossover Ethernet cable. These connections are shown in Figure 19. 1.

The orange ACT light flashes each time a packet is received. 38 MiniCom (OP6800) . The green LNK light on the OP6800 Rabbitcore module is on when the OP6800 is properly connected either to an Ethernet hub or to an active Ethernet card. or by momentarily grounding the board reset input at pin 9 on screw terminal header J2. then plugging it back in.3. NOTE: A hardware RESET is accomplished by unplugging the AC adapter. The OP6800 is now ready to be used. Apply Power Plug in the AC adapter.

The IP address of your PC can be defined as 10.1.LIB library. If you would like to change the default values.1.248" #define MY_GATEWAY "216. 5. Their values are documented at the top of the TCP_CONFIG.30 Most of the sample programs use macros to define the IP address assigned to the board and the IP address of the gateway. Instructions for doing this are at the beginning of the TCP_CONFIG. which will set the IP configurations to 10.255. to use an IP address of 10.LIB library in the LIB\TCPIP directory.2" #define MY_NETMASK "255.255. for example.5.112. if there is a gateway.1.1.30 we have taken steps to make it easier to run many of our sample programs. There are some other “standard” configurations for TCPCONFIG that let you select different features such as DHCP.1 How to Set IP Addresses in the Sample Programs With the introduction of Dynamic C 7. and the nameserver and gateway to 10. 1.6. the netmask to 255. #define MY_IP_ADDRESS "216.LIB library in the LIB\TCPIP directory.153" In order to do a direct connection. You will find this library in the LIB\TCPIP directory.1.116. These programs require that you connect your PC and the OP6800 together on the same network. This network can be a local private network (preferred for initial experimentation and debugging).116.2 TCP/IP Sample Programs We have provided a number of sample programs demonstrating various uses of TCP/IP for networking embedded systems. User’s Manual 39 .2 for the Coyote board. You can replace the TCPCONFIG macro with individual MY_IP_ADDRESS.10.255. MY_GATEWAY. the following IP addresses can be used for the OP6800: #define MY_IP_ADDRESS "10.248" // #define MY_GATEWAY "216.255.1. You can create a CUSTOM_CONFIG.255.2.255. and 10. 3. You can leave TCPCONFIG at the usual default of 1.1. IP Addresses Before Dynamic C 7. The IP address of the board is defined to be 10.2.0.112. and MY_NAMESERVER macros in each program.1. MY_NETMASK.112. This macro tells Dynamic C to select your configuration from a list of default configurations.1.6.116.100.1. the gateway is not used and is commented out. 2. You will see a TCPCONFIG macro.10.1. you can edit the values in the section that directly follows the “General Configuration” comment in the TCP_CONFIG.1 for your PC. More information is available in the Dynamic C TCP/IP User’s Manual.155" #define MY_NETMASK "255.LIB library and use a TCPCONFIG value greater than 100. or a connection via the Internet.1.153" In this case. You will have three choices when you encounter a sample program with the TCPCONFIG macro.

255.. Select the network interface card used for the Ethernet interface you intend to use (e. NOTE: Your network interface card will likely have a different name.10.6. Depending on which version of Windows your PC is running.10.0 Default gateway : 10. you may have to select the “Local Area Connection” first. 3.101 Netmask : 255. 2. 1.2. you will disconnect the PC from that network to run these sample programs. Click <OK> or <Close> to exit the various dialog boxes.6.2 How to Set Up Your Computer for Direct Connect Follow these instructions to set up your PC or notebook. and then click on the “Properties” button to bring up the Ethernet interface dialog. but the interface is similar for other versions of Windows.255.101 Netmask 255.0 User’s PC Ethernet crossover cable Direct Connection PC to OP6800 Board 40 MiniCom (OP6800) .g. or select TCP/IP and click on “Properties” to assign an IP address to your computer (this will disable “obtain an IP address automatically”): IP Address : 10. Check with your administrator if you are unable to change the settings as described here since you may need administrator privileges. and then double-click the Network icon.10. TCP/IP Xircom Credit Card Network Adapter) and click on the “Properties” button.5. and check Specify an IP Address. Write down the existing settings before changing them to facilitate restoring them when you are finished with the sample programs and reconnect your PC to the network. Go to the control panel (Start > Settings > Control Panel).255.255.6. Now select the IP Address tab.1 4. The instructions are specifically for Windows 2000. Then “Configure” your interface card for a “10Base-T Half-Duplex” or an “Auto-Negotiation” connection on the “Advanced” tab. TIP: If you are using a PC that is already on a network. OP6800 Board IP 10.

The ping routine will ping the board four times and write a summary message on the screen describing the operation. enter the following server address in your Web browser to bring up the Web page served by the sample program. As long as you have not modified the TCPCONFIG 1 macro in the sample program.You may change the digital input and output to suit your application needs.LIB library. you may not have a crossover cable.10. the IP address is 10. indicating that the board is receiving the characters typed via TCP/IP.C (SAMPLES\OP6800\TCPIP\) demonstrates how to make the OP6800 a Web server. http://10.10. As long as you have not modified the TCPCONFIG 1 macro in the sample program.2.100 as shown. Run the Telnet program on your PC (Start > Run telnet 10.100 or by Start > Run and typing the command ping 10.6. (Note: If the LNK light does not light.6.100 Notice that the orange ACT light flashes on the OP6800 while the ping is taking place. 5. It uses digital input IN00 (which is connected to Demonstration Board switch SW1) to indicate that the TCP/IP connection should be closed and high-current output OUT01 to indicate that there is an active connection. The sample program TELNET. Each character you type will be printed in Dynamic C's STDIO window.6.100.6.5.100).10. Otherwise use the TCP/IP settings you entered in the LIB\TCPIP\TCP_CONFIG.LIB library. and indicates the transfer of data.C Demo Connect a crossover cable from your computer’s Ethernet port to the OP6800’s RJ-45 Ethernet connector.C (SAMPLES\OP6800\TCPIP\) allows you to communicate with the OP6800 using the Telnet protocol.) The next step is to ping the board from your PC.4 Running More Demo Programs With a Direct Connection The program SSI. otherwise use the TCP/IP settings you entered in the TCP_CONFIG. compile the program.10. Open this sample program from the SAMPLES\TCPIP\ICMP folder.2.10.6. Follow the instructions included in the sample program. the green LNK light on the OP6800 should be on to indicate an Ethernet connection is made. When the program starts running. or if you are using a hub perhaps the power is off on the hub or you are not using a straightthrough Ethernet cable. This can be done by bringing up the MSDOS window and running the ping program: ping 10. LED0 and LED1 on the OP6800 (LED1 and LED2 on the Demonstration Board) will match those on the Web page.3 Run the PINGME. This program allows you to turn the LEDs on an attached Demonstration Board from the Tool Kit on and off from a remote Web browser. This program takes anything that comes in on a port and sends it out Serial Port B. User’s Manual 41 . and start it running under Dynamic C.

be sure to use a crossover Ethernet cable. • TCPSEND. The response is displayed on the LCD. 42 MiniCom (OP6800) . If you connect the PC and the OP6800 directly. netmask. Use PCRESPOND. When a key on the keypad is pressed.C—This program implements a web server that allows Web e-mail messages to be entered that are then shown on the LCD display.5. Use PCSEND.C are executed on two separate single-board computers to demonstrate how the two boards communicate with each other. straight-through Ethernet cables and a hub may be used instead.C. flip to other e-mails. and gateway as indicated in the sample programs. The keypad allows you to scroll within messages. and can be displayed in the Web browser. and turns off once the message has been marked as read. All current e-mails can also be read with the Web browser.5 LCD/Keypad Sample Programs Showing TCP/IP Features The following sample programs.C and TCP_RESPOND. • MBOXDEMO. and you may respond by pressing a key on the keypad.EXE is located with source code in the SAMPLES/LCD_Keypad/Windows directory.C waits for a message from another single-board computer. When using MBOXDEMO. an LED turns on. found in the TCPIP subdirectory in SAMPLES/LCD_Keypad/122x32_1x7. A log of all e-mail actions is kept. connect the OP6800 and the other singleboard computer to an Ethernet. When a new e-mail arrives.2. are targeted at the Ethernet-enabled versions of the OP6800. a message associated with that key is sent to a specified destination address and port. mark messages as read.C. If you connect the them directly.C—This program and TCP_SEND.EXE on the PC console side at the command prompt if you do not have a second board. and delete e-mails.EXE on the PC console side at the command prompt if you do not have a second board. When using TCPSEND. PCRESPOND. • TCP_RESPOND.C are executed on two separate singleboard computers to demonstrate how the two boards communicate with each other. be sure to use a crossover Ethernet cable. The mes- sage received is displayed on the LCD. PCSEND. Remember to configure the IP address. connect the OP6800 and a PC (or other device with a Web Browser) to an Ethernet.C—This program and TCP_RESPOND. The destination then responds to that message.EXE is located with source code in the SAMPLES/LCD_Keypad/Windows directory. straight-through Ethernet cables and a hub may be used instead. The response is then sent to the remote single-board computer. TCP_RESPOND. Note that only the LEFT and UP scroll keys are set up to cause a message to be sent.

If the sample programs ran fine. • Use the Technical Support e-mail form at www. and is available on the Dynamic C CD and on our Web site.com/support/bb/ and at www. Refer to the Dynamic C TCP/IP User’s Manual to develop your own applications. you are now ready to start developing your own application. • Check the Rabbit Technical Bulletin Board and forums at www.rabbit. If there are any problems at this point: • Use the Dynamic C Help menu to get further assistance with Dynamic C.com/support/.rabbit.com/forums/. User’s Manual 43 .rabbit. Additional sample programs are described in the Dynamic C TCP/IP User’s Manual.3 Where Do I Go From Here? NOTE: If you purchased your OP6800 through a distributor or Rabbit partner. An Introduction to TCP/IP provides background information on TCP/IP. contact the distributor or partner first for technical support.5.

44 MiniCom (OP6800) .

but you can maximize system reliability by avoiding or eliminating the following conditions at the installation site. more if necessary. 2. Leave at least 8" (20 cm) distance from electric power lines and even more from highvoltage devices. 4. following these guidelines when mounting an OP6800.1 Installation Guidelines When possible. allow a least 3" (8 cm). and high-power resistors). Leave sufficient ventilation space. 3. 6. INSTALLATION AND MOUNTING GUIDELINES Chapter 6 describes some considerations for mounting the OP6800 in a panel. When installing the OP6800 near devices with strong electrical or magnetic fields (such as solenoids). The OP6800 has strong environmental resistance and high reliability. Do not install the OP6800 directly above machinery that radiates a lot of heat (for example. 1. heaters. and includes detailed mounting instructions. transformers.6. • Abrupt temperature changes and condensation • Ambient temperatures exceeding a range of 0°C to 50°C • Relative humidity exceeding a range of 5% to 95% • Strong magnetism or high voltage • Corrosive gasses • Direct vibration or shock • Excessive iron dust or salt • Spray from harsh chemicals User’s Manual 45 .

Recommended Cutout Dimensions 2.230 (5.2. then use the bezel faceplate to mount the OP6800 onto the panel.6. When properly mounted in a panel. 6. Cut mounting holes in the mounting panel in accordance with the recommended dimensions in Figure 20.125 D.8) 2.9) 3.4) 0. 4x 0.2 Mounting Instructions A bezel and a gasket are included with the OP6800. Install the OP6800 at a height and angle that makes it easy for the operator to see the screen.” The standoffs were used to prop up the OP6800 beside the Demonstration Board. 3. “Getting Started.870 (86.8) Figure 20. Since the OP6800 employs an LCD display. 46 MiniCom (OP6800) . the viewing angle must be considered when mounting the display. Remove the standoffs added to the OP6800 as described in Chapter 2. Carefully “drop in” the OP6800 with the bezel and gasket attached.1 Bezel-Mount Installation This section describes and illustrates how to bezel-mount the OP6800. and are not needed to mount the OP6800. 1.100 (78. 0. Follow these steps for bezel-mount installation.130 (3. the bezel of the OP6800 is designed to meet NEMA 4 specifications for water resistance.400 (3) (72.3) CUTOUT 3.

4. Apply only one or two turns to each screw in sequence until all are tightened manually as far as they can be so that the gasket is compressed and the plastic bezel faceplate is touching the panel. User’s Manual 47 . OP6800 Bezel/Gasket EGND DS2 JP6 Y3 R16 Q4 Q5 C40 Q3 R19 D14 U4 R21 R22 C13 R20 Q2 C12 R17 R15 U1 BT1 C8 R13 C36 C14 J2 R18 C28 D3 U2 RT1 C25 R37 R36 C35 C37 U6 R11 C41 R9 ACT GND C29 GND JP5 R12 C30 JP2 JP1 C7 U8 U7 U3 Y2 C2 D1 D2 R7 R8 U6 R14 D10 C34 Y1 C4 R1 C17 R2 C24 C1 C13 C38 R30 J1 IN17 IN15 VBAT IN13 IN11 IN16 U3 R29 R31 C43 DS1 Q12 R15 C45 C42 RP4 D6 Q6 R23 C33 R28 R25 U7 J2 IN14 C31 C30 U5 R38 C27 C3 IN12 C32 C28 R39 R41 R24 R22 JP4 R27 RN1 C17 R32 C23 C22 C21 C20 C19 C18 C29 C27 C26 LNK R21 Q11 RP5 C16 C15 C14 C12 R9 R7 C44 IN09 IN05 Q4 RP8 D9 R20 Q10 JP3 R26 KP1 R19 IN10 IN03 C11 Q1 Q3 Q2 R18 Flash Q9 EPROM Q8 RP3 D5 D4 D3 D2 R17 IN07 IN06 RP2 RP6 RP7 R10 RP9 D8 D13 Q7 IN08 IN04 +K OUT07 IN01 OUT05 RP1 D7 R16 Panel GND OUT03 C25 R8 C5 C4 D11 D12 R13 IN02 OUT08 R5 Q5 R11 JP1 C3 IN00 OUT06 U2 +RAW OUT04 OUT01 C7 R6 C2 C8 C9 C10 C6 R3 R2 OUT09 OUT02 TxB GND C1 U1 OUT10 OUT00 TxC RxB RxC LCD1 +485 J1 –485 R4 C39 J3 Figure 21. Do not tighten each screw fully before moving on to the next screw. use a 4-40 screw that is approximately 3/16" (5 mm) longer than the thickness of the panel. Fasten the unit with the four 4-40 screws and washers included with the OP6800. OP6800 Mounted in Panel (rear view) Carefully tighten the screws until the gasket is compressed and the plastic bezel faceplate is touching the panel. If your panel is thick.

48 MiniCom (OP6800) .

User’s Manual 49 . SPECIFICATIONS Appendix A provides the specifications for the OP6800 and describes the conformal coating.APPENDIX A.

720) MiniCom (OP6800) .y) Coordinates (inches) J1 (-2.1 Electrical and Mechanical Specifications Figure A-1 shows the mechanical dimensions for the OP6800.A.60 (91) Figure A-1.6) 3.72 Y3 (44) (28) R16 R20 Q5 Q4 R19 C40 Q3 C13 C12 R17 Q2 R15 C41 D14 U4 1. Table A-1 provides the pin 1 locations for the OP6800 headers as viewed in Figure A-1. OP6800 Header J1 Pin 1 Locations 50 Header Pin 1 (x. Table A-1.50 EGND DS2 JP6 C25 C14 J2 U2 C35 C28 D3 RT1 U3 R37 R36 Q12 C34 C33 R28 R25 C42 C8 R14 R23 R8 Y1 C4 R1 C17 C38 R9 ACT GND C29 GND JP5 JP1 R12 C30 JP2 C7 U8 U7 C1 U3 Y2 C2 D1 D2 R7 U6 C24 R30 R2 IN17 Q11 R24 C45 J1 VBAT C13 Q10 Q6 DS1 D10 R21 R29 J2 IN11 KP1 IN15 C3 IN13 U5 IN16 R41 R38 C27 IN14 C31 C30 R39 R20 RP4 D6 R15 JP3 R22 JP4 R27 IN12 C32 LNK C28 C44 R26 R19 RN1 C17 R32 C23 C22 C21 C20 C19 C18 C29 C27 C26 Q7 R18 Flash Q9 Q8 EPROM RP3 RP5 C16 C15 C14 C12 R9 R7 C25 R17 IN09 IN05 C11 Q3 Q4 RP8 D9 D8 D13 IN07 IN06 IN03 D4 Q2 Q1 RP6 RP7 R10 RP9 D7 R16 IN10 IN04 RP2 D5 D3 D2 R8 RP1 IN08 IN02 IN01 OUT07 +K OUT05 C5 C4 D11 D12 R13 GND OUT03 C3 R5 Q5 R11 JP1 OUT09 OUT08 OUT01 U2 IN00 OUT06 C7 R6 C2 C8 C9 C10 C6 R3 R2 U1 +RAW OUT04 C1 OUT10 OUT02 TxB GND TxC OUT00 +485 RxB LCD1 RxC J1 –485 R4 C39 J3 (0.60 (66) 3.10 (28) 0.30 (7.101. 2.60 (91) 1. (114) (77) 3.00 1. OP6800 Dimensions NOTE: All measurements are in inches followed by millimeters enclosed in parentheses.0) for Pin 1 coordinates 2.10 R18 C37 C43 BT1 U1 R11 R13 U7 R31 C36 R21 R22 U6 4.

60 (91) 5.10 (40) 1. OP6800 “Exclusion Zone” User’s Manual 51 . This “exclusion zone” that you keep free of other components and boards will allow for sufficient air flow.25" (6 mm) around the OP6800 in all directions when the OP6800 is incorporated into an assembly that includes other components.50 (114) Figure A-2.58 (127) 4. Figure A-2 shows this “exclusion zone. and will help to minimize any electrical or EMI interference between adjacent boards.58 (104) Exclusion Zone 3.It is recommended that you allow for an “exclusion zone” of 0.00 (40) 1.” 4.

RJ-45 None Flash EPROM 256K SRAM 128K Backup Battery Connection for user-supplied battery (to support RTC and SRAM) Keypad/Display 122 × 32 pixel graphic LCD (with programmable backlight). OP6800 Specifications Feature Microprocessor Ethernet Port OP6800 OP6810 Rabbit® 2000 at 22. 1. and environmental specifications for the OP6800. mechanical.30" (114 mm × 91 mm × 7. onboard network termination and bias resistors • one 5 V CMOS-compatible programming port Serial Rate Max. one 10-bit timer with two match registers.50" × 3.1 MHz 10Base-T. Operating Range: 0°C to +50°C Storage Range: –40°C to +85°C Humidity 5% to 95%. 5 protected to ± 25 V DC 11 total: sink 200 mA.Table A-2 lists the electrical.00" × 1.1" pitch IDC header Real-Time Clock Timers Watchdog/Supervisor Power Temperature Yes Five 8-bit timers. 0. 4 green.10" (66 mm × 76 mm × 28 mm) Bezel Size 4. user-relegendable keypad with 7-key/7-LED interface LEDs Digital Inputs Digital Outputs Serial Ports 7 hardware.. sustained rate = CLK/64 Connectors one RJ-45 (Ethernet) one 2 × 20. 2 yellow 13 total: 8 protected to ± 36 V DC.60" × 0. noncondensing Board Size 2.or software-driven: 1 red.5 W max.6 mm) 52 MiniCom (OP6800) . 0.1" pitch IDC header one 2 × 20. 40 V DC max. 4 with built-in inductive load-protection diode 4 serial ports: • two 3-wire RS-232 or one RS-232 (with CTS/RTS) • one RS-485.60" × 3. five timers are cascadable Yes 9 V to 36 V DC. burst rate = CLK/32 Max. Table A-2.

2 Conformal Coating The areas around the crystal oscillator and the battery backup circuit on the OP6800 module have had the Dow Corning silicone-based 1-2620 conformal coating applied. The conformal coating protects these high-impedance circuits from the effects of moisture and contaminants over time. User’s Manual 53 . A new conformal coating should then be applied to offer continuing protection against the effects of moisture and contaminants. EGND DS2 JP6 R18 Q5 R16 R20 R19 C40 Q4 C13 C12 R17 Q2 R15 C41 C43 BT1 U1 C42 C8 R9 R11 D14 U4 Q3 C37 R29 R13 U7 R31 C36 R21 R22 U6 Y3 C25 C14 J2 U2 C35 C28 U3 R37 R36 D3 RT1 D1 Conformally coated area Q12 C34 C33 R28 R8 Y1 C4 R1 C38 C17 ACT GND C29 GND JP5 R12 C30 JP2 JP1 C7 U8 U7 C1 U3 Y2 C2 U6 D2 R7 R2 C24 R30 J1 IN17 IN15 VBAT R14 R23 R24 R25 C45 J2 Q6 DS1 D10 R21 Q11 RP4 D6 C23 C22 C21 C20 C19 C18 C27 C3 IN16 C13 U5 R38 IN11 R41 RN1 C17 R32 R15 R22 JP4 R27 IN13 C31 C30 C28 C44 IN14 C32 LNK D9 R20 Q10 JP3 R26 R39 KP1 R19 IN12 RP8 C29 C27 R18 Flash Q9 EPROM Q8 RP3 RP5 C16 C15 C14 C12 R9 C26 RP9 D8 R17 Q7 IN09 IN05 C11 Q3 Q4 R7 C25 R16 IN07 IN06 IN03 D4 Q2 Q1 RP6 RP7 R10 D7 D13 IN10 IN04 IN01 RP2 D5 D3 D2 R8 RP1 IN08 IN02 OUT07 +K OUT05 C5 C4 D11 D12 R13 GND OUT08 OUT03 C3 R5 Q5 R11 JP1 OUT09 OUT06 OUT01 U2 IN00 OUT04 C7 R6 C2 C8 C9 C10 C6 R3 R2 U1 +RAW OUT02 TxB GND C1 OUT10 OUT00 TxC RxB RxC LCD1 +485 J1 –485 R4 C39 J3 Figure A-3. Conformal Coatings. refer to Rabbit Technical Note 303. NOTE: For more information on conformal coatings.A. The conformally coated areas are shown in Figure A-3. OP6800 Areas Receiving Conformal Coating Any components in the conformally coated area may be replaced using standard soldering procedures for surface-mounted components.

OP6800 Jumper Configurations Header JP1 Description RS-485 Bias and Termination Resistors Factory Default Pins Connected 1–2 5–6 Bias and termination resistors connected 1–3 4–6 Bias and termination resistors not connected* × * Although pins 1–3 and 4–6 of header JP1 are shown “jumpered” for the termination and bias resistors not connected.3 Jumper Configurations Figure A-4 shows the header locations used to configure the various OP6800 options via jumpers.A. Location of BL2100 Configurable Positions Table A-3 lists the configuration options. and this configuration is a “parking” configuration for the jumpers so that they will be readily available should you need to enable the termination and bias resistors in the future. pins 3 and 4 are not actually connected to anything. JP1 6 4 2 5 3 1 Figure A-4. 54 MiniCom (OP6800) . Table A-3.

PD5 PD3–PD4 Port D (+Serial Port B) PE0–PE1. PC2 Port C (+Serial Ports C & D) PC1.A. PC3 Programming Port PC6 + 1 more output PB1. PE7 PE4–PE5 Port E Address Lines A0–A3 I/O Control IORD IOWR Data Lines D0–D7 Flash Figure A-5. PA0–PA7 Port A PC0. OP6800 Rabbit-Based Subsystems Table A-4 lists the Rabbit 2000 parallel ports and their use in the OP6800. I/O /RESET RAM Real-Time Clock Watchdog 7 Timers Slave Port Clock Doubler Backup Battery Support PD0–PD1. PB4. PB5 PB7 Port B (+synch Serial Port B) RABBIT 2000 (Serial Port A) Ethernet Port 4 Ethernet signals 2 LED outputs Misc. PB2. Table A-4. RES_IN + 2 more inputs PB0. Use of Rabbit 2000 Parallel Ports Port I/O PA0 Input IN00 Pulled up PA1 Input IN01 Pulled up PA2 Input IN02 Pulled up PA3 Input IN03 Pulled up PA4 Input IN04 Pulled up PA5 Input IN05 Pulled up PA6 Input IN06 Pulled up PA7 Input IN07 Pulled up PB0 Input IN08 Pulled up PB1 Input Not Used Pulled up PB2 Input IN09 Pulled up PB3 Input IN10 Pulled up User’s Manual Signal Output Function State 55 .4 Use of Rabbit 2000 Parallel Ports Figure A-5 shows the Rabbit 2000 parallel ports. PC7.

Table A-4. Use of Rabbit 2000 Parallel Ports (continued) Port I/O Signal Output Function State PB4 Input IN11 PB5 Input Connected to PB7 PB6 Output Not Used Low PB7 Output Connected to PB5 Low PC0 Output TXD RS-485 Pulled up Driven by PB7 Inactive high Serial Port D PC1 Input PC2 Output RXD RS-485 Inactive high RTS/TXC RS-232 Inactive high Serial Port C PC3 Input CTS/RXC RS-232 Inactive high PC4 Output TPOUT– (Realtek reset) Initialized by sock_init PC5 Input TPOUT+ (Realtek INT0) Pulled up PC6 Output TXA Programming Port Inactive high Serial Port A PC7 Input RXA Programming Port Pulled up PD0 Input Output Realtek CLK (OP6800) Not used (OP6810) Initialized by sock_init Low PD1 Input Output Realtek SDO (OP6800) Not used (OP6810) Initialized by sock_init Low PD2 Output Not used Low PD3 Output OUT07 Low (output driver off) PD4 Output ATXB RS-232 Inactive high Serial Port B 56 PD5 Input ARXB RS-232 Inactive high PD6 Output Not used Low PD7 Output Not used Low PE0 Output RS-485 control register PE1 Output OUT08 PE2 N/A Output Realtek IORB strobe (OP6800) Not used (OP6810) Initialized by sock_init Low PE3 N/A Output Realtek SDI line (OP6800) Not used (OP6810) Initialized by sock_init Low PE4 Output OUT09 Low (output driver off) PE5 Output OUT10 Low (output driver off) PE6 N/A Output Realtek IOWB strobe (OP6800) Not used (OP6810) PE7 Output LCD_KEYPAD strobe Low (Tx disabled) Low (output driver off) Initialized by sock_init Low Inactive high MiniCom (OP6800) .

all OP6800 outputs are disabled (digital outputs and display outputs are disabled. When PE7 is high or in a high-impedance status.5 I/O Address Assignments Table A-5 lists the external I/O addresses for the display and keypad I/O. Display and Keypad Output Addresses External Address Name E000–E007 LCD E008 EN Output enable for LEDs E00A KPEN Read keypad and IN12 E00B LED Function LCD control LED0–LED6 and LCD backlight PE7 serves as a system-enable control and LCD/keypad strobe. and RS-485 is at listen status). User’s Manual 57 . Table A-5.A.

58 MiniCom (OP6800) .

the Demonstration Board has its own independent linear power regulator to supply the electronics in the demonstration area of the Demonstration Board. Vcc is not accessible to the user. User’s Manual 59 .APPENDIX B.1 Power Supplies Power is supplied to the OP6800 via pins 20 and 21 of header J1. The OP6800 is protected against reverse polarity by a diode at D6 as shown in Figure B-1. NOTE: In addition to supplying +RAW to the OP6800 switching power regulator. B. See Appendix C for more information. A switching power regulator is used to provide a Vcc of +5 V for the OP6800 logic circuits. which is connected by a ribbon cable to either the Demonstration Board or to your system. OP6800 Power Supply The input voltage range is from 9 V to 36 V. POWER SUPPLY Appendix B describes the power circuitry provided on the OP6800. SWITCHING POWER REGULATOR POWER IN J1 20 21 +RAW D6 VIN 7 C40 47 µF U4 4 8 1 6 LM2675 Vcc 5 47 µH C36 10 nF L1 D14 1N5819 C39 47 µF Figure B-1.

B. and Vcc is within operating limits. OP6800 Backup Battery Circuit The battery-backup circuit serves three purposes: • It reduces the battery voltage to the SRAM and to the real-time clock.63 V.1 Battery-Backup Circuit Figure B-1 shows the battery-backup circuit located on the OP6800 module. If power to the board is lost or falls below 4. • It ensures that current can flow only out of the battery to prevent charging the battery. VOSC. typically 10 mV) when power is supplied to the OP6800. is supplied to U6. the VRAM and real-time clock power must come from a backup battery in your system which you would connect to pin 40 of header J1 on the OP6800 via the ribbon cable. External Battery D3 VBAT R39 VRAM 2 kW J1:40 T RT1 thermistor 22 kW R41 47 kW Vcc D2 D1 VBAT R38 10 kW R37 22 kW C17 10 nF R36 47 kW C27 10 nF VOSC Figure B-1. depending on whether the main part of the OP6800 is powered or not.85 V– 3. which keeps the 32. thereby limiting the current consumed by the real-time clock and lengthening the battery life.B. The reset generator circuit controls the source of power by way of its /RESET output signal. When the OP6800 is powered normally. 60 MiniCom (OP6800) .2. VRAM and Vcc are nearly equal (<100 mV. Power to the SRAM and the real-time clock (VRAM) is provided by two different sources.15 V at 10 µA.768 kHz oscillator working when the voltage begins to drop. • A voltage. The backup battery should be able to supply 2.2 Batteries and External Battery Connections The SRAM and the real-time clock have provision for battery backup. the SRAM and the real-time clock are powered from Vcc.

The reset occurs between 4. VCC R33 VRAM 0W Q5 FDV302P R30 10 kW /RESET R17 22 kW Q2 MMBT3904 Figure B-1. to reset the Rabbit 2000 microprocessor when the voltage drops below the voltage necessary for reliable operation. This turns on Q2. causing its collector to go low. User’s Manual 61 . the /RESET line will go low. When the OP6800 is not in reset.3 Reset Generator The OP6800 module uses a reset generator on the module.63 V. allowing VRAM to nearly equal Vcc. typically 4.2. When the OP6800 is in reset. This turns off Q2 and Q5.2 Power to VRAM Switch The VRAM switch on the OP6800 module.2. allows the battery backup to provide power when the external power goes off.75 V. The switch provides an isolation between Vcc and the battery when Vcc goes low. This turns on Q5. the /RESET line will be high. B. providing an isolation between Vcc and VRAM.B.50 V and 4. typically 10 mV) so that the board components powered by Vcc will not have a significantly different voltage than VRAM. This prevents the Vcc line from draining the battery. shown in Figure B-1. U1. VRAM Switch Field-effect transistor Q5 is needed to provide a very small voltage drop between Vcc and VRAM (<100 mV.

This pullup resistor keeps /CSRAM at the VRAM voltage level (which under no power condition is the backup battery’s regulated voltage at a little more than 2 V). the battery voltage needs to be provided to both the SRAM power pin and to the CS signal line. about 10 ns to 15 ns. So. The isolated /CSRAM line has a 100 kΩ pullup resistor to VRAM (R28). When power is removed from the circuit. The SRAM has a powerdown mode that greatly reduces power consumption. They allow the CS signal to pass from the processor to the SRAM so that the processor can periodically access the SRAM. with power applied. /CSRAM must be held high (but only needs to be battery voltage high). creating a propagation delay. and with power removed. Transistors Q3 and Q4 are of opposite polarity so that a rail-to-rail voltage can be passed. However. In a powered-up condition. only 2 V is required for data retention in powerdown mode. the transistors will turn off and isolate /CSRAM from the processor.B. This powerdown mode is activated by raising the chip select (CS) signal line. It takes time for the transistors to turn on. /CSRAM must be the same signal as /CS1. Q3 will conduct. They are both turned on when power is applied to the circuit. the battery keeps the SRAM memory contents and the real-time clock (RTC) going. This propagation delay is typically very small. Chip Select Circuit The current drain on the battery in a battery-backed circuit must be kept at a minimum. Normally the SRAM requires Vcc to operate. Q4 conducts. When the OP6800 is not powered. 62 MiniCom (OP6800) . Thus. when power is removed from the circuit. Q3 and Q4 are MOSFET transistors with complementary polarity.3 Chip Select Circuit Figure B-1 shows a schematic of the chip select circuit located on the OP6800 module. VRAM R28 /CSRAM 100 kW Q4 /CS1 Q3 VRAM SWITCH /RESET_OUT Figure B-1. When the /CS1 voltage is low. The CS control circuit accomplishes this task for the SRAM’s chip select signal line. When the /CS1 voltage is high. the CS control circuit must allow the processor’s chip select signal /CS1 to control the SRAM’s CS signal /CSRAM.

APPENDIX C. DEMONSTRATION BOARD Appendix C describes the features and accessories of the Demonstration Board. User’s Manual 63 . and explains the use of the Demonstration Board to demonstrate the OP6800 and to build prototypes of your own circuits.

Demonstration Board Specifications Parameter Specification Board Size 3.1" (43 mm × 53 mm) through hole. accept 4-40 x 11/8 screws MiniCom (OP6800) .7" × 2.20 (107) Figure C-1. Table C-1. 0.1" spacing Standoffs/Spacers 4. and environmental specifications for the Demonstration Board.19" (87 mm × 107 mm × 30 mm) Operating Temperature –40°C to +70°C Humidity 5% to 95%.1 Mechanical Dimensions and Layout Figure C-1 shows the mechanical dimensions and layout for the OP6800 Demonstration Board.40 IN06 +5 V GND S3 IN07 S2 IN09 IN08 S1 IN11 IN10 +5 V GND GND GND J1 +5 V +5 V +RAW +RAW J3 +K +K DS3 DS2 DS1 IN12 LS1 DS4 IN13 GND RP1 IN14 0V +5 V JP1 IN15 J10 IN17 IN16 S4 IN16 0V 0V VBAT J11 J6 J5 GND +RAW TxB RxB TxC RxC + RS485 – +K OUT10 OUT09 OUT08 OUT07 OUT06 OUT05 OUT04 OUT03 OUT02 OUT01 OUT00 4. 100 mA at 12 V and 70ºC (including user-added circuits) 64 Prototyping Area 1.5 V to 25 V DC Maximum Current Draw 140 mA at 12 V and 25°C.20" × 1. OP6800 Demonstration Board Dimensions Table C-1 lists the electrical.C. IN00 IN01 IN02 IN03 IN04 IN05 IN06 IN07 IN08 IN09 IN10 IN11 IN12 IN13 IN14 IN15 IN17 VBAT 0V J4 J8 J2 IN03 IN02 IN01 IN00 GND C1 +K +RAW OUT10 OUT09 OUT08 OUT07 OUT06 OUT05 OUT04 OUT03 OUT02 OUT01 OUT00 GND RxB TxB RxC TxC U1 1 3 HOT! +5 V GND C2 C3 +485 –485 (87) IN05 IN04 Buzzer 3. noncondensing Input Voltage 7.40" × 4. mechanical.

which could lead to considerable electromagnetic interference. 0 V. Figure C-2 shows the distribution of the +RAW input power to the OP6800 through the Demonstration Board. Power Distribution to OP6800 and Demonstration Board User’s Manual 65 . The OP6800 has its own switching voltage regulator.C. and on the Demonstration Board. Demonstration Board +5 V 0V +RAW GND Linear Regulator OP6800 Switching Regulator +5 V GND Figure C-2.2 Power Supply The OP6800 requires an unregulated +RAW power input of 9 V to 36 V DC. GND. are tied together at one connection point only to avoid creating a ground loop. which can be supplied from the Demonstration Board through the ribbon cable connection. The reference grounds on the OP6800.

which still leaves some current capacity for your own circuits (see Table C-1) if you plan to use them with the LEDs and the buzzer. or use a lower voltage power supply. This part greatly reduces the heat dissipation of the regulator. The voltage drop creates heat and wastes power. and allows the external power supply to be located some distance away. Its major drawback is its inefficiency. consider adding a heat sink to the linear regulator (remember to use silicone grease between the tab and the heat sink). The LM2575 is an example of an easy-to-use switching voltage regulator. The drawback in using a switching voltage regulator is its higher cost. Be careful to limit the current draw in any prototype circuits you build on the prototyping area of the Demonstration Board to avoid operating the linear regulator outside its recommended limits. 66 MiniCom (OP6800) . which is directly proportional to the voltage drop across it. The LEDs and buzzer together can draw up to 70 mA. You may wish to use a switching power supply in your applications where better efficiency is desirable.The Demonstration Board has an onboard LM7805 linear regulator for the circuits on the Demonstration Board only. If you need additional current from the linear regulator beyond that specified in Table C-1. LINEAR POWER SUPPLY Vcc POWER IN J5 2 1 +RAW 1 C1 10 mF 7805 U1 2 3 C2 10 mF Figure C-3. Demonstration Board Power Supply Capacitor C1 provides surge current protection for the voltage regulator.

There are no jumpers or dip switches to configure or misconfigure on the Demonstration Board so that the initial setup is very straightforward. Demonstration Board Header JP1 (Buzzer On/Off) User’s Manual 67 . The Demonstration Board has a buzzer that is normally off. it can be used to demonstrate the functionality of the OP6800 right out of the box without any modifications to either board. Four LEDs (DS1–DS4) are connected to OUT07–OUT10. As a demonstration board. The buzzer can be enabled to be on by setting the jumper across pins 1–2 on header JP1 on the Demonstration Board as shown in Figure C-4. The Demonstration Board comes with the basic components necessary to demonstrate the operation of the OP6800. IN00 IN01 IN02 IN03 IN04 IN05 IN06 IN07 IN08 IN09 IN10 IN11 IN12 IN13 IN14 IN15 IN17 VBAT 0V J4 J2 IN07 2 IN06 IN05 IN04 IN03 IN02 IN01 IN00 GND +5 V GND Buzzer C1 +K +RAW OUT10 OUT09 OUT08 OUT07 OUT06 OUT05 OUT04 OUT03 OUT02 OUT01 OUT00 GND RxB TxB RxC TxC S3 IN08 S2 IN09 3 GND U1 1 S1 IN11 IN10 3 HOT! +5 V GND C2 C3 +485 –485 +5 V GND GND GND J1 +5 V +5 V +RAW +RAW J3 +K +K DS3 DS2 DS1 IN12 LS1 DS4 IN13 RP1 IN14 0V +5 V JP1 IN15 J10 JP1 J8 IN17 IN16 1 0V 0V VBAT S4 IN16 Factory Default J11 J6 J5 GND +RAW TxB RxB TxC RxC + RS485 – +K OUT10 OUT09 OUT08 OUT07 OUT06 OUT05 OUT04 OUT03 OUT02 OUT01 OUT00 Figure C-4. the buzzer will sound whenever the OUT0 digital output on the OP6800 is on.3 Using the Demonstration Board The Demonstration Board is actually both a demonstration board and a prototyping board.C. When enabled on. and four switches (S1–S4) are connected to IN00–IN03 to demonstrate the interface to the OP6800.

J5. Small to medium circuits can be prototyped using point-to-point wiring with 20 to 30 AWG wire on the prototyping area.1" (2.The Demonstration Board provides the user with OP6800 connection points brought out conveniently to labeled points at headers J4.5 mm). S1 DS3 DS2 DS1 DS4 S3 S2 S4 RP1 J8 J8 J6 12 OUT00 11 OUT01 10 OUT02 4 9 OUT03 IN04 5 8 OUT04 IN05 6 7 OUT05 IN06 7 6 OUT06 IN07 8 5 OUT07 IN08 9 4 OUT08 IN09 10 3 OUT09 IN10 11 2 OUT10 IN11 12 1 +K IN12 1 IN13 2 8 RS-485– IN14 3 7 RS-485+ IN15 4 6 RxC IN16 5 5 TxC IN17 6 4 RxB VBAT 7 3 TxB 0V 8 2 +RAW 1 GND GND GND +K GND +RAW +5 V C3 +485 TxC TxB OUT01 GND C2 1 OUT03 OUT05 OUT07 OUT09 +K Buzzer C1 GND IN01 IN03 IN05 IN07 IN09 J5 3 HOT! U1 J4 LS1 IN03 +5 V 0V IN11 3 +5 V IN13 IN02 IN15 2 IN17 1 IN01 JP1 IN00 –485 RxC RxB OUT00 OUT02 OUT04 OUT06 +RAW OUT08 OUT10 IN00 IN02 IN04 IN06 IN08 IN10 IN12 IN14 IN16 VBAT J1 Figure C-5. J6. J5. OP6800 Demonstration Board Pinout 68 MiniCom (OP6800) . J6. The holes are spaced at 0. The pinouts for headers J4. and J8 are shown in Figure C-5. and J8 on the Demonstration Board.

IN00 IN01 IN02 IN03 IN04 IN05 IN06 IN07 IN08 IN09 IN10 IN11 IN12 IN13 IN14 IN15 IN17 VBAT 0V J2 IN04 IN03 IN02 IN01 IN00 GND Buzzer C1 +K +RAW OUT10 OUT09 OUT08 OUT07 OUT06 OUT05 OUT04 OUT03 OUT02 OUT01 OUT00 GND U1 1 3 HOT! +5 V GND C2 TxB RxB C3 TxC RxC +485 –485 +5 V GND S3 IN05 S2 IN07 IN06 GND +5 V GND S1 IN08 0V +5 V LS1 RP1 IN09 DS3 DS2 DS1 IN11 IN10 GND GND J1 +5 V DS4 IN13 IN12 JP1 IN15 IN14 J10 IN17 IN16 S4 IN16 J4 J8 0V 0V VBAT +5 V +RAW +RAW J3 +K +K J11 J6 J5 J7 GND +RAW TxB RxB TxC RxC + RS485 – +K OUT10 OUT09 OUT08 OUT07 OUT06 OUT05 OUT04 OUT03 OUT02 OUT01 OUT00 Figure C-6.The Demonstration Board can then be rotated and mounted behind the OP6800 as shown in Figure C-6 to allow the Demonstration Board and the OP6800 to be used together. Follow the instructions in Chapter 6. Note that the Demonstration Board and the OP6800 end up on opposite sides of the panel as shown in Figure C-7.” Use 4-40 screws that are l 3/16" (plus the thickness of the panel) in length. “Installation and Mounting Guidelines. Mounting Demonstration Board on OP6800 NOTE: Remove the standoffs behind the OP6800 before attempting to mount the Demonstration Board. OP6800 with Demonstration Board Mounted in Panel (rear view) User’s Manual 69 . OP6800 Bezel/Gasket Demonstration Board JP1 R18 C36 D14 U4 R21 R22 Q4 Q5 C40 Q3 C13 R20 R19 C12 R17 Q2 R15 U1 BT1 C8 R13 Y3 R16 J2 C37 U6 Y1 C4 R1 C17 R9 R14 D10 C14 C28 D3 U2 D1 RT1 R37 D2 R7 U6 DS1 Q12 C34 C25 R8 R36 ACT EGND GND JP6 DS2 3 1 !TOH C29 GND C30 JP2 R12 JP5 1C 1U 1SL C7 U8 U7 C1 U3 Y2 C2 C38 R30 R2 C24 C31 C30 C35 U7 J1 IN15 IN17 IN13 VBAT IN16 C32 C23 C22 C21 C20 C19 C18 U3 R11 C41 R31 C43 RP4 D6 Q6 R15 R29 C42 RN1 C17 R32 R23 C33 R28 R25 C45 J2 RP5 C16 C28 R38 C27 C3 IN14 C13 C29 C27 U5 IN11 C15 C14 Q4 C12 R41 IN09 IN05 C11 C26 LNK R21 Q11 R24 R22 JP4 R27 RP3 D5 RP8 D9 R20 Q10 JP3 C44 R26 R39 KP1 R19 IN12 IN03 R9 R7 R18 Flash Q9 EPROM Q8 IN10 IN01 Q1 Q3 Q2 C25 R17 IN07 IN06 +K GND D4 D3 D2 C7 C10 RP2 RP6 RP7 R10 RP9 D8 D13 Q7 IN08 IN04 OUT07 IN02 OUT05 TxB RP1 D7 R16 Panel IN00 OUT08 OUT03 R8 C5 C4 D11 D12 R13 +RAW OUT06 GND OUT01 Q5 R11 JP1 C3 R5 R6 C2 C8 C9R4 U2 OUT09 OUT04 C6 R3 R2 U1 OUT10 OUT02 TxC OUT00 +485 RxB RxC LCD1 –485 J1 R1 C1 C39 J3 Figure C-7. The OP6800 may also be panel-mounted with the Demonstration Board attached.

70 MiniCom (OP6800) .

APPENDIX D. I/O. serial channels. display. User’s Manual 71 . OP6800 FUNCTION CALLS Appendix D provides the function calls related to the operation of the OP6800 board. and keypad.

The ports are initialized according to Table A-4. Call this function at the beginning of your program. This function also turns off LED DS1 to indicate that the initialization was successful. serMode. This function initializes the system I/O ports.1 Board Initialization (OP68xx.D.LIB) void brdInit (void). SEE ALSO digIn. ledOut 72 MiniCom (OP6800) . digOut.

NOTE: The LEDs and digital outputs OUT00–OUT06 are driven by the same driver chip.LIB) int digIn(int channel). int value).2 Digital I/O (OP68xx. Reads the state of an input channel. or when channel or value is out of range. digOut.D. RETURN VALUE The state of the input (0 or 1). digIn. Remember to call the brdInit function before executing this function. ledOut User’s Manual 73 . SEE ALSO brdInit. A runtime error will occur if brdInit was not executed before executing digOut. PARAMETERS channel is the output channel number (0–10). ledOut void digOut(int channel. where IN00–IN12 are the normal user digital inputs. A runtime error will occur if brdInit was not executed before executing digIn. PARAMETER channel is the input channel number (0–12). Sets the state of a digital output (OUT00–OUT10). Do not use both ledOut and digOut to control the same LED or digital output in a given application. SEE ALSO brdInit. or when channel is out of range. value is the output value (0 or 1).

by transmission gaps. Remember to call serMode before calling ser485Tx. or with user-defined special characters. ser485Rx 74 MiniCom (OP6800) . Whether you are opening one or multiple serial ports. For more information. which must be called repeatedly until they are finished. 3-wire RS-485 1 RS-232. The PACKET. int serMode(int mode). This function is non-reentrant. void ser485Tx(void). If Mode 1 is selected.D.LIB library provides packet-based serial functions where packets can be delimited by the 9th bit. Sets pin 3 (DE) high to enable the RS-485 transmitter. Rabbit 2000 Serial Port Software. 3-wire RS-232.LIB library provides a set of circular-buffer-based serial functions. SEE ALSO ser485Tx. Serial Port Mode B C D 0 RS-232. ser485Rx NOTE: Be sure to call serMode before either of the next two functions. see the Dynamic C User’s Manual and Technical Note TN213. Call this function after serXOpen(). 5-wire CTS/RTS RS-485 RETURN VALUE 0 if valid mode. Both libraries provide blocking functions. 1 if not.3 Serial Communication (OP68xx. CTS/RTS flow control is exercised using the serCflowcontrolOn and serCflowcontrolOff functions from the RS232. PARAMETER mode is the defined serial port configuration . which do not return until they are finished transmitting or receiving. and nonblocking functions. The RS232. Use the following function calls with the OP6800. this function must be executed after executing the last serXOpen function AND before you start using any of the serial ports. SEE ALSO serMode. User interface to set up OP6800 serial communication lines.LIB) Library files included with Dynamic C provide a full range of serial communications support.LIB library.

Resets pin 3 (DE) low to disable the RS-485 transmitter.void ser485Rx(void). ser485Tx. SEE ALSO serMode. serCflowcontrolOn. serCflowcontrolOff User’s Manual 75 . Remember to call serMode before calling ser485Rx.

LED on/off control. or when led or value is out of range. 0 = LED DS1 1 = LED DS2 2 = LED DS3 3 = LED DS4 4 = LED DS5 5 = LED DS6 6 = LED DS7 value is the value used to control whether the LED is on or off (0 or 1). void ledOut(int led. PARAMETERS led is the LED to control.4 LEDs (OP68xx.D. digOut 76 MiniCom (OP6800) . 0 = off 1 = on RETURN VALUE None. The LEDs are in series with the open-ouput collector that drives digital outputs OUT00– OUT06.LIB) When power is applied to the OP6800 for the first time. and so the same function call that turns on one of these digital outputs will also turn on the corresponding LED. int value). indicating that power is being applied to the OP6800. Do not use both ledOut and digOut to control the same LED or digital output in a given application. The red LED is turned off when the brdInit function executes. the red LED (DS1) will come on. NOTE: The LEDs and digital outputs OUT00–OUT06 are driven by the same driver chip. SEE ALSO brdInit. A runtime error will occur if brdInit was not executed before executing ledOut.

PARAMETER onOff turns the LCD screen on or off 1—turn the LCD screen on 0—turn the LCD screen off RETURN VALUE None. glPrintf.5 LCD Display The functions used to control the LCD display are contained in the GRAPHIC. glVScroll. void glInit(void). glXFontInit. glBuffUnlock. When x and y coordinates on the display screen are specified. Sets the LCD screen on or off. glSetContrast. glBuffLock.D. glBackLight User’s Manual 77 . Turns the display backlight on or off. SEE ALSO glInit. glHScroll. glPlotCircle. glPlotDot. glPlotPolygon. glPutChar. SEE ALSO glInit. glPlotDot. glBlock. SEE ALSO glDispOnOFF. RETURN VALUE None. clears the screen. Initializes the display devices. glSetContrast void glDispOnOff(int onOff).LIB library located in the Dynamic C LIB\DISPLAYS\GRAPHIC library directory. PARAMETER onOff turns the backlight on or off 1—turn the backlight on 0—turn the backlight off RETURN VALUE None. glBacklight. glDispOnoff. glPlotLine void glBackLight(int onOff). glSetBrushType. x can range from 0 to 121. glSetContrast. and y can range from 0 to 31. These numbers represent pixels from the top left corner of the display. Data will not be cleared from the screen.

pattern is the bit pattern to display (all black if pattern is 0xFF. Any portion of the block that is outside the LCD display area will be clipped. PARAMETER The screen will be set to all black if pattern is 0xFF. int height. glBlock. glPlotPolygon. glBlock. all white if pattern is 0x00. NOTE: This function is not used with the OP6800 since the support circuits are not available on the LCD/keypad module used with the OP6800. SEE ALSO glBlock. glPlotPolygon. all white if pattern is 0x00. and vertical stripes for any other pattern. height is the height of the block. int width. glPlotCircle void glBlankScreen(void). SEE ALSO glFillScreen. PARAMETERS left is the x coordinate of the top left corner of the block. glBlankScreen. RETURN VALUE None. Fills a rectangular block in the LCD buffer with the pattern specified. and vertical stripes for any other pattern). width is the width of the block. top is the y coordinate of the top left corner of the block.void glSetContrast(unsigned level). int top. char pattern). RETURN VALUE None. void glFillScreen(int pattern). Sets display contrast. glPlotCircle void glFillRegion(int left. Fills the LCD display screen with a pattern. glBlankRegion 78 MiniCom (OP6800) . glBlankScreen. Blanks the LCD display screen (sets LCD display screen to the background color). SEE ALSO glFillScreen. RETURN VALUE None.

The block left and width parameters must be byte-aligned. Fills a rectangular block in the LCD buffer with the pattern specified. glBlock User’s Manual 79 . int height). height is the height of the block. glBlankScreen. Clears a region on the LCD display. glBlock. RETURN VALUE None. pattern is the bit pattern to display (all black if pattern is 0xFF. width is the width of the block (must be evenly divisible by 8). int width. PARAMETERS left is the x coordinate of the top left corner of the block (x must be evenly divisible by 8). width is the width of the block. glBlankScreen. The block left and width parameters must be byte-aligned. top is the y coordinate of the top left corner of the block. int width. int top. SEE ALSO glFillScreen. int height. height is the height of the block. SEE ALSO glFillScreen. all white if pattern is 0x00.void glFastFillRegion(int left. Any portion of the block that is outside the LCD display area will be clipped. glBlankRegion void glBlankRegion(int left. Any portion of the block that is outside the LCD display area will be clipped. int top. top is the y coordinate of the top left corner of the block. PARAMETERS left is the x coordinate of the top left corner of the block. and vertical stripes for any other pattern). char pattern). RETURN VALUE None.

int *pFirstCoord). x2. glPlotCircle void glPlotVPolygon(int n. Any portion of the block that is outside the LCD display area will be clipped. PARAMETERS n is the number of vertices.y2. SEE ALSO glPlotPolygon. RETURN VALUE None. height is the height of the block. top is the y coordinate of the top left corner of the block.. and on the LCD if the buffer is unlocked. glFillPolygon. Draws a rectangular block in the page buffer and on the LCD if the buffer is unlocked. width is the width of the block. int height). pFirstCoord is a pointer to array of vertex coordinates: x1. RETURN VALUE None. glBlankScreen. int width. If fewer than 3 vertices are specified. x3. int top. the function will return without doing anything. glFillVPolygon 80 MiniCom (OP6800) .y3. SEE ALSO glFillScreen. Plots the outline of a polygon in the LCD page buffer. ..void glBlock(int left.y1. Any portion of the polygon that is outside the LCD display area will be clipped. PARAMETERS left is the x coordinate of the top left corner of the block. glPlotPolygon.

.. glPlotPolygon. glPlotVPolygon User’s Manual 81 ..void glPlotPolygon(int n.. Any portion of the polygon that is outside the LCD display area will be clipped. pFirstCoord is a pointer to array of vertex coordinates: x1. int y2..y1. are the coordinates of additional vertices. Plots the outline of a polygon in the LCD page buffer and on the LCD if the buffer is unlocked. int x2. the function will return without doing anything. If fewer than 3 vertices are specified.. Fills a polygon in the LCD page buffer and on the LCD screen if the buffer is unlocked. PARAMETERS n is the number of vertices. SEE ALSO glFillPolygon. int x1. RETURN VALUE None. Any portion of the polygon that is outside the LCD display area will be clipped. . . PARAMETERS n is the number of vertices. y2 is the y coordinate of the second vertex. int y1.). int *pFirstCoord). y1 is the y coordinate of the first vertex. . the function will return without doing anything. If fewer than 3 vertices are specified. RETURN VALUE None. x2. x3. SEE ALSO glPlotVPolygon.y2. x2 is the x coordinate of the second vertex. x1 is the x coordinate of the first vertex.y3. glFillVPolygon void glFillVPolygon(int n. glFillPolygon.

int rad). int y1. yc is the y coordinate of the center of the circle. x2 is the x coordinate of the second vertex. SEE ALSO glFillCircle. glFillPolygon 82 MiniCom (OP6800) . int x2. RETURN VALUE None. If fewer than 3 vertices are specified. Any portion of the polygon that is outside the LCD display area will be clipped. int yc. Fills a polygon in the LCD page buffer and on the LCD if the buffer is unlocked. glPlotPolygon.). int y2. glPlotPolygon. int rad). SEE ALSO glFillVPolygon. Draws a filled circle in the LCD page buffer and on the LCD if the buffer is unlocked. . PARAMETERS xc is the x coordinate of the center of the circle. glPlotPolygon. y1 is the y coordinate of the first vertex. PARAMETERS n is the number of vertices. yc is the y coordinate of the center of the circle. glFillPolygon void glFillCircle(int xc. RETURN VALUE None. int yc. are the coordinates of additional vertices. Any portion of the circle that is outside the LCD display area will be clipped. Any portion of the circle that is outside the LCD display area will be clipped. SEE ALSO glPlotCircle.void glFillPolygon(int n... rad is the radius of the center of the circle (in pixels). y2 is the y coordinate of the second vertex. RETURN VALUE None. rad is the radius of the center of the circle (in pixels).. . Draws the outline of a circle in the LCD page buffer and on the LCD if the buffer is unlocked. int x1. x1 is the x coordinate of the first vertex. glPlotVPolygon void glPlotCircle(int xc.. the function will return without doing anything. PARAMETERS xc is the x coordinate of the center of the circle.

char pixWidth. PARAMETERS pInfo is a pointer to the font descriptor to be initialized. unsigned long xmemBuffer). RETURN VALUE None. letter is an ASCII character. where the font is stored in xmem. pixHeight is the height (in pixels) of each font item. unsigned endChar. endChar is the value of the last printable character in the font character set. SEE ALSO glPrinf unsigned long glFontCharAddr(fontInfo *pInfo. Each font character's bitmap is column major and byte-aligned. column major and byte-aligned. PARAMETERS *pInfo is the xmem address of the bitmap font set. glPrintf User’s Manual 83 . Returns the xmem address of the character from the specified font set. char pixHeight. xmemBuffer is the xmem pointer to a linear array of font bitmaps. startChar is the value of the first printable character in the font character set. char letter).void glXFontInit(fontInfo *pInfo. SEE ALSO glPutFont. Initializes the font descriptor structure. pixWidth is the width (in pixels) of each font item. unsigned startChar. RETURN VALUE xmem address of bitmap character font.

int stepY). Each font character's bitmap is column major and byte-aligned. SEE ALSO glFontCharAddr. PARAMETERS stepX is the glPrintf x step value stepY is the glPrintf y step value RETURN VALUE None. RETURN VALUE The x step is returned in the MSB. y is the y coordinate (row) of the top left corner of the text. Any portion of the bitmap character that is outside the LCD display area will be clipped. pInfo is a pointer to the font descriptor. int y. The actual step increments depend on the height and width of the font being displayed. fontInfo *pInfo. code is the ASCII character to display. The actual step increments depends on the height and width of the font being displayed. which are multiplied by the step values. Each step direction is independent of the other. RETURN VALUE None. and is treated as an 8-bit signed value. which are multiplied by the step values. Gets the current glPrintf() printing step direction. glPrintf void glSetPfStep(int stepX. Sets the glPrintf() printing step direction. Puts an entry from the font table to the page buffer and on the LCD if the buffer is unlocked.void glPutFont(int x. int glGetPfStep(void). 84 MiniCom (OP6800) . The x and y step directions are independent signed values. and the y step is returned in the LSB of the integer result. PARAMETERS x is the x coordinate (column) of the top left corner of the text. char code). SEE ALSO Use glGetPfStep() to control the x and y printing step direction. SEE ALSO Use glGetPfStep() to examine the current x and y printing step direction.

0. '\b'. doprnt void glPrintf(int x. until the entire formatted string has been parsed. one character at a time. PARAMETERS ch is the character to be displayed on the LCD. SEE ALSO glXFontInit User’s Manual 85 . char *fmt. glPutFont. *ptr is not used. Only the character codes that exist in the font set are printed. new line. EXAMPLE glprintf(0. but is a place holder for STDIO string functions.). Any portion of the bitmap character that is outside the LCD display area will be clipped. tab. pInfo is a pointer to the font descriptor. glPutCharInst *pInst) Provides an interface between the STDIO string-handling functions and the graphic library. *fmt is a formatted string. . *cnt is not used. Prints a formatted string (much like printf) on the LCD screen.. The STDIO string-formatting function will call this function. Any portion of the bitmap character that is outside the LCD display area will be clipped. RETURN VALUE None. count). and carriage return. SEE ALSO glPrintf. pInst is a pointer to the font descriptor. all others are skipped.. PARAMETERS x is the x coordinate (column) of the upper left corner of the text.. int y. .. are formatted string conversion parameter(s). char *ptr. y is the y coordinate (row) of the upper left corner of the text. fontInfo *pInfo. '\n' and '\r' (ASCII backspace. RETURN VALUE None.void glPutChar(char ch. '\t'. int *cnt. respectively) will be printed if they exist in the font set. For example. but will not have any effect as control characters. is a place holder for STDIO string functions. "Test %d\n". &fi12x16.

void glBuffLock(void). The contents of the LCD buffer are transferred to the LCD if the counter goes to zero. Graphic calls are recorded in the LCD memory buffer and are not transferred to the LCD if the counter is non-zero. SEE ALSO glBuffLock. NOTE: glBuffLock() and glBuffUnlock() can be nested up to a level of 255. SEE ALSO glGetBrushType 86 MiniCom (OP6800) . Increments LCD screen locking counter. It is not a requirement to use these procedures. SEE ALSO glBuffUnlock. but be sure to balance the calls. RETURN VALUE None. Checks the LCD screen locking counter. Sets the drawing method (or color) of pixels drawn by subsequent graphic calls. but a set of glBuffLock() and glBuffUnlock() bracketing a set of related graphic calls speeds up the rendering significantly. SEE ALSO glBuffUnlock. RETURN VALUE None. The contents of the LCD buffer are transferred to the LCD if the counter is zero. RETURN VALUE None. RETURN VALUE None. Decrements the LCD screen locking counter. glSwap void glBuffUnlock(void). glBuffLock. PARAMETER type value can be one of the following macros. PIXBLACK draws black pixels (turns pixel on). _glSwapData (located in the library specifically for the LCD that you are using) void glSetBrushType(int type). glSwap void glSwap(void). PIXWHITE draws white pixels (turns pixel off). PIXXOR draws old pixel XOR'ed with the new pixel.

PARAMETERS left is the x coordinate of the top left corner of the bitmap (x must be evenly divisible by 8). PARAMETERS x is the x coordinate in pixels of the top left corner of the bitmap (x must be evenly divisible by 8). glPrintf User’s Manual 87 . int top. This function call is intended for use only when a graphic engine is used to interface with the LCD/keypad module. int bmWidth. The bitmap must be byte-aligned. xBm is the xmem RAM storage address of the bitmap. The data for the bitmap are stored in xmem. xmemptr is the xmem RAM storage address of the bitmap. Gets a bitmap from the LCD page buffer and stores it in xmem RAM. This function call is intended for use only when a graphic engine is used to interface with the LCD/keypad module. unsigned long xmemptr). Gets the current method (or color) of pixels drawn by subsequent graphic calls. RETURN VALUE The current brush type. RETURN VALUE None. int height. void glXGetFastmap(int left. This function is similar to glXPutBitmap. unsigned long xBm). Any portion of a bitmap image or character that is outside the LCD display area will be clipped. int bmHeight. This function automatically calls glXGetFastmap if the left edge of the bitmap is byte-aligned and the left edge and width are each evenly divisible by 8. SEE ALSO glSetBrushType void glXGetBitmap(int x. bmHeight is the height in pixels of the bitmap. SEE ALSO glXPutBitmap. Any portion of a bitmap image or character that is outside the LCD display area will be clipped.int glGetBrushType(void). RETURN VALUE None. bmWidth is the width in pixels of the bitmap (must be evenly divisible by 8). Draws bitmap in the specified space. int width. except that it's faster. int y. height is the height of the bitmap. top is the y coordinate in pixels of the top left corner of the bitmap. y is the y coordinate in pixels of the top left corner of the bitmap. width is the width of the bitmap (must be evenly divisible by 8).

int y0. glRight1 88 MiniCom (OP6800) . int top. RETURN VALUE None. Draws a single pixel in the LCD buffer. int y1). otherwise truncates. PARAMETERS x is the x coordinate of the dot. RETURN VALUE None. y0 is the y coordinate of one endpoint of the line. the dot will not be plotted. x1 is the x coordinate of the other endpoint of the line. must be evenly divisible by 8. PARAMETERS x0 is the x coordinate of one endpoint of the line. glPlotCircle void glLeft1(int left. SEE ALSO glPlotline. int cols. SEE ALSO glHScroll. int x1. otherwise truncates. and on the LCD if the buffer is unlocked. glPlotCircle void glPlotLine(int x0. If the coordinates are outside the LCD display area. y is the y coordinate of the dot. and on the LCD if the buffer is unlocked. top is the top left corner of the bitmap. must be evenly divisible by 8. Draws a line in the LCD buffer. right column is filled by current pixel type (color). glPlotPolygon. RETURN VALUE None. Any portion of the line that is beyond the LCD display area will be clipped. int y). cols is the number of columns in the window. int rows).void glPlotDot(int x. rows is the number of rows in the window. Scrolls byte-aligned window left one pixel. PARAMETERS left is the top left corner of bitmap. y1 is the y coordinate of the other endpoint of the line. glPlotPolygon. SEE ALSO glPlotDot.

Scrolls byte-aligned window up one pixel. int top. int top. int cols. left column is filled by current pixel type (color). rows is the number of rows in the window. SEE ALSO glVScroll. int rows). must be evenly divisible by 8. rows is the number of rows in the window. cols is the number of columns in the window. RETURN VALUE None. must be evenly divisible by 8. PARAMETERS left is the top left corner of bitmap. must be evenly divisible by 8. int rows). SEE ALSO glHScroll. bottom column is filled by current pixel type (color). top is the top left corner of the bitmap. cols is the number of columns in the window. must be evenly divisible by 8. must be evenly divisible by 8. rows is the number of rows in the window. otherwise truncates. int top. int rows). int cols. int cols. otherwise truncates. cols is the number of columns in the window. otherwise truncates.void glRight1(int left. glDown1 void glDown1(int left. RETURN VALUE None. top is the top left corner of the bitmap. otherwise truncates. RETURN VALUE None. PARAMETERS left is the top left corner of bitmap. otherwise truncates. top is the top left corner of the bitmap. SEE ALSO glVScroll. PARAMETERS left is the top left corner of bitmap. top column is filled by current pixel type (color). glUp1 User’s Manual 89 . otherwise truncates. must be evenly divisible by 8. Scrolls byte-aligned window down one pixel. Scrolls byte-aligned window right one pixel. glLeft1 void glUp1(int left.

int cols. PARAMETERS left is the top left corner of bitmap. If not. The opposite edge of the scrolled window will be filled in with white pixels. they will be truncated to a value that is a multiple of 8. int top. rows is the number of rows in the window. top is the top left corner of the bitmap. RETURN VALUE None. Scrolls right or left. The left and cols parameters will be verified that they are evenly divisible by 8. must be evenly divisible by 8. nPix is the number of pixels to scroll within the defined window (a negative value will produce a scroll to the left).void glHScroll(int left. cols is the number of columns in the window. int rows. within the defined window by x number of pixels. int nPix). SEE ALSO glVScroll 90 MiniCom (OP6800) . Parameters will be checked to verify that the scrolling area is valid. 2. The window must be byte-aligned. The minimum scrolling area is a width of 8 pixels and a height of one row. Parameters will be verified for the following: 1. must be evenly divisible by 8.

void glVScroll(int left. The opposite edge of the scrolled window will be filled in with white pixels. Draws bitmap in the specified space. int top. int width. The left and cols parameters will be verified that they are evenly divisible by 8. top is the top left corner of the bitmap. The data for the bitmap are stored in xmem. unsigned long bitmap). int nPix). Any portion of a bitmap image or character that is outside the LCD display area will be clipped. width is the width of the bitmap. PARAMETERS left is the top left corner of bitmap. This function calls glXPutFastmap automatically if the bitmap is byte-aligned (the left edge and the width are each evenly divisible by 8). Parameters will be verified for the following: 1. int top. bitmap is the address of the bitmap in xmem. Parameters will be checked to verify that the scrolling area is valid. within the defined window by x number of pixels. RETURN VALUE None. The minimum scrolling area is a width of 8 pixels and a height of one row. int rows. SEE ALSO glXPutFastmap. height is the height of the bitmap. int cols. RETURN VALUE None. The window must be byte-aligned. SEE ALSO glHScroll void glXPutBitmap(int left. Scrolls up or down. nPix is the number of pixels to scroll within the defined window (a negative value will produce a scroll up). cols is the number of columns in the window. top is the top left corner of the bitmap. rows is the number of rows in the window. If not. they will be truncated to a value that is a multiple of 8. int height. 2. PARAMETERS left is the top left corner of the bitmap. must be evenly divisible by 8. glPrintf User’s Manual 91 . must be evenly divisible by 8.

. must be evenly divisible by 8. PARAMETERS window is a pointer to the window frame descriptor. pFont is a pointer to the font descriptor. SEE ALSO glXPutBitmap. The data for the bitmap are stored in xmem. Draws bitmap in the specified space. The text window feature provides end-of-line wrapping and clipping after the character in the last column and row is displayed. int x. int winHeight) Defines a text-only display window. height is the height of the bitmap. RETURN VALUE None. glPrintf int TextWindowFrame(windowFrame *window. must be evenly divisible by 8. Any portion of a bitmap image or character that is outside the LCD display area will be clipped. winHeight is the height of the text window frame. except that it is faster. int height. otherwise truncates. -2—y coordinate + height has exceeded the display boundary. bitmap is the address of the bitmap in xmem. int width. functions. 92 MiniCom (OP6800) . y is the y coordinate of the top left corner of the text window frame. This function provides a way to display characters within the text window using only character row and column coordinates. unsigned long bitmap).. winWidth is the width of the text window frame. x is the x coordinate of the top left corner of the text window frame. NOTE: Execute the TextWindowFrame function before other Text. -3—Invalid winHeight and/or winWidth parameter value. otherwise truncates. This function is like glXPutBitmap. PARAMETERS left is the top left corner of the bitmap. int y. top is the top left corner of the bitmap. int top.void glXPutFastmap(int left. width is the width of the bitmap. RETURN VALUE 0—window frame was successfully created. The restriction is that the bitmap must be byte-aligned. -1—x coordinate + width has exceeded the display boundary. fontInfo *pFont. int winWidth.

TextCursorLocation User’s Manual 93 . DOUBLE_LINE—The function will draw a double-line border around the text window. title is a pointer to the title information: If a NULL string is detected. NOTE: Execute the TextWindowFrame function before using this function. RETURN VALUE None. then no title is written to the text menu. If a string is detected. PARAMETERS wPtr is a pointer to the window frame descriptor. This adjustment will only occur once after the TextBorderInit function executes. char *title).void TextBorderInit(windowFrame *wPtr. TextPutChar. This function displays the border for a given window frame. then it will be written center-aligned to the top of the text menu box. RETURN VALUE None. TextGotoXY. TextPutChar. SEE ALSO TextBorderInit. border is the border style: SINGLE_LINE—The function will draw a single-line border around the text window. TextCursorLocation void TextBorder(windowFrame *wPtr). This function will automatically adjust the text window parameters to accommodate the space taken by the text border. NOTE: Execute the TextWindowFrame function before using this function. int border. TextWindowFrame. TextWindowFrame. SEE ALSO TextBorder. TextGotoXY. PARAMETERS wPtr is a pointer to the window frame descriptor. This function initializes the window frame structure with the border and title information.

PARAMETERS window is a pointer to a font descriptor. row is a pointer to cursor row variable. RETURN VALUE Lower word = Cursor Row location Upper word = Cursor Column location SEE ALSO TextGotoXY.. TextPrintf.void TextGotoXY(windowFrame *window. SEE ALSO TextPutChar. col is a pointer to cursor column variable. int col. int *col. NOTE: Execute the TextWindowFrame function before using this function. TextPrintf. function. PARAMETERS window is a pointer to a font descriptor. TextCursorLocation 94 MiniCom (OP6800) . int row).. TextWindowFrame void TextCursorLocation(windowFrame *window. Sets the cursor location to display the next character. Gets the current cursor location that was set by a Graphic Text. int *row). TextWindowFrame. RETURN VALUE None. col is a character column location. row is a character row location. The display location is based on the height and width of the character to be displayed. NOTE: Execute the TextWindowFrame function before using this function.

All other escape sequences will be skipped over. the character will not be displayed. SEE ALSO TextGotoXY. TextWindowFrame.. the cursor will be incremented to the next character position. The text window feature provides end-of-line wrapping and clipping after the character in the last column and row is displayed. NOTE: Execute the TextWindowFrame function before using this function. ch is a character to be displayed on the LCD. TextCursorLocation void TextPrintf(struct windowFrame *window. SEE ALSO TextGotoXY. If any portion of a bitmap character is outside the LCD display area. EXAMPLE TextPrintf(&TextWindow. TextCursorLocation User’s Manual 95 .). Displays a character on the display where the cursor is currently pointing. "Test %d\n". TextWindowFrame.. The cursor then remains at the end of the string. PARAMETERS *window is a pointer to a font descriptor.void TextPutChar(struct windowFrame *window. are formatted string conversion parameter(s). . TextPutChar. Once a character is displayed. NOTE: Execute the TextWindowFrame function before using this function. RETURN VALUE None. . RETURN VALUE None. PARAMETERS window is a pointer to a font descriptor. char *fmt. '\b' and \'t' will cause nothing to be displayed. escape sequences '\r' and '\n' are also recognized.. for example.. Only printable characters in the font set are printed. *fmt is a formatted string. Prints a formatted string (much like printf) on the LCD screen. TextPrintf. char ch). count).

TextCursorLocation void TextWinClear(windowFrame *wPtr). PARAMETERS wPtr is a pointer to the window frame descriptor. NOTE: Execute the TextWindowFrame function before using this function. TextPrintf. TextCursorLocation 96 MiniCom (OP6800) . TextPrintf. RETURN VALUE The maximum number of characters that can be displayed within the text window.int TextMaxChars(windowFrame *wPtr). SEE ALSO TextGotoXY. RETURN VALUE None. This functions clears the entire area within the specified text window. This function returns the maximum number of characters that can be displayed within the text window. TextWindowFrame. NOTE: Execute the TextWindowFrame function before using this function. TextWindowFrame. PARAMETERS wPtr is a pointer to the window frame descriptor. SEE ALSO TextGotoXY.

char cRelease. cRelease is a key release code. 0 = Unused. void keyInit(void). 0 = No Repeat. SEE ALSO brdInit void keyConfig(char cRaw. cCntLo is a low-speed hold tick. User’s Manual 97 . How long to hold before going to high-speed repeat. which is approximately one debounce period or 5 µs. cCntHold is a hold tick.LIB library located in the Dynamic C LIB\KEYPADS library folder. and hold and repeat ticks for auto repeat and debouncing. PARAMETERS cRaw is a raw key code index.5. char cSpdLo.D. See keypadDef() for default press codes. cSpdLo is a low-speed repeat tick. 0 = Unused. 1 × 7 keypad matrix with raw key code index assignments (in brackets): [0] [1] [4] [2] [5] [3] [6] User Keypad Interface cPress is a key press code An 8-bit value is returned when a key is pressed. char cPress. char cSpdHi). How long to hold before repeating. Initializes keypad process RETURN VALUE None. Assigns each key with key press and release codes. How many times to repeat. char cCntHold.1 Keypad The functions used to control the keypad are in the KEYPAD7. 0 = None. char cCntLo. 0 = Slow Only. which is approximately one debounce period or 5 µs. which is approximately one debounce period or 5 µs. An 8-bit value is returned when a key is pressed.

or 0 if none SEE ALSO keyConfig. Scans and processes keypad data for key assignment. 0 = None. Get next keypress. keypadDef int keyUnget(char cKey). which is approximately one debounce period or 5 µs. keyGet. RETURN VALUE The next keypress. keypadDef char keyGet(void). and repeat. How many times to repeat after low speed repeat. Pushes the value of cKey to the top of the input queue. keyGet. NOTE: This function is also able to process an 8 × 8 matrix keypad.cSpdHi is a high-speed repeat tick. PARAMETER cKey RETURN VALUE None. keyProcess. debouncing. SEE ALSO keyProcess. which is 16 bytes deep. RETURN VALUE None SEE ALSO keyConfig. SEE ALSO keyGet 98 MiniCom (OP6800) . RETURN VALUE None. keypadDef void keyProcess(void). press and release.

void keypadDef();
Configures the physical layout of the keypad with the desired ASCII return key codes.
Keypad physical mapping 1 × 7
0

4

1

['L']

5

2

['U']
['–']

6

['D']

3
['R']

['+']

['E']

where
'L' represents Left Scroll
'U' represents Up Scroll
'D' represents Down Scroll
'R' represents Right Scroll
'–' represents Page Down
'+' represents Page Up
'E' represents the ENTER key
Example: Do the following for the above physical vs. ASCII return key codes.
keyConfig
keyConfig
keyConfig
keyConfig
keyConfig
keyConfig
keyConfig

(
(
(
(
(
(
(

3,'R',0,
6,'E',0,
2,'D',0,
4,'-',0,
1,'U',0,
5,'+',0,
0,'L',0,

0,
0,
0,
0,
0,
0,
0,

0,
0,
0,
0,
0,
0,
0,

0,
0,
0,
0,
0,
0,
0,

0
0
0
0
0
0
0

);
);
);
);
);
);
);

Characters are returned upon keypress with no repeat.
RETURN VALUE

None.
SEE ALSO
keyConfig, keyGet, keyProcess

void keyScan(char *pcKeys);
Writes "1" to each row and reads the value. The position of a keypress is indicated by a zero value in a bit
position.
PARAMETER

pcKeys is a pointer to the address of the value read.
RETURN VALUE

None.
SEE ALSO
keyConfig, keyGet, keypadDef, keyProcess

User’s Manual

99

100

MiniCom (OP6800)

INDEX
B

debugging features ............ 30
installation ......................... 12
Rabbit Embedded Security
Pack ................................ 3
standard features ............... 30
debugging ...................... 30
starting .............................. 12
telephone-based technical
support ...................... 3, 31
upgrades and patches ........ 31

battery connections ............... 60
board initialization
function calls ..................... 72
brdInit ............................ 72
buzzer .................................... 67

C
CE compliance ........................ 4
design guidelines ................. 5
chip select circuit .................. 62
clock doubler ........................ 24
connections
Ethernet cable ................... 37
programming cable ........... 11
contrast .................................. 10

D
Demonstration Board
mounting and installation .. 69
pinout ................................ 68
prototyping area ................ 68
wire assembly ..................... 2
demonstration program ......... 10
digital I/O
function calls
digIn .............................. 73
digOut ........................... 73
SMODE0 .......................... 21
SMODE1 .......................... 21
digital inputs ......................... 17
remote keypad operation ... 17
switching threshold ........... 17
digital outputs ....................... 18
dimensions
Demonstration Board ........ 64
LCD/keypad template ....... 27
OP6800 ............................. 50
Dynamic C ........................ 3, 30
add-on modules ............. 3, 31
changing programming baud
rate in BIOS .................. 12
User’s Manual

E
EMI
spectrum spreader feature . 25
Ethernet cables ...................... 37
Ethernet connections ............. 37
steps .................................. 37
Ethernet port ......................... 22
handling EMI and noise .... 22
pinout ................................ 22
exclusion zone ...................... 51

F
features .................................... 1
flash memory
liefetime write cycles ........ 29
using second 256K flash
memory ......................... 29
flash memory bank select ..... 26
font and bitmap converter ..... 32

H
headers
JP1 ..................................... 20

I
I/O address assignments ....... 57
installation guidelines ........... 45
introduction ............................. 1
IP addresses
how to set .......................... 39
how to set PC IP address ... 40

J
jumper configurations ........... 54
Demonstration Board buzzer ................................... 67
JP1 (RS-485 bias and termination resistors) .......... 20, 54
jumper locations ................ 54

K
keypad
function calls
keyConfig ...................... 97
keyGet ........................... 98
keyInit ........................... 97
keypadDef ..................... 99
keyProcess ..................... 98
keyScan ......................... 99
keyUnget ....................... 98
keypad template .................... 27
removing and inserting label ................................. 28

L
LCD display
function calls
glBackLight ................... 77
glBlankRegion .............. 79
glBlankScreen ............... 78
glBlock .......................... 80
glBuffLock .................... 86
glBuffUnlock ................ 86
glDispOnOff ................. 77
glDown1 ........................ 89
glFastFillRegion ............ 79
glFillCircle .................... 82
glFillPolygon ................. 82
glFillRegion .................. 78
glFillScreen ................... 78
glFillVPolygon .............. 81
glFontCharAddr ............ 83
glGetBrushType ............ 87
glGetPfStep ................... 84
101

.......93 TextBorderInit .............92 ledOut .............................87 glXPutBitmap ......C .....11 MiniCom (OP6800) ......94 TextMaxChars ................42 OP6800 features ......96 TextWindowFrame ....................29 programming cable .....9 programming cable connections ...81 glPlotVPolygon ..76 TextBorder .....33 KEYPAD.35 SCROLLING...........10 O OP6800 introduction .....................86 glUp1 .21 programming cable ....2 mounting and installation Demonstration Board ...................17 reset ......C ....33 Demonstration Board ...............95 TextPutChar .............................11 PROG connector ..............88 glPlotCircle ..........C ...................... 47 sample programs .88 glPlotLine ...........................................................34 how to set IP address .....41 serial communication ..............34 SLAVE......................C ..........................27 removing and inserting keypad label .....28 P M S memory ..... 91 glXPutFastmap ..50 pinout Demonstration Board ................. 83 glXGetBitmap .9 reset generator ...C ............................9 hardware .........78 glSetPfStep ..........61 RS-232 .................................... 34 KEYBASIC......80 glPrintf ..34 DKADEMO1..C ...........82 glPlotDot ..........................59 power supply .........................96 TextPrintf ................26 models .....................20 termination and bias resistors ........ RAM .............41 TELNET......................LCD display function calls (continued) glHScroll .......................................32..91 glXFontInit .....2 OP6810 .................88 glPlotPolygon .....23 programming port ...74 serMode ...62 connections ..........................................................34 DIGOUT..............42 TCPSEND................90 glInit .................33 SWITCHES........................34 FUN....................................35 LCD/keypad module (with TCP/IP) MBOXDEMO...........94 TextGotoXY .......................33 BOARD_ID...22 setup ..86 glSetContrast ...........35....................46................................C ...........13 power-up demonstration program ..........65 switching voltage regulator 59 VRAM switch .............. 39 PINGME............C .........................................60 battery backup ..........................C ........95 TextWinClear .......................21 R Rabbit 2000 parallel ports ....92 LCD/keypad module contrast adjustment .......C .................89 glSetBrushType .C ........................19 function calls flow control ........34 PUTS...............35 TEXT....................................C .......87 glXGetFastmap .................C ............9 power distribution ..65 power management ........59.............19 RS-485 network .........................19 RS-485 ..................... 65 backup battery circuit ...........................C ......42 TCP_RESPOND..1 102 pin 1 locations ............41 SSI................................................10 serial communication MASTER........................................60 chip select circuit .................75 ser485Tx .......10................................................................20 RS-485 termination and bias resistors ...........C .C .........55 remote keypad operation .........................2 programming port ...C ..34 DISPPONG................................84 glSwap ..............61 power-up demonstration program ..13 BUZZER..............C .......................35 LED.................................C .........20 LCD/keypad module ...............................................34 ALPHANUN........................C ...C ..C ....93 TextCursorLocation ...............69 OP6800 ..................89 glVScroll ......................C ......................................................................................10 keypad template ......7 power supply connections .............................C .....................85 glPutFont ......11 remove RabbitCore module .....................21 RS-232 description ...20 serial ports Ethernet port ........................35 KEYMENU.....74 serCflowcontrolOn ...................68 Ethernet port ..........33 digital I/O DIGIN...........2 connections .....................84 glRight1 ...................................................C .........C ..................85 glPutChar ...............34 RELAYCHR....................................19 RS-485 network ..........2 OP6800 ............C ..34 TCP/IP .........13 PONG......................34 COFTERMA......C .......19 RS-485 description ......................77 glLeft1 .74 programming port ................32....74 ser485Rx ...................39 ICOMDEMO....22 OP6800 headers ..........16 power distribution ............10 programming flash vs...74 serCflowcontrolOff .

............ 36 OP68xx.... 52 spectrum spreader .........................software ........................................................................ 64 temperature .............LIB ......... 15 User’s Manual T TCP/IP connections ...........LIB ........................ 74 RS232........ 52 temperature .. 2 AC adapter ....................................................................... 64 electrical ....... 51 mechanical ........................ 37 10Base-T Ethernet card ....... 2 User’s Manual ................................................... 37 additional resources ... 12 103 .... 36 keypad ............ 37 Tool Kit .................. 29 specifications Demonstration Board dimensions .... 36 USE_2NDFLASH_CODE 29 using second 256K flash memory ..... 50 electrical ......... 3 libraries ................ 36 LCD display .......................................... 36 PACKET...... 2 U USB/serial port converter ....... 2 DC power supply ....... 37 steps ................... 74 TCP/IP ............ 2 wire assembly .. 25 subsystems ........................................................LIB ..... 11 Dynamic C settings ....... 64 mechanical ................ 52 exclusion zone ..... 64 OP6800 dimensions ...... 2 programming cable ...................................................... 43 Ethernet hub ........................

104 MiniCom (OP6800) .

pdf You may use the URL information provided above to access the latest schematics directly.rabbit.pdf 090-0120 RCM2200 Schematic www.rabbit. User’s Manual 105 .rabbit.pdf 090-0128 Programming Cable Schematic www.pdf 090-0140 OP6800 Demonstration Board Schematic www.com/documentation/schemat/090-0120.rabbit.com/documentation/schemat/090-0140.pdf 090-0119 RCM2300 Schematic www.com/documentation/schemat/090-0128.SCHEMATICS 090-0134 OP6800 Schematic www.com/documentation/schemat/090-0119.com/documentation/schemat/090-0134.rabbit.