Rabbit Semiconductor 101-0505 Datasheet


Add to my manuals
108 Pages

advertisement

Rabbit Semiconductor 101-0505 Datasheet | Manualzz

MiniCom (OP6800)

C-Programmable Operator Interface

User’s Manual

019–0106 • 040115–C

MiniCom (OP6800) User’s Manual

Part Number 019-0106 • 040115–C • Printed in U.S.A.

©2002–2004 Z-World Inc. • All rights reserved.

Z-World reserves the right to make changes and improvements to its products without providing notice.

Trademarks

Rabbit and Rabbit 2000 are registered trademarks of Rabbit Semiconductor.

RabbitCore is a trademark of Rabbit Semiconductor.

Dynamic C is a registered trademark of Z-World Inc.

Z-World, Inc.

2900 Spafford Street

Davis, California 95616-6800

USA

Telephone: (530) 757-3737

Fax: (530) 757-3792 www.zworld.com

MiniCom (OP6800)

T

ABLE OF

C

ONTENTS

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 7

2.1 Connections ..........................................................................................................................................7

2.2 Demonstration Program on Power-Up ...............................................................................................10

2.3 Display Contrast Adjustment..............................................................................................................10

2.4 Programming Cable Connections .......................................................................................................11

2.5 Installing Dynamic C ..........................................................................................................................12

2.6 Starting Dynamic C ............................................................................................................................12

2.7 PONG.C..............................................................................................................................................13

2.8 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 Memory...............................................................................................................................................23

3.4.1 SRAM .........................................................................................................................................23

3.4.2 Flash Memory .............................................................................................................................23

3.5 Keypad Labeling.................................................................................................................................24

Chapter 4. Software 27

4.1 Programming Cable ............................................................................................................................28

4.1.1 Switching Between Program Mode and Run Mode....................................................................28

4.1.2 Detailed Instructions: Changing from Program Mode to Run Mode..........................................28

4.1.3 Detailed Instructions: Changing from Run Mode to Program Mode..........................................28

4.2 OP6800 Libraries................................................................................................................................29

4.3 Sample Programs ................................................................................................................................30

4.3.1 Board ID......................................................................................................................................30

4.3.2 Demonstration Board ..................................................................................................................30

4.3.3 Digital I/O ...................................................................................................................................31

4.3.4 Serial Communication.................................................................................................................31

4.3.5 LCD/Keypad Module Sample Programs ....................................................................................31

4.3.6 TCP/IP Sample Programs ...........................................................................................................32

4.4 Font and Bitmap Converter.................................................................................................................33

User’s Manual

Chapter 5. Using the TCP/IP Features 35

5.1 TCP/IP Connections........................................................................................................................... 35

5.2 TCP/IP Sample Programs................................................................................................................... 37

5.2.1 How to Set IP Addresses in the Sample Programs..................................................................... 37

5.2.2 How to Set Up your Computer’s IP Address for a Direct Connection ...................................... 38

5.2.3 Run the PINGME.C Demo......................................................................................................... 39

5.2.4 Running More Demo Programs With a Direct Connection ....................................................... 39

5.2.5 LCD/Keypad Sample Programs Showing TCP/IP Features ...................................................... 40

5.3 Where Do I Go From Here?............................................................................................................... 41

Chapter 6. Installation and Mounting Guidelines 43

6.1 Installation Guidelines........................................................................................................................ 43

6.2 Mounting Instructions ........................................................................................................................ 44

6.2.1 Bezel-Mount Installation ............................................................................................................ 44

Appendix A. Specifications 47

A.1 Electrical and Mechanical Specifications.......................................................................................... 48

A.2 Conformal Coating ............................................................................................................................ 51

A.3 Jumper Configurations ...................................................................................................................... 52

A.4 Use of Rabbit 2000 Parallel Ports ..................................................................................................... 53

A.5 I/O Address Assignments.................................................................................................................. 55

Appendix B. Power Supply 57

B.1 Power Supplies .................................................................................................................................. 57

B.2 Batteries and External Battery Connections...................................................................................... 58

B.2.1 Battery-Backup Circuit .............................................................................................................. 58

B.2.2 Power to VRAM Switch ............................................................................................................ 59

B.2.3 Reset Generator.......................................................................................................................... 59

B.3 Chip Select Circuit............................................................................................................................. 60

Appendix C. Demonstration Board 61

C.1 Mechanical Dimensions and Layout ................................................................................................. 62

C.2 Power Supply..................................................................................................................................... 63

C.3 Using the Demonstration Board ........................................................................................................ 65

Appendix D. OP6800 Function APIs 69

D.1 Board Initialization (OP68xx.LIB).................................................................................................... 70

D.2 Digital I/O (OP68xx.LIB) ................................................................................................................. 71

D.3 Serial Communication (OP68xx.LIB)............................................................................................... 72

D.4 LEDs (OP68xx.LIB) ......................................................................................................................... 74

D.5 LCD Display...................................................................................................................................... 75

D.6 Keypad............................................................................................................................................... 92

Appendix E. Programming Cable 95

Notice to Users

Index

Schematics

97

99

103

MiniCom (OP6800)

1. I

NTRODUCTION

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 OP6800 OP6810

Microprocessor

Static RAM

Flash Memory

RJ-45 Ethernet Connector and

Filter Capacitors

RabbitCore Module Used

Rabbit 2000 running at 22.1 MHz

128K

256K

Yes

RCM2200

No

RCM2300

Appendix A provides detailed specifications.

Visit Z-World’s 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.

OP6800 User’s Manual with schematics (this document).

Programming cable, used to connect your PC serial port to the OP6800.

12 V AC adapter, used to power the OP6800. An AC adapter is supplied with tool kits sold in the North American market. If you are using your own power supply, it must provide 9 to 36 V DC.

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)

DIAG

Programming

Cable

AC Adapter

(North American kits only)

PROG

Minicom (OP6800)

C-Programmable Operator Interface

User’s Manual

019–0106 • 020115–A

Demonstration Board

Ribbon Cable

IN12 IN13 IN14 IN15 IN16 IN17 VBA

J4

J2

J5

GND +RAW TxB RxB TxC RxC + RS485 –

0 V

+5 V

GND

0 V

VBAT

IN16

IN14

IN12

RxC

OUT04

OUT02

OUT00

RxB

OUT01

GND

C2

TxB

TxC

–485

J1

IN02

IN00

+RAW

OUT10

OUT08

OUT06

+485

IN10

IN08

IN06

IN04

+K

GND

IN07

IN05

IN03

IN01

OUT09

OUT07

OUT05

OUT03

1

HOT!

C3

C1

3

+5 V

JP1

U1

+5 V GND

GND

+RAW

J3

IN13

IN11

IN17

IN15 LS1

+5 V GND

+RAW +K

GND

+5 V

+K

J11

J6

+K OUT10 OUT09 OUT08 OUT07 OUT06 OUT05 OUT04 OUT03 OUT02 OUT01 OUT00

J7

IN00 IN01 IN02 IN03 IN04 IN05

J8

J10

0 V

GND

+5 V

DS

4

RP1

DS

3

DS

2

DS1

S1

S2

S3

S4

Screwdriver

User's Manual

Demonstration Board

Figure 1. OP6800 Tool Kit

1.3.2 Software

The OP6800 is programmed using version 7.06 or later of Z-World’s Dynamic C.

A compatible version is included on the Tool Kit CD-ROM.

Library functions provide an easy-to-use interface for the OP6800. Software drivers for the display and keypad, TCP/IP, I/O, and serial communication are included with Dynamic C.

Web-based technical support is included at no extra charge.

Z-World also offers add-on Dynamic C modules containing the popular

µ

C/OS-II realtime operating system, as well as PPP, Advanced Encryption Standard (AES), and other select libraries. In addition to the Web-based technical support included at no extra charge, a one-year telephone-based technical support module is also available for purchase. Visit our Web site at www.zworld.com or contact your Z-World sales representative or authorized distributor for further information.

User’s Manual 3

1.4 CE Compliance

Equipment is generally divided into two classes.

CLASS A

Digital equipment meant for light industrial 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

CLASS B

Digital equipment meant for home use

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, the emissions from Rabbit-based systems at frequencies above 300 MHz are generally well below background noise levels.

The OP6800 has been tested and was found to be in conformity with the following applicable immunity and emission standards. The OP6810 is also CE qualified as it is a sub-version of the OP6800. Boards that are CE-compliant have the CE mark.

NOTE: Earlier versions of the OP6800 sold before 2003 that do not have the CE mark are not CE-complaint.

Immunity

The OP6800 operator interfaces meet the following EN55024/1998 immunity standards.

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.

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 spectrum spreader is only available with Rev. C or higher of the Rabbit 2000 microprocessor. This microprocessor is used on the OP6800 operator control panels that carry the CE mark.

EN55022:1998 Class B

FCC Part 15 Class B

Your results may vary, depending on your application, so additional shielding or filtering may be needed to maintain the Class B emission qualification.

4 MiniCom (OP6800)

1.4.1 Design Guidelines

Note the following requirements for incorporating the OP6800 operator interfaces into your application to comply with CE requirements.

General

The power supply provided with the Tool Kit is for development purposes only. It is the customer’s responsibility to provide a CE-compliant power supply for the end-product application.

When connecting the OP6800 to outdoor cables, the customer is responsible for providing CE-approved surge/lightning protection.

Z-World 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. Z-World also recommends using properly shielded I/O cables in noisy electromagnetic environments.

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, it is the responsibility of the end-user to use proper ESD precautions to prevent ESD damage when installing or servicing the OP6800.

Safety

For personal safety, all inputs and outputs to and from the OP6800 must not be connected to voltages exceeding SELV levels (42.4 V AC peak, or 60 V DC). 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.

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.

Do not disable the safety features of the design.

1.4.2 Interfacing the OP6800 to Other Devices

Since the OP6800 operator control panels are designed to be connected to other devices, good EMC practices should be followed to ensure compliance. CE compliance is ultimately the responsibility of the integrator. Additional information, tips, and technical assistance are available from your authorized Z-World distributor, and are also available on our Web site at www.zworld.com.

User’s Manual 5

6 MiniCom (OP6800)

2. G

ETTING

S

TARTED

Chapter 2 explains how to connect the programming cable and power supply to the OP6800. Once you run a sample program to demonstrate that you have connected everything correctly, you will be ready to go on and finish developing your system.

2.1 Connections

1. Screw in the four standoffs included with the Tool Kit into the four mounting threads

on the OP6800 as shown in Figure 2.

User’s Manual

R4

J1

R6

JP1

KP1

U1

C1

R2

R3

U2

C8 C9

C2 C3 C4 C5

RP1 RP2 RP3

RP6 RP7 RP8

R11

R16

Q7

Q5

R13 D12

D11

D13

R17

Q8

Flas

EP h

ROM

R26 C44

R39

C27

R38

R27

R41

U5

JP3

R22

JP4

R8

RP9

R10

C30 C31

LNK

DS1

D7

R19

Q10

D8

R20

Q11

D9

R21

Q12

D10

Q6

R15

U3

R25

R24

C35

C33

R28

C25

R23

C34

C36

U4

R29

C45

U6

C37

C4 C17

U7

C39

J2

C42

R31

C43

R13

J3

C17

R32

RN1

RP4 D6

R14

C40

D14

Figure 2. Screw In Standoffs Into OP6800 Mounting Threads

7

2. Connect the OP6800 to the Demonstration Board from the Tool Kit using the ribbon

cable connector as shown in Figure 3. First, connect the ribbon cable to header J1 on

the OP6800 (Step 1), then turn the OP6800 over and connect the other end of the ribbon cable to header J1 on the Demonstration Board (Step 2). By connecting the boards this way, you have the option of placing the Demonstration Board behind your OP6800 in

your final installation as explained in Appendix C.

J1

R2

R30

R9

C8

Y1 C4

C17

C38

C3 D2

R7 C27

U6

R8

R36

R37

D1

RT1

Y2 C2

JP4 JP3

D3

BT1

U1

R15

C12

R17

Q2

R19

Q3 Q4

R20 C13

R21 R22

Q5

C14

U2

J2

C28

R28 C33

R18 C25

R16

Y3

U3 C1 U8 U7

C7

R5

R12

C25

C26

C31

C30

DS2

Q2

R7

JP1

C28

C27

C30

JP2

JP5

C29

R9

JP6

Q3

C29 GND

C12

Q4

GND

C11

C15

C32 ACT C16

C18 RP5

C19

C20

C21

C22

C23

C13

C24

Q1

D3

D2

D4

D5

C10

C6

C7

IN03

IN05

IN01

IN11

IN13

IN07

IN09

IN15

IN17

GND

+K

OUT09

OUT07

OUT05

TxB

GND

TxC

+485

OUT01

OUT03

1

LCD1

OUT02

OUT04

RxC

RxB

–485

OUT00

OUT06

OUT08

IN00

IN02

+RAW

IN04

IN06

IN12

IN14

IN08

IN10

IN16

VBAT

OUT10

Pin 1

IN12 IN13 IN14 IN15 IN16 IN17 VBA

J2

J4

0 V 0 V

+5 V

GND

IN00 IN01 IN02 IN03 IN04 IN05

IN10

IN08

IN06

IN04

VBAT

IN16

IN14

IN12

IN02

IN00

+RAW

OUT10

OUT08

OUT06

OUT04

OUT02

OUT00

RxB

RxC

–485

2

J1

IN17

IN15

IN13

IN11

LS1

IN09

IN07

IN05

Buzzer

OUT03

OUT01

GND

TxB

TxC

+485

IN03

IN01

GND

+K

OUT09

OUT07

OUT05

C1

1

HOT!

3

C2

U1

C3

J3

0 V

+5 V

GND

+5 V GND

+5 V GND

+RAW

+5 V

GND

J5

GND +RAW TxB RxB TxC RxC + RS485 –

GND

+5 V

+K

J11

+RAW +K

J6

+K OUT10 OUT09 OUT08 OUT07 OUT06 OUT05 OUT04 OUT03 OUT02 OUT01 OUT00

J7

J10

J8

Figure 3. Connect the OP6800 to the Demonstration Board

8 MiniCom (OP6800)

3. Connect the power supply.

Connect the bare ends of the power supply to the

+RAW

and

GND

positions on screw ter-

minal header J5 of the Demonstration Board as shown in Figure 4.

T IN12 IN13 IN14 IN15 IN16 IN17 VBA IN00 IN01 IN02 IN03 IN04 IN05

J4

J2

0 V

IN00

+RAW

OUT10

OUT08

IN08

IN06

IN04

IN02

OUT06

OUT04

OUT02

OUT00

VBAT

IN16

IN14

IN12

IN10

RxB

RxC

–485

J1

IN17

IN15

IN13

IN11

LS1

IN09

IN07

IN05

Buzzer

IN03

IN01

GND

+K

OUT09

OUT07

C1

U1

OUT05

OUT03

OUT01

GND

TxB

C2

1

HOT!

3

C3

TxC

+485

0 V

+5 V

GND

+5 V GND

+5 V GND

+RAW

+5 V

GND

J3

–

J5

GND +RAW TxB RxB TxC RxC + RS485 –

+

0 V

+5 V

GND

+RAW +K

GND

+5 V

+K

J11

J6

+K OUT10 OUT09 OUT08 OUT07 OUT06 OUT05 OUT04 OUT03 OUT02 OUT01 OUT00

J7

J10

J8

Figure 4. 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.

NOTE: If you are using your own power supply, Z-World recommends using a 9 V to 25 V

DC power supply. The linear regulator on the Demonstration Board can handle up to

35 V, but can get extremely hot.

4. Apply power.

Plug in the AC adapter.

NOTE: A hardware RESET is done by unplugging the AC adapter, then plugging it back in.

User’s Manual 9

2.2 Demonstration Program on Power-Up

