Page 2
Microsoft Corporation ™ • PLCBus is a trademark of Rabbit Semiconductor Inc. The latest revision of this manual is available on the Rabbit Semiconductor Web site, www.rabbit.com, for free, unregistered download. Rabbit Semiconductor Inc. www.rabbit.com...
Chapter 2: Getting Started Initial OP7100 Setup ................18 Parts Required ................. 18 Setting Up the OP7100 ..............18 Connecting the OP7100 to a Host PC ..........20 Running Dynamic C ................22 Chapter 3: Hardware OP7100 Subsystems Overview ............24 Computing Module .................
Page 5
General Mounting Recommendations ..........87 Appendix A: Troubleshooting Out of the Box ..................90 Dynamic C Will Not Start ..............91 Dynamic C Loses Serial Link .............. 91 OP7100 Repeatedly Resets ..............91 Common Programming Errors ............. 92 OP7100 Table of Contents...
BOUT ANUAL This manual provides instructions for installing, testing, configuring, and interconnecting the Rabbit Semiconductor OP7100 touchscreen operator interface. Instructions are also provided for using Dynamic C functions. Assumptions Assumptions are made regarding the user's knowledge and experience in the following areas.
Page 8
Universal Asynchronous Receiver Transmitter Icons Table 2 displays and defines icons that may be used in this manual. Table 2. Icons Icon Meaning Icon Meaning Note Refer to or see Please contact Caution High Voltage Factory Default viii About This Manual OP7100...
A vertical bar indicates that a choice should be made from among the items listed. Pin Number 1 A black square indicates Pin 1 pin 1 of all headers. Measurements All diagram and graphic measurements are in inches followed by millime- ters enclosed in parenthesis. OP7100 About This Manual ix...
Introduction The OP7100 is a serial graphic display in a compact, easy to integrate module. The OP7100 features an LCD that has a white background with blue images. The LCD has pixel graphics and provides two-color (mono- chrome) displays. Five standard fonts are included in the supplied soft- ware.
The OP7100 also includes battery-backed RAM (128K) and a battery- backed real-time clock a watchdog timer, and power-failure interrupt. Options The OP7100 series of serial displays has two versions. Table 1-1 lists their standard features. Table 1-1. OP7100 Series Features...
Development and Evaluation Tools The OP7100 is supported by a Tool Kit that include everything you need to start development with the OP7100. The Tool Kit includes these items. • Serial cable • 24 V DC power supply capable of delivering 1.1 A •...
Additional shielding or filtering may be required for a heavy industrial environment. • The OP7100 has been tested to meet the EN55022 Class A emissions standard with ferrite RFI suppressors on the I/O cables. Additional shielding or filtering may be needed to meet Class B emissions standards.
Figure 2-1. 3. Plug the connector back into the power connection header at the back of the OP7100. Watch the polarity of the connection so that the banded wire from the power supply goes to DCIN as shown in Figure 2-1.
Page 19
SUPPORT EATR ORLD DEMO TEC NICAL S PPORT 0 7 7 S PRT E IT E IT ispl E IT e T me u Figure 2-2. OP7100 Demo Screens OP7100 Getting Started 19...
Option 2 (directly)—Place a jumper across pins 1–2 of header J4 on the OP7100 as shown in Figure 2-5. Connect the PC COM port to the DB9 jack on the OP7100, header J7, using the DB9 to DB9 serial cable supplied with the Tool Kit.
Page 21
To PC J4 SIB2 Figure 2-5. Direct Programming Connection Option 2 uses an RS-232 serial port to program the OP7100. If this serial port is needed in your application, use the SIB as described in Option 1. See Chapter 3, “Hardware,” for more information on the serial ports.
The OP7100 should now alternately display the large font (17x × 35h) and the small font (6w × 8h). The fonts should scroll across the display. Compiling and running this sample program will overwrite the demonstration program shown in Figure 2-3.
ARDWARE HAPTER Chapter 3 describes how to use the OP7100. Sections are included to describe the following features. • Subsystems Overview • Power Management • Liquid Crystal Display • Keyboard Interface • Digital I/O • Serial Communication OP7100 Hardware 23...
OP7100 Subsystems Overview The OP7100 consists of several subsystems, including a computing module, serial communication channels, lquid crystal display (LCD), a buzzer, and a keypad interface. Figure 3-1 provides a block diagram of the OP7100. Digital Z180 SRAM Flash1 Flash2 ’691...
Power Management The OP7100 was designed to operate from a 12 V to 30 V DC source, and consumes about 4.5 W with the backlight on, 1.5 W with the backlight off. To allow for a surge current when the OP7100 is first turned on, the power supply used must be able to handle at least four times this power (for example, 800 mA at 24 V).
DC input (and hence, the number of stacked power- failure interrupts), the processor’s stack can overflow, possibly into your program’s code or data. The following sample program shows how to handle a power-failure interrupt. 26 Hardware OP7100...
; force a watchdog timeout, timeout ; resetting the Z180 #endasm Of course, if the input voltage continues to decrease, then the OP7100 will just power down. Call the Dynamic C function during the power-failure service hitwd routine to make sure that the watchdog timer does not time out and thereby reset the processor.
R34, between the comparator input and output pins. R34 can be found on the 175-0196 and the 175-0211 versions of the OP7100. The hysteresis prevents the comparator from switching rapidly—and therefore generating multiple interrupts—when the input voltage is falling slowly.
The 240 × 320 ¼ VGA LCD supports both graphics and text. Automatic contrast control is built in so that the contrast, once set, does not drift as the OP7100 warms up or is moved. Figure 3-4 provides a block diagram of the LCD control and RAM circuits.
Figure 3-6. Contrast Control Jumper Configurations Background The OP7100 comes factory-configured to display blue characters on a white (positive) background. The jumpers on header JP1 may be rear- ranged as shown in Figure 3-7 to display white characters on a blue (negative) background.
LCD Controller Chip The LCD controller chip provides support for the LCD module. The controller chip is attached to the data bus on the OP7100, and is mapped to the I/O address space. This interface is composed of eight data bits, one address line, and three control lines (RD, WR, and 1335-CS).
Page 33
SRAM to accept either one 32K or two 32K SRAM. One 32K part was standard. OP7100 units sold after June, 2006, have a new LCD controller chip because the previously used LCD controller chip is no longer available. The new LCD controller chip has 32K of internal SRAM.
Keypad Interface The OP7100 has a touchscreen, which is connected to the circuit board at header J5. Header J6 is available for a customer-supplied keypad for the OP7110. Table 3-1 lists the pinouts for headers J5 and J6. The pinout for header J5 is identical to the pinout for header J6.
Figure 3-12. OP7100 Digital Inputs The digital I/O are located on header J7, and are available through a con- nector on the outside of the OP7100 back cover. Figure 3-13 shows the pinout and the location of header J7. 10 12...
R2IN 232A Figure 3-14. Serial Channels The factory default configuration for the OP7100 is for one 5-wire RS-232 port (with RTS and CTS) and one half-duplex RS-485 port. An RS-485 channel can provide half-duplex asynchronous communication over twisted-pair wires for distances up to 3 km. Two other configurations, shown in Figure 3-14, are one 3-wire RS-232/one RS-485, and two 3-wire RS-232.
Page 37
RS-485+ and RS-485– signals. Figure 3-16 shows the header JP4 jumper configurations and the location of headers JP3 and JP4. RS-485 on RS-232 on header J11 header J11 Figure 3-16. Serial Communication Options for External Plug Connector (Header J11) OP7100 Hardware 37...
The availability of DCIN on pin 9 of header J7 allows a DC power supply to be made available to the device being connected to the OP7100. Rabbit Semiconductor has RS-232 support libraries for Z180 Ports 0 and 1. The following functional support for serial communication is included. •...
CTS/RTS Control The Z180’s hardware constrains its Port 0 to have the CTS (clear to send) pulled low by the RS-232 device to which it is talking. The OP7100 does not support CTS for the Z180’s Port 1. Modem Communication Modems and telephone lines facilitate RS-232 communication across great distances.
Dynamic C net- work software are used to develop an RS-485 network. The OP7100 can be linked together Figure 3-19. RS-485 Signals with other Rabbit Semiconductor controllers over a twisted-pair network for up to 1.2 km. When configuring a multidrop network, use single twisted-pair wires to connect RS-485+ to RS- 485+ and RS-485- to RS-485- as shown in Figure 3-20.
Page 41
Any Rabbit Semiconductor controller or the OP7100 can be a master or a slave. A network can have up to 255 slaves, but only one master. A multidrop network requires termination/bias resistors to minimize reflec- tions (echoing) and to keep the network line active during an idle state. The OP7100 termination resistors are already installed, and by default are en- abled by having jumpers installed on header J9.
Use of the Serial Ports If you plan to use the serial ports extensively, or if you intend to use syn- chronous communications, Rabbit Semiconductor recommends that you obtain copies of the following Zilog technical manuals, available from Zilog, Inc, in Campbell, California.
Figure 3-22 are directly accessible as internal registers. Microprocessor Internal Bus RDR0 TDR0 RXA0 RSR0 TSR0 TXA0 Shift Register In Shift Register Out /RTS0 CKA0 CNTLA0 Baud-Rate /CTS0 Generator CNTLB0 /DCD0 STAT0 Figure 3-22. Z180 Serial Channel 0 OP7100 Hardware 43...
Page 44
(channel 0 only). None of these interrupts is edge- /DCD0 triggered. Another interrupt will occur immediately if interrupts are re- enabled without disabling the condition causing the interrupt. The signal is grounded on the OP7100. /DCD0 Table 3-3 lists the interrupt vectors. Table 3-3. Serial Port Interrupt Vectors...
TDRE (Transmitter Data Register Empty) A 1 means that the channel is ready to accept another character. A high level on the pin forces this bit to 0 even though the transmitter is /CTS ready. OP7100 Hardware 45...
It is set even when one of the error flags is set, in which case defective data is still loaded to RDR. The bit is cleared when the receiver data register is read, when the input pin is high, and by /DCD0 RESET and IOSTOP. 46 Hardware OP7100...
I/O for Channel 1 serial port). TE (Transmitter Enable) This bit controls the transmitter: 1 ⇒ transmitter enabled, 0 ⇒ transmitter disabled. When this bit is cleared, the processor aborts the operation in progress, but does not disturb TDR or TDRE. OP7100 Hardware 47...
The MPB is 1 when MPBT is 1 and 0 when MPBT is 0. MPBT (Multiprocessor Bit Transmit) This bit controls the multiprocessor bit (MPB). When MPB is 1, transmit- ted bytes will get the attention of other units listening only for bytes with MPB set. OP7100 Hardware 49...
Page 50
9600 03 or 09 7200 14,400 23 or 29 2400 4800 04 or 0A 3600 7200 24 or 2A 1200 2400 05 or 0B 1800 3600 25 or 2B 1200 06 or 0C 1800 26 or 2C 50 Hardware OP7100...
Supplied Software Software drivers for controlling the OP7100 are provided with Dynamic C. Depending on the version of Dynamic C you are using, the OP71L.LIB or the libraries provide drivers specific to the OP71P.LIB EZIOOP71.LIB OP7100. In order to use the and other libraries, it OP71L.LIB...
Digital I/O No specific drivers have been written for the OP7100 digital I/O. The functions in the Dynamic C library can inport outport BIOS.LIB be used to read the inputs and write the outputs. The eight digital inputs (DIN0–DIN7) are bitmapped bits 0 through 7 of the input at 0x4140. Each digital output (OUT0–OUT7) is controlled by bit 0 at 0x4140 through...
); Real-Time Clock (RTC) The OP7100 has an Epson 72423 chip. The chip stores time and date, and accounts for the number of days in a month, and for leap year. A backup battery will allow the values in the RTC to be preserved if a power failure occurs.
EEPROM area. -4 if times out. WriteFlash function writes to the program flash WriteFlash EPROM. See the section later in this chapter for the SYS.LIB functions associated with the second flash EPROM. OP7100 Software...
Blanks (sets to white) the OP7100 screen. • void op71FillScreen( char pattern ); Fills the OP7100 LCD screen with a pattern. The screen will be set to all black if the pattern is 0xFF, all white if the pattern is 0x00, and vertical stripes for any other pattern.
Page 57
• void op71BuffLock( void ); Increments the OP7100 LCD screen locking counter. Graphics calls are recorded in the LCD memory buffer, but are not transferred to the LCD if the counter is non-zero.
Page 58
, and op71Left1 op71Right1 op71Up1 op71Down1 function calls may be called multiple times to provide a smoother scrolling effect than provided by the scroll function calls. Do not change the parameters to preserve the window being scrolled. Software OP7100...
Page 59
8. is the number of rows in the window. rows is the number of pixels to scroll (negative to scroll up). nPix OP7100 Software...
Page 60
(in pixels). is the width of the bitmap (in pixels). bmWidth is the height of the bitmap (in pixels). bmHeight is the RAM storage address. xmem Figure 3-8 shows the coordinate system for the LCD pixels. Software OP7100...
Page 61
Draws a rectangular block in the page buffer, and on the LCD if the buffer is unlocked. PARAMETERS: is the left edge of the pixel. is the top edge of the pixel. is the width of the block. bmWidth is the height of the block. bmHeight OP7100 Software...
Page 62
Plots the outline of a polygon in the LCD page buffer, and on the LCD if the buffer is unlocked. PARAMETERS: is the number of vertices. ) are the (x,y) coordinates of the first vertex. ) are the (x,y) coordinates of the first vertex... Software OP7100...
Page 63
Returns the bitmap address of the character in the font specified. PARAMETERS: is the font address in font xmem is the ASCII letter code. letter RETURN: bitmap address of the character in the font, column xmem major and byte-aligned. OP7100 Software...
Page 64
PARAMETERS: is the x step. stepX op71Printf is the y step. stepY op71Printf Software OP7100...
Keypad Programming The same library used in Dynamic C v. 5.xx, , is used with KP _ OP71.LIB Dynamic C 32. The function calls are described later in this chapter. OP7100 Software...
Using Dynamic C v. 5.xx EZIOOP71.LIB • void op71BackLight( int onOff ) Turns the backlight of the OP7100 on or off. PARAMETER: is non-zero to turn the backlight on, zero to onOff turn the backlight off. • void op71SetContrast( unsigned contrast ) Controls the contrast of the LCD.
Page 67
Pixels specified by subsequent gl functions will be displayed on the LCDPix = newPix GL_BLOCK LCD as is All four brush types can be used to display text or bitmaps. Do not use graphics primitive GL _ BLOCK glPlot glFill functions. OP7100 Software...
Page 68
• void glFillCircle( int xc, int yc, int rad ) Draws a filled-in circle on the LCD. PARAMETERS: is the x coordinate of the center. is the y coordinate of the center. is the radius of the circle. Software OP7100...
Page 69
The bitmap format is a column with the major byte aligned for each column. OP7100 Software...
This function should be called periodically to scan for keypad activities. RETURN VALUE: 0 if there is no change to the keypad, non-zero if there is any change to the keypad. Software OP7100...
Page 71
1 if the key is released, and 0 if the 8*row+col+edge*256 edge key is pressed. • void kpDefInit() Initializes the library to use the default state change function to inter- pret key presses when is called. Use kpScanState kpDefGetKey get the code of the last key pressed. OP7100 Software...
EPROM. (a physical address) points to the beginning of the block in the dest second flash EPROM mapped to memory space. is the length of the block to be copied. Software OP7100...
New LCD Controller Chip OP7100 units sold after June, 2006, have a new LCD controller chip because the previously used LCD controller chip is no longer available. The new LCD controller is not 100% code-compatible with the old chip, and therefore changes were made to the LCD drivers.
The wait main() states can be reduced to improve performance. The following statement sets up the proper wait states for the standard OP7100 (using a 90 ns flash memory). outport(DCNTL,(inport(DCNTL)&0xf)|0x60); The graphic LCD can be set up by a simple function call to op71Init();...
• Fonts must be bitmapped (not true type) and must be of fixed pitch. • Save font files as (version 3). .fnt The OP7100 uses a "vertical stripe" display logic format. The conversion utility programs (landscape image) and fntstrip.exe fntcvtr.exe...
The first task is to rename the array so that it is unique. Then you can decide whether the font/bitmap should be stored in root memory or in extended memory. Because bitmaps can be large and root memory space is precious, Rabbit Semiconductor recommends you to use to store xmem the font/bitmap.
ASCII code of the last character in the font, and is a xmemBuffer physical address pointing to the font table stored in xmem Rabbit Semiconductor supplies five font sizes for the OP7100. The smallest font, , compiles to , and each character is 6 engFont6x8 xmem pixels wide by 8 pixels high.
7. On the same drive line, the priority is from sense line 0 (highest priority) to sense line 7. Once a key activity is detected by , no further key kpScanState() activities will be detected by further calls to unless kpScanState() is called. kpDefGetKey() OP7100 Graphics Programming...
The connection to the building ground should always be made through the bezel. The recommended way to connect an OP7100 to a building ground is to mount the unit in a metal panel that is already grounded. Ensure that the areas around the securing nuts are clean and free from corrosion or other contaminants so that a good electrical connection can be realized.
When possible, following these guidelines when mounting an OP7100. 1. Leave sufficient ventilation space 2. Do not install the OP7100 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 high-voltage devices.
Mounting A bezel and a gasket are included with the OP7100. When properly mount- ed in a panel, the bezel of the OP7100 is designed to meet NEMA 4 speci- fications for water resistance. Since the OP7100 employs an LCD display, the viewing angle must be considered when mounting the display.
Figure 6-3. Strengthening Bracket General Mounting Recommendations If the OP7100 is mounted inside a panel, the enclosure must not be airtight to ensure that the touchscreen will not distorted by differences in air pressure. If the OP7100 is mounted in a completely airtight enclosure, a pressure differential may build up across the window overlay, and could adversely affect the operation of the touchscreen.
Appendix A provides procedures for troubleshooting system hardware and software. The sections include the following topics. • Out of the Box • Dynamic C Will Not Start • Dynamic C Loses Serial Link • OP7100 Repeatedly Resets • Common Programming Errors OP7100 Troubleshooting...
Out of the Box Check the items mentioned in this section before starting development. • Verify that the OP7100 runs in standalone mode before connecting any devices. • Verify that the entire host system has good, low-impedance, separate grounds for analog and digital signals. The OP7100 might be connected between the host PC and another device.
1–2 on header J4 are connected to reconfigure the board for programming mode as described in Chapter 2, “Getting Started.” If all else fails, connect the serial cable to the OP7100 after power up. If the PC’s RS-232 port supplies a large current (most commonly on portable and industrial PCs), some RS-232 level converter ICs go into a nonde- structive latch-up.
Leaving out ASCII space character between characters forming a different legal—but unwanted—operator. • Confusing similar-looking operators such as && with &, == with =, and // with /. • Inadvertently inserting ASCII nonprinting characters into a source-code file. Troubleshooting OP7100...
PECIFICATIONS PPENDIX Appendix B provides comprehensive physical, electronic, and environ- mental specifications for the OP7100. OP7100 Specifications...
Header and Jumper Configurations Figure B-3 shows the locations of the configurable headers on the OP7100. KEYPAD DANGER! HIGH VOLTAGE RS485 TERM. RS232 PRGM DIGITAL I/O PORT Figure B-3. OP7100 Headers Table B-2 lists the headers that carry signals. Table B-2. OP7100 Signal Headers...
Page 97
Table B-3 lists the jumper configurations. Table B-3. OP7100 Jumper Settings Pins Factory Header Function Connected Default 1–2 Positive LCD background 5–6 (blue characters on white 7–8 background) 11–12 1–3 Negative LCD background 4–6 (white characters on blue 7–9 background) 10–12...
EMORY PPENDIX I/O M NTERRUPT ECTORS Appendix C provides detailed information on memory and an I/O map. The interrupt vectors are also listed. OP7100 Memory, I/O Map, and Interrupt Vectors...
Floating exponent (exp(q);) 2503 Floating cosine (cos(q);) 3049 The execution times can be adjusted proportionally for clock speeds other than 9.216 MHz. Operations involving one wait state will slow the execution speed about 25%. OP7100 Memory, I/O Map, and Interrupt Vectors...
0x14 TMDR1L Timer Data Register Channel 1, least 0x15 TMDR1H Timer Data Register Channel 1, most 0x16 RLDR1L Timer Reload Register Channel 1, least 0x17 RLDR1H Timer Reload Register Channel 1, most continued… Memory, I/O Map, and Interrupt Vectors OP7100...
Page 103
0x37 — Reserved 0x38 MMU Common Base Register 0x39 MMU Bank Base Register 0x3A CBAR MMU Common/ Bank Area Register 0x3B–0x3D — Reserved 0x3E OMCR Operation Mode Control Register 0x3F I/O Control Register OP7100 Memory, I/O Map, and Interrupt Vectors...
D7–D0 10 months 0x418A YEAR1 D7–D0 years 0x418B YEAR10 D7–D0 10 years 0x418C WEEK D7–D0 day of week 0x418D TREGD D7–D0 Register D 0x418E TREGE D7–D0 Register E 0x418F TREGF D7–D0 Register F Memory, I/O Map, and Interrupt Vectors OP7100...
Z180) to invoke the function . The function must be myfunction() declared with the keyword, as shown below. interrupt interrupt myfunction() { Refer to the Dynamic C manuals for further details on interrupt functions. Memory, I/O Map, and Interrupt Vectors OP7100...
PPENDIX ERIAL NTERFACE OARD Appendix D provides technical details and baud rate configuration data for Rabbit Semiconductor’s Serial Interface Board (SIB). OP7100 Serial Interface Board 2...
Introduction The SIB is an interface adapter used to program the OP7100. The SIB is contained in an ABS plastic enclosure, making it rugged and reliable. The SIB enables the OP7100 to communicate with Dynamic C via the Z180’s clocked serial I/O (CSI/O) port, freeing the OP7100’s serial ports for use by the application during programming and debugging.
The battery has a capacity of 265 mA·h. At 25°C, the real-time clock draws 3 µA when idle, and the 128K SRAM draws 4 µA. If the OP7100 were unpowered 100 percent of the time, the battery would last 32, 000 hours (3.6 years).
Gebruikte batterijen afvoeren als door de fabrikant wordt aangegeven. Varning (Swedish) Explosionsfära vid felaktigt batteribyte. Använd samma batterityp eller en likvärdigt typ som rekommenderas av fabrikanten. Kassera använt batteri enligt fabrikantens instruktion. OP7100 Backup Battery 115...
CHEMATICS 090-0071 OP7100 Schematic www.rabbit.com/documentation/schemat/090-0071.pdf You may use the URL information provided above to access the latest schematic directly. OP7100 Schematics...
Need help?
Do you have a question about the OP7100 and is the answer not in the manual?
Questions and answers