Digi BL4S100 User Manual

BL4S100
C-Programmable Single-Board Computer with Networking
User’s Manual
019–0172_D
BL4S100 User’s Manual
Part Number 019-0172_D • Printed in U.S.A.
Digi International reserves the right to make changes and
improvements to its products without providing notice.
Trademarks
Rabbit, RabbitCore, and Dynamic C are registered trademarks of Digi International Inc.
RabbitNet is a trademark of Digi International Inc.
The latest revision of this manual is available on the Digi International Inc. website,
www.digi.com, for free, unregistered download.
Digi International Inc.
www.digi.com

TABLE OF CONTENTS

Chapter 1. Introduction 4
1.1 BL4S100 Description ...........................................................................................................................4
1.2 BL4S100 Features.................................................................................................................................4
1.3 Development and Evaluation Tools......................................................................................................6
1.3.1 Tool Kit .........................................................................................................................................6
1.3.2 Software ........................................................................................................................................7
1.3.3 Optional Add-Ons .........................................................................................................................7
1.4 CE Compliance .....................................................................................................................................8
1.4.1 Design Guidelines .........................................................................................................................9
1.4.2 Interfacing the BL4S100 to Other Devices...................................................................................9
Chapter 2. Getting Started 10
2.1 BL4S100 Connections ........................................................................................................................11
2.1.1 Hardware Reset ...........................................................................................................................12
2.2 Installing Dynamic C ..........................................................................................................................13
2.3 Starting Dynamic C ............................................................................................................................14
2.4 Run a Sample Program .......................................................................................................................14
2.4.1 Troubleshooting ..........................................................................................................................14
2.4.2 Run a ZigBee Sample Program (BL4S100/BL4S150 only) .......................................................15
2.5 Where Do I Go From Here? ...............................................................................................................16
Chapter 3. Subsystems 17
3.1 BL4S100 Pinouts ................................................................................................................................18
3.1.1 Connectors ..................................................................................................................................18
3.2 Digital I/O ...........................................................................................................................................19
3.2.1 Digital Inputs...............................................................................................................................19
3.2.2 Digital Outputs............................................................................................................................22
3.3 Serial Communication ........................................................................................................................25
3.3.1 RS-232 ........................................................................................................................................25
3.3.2 Programming Port .......................................................................................................................25
3.3.3 Ethernet Port ...............................................................................................................................26
3.4 A/D Converter Inputs..........................................................................................................................27
3.4.1 A/D Converter Calibration..........................................................................................................29
3.5 USB Programming Cable ...................................................................................................................30
3.5.1 Changing Between Program Mode and Run Mode ....................................................................30
3.6 Other Hardware...................................................................................................................................31
3.6.1 Clock Doubler .............................................................................................................................31
3.6.2 Spectrum Spreader ......................................................................................................................31
3.7 Memory...............................................................................................................................................32
3.7.1 SRAM .........................................................................................................................................32
3.7.2 Flash Memory .............................................................................................................................32
3.7.3 VBAT RAM Memory.................................................................................................................32
BL4S100 User’s Manual 1
Chapter 4. Software 33
4.1 Running Dynamic C ...........................................................................................................................33
4.1.1 Upgrading Dynamic C ................................................................................................................35
4.1.2 Add-On Modules.........................................................................................................................35
4.2 Sample Programs ................................................................................................................................36
4.2.1 Digital I/O ...................................................................................................................................37
4.2.2 Serial Communication.................................................................................................................43
4.2.3 A/D Converter Inputs..................................................................................................................45
4.2.4 Real-Time Clock .........................................................................................................................46
4.2.5 TCP/IP Sample Programs ...........................................................................................................46
4.2.6 ZigBee Sample Programs............................................................................................................46
4.3 BL4S100 Libraries..............................................................................................................................47
4.4 BL4S100 Function Calls.....................................................................................................................48
4.4.1 Board Initialization .....................................................................................................................48
4.4.2 Digital I/O ...................................................................................................................................49
4.4.3 Rabbit RIO Interrupt Handlers....................................................................................................75
4.4.4 Serial Communication.................................................................................................................79
4.4.5 A/D Converter Inputs..................................................................................................................80
4.4.6 SRAM Use ..................................................................................................................................94
Chapter 5. Using the Ethernet TCP/IP Features 95
5.1 TCP/IP Connections ...........................................................................................................................95
5.2 TCP/IP Sample Programs ...................................................................................................................97
5.2.1 How to Set IP Addresses in the Sample Programs .....................................................................97
5.2.2 How to Set Up your Computer for Direct Connect ....................................................................98
5.2.3 Run the
5.2.4 Running More Demo Programs With a Direct Connection......................................................100
5.3 Where Do I Go From Here? .............................................................................................................102
PINGME.C Demo ............................................................................................................99
Chapter 6. Using the ZigBee Features 103
6.1 Introduction to the ZigBee Protocol .................................................................................................103
6.2 ZigBee Sample Programs .................................................................................................................104
6.2.1 Setting Up the Digi XBee USB Coordinator ............................................................................105
6.2.2 Setting up Sample Programs .....................................................................................................107
6.3 Dynamic C Function Calls................................................................................................................111
6.4 Where Do I Go From Here? .............................................................................................................111
Appendix A. Specifications 112
A.1 Electrical and Mechanical Specifications ........................................................................................113
A.1.1 Exclusion Zone.........................................................................................................................115
A.1.2 Headers.....................................................................................................................................115
A.2 Jumper Configurations.....................................................................................................................116
A.3 Use of Rabbit Microprocessor Parallel Ports ...................................................................................118
Appendix B. Power Supply 120
B.1 Power Supplies.................................................................................................................................120
B.2 Batteries and External Battery Connections ....................................................................................121
B.2.1 Replacing the Backup Battery..................................................................................................121
Appendix C. Demonstration Board 122
C.1 Connecting Demonstration Board....................................................................................................123
C.2 Demonstration Board Features.........................................................................................................124
C.2.1 Pinout........................................................................................................................................124
C.2.2 Configuration............................................................................................................................124
Appendix D. Rabbit RIO Resource Allocation 126
BL4S100 User’s Manual 2
D.1 Digital I/O Pin Associations ............................................................................................................127
D.2 Interpreting Error Codes ..................................................................................................................128
Appendix E. Plastic Enclosure 130
E.1 Assembly Instructions ......................................................................................................................131
E.2 Dimensions.......................................................................................................................................133
Appendix F. Additional Configuration Instructions 134
F.1 XBee Module Firmware Downloads................................................................................................134
F.1.1 Dynamic C v. 10.44 and Later..................................................................................................134
F.2 Digi
®
XBee USB Configuration ......................................................................................................135
F.2.1 Additional Reference Information ............................................................................................136
F.2.2 Update Digi
®
XBee USB Firmware.........................................................................................138
Index 139
Schematics 142
BL4S100 User’s Manual 3