A repeating sequence of graphics and messages in various languages will be displayed on the LCD, and the LEDs will flash on and off in sequence when power is first applied to the

OP6800. Try pressing the buttons on the keypad. The LED immediately above that button will light up, and if you pressed one of the keys in the top row of the keypad, the corresponding LED on the Demonstration Board will light up. Similarly, if you press one of the switches on the Demonstration Board, the corresponding LED on the Demonstration

Board and on the OP6800 will light up.

Note that the programming cable does not have to be connected for this demonstration.

This demonstration will be replaced by a new program when the programming cable is attached and the new program is compiled and run. The demonstration is available for future reference in the Dynamic C

SAMPLES\LCD_KEYPAD\122x32_1x7

directory as

FUN.C

.

2.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, you may adjust the potentiometer at R4 located as

shown in Figure 5. Note that OP6800 units sold before 2004 did not have any provision to

adjust the contrast.

Contrast

Adjustment

R4

J1

R6

JP1

KP1

U1

C1

R2

R3

U2

C8 C9

C2 C3 C4 C5

RP1 RP2 RP3

RP6 RP7 RP8

R11

R16

Q7

Q5

R13

D12

D13

R17

Q8

R26 C44

R39

D2 R7

C3

C27

R38

R27

R41

Flas

U5

D11

h

ROM

R22

JP3

JP4

R8

RP9

R10

C30 C31

LNK

DS1

D7

R19

Q10

D8

R20

Q11

D9

R21

Q12

D10

Q6

R15

U3

R25

R24

C33

R28

C35

C25

R23

C34

C36

U4

R29

C45

U6

C37

C4 C17

J2

U7

C42

R31

C43

R11

C41

R13

J3

C39

RN1

RP4

D6

R14

C40

D14

Figure 5. LCD Contrast Adjustment

10 MiniCom (OP6800)

2.4 Programming Cable Connections

1. Connect the programming cable to download programs from your PC and to program and debug the OP6800.

Connect the 10-pin

PROG

connector of the programming cable to header J1 on the

OP6800 RabbitCore module. Ensure that the colored edge lines up with pin 1 as shown.

(Do not use the

DIAG

connector, which is used for monitoring only, as explained in

Appendix E, “Programming Cable.”) Connect the other end of the programming cable to a

COM port on your PC. Make a note of the port to which you connect the cable, as

Dynamic C will need to have this parameter configured. Note that COM1 on the PC is the default COM port used by Dynamic C.

J1

PROG

R4

J1

R6

JP1

KP1

U1

C1

R2

R3

U2

C8 C9

C2 C3 C4 C5

RP1 RP2 RP3

RP6 RP7 RP8

Q5

R13

D12 D11

R11

R16

Q7

D13

R17

Q8

Flas

EP h

ROM

R26 C44

R39

C27

R38

R27

R41

U5

JP3

R22

JP4

R8

RP9

R10

C30 C31

LNK

DS1

D7

R19

Q10

D8

R20

Q11

D9

R21

Q12

D10

Q6

R15

U3

R25

R24

C33

R28

C35

C25

R23

C34

C36

U4

R29

C45

U6

C37

C4 C17

U7

J2

PROG

C42

R31

C43

R11

C41

R13

J3

C39

C17

R32

RN1

R14

RP4 D6

C40

D14

Colored edge

DIAG

Programming Cable

To

PC COM port

Figure 6. Programming Cable Connections

2. Apply power.

Reset the OP6800 by unplugging the AC adapter, then plugging it back in. The OP6800 is now ready to be used.

User’s Manual 11

2.5 Installing Dynamic C

If you have not yet installed Dynamic C version 7.06P2 (or a later version), do so now by inserting the Dynamic C CD in your PC’s CD-ROM drive. The CD will auto-install unless you have disabled auto-install on your PC.

If the CD does not auto-install, click

Start > Run

from the Windows

Start

button and browse for the Dynamic C

setup.exe

file on your CD drive. Click

OK

to begin the installation once you have selected the

setup.exe

file.

The Dynamic C User’s Manual provides detailed instructions for the installation of

Dynamic C and any future upgrades.

NOTE: If you have an earlier version of Dynamic C already installed, the default installation of the later version will be in a different folder, and a separate icon will appear on your desktop.

2.6 Starting Dynamic C

Once the OP6800 is connected to your PC and to a power source, start Dynamic C by double-clicking on the Dynamic C icon or by double-clicking on the

.exe

file associated with

DcRab

in the Dynamic C directory.

Dynamic C assumes, by default, that you are using serial port COM1 on your PC. 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. If the error message “Rabbit Processor Not Detected” appears, you have probably connected to a different PC serial port such as COM2, COM3, or COM4. You can change the serial port used by Dynamic C with the

OPTIONS

menu, then try to get Dynamic C to recognize the OP6800 by selecting

Reset Target/Compile BIOS

on the

Compile

menu. Try the different COM ports in the

OPTIONS

menu until you find the one you are connected to. If you still can’t get Dynamic

C to recognize the target on any port, then the hookup may be wrong or the COM port might not working on your PC.

If you receive the “BIOS successfully compiled …” message after pressing

<Ctrl-Y>

or starting Dynamic C, and this message is followed by a communications error message, it is possible that your PC cannot handle the 115,200 bps baud rate. Try changing the baud rate to 57,600 bps as follows.

Locate the

Serial Options

dialog in the Dynamic C

Options > Project Options >

Communications

menu. Change the baud rate to 57,600 bps.

12 MiniCom (OP6800)

2.7 PONG.C

You are now ready to test your programming connections by running a sample program.

Find the file

PONG.C

, which is in the Dynamic C

SAMPLES

folder. To run the program, open it with the

File

menu (if it is not still open), compile it using the

Compile

menu, and then run it by selecting

Run

in the

Run

menu. The

STDIO

window will open and will display a small square bouncing around in a box.

This program shows that the CPU is working. The sample program described in

Section 5.2.3, “Run the PINGME.C Demo,” tests the TCP/IP portion of the board (if you

have the OP6800 model—the OP6810 does not have an Ethernet capability).

2.8 Where Do I Go From Here?

NOTE: If you purchased your OP6800 through a distributor or Z-World partner, contact the distributor or Z-World partner first for technical support.

If there are any problems at this point:

Check the Z-World Technical Bulletin Board at www.zworld.com/support/bb/.

Use the Technical Support e-mail form at www.zworld.com/support/support_submit.html.

If the sample program ran fine, you are now ready to go on to explore other OP6800 features and develop your own applications.

The following sample programs illustrate the features and operation of the OP6800.

OP6800

(

SAMPLES\LCD_KEYPAD\122x32_1x7

)

Demonstration Board

(

SAMPLES\OP6800\DEMO_BD

)

KEYBASIC.C

KEYMENU.C

SCROLLING.C

TEXT.C

KEYPAD.C

SWITCHES.C

These sample programs can be used as templates for applications you may wish to develop.

Chapter 3, “Subsystems,” provides a description of the OP6800’s features, Chapter 4,

“Software,” describes the Dynamic C software libraries and describes the sample pro-

grams, and Chapter 5, “Using the TCP/IP Features,” explains the TCP/IP features and

describes some sample programs.

User’s Manual 13

14 MiniCom (OP6800)

3. S

UBSYSTEMS

Chapter 3 describes the principal subsystems for the OP6800.

• Digital I/O

• Serial Communication

• Memory

Figure 7 shows these Rabbit-based subsystems designed into the OP6800.

SRAM

Flash

32 kHz osc

11 MHz osc

RABBIT

2000

RS-232

Decoder

Keypad

Display

RabbitCore Module

Figure 7. OP6800 Subsystems

RS-485

Digital

Input

Digital

Output

User’s Manual 15

3.1 Pinouts

Figure 8 shows the OP6800 pinouts.

J1

R4

J1

R6

JP1

KP1

U1

C1

R2

R3

U2

C8 C9

C2

C3 C4

C5

RP1 RP2 RP3

RP6 RP7 RP8

Q5

R13 D12

D11

R11

R16

Q7

D13

R17

Q8

Flas h

Q9

EP ROM

R22

JP3

JP4

R26 C44

R39

C27

R38

R27

R41

U5

R8

RP9

R10

C30 C31

LNK

DS1

D7

R19

Q10

D8

R20

Q11

D9

R21

Q12

D10

U3

R25

C35

R24

C33

R28

R23

C34

C25

R15

C36

U4

Q6

R29

C45

U6

C37

C4 C17

U7

J2 C42

R31

C43

R11

C41

R13

J3

C39

C17

R32

RN1

RP4 D6

R14

C40

D14

Figure 8. OP6800 Pinouts

Header J1 is a standard 2 × 20 header with a nominal 0.1" pitch. The OP6800 also has an

RJ-45 Ethernet jack on the RabbitCore module.

16 MiniCom (OP6800)

3.2 Digital I/O

3.2.1 Digital Inputs

The OP6800 has eight digital inputs, IN00–IN07, each with a current-limiting resistor of

27 k

, and protected over a range of –36 V to +36 V. The inputs are all pulled up to +5 V

as shown in Figure 9.

Vcc

Rabbit 2000™

Microprocessor

GND

Figure 9. OP6800 Digital Inputs

The OP6800 also has five digital inputs, IN08–IN12, each with a current-limiting resistor of 12 k

, protected over a range of –25 V to +25 V, and pulled up to +5 V.

The actual switching threshold for IN00–IN12 is approximately 2.40 V. Anything below this value is a logic 0, and anything above is a logic 1

.

IN13–IN17 are connected in parallel with five of the keypad buttons. These inputs are normally pulled up, but pulling one of these inputs down is the equivalent of pressing the corresponding keypad key remotely.

Table 2. Remote Keypad Operation

Keypad Key

0 ( )

1 ( )

2 ( )

3 ( )

6 ( )

Remote Keypad

Signal Inputs

IN13

IN14

IN15

IN16

IN17

NOTE: Remote keypad signal inputs IN13–IN17 are not protected, and can only

handle a voltage range from 0 to +5 V. These inputs were designed solely to facilitate a remote keypad, and should not be used for other purposes.

User’s Manual 17

3.2.2 Digital Outputs

The OP6800 has 11 digital outputs, OUT00–OUT10, which can each sink up to 200 mA.

Figure 10 shows a wiring diagram for using the digital outputs.

OUT00–OUT06 can switch up to 40 V and the corresponding LEDs when the outputs are on. OUT07–OUT10 offer protection for inductive loads when K is connected to an external power supply; OUT07–OUT10 are not connected to the LEDs.

OUT00–OUT06

Vcc

(0 – 40 V)

OUT07–OUT10

K

(0 – 40 V)

Figure 10. OP6800 Digital Outputs

It is possible to use an external open-collector driver to control the LEDs associated with

OUT00–OUT06. Connect the external driver to the output corresponding to the LED you wish to control, but keep the internal driver turned off. The external driver will then control the LED.

18 MiniCom (OP6800)

3.3 Serial Communication

The OP6800 has two RS-232 serial ports, 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. Table 3 summarizes the options.

Table 3. Serial Communication Configurations

Mode

0

1

B

RS-232, 3-wire

RS-232, 5-wire

Serial Port

C

RS-232, 3-wire

CTS/RTS

RS-485

RS-485

D

The OP6800 also has one RS-485 serial channel and one CMOS serial channel that serves as the programming port.

All four serial ports operate in an asynchronous mode. An asynchronous port can handle 7 or 8 data bits. A 9th bit address scheme, where an additional bit is sent to mark the first byte of a message, is also supported. Serial Port A, the programming port, can be operated alternately in the clocked serial mode. In this mode, a clock line synchronously clocks the data in or out. Either of the two communicating devices can supply the clock. The OP6800 boards typically use all four ports in the asynchronous serial mode. Serial Ports B and C are used for RS-232 communication, and Serial Port D is used for RS-485 communication. The OP6800 uses an 11.0592 MHz crystal, which is doubled to 22.1184 MHz. At this frequency, the OP6800 supports standard asynchronous baud rates up to a maximum of

230,400 bps.

3.3.1 RS-232

The OP6800 RS-232 serial communication is supported by an RS-232 transceiver. This transceiver provides the voltage output, slew rate, and input voltage immunity required to meet the RS-232 serial communication protocol. Basically, the chip translates the Rabbit

2000’s CMOS/TTL signals to RS-232 signal levels. Note that the polarity is reversed in an

RS-232 circuit so that a +5 V output becomes approximately -10 V and 0 V is output as

+10 V. The RS-232 transceiver also provides the proper line loading for reliable communication.

RS-232 can be used effectively at the OP6800’s maximum baud rate for distances of up to

15 m.

3.3.2 RS-485

The OP6800 has one RS-485 serial channel, which is connected to the Rabbit 2000 Serial

Port D through an RS-485 transceiver. The half-duplex communication uses the Rabbit

2000’s PB6 pin to control the transmit enable on the communication line.

The OP6800 can be used in an RS-485 multidrop network. Connect the 485+ to 485+ and

485– to 485– using single twisted-pair wires (nonstranded, tinned) as shown in Figure 11.

Note that a common ground is recommended.

User’s Manual 19

Figure 11. 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, as shown in

Figure 12.

Factory

Default

6

4

2

JP1

5

3

1

R6

JP1

KP1

R4

J1

U1

C1

R2

R3

U2

C8 C9

C2

U1

C3 C4

6

485+

RP1 RP2

RP6 RP7 RP8

1

JP1

C17

R32

RN1 bias

2

6 termination bias

RP4 D6

Q5

R13 D12

D11

R11

R16

Q7

D13

R17

Q8

Flas

EP h

ROM

R22

JP3

JP4

R26 C44

R39

C27

R38

R27

R41

U5

R8

RP9

R10

LNK

D7

DS1

R19

Q10

D8

R20

Q11

D9

R21

Q12

D10

U3

R25

C35

R24

C33

R28

R23

C34

C25

R15

C36

U4

Q6

R29

C45

U6

C37

C4 C17

U7

R14

C40

D14

C39

J2 C42

R31

C43

R13

J3

R13

681 W

R11

220 W

R6

681 W

Figure 12. RS-485 Termination and Bias Resistors

For best performance, the bias and termination resistors in a multidrop network should only be enabled on both end nodes of the network. Disable the termination and bias resistors on any intervening OP6800 units in the network by removing both jumpers from header JP1.

TIP: Save the jumpers for possible future use by “parking” them across pins 1–3 and 4–6 of header JP1. Pins 3 and 4 are not otherwise connected to the OP6800.

20 MiniCom (OP6800)

3.3.3 Programming Port

The RabbitCore module on the OP6800 has a 10-pin programming header. The programming port uses the Rabbit 2000’s Serial Port A for communication, and is used for the following operations.

Programming/debugging

Cloning

Remote program download/debug over an Ethernet connection via the RabbitLink

EG2100

The programming port is used to start the OP6800 in a mode where the OP6800 will download a program from the port and then execute the program. The programming port transmits information to and from a PC while a program is being debugged.

The Rabbit 2000 startup-mode pins (SMODE0, SMODE1) are presented to the programming port so that an externally connected device can force the OP6800 to start up in an external bootstrap mode. The OP6800 can be reset from the programming port via the

/EXT_RSTIN

line.

The Rabbit 2000 status pin is also presented to the programming port. The status pin is an output that can be used to send a general digital signal.

NOTE: Refer to the Rabbit 2000 Microprocessor User’s Manual for more information related to the bootstrap mode.

User’s Manual 21

3.3.4 Ethernet Port (OP6800 models only)

Figure 13 shows the pinout for the Ethernet port (J2 on the OP6800 module). Note that

there are two standards for numbering the pins on this connector—the convention used here, and numbering in reverse to that shown. Regardless of the numbering convention followed, the pin positions relative to the spring tab position (located at the bottom of the

RJ-45 jack in Figure 13) are always absolute, and the RJ-45 connector will work properly

