Wildcat (BL2000) - Digi International
Transcription
Wildcat (BL2000) - Digi International
Wildcat (BL2000) C-Programmable Single-Board Computer with Ethernet User’s Manual 019–0094 • 090529–O Wildcat (BL2000) User’s Manual Part Number 019-0094 • 090529–O • Printed in U.S.A. ©2001–2009 Digi International Inc. • All rights reserved. No part of the contents of this manual may be reproduced or transmitted in any form or by any means without the express written permission of Digi International. Permission is granted to make one or more copies as long as the copyright page contained therein is included. These copies of the manuals may not be let or sold for any reason without the express written permission of Digi International. Digi International reserves the right to make changes and improvements to its products without providing notice. Trademarks Rabbit and Dynamic C are registered trademarks of Digi International Inc. Rabbit 2000 is a trademark of Digi International Inc. The latest revision of this manual is available on the Rabbit Web site, www.rabbit.com, for free, unregistered download. Digi International Inc. www.rabbit.com Wildcat (BL2000) TABLE OF CONTENTS Chapter 1. Introduction 1 1.1 BL2000 Description..............................................................................................................................1 1.2 BL2000 Features...................................................................................................................................1 1.2.1 Connector Options ........................................................................................................................2 1.3 Development and Evaluation Tools......................................................................................................3 1.3.1 Tool Kit .........................................................................................................................................3 1.3.2 Software ........................................................................................................................................4 1.4 CE Compliance .....................................................................................................................................5 1.4.1 Design Guidelines .........................................................................................................................6 1.4.2 Interfacing the BL2000 to Other Devices .....................................................................................6 Chapter 2. Getting Started 2.1 2.2 2.3 2.4 2.5 7 BL2000 Connections ............................................................................................................................7 Installing Dynamic C ..........................................................................................................................10 Starting Dynamic C ............................................................................................................................11 PONG.C ..............................................................................................................................................12 Where Do I Go From Here? ...............................................................................................................12 Chapter 3. Subsystems 13 3.1 BL2000 Pinouts ..................................................................................................................................14 3.1.1 Headers and Screw Terminals.....................................................................................................15 3.1.2 Power Supply Pins ......................................................................................................................16 3.2 Digital I/O ...........................................................................................................................................17 3.2.1 Digital Inputs...............................................................................................................................17 3.2.2 Digital Outputs............................................................................................................................19 3.3 Relay Outputs .....................................................................................................................................21 3.4 Serial Communication ........................................................................................................................22 3.4.1 RS-232 ........................................................................................................................................22 3.4.2 RS-485 ........................................................................................................................................22 3.4.3 Ethernet Port ...............................................................................................................................24 3.4.4 Programming Port .......................................................................................................................25 3.5 A/D Converter Inputs..........................................................................................................................27 3.6 D/A Converter Outputs .......................................................................................................................28 3.7 Memory...............................................................................................................................................30 3.7.1 SRAM .........................................................................................................................................30 3.7.2 Flash Memory .............................................................................................................................30 3.8 Programming Cable ............................................................................................................................31 3.8.1 Changing Between Program Mode and Run Mode ....................................................................31 3.9 Other Hardware...................................................................................................................................32 3.9.1 External Interrupts.......................................................................................................................32 3.9.2 Clock Doubler .............................................................................................................................32 3.9.3 Spectrum Spreader ......................................................................................................................33 Chapter 4. Software 35 4.1 An Overview of Dynamic C ...............................................................................................................35 4.1.1 Upgrading Dynamic C ................................................................................................................37 User’s Manual 4.2 Sample Programs................................................................................................................................ 38 4.2.1 General BL2000 Sample Programs ............................................................................................ 38 4.2.2 Digital I/O................................................................................................................................... 38 4.2.3 Serial Communication ................................................................................................................ 39 4.2.4 A/D Converter Inputs ................................................................................................................. 39 4.2.5 D/A Converter Outputs............................................................................................................... 40 4.2.6 Real-Time Clock ........................................................................................................................ 40 4.2.7 TCP/IP Sample Programs........................................................................................................... 40 4.3 BL2000 Libraries ............................................................................................................................... 41 4.4 BL2000 Function Calls ...................................................................................................................... 42 4.4.1 Board Initialization ..................................................................................................................... 42 4.4.2 Digital I/O................................................................................................................................... 44 4.4.3 Serial Communication ................................................................................................................ 45 4.4.4 Relay and LED Outputs.............................................................................................................. 46 4.4.5 A/D Converter Inputs ................................................................................................................. 47 4.4.6 D/A Converter Outputs............................................................................................................... 50 Chapter 5. Using the TCP/IP Features 53 5.1 TCP/IP Connections ........................................................................................................................... 53 5.2 TCP/IP Sample Programs................................................................................................................... 55 5.2.1 How to Set IP Addresses in the Sample Programs..................................................................... 55 5.2.2 How to Set Up your Computer’s IP Address for a Direct Connection ...................................... 56 5.3 Run the PINGME.C Sample Program................................................................................................ 57 5.4 Running More Sample Programs With a Direct Connection ............................................................. 58 5.5 Where Do I Go From Here? ............................................................................................................... 58 Appendix A. Specifications 59 A.1 Electrical and Mechanical Specifications.......................................................................................... 60 A.1.1 Headers ...................................................................................................................................... 63 A.2 Conformal Coating ............................................................................................................................ 64 A.3 Jumper Configurations ...................................................................................................................... 65 A.4 Use of Rabbit 2000 Parallel Ports ..................................................................................................... 67 Appendix B. Plastic Enclosure 69 B.1 Assembly ........................................................................................................................................... 70 B.2 Dimensions ........................................................................................................................................ 72 Appendix C. Power Supply 73 C.1 Power Supplies .................................................................................................................................. 73 C.1.1 Power for Analog Circuits ......................................................................................................... 74 C.2 Batteries and External Battery Connections...................................................................................... 74 C.2.1 Replacing the Backup Battery ................................................................................................... 75 C.2.2 Battery-Backup Circuit .............................................................................................................. 75 C.2.3 Power to VRAM Switch ............................................................................................................ 76 C.2.4 Reset Generator.......................................................................................................................... 77 C.3 Chip Select Circuit............................................................................................................................. 78 Appendix D. Demonstration Board 81 D.1 Connecting Demonstration Board ..................................................................................................... 81 Index 85 Schematics 89 Wildcat (BL2000) 1. INTRODUCTION The BL2000 is a high-performance, C-programmable singleboard computer that offers built-in digital and analog I/O combined with Ethernet connectivity in a compact form factor. A Rabbit® 2000 microprocessor operating at 22.1 MHz provides fast data processing. An optional plastic enclosure is available, and may be wall-mounted or panel-mounted. 1.1 BL2000 Description The BL2000 is an advanced single-board computer that incorporates the powerful Rabbit 2000 microprocessor, flash memory, static RAM, digital I/O ports, A/D converter inputs, D/A converter outputs, an SPDT relay output, and a 10Base-T Ethernet port. 1.2 BL2000 Features • Rabbit® 2000 microprocessor operating at 22.1 MHz. • 128K static RAM and 256K flash memory. • Up to 28 digital I/O: 11 protected digital inputs (plus up to 7 dual-purpose unbuffered analog inputs that may be software-configured for use as digital inputs) and 10 high-current digital sinking outputs that may be factory-configured as sourcing outputs. • 11 analog channels: nine 12-bit A/D converter inputs, two 12-bit D/A converter outputs. • Onboard SPDT relay. • One RJ-45 Ethernet port compliant with IEEE 802.3 standard for 10Base-T Ethernet protocol. • Eight status LEDs. • 4 serial ports (2 RS-232 or 1 RS-232 with RTS/CTS, 1 RS-485, and 1 CMOS-compatible programming port). • Real-time clock. • Watchdog supervisor. • Voltage regulator. User’s Manual 1 • Backup battery. • Ability to send e-mail and serve Web pages containing embedded data from singleboard computer. • Remote program downloading and debugging capability via RabbitLink. • Boards with the CE mark are CE-compliant. • Optional plastic enclosure (can be wall-mounted or panel-mounted) and LED light pipes (enclosure and light pipes are included with the Tool Kit, and are also sold separately). Appendix A provides detailed specifications. Four models of the BL2000 are available. Their standard features are summarized in Table 1. Table 1. BL2000 Series Features Model Features BL2000 Full-featured single-board computer. BL2010 BL2000 with eleven 10-bit A/D converter inputs (no D/A converter outputs). BL2020 BL2000 without Ethernet interface, only 6 LEDs. BL2030 BL2010 without Ethernet interface, only 6 LEDs. 1.2.1 Connector Options In addition to the standard screw-terminal connectors supplied on BL2000 boards, IDC headers, bottom-mount connectors, and polarized friction-lock terminals may be factoryinstalled instead. Visit our Web site at www.rabbit.com or contact your Rabbit sales representative or authorized distributor for further information. 2 Standard screw terminals, accept up to 14 AWG (1.5 mm2) wire “Bottom-mount connector” to mount BL2000 directly on 0.1" pitch pins located on motherboard 2 × 17 IDC headers, 0.1" pitch Polarized friction-lock terminals, 0.1" pitch Wildcat (BL2000) 1.3 Development and Evaluation Tools 1.3.1 Tool Kit A Tool Kit contains the hardware essentials you will need to use your own BL2000 singleboard computer. The items in the Tool Kit and their use are as follows: • Getting Started instructions. • Dynamic C CD-ROM, with complete product documentation on disk. • Programming cable, used to connect your PC serial port to the BL2000. • Universal AC adapter, 12 V DC, 1 A (includes Canada/Japan/U.S., Australia/N.Z., U.K., and European style plugs). • Demonstration Board with pushbutton switches and LEDs. The Demonstration Board can be hooked up to the BL2000 to demonstrate the I/O. • Wire assembly to connect Demonstration Board to BL2000. • Plastic enclosure with four screws and eight customer-installable light pipes. • Screwdriver. • Rabbit 2000 Processor Easy Reference poster. • Registration card. DIAG Programming Cable Universal AC Adapter with Plugs Screwdriver PROG Demo Board Wiring Harness Wildcat (BL2000) LED Light Pipes The BL2000 provides optional Ethernet connectivity in a low-cost, high-performance single-board computer rich with the digital I/O, A/D, and D/A designers need for embedded control and monitoring applications on a compact board. These Getting Started instructions included with the Tool Kit will help you get your BL2100 up and running so that you can run the sample programs to explore its capabilities and develop your own applications. Tool Kit Contents The BL2000 Tool Kit contains the following items: · · · · · · · · · · · · J1 • Dynamic C CD-ROM, with complete product documentation on disk. • Programming cable, used to connect your PC serial port to the BL2000. • Demonstration Board with pushbutton switches and LEDs. The Demonstration Board can be hooked up to the BL2000 to demonstrate the I/O. H2 LED1 LED2 LED3 LED4 • Plastic enclosure with four screws and eight customer-installable light pipes. • Screwdriver. • Getting Started instructions. • Registration card. SW3 SW4 1 SW2 BUZZER 2- SW1 H 1 • Rabbit 2000 Processor Easy Reference poster. ·· · · 8-7 · · 6-5 · · 4-3 · · 1-2 · · 3-4 DEMO BOARD · · 5-6 • Wire assembly to connect Demonstration Board to BL2000. Visit our online Rabbit store at www.rabbit.com/store/ for the latest information on peripherals and accessories that are available for the BL2000 single-board computers. B U Z LE ZE D R L 4 E D LE 3 D LE 2 D K 1 + 5 V SW 4 S W 3 SW 2 SW 1 G N D • Universal AC adapter, 12 V DC, 1 A (includes Canada/Japan/U.S., Australia/N.Z., U.K., and European style plugs). Step 1 — Install Dynamic C® Before doing any development, you must install Dynamic C. Insert the CD from the Development Kit in your PC’s CD-ROM drive. If the installation does not auto-start, run the setup.exe program in the root directory of the Dynamic C CD. Install any Dynamic C modules after you install Dynamic C. Rabbit and Dynamic C are registered trademarks of Digi International Inc. Getting Started Instructions Demo Board Plastic Enclosure Figure 1. BL2000 Tool Kit User’s Manual 3 1.3.2 Software The BL2000 is programmed using version 7.04 or later of Rabbit’s Dynamic C. A compatible version is included on the Tool Kit CD-ROM. Dynamic C v. 9.60 includes the popular µC/OS-II real-time operating system, point-to-point protocol (PPP), FAT file system, RabbitWeb, and other select libraries that were previously sold as individual Dynamic C modules. Rabbit also offers for purchase the Rabbit Embedded Security Pack featuring the Secure Sockets Layer (SSL) and a specific Advanced Encryption Standard (AES) library. In addition to the Web-based technical support included at no extra charge, a one-year telephonebased technical support subscription is also available for purchase. Visit our Web site at www.rabbit.com for further information and complete documentation, or contact your Rabbit sales representative or authorized distributor. 4 Wildcat (BL2000) 1.4 CE Compliance Equipment is generally divided into two classes. CLASS A CLASS B Digital equipment meant for light industrial use Digital equipment meant for home use Less restrictive emissions requirement: less than 40 dB µV/m at 10 m (40 dB relative to 1 µV/m) or 300 µV/m More restrictive emissions requirement: 30 dB µV/m at 10 m or 100 µV/m These limits apply over the range of 30–230 MHz. The limits are 7 dB higher for frequencies above 230 MHz. Although the test range goes to 1 GHz, the emissions from Rabbitbased systems at frequencies above 300 MHz are generally well below background noise levels. The BL2000 single-board computer has been tested and was found to be in conformity with the following applicable immunity and emission standards. The BL2010, BL2020, and BL2030 single-board computers are also CE qualified as they are sub-versions of the BL2000 singleboard computer. Boards that are CE-compliant have the CE mark. NOTE: Earlier versions of the BL2000 sold before 2003 that do not have the CE mark are not CE-compliant. Immunity The BL2000 series of single-board computers meets the following EN55024/1998 immunity standards. • EN61000-4-3 (Radiated Immunity) • EN61000-4-4 (EFT) • EN61000-4-6 (Conducted Immunity) Additional shielding or filtering may be required for a heavy industrial environment. Emissions The BL2000 series of single-board computers meets the following emission standards using the enhanced-EMI PCB, Part# 175-0224 Rev. A, and the 668-0003 Rev. A Rabbit 2000 microprocessor. • 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. User’s Manual 5 1.4.1 Design Guidelines Note the following requirements for incorporating the BL2000 series of single-board computers 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 BL2000 single-board computer to outdoor cables, the customer is responsible for providing CE-approved surge/lighting protection. • Rabbit recommends placing digital I/O or analog cables that are 3 m or longer in a metal conduit to assist in maintaining CE compliance and to conform to good cable design practices. • When installing or servicing the BL2000, it is the responsibility of the end-user to use proper ESD precautions to prevent ESD damage to the BL2000. Safety • All inputs and outputs to and from the BL2000 series of single-board computers must not be connected to voltages exceeding SELV levels (42.4 V AC peak, or 60 V DC). • The lithium backup battery circuit on the BL2000 single-board computer 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 BL2000 to Other Devices Since the BL2000 series of single-board computers is designed to be connected to other devices, good EMC practices should be followed to ensure compliance. CE compliance is ultimately the responsibility of the integrator. Additional information, tips, and technical assistance are available from your authorized Rabbit distributor, and are also available on our Web site at www.rabbit.com. 6 Wildcat (BL2000) 2. GETTING STARTED Chapter 2 explains how to connect the programming cable and power supply to the BL2000. 2.1 BL2000 Connections 1. Attach the BL2000 to the plastic enclosure base. Position the BL2000 over the plastic enclosure base as shown below in Figure 2. Attach the BL2000 to the base at the top left and bottom right positions using the two 4-40 × ¼ screws supplied with the enclosure. ery TION PW R LNK ACT BAD CAU + + DS4 GND GND 10 C52 DS3 C51 GN D 1 C50 DS2 GND Q6 DS8 C37 C42 C49 DS1 + DS7 C48 GND BT1 + C32 R43 R44 R45 R46 R47 R48 R49 D7 D8 D9 D10 D11 D12 D6 C47 K1 Q4 G DS6 Q3 DS5 C46 Y1 R26 R25 D 6 1 C45 3 2 R29 R21 Q1 5 R56 GND C9 R14 C12 C15 40 C40 3 C4 1 R5 7 R6 R52 C44 C77 J12 C5 C7 R8 U3 R22 C21 4 1 AGND AGND R3 C78 R18 C26 Q5 R41 R42 D4 D5 9 R5 R38 C43 GND R2 C79 R23 C14 R2 4 U5 15 C35 GND GN D C36 R3 8 9 R60 R54 R5 GND 9 R5 5 R5 C38 GND 1 C3 R50 GND IN2 7 R5 R36 J7 POWER IN J8 J10 R33 C33 3 C34 R3 2 R152 R32 R34 R35 R40 D3 C31 R31 L1 C13 C76 JP2 90 4 AG ND AGND C75 R5 U6 C29 1 1 AGND U2 65 R15 1 TVS D2 U4 Q2 R30 AGND DAC1 DAC0 ADC8 ADC7 ADC6 ADC5 ADC4 ADC3 ADC2 ADC1 ADC0 AGND R17 R154 U1 C18 C22 R27 R28 C27 C19 Y3 Y2 C17 C25 C28 J4 J3 TXD1 C2C3 C8 C11 R11 R10 R15 JP17 C80 R130 R16 R15 R19 R153 C16 C24 TXD2 RXD1 GND C4 R7 C10 R12 R20 C20 J6 C23 D1 RXD2 R13C1 R9 OU T0 485+ GND OU T1 485- J5 OU T2 IN0 GN D OU T3 IN1 Batt RST- GND R4 R6 S +K GND + GND GND R1 C85 +RAW J1 J2 GND J11 J9 IN3 IN4 IN5 IN6 IN7 IN8 IN9 IN10 OUT8 OUT9 GND OUT0 OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 NO COM NC GND Figure 2. Attach BL2000 to Plastic Enclosure Base The plastic enclosure base facilitates handling the BL2000 during development, and provides an attractive mounting alternative. Alternatively, you may wish to use standoffs to protect the components on the other side of the board. The plastic enclosure is offered as a separate option when individual BL2000 boards are purchased. NOTE: Appendix B, “Plastic Enclosure,” provides additional information and specifications for the plastic enclosure. User’s Manual 7 2. Connect the programming cable to download programs from your PC and to debug the BL2000. Connect the 10-pin PROG connector of the programming cable to header J5 on the BL2000. Ensure that the colored edge lines up with pin 1 as shown. (Do not use the DIAG connector, which is used for a normal serial connection.) Connect the other end of the programming cable to a COM port on your PC. To PC COM port Programming Cable Red shrink wrap Colored edge PROG DIAG GN D R4 R6 GND J5 PROG C78 R3 U5 AGND J12 C5 C7 C9 R22 C21 10 DS3 K1 DS4 Q4 1 R29 DS2 R26 R25 6 40 3 1 2 C26 C12 R21 C77 Q1 Y1 4 J5 R14 R18 5 Y2 C76 R152 15 Q2 R30 C19 C13 65 U4 AGND U3 R17 JP2 90 C25 AG ND R2 DS1 C18 C22 R27 R28 C27 R151 C23 AGND C75 R5 C79 R8 C80 R130 R16 R15 R19 R153 R154 U1 Y3 J6 AGND C4 R7 C17 C24 C2C3 AGND C8 U2 R23 R24 C14 C16 GND C15 R20 C20 R13C1 R9 AGND DAC1 DAC0 ADC8 ADC7 ADC6 ADC5 ADC4 ADC3 ADC2 ADC1 ADC0 C11 R11 R10 R157 JP1 C10R12 J4 J3 485+ RXD2 TXD2 RXD1 TXD1 PWR GND 485- LNK GND IN0 ACT R1 IN1 OUT 0 GND RST- + J1 J2 +K C85 +RAW GND Figure 3. Programming Cable Connections NOTE: Never disconnect the programming cable by pulling on the ribbon cable. Carefully pull on the connector to remove it from the header. NOTE: Some PCs now come equipped only with a USB port. It may be possible to use an RS-232/USB converter (Part No. 20-151-0178) with the programming cable supplied with the Tool Kit. Note that not all RS-232/USB converters work with Dynamic C. 8 Wildcat (BL2000) 3. Connect the power supply. First, prepare the AC adapter for the country where it will be used by selecting the plug. The BL2000 Tool Kit presently includes Canada/Japan/U.S., Australia/N.Z., U.K., and European style plugs. Snap in the top of the plug assembly into the slot at the top of the AC adapter as shown in Figure 4, then press down on the spring-loaded clip below the plug assembly to allow the plug assembly to click into place. Connect the bare ends of the power supply to the +RAW and GND positions on screwterminal header J2 as shown in Figure 4. Red Heat-Shrink Tubing + +RAW GND J2 RESET PIN J1 J2 GND +K GND RST- IN1 IN0 GND 485- GN D C10R12 GND J5 R4 R6 R1 485+ RXD2 TXD2 RXD1 TXD1 R13C1 R9 C80 R130 R16 R15 R19 R20 C20 R153 C16 Y3 C19 C24 J7 POWER IN GND GND GND + + 3 L1 U5 R32 R34 R35 R40 D3 R33 GN D C35 R38 R52 C40 R56 R60 2 C31 R31 C36 R39 R53 C41 R57 R61 4 C33 R36 R50 C38 R54 R58 1 C34 R37 R51 C39 R55 R59 Snap plug into place Q2 R30 C29 D2 Assemble AC Adapter 2 R151 Remove slot cover, insert tab into slot U4 C25 C28 TVS1 1 C23 D1 R154 C22 R27 R28 C27 Y2 C17 J6 GND GND R41 D4 C43 GND C44 GND J8 J10 IN2 IN3 IN4 IN5 IN6 IN7 IN8 IN9 IN10 OUT8 OUT9 GND Figure 4. Power Supply Connection 4. Apply power. Plug in the AC adapter. If you are using your own power supply, it must provide 9 V to 40 V DC—voltages outside this range could damage the BL2000. CAUTION: Unplug the power supply while you make or otherwise work with the connections to the headers. This will protect your BL2000 from inadvertent shorts or power spikes. NOTE: The green PWR LED and the red BAD LED on the opposite end of the board should come on, indicating that the BL2000 is now ready to be used. NOTE: A hardware RESET is done 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. User’s Manual 9 2.2 Installing Dynamic C If you have not yet installed Dynamic C version 7.04 (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 online documentation is installed along with Dynamic C, and an icon for the documentation menu is placed on the workstation’s desktop. Double-click this icon to reach the menu. If the icon is missing, create a new desktop icon that points to default.htm in the docs folder, found in the Dynamic C installation folder. The latest versions of all documents are always available for free, unregistered download from our web sites as well. 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. 10 Wildcat (BL2000) 2.3 Starting Dynamic C Once the BL2000 is connected to your PC and to a power source, start Dynamic C by double-clicking on the Dynamic C icon on your desktop or in your Start menu. Dynamic C defaults to using the serial port on your PC that you specified during installation. If the port setting is correct, Dynamic C should detect the BL2000 and go through a sequence of steps to cold-boot the BL2000 and to compile the BIOS. (Some versions of Dynamic C will not do the initial BIOS compile and load until the first time you compile a program.) If you are using a USB port to connect your computer to the BL2000, choose Options > Project Options and select “Use USB to Serial Converter.” Click OK. If you receive the message No Rabbit Processor Detected, the programming cable may be connected to the wrong COM port, a connection may be faulty, or the target system may not be powered up. First, check both ends of the programming cable to ensure that it is firmly plugged into the PC and the programming port. If there are no faults with the hardware, select a different COM port within Dynamic C. From the Options menu, select Communications. Select another COM port from the list, then click OK. Press <Ctrl-Y> to force Dynamic C to recompile the BIOS. If Dynamic C still reports it is unable to locate the target system, repeat the above steps until you locate the active COM port. You should receive a Bios compiled successfully message once this step is completed successfully. If Dynamic C appears to compile the BIOS successfully, but you then receive a communication error message when you compile and load a sample program, it is possible that your PC cannot handle the higher program-loading baud rate. Try changing the maximum download rate to a slower baud rate as follows. • Locate the Serial Options dialog in the Dynamic C Options > Communications menu. Select a slower Max download baud rate. If a program compiles and loads, but then loses target communication before you can begin debugging, it is possible that your PC cannot handle the default debugging baud rate. Try lowering the debugging baud rate as follows. • Locate the Serial Options dialog in the Dynamic C Options > Communications menu. Choose a lower debug baud rate. User’s Manual 11 2.4 PONG.C You are now ready to test your set-up by running a sample program. Find the file PONG.C, which is in the Dynamic C SAMPLES folder. To run the program, open it with the File menu (if it is not still open), 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 does not test the serial ports, the I/O, or the TCP/IP part of the board, but does ensure that the board is basically functional. The sample program described in Section 5.3, “Run the PINGME.C Sample Program,” tests the TCP/IP portion of the board. 2.5 Where Do I Go From Here? NOTE: If you purchased your BL2000 through a distributor or Rabbit partner, contact the distributor or partner first for technical support. If there are any problems at this point: • Use the Dynamic C Help menu to get further assistance with Dynamic C. • Check the Rabbit Technical Bulletin Board and forums at www.rabbit.com/support/bb/ and at www.rabbit.com/forums/. • Use the Technical Support e-mail form at www.rabbit.com/support/. If the sample program ran fine, you are now ready to go on to explore other BL2000 features and develop your own applications. Chapter 3, “Subsystems,” provides a description of the BL2000’s features, Chapter 4, “Software,” describes the Dynamic C software libraries and introduces some sample programs, and Chapter 5, “Using the TCP/IP Features,” explains the TCP/IP features. 12 Wildcat (BL2000) 3. SUBSYSTEMS Chapter 3 describes the principal subsystems for the BL2000. • Digital I/O • Relay Outputs • Serial Communication • A/D Converter Inputs • D/A Converter Outputs • Memory • External Interrupts Figure 5 shows these Rabbit-based subsystems designed into the BL2000. BL2000 Programming Port 32 kHz 11 MHz osc osc RS-232 Digital Inputs Digital Outputs RS-485 SRAM Flash RABBIT 2000 Relay Output A/D Converter Ethernet D/A Converter Figure 5. BL2000 Subsystems User’s Manual 13 3.1 BL2000 Pinouts The BL2000 pinouts are shown in Figure 6(a) and Figure 6(b). 2 IN4 3 IN5 4 IN6 J2 J8 J7 12 11 +RAW J8 1 IN3 J8 IN2 10 J6 GND +K 8 IN1 IN7 6 7 IN0 IN8 7 6 485 IN9 8 Serial Port Nomenclature 5 485+ IN10 9 HeaderJ2 Rabbit 2000 4 RXD2 OUT8 10 3 TXD2 OUT9 11 2 RXD1 GND 12 1 TXD1 OUT0 1 12 AGND OUT1 2 TxB RxB TxC/RTS RxC/CTS TXD1 RXD1 TXD2 RXD2 J9 J4 11 J8 /RESET 5 J8 9 DAC1 OUT2 3 10 DAC0 OUT3 4 9 ADC8 OUT4 5 8 ADC7 OUT5 6 7 ADC6 OUT6 7 6 ADC5 OUT7 8 5 ADC4 NO 9 4 ADC3 COM 10 3 ADC2 NC 11 2 ADC1 GND/VCC 12 1 ADC0 Battery DS1 DS2 DS3 DS4 DS5 DS6 DS7 DS8 GND VBATEXT GND J12 BAD OUT3 OUT2 OUT1 OUT0 ACT LNK PWR Figure 6(a). BL2000 Pinouts (screw-terminal headers) 14 Wildcat (BL2000) 3.1.1 Headers and Screw Terminals All BL2000 models are equipped with 1 × 12 screw terminal strips (J2, J4, J8, and J9) and a 2-pin power jack (J7). The BL2000 and BL2010 also have the RJ-45 Ethernet jack (J6). There is provision on the circuit board to accommodate one of the following types of connectors instead of the screw-terminal strips. • 2 × 17 IDC headers with a pitch of 0.1". • 1 × 17 friction-lock connectors with a pitch of 0.1". • 1 × 17 bottom-mount sockets with a pitch of 0.1". The holes for the bottom-mount sockets are on the “outside” edges of the connector locations The pinouts for these connectors are shown in Figure 6(b). IN2 IN3 GND IN4 IN5 GND IN6 IN7 GND IN8 IN9 GND IN10 OUT8 GND OUT9 GND 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 OUT0 OUT1 GND OUT2 OUT3 GND OUT4 OUT5 GND OUT6 OUT7 GND NO COM GND NC GND/VCC 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 J1 J10 J7 J6 Serial Port Nomenclature HeaderJ2 Rabbit 2000 TxB RxB TxC/RTS RxC/CTS TXD1 RXD1 TXD2 RXD2 J11 J3 Battery 33 31 29 27 25 23 21 19 17 15 13 11 9 7 5 3 1 +RAW GND GND +K /RESET GND IN1 IN0 GND 485 485+ GND RXD2 TXD2 GND RXD1 TXD1 33 31 29 27 25 23 21 19 17 15 13 11 9 7 5 3 1 AGND DAC1 AGND DAC0 ADC8 AGND ADC7 ADC6 AGND ADC5 ADC4 AGND ADC3 ADC2 AGND ADC1 ADC0 DS1 DS2 DS3 DS4 DS5 DS6 DS7 DS8 GND VBATEXT GND J12 BAD OUT3 OUT2 OUT1 OUT0 ACT LNK PWR Figure 6(b). BL2000 Pinouts (other 0.1" headers) User’s Manual 15 3.1.2 Power Supply Pins Instead of connecting an AC adapter to the power supply jack, J7, the input power supply (9 V to 40 V DC) may be connected to pins 12 and 11 on header J2 (see Figure 6(a) or Figure 6(b)). Pin 12 on header J9 or J10 is normally GND by factory default, but may be changed to Vcc by removing resistor R161 and installing resistor R160. See Appendix C, “Power Supply,” for more information on this configuration and for information on backupbattery options. 16 Wildcat (BL2000) 3.2 Digital I/O 3.2.1 Digital Inputs The BL2000 has 11 digital inputs, IN0–IN10, each of which is protected over a range of –36 V to +36 V. The inputs are factory-configured to be pulled up to +5 V, but they can also be pulled down by moving the surface-mounted jumper at JP6 as shown in Figure 7. JP6 JP6 3 Vcc 1 Factory Default 27 kW 22 kW 10 nF Rabbit 2000 Microprocessor GND Figure 7(a). BL2000 Digital Inputs [Pulled Up—JP6(1–2) connected] JP6 JP6 3 Vcc 1 27 kW +5 V 22 kW 10 nF Rabbit 2000 Microprocessor GND Figure 7(b). BL2000 Digital Inputs [Pulled Down—JP6(2–3) connected] User’s Manual 17 JP6 3 Vcc 1 27 kW 22 kW 10 nF Rabbit 2000 Microprocessor Figure 7(c). Example of Logic Gate Driving BL2000 Digital Input The actual switching threshold is approximately 2.40 V for channels IN0–IN10. Anything below this value is a logic 0, and anything above is a logic 1. The A/D converter inputs can be used as additional digital inputs using the parameters specified for the digIn software function call. The default threshold for channels IN11– IN21 is also set to 2.40 V, but may be changed by adding two lines to your program as discussed for the digIn software function call. The digital inputs are each fully protected over a range of -36 V to +36 V, and can handle short spikes of ±40 V. Normal Switching Levels Digital Input Voltage +40 V +36 V Spikes Spikes +3.3 V 40 V Spikes Figure 8. BL2000 Digital Input Protected Range 18 Wildcat (BL2000) 3.2.2 Digital Outputs The BL2000 has 10 digital outputs, OUT0–OUT9, each of which can either sink or source up to 200 mA, depending on how the outputs are configured. On boards that carry the CE mark, OUT8 and OUT9 are each capable of sinking up to 750 mA. Each output can be configured individually as either a sinking or a sourcing output as shown in Figure 9. The outputs can be pulled as a group to Vcc, +K, or GND through 27 kΩ resistors. Tie the outputs high to either Vcc or +K when using the outputs as sinking outputs (via 0 Ω resistors at R32 or R35 respectively), or tie the outputs to GND via R34 when using the outputs as sourcing outputs. +K is an externally supplied voltage of up to 40 V DC, and is used primarily in combination with current sourcing outputs, and must also be connected to an external supply when an inductive load is connected to a sinking output. NOTE: Remove the 27 kΩ resistors (R143–R150) from the output circuits if no pullup/down is required to avoid leakage between the outputs. These resistors are located on the bottom side of the BL2000 board above the solder points for screw terminal header J9. SINKING OUTPUTFactory Default K Vcc 0W 27 kW SOURCING OUTPUTSpecial Order Vcc 0W K 27 kW User’s Manual 19 Figure 9. BL2000 Digital Outputs The locations of the output pull-up/pull-down select resistors R32, R34, and R35 are shown in Figure 10. GND GN D GND + BAD Q5 C32 R41 R42 R43 R44 R45 R46 R47 R48 R49 D4 D5 D6 D7 D8 D9 D10 D11 D12 C43 GND OUT 1 Battery SRAM + G C44 GND C45 C46 C47 C48 GND C49 GND C50 C51 GN D C52 Q6 DS8 C37 C42 GND C35 R38 R52 C40 R56 R60 GND C36 R39 R53 C41 R57 R61 J7 POWER IN R33 C33 R36 R50 C38 R54 R58 3 C31 R31 L1 C34 R37 R51 C39 R55 R59 2 + + 4 BT1 S 1 Q3 DS7 D2 R32 R34 R35 R40 D3 D DS6 C29 Q4 DS5 TVS1 U6 OUT 2 C26 OUT 3 R29 Q2 R30 C25 C28 DS4 D1 OUT 0 R32 R34 R35 GND GND GND J8 J10 J11 J9 IN2 IN3 IN4 IN5 IN6 IN7 IN8 IN9 IN10 OUT8 OUT9 GND OUT0 OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 NO COM NC GND/VCC Figure 10. Locations of Resistors R32, R34, and R35 All BL2000 models are factory-configured with sinking outputs and pull-up resistors tied to Vcc via a 0 Ω resistor at R32. 20 Wildcat (BL2000) 3.3 Relay Outputs Figure 11 shows the BL2000 relay contact connections. A diode across the coil provides a return path for inductive spikes, and snubbers across the relay contacts protect the relay contacts from inductive spikes. 9 11 J9 Vcc 1 10 Rabbit 2000 Microprocessor 10 8 COM 7 NO 9 NC 3 COM 4 NO 2 NC 47 W 100 nF 47 W 100 nF Figure 11. BL2000 Relay Output Contact Connections The relay is driven by PA0, which is the same Rabbit 2000 parallel port that drives OUT0 and LED DS4. OUT0 therefore works in parallel with the relay output. The relay included on the BL2000 has contacts rated for 1 A @ 30 V DC or 300 mA @ 120 V AC. When using the BL2000 in a CE-certified application, the voltages handled by the relay must not exceed SELV levels (42.4 V AC peak, or 60 V DC). User’s Manual 21 3.4 Serial Communication The BL2000 has one RS-232 serial channel (with RTS/CTS) or two RS-232 (3-wire) channels, one RS-485 serial channel, and one CMOS serial channel. The RS-232 channel(s) are configured with the serMode software function call. Table 2 summarizes the options. Table 2. Serial Communication Configurations Serial Port Mode B C D 0 RS-232, 3-wire RS-232, 3-wire RS-485 1 RS-232, 5-wire CTS/RTS RS-485 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 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 BL2000 series 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 BL2000 uses an 11.0592 MHz crystal, which is doubled to 22.1184 MHz. At this frequency, the BL2000 supports standard baud rates up to a maximum of 230,400 bps. 3.4.1 RS-232 The BL2000 RS-232 serial communication is supported by an RS-232 transceiver, U1. U1 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. U1 also provides the proper line loading for reliable communication. RS-232 can be used effectively at this baud rate for distances up to 15 m. 3.4.2 RS-485 The BL2000 has one RS-485 serial channel, which is connected to the Rabbit 2000 Serial Port D through U8, an RS-485 transceiver. U8 supports the RS-485 serial communication protocol. The chip’s slew rate limiters provide for a maximum baud rate of 230,400 bps, which allows for a network of up to 300 m (or 1000 ft). The half-duplex communication uses the Rabbit 2000’s PB6 pin to control the transmit enable on the communication line. The BL2000 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 12. Note that a common ground is recommended. 22 Wildcat (BL2000) RST- IN1 IN0 485- GND J4 J3 AGND C75 R5 C79 AGND R2 AG ND C78 R3 AGND C5 C7 AGND R8 U3 R18 R21 J12 C9 C12 R14 AGND DAC1 DAC0 ADC8 ADC7 ADC6 ADC5 ADC4 ADC3 ADC2 ADC1 ADC0 C2C3 AGND C8 U2 C4 R7 C76 R152 C11 R11 R10 R157 JP1 R17 C13 J1 J2 +RAW GND GND R1 +K GND RST- IN1 GND R4 R6 IN0 GND GND C18 485+ RXD2 TXD2 RXD1 TXD1 J5 R13C1 R9 Y3 C19 Y2 U5 J4 J3 GN AGND C75 R5 C79 AGND C4 R7 C76 R152 C11 R11 R10 R157 JP1 R17 C13 R2 AGND R23 C14 R3 AG ND C78 AGND R21 C9 R14 C12 GND R1 GND GND R4 R6 GND R13C1 R9 GND C18 485+ RXD2 TXD2 RXD1 TXD1 RX Y3 C19 Y2 U5 J4 J3 R2 R3 AGND C5 C7 AGND R8 U3 R18 C15 C77 Q1 AG ND C78 R22 C21 R21 C9 J12 C12 R14 AGND DAC1 DAC0 ADC8 ADC7 ADC6 ADC5 ADC4 ADC3 ADC2 ADC1 ADC0 AGND C76 R152 C11 R11 R10 R157 JP1 R17 C13 C4 R7 C75 R5 C79 AGND JP2 C2C3 AGND C8 U2 C80 R130 R16 R15 R19 R153 R154 U1 485- GN D C16 C10R12 C17 R20 C20 IN0 485+ C5 C7 R18 U3 R8 C77 Q1 R22 C21 IN1 5 RST- 485 +K 6 +RAW GND IN0 J5 7 J1 J2 IN1 J12 8 AGND DAC1 DAC0 ADC8 ADC7 ADC6 ADC5 ADC4 ADC3 ADC2 ADC1 ADC0 J2 JP2 C2C3 AGND C8 U2 C80 R130 R16 R15 R19 R153 R154 U1 485- GN D C10R12 C16 R20 C20 C17 C85 GND 485+ RXD2 TXD2 RXD1 TXD1 J5 JP2 C15 C77 Q1 C85 GN D C85 GND C18 R22 C21 + +K GND R13C1 R9 U5 /RESET + +RAW GND GND R4 R6 C19 Y2 C80 R130 R16 R15 R19 R153 R154 U1 Y3 + J1 J2 R1 C10R12 C16 R20 C20 C17 +K 10 23 R23 C14 DS1 C15 DS1 R23 C14 DS1 User’s Manual 9 PWR LNK PWR LNK PWR LNK Ground recommended Figure 12. Multidrop BL2000 Network R24 DS2 R24 DS2 R24 DS2 The BL2000 comes with a 220 Ω termination resistor and two 681 Ω bias resistors installed and enabled with jumpers across pins 1–2 and 3–4 on header JP1, as shown in Figure 13. U8 6 2 4 bias 1 3 R68 681 W termination R70 220 W bias R77 681 W GND 4 2 Factory Default JP1 AGND DAC1 DAC0 ADC8 ADC7 ADC6 ADC5 ADC4 ADC3 ADC2 ADC1 ADC0 C2C3 AGND C8 U2 AGND AGND C75 R5 C79 R2 AG ND C78 R3 AGND U3 C4 R7 U1 AGND C5 C7 R8 J12 C9 R14 R18 C11 R11 R10 R157 JP1 485 J4 J3 RXD1 TXD1 C85 7 JP1 1 + 485+ 3 C12 Figure 13. RS-485 Termination and Bias Resistors 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 the intervening BL2000 units in the network by removing both jumpers from header JP1. 3.4.3 Ethernet Port Figure 14 shows the pinout for the Ethernet port (J6). 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 14) are always absolute, and the RJ-45 connector will work properly with off-the-shelf Ethernet cables. ETHERNET J6 1 8 1. 2. 3. 6. RJ-45 Plug E_Tx+ E_Tx E_Rx+ E_Rx RJ-45 Jack Figure 14. RJ-45 Ethernet Port Pinout RJ-45 pinouts are sometimes numbered opposite to the way shown in Figure 14. 24 Wildcat (BL2000) The transformer/connector assembly ground is connected to the BL2000 printed circuit board digital ground via a 0 Ω resistor “jumper,” R1, as shown in Figure 15. RJ-45 Ethernet Plug R1 Board Ground Chassis Ground Figure 15. Isolation Resistor R1 The factory default is for the 0 Ω resistor “jumper” at R1 to be installed. In high-noise environments, it may be useful to ground the transformer/connector assembly directly through the chassis ground. This will be especially helpful to minimize ESD and/or EMI problems. Once you have removed the 0 Ω resistor “jumper,” R1, use a ring lug to attach the BL2000 to the chassis ground, thereby grounding the transformer/connector assembly. A convenient position for the ring lug has been provided at the top-left mounting screw hole near the RJ-45 jack as shown in Figure 16. +RAW GND Remove R1 J1 J2 Add solder lug to connect ground wire to chassis GND R1 +K GND RST- IN1 IN0 GND 485- GN D R4 R6 C10R12 R20 C20 485+ RXD2 TXD2 RXD1 TXD1 GND J5 R13C1 R9 C80 R130 R16 R15 R19 R153 C16 Y3 C19 C24 R151 C23 D1 U4 Q2 R154 U5 C22 R27 R28 C27 Y2 C17 J6 GND Figure 16. Recommended Location for Ring Lug 3.4.4 Programming Port The BL2000 has a 10-pin programming header labeled J5. The programming port uses the Rabbit 2000’s Serial Port A for communication. Dynamic C uses the programming port to download and debug programs. The programming port is also used for the following operations. • Cold-boot the Rabbit 2000 after a reset. • Remotely download and debug a program over an Ethernet connection using the RabbitLink EG2110. • Fast copy designated portions of flash memory from one Rabbit-based board (the master) to another (the slave) using the Rabbit Cloning Board. User’s Manual 25 Alternate Uses of the Serial Programming Port All three clocked Serial Port A signals are available as • a synchronous serial port • an asynchronous serial port, with the clock line usable as a general CMOS input The serial programming port may also be used as a serial port via the DIAG connector on the serial programming cable. In addition to Serial Port A, the Rabbit 2000 startup-mode (SMODE0, SMODE1), status, and reset pins are available on the serial programming port. The two startup mode pins determine what happens after a reset—the Rabbit 2000 is either cold-booted or the program begins executing at address 0x0000. These two SMODE pins can be used as general inputs once the cold boot is complete. The status pin is used by Dynamic C to determine whether a Rabbit microprocessor is present. The status output has three different programmable functions: 1. It can be driven low on the first op code fetch cycle. 2. It can be driven low during an interrupt acknowledge cycle. 3. It can also serve as a general-purpose output. The /RESET_IN pin is an external input that is used to reset the Rabbit 2000 and the onboard peripheral circuits on the RabbitCore module. The serial programming port can be used to force a hard reset on the RabbitCore module by asserting the /RESET_IN signal. Refer to the Rabbit 2000 Microprocessor User’s Manual for more information. 26 Wildcat (BL2000) 3.5 A/D Converter Inputs The single 14-channel A/D converter used in the BL2000 has a resolution of 12 bits (models BL2000 and BL2020) or 10 bits (models BL2010 and BL2030). Eleven of the 14 channels are available externally, and three are used internally for the reference voltages: 4.096 V (Vref), 2.048 V (Vref/2), and Analog Ground. These internal voltages can be used to check the functioning of the A/D converter. The A/D converter only measures voltages between 0 V and the applied reference voltage. Therefore, each external input has circuitry that provides scaling and buffering. The first four external inputs are scaled and buffered to provide the user with an input impedance of 1 MΩ and a range of -10.24 V to +10.24 V. The remaining five or seven inputs are not buffered, but are scaled to provide inputs that can range from 0 V to +49 V. Figure 17 shows the buffered A/D converter inputs. 100 pF 100 pF +V 200 kW ADC0 ADC1 R IN 1 MW To ADC AGND Figure 17. Buffered A/D Converter Inputs The op-amp is powered from the +V supply. The 1 MΩ and 200 kΩ resistors set the gain (scale factor), which is 0.2 in this case. This results in a dynamic input range of 4.096 V ÷ 0.2 or 20.48 V. The center point of this range is set by the 1.707 V reference voltage. With the reference set to 1.707 V, the center point is at 0 V and the input voltage can range from -10.24 V to +10.24 V. To maintain the best accuracy, the input range should be limited to -10.0 V to +10.0 V. The five or seven unbuffered inputs have an impedance of 12 kΩ and a scale factor of 0.0833, which provides for an input voltage range of 0 V to 49.15 V. Accuracy is maintained over the specified voltage range from 0 V to 48 V DC. The analog inputs can also be used as digital inputs when required. In this case a lower quality 10-bit D/A converter can be used, and the software would assign a 1 or 0 to a voltage based on whether it is above or below a particular threshold. See the digIn function description for more information. User’s Manual 27 3.6 D/A Converter Outputs Figure 18 shows the analog voltage reference circuit. +V 100 W DAC_PWR 14 kW 100 nF 4.096 V ref diode 4.096_VREF JP3 3 2 1 +V 453 W 1.707_VREF 10 kW 100 nF Figure 18. Analog Reference Voltages This circuit generates the 4.096 V reference voltage, which is used by the A/D converter and optionally by the two D/A converters. This sets the operating range of the A/D converter and the D/A converters (0–4.096 V). To use the full accuracy of the A/D converter and the D/A converters, this voltage must be accurate to the same degree. Under normal operation, the 453 Ω resistor is not installed. The reference zener diode in combination with the 100 Ω resistor form a shunt regulator. The 4.096 V reference voltage then feeds the A/D converter, the D/A converters, and the voltage divider composed of the 10 kΩ and the 14 kΩ resistors. The voltage divider generates a second reference voltage of 1.707 V to feed the four op-amps for the buffered A/D converter inputs. The reference voltage can be ratiometric rather than absolute. This is done by removing the zener diode and installing the 453 Ω resistor. With this arrangement, the reference voltages follow changes in the power supply voltages Vcc and V+, which is a filtered version of Vcc. This type of measurement circuit is preferred by some customers whose sensors are powered from the Vcc supply and hence the outputs track Vcc. A jumper on header JP3 allows the D/A converters to be powered either from the 4.096 V reference (factory default) or from the analog supply +V. The D/A converters use their power source also as the reference input, so normally powering the D/A converters from the more accurate 4.096 V reference is best. However, should a customer desire more dynamic range (0–5 V rather than 0–4.096 V), the jumper across JP3 can be set to power the D/A converters from +V. When powered from the +V supply, the outputs of the D/A converters will always be ratiometric, independent of whether the zener diode is installed. 28 Wildcat (BL2000) Only the BL2000 and the BL2020 models are stuffed with D/A converters. The D/A converters provide only a voltage output. This means that in order to maintain the maximum accuracy of the D/A converters, only a small amount of current should be drawn from the D/A converter output (of the order of µA). With D/A converters installed, the user has the option of using an unbuffered A/D converter input to read the output of a D/A converter or one of the two fixed voltages +V or Vcc. The standard BL2000 configuration is for A/D converter channels 9 and 10 to monitor D/A converter channels 0 and 1 respectively. Figure 19 shows the D/A converter outputs with buffer amplifiers, which may be used to increase the D/A converter output voltage range to 0 V to +10 V. ADC 11 kW DAC0 10 nF 1 kW AIN9 DAC0 DAC1 + + AGND Figure 19. D/A Converter Outputs User’s Manual 29 3.7 Memory Section A.3, “Jumper Configurations,” shows where the 0 Ω surface-mounted “jumpers” described in this section are found. 3.7.1 SRAM The BL2000 is designed to accept 128K to 512K of SRAM packaged in an SOIC case. The standard models come with 128K of SRAM. Table 3 lists the jumper settings for the jumpers used to set the SRAM size. The “jumpers” are 0 Ω surface-mounted resistors. Table 3. Memory Jumper Selections SRAM (JP5) Flash Memory (JP4) 1–2 128K 1–2 128K/256K 2–3 512K 2–3 512K 3.7.2 Flash Memory The BL2000 is also designed to accept 128K to 512K of flash memory packaged in a TSOP case. The BL2000 comes with one 256K flash memory. Table 3 lists the jumper settings for the jumpers used to set the SRAM size. The “jumpers” are 0 Ω surface-mounted resistors. NOTE: Rabbit recommends that any customer applications should not be constrained by the sector size of the flash memory since it may be necessary to change the sector size in the future. A Flash Memory Bank Select jumper configuration option exists at JP2 with 0 Ω surfacemounted resistors. 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 218, Implementing a Serial Download Manager for a 256K Flash, for details. 30 Wildcat (BL2000) 3.8 Programming Cable The programming cable is used to connect the BL2000’s programming port to a PC serial COM port. The programming cable converts the RS-232 voltage levels used by the PC serial port to the TTL voltage levels used by the Rabbit 2000. When the PROG connector on the programming cable is connected to the BL2000’s programming header, programs can be downloaded and debugged over the serial interface. The DIAG connector of the programming cable may be used on the BL2000’s programming header with the BL2000 operating in the Run Mode. This allows the programming port to be used as a regular serial port. 3.8.1 Changing Between Program Mode and Run Mode The BL2000 is automatically in Program Mode when the PROG connector on the programming cable is attached to the BL2000, and is automatically in Run Mode when no programming cable is attached. When the Rabbit 2000 is reset, the operating mode is determined by the status of the SMODE pins. When the programming cable’s PROG connector is attached, the SMODE pins are pulled high, placing the Rabbit 2000 in the Program Mode. When the programming cable’s PROG connector is not attached, the SMODE pins are pulled low, causing the Rabbit 2000 to operate in the Run Mode. Program Mode To PC COM port Red shrink wrap Run Mode Programming Cable Colored edge GND RESET PIN DIAG PWR LNK PWR LNK ACT ACT OUT 0 OUT 1 OUT 2 OUT 3 Battery + + + + OUT 0 BAD BAD C44 GND C45 C46 C47 C48 GND C49 GND C50 C51 GN D C52 Q6 DS8 C37 C42 GND + DS7 NC + Q5 DS6 COM DS5 NO DS4 OUT0 OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 GND 10 IN10 OUT8 OUT9 GND BT1 G C32 R41 R42 R43 R44 R45 R46 R47 R48 R49 D4 D5 D6 D7 D8 D9 D10 D11 D12 C43 DS3 IN9 K1 Q4 D Q3 1 IN8 R29 C26 DS2 IN7 GND 3 1 2 DS1 IN6 4 R21 Q1 R26 R25 IN5 GN D C77 6 IN4 GND R33 R22 C21 Y1 R32 R34 R35 R40 D3 C9 C12 5 IN3 GND GND C31 R31 L1 J7 POWER IN GND J11 J9 IN2 3 C76 R152 J12 R14 R18 R24 GND AGND C5 C7 U3 R23 C14 GND AGND R3 C15 C52 C78 15 C51 GN D 2 JP2 U5 40 C50 AG ND R2 R17 C13 90 GND AGND C75 R5 C79 65 C49 4 C35 R38 R52 C40 R56 R60 C48 GND AGND U6 C36 R39 R53 C41 R57 R61 C47 1 C33 R36 R50 C38 R54 R58 C46 Q2 R30 C34 R37 R51 C39 R55 R59 C45 C19 Y2 C29 D2 C2C3 AGND C8 U2 R153 R154 U1 C18 U4 C25 C28 DS8 C37 C42 GND J8 J10 C80 R130 R16 R15 R19 C24 Power AGND DAC1 DAC0 ADC8 ADC7 ADC6 ADC5 ADC4 ADC3 ADC2 ADC1 ADC0 C4 R7 Y3 C23 D1 GND C11 R11 R10 R157 JP1 DS7 C44 Q6 R13C1 R9 J5 C16 TVS1 DS6 + Q5 GND C17 J6 J4 J3 485+ RXD2 TXD2 RXD1 TXD1 R8 R151 DS5 GND DS4 + 485- GN D C22 R27 R28 C27 10 BT1 G C32 R41 R42 R43 R44 R45 R46 R47 R48 R49 D4 D5 D6 D7 D8 D9 D10 D11 D12 C43 DS3 1 D IN0 R20 C20 DS2 R26 R25 6 K1 Q4 IN1 GND C10R12 DS1 R21 RST- R4 R6 C12 R29 Q3 GND R14 5 GND 3 +K R1 C9 Q1 R24 GN D C77 1 2 15 GND 40 GND C35 R38 R52 C40 R56 R60 GND C36 R39 R53 C41 R57 R61 C33 R36 R50 C38 R54 R58 J7 POWER IN 4 R32 R34 R35 R40 D3 R33 R22 C21 C26 U6 C31 R31 L1 C34 R37 R51 C39 R55 R59 3 C76 R152 Y1 90 Q2 R30 C13 JP2 U5 GND J12 C5 C7 R18 65 U4 R151 TVS1 2 R3 J1 J2 AGND U3 R23 C14 C19 Y2 C29 4 C78 R17 R153 R154 U1 C18 C22 R27 R28 C27 C24 1 R2 AGND C15 Y3 D2 C75 R5 C79 AG ND C11 R11 R10 R157 JP1 C80 R130 R16 R15 R19 C16 C25 C28 AGND R8 C17 Power U2 AGND C4 R7 C10R12 C23 D1 C2C3 C8 AGND OUT 1 R13C1 R9 +RAW GND AGND DAC1 DAC0 ADC8 ADC7 ADC6 ADC5 ADC4 ADC3 ADC2 ADC1 ADC0 OUT 2 J5 GND OUT 3 GND PROG R20 C20 J6 J4 J3 485+ RXD2 TXD2 RXD1 TXD1 Battery R4 R6 R1 485- GN D S IN0 S IN1 GND + RST- + GND C85 GND +K C85 +RAW GND J1 J2 GND GND GND J8 J10 J11 J9 IN2 IN3 IN4 IN5 IN6 IN7 IN8 IN9 IN10 OUT8 OUT9 GND OUT0 OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 NO COM NC GND RESET BL2000 when changing mode: Short out RESET pin on header J2 to ground, OR Cycle power off/on after removing or attaching programming cable. Figure 20. BL2000 Program Mode and Run Mode Setup A program “runs” in either mode, but can only be downloaded and debugged when the Jackrabbit is in the Program Mode. Refer to the Rabbit 2000 Microprocessor User’s Manual for more information on the programming port and the programming cable. User’s Manual 31 3.9 Other Hardware 3.9.1 External Interrupts BL2000 boards with a Rabbit 2000 microprocessor labeled IQ3T or higher have external interrupts available on digital inputs IN2 and IN3. Older BL2000 boards (Rabbit 2000 microprocessors labeled IQ2T) have one external interrupt available—see Technical Note TN301, Rabbit 2000 Microprocessor Interrupt Problem, for further information on how to use this interrupt on the older boards. 3.9.2 Clock Doubler The BL2000 takes advantage of the Rabbit 2000 microprocessor’s internal clock doubler. A built-in clock doubler allows half-frequency crystals to be used to reduce radiated emissions. The 22.1 MHz frequency is generated using an 11.0592 MHz crystal. The clock doubler is disabled automatically in the BIOS for crystals with a frequency above 12.9 MHz. The clock doubler may be disabled if 22.1 MHz clock speeds are not required. Disabling the Rabbit 2000 microprocessor’s internal clock doubler will reduce power consumption and further reduce radiated emissions. The clock doubler is disabled with a simple configuration macro as shown below. 1. Select the “Defines” tab from the Dynamic C Options > Project Options menu. 2. Add the line CLOCK_DOUBLED=0 to always disable the clock doubler. The clock doubler is enabled by default, and usually no entry is needed. If you need to specify that the clock doubler is always enabled, add the line CLOCK_DOUBLED=1 to always enable the clock doubler. The clock speed will be doubled as long as the crystal frequency is less than or equal to 26.7264 MHz. 3. Click OK to save the macro. The clock doubler will now remain off whenever you are in the project file where you defined the macro. 32 Wildcat (BL2000) 3.9.3 Spectrum Spreader BL2000 boards that carry the CE mark have a Rabbit 2000 microprocessor that features a spectrum spreader, which helps to mitigate EMI problems. By default, the spectrum spreader is on automatically for BL2000 boards that carry the CE mark when used with Dynamic C 7.32 or later versions, but the spectrum spreader may also be turned off or set to a stronger setting. The means for doing so is through a simple configuration macro as shown below. 1. Select the “Defines” tab from the Dynamic C Options > Project Options menu. 2. Normal spreading is the default, and usually no entry is needed. If you need to specify normal spreading, add the line ENABLE_SPREADER=1 For strong spreading, add the line ENABLE_SPREADER=2 To disable the spectrum spreader, add the line ENABLE_SPREADER=0 NOTE: The strong spectrum-spreading setting is unnecessary for the BL2000. 3. Click OK to save the macro. The spectrum spreader will now remain off whenever you are in the project file where you defined the macro. There is no spectrum spreader functionality for BL2000 boards that do not carry the CE mark or when using any BL2000 with a version of Dynamic C prior to 7.30. User’s Manual 33 34 Wildcat (BL2000) 4. SOFTWARE Dynamic C is an integrated development system for writing embedded software. It runs on an IBM-compatible PC and is designed for use with Rabbit-based single-board computers and other devices based on the Rabbit microprocessor. Chapter 4 provides the libraries, function calls, and sample programs related to the BL2000. 4.1 An Overview of Dynamic C Dynamic C has been in use worldwide since 1989. It is specially designed for programming embedded systems, and features quick compile and interactive debugging. A complete reference guide to Dynamic C is contained in the Dynamic C User’s Manual. You have a choice of doing your software development in the flash memory or in the data SRAM included on the Jackrabbit. The flash memory and SRAM options are selected with the Options > Project Options > Compiler menu. The advantage of working in RAM is to save wear on the flash memory, which is limited to about 100,000 write cycles. The disadvantage is that the code and data might not both fit in RAM. NOTE: An application can be developed in RAM, but cannot run standalone from RAM after the programming cable is disconnected. All standalone applications can only run from flash memory. NOTE: Do not depend on the flash memory sector size or type. Due to the volatility of the flash memory market, the Jackrabbit and Dynamic C were designed to accommodate flash devices with various sector sizes. Developing software with Dynamic C is simple. Users can write, compile, and test C and assembly code without leaving the Dynamic C development environment. Debugging occurs while the application runs on the target. Alternatively, users can compile a program to an image file for later loading. Dynamic C runs on PCs under Windows 95 and later. Programs can be downloaded at baud rates of up to 460,800 bps after the program compiles. User’s Manual 35 Dynamic C has a number of standard features: • Full-feature source and/or assembly-level debugger, no in-circuit emulator required. • Royalty-free TCP/IP stack with source code and most common protocols. • Hundreds of functions in source-code libraries and sample programs: X Exceptionally fast support for floating-point arithmetic and transcendental functions. X RS-232 and RS-485 serial communication. X Analog and digital I/O drivers. X I2C, SPI, GPS, file system. X LCD display and keypad drivers. • Powerful language extensions for cooperative or preemptive multitasking • Loader utility program to load binary images into Rabbit-based targets in the absence of Dynamic C. • Provision for customers to create their own source code libraries and augment on-line help by creating “function description” block comments using a special format for library functions. • Standard debugging features: X Breakpoints—Set breakpoints that can disable interrupts. X Single-stepping—Step into or over functions at a source or machine code level, µC/OS-II aware. X Code disassembly—The disassembly window displays addresses, opcodes, mnemonics, and machine cycle times. Switch between debugging at machine-code level and source-code level by simply opening or closing the disassembly window. X Watch expressions—Watch expressions are compiled when defined, so complex expressions including function calls may be placed into watch expressions. Watch expressions can be updated with or without stopping program execution. X Register window—All processor registers and flags are displayed. The contents of general registers may be modified in the window by the user. X Stack window—shows the contents of the top of the stack. X Hex memory dump—displays the contents of memory at any address. X STDIO window—printf outputs to this window and keyboard input on the host PC can be detected for debugging purposes. printf output may also be sent to a serial port or file. 36 Wildcat (BL2000) 4.1.1 Upgrading Dynamic C 4.1.1.1 Patches and Bug Fixes Dynamic C patches that focus on bug fixes are available from time to time. Check the Web site www.rabbit.com/support/ for the latest patches, workarounds, and bug fixes. The default installation of a patch or bug fix is to install the file in a directory (folder) different from that of the original Dynamic C installation. Rabbit recommends using a different directory so that you can verify the operation of the patch without overwriting the existing Dynamic C installation. If you have made any changes to the BIOS or to libraries, or if you have programs in the old directory (folder), make these same changes to the BIOS or libraries in the new directory containing the patch. Do not simply copy over an entire file since you may overwrite a bug fix; of course, you may copy over any programs you have written. Once you are sure the new patch works entirely to your satisfaction, you may retire the existing installation, but keep it available to handle legacy applications. 4.1.1.2 Upgrades Dynamic C installations are designed for use with the board they are included with, and are included at no charge as part of our low-cost kits. Dynamic C is a complete software development system, but does not include all the Dynamic C features. Rabbit also offers add-on Dynamic C modules containing the popular µC/OS-II real-time 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 telephonebased technical support module is also available for purchase. User’s Manual 37 4.2 Sample Programs Sample programs are provided in the Dynamic C SAMPLES folder. The sample program PONG.C demonstrates the output to the STDIO window. The various directories in the SAMPLES folder contain specific sample programs that illustrate the use of the corresponding Dynamic C libraries. The SAMPLES\BL2000 folder provides sample programs specific to the BL2000. 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 BL2000 must be in Program mode (see Section 3.8, “Programming Cable,”) and must be connected to a PC using the programming cable as described in Section 2.1, “BL2000 Connections.” More complete information on Dynamic C is provided in the Dynamic C User’s Manual. 4.2.1 General BL2000 Sample Programs • BOARD_ID.C—This program is used to identify the model of BL2000 being used, and displays that information in the STDIO window. • COUNTLEDS.C—This program will count from 0 to 31 in binary, using the four general-purpose LEDs, DS4–DS7, and the Processor Bad LED, DS8. The LEDs are used in reverse logical order to minimize the cycling of the relay, which is slaved to the same output as DS4. • LEDS_4.C—This program creates four “devices” (lights), and four buttons to toggle them. Users can view the devices with their Web browser, and change the status of the lights. If the Demonstration Board is connected to the BL2000, the lights on the Demonstration Board will match the ones on the Web page. See Appendix D for hookup instructions for the Demonstration Board. 4.2.2 Digital I/O The following sample programs are found in the IO subdirectory in SAMPLES/BL2000. • ANADIGIN.C—Demonstrates using the A/D converter channels as digital inputs. You will be able to see an input channel toggle HIGH and LOW when pressing the pushbuttons on the Demonstration Board. See Appendix D for hookup instructions for the Demonstration Board. • DIGIN.C—Demonstrates the use of the digital inputs. Using the Demonstration Board, you can see an input channel toggle from HIGH to LOW when pressing a pushbutton on the Demonstration Board. See Appendix D for hookup instructions for the Demonstration Board. • DIGOUT.C—Demonstrates the use of the high-current outputs. Using the Demonstration Board, you can see an LED toggle on/off via a high-current output. See Appendix D for hookup instructions for the Demonstration Board. • LED.C—Demonstrates how to toggle the output LEDs on the BL2000 on/off. 38 Wildcat (BL2000) • PWM.C—Demonstrates the use of Timer B to generate a PWM signal on digital output OUT8. The program generates a 42 Hz PWM signal with the duty cycle adjustable from 1 to 99%. • RELAY.C—Demonstrates how to control the relay on the BL2000. 4.2.3 Serial Communication The following sample programs are found in the RS232 subdirectory in SAMPLES/BL2000. • 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/BL2000. • MASTER.C—This program demonstrates a simple RS-485 transmission of lower case letters to a slave BL2000. The slave will send back converted upper case letters back to the master BL2000 and display them in the STDIO window. Use SLAVE.C to program the slave BL2000. • SLAVE.C—This program demonstrates a simple RS-485 transmission of lower case letters to a slave BL2000. The slave will send back converted upper case letters back to the master BL2000 and display them in the STDIO window. Use MASTER.C to program the master BL2000. 4.2.4 A/D Converter Inputs The following sample programs are found in the ADC subdirectory in SAMPLES/BL2000. • AD_CALIB.C—Demonstrates how to recalibrate an A/D converter channel using two known voltages to generate two coefficients, gain and offset, which are rewritten into the user block data area. The voltage that is being monitored is displayed continuously. Note that this sample program will overwrite the calibration constants set at the factory. • AD1.C—Demonstrates how to access the A/D internal test voltages in both the TLC2543 and TLC1543 A/D converter chips. The program reads the A/D internal voltages and then uses the STDIO window to display the RAW data. • AD2.C—Demonstrates how to access the A/D channels using the anaInVolt function. The program uses the STDIO window to display the voltage that is being monitored. • AD3.C—Demonstrates how to access the A/D converter channels with the low-level A/D driver. The program uses the STDIO window to display the voltage that is being monitored on all the A/D channels using the low-level A/D driver. • AD4.C—Demonstrates how to use the A/D converter channels with the low-level A/D driver. The program uses the STDIO window to display the voltage (average of 10 samples) that is being monitored on all the A/D converter channels using the low-level A/D driver. User’s Manual 39 4.2.5 D/A Converter Outputs The following sample programs are found in the DAC subdirectory in SAMPLES/BL2000. • DACAL.C—This program demonstrates how to recalibrate an D/A converter channel using two known voltages, and defines the two coefficients, gain and offset, that will be rewritten into the D/A converter's EEPROM simulated in flash memory. Note that this sample program will overwrite the calibration constants set at the factory. • DAOUT1.C—This program outputs a voltage that can be read with a voltmeter. The output voltage is computed using the calibration constants that are read from the EEPROM simulated in flash memory. • DAOUT2.C—This program demonstrates the use of both the D/A and the A/D converters. The user selects both the D/A converter and A/D channel to be used, then sets the D/A converter output voltage to be read by the A/D channel. All activity will be displayed in the STDIO window. 4.2.6 Real-Time Clock If you plan to use the real-time clock functionality in your application, you will need to set the real-time clock. You may set the real-time clock using the SETRTCKB.C sample program from the Dynamic C SAMPLES\RTCLOCK folder. The RTC_TEST.C sample program in the Dynamic C SAMPLES\RTCLOCK folder provides additional examples of how to read and set the real-time clock 4.2.7 TCP/IP Sample Programs TCP/IP sample programs are described in Chapter 5. 40 Wildcat (BL2000) 4.3 BL2000 Libraries Two library directories are used to develop applications for the BL2000. • BL2000-—libraries associated with features specific to the BL2000. • TCPIP—libraries specific to using TCP/IP functions on the BL2000. Other generic functions applicable to all devices based on the Rabbit 2000 microprocessor are described in the Dynamic C Function Reference Manual. User’s Manual 41 4.4 BL2000 Function Calls 4.4.1 Board Initialization void brdInit (void); Call this function at the beginning of your program. This function initializes the system I/O ports and loads all the A/D and DAC calibration constants from flash memory into SRAM for use by your program. The ports are initialized as follows: 42 Function Output Function State Port I/O PA0 Output OUT0/RELAY/LED_DS4 PA1 Output OUT1/LED_DS5 PA2 Output OUT2/LED_DS6 PA3 Output OUT3/LED_DS7 PA4 Output OUT4 PA5 Output OUT5 PA6 Output OUT6 PA7 Output OUT7 PB0 Input IN6 N/A PB1 Input CLKA N/A PB2 Input IN7 N/A PB3 Input IN8 N/A PB4 Input IN9 N/A PB5 Input IN10 N/A PB6 Output RS485_EN Off PB7 Output UPGOOD Bad Indicator Off PC0 Output TXD RS-485 Inactive high PC1 Input RXD RS-485 N/A High-Current Driver Off High-Current Driver Off High-Current Driver Off High-Current Driver Off High-Current Driver Off High-Current Driver Off High-Current Driver Off High-Current Driver Off Wildcat (BL2000) Function Output Function State Port I/O PC2 Output RTS/TXC RS-232 Inactive high PC3 Input CTS/RXC RS-232 N/A PC4 Output TXB RS-232 Inactive high PC5 Input RXB RS-232 N/A PC6 Output TXA Programming Port Inactive high PC7 Input RXA Programming Port N/A PD0 Output DAC-ADC_SK On PD1 Output DAC-ADC_SDI On PD2 Input RTL-ADC_SDO N/A PD3 Input RTL_SK N/A* PD4 Output RTL_SDI On PD5 Output DAC0_CS Inactive high PD6 Output DAC1_CS Inactive high PD7 Output ADC_CS Inactive high PE0 Output OUT8 PE1 Output OUT9 PE2 Input IN0 N/A PE3 Input IN1 N/A PE4 Input IN2 N/A PE5 Input IN3 N/A PE6 Input IN4 N/A PE7 Input IN5 N/A High-Current Driver Off High-Current Driver Off * PD3 is an output (and is on) for the BL2020 and the BL2030. SEE ALSO digOut, digIn, serMode User’s Manual 43 4.4.2 Digital I/O int digIn(int channel); Reads the state of an input channel: IN0–IN10—standard digital inputs, ± 36 V DC IN11–IN14—pseudo digital inputs using A/D converter inputs ADC0–ADC3, ± 10 V DC IN15–IN19—pseudo digital inputs using A/D converter inputs ADC4–ADC8, 0 V to 48 V DC IN20–IN21—pseudo digital inputs using A/D converter inputs DAC0–DAC1, 0 V to 48 V DC (BL2010 and BL2030) The threshold is fixed at 2.40 V for channels IN0–IN10. Anything below 2.40 V is a logic 0, and anything higher than or equal to 2.40 V is a logic 1. The default threshold for channels IN11–IN21 is also set to 2.40 V. The threshold for these channels may be changed by adding the following two lines to your program. #undef #define THRESHOLD THRESHOLD xx.xx where xx.xx is the desired threshold voltage. Anything below the threshold value is a logic 0, and anything higher than or equal to the threshold value is a logic 1. PARAMETER channel is the input channel number (0–21) RETURN VALUE The state of the input (0 or 1). SEE ALSO brdInit, digOut void digOut(int channel, int value); Sets the state of a digital output (OUT0–OUT9). The default setting for the function is for current-sinking outputs. To change from sinking to sourcing outputs, add the following two lines at the beginning of your program. #undef #define OUTPUT_DRIVE OUTPUT_DRIVE SOURCING The relay is driven by PA0, which is the same Rabbit 2000 parallel port that drives OUT0 and LED DS4. OUT0 therefore works in parallel with the relay output. Rabbit therefore recommends that you do not use OUT0 for a digital output when you are using the relay. PARAMETERS channel is the output channel number (0–9). value is the output value (0 or 1). SEE ALSO brdInit, digIn 44 Wildcat (BL2000) 4.4.3 Serial Communication 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 Function Reference Manual and Technical Note 213, Rabbit Serial Port Software. The following function calls are specific to the BL2000. int serMode(int mode); User interface to set up BL2000 serial communication lines. Call this function after serXOpen(). 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. Serial Port Mode B C D 0 RS-232, 3-wire RS-232, 3-wire RS-485 1 RS-232, 5-wire CTS/RTS RS-485 RETURN VALUE 0 if valid mode, 1 if not. SEE ALSO ser485Tx, ser485Rx void ser485Tx(void); Sets (high) pin 3 (DE) to enable Tx. SEE ALSO serMode, ser485Rx void ser485Rx(void); Resets (low) pin 3 (DE) to disable Tx. SEE ALSO serMode, ser485Tx User’s Manual 45 4.4.4 Relay and LED Outputs void relayOut(int relay, int value); Sets the state of a relay. The relay is driven by PA0, which is the same Rabbit 2000 parallel port that drives OUT0 and LED DS4. OUT0 therefore works in parallel with the relay output. Rabbit therefore recommends that you do not use OUT0 for a digital output when you are using the relay. PARAMETERS relay is the relay to control, 0 = Relay 0. value is the value used to connect the relay common contact to one of the following contacts: 0 = relay common connected to relay normally closed contact 1 = relay common connected to relay normally open contact SEE ALSO brdInit void ledOut(int led, int value); LED ON/OFF control. The relay is driven by PA0, which is the same Rabbit 2000 parallel port that drives OUT0 and LED0. OUT0 therefore works in parallel with the relay output. Rabbit therefore recommends that you do not use OUT0 for a digital output when you are using the relay. The relay and OUT0 are also turned on when LED0 is turned on. PARAMETERS led is the LED to control: 0 1 2 3 4 = OUT0 LED = OUT1 LED = OUT2 LED = OUT3 LED = BAD indicator value is the value used to control the LED: 0 = OFF 1 = ON SEE ALSO brdInit 46 Wildcat (BL2000) 4.4.5 A/D Converter Inputs void anaInCalib(int channel, int value1, float volts1, int value2, float volts2); Calibrates the response of the A/D converter channel as a linear function using the two conversion points provided. Gain and offset constants are calculated and placed into global table _adcInCalib. PARAMETERS channel is the A/D converter input channel (0–10). value1 is the first A/D converter channel value. volts1 is the voltage corresponding to the first A/D converter channel value. value2 is the second A/D converter channel value. volts2 is the voltage corresponding to the second A/D converter channel value. RETURN VALUE 0 if successful. -1 if not able to make calibration constants. SEE ALSO anaIn, anaInVolts, brdInit int _anaIn(unsigned char cmd, char len); Reads the voltage of an analog input channel by serially clocking out an 8-bit command to the A/D converter device of the following formats: TLC2543 commands D7–D4 Channel 0 - 10 Channel 11 = (Vref+ - Vref-)/2 Channel 12 = VrefChannel 13 = Vref+ Channel 14 = software powerdown D3-D2 Output data length: 01—8 bits 00—12 bits (normally used as default) 11—16 bits (not supported by driver) D1 Output data format 0—MSB first 1—LSB first (not supported by driver) D0 Mode of operation 0—Unipolar (normally used as default) 1—Bipolar User’s Manual 47 TLC1543 commands (the TLC1543 is a 10-bit A/D converter) D7–D4 Channel 0 - 10 Channel 11 = (Vref+ - Vref-)/2 Channel 12 = VrefChannel 13 = Vref+ (No software power-down mode available) D3–D0 No specific values assigned. PARAMETERS cmd is the A/D converter input channel (0–10) to read. len is the output data length: 0 = 12-bit mode (BL2000/BL2020 only) 1 = 8-bit mode (BL2000/BL2020 only) 2 = 10-bit mode (BL2010/BL2030 only) RETURN VALUE A value corresponding to the voltage on the A/D converter input channel, which will be: 0–4095 for 12-bit A/D conversions 0–1023 for 10-bit A/D conversions 0–255 for 8-bit A/D conversions SEE ALSO anaIn, anaInVolts, brdInit, samples/bl2000/adc/AD3.C int anaIn(unsigned int channel); Reads the state of an A/D converter input channel. PARAMETER channel is the A/D converter input channel (0–10) to read. RETURN VALUE A value corresponding to the voltage on the analog input channel, which will be: 0–4095 for 12-bit A/D conversions (BL2000,BL2020) 0–1023 for 10-bit A/D conversions (BL2010,BL2030). SEE ALSO anaInVolts, anaInCalib, _anaIn, brdInit 48 Wildcat (BL2000) float anaInVolts(unsigned int channel); Reads the state of an A/D converter input channel and uses the previously set calibration constants to convert it to volts. PARAMETER channel is the A/D converter input channel (0–10). RETURN VALUE A voltage value corresponding to the voltage on the analog input channel. SEE ALSO anaIn, anaInCalib, brdInit int anaInEERd(unsigned int channel); Reads the calibration constants, gain, and offset from the simulated EEPROM in flash memory (located in reserved user block memory area 0x1C00–0x1FFF). PARAMETER channel is the A/D converter input channel (0–10). RETURN VALUE 0 if successful. -1 if address or range is invalid. SEE ALSO anaInEEWr, brdInit int anaInEEWr(unsigned int channel); Writes the calibration constants, gain, and offset to the simulated EEPROM in flash memory (located in reserved user block memory area 0x1C00–0x1FFF). PARAMETER channel is the A/D converter input channel (0–10). RETURN VALUE 0 if successful. -1 if address or range is invalid. SEE ALSO anaInEERd, brdInit The address range of the user block memory area where the calibration constants are stored may be determined using readUserBlock( _adcCalib, ADC_CALIB_ADDR, sizeof( _adcCalib ) ); where _adcCalib and ADC_CALIB_ADDR are macros defined in the BL20XX.LIB library. User’s Manual 49 4.4.6 D/A Converter Outputs The functions in this section apply only to the BL2000 and the BL2020 models. int anaOutCalib(int channel, int value1, float volts1, int value2, float volts2); Calibrates the response of the D/A converter channel desired as a linear function using the two conversion points provided. Gain and offset constants are calculated and placed into global table _dacCalib. PARAMETERS channel is the D/A converter output channel (0 or 1). value1 is the first D/A converter value. volts1 is the voltage corresponding to the first D/A converter value. value2 is the second D/A converter value. volts2 is the voltage corresponding to the second D/A converter value. RETURN VALUE 0 if sucessful. -1 if not able to make calibration constants. SEE ALSO anaOut, anaOutVolts, brdInit 50 Wildcat (BL2000) void anaOut(unsigned int channel, unsigned int modecount); Sets the voltage of a D/A converter output channel by serially clocking in 16 bits to a D/A converter using the following format: D15–D14 Doesn’t matter. D13–D12 Mode of operation 00—Normal Operation 01—Software Powerdown, 1 kΩ to GND 10—Software Powerdown, 100 kΩ to GND 11—Software Powerdown, three-state D11–D0 Data bits, MSB–LSB (0–4095) PARAMETERS channel is the D/A converter output channel to write (0 or 1). modecount is a value corresponding to the voltage on the D/A converter output and/or setting the mode of operation : Operation Mode Description modecount Value 0 Normal Mode 0–4095 1 Software Powerdown, 1 kΩ to GND 0x1000 2 Software Powerdown, 100 kΩ to GND 0x2000 3 Software Powerdown, three-state 0x3000 RETURN VALUE None SEE ALSO anaOutVolts, anaOutCalib, brdInit User’s Manual 51 void anaOutVolts(unsigned int channel, float voltage); Sets the voltage of a D/A converter output channel by using the previously set calibration constants to calculate the correct data values. PARAMETERS channel is the D/A converter output channel (0 or 1). voltage is the voltage desired on the output channel. SEE ALSO anaOut, anaOutCalib, brdInit int anaOutEERd(unsigned int channel); Reads the calibration constants, gain, and offset from the simulated EEPROM in flash memory (located in reserved user block memory area 0x1C00–0x1FFF). PARAMETER channel is the D/A converter output channel (0 or 1). RETURN VALUE 0 if successful. -1 if address or range is invalid. SEE ALSO anaOutEEWr, brdInit int anaOutEEWr(unsigned int channel); Writes the calibration constants, gain, and offset to the simulated EEPROM in flash memory (located in reserved user block memory area 0x1C00–0x1FFF). PARAMETER channel is the D/A converter output channel (0 or 1). RETURN VALUE 0 if successful. -1 if address or range is invalid. SEE ALSO anaOutEERd, brdInit The address range of the user block memory area where the calibration constants are stored may be determined using readUserBlock( _dacCalib, DAC_CALIB_ADDR, sizeof( _dacCalib ) ); where _dacCalib and DAC_CALIB_ADDR are macros defined in the BL20XX.LIB library. 52 Wildcat (BL2000) 5. USING THE TCP/IP FEATURES Chapter 5 provides an introduction to using the TCP/IP features on your BL2000 board. 5.1 TCP/IP Connections Before proceeding you will need to have the following items. • If you don’t have Ethernet access, you will need at least a 10Base-T Ethernet card (available from your favorite computer supplier) installed in a 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 Rabbit in a TCP/IP tool kit. More information is available at www.rabbit.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 BL2000 to a PC that at least has a 10Base-T Ethernet card. If you have Ethernet access, use a straight through Ethernet cable to establish an Ethernet connection to the BL2000 from an Ethernet hub. These connections are shown in Figure 21. BL2000 Board User’s PC BL2000 Board Ethernet cables Ethernet crossover cable Direct Connection (Network of 2 computers) To additional network Hub elements Direct Connection Using a Hub Figure 21. Ethernet Connections User’s Manual 53 The PC running Dynamic C through the serial programming port on the BL2000 does not need to be the PC with the Ethernet card. 3. Apply Power Plug in the AC adapter. The BL2000 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. When working with the BL2000, the green LNK light is on when a program is running and the board 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. 54 Wildcat (BL2000) 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 BL2000 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. Instead of the MY_IP_ADDRESS and other macros, 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 BL2000 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 file. 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. 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 such as shown in the example below use macros to define the IP address assigned to the board and the IP address of the gateway, if there is a gateway. #define #define #define #define MY_IP_ADDRESS "10.10.6.170" MY_NETMASK "255.255.255.0" MY_GATEWAY "10.10.6.1" MY_NAMESERVER "10.10.6.1" In order to do a direct connection, the following IP addresses can be used for the BL2000: #define MY_IP_ADDRESS "10.1.1.2" #define MY_NETMASK "255.255.255.0" // #define MY_GATEWAY "10.10.6.1" // #define MY_NAMESERVER "10.10.6.1" In this case, the gateway and nameserver are not used, and are commented out. The IP address of the board is defined to be 10.1.1.2. The IP address of you PC can be defined as 10.1.1.1. User’s Manual 55 5.2.2 How to Set Up your Computer’s IP Address for a Direct Connection When your computer is connected directly to the BL2000 via an Ethernet connection, you need to assign an IP address to your computer. To assign the PC the address 10.10.6.101 with the netmask 255.255.255.0, 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. Doubleclick on this line or select Properties or Local Area Connection > 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. BL2000 Board IP 10.10.6.101 Netmask 255.255.255.0 User’s PC Ethernet crossover cable Direct Connection PC to BL2000 Board 56 Wildcat (BL2000) 5.3 Run the PINGME.C Sample Program Connect the crossover cable from your computer’s Ethernet port to the BL2000’s RJ-45 Ethernet connector. Open this sample program from the SAMPLES\TCPIP\ICMP folder, compile the program, and start it running under Dynamic C. When the program starts running, the green LNK light on the BL2000 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 MSDOS window and running the pingme program: ping 10.10.6.100 or by Start > Run and typing the entry ping 10.10.6.100 Notice that the orange ACT light flashes on the BL2000 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. User’s Manual 57 5.4 Running More Sample Programs With a Direct Connection The program SSI.C (SAMPLES\BL2000\TCPIP\) demonstrates how to make the BL2000 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. LEDs DS4–DS8 on the BL2000 will match those on the Web page. As long as you have not modified the TCPCONFIG 1 macro in the sample program, enter the following server address in your Web browser to bring up the Web page served by the sample program. http://10.10.6.100 Otherwise use the TCP/IP settings you entered in the TCP_CONFIG.LIB library. The sample program SMTP.C (SAMPLES\BL2000\TCPIP\) allows you to send an E-mail when a switch on the Demonstration Board is pressed. Follow the instructions included with the sample program. The sample program TELNET.C (SAMPLES\BL2000\TCPIP\) allows you to communicate with the BL2000 using the Telnet protocol. This program takes anything that comes in on a port and sends it out Serial Port B. It uses digital input IN0 to indicate that the TCP/IP connection should be closed, and it uses high-current output OUT0 to indicate that there is an open connection. You may change the digital input and output to suit your application needs. Run the Telnet program on your PC (Start > Run telnet 10.10.6.100). As long as you have not modified the TCPCONFIG 1 macro in the sample program, the IP address is 10.10.6.100 as shown; otherwise use the TCP/IP settings you entered in the TCP_CONFIG.LIB library. 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. 5.5 Where Do I Go From Here? NOTE: If you purchased your BL2000 through a distributor or Rabbit partner, contact the distributor or partner first for technical support. If there are any problems at this point: • Use the Dynamic C Help menu to get further assistance with Dynamic C. • Check the Rabbit Technical Bulletin Board and forums at www.rabbit.com/support/bb/ and at www.rabbit.com/forums/. • Use the Technical Support e-mail form at www.rabbit.com/support/. If the sample programs ran fine, you are now ready to go on. 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 the Web site. 58 Wildcat (BL2000) APPENDIX A. SPECIFICATIONS Appendix A provides the specifications for the BL2000 and describes the conformal coating. User’s Manual 59 A.1 Electrical and Mechanical Specifications Figure A-1 shows the mechanical dimensions for the BL2000. 0.120 dia × 4 (3.0) + G PWR LNK C46 C47 C48 GND C49 GND C50 C51 GN D C52 GND GND GND J11 J9 IN3 IN4 IN5 IN6 IN7 IN8 IN9 IN10 OUT8 OUT9 GND OUT0 OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 NO COM NC (54) (87) 2.11 0.65 C45 (16.5) GND DS8 C37 C42 C44 Q6 J8 J10 IN2 3.413 ACT OUT 0 DS7 + Q5 DS6 + DS5 + DS4 BT1 BAD (16) 10 Q3 DS3 K1 Q4 D 1 R29 C26 DS2 R26 R25 3 1 2 6 GND DS1 0.63 C12 R21 C32 R41 R42 R43 R44 R45 R46 R47 R48 R49 D4 D5 D6 D7 D8 D9 D10 D11 D12 C43 C9 R14 5 (19.5) C15 GND J12 C77 Q1 Y1 4 40 C35 R38 R52 C40 R56 R60 GN D C36 R39 R53 C41 R57 R61 GND C33 R36 R50 C38 R54 R58 GND R22 C21 U5 R33 C34 R37 R51 C39 R55 R59 3 C76 R152 R32 R34 R35 R40 D3 C31 R31 L1 J7 POWER IN GND AGND C5 C7 U3 15 TVS1 4 2 AGND R3 R18 U6 C29 (9.2) C78 65 R151 Q2 R30 C13 JP2 90 U4 C25 C28 1 AG ND R2 R23 R24 C14 Y2 C22 R27 R28 C27 C24 D2 AGND C75 R5 C79 C11 R11 R10 R157 JP1 Y3 0.36 AGND R17 C18 C19 C17 C23 D1 C2C3 AGND C8 U2 C80 R130 R16 R15 R19 R153 R154 U1 C16 J6 GND C4 R7 C10R12 0.768 R13C1 R9 R8 R20 C20 Jacks extend 0.16" (4.0 mm) past edge of board GND J5 AGND DAC1 DAC0 ADC8 ADC7 ADC6 ADC5 ADC4 ADC3 ADC2 ADC1 ADC0 OUT 1 GN D R4 R6 R1 J4 J3 485+ RXD2 TXD2 RXD1 TXD1 OUT 2 GND 485- OUT 3 IN0 Battery (20.9) 0.823 IN1 S GND RST- + GND +K C85 +RAW GND J1 J2 GND 0.65 2.84 (16.5) (72) 4.14 (105) 0.53 0.50 (14) (11) 0.44 (12.6) 0.82 (21) 4.14 (105) 0.20 (3.2) (8.9) 0.42 BL2000 0.125 (2.5) 0.10 BL2000 FRICTION-LOCK CONNECTOR (10.7) (8.6) 0.34 IDC CONNECTOR 0.35 (5) BOTTOM-MOUNT CONNECTOR BL2000 0.025 sq. (0.64) Figure A-1. BL2000 Dimensions NOTE: All measurements are in inches followed by millimeters enclosed in parentheses. All dimensions have a manufacturing tolerance of ±0.01" (0.25 mm). 60 Wildcat (BL2000) Table A-1 lists the electrical, mechanical, and environmental specifications for the BL2000. Table A-1. BL2000 Specifications Feature BL2000 BL2020 10Base-T, LNK and ACT LEDs None Flash Memory 256K (standard) SRAM 128K (standard) Backup Battery Digital Inputs BL2030 Rabbit 2000® at 22.1 MHz Microprocessor Ethernet Port BL2010 Panasonic CR2330 or equivalent 3 V lithium coin type, 265 mA·h standard using onboard battery holder; optional 3 V, 950 mA·h solder-in battery available; external battery connector 11 inputs hardware-configurable pull-up or pull-down, ± 36 V DC, switching threshold 2.4 V typical Digital Outputs 10 outputs sinking or sourcing, +40 V DC, 200 mA maximum per channel (2 channels can sink up to 750 mA each) Analog Inputs Four 12-bit res., Four 10-bit res., Four 12-bit res., Four 10-bit res., ± 10 V DC, 1 MΩ, ± 10 V DC, 1 MΩ, ± 10 V DC, 1 MΩ, ± 10 V DC, 1 MΩ, up to 4,000 up to 4,000 up to 4,000 up to 4,000 samples/s samples/s samples/s samples/s Analog Outputs Two 12-bit res., 0–4 V DC, update rate 12 kHz None Two 12-bit res., 0–4 V DC, update rate 12 kHz None Five at 12 kΩ, 12-bit res., 0–48 V DC Seven at 12 kΩ, 10-bit res., 0–48 V DC Five at 12 kΩ, 12-bit res., 0–48 V DC Seven at 12 kΩ, 10-bit res., 0–48 V DC Dual-Purpose Analog or Digital Inputs Relay Output SPDT with snubbers*: 1 A @ 30 V DC, 300 mA @ 120 V AC (uses one digital output) max. contact settling time 4 ms 4 serial ports: • two RS-232 or one RS-232 (with CTS/RTS) Serial Ports Serial Rate Connectors • 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 × 5, 2 mm pitch (serial programming port) one power jack for AC adapter four 12-terminal screw connectors (14 AWG/1.5 mm2 wire) for analog and digital I/O, relay Real-Time Clock User’s Manual Yes 61 Table A-1. BL2000 Specifications (continued) Feature Timers Watchdog/Supervisor Power Operating Temperature BL2000 BL2010 BL2020 BL2030 Five 8-bit timers (four are cascadable from the first) and one 10-bit timer with two match registers Yes 9–40 V DC or 24 V AC (±10%), 1.5 W max. –40°C to +70°C Humidity 5–95%, noncondensing Board Size 3.43" × 4.15" × 0.82" (87 mm × 105 mm × 21 mm) * When using the BL2000 in a CE-certified application, the voltages handled by the relay must not exceed SELV levels (42.4 V AC peak, or 60 V DC). 62 Wildcat (BL2000) A.1.1 Headers The BL2000 has an option for 0.1" IDC headers or friction-lock connectors at J1, J3, J10, and J11 for physical connection to other boards or ribbon cables. Figure A-2 shows the BL2000 footprint. These values are relative to one of the mounting holes. 3.380 (85.9) 3.189 (81.0) 1.239 (31.5) 0.760 (19.3) (67.1) 2.641 (66.0) (57.9) (53.7) 2.598 J12 2.113 J6 J3 J5 2.280 J1 J7 (9.2) (12.4) 0.361 0.487 J11 J10 1.589 (40.4) 2.839 (72.1) Figure A-2. User Board Footprint for BL2000 NOTE: The same footprint applies for the IDC header and bottom-mount socket options. User’s Manual 63 A.2 Conformal Coating The areas around the crystal oscillator and the battery backup circuit on the BL2000 have had the Dow Corning silicone-based 1-2620 conformal coating applied. The conformally 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. AGND BT1 DS5 + G PWR Conformally coated area BAD DS7 + Q5 DS6 + DS4 + 10 C44 GND C45 C46 C47 C48 GND C49 GND C50 C51 GN D C52 Q6 DS8 C37 C42 GND DS3 Q3 1 K1 Q4 D DS2 R26 R25 R29 C32 R41 R42 R43 R44 R45 R46 R47 R48 R49 D4 D5 D6 D7 D8 D9 D10 D11 D12 C43 DS1 R21 6 3 C12 5 GND R24 C35 R38 R52 C40 R56 R60 GN D C36 R39 R53 C41 R57 R61 GND C33 R36 R50 C38 R54 R58 GND R14 Q1 C26 R32 R34 R35 R40 D3 R33 C34 R37 R51 C39 R55 R59 J7 POWER IN 40 TVS1 3 C31 R31 L1 C77 1 2 U6 C29 4 4 15 R151 Q2 R30 C25 C28 R22 C21 Y1 90 U4 C76 R152 U5 C9 U3 R18 65 Y2 C13 JP2 J12 C5 C7 LNK AGND R3 C15 C19 C22 R27 R28 C27 C24 GND C78 R17 R153 R154 U1 C18 C17 2 AG ND R2 R23 C14 Y3 1 AGND C75 R5 C79 C11 R11 R10 R157 JP1 C80 R130 R16 R15 R19 C16 D2 AGND C4 R7 C10R12 C23 D1 C2C3 AGND C8 U2 R8 R20 C20 J6 GND ACT R13C1 R9 OUT 0 GND J5 AGND DAC1 DAC0 ADC8 ADC7 ADC6 ADC5 ADC4 ADC3 ADC2 ADC1 ADC0 OUT 1 GN D R4 R6 R1 J4 J3 485+ RXD2 TXD2 RXD1 TXD1 OUT 2 GND 485- OUT 3 IN0 Battery GND IN1 S RST- + GND +K C85 +RAW GND J1 J2 GND GND GND J8 J10 J11 J9 IN2 IN3 IN4 IN5 IN6 IN7 IN8 IN9 IN10 OUT8 OUT9 GND OUT0 OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 NO COM NC GND Figure A-3. BL2000 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 Technical Note 303, Conformal Coatings. 64 Wildcat (BL2000) A.3 Jumper Configurations Figure A-4 shows the header locations used to configure the various BL2000 options via jumpers. JP1 JP2 Top Side GND JP3 JP4 JP5 JP6 TP15 R160 GND R161 TP17 R118 Bottom Side Figure A-4. Location of BL2000 Configurable Positions User’s Manual 65 Table A-2 lists the configuration options. Table A-2. BL2000 Jumper Configurations Header Description Factory Default Pins Connected Pin 12 is Vcc R160 installed Pin 12 is GND R161 installed × Bias and termination resistors connected × J9 JP1 RS-485 Bias and Termination Resistors 1–2 3–4 None JP2 JP3 JP4 JP5 JP6 Bias and termination resistors not connected 1–2 Normal Mode 2–3 Bank Mode 1–2 +V 2–3 +REF 1–2 128K/256K 2–3 512K 1–2 128K 2–3 512K 1–2 Pulled up 2–3 Pulled down Flash Memory Bank Select D/A Converter Power Supply Flash Memory Size SRAM Size Digital Input Pull-Up/Pull-Down Resistors × × × × × NOTE: Only header JP1 uses actual jumpers. The other connections are made using 0 Ω surface-mounted resistors. 66 Wildcat (BL2000) A.4 Use of Rabbit 2000 Parallel Ports Figure A-5 shows the Rabbit-based subsystems designed into the BL2000. PB0 PB5 PA0PA7 Port A (OUT0OUT7) PC0PC5 Port B (IN6IN10, CTRL) Programming Port DA0DA7 Data Lines RAM Port D (ADC, DAC, Eth) RABBIT Serial Ports (Port C) PC6PC7 PD2 PD3 PB6 PB7 PE2PE7 Port E (IN0IN5 OUT8OUT9) 2000 Real-Time Clock Watchdog 7 Timers Slave Port Clock Doubler PD0 PD1 PD4 PB7 PE0, PE1 Address Lines A0A18 IORD IOWR I/O Control Misc. Input Backup Battery Support RESET Flash Figure A-5. BL2000 Rabbit-Based Subsystems Table A-3 lists the Rabbit 2000 parallel ports and their use in the BL2000. Table A-3. Use of Rabbit 2000 Parallel Ports I/O PA0 Output OUT0/RELAY/LED_DS4 Off PA1 Output OUT1/LED_DS5 Off PA2 Output OUT2/LED_DS6 Off PA3 Output OUT3/LED_DS7 Off PA4 Output OUT4 Off PA5 Output OUT5 Off PA6 Output OUT6 Off PA7 Output OUT7 Off PB0 Input IN6 N/A PB1 Input CLKA N/A PB2 Input IN7 N/A User’s Manual Signal Output Function State Port 67 Table A-3. Use of Rabbit 2000 Parallel Ports (continued) Output Function State Port I/O Signal PB3 Input IN8 N/A PB4 Input IN9 N/A PB5 Input IN10 N/A PB6 Output RS485_EN Off PB7 Output UPGOOD Off PC0 Output TXD RS-485 Inactive high Serial Port D PC1 Input PC2 Output RXD RS-485 N/A RTS/TXC RS-232 Inactive high Serial Port C PC3 Input PC4 Output CTS/RXC RS-232 N/A TXB RS-232 Inactive high Serial Port B PC5 Input PC6 Output RXB RS-232 N/A TXA Programming Port Inactive high Serial Port A PC7 Input RXA Programming Port N/A PD0 Output DAC-ADC_SK On PD1 Output DAC-ADC_SDI On PD2 Input RTL-ADC_SDO N/A PD3 Input RTL_SK N/A* PD4 Output RTL_SDI On PD5 Output /DAC0_CS Inactive high PD6 Output /DAC1_CS Inactive high PD7 Output /ADC_CS Inactive high PE0 Output OUT8 Off PE1 Output OUT9 Off PE2 Input IN0 N/A PE3 Input IN1 N/A PE4 Input IN2 N/A PE5 Input IN3 N/A PE6 Input IN4 N/A PE7 Input IN5 N/A * PD3 is an output (and is on) for the BL2020 and the BL2030. 68 Wildcat (BL2000) APPENDIX B. PLASTIC ENCLOSURE The plastic enclosure provides a secure way to protect your BL2000. The enclosure itself may be mounted on any flat surface. Appendix B describes how to mount the BL2000 inside the plastic enclosure, how to install the optional light pipes, and provides details on mounting the assembly. User’s Manual 69 B.1 Assembly 1. Attach the BL2000 to the plastic enclosure base. Position the BL2000 over the plastic enclosure base as shown below in Figure B-1. Attach the BL2000 to the base using the two 4-40 × ¼ screws supplied. tery TION PW R LNK ACT BAD CAU DS4 + 10 DS3 + 1 DS2 GN D C52 Q6 DS8 C42 C51 C37 GND C50 DS1 + + DS7 GND C49 BT1 G DS6 C48 K1 Q4 DS5 D Q3 R21 5 Y1 C32 R43 R44 R45 R46 R47 R48 R49 D7 D8 D9 D10 D11 D12 D6 C47 C9 R14 C12 C15 GND C46 Q1 R26 R25 GND C45 3 C26 Q5 R41 R42 D4 D5 C44 C77 R22 C21 2 R29 J12 C5 C7 R8 U3 R18 6 GND GN D 1 AGND AGND R3 C78 R23 C14 R2 4 GND R2 C79 4 40 GND R33 C43 U5 15 3 R152 R32 R34 R35 R40 D3 C31 R31 L1 C13 C76 U6 C36 R39 R5 3 C41 R57 R61 C35 R38 R52 C40 R56 R60 C34 R37 R5 1 C39 R55 R59 C33 R36 R50 C38 R54 R58 2 GND IN2 Q2 C29 AG ND AGND C75 R5 65 4 AGND U2 JP2 90 1 J7 POWER IN J8 J10 1 R15 TVS 1 D2 U4 R30 AGND DAC1 DAC0 ADC8 ADC7 ADC6 ADC5 ADC4 ADC3 ADC2 ADC1 ADC0 AGND R17 R154 U1 C18 C22 R27 R28 C27 C19 Y3 Y2 C17 C25 C28 J4 J3 TXD1 C2C3 C8 C1 R111 R10 R15 JP17 C80 R130 R16 R15 R19 R153 C16 C24 TXD2 RXD1 GND C4 R7 C10 R12 R20 C20 J6 C23 D1 RXD2 R13C1 R9 OU T0 485+ GND OU T1 485- J5 OU T2 IN0 GN D OU T3 IN1 Bat RST- GND R4 R6 S +K GND + GND GND R1 C85 +RAW J1 J2 GND GND GND J11 J9 IN3 IN4 IN5 IN6 IN7 IN8 IN9 IN10 OUT8 OUT9 GND OUT0 OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 NO COM NC GND Figure B-1. Attach BL2000 to Plastic Enclosure Base 2. Install light pipes (optional). Light pipes are included in the Tool Kit to facilitate seeing the LEDs on the BL2000 board once the enclosure is assembled. Notched side With the enclosure top positioned as shown in Figure B-2, insert the eight light pipes into the slots identified in Figure B2. Position the light pipes snugly against the enclosure top since there is little clearance between ... Light pipe flange is firmly the light pipes and the LEDs on against enclosure the BL2000. The light pipes “snap” in place. Verify that the light pipes are aligned over the Figure B-2. Install Light Pipes in Enclosure Top LEDs, then apply a drop of cyanoacrylate or contact cement to the inside of the enclosure around each light pipe to hold it in place. NOTE: Once the glue is applied, it will not be possible to change the alignment of the light pipes without damaging the plastic enclosure. 70 Wildcat (BL2000) 3. Attach the enclosure top to the base. Position the enclosure top over the plastic enclosure base as shown below in Figure B-3. Attach the enclosure top to the base using the two 4-40 × ½ screws supplied. If you installed the light pipes, be sure they are aligned over the LEDs as shown. Notched side +RAW GND +K RST- IN1 IN0 485- 485+ C51 GN D C52 PW R LNK ACT OU T0 OU T1 T2 BAD GND GND OU ery TION CAU C50 DS3 GND DS2 C49 DS1 Q6 DS8 C37 C42 R61 R60 C48 GND DS7 C32 R43 R44 R45 R46 R47 R48 R49 D7 D8 D9 D10 D11 D12 D6 C47 DS6 R56 C46 DS5 + + R57 R58 R59 C45 BT1 G C41 C40 R55 R54 GND K1 Q4 DS4 Q3 10 D 1 Y1 R26 R25 3 2 R29 6 R52 R53 C39 C38 C44 C9 R14 C12 R21 C77 Q1 C26 J12 C5 C7 R8 U3 5 15 R38 R39 R51 R50 C43 GND AGND AGND R3 R24 1 C27 + C78 R18 R22 C21 4 40 90 R28 + R2 R23 C14 R152 U5 R27 C35 C36 R37 GND GN D C79 C4 R7 Q5 R41 R42 D4 D5 AG ND AGND C75 R5 R17 R32 R34 R35 R40 D3 R33 R36 GND AGND C13 C76 U6 C31 R31 L1 C33 GND GND Q2 C29 C34 3 J7 POWER IN IN2 R15 1 TVS1 2 J8 J10 U4 R30 C8 U1JP2 U2 65 C17 C24 C25 C28 R154 C18 C22 C19 Y3 Y2 4 AGND DAC1 DAC0 ADC8 ADC7 ADC6 ADC5 ADC4 ADC3 ADC2 ADC1 ADC0 AGND C15 R153 C16 1 TXD1 C11 R11 R10 C80 R130 R16 R15 R19 R20 C20 D2 TXD2 RXD1 GND OU T3 R13C1 R9 Batt C10 R12 GND J5 S GN D R4 R6 + GND GND C3 C2 GND R1 J6 C23 D1 RXD2 J4 J3 J1 J2 GND J11 J9 IN3 IN4 IN5 IN6 IN7 IN8 IN9 IN10 OUT8 OUT9 GND OUT0 OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 NO COM NC GND Figure B-3. Attach Enclosure Top 4. Mount plastic enclosure (optional). Use four #10 screws to attach the assembled plastic enclosure to the surface on which it will be mounted. This step applies to production versions of BL2000 boards once development has been completed. User’s Manual 71 B.2 Dimensions 4. (1 25 08 ) Figure B-4 shows the dimensions for the plastic enclosure. 0.70 (18) 0.375" (9.5 mm) is cut off each corner 5.00 (127) 4.35 (1 75 24 ) 4.8 1.3 (3 75 5) 2.1 (5 3 4) 3.6 (9 2 2) (110) 0.25 (6.4) 2.85 (72) 1.375 (35) 5.60 (142) Figure B-4. Plastic Enclosure Dimensions When fully assembled with the BL2000 installed, the total height of the plastic enclosure will be 1.1" (28 mm). 72 Wildcat (BL2000) APPENDIX C. POWER SUPPLY Appendix C describes the power circuitry distributed on the BL2000. C.1 Power Supplies Power is supplied to the BL2000 via a mini phone jack located at J7 or through the screw terminal strip, header J2. The BL2000 itself is protected against reverse polarity by a diode at D1 as shown in Figure C-1. SWITCHING POWER REGULATOR +RAW POWER IN J2 orJ7 D1 DCIN TVS1 C28 47 µF 14 15 8 1 12 U12 7 17 18 LM2575 Vcc 10 2 1 4 330 µH D2 L1 1N5819 3 C29 330 µF Figure C-1. BL2000 Power Supply Capacitor C28 provides surge current protection for the voltage regulator, and allows the external power supply to be located some distance away from the BL2000. A switching power regulator is used. The input voltage range is from 9 V to 40 V. The BL2000 can alternatively be powered by 24 V AC. In this case D1 and C28 act as a half-wave rectifier to produce approximately 40 V DC at the input of the switching regulator, U12. Although a significant drop will be measured at DCIN, the voltage will never drop below +9 V DC. As long as the minimum input level is maintained at the input to the regulator, Vcc will be held at +5 V DC. Pin 12 on header J9 can be configured to either supply Vcc (0 Ω surface-mounted resistor installed at R160) or GND (0 Ω surface-mounted resistor installed at R161). When using pin 12 on header J9 to supply Vcc, take care not to draw more than 25 mA current from this pin, especially if you are using 24 V AC as your +RAW input power supply. The R160 and R161 locations are shown in Figure A-4. User’s Manual 73 C.1.1 Power for Analog Circuits Power to the analog circuits is provided by way of a two-stage low-pass filter, which isolates the analog section from digital noise generated by the other components. The analog power voltage +V powers the op-amp for the buffered A/D converter inputs, the A/D converter, and the 4.096 V reference circuit. The two D/A converters can be powered either from the reference, which is the standard, or from +V when ratiometric measurements are desired. The maximum current draw on +V is less than 10 mA. There are three digital grounds, one on each of the screw-terminal headers associated with the digital functions (J2, J8, and J9). The digital ground and the analog ground share a single split ground plane on the board, with the analog ground connected at a single point to the digital ground by a 0 Ω resistor (R87). This is done to minimize digital noise in the analog circuits and to eliminate the possibility of ground loops. External connections to analog ground are made on screw-terminal header J4. C.2 Batteries and External Battery Connections The SRAM and the real-time clock have battery backup. Power to the SRAM and the realtime clock (VRAM) is provided by two different sources, depending on whether the main part of the BL2000 is powered or not. When the BL2000 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 power will come from the battery. The reset generator circuit controls the source of power by way of its /RESET output signal. A replaceable 265 mA·h lithium battery provides power to the real-time clock and SRAM when external power is removed from the circuit board. The drain on the battery is typically less than 10 µA when there is no external power applied, and so the expected in-service life of the battery is 265 mA·h ------------------------ = 3.0 years. 10 µA The drain on the battery is typically less than 4 µA when external power is applied, and so the expected BL2000 shelf life is 265 mA·h ------------------------ = 7.5 years. 4 µA A long-life 950 mA·h solder-in battery is also provided for in the board layout. Alternatively, an external battery may be connected to the BL2000 via header J12. The existing battery does not have to be removed when an external battery is used. 74 Wildcat (BL2000) C.2.1 Replacing the Backup Battery The battery is user-replaceable, and is fitted in a battery holder. To replace the battery, lift up on the spring clip and slide out the old battery. Use only a Panasonic CR2330 or equivalent replacement battery, and insert it into the battery holder with the + side facing up. NOTE: The SRAM contents and the real-time clock settings will be lost if the battery is replaced with no power applied to the BL2000. Exercise care if you replace the battery while external power is applied to the BL2000. CAUTION: There is an explosion danger if the battery is short-circuited, recharged, or replaced incorrectly. Replace the battery only with the same type or an equivalent type recommended by the battery manufacturer. Dispose of used batteries according to the battery manufacturer’s instructions. C.2.2 Battery-Backup Circuit Figure C-2 shows the battery-backup circuit. Internal Battery BT1 D14 VBAT-INT R162 R164 1 kW 1 kW R163 R165 1 kW 47 kW VRAM External Battery J12 1 2 3 VBAT-EXT D16 Vcc D18 D20 VBAT R25 11 kW R159 22 kW C30 1 nF R92 47 kW C83 1 nF VOSC Figure C-2. BL2000 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 U14, 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 BL2000. User’s Manual 75 C.2.3 Power to VRAM Switch The VRAM switch, shown in Figure C-3, 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 R99 VRAM 0W Q9 FDV302P R93 11 kW /RESET R104 22 kW Q8 MMBT3904 Figure C-3. VRAM Switch Field-effect transistor Q9 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 BL2000 is not in reset, the /RESET line will be high. This turns on Q8, causing its collector to go low. This turns on Q9, allowing VRAM to nearly equal Vcc. When the BL2000 is in reset, the /RESET line will go low. This turns off Q8 and Q9, providing an isolation between Vcc and VRAM. 76 Wildcat (BL2000) C.2.4 Reset Generator The BL2000 uses a reset generator, U4, 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. The reset can be initiated either externally or by a watchdog timeout (WDTOUT) on the Rabbit 2000 microprocessor. +5 V /RESET U4 WDTOUT RESET GENERATOR R151 100 kW R69 22 kW C24 100 nF D15 EXT RESET D17 Figure C-4. Reset Generator NOTE: The Dynamic C function chkWDTO is not able to detect whether a watchdog timeout has occurred on the BL2000. The GCSR status bits are read and stored by the BIOS, and the reset status bit would normally change once a reset has occurred. However, since WDTOUT is tied to the reset generator, a watchdog timeout forces a hardware reset, followed by the BIOS reading and storing the status bits corresponding to power-up or reset. To use chkWDTO to detect a watchdog timeout, remove D15 (located on the bottom side of the BL2000). User’s Manual 77 C.3 Chip Select Circuit Figure C-5 shows a schematic of the chip select circuit. VRAM R101 100 kW /CSRAM Q3 /CS1 Q4 R104 /RESET 22 kW Q8 C81 1 nF Figure C-5. Chip Select Circuit The current drain on the battery in a battery-backed circuit must be kept at a minimum. When the BL2000 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 (R101). 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). 78 Wildcat (BL2000) Transistors Q3 and Q4 are of opposite polarity so that a rail-to-rail voltage can be passed. When the /CS1 voltage is low, Q4 will conduct. When the /CS1 voltage is high, Q3 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. The signal that turns the transistors on is a high on the processor’s reset line, /RESET. When the BL2000 is not in reset, the reset line will be high, turning on n-channel Q4 directly and p-channel FET Q3 by way of Q8. When the board is in reset both Q3 and Q4 are off, isolating /CSRAM and allowing it to be pulled to VRAM. User’s Manual 79 80 Wildcat (BL2000) APPENDIX D. DEMONSTRATION BOARD Appendix D shows how to connect the Demonstration Board to the BL2000. D.1 Connecting Demonstration Board Before running sample programs based on the Demonstration Board, you will have to connect the Demonstration Board from the BL2000 Tool Kit to the BL2000 board. Proceed as follows. 1. Use the wires included in the BL2000 Tool Kit to connect header J1 on the Demonstration Board to header J8 and J9 on the BL2000. The connections are shown in Figure D-1 for sample programs DIGIN.C, DIGOUT.C, and SMTP.C, and in Figure D-2 for sample program ANADIGIN.C. 2. Make sure that your BL2000 is connected to your PC and that the power supply is connected to the BL2000 and plugged in as described in Chapter 2, “Getting Started.” User’s Manual 81 AGND BT1 DS5 + G GND C45 C46 C47 C48 GND C49 GND C50 C51 GN D C52 DS8 C37 C42 C44 Q6 GND GND GND J8 J10 J11 J9 IN2 IN3 IN4 IN5 IN6 IN7 IN8 IN9 IN10 OUT8 OUT9 GND OUT0 OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 J1 · · · · · · · · · · · · LED1 LED2 LED3 LED4 BUZZER LED4 LED3 LED2 LED1 K +5V 1-2 3-4 5-6 DEMO BOARD BUZZER H1 ·· ·· ·· ·· ·· ·· ·· SW4 H2 SW3 SW2 SW1 GND Jumpers: H1: None H2: As shown BL2000 BAD DS7 + Q5 DS6 + DS4 + 10 GND DS3 K1 Q4 D Q3 1 C26 DS2 R26 R25 6 3 R29 C32 R41 R42 R43 R44 R45 R46 R47 R48 R49 D4 D5 D6 D7 D8 D9 D10 D11 D12 C43 DS1 R21 5 GND GN D C15 GND C36 R39 R53 C41 R57 R61 GND C12 C77 Q1 1 2 R32 R34 R35 R40 D3 R33 C35 R38 R52 C40 R56 R60 J7 POWER IN 40 L1 C34 R37 R51 C39 R55 R59 3 4 U6 C31 R31 C33 R36 R50 C38 R54 R58 2 R22 C21 15 TVS1 4 C9 R14 R18 65 R151 Q2 R30 C29 1 C76 R152 J12 C5 C7 U3 PWR AGND R3 Y1 90 U4 C25 C28 C13 JP2 U5 C22 R27 R28 C27 C24 GND C78 R23 R24 C14 C19 Y2 C17 D2 AG ND R2 R17 C18 Y3 12 V DC max. AGND C75 R5 C79 C11 R11 R10 R157 JP1 C80 R130 R16 R15 R19 R153 R154 U1 C16 C23 D1 AGND R8 R20 C20 J6 C2C3 AGND C8 U2 LNK GND ACT R13C1 R9 C4 R7 C10R12 OUT 0 GND J5 AGND DAC1 DAC0 ADC8 ADC7 ADC6 ADC5 ADC4 ADC3 ADC2 ADC1 ADC0 OUT 1 GN D R4 R6 R1 J4 J3 485+ RXD2 TXD2 RXD1 TXD1 OUT 2 GND 485- OUT 3 IN0 Battery GND IN1 S GND RST- + +K C85 +RAW GND J1 J2 8-7 SW4 6-5 SW3 4-3 SW2 2-1 SW1 NO COM NC GND BL2000 (Header J2/J8/J9) +RAW, K GND IN0 IN1 IN2 IN3 OUT0 OUT1 OUT2 OUT3 Demonstration Board (Header J1) +5V GND SW1 SW2 SW3 SW4 LED1 LED2 LED3 LED4 Figure D-1. General Digital Connections Between BL2000 and Demonstration Board 82 Wildcat (BL2000) User’s Manual 83 5-6 3-4 8-7 BUZZER · · · · · · · · · · · · J1 BUZZER LED4 LED3 LED2 LED1 K +5V SW2 SW4 LED1 LED2 LED3 LED4 SW1 GND DEMO BOARD 1-2 H2 SW3 ·· ·· ·· ·· ·· ·· ·· H1 SW4 6-5 SW3 4-3 SW2 2-1 Figure D-2. Analog Connections Between BL2000 and Demonstration Board SW1 Jumpers: H1: None H2: As shown Separate Power Supply GND ADC0 ADC1 ADC2 ADC3 N/C N/C N/C N/C BL2000 (Header J4) +5 V GND GND +K GND RST- IN1 GND IN0 485- GN D R4 R6 485+ RXD2 TXD2 RXD1 TXD1 J4 J3 AGND DAC1 DAC0 ADC8 ADC7 ADC6 ADC5 ADC4 ADC3 ADC2 ADC1 ADC0 C85 +RAW GND J1 J2 R1 J5 GND R13C1 R9 GND C2C3 AGND C8 U2 AGND AGND C75 R5 C79 R2 AG ND C78 R3 AGND AGND C5 C7 R8 C13 J12 C9 R14 C12 R21 C77 Q1 90 40 R26 R25 6 BT1 DS5 R151 15 DS4 C22 R27 R28 C27 65 5 10 R29 DS3 Y1 3 1 2 1 R23 R24 C14 R22 C21 4 K1 Q4 DS7 + G + Q5 DS6 TVS1 D Q3 R32 R34 R35 R40 D3 DS2 C31 R31 DS1 JP2 C76 R152 U5 C15 R17 C18 C19 Y2 U4 R18 C11 R11 R10 R157 JP1 C80 R130 R16 R15 R19 R153 R154 U1 C24 R33 C33 R36 R50 C38 R54 R58 C35 R38 R52 C40 R56 R60 GND GND C45 C47 C46 C48 C50 C49 GND GND C51 C52 GN D Q6 DS8 C37 C42 C34 R37 R51 C39 R55 R59 C32 R41 R42 R43 R44 R45 R46 R47 R48 R49 D4 D5 D6 D7 D8 D9 D10 D11 D12 C36 R39 R53 C41 R57 R61 4 1 L1 GND C44 C43 GND GN D C26 U6 C29 D2 3 2 J7 POWER IN GND U3 C4 R7 C10R12 R20 C20 C16 Y3 C17 J6 C23 D1 Q2 R30 C25 C28 + + OUT 2 Battery PWR LNK ACT OUT 0 OUT 1 OUT 3 +5V GND SW1 SW2 SW3 SW4 LED1 LED2 LED3 LED4 Demonstration Board (Header J1) EXTERNAL POWER SUPPLY 12 V DC max. GND + S BAD GND GND BL2000 GND J8 J10 J11 J9 IN2 IN3 IN4 IN5 IN6 IN7 IN8 IN9 IN10 OUT8 OUT9 GND OUT0 OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 NO NC COM GND 84 Wildcat (BL2000) INDEX A D A/D converter function calls _anaIn ............................ 47 anaIn .............................. 48 anaInCalib ..................... 47 anaInEERd .................... 49 anaInEEWr .................... 49 anaInVolts ..................... 49 analog I/O reference voltages ............. 28 analog inputs ......................... 27 use as digital inputs ........... 27 analog outputs ....................... 28 D/A converter function calls anaOut ........................... 51 anaOutCalib .................. 50 anaOutEERd ................. 52 anaOutEEWr ................. 52 anaOutVolts .................. 52 D/A converter outputs .......... 28 Demonstration Board .............. 3 hookup instructions ........... 81 analog sample programs 83 digital sample programs 82 jumper configurations . 82, 83 wire assembly ..................... 3 digital I/O function calls digIn .............................. 44 digOut ........................... 44 SMODE0 .......................... 26 SMODE1 .......................... 26 digital inputs ......................... 17 configured pull-up or pulldown ............................. 17 dual-purpose A/D converter inputs as digital inputs .. 18 switching threshold ........... 18 digital outputs ....................... 19 +K ..................................... 19 pulled up or pulled down .. 19 sinking ............................... 19 sourcing ............................. 19 dimensions BL2000 board ................... 60 plastic enclosure ................ 72 B battery connections ....................... 74 life ..................................... 74 replacing the backup battery ................................ 75 board initialization function calls ..................... 42 brdInit ............................ 42 C C language ............................ 35 CE compliance ........................ 5 design guidelines ................. 6 chip select circuit .................. 78 clock doubler ........................ 32 conformal coating ................. 66 connections battery ............................... 74 Ethernet cable ................... 53 Dynamic C ........................ 4, 35 add-on modules ................. 37 COM port .......................... 11 installation ......................... 10 Rabbit Embedded Security Pack ................................ 4 standard features debugging ...................... 36 starting .............................. 11 telephone-based technical support ...................... 4, 37 upgrades and patches ........ 37 E EMI spectrum spreader feature . 33 Ethernet cables ...................... 53 Ethernet connections ............. 53 steps .................................. 53 Ethernet port ......................... 24 ground lug ......................... 25 handling EMI and noise .... 25 pinout ................................ 24 external interrupts ................. 32 F features .................................... 1 H headers Demonstration Board H1 ............................ 82, 83 H2 ............................ 82, 83 I installation plastic enclosure BL2000 ......................... 70 light pipes ...................... 70 top ................................. 71 User’s Manual 85 IP addresses ...........................56 how to set ..........................55 how to set PC IP address ...56 J jumper configurations .....65, 66 Demonstration Board ..82, 83 J9(12) .................................73 J9(12) is GND ...................66 J9(12) is Vcc ......................66 JP1 (RS-485 bias and termination resistors) ...........24, 66 JP2 (flash memory bank select) ......................30, 66 JP3 (D/A converter power supply) .....................28, 66 JP4 (flash memory size) 30, 66 JP5 (SRAM size) .........30, 66 JP6 (digital input pull-up/pulldown resistors) ........17, 66 jumper locations ................65 K K ............................................19 L LED outputs function calls ledOut ............................46 M memory .................................30 flash memory configurations ........................................30 SRAM configuration for different sizes ................30 models .....................................2 BL2000 ................................2 BL2010 ................................2 BL2020 ................................2 BL2030 ................................2 P pinout BL2000 headers ...........14, 15 Ethernet port ......................24 plastic enclosure ................3, 70 attach BL2000 to base .........7 dimensions .........................72 power management ...............73 86 power supplies .......................73 backup-battery circuit ........75 battery backup ...................74 chip select circuit ...............78 switching voltage regulator 73 VRAM switch ...................76 power supply connections ....................9, 16 programming programming cable ..............3 programming port ..............25 programming cable .................3 connections ..........................8 PROG connector ...............31 R Rabbit 2000 parallel ports ......................67 real-time clock how to set ..........................40 relay output function calls relayOut .........................46 relay outputs ..........................21 operation in parallel with digital output OUT0 ......21 reset .........................................9 hardware ..............................9 reset generator ...................77 RS-232 ..................................22 RS-485 ..................................22 RS-485 network ....................23 termination and bias resistors ................................24 S sample programs ...................38 A/D converter inputs AD_CALIB.C ................39 AD1.C ............................39 AD2.C ............................39 AD3.C ............................39 AD4.C ............................39 BOARD_ID.C ...................38 COUNTLEDS.C ...............38 D/A converter outputs DACAL.C ......................40 DAOUT1.C ...................40 DAOUT2.C ...................40 digital I/O ANADIGIN.C ...............38 DIGIN.C ........................38 DIGOUT.C ....................38 LED.C ............................38 PWM.C ..........................39 RELAY.C ......................39 how to set IP address .........55 LEDS_4.C .........................38 PONG.C ............................12 real-time clock RTC_TEST.C ................40 SETRTCKB.C ...............40 serial communication MASTER.C ...................39 PUTS.C ..........................39 RELAYCHR.C ..............39 SLAVE.C ......................39 TCP/IP ...............................55 PINGME.C ....................57 SMTP.C .........................58 SSI.C ..............................58 TELNET.C ....................58 serial communication ............22 flow control .......................45 function calls ser485Rx ........................45 ser485Tx ........................45 serCflowcontrolOff .......45 serCflowcontrolOn ........45 programming port ..............25 RS-232 description ............22 RS-485 description ............22 RS-485 network ................23 RS-485 termination and bias resistors .........................24 serial ports Ethernet port ......................24 setup ........................................7 attach BL2000 to enclosure base .................................7 power supply connections ...8 programming cable connections .................................8 software ...................................4 libraries BL2000 ..........................41 PACKET.LIB ................45 RS232.LIB .....................45 TCP/IP ...........................41 sample programs ...............38 Wildcat (BL2000) specifications dimensions BL2000 ......................... 60 plastic enclosure ............ 72 electrical ............................ 61 header footprint ................. 63 headers .............................. 63 relative pin 1 locations ...... 63 temperature ....................... 61 spectrum spreader ................. 33 subsystems ...................... 13, 14 T U USB/serial port converter ....... 8 Dynamic C settings ........... 11 V Vcc J9(12) ................................ 73 W watchdog timeout function calls chkWDTO ..................... 77 TCP/IP connections .............. 53 10Base-T Ethernet card .... 53 additional resources .......... 58 Ethernet hub ...................... 53 steps .................................. 53 technical support ................... 12 Tool Kit ................................... 3 AC adapter .......................... 3 DC power supply ................ 3 Demonstration Board .......... 3 Dynamic C software ........... 3 plastic enclosure .................. 3 programming cable ............. 3 software ............................... 3 User’s Manual ..................... 3 wire assembly ..................... 3 User’s Manual 87 88 Wildcat (BL2000) SCHEMATICS 090-0117 BL2000 Schematic www.rabbit.com/documentation/schemat/090-0117.pdf 090-0042 Demonstration Board Schematic www.rabbit.com/documentation/schemat/090-0042.pdf 090-0128 Programming Cable Schematic www.rabbit.com/documentation/schemat/090-0128.pdf You may use the URL information provided above to access the latest schematics directly. User’s Manual 89