1. INTRODUCTION

The BL4S100 series of high-performance, C-programmable single-board computers offers built-in RS232, digital I/O and analog inputs combined with the Ethernet and Zigbee network connectivity in a compact form fac­tor. The BL4S100 single-board computers are ideal for both discrete manu-
facturing and process-control applications.
A Rabbit® 4000 microprocessor provides fast data processing.

1.1 BL4S100 Description

Throughout this manual, the term BL4S100 refers to the complete series of BL4S100 single­board computers unless other production models are referred to specifically.
The BL4S100 is an advanced single-board computer that incorporates the powerful Rabbit 4000 microprocessor, serial flash memory, static RAM, digital inputs, digital outputs, A/D converter inputs, RS-232 serial ports, and Ethernet and ZigBee network connectivity.

1.2 BL4S100 Features

Rabbit 4000 microprocessor operating at 40.00 MHz.
Screw-terminal connectors
512KB SRAM (battery-backed), 512KB/1MB fast SRAM, and 1MB/2MB flash memory
options.
20 digital I/O: 12 protected digital inputs, and 8 sinking digital outputs.
Advanced input capabilities including event counting, event capture, and quadrature
decoders that may be set up on all the digital input pins.
Independent PWM and PPM capability on all the digital output pins.
Eight 11-bit A/D converter inputs (plus one bit for sign).
Ethernet and ZigBee network connectivity.
Three serial ports:
Two 3-wire RS-232 serial ports or one 5-wire RS-232 serial port:
One serial port dedicated to programming/debugging.
Battery-backed real-time clock.
BL4S100 User’s Manual 4
Watchdog supervisor.
Four BL4S100 models are available. Their standard features are summarized in Table 1.
Table 1. BL4S100 Models
Feature
Microprocessor Rabbit 4000 running at 40.00 MHz
Program Execution SRAM 512KB 1MB
Data SRAM 512KB
Serial Flash Memory (program)
A/D Converter 12 bits
Ethernet Interface 10Base-T
ZigBee Interface
BL4S100 BL4S110 BL4S150 BL4S160
1MB 2MB
ZigBee PRO
(802.15.4)
ZigBee PRO
(802.15.4)
BL4S100 single-board computers are programmed over a standard PC USB port through a programming cable supplied with the Tool Kit.
NOTE: BL4S100 Series single-board computers cannot be programmed via the RabbitLink.
Appendix A provides detailed specifications.
Visit the website for up-to-date information about additional add-ons and features as they become available. The website also has the latest revision of this user’s manual.
BL4S100 User’s Manual 5

1.3 Development and Evaluation Tools

set up.exe

1.3.1 Tool Kit

A Tool Kit contains the hardware essentials you will need to use your own BL4S100 single­board computer. These items are supplied in the Tool Kit.
Getting Started instructions.
Dynamic C CD-ROM, with complete product documentation on disk.
USB programming cable, used to connect your PC USB port to the BL4S100.
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 BL4S100 to demonstrate the I/O and capabilities of the BL4S100.
DB9 to bare leads serial cable.
CAT 5/6 Ethernet crossover cable.
Screwdriver.
Rabbit 4000 Processor Easy Reference poster.
Registration card.
Figure 1. BL4S100 Tool Kit
BL4S100 User’s Manual 6

1.3.2 Software