with off-the-shelf Ethernet cables.

ETHERNET

1

8

RJ-45 Plug

1. E_Tx+

2. E_Tx–

3. E_Rx+

6. E_Rx–

RJ-45 Jack

Figure 13. RJ-45 Ethernet Port Pinout

RJ-45 pinouts are sometimes numbered opposite to the way shown in Figure 13.

Two LEDs are placed next to the RJ-45 Ethernet jack, one to indicate an Ethernet link

(

LNK

) and one to indicate Ethernet activity (

ACT

).

The transformer/connector assembly ground is connected to the BL2100 module printed circuit board digital ground via a 0

resistor “jumper,” R29, as shown in Figure 14.

RJ-45 Ethernet Plug

R29

Board

Ground

Chassis

Ground

Figure 14. Isolation Resistor R29

The factory default is for the 0

resistor “jumper” at R29 to be installed. In high-noise environments, remove R29 and ground the transformer/connector assembly directly through the chassis ground. This will be especially helpful to minimize ESD and/or EMI problems.

22 MiniCom (OP6800)

3.4 Memory

3.4.1 SRAM

The OP6800 module is designed to accept 128K to 512K of SRAM packaged in an SOIC case. The standard OP6800 modules come with 128K of SRAM.

3.4.2 Flash Memory

The OP6800 is also designed to accept 128K to 512K of flash memory. The standard

OP6800 modules comes with one 256K flash memory.

NOTE: Z-World recommends that any customer applications should not be constrained by the sector size of the flash memory since it may be necessary to change the sector size in the future.

A Flash Memory Bank Select jumper configuration option based on 0

surface-mounted resistors exists at header JP2 on the RabbitCore module. This option, used in conjunction with some configuration macros, allows Dynamic C to compile two different co-resident programs for the upper and lower halves of the 256K flash in such a way that both programs start at logical address 0000. This is useful for applications that require a resident download manager and a separate downloaded program. See Technical Note TN218,

Implementing a Serial Download Manager for a 256K Flash, for details.

User’s Manual 23

3.5 Keypad Labeling

The keypad may be labeled according to your needs. A template is provided in Figure 15

to allow you to design your own keypad label insert.

1.10

(28)

2.35

(60)

Figure 15. Keypad Template

Before you can replace the keypad legend, you will have to remove the LCD/keypad module from the plastic bezel. The LCD/keypad module circuit board is held down with two

screws and two tabs as shown in Figure 16.

Mounting screws

Mounting tabs

R4

J1

R6

JP1

KP1

U1

C1

R2

R3

U2

C8 C9

C2 C3 C4 C5

RP1 RP2 RP3

RP6 RP7 RP8

R11

R16

Q7

Q5

R13 D12

D11

D13

R17

Q8

Flas

EP h

ROM

R26 C44

R39

C27

R38

R27

R41

U5

JP3

R22

JP4

R8

RP9

R10

C30 C31

LNK

DS1

D7

R19

Q10

D8

R20

Q11

D9

R21

Q12

D10

Q6

R15

U3

R25

R24

C35

C33

R28

C25

R23

C34

C36

U4

R29

C45

U6

C37

C4 C17

U7

J2

C42

R31

C43

R11

C41

R13

J3

C39

C17

R32

RN1

RP4 D6

R14

C40

D14

Mounting screws

Mounting tabs

Figure 16. Removing LCD/Keypad Module from Plastic Bezel

To replace the keypad legend, remove the old legend and insert your new legend prepared

according to the template in Figure 15. The keypad legend is located under the blue keypad

matte, and is accessible from either the left side or the right side as shown in Figure 17. A

small screwdriver or a similar small pointed objectcan be used to nudge the keypad legend in or out.

24 MiniCom (OP6800)

Keypad label is located

under the blue keypad matte.

Figure 17. Removing and Inserting Keypad Label

Once you have replaced the keypad label, re-insert the LCD/keypad module circuit board

under the mounting tabs in the plastic bezel, as shown in Figure 16. Secure the LCD/key-

pad module circuit board with the two screws.

User’s Manual 25

26 MiniCom (OP6800)

4. S

OFTWARE

Dynamic C is an integrated development system for writing embedded software. It runs on an IBM-compatible PC and is designed for use with Z-World single-board computers and other devices based on the Rabbit microprocessor.

Chapter 4 provides the libraries, function calls, and sample programs related to the OP6800.

You have a choice of doing your software development in the flash memory or in the static

RAM included on the OP6800. The advantage of working in RAM is to save wear on the flash memory, which is limited to about 100,000 write cycles.

NOTE: An application can be developed in RAM, but cannot run standalone from RAM after the programming cable is disconnected. All standalone applications can only run from flash memory.

The disadvantage of using flash memory for debug is that interrupts must be disabled for approximately 5 ms whenever a break point is set in the program. This can crash fast interrupt routines that are running while you stop at a break point or single-step the program.

Flash memory or RAM is selected on the

Options

>

Compiler

menu.

Dynamic C provides a number of debugging features. You can single-step your program, either in C, statement by statement, or in assembly language, instruction by instruction.

You can set break points, where the program will stop, on any statement. You can evaluate watch expressions. A watch expression is any C expression that can be evaluated in the context of the program. If the program is at a break point, a watch expression can view any expression using local or external variables.

User’s Manual 27

4.1 Programming Cable

The programming cable has a level converter board in the middle of the cable since the

OP6800 programming port supports CMOS logic levels, and not the higher voltage RS-232 levels that are used by PC serial ports. When the programming cable is connected, Dynamic

C running on the PC can hard-reset the OP6800 and cold-boot it. The cold boot includes compiling and downloading a BIOS program that stays resident while you work. If you crash the target, Dynamic C will automatically reboot and recompile the BIOS if it senses that a target communication error occurred or that the BIOS source code has changed.

4.1.1 Switching Between Program Mode and Run Mode

The OP6800 is automatically in Program Mode when the programming cable is attached,

and is automatically in Run Mode when no programming cable is attached. See Figure 18.

Program Mode

Run Mode

R4

J1

R6

JP1

KP1

U1

C1

R2

R3

U2

C8 C9

C2 C3 C4 C5

RP1 RP2 RP3

RP6 RP7 RP8

Q5

R13

R11

R16

Q7

D13

R17

D12 D11

R18

ROM

R26 C44

R39

C27

R38

R27

R41

U5

JP3

R22

JP4

R8

RP9

R10

C30 C31

LNK

DS1

D7

R19

Q10

D8

R20

Q11

D9

R21

Q12

D10

Q6

R15

U3

R25

R24

C35

R23

C34

C25

C36

U4

R29

C45

U6

C37

C4 C17

U7

J2

PROG

C42

R31

C43

R11

C41

R13

J3

C39

RN1

RP4 D6

R14

C40

D14

R4

J1

R6

JP1

KP1

C1

U1

R2

R3

U2

C8 C9

C2 C3 C4 C5

RP1 RP2 RP3

RP6 RP7 RP8

Q5

R13 D12

R11

R16

Q7

D13

R17

D11

R18

ROM

R8

RP9

R10

C30 C31

LNK

DS1

D7

R19

Q10

D8

R20

Q11

D9

R21

Q12

D10

Q6

R15

R25

R24

R23

C34 R26 C44

R39

R27

R41

R38

C27

U5

R22

U3

C35

C25

C36

U4

R29

C45

U6

C37

C4 C17

U7

C39

R13

J2 C42

J3

RN1

RP4 D6

R14

C40

D14

Colored edge

DIAG

Programming Cable

To

PC COM port

RESET OP6800 when changing mode:

Remove, then reapply power

after removing or attaching programming cable.

Figure 18. OP6800 Program Mode and Run Mode Set-Up

4.1.2 Detailed Instructions: Changing from Program Mode to Run Mode

1. Disconnect the programming cable from header J1 of the OP6800 module.

2. Reset the OP6800 by unplugging the AC adapter, then plugging it back in.

The OP6800 is now ready to operate in the Run Mode.

4.1.3 Detailed Instructions: Changing from Run Mode to Program Mode

1. Attach the programming cable to header J1 of the OP6800 module.

2. Reset the OP6800 by unplugging the AC adapter, then plugging it back in. Alternatively, you may press

<Ctrl-Y>

on your PC if Dynamic C is running.

The OP6800 is now ready to operate in the Program Mode.

28 MiniCom (OP6800)

4.2 OP6800 Libraries

With Dynamic C running, click

File

>

Open

, and select

Lib

. The following list of

Dynamic C libraries and library directories will be displayed.

Four library directories provide function calls that are specific to the OP6800 or to its features.

OP6800

—libraries associated with OP6800 serial communication, I/O, and initialization. The functions in the

OP68xx.LIB

library are described in Appendix D, “OP6800

Function APIs.”

DISPLAYS\GRAPHIC

—libraries associated with the LCD display. The functions in

these libraries are described in Appendix D, “OP6800 Function APIs.”

KEYPADS

–libraries associated with the keypad. The functions in these libraries are

described in Appendix D, “OP6800 Function APIs.”

TCPIP

—libraries specific to using TCP/IP functions.

The functions in these libraries are described in the Dynamic C TCP/IP User’s Manual included in the manual set with the Dynamic C User’s Manual.

Other generic functions applicable to all devices based on the Rabbit 2000 microprocessor are described in the Dynamic C User’s Manual.

User’s Manual 29

4.3 Sample Programs

Sample programs are provided in the Dynamic C

Samples

folder. The sample program

PONG.C

demonstrates the output to the

STDIO

window.

The various directories in the

Samples

folder contain specific sample programs that illustrate the use of the corresponding Dynamic C libraries.

The

OP6800

folder provides sample programs specific to the OP6800. Each sample program has comments that describe the purpose and function of the program. Follow the instructions at the beginning of the sample program.

To run a sample program, open it with the

File

menu (if it is not still open), compile it using the

Compile

menu, and then run it by selecting

Run

in the

Run

menu. The OP6800

must be in Program mode (see Section 4.1, “Programming Cable,”) and must be con-

nected to a PC using the programming cable as described in Section 2.1, “Connections.”

More complete information on Dynamic C is provided in the Dynamic C User’s Manual.

TCP/IP specific functions are described in the Dynamic C TCP/IP User’s Manual. Infor-

mation on using the TCP/IP features and sample programs is provided in Section 5,

“Using the TCP/IP Features.”

4.3.1 Board ID

The following sample program can be found in the

SAMPLES\OP6800

subdirectory.

BOARD_ID.C

—Detects the type of single-board computer and displays the information in the

STDIO

window. For the OP6800, the

STDIO

window should show

OP6800

.

4.3.2 Demonstration Board

The following sample programs are found in the

DEMO_BD

subdirectory in

SAMPLES\OP6800

.

BUZZER.C

—Demonstrates the use of the buzzer on the Demonstration Board. 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. When you finish with

BUZZER.C

, it is recommended that you reconnect the jumper across pins 2–3 of header JP1 on the Demonstration Board to disable the buzzer.

KEYPAD.C

—Flashes the LED above a keypad button when the corresponding keypad button is pressed. The corresponding LED on the Demonstration Board will also flash if a keypad button in the top row of the keypad is pressed. A message is also displayed on the LCD.

SWITCHES.C

—Flashes the LED on the Demonstration Board and the OP6800 when the corresponding pushbutton switch on the Demonstration Board is pressed. A message is also displayed on the LCD.

30 MiniCom (OP6800)

4.3.3 Digital I/O

The following sample programs are found in the

IO

subdirectory in

SAMPLES\OP6800

.

DIGIN.C

—Demonstrates the use of the digital inputs. By pressing a pushbutton switch on the Demonstration Board, you can view an input channel toggle from HIGH to

LOW on your PC monitor. The four pushbutton switches correspond to IN00–IN03 on the OP6800. IN04–IN12 can also be toggled by momentarily grounding the inputs.

DIGOUT.C

—Demonstrates the use of the sinking high-current outputs. By pressing a pushbutton switch on the Demonstration Board, you can view an output channel toggle the corresponding LEDs on/off. The four pushbutton switches correspond to OUT07–

OUT10.

4.3.4 Serial Communication

The following sample programs are found in the

RS232

subdirectory in

SAMPLES\OP6800

.

PUTS.C

—Transmits and then receives an ASCII string on Serial Ports B and C. It also displays the serial data received from both ports in the

STDIO

window.

RELAYCHR.C

—This program echoes characters over Serial Port B to Serial Port C. It must be run with a serial utility such as Hyperterminal.

The following sample programs are found in the

RS485

subdirectory in

SAMPLES\OP6800

.

MASTER.C

—This program demonstrates a simple RS-485 transmission of lower case letters to a slave OP6800. The slave will send back converted upper case letters back to the master OP6800 and display them in the

STDIO

window. Use

SLAVE.C

to program the slave OP6800.

SLAVE.C

—This program demonstrates a simple RS-485 transmission of lower case letters to a slave OP6800. The slave will send back converted upper case letters back to the master OP6800 and display them in the

STDIO

window. Use

MASTER.C

to program the master OP6800.

4.3.5 LCD/Keypad Module Sample Programs

The following sample programs are found in the

122x32_1x7

subdirectory in

SAMPLES\LCD_Keypad

.

ALPHANUM.C

—Demonstrates how to create messages using the keypad and then displaying them on the LCD display.

COFTERMA.C

—Demonstrates cofunctions, the cofunction serial library, and using a serial ANSI terminal such as Hyperterminal from an available COM port connection.

DISPPONG.C

—Demonstrates output to LCD display.

DKADEMO1.C

—Demonstrates some of the LCD/keypad module font and bitmap manipulation features with horizontal and vertical scrolling, and using the

GRAPHIC.LIB

library.

FUN.C

—Demonstrates drawing primitive features (lines, circles, polygons) using the

GRAPHIC.LIB

library

User’s Manual 31

KEYBASIC.C

—Demonstrates the following keypad functions in the

STDIO

display window:

- default ASCII keypad return values.

- custom ASCII keypad return values.

- keypad repeat functionality.

KEYMENU.C

—Demonstrates how to implement a menu system using a highlight bar on a graphic LCD display. The menu options for this sample are as follows.

1. Set Date/Time

2. Display Date/Time

3. Turn Backlight OFF

4. Turn Backlight ON

5. Toggle LEDs

6. Increment LEDs

7. Disable LEDs

LED.C

—Demonstrates how to toggle the LEDs on the LCD/keypad module.

SCROLLING.C

—Demonstrates scrolling features of the

GRAPHIC.LIB

library.

TEXT.C

—Demonstrates the text functions in the

GRAPHIC.LIB

library. Here is a list of what is demonstrated.

1. Font initialization.

2. Text window initialization.

3. Text window, end-of-line wraparound, end-of-text window clipping, line feed, and carriage return.

4. Creating 2 different TEXT windows for display.

5. Displaying different FONT sizes.

4.3.6 TCP/IP Sample Programs

TCP/IP sample programs are described in Chapter 5.

32 MiniCom (OP6800)

4.4 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 Z-World’s Dynamic C applications and graphical displays. Non-Roman characters can also be converted by applying the monochrome bitmap converter to their bitmaps.

Start the Font and Bitmap Converter tool by double-clicking on the

fbmcnvtr.exe

file in the Dynamic C directory. You then select and convert existing fonts or bitmaps. Complete instructions are available via the

Help

menu that is in the Font and Bitmap Con-

verter tool.

Once you are done, the converted file is displayed in the editing window. Editing may be done, but should not be necessary. Save the file as

libraryfilename.lib

, where

libraryfilename

is a file name of your choice.

Add the library file(s) to applications with the statement

#use libraryfilename.lib

,

or by cutting and pasting from the library file(s) you created into the application program.

TIP: If you used the

#use libraryfilename.lib

statement, remember to enter