GND
J7
20
11
10
D2 Q1
D3 Q2
D4 Q3
RP1
J4
RP2
D5 Q4
D6 Q5
D7 Q6
D8 Q7
D9 Q8
U2
J3
OUT2 OUT1 OUT0 IN3 IN2 IN1 IN0 +K GND
+5 V +K2 +K1 GND OUT7 OUT6 OUT5 OUT4 OUT3
BUTTON
DS1
DS2
R1
S2
S1
J5
RX TX/1W CTS RTS +5 V GND
RNET
J2
2
4
3
RNET
PWR
D1
J8
2
R41 R31 R43
R45
R40
R38R44
R3
3
U4
C13
R24
R
3
0
R
2
5 R
3
5
J
6
C7
C11
2
JP1
C6
C10
J1
8
7
2
1
D
1
0
D11
C2
C3
C4
R
4
U1 R6 R23
R5
C5
R26
R34
R13R14R
1
5R16R17
R
1
8
R
1
9R20
R
2
1R22
R
1
2
R7
R8R
9
R1
0
R11
D12
U7
D15
U8
D14
D13
20
11
10
C58
L1
J9
C69 C74
R69 R72 R73 R74
U18
J10 2
1
J11 2
1
AIN0 AIN1
AIN2 AIN3
R87 R89 R90 R93
AIN0 AIN1 AIN2 AIN3 AIN4 AIN5 AIN6 AIN7 AGND
IN11 IN10 IN9 IN8 IN7 IN6 IN5 IN4 GND
RST
PWR
AGND
C65 C64 C68
R63
R65
L2
BT1
C86
C87
R86
U20
C96
C91C
92
C95 C97
C
1
0
1
C
1
0
2
C
1
0
3
C
1
0
4
C
1
0
5
C
1
0
6
C
1
0
7
C
1
0
8
R
9
8
R
9
9
R
1
0
0
R
1
0
1 R
1
0
2
R
1
0
3
R
1
0
4
R
1
0
5
R
1
0
6
R
1
0
7
R
1
0
8
R
1
0
9
R
1
1
0
R
1
1
1
R
1
1
2
R
1
1
3
ADC PROGRAMMER
GND
2
J1
2
J15
R115
RP5
RP3
R94
R91
D19
D20
D21
D22
D23
D24
D25 D26
RP4
J
1
3
2
RP6
1
S3 J16
S4
C
1
14
2
7
8
J14
R
117
D27
DS3
DS4
J17
2
PWR
IN
L12
3
4
C93
D1
8
C112
R
116R118
L10L11
C1
09
L8
C
11
0
L9
L4
R88
C
98
L
5
C
1
11
L
6
C9
9
L7
U
2
1
C100
R95
R96
R7
7
C94
R92 C113 R97
U19
R75
R85
C
9
0
R76
C
8
9
C
88
U17
L3
C17C
18
C19
C
20
C21C
22
C
2
3 C
2
4
C41 C44
R54
R
5
5
C46
C49
C47 C50
U15
R62
R
6
0
D17
C60
R66 C78
C80 C82
C81 C83
C84
4
3
1
2
Y4
R67 R68
R70
R71
R
7
9 R
8
0 R
7
8 R
8
1 R
8
2 R
8
3
R84
C70 C75
C72
C76
C73 C77
C71
C85
C79
U16
Y1
C55
Y2
C59
C
6
6
1
R59
C
3
8 C
4
2 C
4
3
C30 C33
C29
C32
C37
C52
R
5
8
C51
C
5
7
C67
C62 C63
C53 C54
R57 C61 4 1
3
R
6
1
Y3
R64
U
9
R47
U13
R46
R
5
1
C27
U5
C34
C31
C
2
8
R56
C45
C40
C39
U14
C56
U10
R53
Q9
R52
C35
C3
6
U
12
C26
C25
U6
R48
R49
D16
U11
R
2
8
R
2
9
R50
C48
C1
R2
C
16
C1
5
C
1
4
U3
C9
C1
2
C8 R27
R39
R42
R
37
R32 R36
XBee
S
e
r
ie
s 2
The BL4S100 is programmed using version 10.44 or later of Rabbit’s Dynamic C. A co m-
patible version is included on the Tool Kit CD-ROM.
This version of Dynamic C includes the popular µC/OS-II real-time operating system, point-to-point protocol (PPP), FAT file system, RabbitWeb, and other select libraries
.
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 addi­tion to the Web-based technical support included at no extra charge, a one-year telephone­based technical support subscription is also available for purchase. Visit our website for further information and complete documentation, or contact your Rabbit sales representative or authorized distributor.

1.3.3 Optional Add-Ons

Rabbit has a plastic enclosure and a Mesh Network Add-On Kit available for the BL4S100.
Mesh Network Add-On Kit (Part No. 101-1272)
Digi
XBee Series 2 RF module
®
XBee USB (used as ZigBee coordinator)
RF Interface module
The XBee Series 2 RF module is installed on the RF Interface module, which can be connected via an RS-232 serial connection to a Windows PC for setup. The Mesh Net­work Add-On Kit enables you to explore the wireless capabilities of BL4S100 models that offer a ZigBee network interface.
Plastic enclosure (Part No. 181-0041)
Further details on the plastic enclosure are provided in Appendix E.
Visit our website at www.digi.com or contact your Rabbit sales representative or authorized distributor for further information.
BL4S100 User’s Manual 7

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 frequen­cies above 230 MHz. Although the test range goes to 1 GHz, the emissions from Rabbit­based systems at frequencies above 300 MHz are generally well below background noise levels.
The BL4S100 single-board computer has been tested and was found to be in conformity with the following applicable immunity and emission standards. The BL4S110, BL4S150, and BL4S160 single-board computers are also CE qualified as they are sub-versions of the BL4S100 single-board computer. Boards that are CE-compliant have the CE mark.
Immunity
The BL4S100 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 BL4S100 series of single-board computers meets the following emission standards.
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.
BL4S100 User’s Manual 8

1.4.1 Design Guidelines