libraryfilename.lib

into

lib.dir

, which is located in your Dynamic C directory.

You are now ready to add the font or bitmap to your application using the

glXFontInit

or the

glXPutBitmap

function calls.

User’s Manual 33

34 MiniCom (OP6800)

5. U

SING THE

TCP/IP F

EATURES

Chapter 5 discusses using the TCP/IP features on the OP6800 boards. The TCP/IP feature is not available on OP6810 versions.

5.1 TCP/IP Connections

Before proceeding you will need to have the following items.

If you don’t have an Ethernet connection, you will need to install a 10Base-T Ethernet card (available from your favorite computer supplier) in your PC.

Two RJ-45 straight-through Ethernet cables and a hub, or an RJ-45 crossover Ethernet cable.

The Ethernet cables and Ethernet hub are available from Z-World in a TCP/IP tool kit.

More information is available at www.zworld.com.

1. Connect the AC adapter and the programming cable as shown in Chapter 2, “Getting

Started.”

2. Ethernet Connections

If you do not have access to an Ethernet network, use a crossover Ethernet cable to connect the OP6800 to a PC that at least has a 10Base-T Ethernet card.

If you have an Ethernet connection, use a straight-through Ethernet cable to establish an Ethernet connection to the OP6800 from an Ethernet hub. These connections are

shown in Figure 19.

OP6800

Board

OP6800

Board

User’s PC

Ethernet crossover cable

Direct Connection

(Network of 2 computers)

Ethernet cables

Hub

To additional network elements

Direct Connection Using a Hub

Figure 19. Ethernet Connections

User’s Manual 35

3. Apply Power

Plug in the AC adapter. The OP6800 is now ready to be used.

NOTE: A hardware RESET is accomplished by unplugging the AC adapter, then plugging it back in, or by momentarily grounding the board reset input at pin 9 on screw terminal header J2.

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. The orange

ACT

light flashes each time a packet is received.

36

MiniCom (OP6800)

5.2 TCP/IP Sample Programs

We have provided a number of sample programs demonstrating various uses of TCP/IP for networking embedded systems. 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), or a connection via the Internet.

5.2.1 How to Set IP Addresses in the Sample Programs

With the introduction of Dynamic C 7.30 we have taken steps to make it easier to run many of our sample programs. You will see a

TCPCONFIG

macro. This macro tells

Dynamic C to select your configuration from a list of default configurations. You will have three choices when you encounter a sample program with the

TCPCONFIG

macro.

1. You can replace the

TCPCONFIG

macro with individual

MY_IP_ADDRESS

,

MY_NETMASK

,

MY_GATEWAY

, and

MY_NAMESERVER

macros in each program.

2. You can leave

TCPCONFIG

at the usual default of 1, which will set the IP configurations to

10.10.6.100

, the netmask to

255.255.255.0

, and the nameserver and gateway to

10.10.6.1

. If you would like to change the default values, for example, to use an IP address of

10.1.1.2

for the Coyote board, and

10.1.1.1

for your PC, you can edit the values in the section that directly follows the “General Configuration” comment in the

TCP_CONFIG.LIB

library. You will find this library in the

LIB\TCPIP

directory.

3. You can create a

CUSTOM_CONFIG.LIB

library and use a

TCPCONFIG

value greater than 100. Instructions for doing this are at the beginning of the

TCP_CONFIG.LIB

library in the

LIB\TCPIP

directory.

There are some other “standard” configurations for

TCPCONFIG

that let you select different features such as DHCP. Their values are documented at the top of the

TCP_CONFIG.LIB

library in the

LIB\TCPIP

directory. More information is available in the Dynamic C TCP/IP User’s Manual.

IP Addresses Before Dynamic C 7.30

Most of the sample programs use macros to define the IP address assigned to the board and the IP address of the gateway, if there is a gateway.

#define MY_IP_ADDRESS "216.112.116.155"

#define MY_NETMASK "255.255.255.248"

#define MY_GATEWAY "216.112.116.153"

In order to do a direct connection, the following IP addresses can be used for the OP6800:

#define MY_IP_ADDRESS "10.1.1.2"

#define MY_NETMASK "255.255.255.248"

// #define MY_GATEWAY "216.112.116.153"

In this case, the gateway is not used and is commented out. The IP address of the board is defined to be 10.1.1.2. The IP address of your PC can be defined as 10.1.1.1.

User’s Manual 37

5.2.2 How to Set Up your Computer’s IP Address for a Direct Connection

When your computer is connected directly to the OP6800 via an Ethernet connection, you need to assign an IP address to your computer. To assign the PC the address 10.1.1.1 with the subnetmask 255.255.255.248 under Windows 98, do the following.

Click on

Start > Settings > Control Panel

to bring up the Control Panel, and then double-click the Network icon. Depending on which version of Windows you are using, look for the

TCP/IP Protocol/Network > Dial-Up Connections/Network

line or tab.

Double-click on this line or select

Properties

or

Local Area Connections > Properties

to bring up the TCP/IP properties dialog box. You can edit the IP address and the subnet mask directly. (Disable “obtain an IP address automatically”.) You may want to write down the existing values in case you have to restore them later. It is not necessary to edit the gateway address since the gateway is not used with direct connect.

IP 10.1.1.1

Subnet mask

255.255.255.248

OP6800

Board

User’s PC

Ethernet crossover cable

#define MY_IP_ADDRESS "10.1.1.2"

#define MY_NETMASK "255.255.255.248"

Direct Connection PC to OP6800

38

MiniCom (OP6800)

5.2.3 Run the

PINGME.C

Demo

In order to run this program, edit the IP address and netmask in the

PINGME.C

program

(

SAMPLES\TCPIP\ICMP

) to the values given above (10.1.1.2 and 255.255.255.248).

Compile the program and start it running under Dynamic C. The crossover cable is connected from your computer’s Ethernet adapter to the OP6800’s RJ-45 Ethernet connector.

When the program starts running, the green

LNK

light on the OP6800 should be on to indicate an Ethernet connection is made. (Note: If the

LNK

light does not light, you may not have a crossover cable, or if you are using a hub perhaps the power is off on the hub.)

The next step is to ping the board from your PC. This can be done by bringing up the MS-

DOS window and running the ping program:

ping 10.1.1.2

or by

Start > Run

and typing the command

ping 10.1.1.2

Notice that the orange

ACT

light flashes on the OP6800 while the ping is taking place, and indicates the transfer of data. The ping routine will ping the board four times and write a summary message on the screen describing the operation.

5.2.4 Running More Demo Programs With a Direct Connection

The program

SSI.C

(

SAMPLES\OP6800\TCPIP\

) demonstrates how to make the

OP6800 a Web server. 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. In order to run these sample programs, edit the IP address as for the pingme program, compile the program and start it executing. Then bring up your Web browser and enter the following server address: http://10.1.1.2.

This should bring up the Web page served by the sample program.

The sample program

TELNET.C

(

SAMPLES\OP6800\TCPIP\

) allows you to communicate with the OP6800 using the Telnet protocol. To run this program, edit the IP address, compile the program, and start it running. Run the Telnet program on your PC (

Start >

Run telnet 10.1.1.2

). Each character you type will be printed in Dynamic C's

STDIO

window, indicating that the board is receiving the characters typed via TCP/IP.

User’s Manual 39

5.2.5 LCD/Keypad Sample Programs Showing TCP/IP Features

The following sample programs, found in the

TCPIP

subdirectory in

SAMPLES/LCD_Keypad/122x32_1x7

, are targeted at the Ethernet-enabled versions of the OP6800. Remember to configure the IP address, netmask, and gateway as indicated in the sample programs.

MBOXDEMO.C

—This program implements a web server that allows Web e-mail messages to be entered that are then shown on the LCD display. The keypad allows you to scroll within messages, flip to other e-mails, mark messages as read, and delete e-mails.

When a new e-mail arrives, an LED turns on, and turns off once the message has been marked as read. A log of all e-mail actions is kept, and can be displayed in the Web browser. All current e-mails can also be read with the Web browser.

When using

MBOXDEMO.C

, connect the OP6800 and a PC (or other device with a Web

Browser) to an Ethernet. If you connect the PC and the OP6800 directly, be sure to use a crossover Ethernet cable; straight-through Ethernet cables and a hub may be used instead.

TCP_RESPOND.C

—This program and

TCP_SEND.C

are executed on two separate single-board computers to demonstrate how the two boards communicate with each other.

Use

PCSEND.EXE

on the PC console side at the command prompt if you do not have a second board.

PCSEND.EXE

is located with source code in the

SAMPLES/LCD_Keypad/Windows

directory.

TCP_RESPOND.C

waits for a message from another single-board computer. The message received is displayed on the LCD, and you may respond by pressing a key on the keypad. The response is then sent to the remote single-board computer.

TCPSEND.C

—This program and

TCP_RESPOND.C

are executed on two separate singleboard computers to demonstrate how the two boards communicate with each other. Use

PCRESPOND.EXE

on the PC console side at the command prompt if you do not have a second board.

PCRESPOND.EXE

is located with source code in the

SAMPLES/LCD_Keypad/Windows

directory.

When a key on the keypad is pressed, a message associated with that key is sent to a specified destination address and port. The destination then responds to that message.

The response is displayed on the LCD.

Note that only the

LEFT

and

UP

scroll keys are set up to cause a message to be sent.

When using

TCPSEND.C

and

TCP_RESPOND.C

, connect the OP6800 and the other singleboard computer to an Ethernet. If you connect the them directly, be sure to use a crossover

Ethernet cable; straight-through Ethernet cables and a hub may be used instead.

40

MiniCom (OP6800)

5.3 Where Do I Go From Here?

NOTE: If you purchased your OP6800 through a distributor or Z-World partner, contact the distributor or Z-World partner first for technical support.

If there are any problems at this point:

Check the Z-World Technical Bulletin Board at www.zworld.com/support/bb/.

Use the Technical Support e-mail form at www.zworld.com/support/support_submit.html.

If the sample programs ran fine, you are now ready to go on.

Additional sample programs are described in the Dynamic C TCP/IP User’s Manual.

Refer to the Dynamic C TCP/IP User’s Manual to develop your own applications. An

Introduction to TCP/IP provides background information on TCP/IP, and is available on

Z-World’s Web site.

User’s Manual 41

42

MiniCom (OP6800)

6. I

NSTALLATION AND

M

OUNTING

G

UIDELINES

Chapter 6 describes some considerations for mounting the

OP6800 in a panel, and includes detailed mounting instructions.

6.1 Installation Guidelines

When possible, following these guidelines when mounting an OP6800.

1. Leave sufficient ventilation space.

2. Do not install the OP6800 directly above machinery that radiates a lot of heat (for example, heaters, transformers, and high-power resistors).

3. Leave at least 8" (20 cm) distance from electric power lines and even more from highvoltage devices.

4. When installing the OP6800 near devices with strong electrical or magnetic fields (such as solenoids), allow a least 3" (8 cm), more if necessary.

The OP6800 has strong environmental resistance and high reliability, but you can maximize system reliability by avoiding or eliminating the following conditions at the installation site.

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 43

6.2 Mounting Instructions

A bezel and a gasket are included with the OP6800. When properly mounted in a panel, the bezel of the OP6800 is designed to meet NEMA 4 specifications for water resistance.

Since the OP6800 employs an LCD display, the viewing angle must be considered when mounting the display. Install the OP6800 at a height and angle that makes it easy for the operator to see the screen.

6.2.1 Bezel-Mount Installation

This section describes and illustrates how to bezel-mount the OP6800. Follow these steps for bezel-mount installation.

1. Cut mounting holes in the mounting panel in accordance with the recommended dimen-

sions in Figure 20, then use the bezel faceplate to mount the OP6800 onto the panel.

0.125 D, 4x

(3)

CUTOUT

0.230

(5.8)

2.870

(72.9)

3.100

(78.8)

Figure 20. Recommended Cutout Dimensions

2. Remove the standoffs added to the OP6800 as described in Chapter 2, “Getting

Started.” The standoffs were used to prop up the OP6800 beside the Demonstration

Board, and are not needed to mount the OP6800.

3. Carefully “drop in” the OP6800 with the bezel and gasket attached.

44

MiniCom (OP6800)

4. Fasten the unit with the four 4-40 screws and washers included with the OP6800. If your panel is thick, use a 4-40 screw that is approximately 3/16" (5 mm) longer than the thickness of the panel.

OP6800 Bezel/Gasket

Panel

R4

J1

R6

JP1

KP1

U1

C1

R2

R3

U2

C8 C9

C2 C3 C4 C5

RP1 RP2 RP3

RP6 RP7 RP8

R11

R16

Q7

Q5

R13

D12 D11

D13

R17

Q8

Flas

EP h

ROM

R26 C44

R39

C27

R38

R27

R41

U5

JP3

R22

JP4

R8

RP9

R10

C30 C31

LNK

DS1

D7

R19

Q10

D8

R20

Q11

D9

R21

Q12

D10

Q6

R15

U3

R25

C35

R24

C33

R28

C25

R23

C34

C36

U4

R29

C45

U6

C37

C4 C17

J2

U7

C42

R31

C43

R11

C41

R13

J3

C39

RN1

RP4

D6

R14

C40

D14

Figure 21. OP6800 Mounted in Panel (rear view)

Carefully tighten the screws until the gasket is compressed and the plastic bezel faceplate is touching the panel.

Do not tighten each screw fully before moving on to the next screw. 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 45

46

MiniCom (OP6800)

A

PPENDIX

A. S

PECIFICATIONS

Appendix A provides the specifications for the OP6800 and describes the conformal coating.

User’s Manual 47

A.1 Electrical and Mechanical Specifications

Figure A-1 shows the mechanical dimensions for the OP6800.

R4

J1

R6

JP1

KP1

C1

U1

R2

R3

U2

C8 C9

C2 C3 C4 C5

RP1 RP2 RP3

RP6 RP7 RP8

Q5

R13

D12 D11

R11

R16

Q7

D13

R17

Q8

Flas

EP h

ROM

R26 C44

R39

C27

R38

R27

R41

U5

JP3

R22

JP4

R8

RP9

R10

C30 C31

LNK

DS1

D7

R19

Q10

D8

R20

Q11

D9

R21

Q12

D10

U3

R25

C35

R24

C33

R28

C25

R23

C34

R15

C36

U4

Q6

R29

C45

U6

C37

C4 C17

J2

U7

C42

R31

C43

R11

C41

R13

J3

C39

C17

R32

RN1

R14

RP4 D6

C40

D14

2.60

(66)

(0,0) for Pin 1 coordinates

1.10

(28)

0.23

(5.8)

3.60

(91)

Figure A-1. OP6800 Dimensions

NOTE: All measurements are in inches followed by millimeters enclosed in parentheses.

Table A-1 provides the pin 1 locations for the OP6800 headers as viewed in Figure A-1.

Table A-1. OP6800 Header J1

Pin 1 Locations

Header

J1

Pin 1 (x,y) Coordinates

(inches)

(-2.101, 2.720)

48 MiniCom (OP6800)

It is recommended that you allow for an “exclusion zone” of 0.25" (6 mm) around the

OP6800 in all directions when the OP6800 is incorporated into an assembly that includes other components. This “exclusion zone” that you keep free of other components and boards will allow for sufficient air flow, and will help to minimize any electrical or EMI

interference between adjacent boards. Figure A-2 shows this “exclusion zone.”

Exclusion

Zone

3.60

(91)

4.50

(114)

Figure A-2. OP6800 “Exclusion Zone”

User’s Manual 49

Table A-2 lists the electrical, mechanical, and environmental specifications for the OP6800.

Feature

Microprocessor

Ethernet Port

Flash EPROM

SRAM

Backup Battery

Keypad/Display

LEDs

Digital Inputs

Digital Outputs

Serial Ports

Serial Rate

Connectors

Real-Time Clock

Timers

Watchdog/Supervisor

Power

Temperature

Humidity

Board Size

Bezel Size

Table A-2. OP6800 Specifications

OP6800 OP6810

Rabbit 2000

®

at 22.1 MHz

10Base-T, RJ-45 None

256K

128K

Connection for user-supplied battery (to support RTC and SRAM)

122 × 32 pixel graphic LCD (with programmable backlight), user-relegendable keypad with 7-key/7-LED interface

7 hardware- or software-driven: 1 red, 4 green, 2 yellow

13 total: 8 protected to ± 36 V DC, 5 protected to ± 25 V DC

11 total: sink 200 mA, 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, onboard network termination and bias resistors

one 5 V CMOS-compatible programming port

Max. burst rate = CLK/32

Max. sustained rate = CLK/64 one RJ-45 (Ethernet) one 2 × 20, 0.1" pitch IDC header one 2 × 20, 0.1" pitch IDC header

Yes

Five 8-bit timers, one 10-bit timer with two match registers, five timers are cascadable

Yes

9 V to 36 V DC, 1.5 W max.

Operating Range: 0°C to +50°C

Storage Range: –40°C to +85°C

5% to 95%, noncondensing

2.60" × 3.00" × 1.10"

(66 mm × 76 mm × 28 mm)

4.50" × 3.60" × 0.23"

(114 mm × 91 mm × 6 mm)

50 MiniCom (OP6800)

A.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 con-

formally coated areas are shown in Figure A-3. The conformal coating protects these

high-impedance circuits from the effects of moisture and contaminants over time.

R4

J1

R6

JP1

KP1

U1

C1

R2

R3

U2

C8 C9

C2 C3 C4 C5

RP1 RP2

RP3

RP6 RP7 RP8

R11

R16

Q7

Q5

R13 D12

D11

D13

R17

Q8

Flas

EP h

ROM

R26 C44

R39

C27

R38

R27

R41

U5

JP3

R22

JP4

R8

RP9

R10

C30 C31

LNK

DS1

D7

R19

Q10

D8

R20

Q11

D9

R21

Q12

D10

Q6

R15

U3

R25

C35

R24

C33

R28

C25

R23

C34

C36

U4

R29

C45

U6

C37

C4 C17

J2

U7

C42

R31

C43

R11

C41

R13

J3

C39

RN1

R14

RP4

D6

C40

D14

Conformally coated area

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. A new conformal coating should then be applied to offer continuing protection against the effects of moisture and contaminants.

NOTE: For more information on conformal coatings, refer to Rabbit Semiconductor

Technical Note 303, Conformal Coatings.

User’s Manual 51

A.3 Jumper Configurations

Figure A-4 shows the header locations used to configure the various OP6800 options via jumpers.

6

4

2

JP1

5

3

1

Figure A-4. Location of BL2100 Configurable Positions

Table A-3 lists the configuration options.

Table A-3. OP6800 Jumper Configurations

Header Description Pins Connected

Factory

Default

JP1

RS-485 Bias and Termination

Resistors

1–2

5–6

1–3

4–6

Bias and termination resistors connected

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, pins 3 and 4 are not actually connected to anything, 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.

52 MiniCom (OP6800)

A.4 Use of Rabbit 2000 Parallel Ports

Figure A-5 shows the Rabbit 2000 parallel ports.

PA0–PA7

PB0, PB2,

PB4, PB5 PB7

PD0–PD1,

PD5 PD3–PD4

PC0, PC2

PC1, PC3

PC6 + 1 more output

PB1, PC7, RES_IN

+ 2 more inputs

4 Ethernet signals

2 LED outputs

/RESET

Port A

Programming

Port

(Serial Port A)

Ethernet

Port

Misc. I/O

RAM

R

ABBIT

2000

Real-Time Clock

Watchdog

7 Timers

Slave Port

Clock Doubler

Backup Battery

Support

Port E

Address Lines

I/O Control

Data Lines

Flash

PE0–PE1,

PE7

PE4–PE5

A0–A3

IORD

IOWR

D0–D7

PA3

PA4

PA5

PA6

PA7

Port

PA0

PA1

PA2

PB0

PB1

PB2

PB3

Figure A-5. OP6800 Rabbit-Based Subsystems

Table A-4 lists the Rabbit 2000 parallel ports and their use in the OP6800.

Table A-4. Use of Rabbit 2000 Parallel Ports

Input

Input

Input

Input

Input

I/O

Input

Input

Input

Input

Input

Input

Input

IN04

IN05

IN06

IN07

IN00

IN01

IN02

IN03

IN08

Not Used

IN09

IN10

Signal Output Function State

Pulled up

Pulled up

Pulled up

Pulled up

Pulled up

Pulled up

Pulled up

Pulled up

Pulled up

Pulled up

Pulled up

Pulled up

User’s Manual 53

54

Port

PB4

PB5

PB6

PB7

PC0

PC1

PC2

PC3

PC4

PC5

PC6

PC7

PD0

PD1

PD2

PD3

PD4

PD5

PD6

PD7

PE0

PE1

PE2

PE3

PE4

PE5

PE6

PE7

Table A-4. Use of Rabbit 2000 Parallel Ports (continued)

I/O

Input

Output

Input

Output

Input

Input

Output

Input

Output

Input

Input

Output

Output

Output

Input

Output

Output

Output

N/A

Output

N/A

Output

Input

Output

Output

Output

Input

Output

Output

Input

N/A

Output

Output

Signal

IN11

Connected to PB7

Not Used

Connected to PB5

TXD RS-485

RXD RS-485

RTS/TXC RS-232

Serial Port D

Serial Port C

CTS/RXC RS-232

TPOUT– (Realtek reset)

TPOUT+ (Realtek INT0)

TXA Programming Port

Serial Port A

RXA Programming Port

Realtek CLK (OP6800)

Not used (OP6810)

Realtek SDO (OP6800)

Not used (OP6810)

Not used

OUT07

ATXB RS-232

ARXB RS-232

Not used

Not used

Serial Port B

RS-485 control register

OUT08

Realtek IORB strobe (OP6800)

Not used (OP6810)

Realtek SDI line (OP6800)

Not used (OP6810)

OUT09

OUT10

Realtek IOWB strobe (OP6800)

Not used (OP6810)

LCD_KEYPAD strobe

Output Function State

Pulled up

Driven by PB7

Low

Low

Inactive high

Inactive high

Inactive high

Inactive high

Initialized by

sock_init

Pulled up

Inactive high

Pulled up

Initialized by

sock_init

Low

Initialized by

sock_init

Low

Low

Low (output driver off)

Inactive high

Inactive high

Low

Low

Low (Tx disabled)

Low (output driver off)

Initialized by

sock_init

Low

Initialized by

sock_init

Low

Low (output driver off)

Low (output driver off)

Initialized by

sock_init

Low

Inactive high

MiniCom (OP6800)

A.5 I/O Address Assignments

Table A-5 lists the external I/O addresses for the display and keypad I/O.

Table A-5. Display and Keypad Output Addresses

External

Address

E000–E007

E008

E00A

E00B

Name

LCD

EN

KPEN

LED

Function

LCD control

Output enable for LEDs

Read keypad and IN12

LED0–LED6 and LCD backlight

PE7 serves as a system-enable control and LCD/keypad strobe. When PE7 is high or in a high-impedance status, all OP6800 outputs are disabled (digital outputs and display outputs are disabled, and RS-485 is at listen status).

User’s Manual 55

56 MiniCom (OP6800)

A

PPENDIX

B. P

OWER

S

UPPLY

Appendix B describes the power circuitry provided on the

OP6800.

B.1 Power Supplies

Power is supplied to the OP6800 via pins 20 and 21 of header J1, which is connected by a ribbon cable to either the Demonstration Board or to your system. The OP6800 is pro-

tected against reverse polarity by a diode at D6 as shown in Figure B-1.

J1

20

+RAW

D6

21

SWITCHING POWER REGULATOR

VIN

C40

47 µF

7

6

U4

LM2675

4

8

1

5

C36

10 nF

47 µH

L1

D14

1N5819

Vcc

C39

47 µF

Figure B-1. OP6800 Power Supply

The input voltage range is from 9 V to 36 V. A switching power regulator is used to provide a Vcc of +5 V for the OP6800 logic circuits. Vcc is not accessible to the user.

NOTE: In addition to supplying +RAW to the OP6800 switching power regulator, the

Demonstration Board has its own independent linear power regulator to supply the electronics in the demonstration area of the Demonstration Board. See Appendix C for more information.

User’s Manual 57

B.2 Batteries and External Battery Connections

The SRAM and the real-time clock have provision for battery backup. Power to the SRAM and the real-time clock (VRAM) is provided by two different sources, depending on whether the main part of the OP6800 is powered or not. When the OP6800 is powered normally, and

Vcc is within operating limits, the SRAM and the real-time clock are powered from Vcc. If power to the board is lost or falls below 4.63 V, 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. The backup battery should be able to supply 2.85 V–

3.15 V at 10

µ

A.

The reset generator circuit controls the source of power by way of its

/RESET

output signal.

B.2.1 Battery-Backup Circuit

Figure B-1 shows the battery-backup circuit located on the OP6800 module.

External Battery

VBAT

J1:40

D3

VBAT

D2

Vcc

R39

2 kW

RT1

T thermistor

VRAM

R41

22 kW

47 kW

D1

R38

10 kW

R37

22 kW

C17

10 nF

R36

47 kW

C27

10 nF

VOSC

Figure B-1. 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, thereby limiting the current consumed by the real-time clock and lengthening the battery life.

It ensures that current can flow only out of the battery to prevent charging the battery.

A voltage, VOSC, is supplied to U6, which keeps the 32.768 kHz oscillator working when the voltage begins to drop.

VRAM and Vcc are nearly equal (<100 mV, typically 10 mV) when power is supplied to the OP6800.

58 MiniCom (OP6800)

B.2.2 Power to VRAM Switch

The VRAM switch on the OP6800 module, shown in Figure B-1, allows the battery

backup to provide power when the external power goes off. The switch provides an isolation between Vcc and the battery when Vcc goes low. This prevents the Vcc line from draining the battery.

VCC

R33

0 W

VRAM

Q5

FDV302P

R30

10 kW

/RESET

R17

22 kW

Q2

MMBT3904

Figure B-1. VRAM Switch

Field-effect transistor Q5 is needed to provide a very small voltage drop between Vcc and

VRAM (<100 mV, typically 10 mV) so that the board components powered by Vcc will not have a significantly different voltage than VRAM.

When the OP6800 is not in reset, the

/RESET

line will be high. This turns on Q2, causing its collector to go low. This turns on Q5, allowing VRAM to nearly equal Vcc.

When the OP6800 is in reset, the

/RESET

line will go low. This turns off Q2 and Q5, providing an isolation between Vcc and VRAM.

B.2.3 Reset Generator

The OP6800 module uses a reset generator on the module, U1, to reset the Rabbit 2000 microprocessor when the voltage drops below the voltage necessary for reliable operation.

The reset occurs between 4.50 V and 4.75 V, typically 4.63 V.

User’s Manual 59

B.3 Chip Select Circuit

Figure B-1 shows a schematic of the chip select circuit located on the OP6800 module.

VRAM

R28 100 kW

/CSRAM

/CS1

Q4

Q3

VRAM

SWITCH

/RESET_OUT

Figure B-1. Chip Select Circuit

The current drain on the battery in a battery-backed circuit must be kept at a minimum.

When the OP6800 is not powered, the battery keeps the SRAM memory contents and the real-time clock (RTC) going. The SRAM has a powerdown mode that greatly reduces power consumption. This powerdown mode is activated by raising the chip select (CS) signal line. Normally the SRAM requires Vcc to operate. However, only 2 V is required for data retention in powerdown mode. Thus, when power is removed from the circuit, the battery voltage needs to be provided to both the SRAM power pin and to the CS signal line. The CS control circuit accomplishes this task for the SRAM’s chip select signal line.

In a powered-up condition, the CS control circuit must allow the processor’s chip select signal /CS1 to control the SRAM’s CS signal /CSRAM. So, with power applied, /CSRAM must be the same signal as /CS1, and with power removed, /CSRAM must be held high

(but only needs to be battery voltage high). Q3 and Q4 are MOSFET transistors with complementary polarity. They are both turned on when power is applied to the circuit. They allow the CS signal to pass from the processor to the SRAM so that the processor can periodically access the SRAM. When power is removed from the circuit, the transistors will turn off and isolate /CSRAM from the processor. The isolated /CSRAM line has a 100 k

Ω pullup resistor to VRAM (R28). 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).

Transistors Q3 and Q4 are of opposite polarity so that a rail-to-rail voltage can be passed.

When the /CS1 voltage is low, Q3 will conduct. When the /CS1 voltage is high, Q4 conducts. It takes time for the transistors to turn on, creating a propagation delay. This propagation delay is typically very small, about 10 ns to 15 ns.

60 MiniCom (OP6800)

A

PPENDIX

C. D

EMONSTRATION

B

OARD

Appendix C describes the features and accessories of the Demonstration Board, and explains the use of the Demonstration

Board to demonstrate the OP6800 and to build prototypes of your own circuits.

User’s Manual 61

C.1 Mechanical Dimensions and Layout

Figure C-1 shows the mechanical dimensions and layout for the OP6800 Demonstration Board.

0 V T IN12 IN13 IN14 IN15 IN16 IN17 VBA 1 IN09 IN00 IN01 IN02 IN03 IN04 IN05

J4

J2

0 V

IN04

IN02

IN00

+RAW

OUT10

OUT08

OUT06

OUT04

OUT02

OUT00

RxB

RxC

–485

VBAT

IN16

IN14

IN12

IN10

IN08

IN06

J1

IN17

IN15

IN13

LS1

IN11

IN09

IN07

IN05

Buzzer

IN03

IN01

GND

+K

OUT09

OUT07

OUT05

C1

1

HOT!

3

OUT03

OUT01

GND

TxB

C2

U1

C3

TxC

+485

J3

0 V

+5 V

GND

+5 V GND

+5 V GND

+RAW

+5 V

GND

J5

GND +RAW TxB RxB TxC RxC + RS485 –

0 V

+5 V

GND

+RAW +K

GND

+5 V

+K

J11

J6

+K OUT10 OUT09 OUT08 OUT07 OUT06 OUT05 OUT04 OUT03 OUT02 OUT01 OUT00

J10

J8

Figure C-1. OP6800 Demonstration Board Dimensions

Table C-1 lists the electrical, mechanical, and environmental specifications for the Dem-

onstration Board.

Table C-1. Demonstration Board Specifications

Parameter Specification

Board Size

Operating Temperature

Humidity

Input Voltage

3.40" × 4.20" × 1.19" (87 mm × 107 mm × 30 mm)

–40°C to +70°C

5% to 95%, noncondensing

7.5 V to 25 V DC

Maximum Current Draw

(including user-added circuits)

140 mA at 12 V and 25°C, 100 mA at 12 V and 70ºC

Prototyping Area

Standoffs/Spacers

1.7" × 2.1" (43 mm × 53 mm) through hole, 0.1" spacing

4, accept 4-40 x 11/8 screws

62 MiniCom (OP6800)

C.2 Power Supply

The OP6800 requires an unregulated +RAW power input of 9 V to 36 V DC, which can be supplied from the Demonstration Board through the ribbon cable connection. The OP6800 has its own switching voltage regulator.

Figure C-2 shows the distribution of the +RAW input power to the OP6800 through the

Demonstration Board. The reference grounds on the OP6800, GND, and on the Demonstration Board, 0 V, are tied together at one connection point only to avoid creating a ground loop, which could lead to considerable electromagnetic interference.

Demonstration Board

Linear

Regulator

+5 V

0 V

OP6800