Note the following requirements for incorporating the BL4S100 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 BL4S100 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 BL4S100, it is the responsibility of the end-user to use
proper ESD precautions to prevent ESD damage to the BL4S100.
Safety
All inputs and outputs to and from the BL4S100 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 BL4S100 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 BL4S100 to Other Devices

Since the BL4S100 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 website.
BL4S100 User’s Manual 9

2. GETTING STARTED

Chapter 2 explains how to connect the programming cable and power sup­ply to the BL4S100.
BL4S100 User’s Manual 10

2.1 BL4S100 Connections

GND
J7
20
11
10
D2 Q1
D3
Q2
D4 Q3
RP1
J4
RP2
D5 Q4
D6 Q5
D7 Q6
D8 Q7
D9 Q8
U2
J3
OUT2 OUT1 OUT0 IN3 IN2 IN1 IN0 +K GND
+5 V +K2 +K1 GND OUT7 OUT6 OUT5 OUT4 OUT3
BUTTON
DS1
DS2
R1
S2
S1
J5
RX TX/1W CTS RTS +5 V GND
RNET
J2
2
4
3
RNET
PWR
D1
J8
2
R41 R31 R43
R45
R40
R38R44
R33
U4
C13
R24
R30
R25
R35
J6
C7
C11
2
JP1
C6
C10
J1
8
7
2
1
D10
D11
C2
C3
C4
R4
U1
R6 R23
R5
C5
R26
R34
R13
R14
R15
R16
R17
R18
R19
R20
R21
R22
R12
R7R8R9
R10
R11
D12
U7
D15
U8
D14
D13
20
11
10
C58
L1
J9
C69 C74 R69 R72 R73 R74
U18
J10
2
1
J11
2
1
AIN0 AIN1
AIN2 AIN3
R87 R89 R90 R93
AIN0 AIN1 AIN2 AIN3 AIN4 AIN5 AIN6 AIN7 AGND
IN11 IN10 IN9 IN8 IN7 IN6 IN5 IN4 GND
RST
PWR
AGND
C65
C64 C68
R63
R65
L2
BT1
C86 C87
R86
U20
C96
C91
C92
C95 C97
C101
C102
C103
C104
C105
C106
C107
C108
R98
R99
R100
R101
R102
R103
R104
R105
R106
R107
R108
R109
R110
R111
R112
R113
ADC PROGRAMMER
GND
2
J12
J15
R115
RP5
RP3
R94
R91
D19
D20
D21
D22
D23
D24
D25 D26
RP4
J13
2
RP6
1
S3 J16
S4
C114
2
7
8
J14
R117
D27
DS3
DS4
J17
2
PWR
IN
L12
3
4
C93
D18
C112
R116
R118
L10 L11
C109
L8
C110
L9
L4
R88
C98
L5
C111
L6
C99
L7
U21
C100
R95
R96
R77
C94
R92 C113
R97
U19
R75
R85 C90
R76
C89
C88
U17
L3
C17
C18
C19
C20
C21
C22
C23
C24
C41 C44
R54
R55
C46 C49
C47 C50
U15
R62
R60
D17
C60
R66
C78
C80 C82
C81 C83
C84
4
3
1
2 Y4
R67 R68 R70
R71
R79
R80
R78
R81
R82
R83
R84
C70 C75
C72 C76
C73 C77
C71
C85
C79
U16
Y1
C55
Y2
C59
C66
1
R59
C38
C42
C43
C30 C33
C29
C32
C37
C52
R58
C51
C57
C67
C62 C63
C53 C54
R57 C61
4
1
3
R61
Y3
R64
U9
R47
U13
R46
R51
C27
U5
C34
C31
C28
R56
C45
C40
C39
U14
C56
U10
R53
Q9
R52
C35
C36
U12
C26
C25
U6
R48
R49
D16
U11
R28
R29
R50
C48
C1 R2
C16
C15
C14
U3
C9
C12
C8
R27
R39
R42
R37
R32 R36
XBee
Series 2
Colored
edge
To
PC USB port
PROG
DIAG
Programming
Cable
PROG
J8
Step 1 — Connect Programming Cable
The programming cable connects the BL4S100 to the PC running Dynamic C to download programs and to monitor the BL4S100 module during debugging.
Connect the 10-pin PROG connector of the programming cable to header J8 on the BL4S100. Ensure that the colored edge lines up with pin 1 as shown. (Do not use the DIAG connector, which is used for monitoring only.) Connect the other end of the pro­gramming cable to an available USB port on your PC or workstation.
Figure 2. Programming Cable Connections
Your PC should recognize the new USB hardware, and the LEDs in the shrink-wrapped area of the USB programming cable will flash — if you get an error message, you will have to install USB drivers. Drivers for Windows XP are available in the Dynamic C
Drivers\Rabbit USB Programming Cable\WinXP_2K folder — double-click DPInst.exe to install the USB drivers. Drivers for other operating systems are available
online at www.ftdichip.com/Drivers/VCP.htm.
BL4S100 User’s Manual 11
Step 2 — Connect Power Supply
Once all the other connections have been made, you can connect power to the BL4S100.
First, prepare the AC adapter for the country where it will be used by selecting the plug. The 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 3, then press down on the spring-loaded clip below the plug assembly to allow the plug assembly to click into place. Release the clip to secure the plug assembly in the AC adapter.
Connect the power supply to header J17 on the BL4S100 as shown in Figure 3. Be sure to match the latch mechanism with the top of the connector to header J17 on the BL4S100 as shown. The Micro-Fit® connector will only fit one way.
Figure 3. Power Supply Connections
Plug in the AC adapter. The red LED next to the power connector at J17 should light up. The BL4S100 is now ready to be used.
CAUTION: Unplug the power supply while you make or otherwise work with the connections
to the headers. This will protect your BL4S100 from inadvertent shorts or power spikes.

2.1.1 Hardware Reset

A hardware reset is done by unplugging the power supply, then plugging it back in, or by pressing the RESET button located next to the Ethernet jack.
BL4S100 User’s Manual 12

2.2 Installing Dynamic C

If you have not yet installed Dynamic C version 10.44 (or a later version), do so now by inserting the Dynamic C CD from the BL4S100 Tool Kit in your PC’s CD-ROM drive. If autorun is enabled, the CD installation will begin automatically.
If autorun is disabled or the installation does not start, use the Windows Start | Run menu or Windows Disk Explorer to launch setup.exe from the root folder of the CD-ROM.
The installation program will guide you through the installation process. Most steps of the process are self-explanatory.
NOTE: If you have an earlier version of Dynamic C already installed, the default instal-
lation of the later version will be in a different folder, and a separate icon will appear on your desktop.
The online documentation is installed along with Dynamic C, and an icon for the docu­mentation 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 docu-
ments are always available for free, unregistered download from our websites as well.
The Dynamic C User’s Manual provides detailed instructions for the installation of Dynamic C and any future upgrades.
Once your installation is complete, you will have up to three icons on your PC desktop. One icon is for Dynamic C, one opens the documentation menu, and the third is for the Rabbit Field Utility, a tool used to download precompiled software to a target system.
If you have purchased any of the optional Dynamic C modules, install them after installing Dynamic C. The modules may be installed in any order. You must install the modules in the same directory where Dynamic C was installed.
BL4S100 User’s Manual 13

2.3 Starting Dynamic C

Once the BL4S100 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. Select
Store Program in Flash on the “Compiler” tab in the Dynamic C Options > Project Options Serial Converter
menu. Then click on the “Communications” tab and verify that Use USB to
is selected to support the USB programming cable. Click OK.
You may have to select the COM port assigned to the USB programming cable on your PC. In Dynamic C, select Options > Project Options, then select this COM port on the “Communications” tab, then click OK. You may type the COM port number followed by
Enter on your computer keyboard if the COM port number is outside the range on the
dropdown menu.

2.4 Run a Sample Program

You are now ready to test your set-up by running a sample program.
Use the File menu to open the sample program PONG.C, which is in the Dynamic C
SAMPLES folder. Press function key F9 to compile and run the program. The STDIO
window will open on your PC and will display a small square bouncing around in a box.
This program shows that the CPU is working. The sample program described in Section 5.2.3, “Run the PINGME.C Demo,” tests the TCP/IP portion of the board.

2.4.1 Troubleshooting

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 sys­tem may not be powered up. First, check to see that the red power LED next to header J5 is lit. If the LED is lit, check both ends of the programming cable to ensure that it is firmly plugged into the PC and the programming header on the BL4S100 with the marked (col­ored) edge of the programming cable towards pin 1 of the programming header.
If Dynamic C appears to compile the BIOS successfully, but you then receive a communi­cation 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 on the “Communications” tab in the Dynamic C
Options > Project Options menu. Select a slower Max download baud rate. Click OK
to save.
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 on the “Communications” tab in the Dynamic C
Options > Project Options menu. Choose a lower debug baud rate. Click OK to save.
Press <Ctrl-Y> to force Dynamic C to recompile the BIOS. You should receive a Bios
compiled successfully
BL4S100 User’s Manual 14
message once this step is completed successfully.

2.4.2 Run a ZigBee Sample Program (BL4S100/BL4S150 only)

Waiting to join network... done Cmd - Description ===================== ATCH - Read the current channel. Will be zero if we are not associated with a network. ATID - Set or read the current PAN ID. If you set the ID you must write it to non-volitile memory ("WR") and then reset the network software ("NR"). ATOP - Read the operating PAN ID. ATMY - Read the current network address. Will be 0xFFFE if we are not associated with a network. ATSH - Read the upper four bytes of the radio IEEE address. ATSL - Read the lower four bytes of the radio IEEE address. ATNI - Set or read the Node Identifier. ATBH - Set or read the maximum number of Broadcast Hops. ATNT - Set or read the Node Discovery timeout value (in 0.1s). ATSC - Set or read the list of channels to scan. This value is a bit-field list. ATSD - Set or read the channel scan duration value. ATNJ - Set or read the Node Joining Time value. ATAI - Read the Association Indicator. A zero value means we are associated with a network. ATPL - Set or read the transmission power level. ATVR - Read the radio software version number. ATHV - Read the radio hardware version number.
MENU - Display this menu (not an AT command.)
Valid command formats (AT prefix is optional, CC is command):
[AT]CC 0xXXXXXX (where XXXXXX is an even number of hexidecimal characters) [AT]CC YYYY (where YYYY is an integer, up to 32 bits) [AT]NI "Node ID String" (where quotes contain string data)
Enter AT Command:
This section explains how to run a sample program in which the BL4S100/BL4S150 is used in its default setup as a router and the Digi XBee USB is used as the ZigBee coordinator.
1. Connect the Digi XBee USB acting as a ZigBee coordinator to an available USB port
on your PC or workstation. Your PC should recognize the new USB hardware.
2. Find the file AT_INTERACTIVE.C, which is in the Dynamic C SAMPLES\XBee folder.
To run the program, open it with the File menu, then compile and run it by pressing F9. The Dynamic C STDIO window will open to display a list of AT commands. Type
MENU to redisplay the menu of commands.
Appendix F provides additional configuration information if you experience conflicts while doing development simultaneously with more than one ZigBee coordinator, or if you wish to upload new firmware.
BL4S100 User’s Manual 15