Switching

Regulator

+5 V

GND

Figure C-2. Power Distribution to OP6800 and Demonstration Board

User’s Manual 63

The Demonstration Board has an onboard LM7805 linear regulator for the circuits on the

Demonstration Board only. Its major drawback is its inefficiency, which is directly proportional to the voltage drop across it. The voltage drop creates heat and wastes power.

You may wish to use a switching power supply in your applications where better efficiency is desirable. The LM2575 is an example of an easy-to-use switching voltage regulator. This part greatly reduces the heat dissipation of the regulator. The drawback in using a switching voltage regulator is its higher cost.

J5

2

1

+RAW

C1

10 mF

LINEAR POWER SUPPLY

Vcc

1

7805

U1

3

2

C2

10 mF

Figure C-3. Demonstration Board Power Supply

Capacitor C1 provides surge current protection for the voltage regulator, and allows the external power supply to be located some distance away.

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. The LEDs and buzzer together can draw up to 70 mA, 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.

If you need additional current from the linear regulator beyond that specified in Table C-1,

consider adding a heat sink to the linear regulator (remember to use silicone grease between the tab and the heat sink), or use a lower voltage power supply.

64 MiniCom (OP6800)

C.3 Using the Demonstration Board

The Demonstration Board is actually both a demonstration board and a prototyping board.

As a demonstration board, it can be used to demonstrate the functionality of the OP6800 right out of the box without any modifications to either board. There are no jumpers or dip switches to configure or misconfigure on the Demonstration Board so that the initial setup is very straightforward.

The Demonstration Board comes with the basic components necessary to demonstrate the operation of the OP6800. Four LEDs (DS1–DS4) are connected to OUT07–OUT10, and four switches (S1–S4) are connected to IN00–IN03 to demonstrate the interface to the

OP6800.

The Demonstration Board has a buzzer that is normally off. 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. When enabled on, the buzzer will sound whenever the OUT0 digital

output on the OP6800 is on.

Factory

Default

JP1

3

2

1

0 V T IN12 IN13 IN14 IN15 IN16 IN17 VBA 1 IN09 IN00 IN01 IN02 IN03 IN04 IN05

J4

J2

0 V

OUT10

OUT08

OUT06

OUT04

OUT02

OUT00

RxB

RxC

–485

VBAT

IN16

IN14

IN12

IN10

IN08

IN06

IN04

IN02

IN00

+RAW

J1

IN17

IN15

IN13

IN11

LS1

IN09

IN07

IN05

Buzzer

IN03

IN01

GND

C1

+K

OUT09

OUT07

OUT05

OUT03

OUT01

GND

TxB

TxC

+485

C2

1

HOT!

3

U1

C3

J3

0 V

+5 V

GND

+5 V GND

+5 V GND

+RAW

+5 V

GND

J5

GND +RAW TxB RxB TxC RxC + RS485 –

0 V

+5 V

GND

GND

+5 V

+K

J11

+RAW +K

J6

+K OUT10 OUT09 OUT08 OUT07 OUT06 OUT05 OUT04 OUT03 OUT02 OUT01 OUT00

J10

J8

Figure C-4. Demonstration Board Header JP1

(Buzzer On/Off)

User’s Manual 65

The Demonstration Board provides the user with OP6800 connection points brought out conveniently to labeled points at headers J4, J5, J6, and J8 on the Demonstration Board.

Small to medium circuits can be prototyped using point-to-point wiring with 20 to 30 AWG wire on the prototyping area. The holes are spaced at 0.1" (2.5 mm). The pinouts for headers

J4, J5, J6, and J8 are shown in Figure C-5.

S4 S3 S2 S1

DS1 DS2 DS3

DS4

RP1

IN00

IN01

IN02

IN03

IN04

IN05

IN06

IN07

IN08

IN09

IN10

IN11

IN12

IN13

IN14

IN15

IN16

IN17

VBAT

0 V

7

8

5

6

3

4

1

2

J4

7

8

5

6

3

4

1

2

9

10

11

J8

+5 V

0 V

GND

12

GND

+5 V

JP1

GND

+5 V

J6

+K

12

5

4

7

6

11

10

9

8

3

2

1

+RAW

J5

2

1

4

3

6

5

8

7

J1

OUT00

OUT01

OUT02

OUT03

OUT04

OUT05

OUT06

OUT07

OUT08

OUT09

OUT10

+K

RS-485–

RS-485+

RxC

TxC

RxB

TxB

+RAW

GND

Figure C-5. OP6800 Demonstration Board Pinout

66 MiniCom (OP6800)

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.

IN12 IN13 IN14 IN15 IN16 IN17 VBA IN00 IN01 IN02 IN03 IN04 IN05

J4

IN00

+RAW

OUT10

OUT08

OUT06

OUT04

OUT02

OUT00

RxB

RxC

–485

VBAT

IN16

IN14

IN12

IN10

IN08

IN06

IN04

IN02

IN17

IN15

IN13

IN11

IN09

IN07

IN05

LS1

Buzzer

IN03

IN01

C1

0 V

+5 V

GND

+5 V GND

J1

GND

+K

OUT09

OUT07

OUT05

OUT03

OUT01

GND

TxB

C2

1

HOT!

3

U1

C3

TxC

+485

+5 V GND

GND

+RAW

+5 V

J3

J5

GND +RAW TxB RxB TxC RxC + RS485 –

J2

0 V 0 V

+5 V

GND

+RAW +K

GND

+5 V

+K

J11

J6

+K OUT10 OUT09 OUT08 OUT07 OUT06 OUT05 OUT04 OUT03 OUT02 OUT01 OUT00

J7

J10

J8

Figure C-6. Mounting Demonstration Board on OP6800

NOTE: Remove the standoffs behind the OP6800 before attempting to mount the Demonstration Board.

The OP6800 may also be panel-mounted with the Demonstration Board attached. Follow

the instructions in Chapter 6, “Installation and Mounting Guidelines.” Use 4-40 screws

that are l 3/16" (plus the thickness of the panel) in length. Note that the Demonstration

Board and the OP6800 end up on opposite sides of the panel as shown in Figure C-7.

OP6800 Bezel/Gasket

Demonstration Board

Panel

R1

J1

R6

JP1

KP1

C1

U1

R2

R3

U2

C8 C9R4

C2 C3 C4 C5

RP1 RP2 RP3

RP6 RP7 RP8

R11

R16

Q7

Q5

R13 D12

D13

R17

Q8

R26 C44

R39

R27

R41

R38

C3

D2 R7

C27

Flas

U5

D11

h

ROM

JP3

R22

JP4

R8

RP9

R10

C30 C31

LNK

DS1

D7

R19

Q10

D8

R20

Q11

D9

R21

Q12

D10

R15

Q6

U3

R25

C35

R24

C33

R28

C25

R23

C34

C36

U4

R29

C45

U6

C37

C4 C17

J2

C42

R31

C43

U7

R11

C41

R13

J3

C39

C17

R32

RN1

RP4 D6

R14

C40

D14

Figure C-7. OP6800 with Demonstration Board Mounted in Panel (rear view)

User’s Manual 67

68 MiniCom (OP6800)

A

PPENDIX

D. OP6800 F

UNCTION

API

S

Appendix D provides the function calls related to the operation of the OP6800 board, I/O, serial channels, display, and keypad.

User’s Manual 69

D.1 Board Initialization (OP68xx.LIB) void brdInit (void);

Call this function at the beginning of your program. This function initializes the system I/O ports. This function also turns off LED DS1 to indicate that the initialization was successful.

The ports are initialized according to Table A-4.

SEE ALSO digIn, digOut, serMode, ledOut

70 MiniCom (OP6800)

D.2 Digital I/O (OP68xx.LIB) int digIn(int channel);

Reads the state of an input channel.

A runtime error will occur if

brdInit

was not executed before executing

digIn

, or when

channel

is out of range.

PARAMETER channel

is the input channel number (0–12), where IN00–IN12 are the normal user digital inputs.

RETURN VALUE

The state of the input (0 or 1).

SEE ALSO brdInit, digOut, ledOut

void digOut(int channel, int value);

Sets the state of a digital output (

OUT00–OUT10)

.

Remember to call the

brdInit

function before executing this function.

A runtime error will occur if

brdInit

was not executed before executing

digOut

, or when

channel

or

value

is out of range.

NOTE: The LEDs and digital outputs OUT00–OUT06 are driven by the same driver chip. Do not use both

ledOut

and

digOut

to control the same LED or digital output in a given application.

PARAMETERS channel

is the output channel number (0–10).

value

is the output value (0 or 1).

SEE ALSO brdInit, digIn, ledOut

User’s Manual 71

D.3 Serial Communication (OP68xx.LIB)

Library files included with Dynamic C provide a full range of serial communications support. The

RS232.LIB

library provides a set of circular-buffer-based serial functions. The

PACKET.LIB

library provides packet-based serial functions where packets can be delimited by the 9th bit, by transmission gaps, or with user-defined special characters. Both libraries provide blocking functions, which do not return until they are finished transmitting or receiving, and nonblocking functions, which must be called repeatedly until they are finished. For more information, see the Dynamic C User’s Manual and Technical

Note TN213, Rabbit 2000 Serial Port Software.

Use the following function calls with the OP6800.

int serMode(int mode);

User interface to set up OP6800 serial communication lines. Call this function after

serXOpen()

.

Whether you are opening one or multiple serial ports, this function must be executed after executing the last

serXOpen

function AND before you start using any of the serial ports. This function is non-reentrant.

If Mode 1 is selected, CTS/RTS flow control is exercised using the

serCflowcontrolOn

and

serCflowcontrolOff

functions from the

RS232.LIB

library.

.

PARAMETER mode

is the defined serial port configuration

Mode

0

1

B

RS-232, 3-wire

RS-232, 5-wire

Serial Port

C

RS-232, 3-wire

CTS/RTS

RS-485

RS-485

D

RETURN VALUE

0 if valid mode, 1 if not.

SEE ALSO ser485Tx, ser485Rx

NOTE: Be sure to call

serMode

before either of the next two functions.

void ser485Tx(void);

Sets pin 3 (DE) high to enable the RS-485 transmitter. Remember to call

serMode

before calling

ser485Tx

.

SEE ALSO serMode, ser485Rx

72 MiniCom (OP6800)

void ser485Rx(void);

Resets pin 3 (DE) low to disable the RS-485 transmitter. Remember to call

serMode

before calling

ser485Rx

.

SEE ALSO serMode, ser485Tx, serCflowcontrolOn, serCflowcontrolOff

User’s Manual 73

D.4 LEDs (OP68xx.LIB)

When power is applied to the OP6800 for the first time, the red LED (DS1) will come on, indicating that power is being applied to the OP6800. The red LED is turned off when the

brdInit

function executes.

The LEDs are in series with the open-ouput collector that drives digital outputs OUT00–

OUT06, and so the same function call that turns on one of these digital outputs will also turn on the corresponding LED.

void ledOut(int led, int value);

LED on/off control.

A runtime error will occur if

brdInit

was not executed before executing

ledOut

, or when

led

or

value

is out of range.

NOTE: The LEDs and digital outputs OUT00–OUT06 are driven by the same driver chip. Do not use both

ledOut

and

digOut

to control the same LED or digital output in a given application.

PARAMETERS led

is the LED to control.

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

0 = off

1 = on

RETURN VALUE

None.

SEE ALSO brdInit, digOut

74 MiniCom (OP6800)

D.5 LCD Display

The functions used to control the LCD display are contained in the

GRAPHIC.LIB

library located in the Dynamic C

DISPLAYS\GRAPHIC

library directory. When x and y coordinates on the display screen are specified, x can range from 0 to 121, and y can range from

0 to 31. These numbers represent pixels from the top left corner of the display.

void glInit(void);

Initializes the display devices, clears the screen.

RETURN VALUE

None.

SEE ALSO glDispOnOFF, glBacklight, glSetContrast, glPlotDot, glBlock, glPlotDot, glPlotPolygon, glPlotCircle, glHScroll, glVScroll, glXFontInit, glPrintf, glPutChar, glSetBrushType, glBuffLock, glBuffUnlock, glPlotLine

void glBackLight(int onOff);

Turns the display backlight on or off.

PARAMETER onOff

turns the backlight on or off

1—turn the backlight on

0—turn the backlight off

RETURN VALUE

None.

SEE ALSO glInit, glDispOnoff, glSetContrast

void glDispOnOff(int onOff);

Sets the LCD screen on or off. Data will not be cleared from the screen.

PARAMETER onOff

turns the LCD screen on or off

1—turn the LCD screen on

0—turn the LCD screen off

RETURN VALUE

None.

SEE ALSO glInit, glSetContrast, glBackLight

User’s Manual 75

void glSetContrast(unsigned level);

Sets display contrast (the circuitry is not installed on the LCD/keypad module used with the OP6800).

void glFillScreen(char pattern);

Fills the LCD display screen with a pattern.

PARAMETER

The screen will be set to all black if

pattern

is 0xFF, all white if

pattern

is 0x00, and vertical stripes for any other pattern.

RETURN VALUE

None.

SEE ALSO glBlock, glBlankScreen, glPlotPolygon, glPlotCircle

void glBlankScreen(void);

Blanks the LCD display screen (sets LCD display screen to white).

RETURN VALUE

None.

SEE ALSO glFillScreen, glBlock, glPlotPolygon, glPlotCircle

void glBlock(int x, int y, int bmWidth, int bmHeight);

Draws a rectangular block in the page buffer and on the LCD if the buffer is unlocked. Any portion of the block that is outside the LCD display area will be clipped.

PARAMETERS x

is the x coordinate of the top left corner of the block.

y

is the y coordinate of the top left corner of the block.

bmWidth

is the width of the block.

bmWidth

is the height of the block.

RETURN VALUE

None.

SEE ALSO glFillScreen, glBlankScreen, glPlotPolygon, glPlotCircle

76 MiniCom (OP6800)

void glPlotVPolygon(int n, int *pFirstCoord);

Plots the outline of a polygon in the LCD page buffer, and on the LCD if the buffer is unlocked. Any portion of the polygon that is outside the LCD display area will be clipped. If fewer than 3 vertices are specified, the function will return without doing anything.

PARAMETERS n

is the number of vertices.

*pFirstCoord

is a pointer to array of vertex coordinates:

x1,y1

,

x2,y2

,

x3,y3

,...

RETURN VALUE

None.

SEE ALSO glPlotPolygon, glFillPolygon, glFillVPolygon

void glPlotPolygon(int n, int y1, int x2, int y2,

...);

Plots the outline of a polygon in the LCD page buffer and on the LCD if the buffer is unlocked. Any portion of the polygon that is outside the LCD display area will be clipped. If fewer than 3 vertices are specified, the function will return without doing anything.

PARAMETERS n

is the number of vertices.

y1

is the

y

coordinate of the first vertex.

x1

is the

x

coordinate of the first vertex.

y2

is the

y

coordinate of the second vertex.

x2

is the

x

coordinate of the second vertex.

...

are the coordinates of additional vertices.

RETURN VALUE

None.

SEE ALSO glPlotVPolygon, glFillPolygon, glFillVPolygon

User’s Manual 77

void glFillVPolygon(int n, int *pFirstCoord);

Fills a polygon in the LCD page buffer and on the LCD screen if the buffer is unlocked. Any portion of the polygon that is outside the LCD display area will be clipped. If fewer than 3 vertices are specified, the function will return without doing anything.

PARAMETERS n

is the number of vertices.

*pFirstCoord

is a pointer to array of vertex coordinates:

x1,y1

,

x2,y2

,

x3,y3

,

...

RETURN VALUE

None.

SEE ALSO glFillPolygon, glPlotPolygon, glPlotVPolygon

void glFillPolygon(int n, int x1, int y1, int x2, int y2, ...);