2.5 Where Do I Go From Here?

NOTE: If you purchased your BL4S100 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.digi.com/support/ and
at www.digi.com/forum/support/rabbit.
Click tech.support@digi.com to send an email to Technical Support.
If the sample program ran fine, you are now ready to go on to explore other BL4S100 features and develop your own applications.
When you start to develop an application involving the analog inputs, run USERBLOCK_
READ_WRITE.C
stants before you run any other sample programs in case you inadvertently write over them while running another sample program.
Chapter 3, “Subsystems,” provides a description of the BL4S100’s features, Chapter 4, “Software,” describes the Dynamic C software libraries and introduces some sample programs, and explains the TCP/IP features.
in the SAMPLES\UserBlock folder to save the factory calibration con-
BL4S100 User’s Manual 16

3. SUBSYSTEMS

BL4S100
RABBIT
®
4000
RS-232
Digital Inputs
Digital
Outputs
Programming
Port
Ethernet
A/D
Converter
Fast SRAM
(program)
Serial Flash
Data
SRAM
RABBIT
®
RIO
ZigBee PRO
(802.15.4)
optional
Real-Time
Clock
Main
Clock
Chapter 3 describes the principal subsystems for the BL4S100.
•Digital I/O
• Serial Communication
• A/D Converter Inputs
• Memory
Figure 4 shows these Rabbit-based subsystems designed into the BL4S100.
BL4S100 User’s Manual 17
Figure 4. BL4S100 Subsystems

3.1 BL4S100 Pinouts

J4
J3
J5
RNET
J15
J16
J14
J17
2
GND+KIN0
IN1
IN2
IN3
OUT0
OUT1
OUT2
OUT3
OUT4
OUT5
OUT6
OUT7
GND
+K1
+K2
+5 V
GND
+5 V
TXF/RTS
RXF/CTS
TXD/1-W
RXD
RS-232
AIN0
AIN1
AIN2
AIN3
AIN4
AIN5
AIN6
AIN7
AGND
IN11
IN10
IN9
IN8
IN7
IN6
IN5
IN4
GND
XBee
Series 2
Analog Inputs
Digital Inputs
Digital Outputs
Digital Inputs
Ethernet
Power Supply
1
3
4
2
n.c.
GND
n.c.
+RAW
The BL4S100 pinouts are shown in Figure 5.
Figure 5. BL4S100 Pinouts

3.1.1 Connectors

Standard BL4S100 models are equipped with an RJ-45 Ethernet jack, four 1 × 9 screw­terminal headers and one 1 × 6 screw-terminal header for the I/O and RS-232 signals. The polarized 2 × 2 Micro-Fit connector at J17 is for the power supply connection.
BL4S100 User’s Manual 18

3.2 Digital I/O

100 kW
27 kW
+K
+5 V
+3.3 V
IN0IN11
Rabbit® RIO
J13

3.2.1 Digital Inputs

The BL4S100 has 12 digital inputs, IN0–IN11, 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 up to +K or pulled down to 0 V by changing a jumper as shown in Figure 6.
CAUTION: Do not simultaneously jumper more than one setting when configuring the pull-up or pull-down options.
Figure 6. BL4S100 Digital Inputs IN0–IN11 [Pulled Up to +5 V—Factory Default]
Table 2 summarizes the jumper settings.
Table 2. BL4S100 Digital Input Pull-Up/Pull-Down Jumper Settings
Pins Jumpered Pulled Up/Pulled Down
1–2 Inputs pulled up to +K
2–4 or 4–6 Inputs pulled down to GND
5–6 Inputs pulled up to +5 V
BL4S100 User’s Manual 19
The actual switching threshold is approximately
+40 V
+36 V
+3.3 V
40 V
Normal Switching
Levels
Spikes
Digital Input Voltage
Spikes
Spikes
1.40 V. Anything below this value is a logic 0, and anything above 1.90 V is a logic 1. The digital inputs are each fully protected over a range of -36 V to +36 V, and can handle short spikes of ±40 V.
NOTE: If the inputs are pulled up to +K, the
voltage range over which the digital inputs are protected changes to +K – 36 V to +36 V.
Figure 7. BL4S100 Digital Input
Protected Range
CAUTION: Do not allow the voltage on a digital input pin to exceed ±36 V to avoid damaging the input.
Individual digital input channels may be also used for counters, synching, interrupts, input capture, or as quadrature decoder inputs. The use of these channels for interrupts, input capture, and as quadrature decoders is described below.
Blocks of digital input pins are associated with counters/timers on the Rabbit RIO chip. Table 3 provides complete details for these associations.
Table 3. Counter/Timer Associations for BL4S100 Digital Input Pins
Configurable I/O
Pin(s)
IN0–IN2 0 XBee RF module
IN3–IN5 1
IN6–IN7 2 OUT0–OUT1
IN8–IN9 3 OUT2–OUT3
IN10 6
IN11 7
Counter/Timer
Blocks
Block Shared
With
Appendix D provides further details on the blocks and pins associated with the Rabbit RIO chip to facilitate configuring each block consistently and to identify misconfigured pins when a software function call returns a Mode Conflict error code.
BL4S100 User’s Manual 20
Keep the following guidelines in mind when selecting special uses for the digital input pins.
Channel 0
Begin
Count
End
Count
Channel 1
Start
Event
End
Event
Interrupts, event counters, and input capture are available on any digital input pin.
Each Quadrature Decoder channel requires at least two digital input pins associated
with the same counter/timer block; three digital input pins associated with the same counter/timer block are needed if you need indexing. Quadrature Decoder channels are
configured using the setDecoder() function call.
Sample programs in the DIO subdirectory in SAMPLES\BL4S1xx show how to set up and use digital inputs for interrupts, pulse capture, and quadrature decoders.
3.2.1.1 Interrupt, Counter, and Event Capture Setup
External interrupts on the BL4S100 digital input pins are configured using the setEx-
tInterrupt()
function call. The interrupt can be set up to occur on a rising edge, a fall-
ing edge, or either edge.
An input channel may be set up to count events, with the count incrementing or decrementing, using the rising edge, fall­ing edge, or either edge as triggers to start/ end the count. This feature is configured
using the setCounter() function call.
A more extensive use of the timing abilities of the BL4S100 inputs can be realized through the event capture function call,
setCapture(). Here the count of a par-
ticular clock cycle is noted at the start of the event and at the end of the event so that the time between them can be determined. This can be set up on one or two input channels. The event counter can be reset with the
resetCounter() function call.
The counter readings can be obtained via the getBegin() or getEnd() function calls.
BL4S100 User’s Manual 21

3.2.2 Digital Outputs

+K1 or +K2
SINKING OUTPUT
Rabbit® RIO
470 W
OUT0OUT7
+Ka
+Kb
LOAD
A
A
B
B
PULL-UP
RESISTORS
The BL4S100 has eight digital outputs, OUT0–OUT7, which can each sink up to 200 mA. Figure 8 shows a wiring diagram for using the sinking digital outputs.
Figure 8. BL4S100 Digital Outputs
OUT0–OUT3 are powered by +K1, and OUT4–OUT7 are powered by +K2. +K1 and +K2 can each be up to 36 V. They don't have to be the same. All the sinking current, which could be up to 1.6 A, is returned through the GND pin. Be sure to use a suitably sized ground wire and keep the distance to the power supply as short as possible.
All the digital outputs sink actively. They can be used as low-side drivers, or as an H-bridge driver. When the BL4S100 is first powered up or reset, all the outputs are disabled, that is at a high-impedance state.
For the H bridge, which is shown in Figure 9, Ka and Kb should be the same. This is most easily accomplished by using outputs from the same bank on one connector.
Figure 9. H Bridge
Individual digital output channels may be used for PWM/PPM outputs.The use of these channels for PWM/PPM is described in Section 3.2.2.1.
BL4S100 User’s Manual 22
Blocks of digital output pins are associated with counters/timers on the Rabbit RIO chip. Table 4 provides complete details for these associations.
Table 4. Counter/Timer Associations for BL4S100 Digital Output Pins
Configurable I/O
Pin(s)
OUT0–OUT1 2 IN6–IN7
OUT2–OUT3 3 IN8–IN9
OUT4–OUT5 4
OUT6–OUT7 5 A/D converter
Counter/Timer
Blocks
Block Shared With
RabbitNet
(reserved for future use)
Appendix D provides further details on the blocks and pins associated with the Rabbit RIO chip to facilitate configuring each block consistently and to identify misconfigured pins when a software function call returns a Mode Conflict error code.
Keep the following guidelines in mind when selecting special uses for the digital output pins.
When using digital output pins for PWM/PPM outputs, the output pins can only share
the same RIO block if they are using the same period or frequency.
The PWM.C and the PPM.C sample programs in the DIO subdirectory in SAMPLES\
BL4S1xx
show how to set up and use the PWM/PPM outputs.
BL4S100 User’s Manual 23
3.2.2.1 PWM/PPM Outputs Setup
Period
Duty
Cycle
Inverted
Noninverted
PWM
OUTPUT
Period
Duty
Cycle
Shifted
PPM
OUTPUT
Offset
A PWM output is described as noninverted when it starts high, remains high for a duty cycle that is a fraction of the period, then goes low for the remainder of the period.
Similarly, an inverted PWM output starts low, remains low for a duty cycle that is a fraction of the period, then goes high for the remainder of the period.
A PWM output is normally set up to start when triggered by an event, and may be set up so that the leading and trailing edges of several PWM outputs are aligned as long as the all the PWM outputs are on the same block of a particular Rabbit RIO chip.
A PPM ouput is similar to a PWM output, except it is shifted by an offset relative to the event that triggered the start of the PPM output.
A PPM output is either inverted or nonin­verted, based on whether it starts high or low, and may be set up so that their lead­ing and trailing edges of several PPM out­puts are aligned as long as the all the PPM outputs are on the same block of a particu­lar Rabbit RIO chip
PWM and PPM outputs on the BL4S100 are configured using the setPWM() and
setPPM() function calls.
BL4S100 User’s Manual 24

3.3 Serial Communication