Fills a polygon in the LCD page buffer and on the LCD if the buffer is unlocked. Any portion of the polygon that is outside the LCD display area will be clipped. If fewer than 3 vertices are specified, the function will return without doing anything.

PARAMETERS n

is the number of vertices.

x1

is the

x

coordinate of the first vertex.

y1

is the

y

coordinate of the first vertex.

x2

is the

x

coordinate of the second vertex.

y2

is the

y

coordinate of the second vertex.

...

are the coordinates of additional vertices.

RETURN VALUE

None.

SEE ALSO glFillVPolygon, glPlotPolygon, glPlotVPolygon

78 MiniCom (OP6800)

void glPlotCircle(int xc, int yc, int rad);

Draws the outline of a circle in the LCD page buffer and on the LCD if the buffer is unlocked. Any portion of the circle that is outside the LCD display area will be clipped.

PARAMETERS xc

is the

x

coordinate of the center of the circle.

yc

is the

y

coordinate of the center of the circle.

rad

is the radius of the center of the circle (in pixels).

RETURN VALUE

None.

SEE ALSO glFillCircle, glPlotPolygon, glFillPolygon

void glFillCircle(int xc, int yc, int rad);

Draws a filled circle in the LCD page buffer and on the LCD if the buffer is unlocked. Any portion of the circle that is outside the LCD display area will be clipped.

PARAMETERS xc

is the

x

coordinate of the center of the circle.

yc

is the

y

coordinate of the center of the circle.

rad

is the radius of the center of the circle (in pixels).

RETURN VALUE

None.

SEE ALSO glPlotCircle, glPlotPolygon, glFillPolygon

User’s Manual 79

void glXFontInit(fontInfo *pInfo, char pixWidth, char pixHeight, unsigned startChar, unsigned endChar, unsigned long xmemBuffer);

Initializes the font descriptor structure, where the font is stored in

xmem

.

PARAMETERS

*pInfo

is a pointer to the font descriptor to be initialized.

pixWidth

is the width (in pixels) of each font item.

pixHeight

is the height (in pixels) of each font item.

startChar

is the value of the first printable character in the font character set.

endChar

is the value of the last printable character in the font character set.

xmemBuffer

is the

xmem

pointer to a linear array of font bitmaps.

RETURN VALUE

None.

SEE ALSO glPrinf

unsigned long glFontCharAddr(fontInfo *pInfo, char letter);

Returns the

xmem

address of the character from the specified font set.

PARAMETERS

*pInfo

is the

xmem

address of the bitmap font set.

letter

is an ASCII character.

RETURN VALUE xmem

address of bitmap character font, column major, and byte-aligned.

SEE ALSO glPutFont, glPrintf

80 MiniCom (OP6800)

void glPutFont(int x, int y, fontInfo *pInfo, char code);

Puts an entry from the font table to the page buffer and on the LCD if the buffer is unlocked. Each font character's bitmap is column major and byte-aligned. Any portion of the bitmap character that is outside the LCD display area will be clipped.

PARAMETERS x

is the

x

coordinate (column) of the top left corner of the text.

y

is the

y

coordinate (row) of the top left corner of the text.

*pInfo

is a pointer to the font descriptor.

code

is the ASCII character to display.

RETURN VALUE

None.

SEE ALSO glFontCharAddr, glPrintf

void glSetPfStep(int stepX, int stepY);

Sets the

glPrintf()

printing step direction. The x and y step directions are independent signed values. The actual step increments depend on the height and width of the font being displayed, which are multiplied by the step values.

PARAMETERS stepX

is the

glPrintf

x

step value

stepY

is the

glPrintf

y

step value

RETURN VALUE

None.

SEE ALSO

Use

glGetPfStep()

to examine the current x and y printing step direction.

int glGetPfStep(void);

Gets the current

glPrintf()

printing step direction. Each step direction is independent of the other, and is treated as an 8-bit signed value. The actual step increments depends on the height and width of the font being displayed, which are multiplied by the step values.

RETURN VALUE

The

x

step is returned in the MSB, and the

y

step is returned in the LSB of the integer result.

SEE ALSO

Use

glGetPfStep()

to control the

x

and

y

printing step direction.

User’s Manual 81

void glPutChar(char ch, char *ptr, int *cnt, glPutCharInst *pInst)

Provides an interface between the STDIO string-handling functions and the graphic library. The STDIO string-formatting function will call this function, one character at a time, until the entire formatted string has been parsed. Any portion of the bitmap character that is outside the LCD display area will be clipped.

PARAMETERS ch

is the character to be displayed on the LCD.

*ptr

is not used, but is a place holder for STDIO string functions.

*cnt

is not used, is a place holder for STDIO string functions.

*pInst

is a font descriptor pointer.

RETURN VALUE

None.

SEE ALSO glPrintf, glPutFont, doprnt

void glPrintf(int x, int y, fontInfo *pInfo, char *fmt, ...);

Prints a formatted string (much like

printf

) on the LCD screen. Only the character codes that exist in the font set are printed, all others are skipped. For example, '\b', '\t', '\n' and '\r' (ASCII backspace, tab, new line, and carriage return, respectively) will be printed if they exist in the font set, but will not have any effect as control characters. Any portion of the bitmap character that is outside the LCD display area will be clipped.

PARAMETERS x

is the

x

coordinate (column) of the top left corner of the text.

y

is the

y

coordinate (row) of the top left corner of the text.

*pInfo

is a font descriptor pointer.

*fmt

is a formatted string.

...

are formatted string conversion parameter(s).

EXAMPLE glprintf(0,0, &fi12x16, "Test %d\n", count);

RETURN VALUE

None.

SEE ALSO glXFontInit

82 MiniCom (OP6800)

void glBuffLock(void);

Increments LCD screen locking counter. Graphic calls are recorded in the LCD memory buffer and are not transferred to the LCD if the counter is non-zero.

NOTE: glBuffLock()

and

glBuffUnlock()

can be nested up to a level of 255, but be sure to balance the calls. It is not a requirement to use these procedures, but a set of

glBuffLock()

and

glBuffUnlock()

bracketing a set of related graphic calls speeds up the rendering significantly.

RETURN VALUE

None.

SEE ALSO glBuffUnlock, glSwap

void glBuffUnlock(void);

Decrements the LCD screen locking counter. The contents of the LCD buffer are transferred to the LCD if the counter goes to zero.

RETURN VALUE

None.

SEE ALSO glBuffLock, glSwap

void glSwap(void);

Checks the LCD screen locking counter. The contents of the LCD buffer are transferred to the LCD if the counter is zero.

RETURN VALUE

None.

SEE ALSO glBuffUnlock, glBuffLock, _glSwapData

(located in the library specifically for the LCD that you are using

)

User’s Manual 83

void glSetBrushType(int type);

Sets the drawing method (or color) of pixels drawn by subsequent graphic calls.

PARAMETER type

value can be one of the following macros.

PIXBLACK

draws black pixels (turns pixel on).

PIXWHITE

draws white pixels (turns pixel off).

PIXXOR

draws old pixel XOR'ed with the new pixel.

RETURN VALUE

None.

SEE ALSO glGetBrushType

int glGetBrushType(void);

Gets the current method (or color) of pixels drawn by subsequent graphic calls.

RETURN VALUE

The current brush type.

SEE ALSO glSetBrushType

void glPlotDot(int x, int y);

Draws a single pixel in the LCD buffer, and on the LCD if the buffer is unlocked. If the coordinates are outside the LCD display area, the dot will not be plotted.

PARAMETERS x

is the

x

coordinate of the dot.

y

is the

y

coordinate of the dot.

RETURN VALUE

None.

SEE ALSO glPlotline, glPlotPolygon, glPlotCircle

84 MiniCom (OP6800)

void glPlotLine(int x0, int y0, int x1, int y1);

Draws a line in the LCD buffer, and on the LCD if the buffer is unlocked. Any portion of the line that is beyond the LCD display area will be clipped.

PARAMETERS x0

is the

x

coordinate of one endpoint of the line.

y0

is the

y

coordinate of one endpoint of the line.

x1

is the

x

coordinate of the other endpoint of the line.

y1

is the

y

coordinate of the other endpoint of the line.

RETURN VALUE

None.

SEE ALSO glPlotDot, glPlotPolygon, glPlotCircle

void glLeft1(int left, int top, int cols, int rows);

Scrolls byte-aligned window left one pixel, right column is filled by current pixel type (color).

PARAMETERS left

is the top left corner of bitmap, must be evenly divisible by 8, otherwise truncates.

top

is the top left corner of the bitmap.

cols

is the number of columns in the window, must be evenly divisible by 8, otherwise truncates.

rows

is the number of rows in the window.

RETURN VALUE

None.

SEE ALSO glHScroll, glRight1

void glRight1(int left, int top, int cols, int rows);

Scrolls byte-aligned window right one pixel, left column is filled by current pixel type (color).

PARAMETERS left

is the top left corner of bitmap, must be evenly divisible by 8, otherwise truncates.

top

is the top left corner of the bitmap.

cols

is the number of columns in the window, must be evenly divisible by 8, otherwise truncates.

rows

is the number of rows in the window.

RETURN VALUE

None.

SEE ALSO glHScroll, glLeft1

User’s Manual 85

void glUp1(int left, int top, int cols, int rows);

Scrolls byte-aligned window up one pixel, bottom column is filled by current pixel type (color).

PARAMETERS left

is the top left corner of bitmap, must be evenly divisible by 8, otherwise truncates.

top

is the top left corner of the bitmap.

cols

is the number of columns in the window, must be evenly divisible by 8, otherwise truncates.

rows

is the number of rows in the window.

RETURN VALUE

None.

SEE ALSO glVScroll, glDown1

void glDown1(int left, int top, int cols, int rows);

Scrolls byte-aligned window down one pixel, top column is filled by current pixel type (color).

PARAMETERS left

is the top left corner of bitmap, must be evenly divisible by 8, otherwise truncates.

top

is the top left corner of the bitmap.

cols

is the number of columns in the window, must be evenly divisible by 8, otherwise truncates.

rows

is the number of rows in the window.

RETURN VALUE

None.

SEE ALSO glVScroll, glUp1

86 MiniCom (OP6800)

void glHScroll(int left, int top, int cols, int rows, int nPix);

Scrolls right or left, within the defined window by x number of pixels. The opposite edge of the scrolled window will be filled in with white pixels. The window must be byte-aligned.

Parameters will be verified for the following:

1. The

left

and

cols

parameters will be verified that they are evenly divisible by 8. If not, they will be truncated to a value that is a multiple of 8.

2. Parameters will be checked to verify that the scrolling area is valid. The minimum scrolling area is a width of 8 pixels and a height of one row.

PARAMETERS left

is the top left corner of bitmap, must be evenly divisible by 8.

top

is the top left corner of the bitmap.

cols

is the number of columns in the window, must be evenly divisible by 8.

rows

is the number of rows in the window.

nPix

is the number of pixels to scroll within the defined window (a negative value will produce a scroll to the left).

RETURN VALUE

None.

SEE ALSO glVScroll

User’s Manual 87

void glVScroll(int left, int top, int cols, int rows, int nPix);

Scrolls up or down, within the defined window by x number of pixels. The opposite edge of the scrolled window will be filled in with white pixels. The window must be byte-aligned.

Parameters will be verified for the following:

1. The

left

and

cols

parameters will be verified that they are evenly divisible by 8. If not, they will be truncated to a value that is a multiple of 8.

2. Parameters will be checked to verify that the scrolling area is valid. The minimum scrolling area is a width of 8 pixels and a height of one row.

PARAMETERS left

is the top left corner of bitmap, must be evenly divisible by 8.

top

is the top left corner of the bitmap.

cols

is the number of columns in the window, must be evenly divisible by 8.

rows

is the number of rows in the window.

nPix

is the number of pixels to scroll within the defined window (a negative value will produce a scroll up).

RETURN VALUE

None.

SEE ALSO glHScroll

void glXPutBitmap(int left, int top, int width, int height, unsigned long bitmap);

Draws bitmap in the specified space. The data for the bitmap are stored in

xmem

. This function calls

glXPutFastmap

automatically if the bitmap is byte-aligned (the left edge and the width are each evenly divisible by 8, otherwise truncated).

Any portion of a bitmap image or character that is outside the LCD display area will be clipped.

PARAMETERS left

is the top left corner of the bitmap.

top

is the top left corner of the bitmap.

width

is the width of the bitmap.

height

is the height of the bitmap.

bitmap

is the address of the bitmap in

xmem

.

RETURN VALUE

None.

SEE ALSO glXPutFastmap, glPrintf

88 MiniCom (OP6800)

void glXPutFastmap(int left, int top, int width, int height, unsigned long bitmap);

Draws bitmap in the specified space. The data for the bitmap are stored in

xmem

. This function is like

glXPutBitmap

, except that it is faster. The restriction is that the bitmap must be byte-aligned.

Any portion of a bitmap image or character that is outside the LCD display area will be clipped.

PARAMETERS left

is the top left corner of the bitmap, must be evenly divisible by 8, otherwise truncates.

top

is the top left corner of the bitmap.

width

is the width of the bitmap, must be evenly divisible by 8, otherwise truncates.

height

is the height of the bitmap.

bitmap

is the address of the bitmap in

xmem

.

RETURN VALUE

None.

SEE ALSO glXPutBitmap, glPrintf

int TextWindowFrame(windowFrame *window, fontInfo *pFont, int x, int y, int winWidth, int winHeight)

Defines a text-only display window. This function provides a way to display characters within the text window using only character row and column coordinates. 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 other

Text...

functions.

PARAMETERS

*window

is a window frame descriptor pointer.

*pFont

is a font descriptor pointer.

x

is the x coordinate of the top left corner of the text window frame.

y

is the y coordinate of the top left corner of the text window frame.

winWidth

is the width of the text window frame.

winHeight

is the height of the text window frame.

RETURN VALUE

0—window frame was successfully created.

-1—x coordinate + width has exceeded the display boundary.

-2—y coordinate + height has exceeded the display boundary.

User’s Manual 89

void TextGotoXY(windowFrame *window, int col, int row);

Sets the cursor location to where the next character will be displayed. 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.

PARAMETERS

*window

is a pointer to a font descriptor.

col

is a character column location.

row

is a character row location.

RETURN VALUE

None.

SEE ALSO

TextPutChar, TextPrintf, TextWindowFrame

void TextCursorLocation(windowFrame *window, int *col, int *row);

Gets the current cursor location that was set by a Graphic

Text...

function.

NOTE: Execute the

TextWindowFrame

function before using this function.

PARAMETERS

*window

is a pointer to a font descriptor.

*col

is a pointer to cursor column variable.

*row

is a pointer to cursor row variable.

RETURN VALUE

Lower word = Cursor Row location

Upper word = Cursor Column location

SEE ALSO

TextGotoXY, TextPrintf, TextWindowFrame, TextCursorLocation

90 MiniCom (OP6800)

void TextPutChar(struct windowFrame *window, char ch);

Displays a character on the display where the cursor is currently pointing. If any portion of a bitmap character is outside the LCD display area, the character will not be displayed. The cursor increments to the next character position.

NOTE: Execute the

TextWindowFrame

function before using this function.

PARAMETERS

*window

is a pointer to a font descriptor.

ch

is a character to be displayed on the LCD.

RETURN VALUE

None.

SEE ALSO

TextGotoXY, TextPrintf, TextWindowFrame, TextCursorLocation

void TextPrintf(struct windowFrame *window, char *fmt, ...);

Prints a formatted string (much like

printf

) on the LCD screen. Only printable characters in the font set are printed, also escape sequences, '\r' and '\n' are recognized. All other escape sequences will be skipped over; for example, '\b' and \'t' will print if they exist in the font set, but will not have any effect as control characters.