The BL4S100 has two RS-232 serial ports, which can be configured as one RS-232 serial channel (with RTS/CTS) or as two RS-232 (3-wire) channels using the serMode() soft­ware function call. Table 5 summarizes the options.
Table 5. Serial Communication Configurations
Serial Port
Mode
D F
0 RS-232, 3-wire RS-232, 3-wire
1 RS-232, 5-wire CTS/RTS
The BL4S100 also has one CMOS serial channel that serves as the programming port.
All three serial ports operate in an asynchronous mode. An asynchronous port can handle 7 or 8 data bits. A 9th bit address scheme, where an additional bit is sent to mark the first byte of a message, is also supported. Serial Port A, the programming port, can be operated alternately in the clocked serial mode. In this mode, a clock line synchronously clocks the data in or out. Either of the two communicating devices can supply the clock. The BL4S100 boards supports standard asynchronous baud rates up to 115,200 bps.

3.3.1 RS-232

The BL4S100 RS-232 serial communication is supported by an RS-232 transceiver. This transceiver provides the voltage output, slew rate, and input voltage immunity required to meet the RS-232 serial communication protocol. Basically, the chip translates the Rabbit microprocessor’s CMOS signals to RS-232 signal levels. Note that the polarity is reversed in an RS-232 circuit so that a +3.3 V output becomes approximately -10 V and 0 V is out­put as +10 V. The RS-232 transceiver also provides the proper line loading for reliable communication.
RS-232 can be used effectively at the BL4S100’s maximum baud rate for distances of up to 15 m.

3.3.2 Programming Port

The BL4S100 has a 10-pin programming header. The programming port uses the Rabbit 4000 Serial Port A for communication, and is used for the following operations.
Programming/debugging
Cloning
The programming port is used to start the BL4S100 in a mode where the BL4S100 will download a program and then execute the program. The programming port transmits information to and from a PC while a program is being debugged.
The Rabbit 4000 startup-mode pins (SMODE0, SMODE1) are presented to the program­ming port so that an externally connected device can force the BL4S100 to start up in an
BL4S100 User’s Manual 25
external bootstrap mode. The BL4S100 can be reset from the programming port via the
ETHERNET
RJ-45 Plug
1. E_Tx+
2. E_Tx
3. E_Rx+
6. E_Rx
1
8
RJ-45 Jack
/RESET_IN line.
The Rabbit microprocessor status pin is also presented to the programming port. The status pin is an output that can be used to send a general digital signal.
NOTE: Refer to the Rabbit 4000 Microprocessor User’s Manual for more information
related to the bootstrap mode.

3.3.3 Ethernet Port

Figure 10 shows the pinout for the Ethernet port (J4). 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 10) are always absolute, and the RJ-45 connector will work properly with off-the-shelf Ethernet cables.
Figure 10. RJ-45 Ethernet Port Pinout
Two LEDs on the RJ-45 Ethernet jack indicate an Ethernet link (green LNK) and Ethernet activity (yellow ACT).
The grounded RJ-45 connector is shielded to minimize EMI effects to/from the Ethernet signals.
BL4S100 User’s Manual 26

3.4 A/D Converter Inputs

ADC
953 kW
10 pF
AIN0
AGND
AIN1
10 pF
105 kW
105 kW
953 kW
The single A/D converter chip used in the BL4S100 has a resolution of 12 bits (11 bits for the value and one bit for the polarity) amplifier. Each external input has circuitry that provides scaling and filtering. All 8 external inputs are scaled and filtered to provide the user with an input impedance of 1 M and a variety of single-ended unipolar, and differential bipolar ranges as shown in Table 6.
Figure 11 shows a pair of A/D converter input circuits. The resistors form an approx. 10:1 attenuator, and the capacitors filter noise pulses from the A/D converter inputs.
. The A/D converter chip has a programmable-gain
Figure 11. Buffered A/D Converter Inputs
The A/D converter chip can only accept positive voltages. By pairing the analog inputs, differential bipolar measurements are possible, and can be configured for each channel pair with the opmode parameter in the anaInConfig() software function call. The available voltage ranges are listed in Table 6.
BL4S100 User’s Manual 27
Table 6. A/D Converter Input Voltage Ranges
100 W
J11
AIN0
AIN1
Apply jumpers for factory-default current measurements
J10
AIN2
AIN3
Amplifier
Gain
1 0–20 V ± 20 V
2 0–10 V ± 10 V
4 0–5 V ± 5 V
5 0–4 V ± 4 V
*
8
10 0–2 V ± 2 V
16 0–1.25 V ± 1.25 V
20 0–1 V ± 1 V
* 4–20 mA operation is available with an ampli-
fier gain of 8
Single-Ended
Voltage Range
Differential
Unipolar
0–2.5 V ± 2.5 V
Bipolar
In the differential mode, each individual channel is limited to half the total voltage—for example, the range for a gain code of 1 is ±20 V, but each channel is limited to 0–20 V.
Note that while the differential bipolar mode can return a negative value, this negative value can only indicate negative with respect to the two differential voltages since the A/D converter cannot handle a voltage below -0.2 V.
When using channels AIN0–AIN3 for current measurements, remember to set the corre­sponding jumper(s) on headers J10 and J11. The current measurements are realized by actu­ally measuring the voltage drop across a 100 resistor.
Figure 12. Analog Current Measurements
The A/D converter inputs are factory-calibrated, and the calibration constants are stored in the user block.
BL4S100 User’s Manual 28
Loading...
+ 114 hidden pages