The text window feature provides end-of-line wrapping and clipping after the character in the last column and row is displayed. The cursor then remains at the end of the string.

NOTE: Execute the

TextWindowFrame

function before using this function.

PARAMETERS

*window

is a pointer to a font descriptor.

*fmt

is a formatted string.

...

are formatted string conversion parameter(s).

EXAMPLE

TextPrintf(&TextWindow, "Test %d\n", count);

RETURN VALUE

None.

SEE ALSO

TextGotoXY, TextPutChar, TextWindowFrame, TextCursorLocation

User’s Manual 91

D.6 Keypad

The functions used to control the keypad are contained in the

KEYPAD7.LIB

library located in the Dynamic C

KEYPADS

library directory.

void keyInit(void);

Initializes keypad process

RETURN VALUE

None.

SEE ALSO brdInit

void keyConfig(char cRaw, char cPress, char cRelease, char cCntHold, char cSpdLo, char cCntLo, char cSpdHi);

Assigns each key with key press and release codes, and hold and repeat ticks for auto repeat and debouncing.

PARAMETERS cRaw

is a raw key code index.

1x7 keypad matrix with raw key code index assignments (in brackets):

[0] [1] [2] [3]

[4] [5] [6]

User Keypad Interface cPress

is a key press code

An 8-bit value is returned when a key is pressed.

0 = Unused.

See

keypadDef()

for default press codes.

cRelease

is a key release code.

An 8-bit value is returned when a key is pressed.

0 = Unused.

cCntHold

is a hold tick, which is approximately one debounce period or 5 µs.

How long to hold before repeating.

0 = No Repeat.

cSpdLo

is a low-speed repeat tick, which is approximately one debounce period or 5 µs.

How many times to repeat.

0 = None.

92 MiniCom (OP6800)

cCntLo

is a low-speed hold tick, which is approximately one debounce period or 5 µs.

How long to hold before going to high-speed repeat.

0 = Slow Only.

cSpdHi

is a high-speed repeat tick, which is approximately one debounce period or 5 µs.

How many times to repeat after low speed repeat.

0 = None.

RETURN VALUE

None.

SEE ALSO keyProcess, keyGet, keypadDef

void keyProcess(void);

Scans and processes keypad data for key assignment, debouncing, press and release, and repeat.

NOTE: This function is also able to process an 8 × 8 matrix keypad.

RETURN VALUE

None

SEE ALSO keyConfig, keyGet, keypadDef

char keyGet(void);

Get next keypress

RETURN VALUE

The next keypress, or 0 if none

SEE ALSO keyConfig, keyProcess, keypadDef

int keyUnget(char cKey);

Push keypress on top of input queue

PARAMETER cKey

RETURN VALUE

None.

SEE ALSO keyGet

User’s Manual 93

void keypadDef();

Configures the physical layout of the keypad with the desired ASCII return key codes.

Keypad physical mapping 1 × 7

0

['L']

4 1

['U']

5 2

['D']

6 3

['R']

['–'] ['+'] ['E'] where

'D' represents Down Scroll

'U' represents Up Scroll

'R' represents Right Scroll

'L' represents Left Scroll

'–' represents Page Down

'+' represents Page Up

'E' represents the ENTER key

Example: Do the followingfor the above physical vs. ASCII return key codes.

keyConfig ( 3,'R',0, 0, 0, 0, 0 ); keyConfig ( 6,'E',0, 0, 0, 0, 0 ); keyConfig ( 2,'D',0, 0, 0, 0, 0 ); keyConfig ( 4,'-',0, 0, 0, 0, 0 ); keyConfig ( 1,'U',0, 0, 0, 0, 0 ); keyConfig ( 5,'+',0, 0, 0, 0, 0 ); keyConfig ( 0,'L',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 the address of the value read.

RETURN VALUE

None.

SEE ALSO keyConfig, keyGet, keypadDef, keyProcess

94 MiniCom (OP6800)

A

PPENDIX

E. P

ROGRAMMING

C

ABLE

Appendix E provides additional information for the Rabbit

2000

®

microprocessor when using the

DIAG

and

PROG

connectors on the programming cable. The

PROG

connector is used only when the programming cable is attached to the programming connector (header J1 on the OP6800 module) while a new application is being developed. Otherwise, the

DIAG

connector on the programming cable allows the programming cable to be used as an RS-232 to CMOS level converter for serial communication, which is appropriate for monitoring or debugging a

OP6800 system while it is running.

User’s Manual 95

The programming port, which is shown in Figure E-1, can serve as a convenient commu-

nications port for field setup or other occasional communication need (for example, as a diagnostic port). If the port is simply to perform a setup function, that is, write setup information to flash memory, then the controller can be reset through the programming port and a cold boot performed to start execution of a special program dedicated to this functionality.

1

3

5

7

9

Programming Port

Pin Numbers

2

4

6

8

10

PROGRAMMING PORT PIN ASSIGNMENTS

(Rabbit PQFP pins are shown in parenthesis)

~50 kW

1. RXA (51)

2. GND

3. CKLKA (94)

4. +5 V/+3 V

5. /RESET

6. TXA (54)

7. n.c.

8. STATUS (output) (38)

9. SMODE0 (36)

10. SMODE1 (35)

~50 kW

~10 kW

~50 kW

~50 kW

+

+

+

GND

GND

Figure E-1. Programming Port Pin Assignments

When the

PROG

connector is used, the /RESET line can be asserted by manipulating

DTR and the STATUS line can be read as DSR on the serial port. The target can be restarted by pulsing reset and then, after a short delay, sending a special character string at

2400 bps. To simply restart the BIOS, the string 80h, 24h, 80h can be sent. When the

BIOS is started, it can tell whether the programming cable is connected because the

SMODE1 and SMODE0 pins are sensed as being high.

Alternatively, the

DIAG

connector can be used to connect the programming port. The

/RESET line and the SMODE1 and SMODE0 pins are not connected to this connector.

The programming port is then enabled as a diagnostic port by polling the port periodically to see if communication needs to begin or to enable the port and wait for interrupts. The pull-up resistors on RXA and CLKA prevent spurious data reception that might take place if the pins floated.

If the clocked serial mode is used, the serial port can be driven by having two toggling lines that can be driven and one line that can be sensed. This allows a conversation with a device that does not have an asynchronous serial port but that has two output signal lines and one input signal line.

The line TXA (also called PC6) is zero after reset if the cold-boot mode is not enabled. A possible way to detect the presence of a cable on the programming port is for the cable to connect TXA to one of the SMODE pins and then test for the connection by raising PC6

(by configuring it as a general output bit) and reading the SMODE pin after the cold-boot mode has been disabled. The value of the SMODE pin is read from the SPCR register.

96 MiniCom (OP6800)

N

OTICE TO

U

SERS

Z-WORLD PRODUCTS ARE NOT AUTHORIZED FOR USE AS CRITICAL COMPONENTS IN LIFE-

SUPPORT DEVICES OR SYSTEMS UNLESS A SPECIFIC WRITTEN AGREEMENT REGARDING

SUCH INTENDED USE IS ENTERED INTO BETWEEN THE CUSTOMER AND Z-WORLD PRIOR

TO USE. Life-support devices or systems are devices or systems intended for surgical implantation into the body or to sustain life, and whose failure to perform, when properly used in accordance with instructions for use provided in the labeling and user’s manual, can be reasonably expected to result in significant injury.

No complex software or hardware system is perfect. Bugs are always present in a system of any size. In order to prevent danger to life or property, it is the responsibility of the system designer to incorporate redundant protective mechanisms appropriate to the risk involved.

All Z-World products are 100 percent functionally tested. Additional testing may include visual quality control inspections or mechanical defects analyzer inspections. Specifications are based on characterization of tested sample units rather than testing over temperature and voltage of each unit. Z-World products may qualify components to operate within a range of parameters that is different from the manufacturer’s recommended range. This strategy is believed to be more economical and effective. Additional testing or burn-in of an individual unit is available by special arrangement.

User’s Manual 97

98 MiniCom (OP6800)

I

NDEX

B

battery connections ............... 58

buzzer .................................... 65

C

CE compliance ........................ 4

design guidelines ................. 5

chip select circuit .................. 60

connections

Ethernet cable ................... 35

programming cable ........... 11

contrast .................................. 10

D

Demonstration Board

mounting and installation .. 67

pinout ................................ 66 prototyping area ................ 66

wire assembly ..................... 2

demonstration program ......... 10

digital inputs ......................... 17 remote keypad operation ... 17 switching threshold ........... 17

digital outputs ....................... 18

dimensions

Demonstration Board ........ 62

LCD/keypad template ....... 24

OP6800 ............................. 48

Dynamic C ........................ 3, 27

add-on modules ................... 3

changing programming baud rate in BIOS .................. 12

debugging features ............ 27

installation ......................... 12 starting .............................. 12

telephone-based technical support ............................ 3

E

Ethernet cables ...................... 35

Ethernet connections ............. 35 steps .................................. 35

Ethernet port ......................... 22 handling EMI and noise .... 22 pinout ................................ 22

exclusion zone ...................... 49

F

features .................................... 1

flash memory

liefetime write cycles ........ 27

flash memory bank select ..... 23

font and bitmap converter ..... 33

H

I

headers

JP1 ..................................... 20

I/O address assignments ....... 55

installation guidelines ........... 43

introduction ............................. 1

IP addresses .......................... 38

how to set .......................... 37

how to set PC IP address ... 38

J

jumper configurations ........... 52

Demonstration Board buzzer ................................... 65

JP1 (RS-485 bias and termina-

tion resistors) .......... 20, 52 jumper locations ................ 52

K

keypad template .................... 24

removing and inserting label ................................. 25

L

LCD/keypad module

contrast adjustment ........... 10

keypad template ................ 24

removing and inserting keypad label .............................. 25

M

memory ................................. 23

models ..................................... 2

OP6800 ............................... 2

OP6810 ............................... 2

mounting and installation

Demonstration Board ........ 67

OP6800 ....................... 44, 45

O

OP6800

introduction ......................... 1

P

pin 1 locations ....................... 48

pinout

Demonstration Board ........ 66

Ethernet port ..................... 22

OP6800 headers ................ 16

programming port ............. 96

power distribution ................. 63

power management ............... 57

power supply ............... 2, 57, 63

backup battery circuit ....... 58 battery backup ................... 58

chip select circuit .............. 60

connections ......................... 9

power distribution ............. 63

switching voltage regulator 57

VRAM switch ................... 59

power-up

demonstration program ..... 10

Program Mode ...................... 28

User’s Manual 99

programming

flash vs. RAM ...................27

programming cable ..............2

programming port ..............21

programming cable .................2

connections ........................11

DIAG connector ................96

switching between Program

Mode and Run Mode ....28

programming port .................21

pinout .................................96

used as diagnostic port ......96

R

Rabbit 2000

parallel ports ......................53

remote keypad operation .......17

reset .........................................9

hardware ..............................9

reset generator ...................59

RS-232 ..................................19

RS-485 ..................................19

RS-485 network ....................20

termination and bias resistors .................................20

Run Mode ..............................28

S

sample programs ...................30

BOARD_ID.C ...................30

Demonstration Board ........13

BUZZER.C ....................30

KEYPAD.C ...................30

SWITCHES.C ...............30

digital I/O

DIGIN.C ........................31

DIGOUT.C ....................31

how to set IP address .........37

ICOMDEMO.C .................10

LCD/keypad module .........31

ALPHANUN.C .............31

COFTERMA.C ..............31

DISPPONG.C ................31

DKADEMO1.C .............31

FUN.C .....................10, 31

KEYBASIC.C ...............32

KEYMENU.C ...............32

LED.C ............................32

SCROLLING.C .............32

TEXT.C .........................32

LCD/keypad module (with

TCP/IP)

MBOXDEMO.C ............40

TCP_RESPOND.C ........40

TCPSEND.C ..................40

OP6800 features ................13

PONG.C ............................13

power-up demonstration program ..............................10

serial communication

MASTER.C ...................31

PUTS.C ..........................31

RELAYCHR.C ..............31

SLAVE.C ......................31

TCP/IP .........................32, 37

PINGME.C ....................39

SSI.C ..............................39

TELNET.C ....................39

serial communication ............19

programming port ..............21

RS-232 description ............19

RS-485 description ............19

RS-485 network ................20

RS-485 termination and bias resistors .........................20

serial ports

Ethernet port ......................22

setup ........................................7

power supply connections ...9

programming cable connections ...............................11

remove RabbitCore module 11

software ...................................3

board initialization ............70

brdInit ............................70

digital I/O

digIn ...............................71

digOut ............................71

keypad

keyConfig ......................92

keyGet ...........................93

keyInit ............................92

keypadDef .....................94

keyProcess .....................93

keyScan .........................94

keyUnget .......................93

LCD display

glBackLight ...................75

glBlankScreen ...............76

glBlock ..........................76

glBuffLock ....................83

glBuffUnlock .................83

glDispOnOff ..................75

glDown1 ........................86

glFillCircle .....................79

glFillPolygon .................78

glFillScreen ...................76

glFillVPolygon ..............78

glFontCharAddr .............80

glGetBrushType ............84

glGetPfStep ...................81

glHScroll .......................87

glInit ..............................75

glLeft1 ...........................85

glPlotCircle ....................79

glPlotDot .......................84

glPlotLine ......................85

glPlotPolygon ................77

glPlotVPolygon .............77

glPrintf ...........................82

glPutChar .......................82

glPutFont .......................81

glRight1 .........................85

glSetBrushType .............84

glSetContrast .................76

glSetPfStep ....................81

glSwap ...........................83

glUp1 .............................86

glVScroll .......................88

glXFontInit ..............33, 80

glXPutBitmap ..........33, 88

glXPutFastmap ..............89

TextCursorLocation .......90

TextGotoXY ..................90

TextPrintf .......................91

TextPutChar ...................91

TextWindowFrame ........89

LCD/keypad module

ledOut ............................74

libraries ..............................29

PACKET.LIB ................72

RS232.LIB .....................72

TCP/IP ...........................29

sample programs ...............30

PONG.C ........................13

100 MiniCom (OP6800)

serial communication

flow control ................... 72

ser485Rx ....................... 73

ser485Tx ........................ 72 serCflowcontrolOff ....... 72 serCflowcontrolOn ........ 72 serMode ......................... 72

specifications

Demonstration Board

dimensions .................... 62 electrical ........................ 62 mechanical .................... 62 temperature .................... 62

OP6800

dimensions .................... 48

electrical ........................ 50

exclusion zone ............... 49

mechanical .................... 50 temperature .................... 50

subsystems ............................ 15

T

TCP/IP connections .............. 35

10Base-T Ethernet card .... 35

additional resources .......... 41

Ethernet hub ...................... 35 steps .................................. 35

Tool Kit ................................... 2

AC adapter .......................... 2

DC power supply ................ 2 programming cable ............. 2

User’s Manual ..................... 2 wire assembly ..................... 2

User’s Manual 101

102 MiniCom (OP6800)

S

CHEMATICS

090-0134 OP6800 Schematic

www.zworld.com/documentation/schemat/090-0134.pdf

090-0120 RCM2200 Schematic

www.zworld.com/documentation/schemat/090-0120.pdf

090-0119 RCM2300 Schematic

www.zworld.com/documentation/schemat/090-0119.pdf

090-0140 OP6800 Demonstration Board Schematic

www.zworld.com/documentation/schemat/090-0140.pdf

090-0128 Programming Cable Schematic

www.zworld.com/documentation/schemat/090-0128.pdf

The schematics included with the printed manual were the latest revisions available at the time the manual was last revised. The online versions of the manual contain links to the latest revised schematic on the Web site. You may also use the URL information provided above to access the latest schematics directly.

User’s Manual 103

advertisement

Was this manual useful for you? Yes No
Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Related manuals

advertisement

Table of contents