Home

Datasheet - Mouser Electronics

image

Contents

1. LEDI LED2 LED3 LED4 ACT LACT_H LED JUMPER SOURCE ma Fle Figure 15 Digital Outputs Signal Connections e DIGOUT Cc Demonstrates the use of the sinking digital outputs Using the Demonstra tion Board you can see an LED toggle on off via a sinking output that you selected via the Dynamic C STDIO window e DIGOUT_BANK C Demonstrates the use of digOutBank to control the sinking digital outputs Using the Demonstration Board you can see an LED toggle on off via a sinking output that you selected via the Dynamic C STDIO window The banking func tions allow I O banks to be input or output more efficiently BL4S100 User s Manual 38 e INTERRUPTS C Demonstrates the use of the Rabbit RIO interrupt service capabilities Set up the Demonstration Board as shown in Figure 14 with INO connected to SW1 The sample program sets up two interrupt sources an external interrupt tied to pushbutton switch SW1 and a rollover interrupt tied to a timer that is producing a PWM output The Dynamic C STDIO window will show a count of rollovers that have occurred since the PWM signal was started The window will also display Button Pressed each time the pushbutton switch is pressed Each time the button is pressed the timeout ti
2. G ine ae weet gasu m a Em oe ie ee i 302953 0700 E Pwr pi E 5 N icii Ro NWN Nd INE N NE NS N GD Eia 3 33 0 64 _ 9 38 0 17 84 6 lt 16 3 Logs sym 43 0 375 paT 5 00 0373 5 75 i 146 gt f 0 64 EA 2 I lea 6 Ea 3s og lt C48 Se ge Figure A 1 BL4S100 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 BL4S100 User s Manual 113 Table A 1 lists the electrical mechanical and environmental specifications for the BL4S100 Table A 1 BL4S100 Specifications Feature BL4S100 BL4S110 BL4S150 BL4S160 Microprocessor Rabbit 4000 at 40 00 MHz Ethernet Interface 10Base T ZigBee Interface aie A i E i gt Serial Flash Memory program 1MB 2MB Program Execution SRAM 512KB 1MB Data SRAM 512KB Backup Battery Panasonic CR2032 or equivalent 3 V lithium coin type 235 mA h standard socket mounted Digital Inputs 12 protected to 36 V DC switching threshold 1 4 V 1 9 V typical Digital Outputs 8 sink up to 200 mA each 36 V DC max Analog Inputs Eight 11 bit res channels software selectable ranges un
3. CONNECT TO BL4S100 HEADER J4 Figure 16 Quadrature Decoder Signal Connections DEMO BOARD aea a oad a e0 6a Eo AT LEDI LED2 LED3 LED4 JP3 JP4 Lia SWITCH OPTIO poogdoooo pp mooom ooo pa U00000 ol LEDI LED2 LED3 LED4 ACT L ACT LED JUMPERASINK LED JUMPER SOURCE 3EM Tg 2 arc BOTE Jg DEMO BOARD POWER HL IN3 IN2 GND to GND on Header J4 SACKED Once the connections have been made compile and run this sample program Press button SW 1 on the Demonstration Board to decrement the quadrature counter or press button SW2 on the Demonstration Board to increment the quadrature counter The counter will continue to increment or decrement as you hold down the corresponding pushbutton Press button SW3 on the Demonstration Board to reset the quadrature counter BL4S100 User s Manual 41 e PPM QUADRATURE_DECODER C Demonstrates the use of two PWM and two PPM output channels connected back to four digital inputs to simulate two Quadrature Decoders feeding signals into the BL4S100 The PWM and PPM outputs are adjusted through a menu system to simulate the movement of a Quadrature Decoder The results of the Quadrature Decoder inputs are displayed continuously to show the effects of the PWM an
4. BL4S100 C Programmable Single Board Computer with Networking User s Manual 019 0172 _C BL4S100 User s Manual Part Number 019 0172_C Printed in U S A 2008 2010 Digi International Inc All rights reserved 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 Rabbit Web site www rabbit com for free unregistered download Digi International Inc www rabbit com TABLE OF CONTENTS Chapter 1 Introduction 4 1 1 BLAST00 Description 2cscsccdticiesliinnticidnaiieudncinnih nied Rid E A nie sehen ine 4 V2 BIAS 100 PC atutes itenni n R RER EE O E ER ETA RR REE 4 1 3 Development and Evaluation Tools eessesssessssseerseessessersceestsseresessteseessesstesssssesseesssssesssesreesesssessees 6 13A ToolKit ererig orano I A E EE cease ounce E R E R 6 132 SOMWANC ienee n E E E E EE A tee eee E N S 7 1 3 3 Option l Add ONS shores inrer Erea EEE enS EEEE E E EE EAEE NENE EESE EES K RE FESE EESE 7 14 CE Compliance sssss cs ncsentichicisiesecetucesiblebivcsibnlettvessvencessassnenstednte sesoseenseveestueste Er EEE NE EE EOE 8 1 4 1 Desire Guidelines iiie sscidevbcevasesund Gs cgsessabeseaslenesedgeshsohs E REEE EE EEEE EEE EEEE 9 1 4 2 Interfacing the BL
5. cece ceseesecesceseeeeceseeeeceseeeaecaeesaecnaesaecneeneeees D 2 Interpreting Error Codes s s 3 23 cesceressiei soups suecs sbes obsscess pesaetasney cbideesdapebpevesevecdsce ss Appendix E Plastic Enclosure E L Assembly Instructions ue a EEE E EE E2 DIMENSIONS ha eeen aaie Lats cab ceca E R EA E lathes Appendix F Additional Configuration Instructions F 1 XBee Module Firmware Downloads 0 eeceeccecssceeeceeeeceeeeneceeneesaeceneeceneenes F 1 1 Dynamic C v 10 44 and Later ee ee eeeeceeeeeecseeseecaecnsesaeceenseees F 2 Digi X Bee USB Configuration i vesvessees sepensss capes eieiei Eshe IES Se Ei eesin F 2 1 Additional Reference Information 00ssosossseserrereesseesesssssresrrerrererereesesess F 2 2 Update Digi XBee USB Firmware ieee vee dienes TR yee ouaneee Index Schematics BL4S100 User s Manual 1 INTRODUCTION The BLAS100 series of high performance C programmable single board computers offers built in RS 232 digital I O and analog inputs combined with Ethernet and ZigBee network connectivity in a compact form factor The BL4S100 single board computers are ideal for both discrete manufacturing 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 BL
6. 0 success EINVAL invalid parameter value EPERM pin type does not permit this function SEE ALSO brdInit setCapture resetCounter getEnd BL4S100 User s Manual 57 getEnd int getEnd int channel word end FUNCTION DESCRIPTION Reads the current value of the end register within the counter block hosting the given channel PARAMETERS channel digital input channel that uses the desired counter block 0 11 pins INO IN11 begin pointer to word variable to place end register reading RETURN VALUE 0 success EINVAL invalid parameter value EPERM pin type does not permit this function SEE ALSO brdInit setCapture resetCounter getBegin resetCounter int resetCounter int channel FUNCTION DESCRIPTION Resets the current count of the counter register within the counter block hosting the given channel PARAMETER channel digital input channel that uses the desired counter block 0 11 pins INO IN11 RETURN VALUE 0 success EINVAL invalid parameter value EPERM pin type does not permit this function SEE ALSO brdInit getCounter setDecoder BL4S100 User s Manual 58 setLimit int setLimit int channel word limit FUNCTION DESCRIPTION Sets the value of the limit register within the counter block hosting the given channel This new value will take effect on the next counter overflow or by resetting the counter via the resetCounter
7. 0 AINO AIN1 2 AIN2 AIN3 4 AIN4 AINS 6 AIN6 AIN7 gaincode the gain code of 0 to 7 Gain Code Macro Actual Gain EE EREA 0 GAIN_X1 xl 20V 0 20 V 1 GAIN_X2 x2 10V 0 10 V 2 GAIN_X4 x4 5V 0 5 V 3 GAIN_X5 x5 4V 0 4 V 4 GAIN_X8 x8 2 5 V 0 2 5 V 5 GAIN_X10 x10 2V 0 2 V 6 GAIN_X16 x16 1 25V 0 1 25 V 7 GAIN_X20 x20 1V 0 1 V BL4S100 User s Manual 87 anaInDiff continued RETURN VALUE A voltage on the analog input channel or a value of BL_LERRCODESTART or less to indicate an error condition A D converter operation errors will not create run time error BL_NOT_cCAL A D converter is not calibrated for this channel gain BL_OVERFLOW A D converter overflow BL_TIMEOUT A D converter timeout BL_WRONG_MODE A D converter is in wrong mode run anaInConfig System errors can create run time error unless disabled ERR_ANA_CALIB fault detected in reading calibration factor ERR_ANA_INVAL invalid parameter value SEE ALSO brdInit anaInConfig anaIn anaInmAmps anaInVolts anaInCalib BL4S100 User s Manual 88 anaInmAmps float anaInmAmps int channel FUNCTION DESCRIPTION Reads the state of a single ended A D converter input channel and uses the previously set calibration constants to convert it to a floating point current value in milli amps The nominal range is 0 mA to 20 mA although it is possible to receive values outside this range before a BL_OVERFLOW
8. 5 1 TCP IP Connections Before proceeding you will need to have the following items e 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 e Two RJ 45 straight through CAT 5 6 Ethernet cables and a hub or an RJ 45 crossover CAT 5 6 Ethernet cable The CAT 5 6 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 CAT 5 6 Ethernet cable to connect the BL4S100 to a PC that at least has a 10Base T Ethernet card If you have Ethernet access use a straight through CAT 5 6 Ethernet cable to establish an Ethernet connection to the BL4S100 from an Ethernet hub These connections are shown in Figure 17 BL4S100 User s Manual 95 BL4S100 BL4S100 Board Board User s PC CAT 5 6 gt Ethernet Crossover cables S CAT 5 6 Ethernet OANE a To additional cable Hub network OUy elements Direct Connection network of 2 computers Direct Connection Using a Hub Figure 17 Ethernet Connections The PC running Dynamic C through the serial pro
9. Bitwise value 0 connects the load to GND 1 puts the output in a high impedance state RETURN VALUE 0 success EINVAL invalid parameter value or board not initialized SEE ALSO brdInit digOut setDigOut BL4S100 User s Manual 64 setPWM int setPWM int channel float frequency float duty int invert int bind FUNCTION DESCRIPTION Sets up aPWM output on the selected digital output channel with the specified frequency and duty cycle The PWM output can be inverted The PWM channel duty cycle can be bound to a PWM PPM on another channel on the same RIO block so that they share an edge PARAMETERS channel frequency duty invert bind digital output channel being set up for PWM 0 7 OQUTO OUT7 PWM frequency in Hz should be from 2 Hz to 50 kHz use 1 to preserve the existing frequency on the RIO block PWM duty cycle should be from 0 to 100 use 1 and bind parameter to use bound edge to set the duty cycle whether the PWM output is inverted the PWM output normally starts with the output high and inverted starts with the output low 0 noninverted 1 inverted use BL_BIND_LEAD or BL_BIND_TRAIL ORed with another digital output channel hosted by the same block to enable binding for the leading of the PWM output on this channel Bindings allow PWM and PPM outputs to align their leading and trailing edges BL4S100 User s Manual 65 setPWM continued RETURN
10. Dynamic C is an integrated development system for writing embedded software It runs on an IBM compatible PC and is designed for use with single board computers and other devices based on the Rabbit microprocessor Chapter 4 provides the libraries function calls and sample pro grams related to the BL4S 100 4 1 Running Dynamic C Since the BL4S100 has a serial flash memory all software development must be done in the static SRAM The flash memory and SRAM options are selected with the Options gt Program Options gt Compiler menu Select Store Program in Flash on the Compiler tab for the program to run normally For debugging purposes you may select Store Program in RAM on the Compiler tab so that download speed is as fast as possible Note that programs stored in RAM will be lost when the BL4S100 is reset so this option should be used only for debugging 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 NT and later see Rabbit s Technical Note TN257 Running Dynamic C With Windows Vista for additional information if you are using a Dynamic C under Windows Vista Programs can be downloaded at baud rates of up to 460 800 bps after the program
11. OUTO OUT1 2 IN6 IN7 OUT2 OUT3 3 IN8 IN9 PUTOJ 3 ier A EA use OUT6 OUT7 5 A D converter 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 e 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 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 PWM l OUTPUT Noninverted 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 Inverted A PPM ouput is similar to a
12. 0 11 INO IN11 ier bit mask of interrupt s this handler services BL_IER_DQE decrement quadrature end BL_IER_IIB increment inphase begin BL_IER_ ROLL _D counter rollover on decrement BL_IER_ROLL_I counter rollover on increment BL_IER_MATCH3 Match 3 condition BL_IER_MATCH2 Match 2 condition BL_IER_MATCH1 Match 1 condition BL_IER_MATCHO Match 0 condition handler pointer to the interrupt service function RETURN VALUE Success returns the handler ID number 0 RSB_MAX _ISR 1 EINVAL Invalid parameter given ENOSPC No more room in ISR table increase RSB_MAX_ ISR SEE ALSO addISROut tickISR enableISR setIER BL4S100 User s Manual 75 addISROut int addISROut int channel int ier void handler FUNCTION DESCRIPTION Adds an interrupt handler for the interrupts specified in the ier parameter for the given RIO block hosting the given digital output pin The interrupt service routine ISR is al ways disabled when created Call enableISR to enable the ISR The ISR handler given is responsible for clearing the interrupt s within the hosting RIO block PARAMETERS channel digital output channel to bind to ISR 0 7 QUTO OUT7 ier bit mask of interrupt s this handler services BL_IER_DQE decrement quadrature end BL_IER_IIB increment inphase begin BL_IER_ ROLL _D counter rollover on decrement BL_IER_ ROLL I counter rollover on increment BL_IER_MATC
13. BL_OVERF LOW BL_WRONG_MODE System errors can create run time error unless disabled ERR_ANA_CALIB fault detected in reading calibration factor ERR_ANA_INVAL invalid parameter value SEE ALSO brdInit anaInConfig anaInCalib anaInmAmps anaInDiff anaInVolts BL4S100 User s Manual 84 anaInVolts float anaInVolts int channel int gaincode FUNCTION DESCRIPTION Reads the state of a single ended A D converter input channel and uses the previously set calibration constants to convert it to volts The voltage ranges given in the table below are nominal ranges that will be returned However values outside these ranges can often be seen before the return of a BL_OVERFLOW error If the gain code for a given channel has changed from the previous cycle the user block will be read to get the calibration constants for the new gain value PARAMETERS channel analog input channel number 0 to 7 corresponding to AINO AIN7 gaincode the gain code of 0 to 7 the table below applies for single ended modes only Value Range Voltage Gain Code Macro Single Ended Differential Range Unipolar Bipolar 0 GAIN_X1 0 20 V 20V 0 20 V 1 GAIN_X2 0 10 V 10V 0 10 V 2 GAIN_X4 0 5 V 5V 0 5 V 3 GAIN_X5 0 4 V 4V 0 4 V 4 GAIN_X8 0 2 5 V 2 5 V 0 2 5 V 5 GAIN_X10 0 2 V 2 V 0 2 V 6 GAIN_X16 0 1 25 V 1 25 V 0 1 25 V T GAIN_X20 0 1 V 1 V 0 1 V BL4S100 User s Manual 85 a
14. Dynamic C provides the protected keyword to identify variables that are to be placed into the battery backed SRAM The compiler generates code that maintains two copies of each protected variable in the battery backed SRAM The compiler also generates a flag to indicate which copy of the protected variable is valid at the current time This flag is also stored in the battery backed SRAM When a protected variable is updated the inactive copy is modified and is made active only when the update is 100 complete This assures the integrity of the data in case a reset or a power failure occurs during the update process At power on the application program uses the active copy of the variable pointed to by its associated flag The sample code below shows how a protected variable is defined and how its value can be restored protected nf_device nandFlash int main _sysIsSoftReset restore any protected variables The bbram keyword may also be used instead if there is a need to store a variable in bat tery backed SRAM without affecting the performance of the application program Data integrity is not assured when a reset or power failure occurs during the update process Additional information on bbram and protected variables is available in the Dynamic C User s Manual BL4S100 User s Manual 94 5 USING THE ETHERNET TCP IP FEATURES Chapter 5 discusses using the Ethernet TCP IP features on the BL4S100 boards
15. Error codes oe eee eee 128 Models seinn tene iis 5 BL4S100 ooo 5 BLASI Onorina 5 BLASTS O noi iieii 5 BLAS IOO sspe 5 O OPUONS akeen henr ena 7 Mesh Network Add On Kit 7 plastic enclsure 0 0 0 0 eee 7 P pin associations digital VO wee 127 pinout BL4S100 headers 18 Demonstration Board 124 Ethernet port oe 26 plastic enclosure 0 0 0 0 130 assembly instructions 131 dimensions eee 133 mounting instructions 131 setup attach BL4S100 to enclo sure base oo eee 131 attaching top 0 0 132 power management 120 power supply eee 120 battery backup 121 CONNECTIONS oo eee 11 switching voltage regulator 120 Program Mode eee 30 programming programming cable 6 programming port 25 programming cable 6 CONNECTIONS oo eee eee 11 PROG connector 30 programming port 25 PWM PPM outputs 23 R Rabbit microprocessor parallel ports 0 118 tamper detection 32 VBAT RAM memory 32 real time clock how tO set vo seeeeeeeeseeeeees 46 reset hardware eeeeeeeereeseees 12 RIO pin block associations digital VO wee 127 RS 223 2 nie tes sd ganesieets na a 25 Run Mode ossee 30 sample programs 36 104 A D converter AD_CALDIFF_CH C 29 AD_RD_SE_UNIPO LAR C assita 46 ADC_AVERAGING_SE_ UNIPOLAR C oe
16. J3 DEMO BOARD E m Heat 0 LEDI LED2 LED3 LED4 4 X K gt Figure C 2 Demonstration Board Pinout C 2 2 Configuration The pushbutton switches may be configured active high or active low via jumper settings on header JP15 ACTIVE LOW 3 3 kQ ele SW1 SW4 ACTIVE HIGH a Ow 3 3 kQ O0 SW1 SW4 Figure C 3 Pushbutton Switch Configuration BL4S100 User s Manual 124 The four LED output indicators can be configured as sinking outputs or as sourcing out puts via jumpers on headers JP1 JP4 as shown in Figure C 4 Sinking JP3 Sourcing lO000 Hookups EY Te zije BOOO LOAD EEDD TEE KEI n emana LEDI LED2 LED3 LED4 LEDI LED2 LED3 LED4 LED JUMPER SINK LED JUMPER SOURCE Az JP4 Hii 10 l m m External DL LOAD Power J Uo 0 0 in sourcing Supply LED LED2 LED3 LED4 LED2 LED3 LED4 mode LED JUMPER SINK UMPER SOURCE il T Figure C 4 LED Output Indicators Sinking or Sourcing Configuration NOTE Disconnect power before changing any jumper settings The power supply voltage input at V on screw terminal header J3 is available as V_ALT on screw terminal header J1 There is a potentiometer immediately above the V_ALT location to allow you t
17. PB7 Output Rabbit RIO G B PCO Output TXD Inactive high Serial Port D PC1 Input RXD Pulled up PC2 Output TXC A D converter Inactive high Serial Port C PC3 Input RXC A D converter Pulled up PC4 Output TXB serial flash Inactive high Serial Port B PCS Input RXB serial flash Pulled up PC6 Output TXA programming port Low Serial Port A PC7 Input RXA programming port Pulled up PDO Output RabbitNet CLK Clock signal PD1 Input XBee 1 button PD2 Output SCLKC A D converter PD3 Input XBee reduce power PD4 Output Rabbit RIO GS Low PD5 Input XBee CTS PD6 Output TXE XBee Tx Inactive high Serial Port E PD7 Input RXE XBee Rx Pulled up PEO Output A20 Bus address line PE1 Input RIO interrupt input Pulled up PE2 Output TXF RTS Low Serial Port F PE3 Input RXF CTS Inactive high BL4S100 User s Manual 118 Table A 3 Use of Rabbit Microprocessor Parallel Ports continued Port 1 0 Signal Initial State PE4 Output Serial Flash CS Inactive high PE5 Output Ethernet LINK Inactive high LED off PE6 Output X Bee RTS Low PE7 Output Ethernet ACT Inactive high LED off BUFEN Output CS A D converter Inactive high CLK Output CLK to Rabbit RIO CPU clock BL4S100 User s Manual 119 APPENDIX B POWER SUPPLY Appendix B describes the power circuitry provided on the BL4S 100 B 1 Power Supplies Power is supplied to the BL4S100 boards via the Micro Fit connect
18. PC s USB port Since the ZigBee Utility XBEE_GPIO_GUI exe will conflict with X CTU first close the ZigBee Utility if it is running 1 Start X CTU from the desktop icon and set the PC Settings tab to 115200 baud HARDWARE flow control 8 data bits parity NONE 1 stop bit 2 On the PC Settings tab check the Enable APT box under Host Setup 3 On the PC Settings tab select the USB Serial Port corresponding to the USB serial port the Digi XBee USB is connected to and click Test Query You should see a response showing the Modem Type XB 24 B and the firmware version Click OK Note that several USB serial ports could be listed If you select a serial port without the Digi XBee USB connected the X CTU response to Test Query will be communi cation with modem OK but the modem type will be unknown and the firmware version will be blank If you a get a message that X CTU is unable to open the COM port verify that you selected the COM port with the USB Serial Port then try unplugging the Digi XBee USB from the USB slot and plugging it back in Now click Test Query again 4 Under the Modem Configuration tab click the Read button X CTU will now display the networking and I O parameters for the Digi XBee USB being used as the ZigBee coordinator Modem XBEE XB24 ZB Function Set ZIGBEE COORDINATOR API do not select other settings Version the ve
19. VALUE 0 success EINVAL invalid parameter value EPERM pin type does not permit this function EACCES resource needed by this function is not available EFAULT internal data fault detected positive number Mode Conflict the positive number is a bitmap that corresponds to the pins on a particular block of a RIO chip that have not been configured to support this function call Appendix D provides the details of the pin and block associations to allow you to identify the channels that need to be reconfigured to support this function call SEE ALSO brdiInit setFreq setDuty setSyncIn setSyncOut pulseEnable pulseDisable setPPM BL4S100 User s Manual 66 setPPM int setPPM int channel float frequency float offset float duty char invert int bind_offset int bind_duty FUNCTION DESCRIPTION Sets up a PPM output on the selected digital output channel with the specified frequency and duty cycle The PPM output of the PPM can be inverted The offset and duty of the PPM can be bound to a PWM PPM on another channel on the same RIO block so that they share an edge PARAMETERS channel frequency offset digital output channel being set up for PWM 0 7 OQUTO OUT7 PPM frequency in Hz should be from 2 Hz to 50 kHz use 1 to preserve the existing frequency on the RIO block PPM offset should be from 0 to 100 use 1 and bind_offset parameter to use bound edge to set the offset
20. bitmap that corresponds to the pins on a particular block of a RIO chip that have not been configured to support this function call Appendix D provides the details of the pin and block associations to allow you to identify the channels that need to be reconfigured to support this function call SEE ALSO brdInit getCounter resetCounter BL4S100 User s Manual 54 setCapture int setCapture int channel int mode int edge word options FUNCTION DESCRIPTION Sets up the channel as an event capture input with selectable modes and edge settings The counter will run from a gated main or prescaled clock signal based on the run cri teria of the selected mode and begin end events can be set to capture the count at the time of these events Optionally a second channel can be set which shares the same RIO channel input block as channe1 for two signal begin end event detection Use getBegin and getEnd to read the captured count values and use reset Counter to force a reset of the counter PARAMETERS channel channel to use for the begin event input for all modes except BL_ CNT_TIL_END then it specifies the end event input 0 11 pins INO IN11 mode mode macro for the counter timer BL_CNT_RUN continuous count mode BL_CNT_BEGIN_END start count on begin event continue to count until end event detected BL_CNT_TIL_END count until end event detected BL_CNT_ON_BEGIN count while begin signal is active NO
21. calibra tion data being read Use one of the following macros SE0_mode single ended unipolar 0 20 V DIFF_MODE differential bipolar 20 V mAMP_mode 4 20 mA gaincode the gain code of 0 to 7 use the gain code macro mAMP_GAINCODE for 4 20 mA operation Voltage Range Gain Code Macro Single Ended Differential Unipolar Bipolar 0 GAIN_X1 0 20 V 20 V 1 GAIN_X2 0 10 V 10 V 2 GAIN_X4 0 5 V 5 V 3 GAIN_X5 0 4 V 4 V 4 GAIN_X8 0 2 5 V 2 5 V 5 GAIN_X10 0 2 V 2 V 6 GAIN_X16 0 1 25 V 1 25 V 7 GAIN_X20 0 1 V 1 V pcal_data calibration structure pointer to gain and offset values BL4S100 User s Manual 90 anaInRdCalib continued RETURN VALUE 0 success 1 invalid address or range 2 no valid user block found block version 3 or later 3 flash read error EINVAL invalid parameter SEE ALSO anaInCalib _anaInAddr BL4S100 User s Manual 91 anaInDriver int anaInDriver char cmd FUNCTION DESCRIPTION Low level driver to read the ADS7870 A D converter chip Reads the voltage of an an alog input channel by serial clocking an 8 bit command to the ADS7870 by its Direct Mode method anaInConfig uses the Register Mode method This function call assumes that Mode least significant byte first and the A D converter oscillator have been enabled See analnConfig for additional setup information After the last data bit is transferred the conversion begins immediately An exceptio
22. compile and run this sample program connect the power supply which should be OFF between a pin AINO AIN7 and AGND then compile and run the sample program and follow the instructions in the Dynamic C STDIO window The voltage readings will be displayed for all the channels measured to that point 4 2 4 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 pro gram from the Dynamic C SAMPLES RTCLOCK folder The RTC_TEST C sample pro gram in the Dynamic C SAMPLES RTCLOCK folder provides additional examples of how to read and set the real time clock 4 2 5 TCP IP Sample Programs TCP IP sample programs are described in Chapter 5 4 2 6 ZigBee Sample Programs ZigBee sample programs are described in Chapter 6 BL4S100 User s Manual 46 4 3 BL4S100 Libraries Two library directories provide libraries of function calls that are used to develop applica tions for the BL4S 100 BL4S1xx libraries associated with features specific to the BL4S100 The functions in the BL4S1xx LIB library are described in Section 4 4 BL4S100 Function Calls e tcprp libraries specific to using TCP IP functions on the BL4S100 Further informa tion about TCP IP is provided in Chapter 5 Using the Ethernet TCP IP Features e ZigBee libraries specific to using ZigBee functions on the BL4S100 Furth
23. compiles BL4S100 User s Manual 33 Dynamic C has a number of standard features e Full feature source and or assembly level debugger no in circuit emulator required e Royalty free TCP IP stack with source code and most common protocols e Hundreds of functions in source code libraries and sample programs gt Exceptionally fast support for floating point arithmetic and transcendental functions gt RS 232 and RS 485 serial communication gt Analog and digital I O drivers gt I C SPI GPS file system gt LCD display and keypad drivers e Powerful language extensions for cooperative or preemptive multitasking e Loader utility program to load binary images into Rabbit targets in the absence of Dynamic C e 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 e Standard debugging features gt Breakpoints Set breakpoints that can disable interrupts gt Single stepping Step into or over functions at a source or machine code level yC OS II aware gt 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 gt Watch expressions Watch expressions are compiled when defined so complex expressions inclu
24. connector on the pro gramming cable is attached and is automatically in Run Mode when reset with no program ming cable is attached or the DIAG connector is attached When the Rabbit microprocessor is reset the operating mode is determined by the status of the SMODE pins When the pro gramming cable s PROG connector is attached the SMODE pins are pulled high placing the Rabbit microprocessor in the Program Mode When the programming cable s PROG connector is not attached the SMODEO pin is pulled low and the SMODE1 pin is high so that the Rabbit 4000 powers up in the clocked serial bootstrap mode to load the program from the serial flash when the BL4S100 is operating in the Run Mode Program Mode Programming Cable RESET BL4S100 when changing mode Cycle power offfon or press RESET after removing or attaching programming cable Figure 13 BL4S100 Program Mode and Run Mode Setup A program runs in either mode but can only be downloaded and debugged when the BL4S100 is in the Program Mode Refer to the Rabbit 4000 Microprocessor User s Manual for more information on the pro gramming port and the programming cable BL4S100 User s Manual 30 3 6 Other Hardware 3 6 1 Clock Doubler The BL4S100 takes advantage of the Rabbit microprocessor s internal clock doubler A built in clock doubler allows half frequen
25. disconnect the PC from that network to run these sample programs Write down the existing settings before changing them to facilitate restoring them when you are finished with the sample pro grams and reconnect your PC to the network 1 Go to the control panel Start gt Settings gt Control Panel and then double click the Network icon 2 Select the network interface card used for the Ethernet interface you intend to use e g TCP IP Xircom Credit Card Network Adapter and click on the Properties button Depending on which version of Windows your PC is running you may have to select the Local Area Connection first and then click on the Properties button to bring up the Ethernet interface dialog Then Configure your interface card for a 10Base T Half Duplex or an Auto Negotiation connection on the Advanced tab NOTE Your network interface card will likely have a different name 3 Now select the IP Address tab and check Specify an IP Address or select TCP IP and click on Properties to assign an IP address to your computer this will disable obtain an IP address automatically IP Address 10 10 6 101 Netmask 255 255 255 0 Default gateway 10 10 6 1 4 Click lt OK gt or lt Close gt to exit the various dialog boxes BL4S100 IP 10 10 6 101 Board Netmask 255 255 255 0 User s PC crossover CAT 5 6 Ethernet cable Dir
26. error is returned PARAMETER channel A D converter input channel 0 3 corresponding to AINO AIN3 RETURN VALUE A current value corresponding to the current on the analog input channel or a value of BL_ERRCODESTART or less to indicate an error condition A D converter operation errors will not create run time error BL_NOT_CAL A D converter is not calibrated for this channel gain BL_OVERFLOW A D converter overflow BL_TIMEOUT A D converter timeou t BL_WRONG_MODE A D converter is in wrong mode run anaInConfig System errors can create run time error unless disabled ERR_ANA_CALIB fault detected in reading calibration factor ERR_ANA_INVAL invalid parameter value SEE ALSO brdInit anaInConfig anaIn anaInDiff anaInVolts anaInCalib BL4S100 User s Manual 89 anaInRdCalib anaInRdCalib int channel int opmode int gaincode calib_t pcal_data FUNCTION DESCRIPTION Reads the calibration constants gain and offset from the user block on the flask PARAMETER channel analog input channel number 0 to 7 corresponding to AINO AIN7 channel Single Ended Differential 4 20 mA 0 AINO AINO AIN1 AINO 1 AIN1 AIN1 2 AIN2 AIN2 AIN3 AIN2 3 AIN3 AIN3 4 AIN4 AIN4 AIN5 5 AIN5 6 AIN6 AIN6 AIN7 7 AIN7 opmode select the mode of operation for the A D converter channel
27. in the Dynamic C installation along with a sample program to allow you to download the firmware The firmware used with the XBee RF modules on the BL4S100 and the BL4S150 is based on the API com mand set Figure 19 Mesh Network An Introduction to ZigBee provides background information on the ZigBee protocol and is available on the CD and on our Web site 6 2 ZigBee Sample Programs In order to run the sample programs discussed in this chapter and elsewhere in this manual 1 Dynamic C must be installed and running on your PC 2 The programming cable must connect the programming header on the BL4S100 or the BL4S150 to your PC 3 Power must be applied to the BL4S100 B14S 150 4 The Digi XBee USB used as the ZigBee coordinator must be connected to an avail able USB port on your PC if you are exercising the ZigBee protocol Refer to Chapter 2 Getting Started if you need further information on these steps NOTE The Digi XBee USB device is an optional accessory and is not a part of the stan dard BL4S200 Tool Kit See section F 2 Digi XBee USB Configuration for more information on the Digi XBee USB device To run a sample program open it with the File menu if it is not still open then compile and run it by pressing F9 Each sample program has comments that describe the purpose and function of the pro gram Follow the instructions at the beginning of the sample program The sample programs in the Dynamic C SAMP
28. negative with respect to the two differential voltages since the A D converter cannot handle a voltage below 0 2 V When using channels AINO 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 Q resistor noe Apply jumpers for factory default current measurements OO OO J10 OQ 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 3 4 1 A D Converter Calibration When you start to develop your application run USERBLOCK_READ_WRITE C in the SAMPLES UserBlock folder to save the factory calibration constants in case you inad vertently write over them while running the sample programs To get the best results from the A D converter it is necessary to calibrate each mode single ended differential and current for each of its gains It is imperative that you cali brate each of the A D converter inputs in the same manner as they are to be used in the application For example if you will be performing floating differential measurements or differential measurements using a common analog ground then calibrate the A D con verter in the corresponding manner The calibration table in software only holds calibra
29. or Table D 2 RIO Counter Timer Block Mode Summary Count Count Count Free Count 3 Up Down z 2 from While Up Count Until Running Until i Count Begin to Begin Is Match Timer End End Active Digital Input x x x x x x x Digital Output x x x x x x x Event Counter Input 7 gt Event Capture Input j 2 Quad Decoder Input i Ext Interrupt Input x x x x x x x External Synch Input x x x x x x x PWM PPM Output x I O are compatible with the given mode and can work with any other function using that mode T O cannot share the block with any other or marked function without possible conflicts I O can generally share the timer but will be affected by settings of the limit value value at which the timer rolls over or resetting of the counter either directly or through synch signals BL4S100 User s Manual 129 APPENDIX E PLASTIC ENCLOSURE The plastic enclosure provides a secure way to protect your BL4S100 The enclosure itself may be mounted on any flat surface The complete plastic enclosure consists of a base and a cover The base alone is a convenient surface on which to mount the BL4S100 and also provides a means to mount the BL4S100 on any flat surface The base and cover are sold together Appendix E describes how to mount the BL4S100 inside the plastic enclosure and provides details on mounting the assembly BL4
30. output in a high impedance state RETURN VALUE 0 success EINVAL invalid parameter value SEE ALSO brdInit digOut digOutBank BL4S100 User s Manual 62 digOut void digOut int channel int state FUNCTION DESCRIPTION Sets the state of a digital output channel to a logic 0 or a logic 1 This function will only allow control of pins that are configured by the setDigOut function call PARAMETERS channel digital output channel 0 7 OQUTO OUT7 state set output to one of the following states 0 connects the load to GND 1 puts the output in a high impedance state RETURN VALUE 0 success EINVAL invalid parameter value EPERM pin function was not set up as a digital output SEE ALSO brdiInit setDigOut digOutBank BL4S100 User s Manual 63 digOutBank int digOutBank char bank char data FUNCTION DESCRIPTION Sets the state logic 0 or logic 1 of a bank of 8 digital output pins to the states contained in the data parameter This function only updates the channels that are configured to be sinking digital outputs by the setDigOut function call PARAMETERS bank digital output bank pins 0 OUTO OUT7 data data value to be written to the specified digital output bank the data format and bitwise value are as follows Data Bits Bank 0 LSB DO OUTO D1 OUTI D2 OUT2 D3 OUT3 D4 OUT4 D5 OUTS D6 OUT6 MSB D7 OUT7
31. requested the additional functionality requested cannot be supported The error code also helps you identify the other pins whose functionality needs to change to possibly allow the latest function call to succeed The bit values in the Mode Conflict error codes have the following meanings e Bits 7 4 don t matter will always be zero e Bit 3 Pin 3 of this block has a mode conflict e Bit 2 Pin 2 of this block has a mode conflict e Bit 1 Pin 1 of this block has a mode conflict e Bit 0 Pin 0 of this block has a mode conflict By looking at the table in this appendix you can identify the other pins that share the RIO counter timer block with the pin s that returned the Mode Conflict error code For example if you already configured INO and IN1 as Quadrature Decoder inputs then try to set IN2 as a counter input the function call will return a Mode Conflict error code of 3 This error code is a 4 bit value that identifies other pins using the same counter timer block that conflict with the requested function In this case 3 is 0011 which indicates that pin 1 and pin 2 of the block used by IN2 have the conflicts they are using the coun ter timer in a way that conflicts with setting IN2 as a counter input Looking at Table D 1 you find IN2 is using block 0 on RIO chip 0 and pin 0 and pin 1 of this block are used by INO and IN1 Therefore you cannot use IN2 as a counter input unless you remove the Quadrature Decoder in
32. tion constants based on mode channel and gain Other factors affecting the calibration must be taken into account by calibrating using the same mode and gain setup as in the intended use Sample programs are provided to illustrate how to read and calibrate the various A D inputs for the three operating modes Mode Read Calibrate Single Ended unipolar ADC_RD_SE_UNIPOLAR C ADC_CAL_SE_UNIPOLAR C Differential bipolar ADC_RD_DIFF C ADC_CAL_DIFF C 4 20 mA ADC_RD_MA C ADC_CAL MA C These sample programs are found in the ADC subdirectory in SAMPLES BL4S1xx See Section 4 2 3 for more information on these sample programs and how to use them BL4S100 User s Manual 29 3 5 USB Programming Cable The USB programming cable is used to connect the serial programming port of the BL4S100 to a PC USB port The programming cable converts the voltage levels used by the PC USB port to the CMOS voltage levels used by the Rabbit microprocessor When the PROG connector on the programming cable is connected to the programming header on the BL4S 100 programs can be downloaded and debugged over the serial interface The DIAG connector of the programming cable may be used on the programming header on the BL4S100 with the BL4S100 operating in the Run Mode This allows the programming port to be used as a regular serial port 3 5 1 Changing Between Program Mode and Run Mode The BL4S100 is automatically in Program Mode when the PROG
33. 0 User s Manual 73 getMatch int getMatch int channel int source FUNCTION DESCRIPTION Returns the block match register use for the given channel May optionally be filtered to specific sources by the source parameter PARAMETERS channel digital output channel about which to get match information 0 7 OUTO OUT7 source source filter BL_TRAIL_ONLY will filter only the Trail match register BL_LEAD_ ONLY will filter only the Lead match register Note that counters will only use the Trail match register RETURN VALUE Bit flags showing match use on success BL_IER_MATCHO bit set if using Match Register 0 BL_IER_MATCH1 bit set if using Match Register 1 BL_IER_MATCH2 bit set if using Match Register 2 BL_IER_MATCH3 bit set if using Match Register 3 or EINVAL invalid channel value SEE ALSO brdInit setPWM setPPM setCounter BL4S100 User s Manual 74 4 4 3 Rabbit RIO Interrupt Handlers addISRIn int addISRIn int channel int ier void handler FUNCTION DESCRIPTION Adds an interrupt handler for the interrupts specified in the ier parameter for the given RIO block hosting the given configurable I O pin The interrupt service routine ISR is always disabled when created Call enableISR to enable the interrupt service routine The ISR handler function is responsible for clearing the interrupt s within the hosting RIO block when called PARAMETERS channel digital input channel to bind to ISR
34. 100 CAUTION There is an explosion danger if the battery is short circuited recharged A 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 Cycle the main power off on after you install a backup battery for the first time and when ever you replace the battery This step will minimize the current drawn by the real time clock oscillator circuit from the backup battery should the BL4S100 experience a loss of main power Rabbit s Technical Note TN235 External 32 768 kHz Oscillator Circuits provides addi tional information about the current draw by the real time clock oscillator circuit BL4S100 User s Manual 121 APPENDIX C DEMONSTRATION BOARD Appendix C explains how to use the Demonstration Board with the BL4S100 sample programs BL4S100 User s Manual 122 C 1 Connecting Demonstration Board Before running sample programs based on the Demonstration Board you will have to con nect the Demonstration Board from the BL4S100 Tool Kit to the BL4S100 board Proceed as follows 1 Use wires to connect screw terminal header J3 on the Demonstration Board to header J4 on the BL4S100 The connections are shown in Figure C 1 with the green wire to GND and the blue wire to V 2 Make sure that your BL4S100 is connected to your PC via the programming cable and
35. 2 LEDS 4 Value Set Output OFF Set ON oN 8 You are now ready to interface with the BL4S100 BL4S150 via the ZigBee protocol Try pinging the selected device by clicking the Send Ping button 6 2 2 Setting up Sample Programs The sample programs are set up so that the BL4S100 B14S150 you are using is a ZigBee router coordinator or end device Uncomment the line corresponding to the role the BL4S100 B14S 150 will have once it is running the sample program The default in the sample programs is for the BL4S100 B14S 150 to be a router Set XBEE_ROLE to NODE_TYPE_COORD NODE_TYPE_ROUTER or NODE_TYPE_ENDDEV to match your XBee s firmware define XBEE_ROLE NODE_TYPE_ROUTER NOTE Remember that the firmware loaded to the XBee RF module is different depend ing on whether the BL4S100 BL4S150 is a router default an end device or a coordi nator See Appendix F Additional Configuration Instructions for information on how to download firmware to the BL4S100 BL4S 150 to set it up as a coordina tor or to resume its original configuration as a router There are several macros that may be changed to facilitate your setup The macros can be included as part of the program code or they may be put into the Program Options Defines on the Defines tab in the Options gt Program Options menu BL4S100 User s Manual 107 Channel mask defaults to Ox1 FFE i e all 16 possible channels via the macro in the Dyn
36. 3 JP4 S E Hoodoo eA j BL4S100 moo ojm oo oj pS a GND to GND on Header J4 O o LEDI LED2 LED3 LED LEDI LED2 LED3 LED4 ACT L ACT LED JUMPER SINK LED JUMPER SOURCE a JPI5 EA p E E p mili DIGITAL INPUTS INO IN11 WITCH CONNECT TO DEMO BOARD BL4S100 HEADER J4 Figure 18 TCP IP Sample Programs Demonstration Board Connections PINGLED C Demonstrates ICMP by pinging a remote host The sample program will flash LED1 and LED2 on the Demonstration Board when a ping is sent and received e RWEB_DIGITAL_OUTPUTS cC Demonstrates using the digOout function call to control the sinking digital outputs on the BL4S100 to toggle the LEDs on the Demon stration Board on off Once the sample program is compiled and running open your PC Web browser 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 BL4S100 User s Manual 100 e RWEB_IO_SAMPLE C Demonstrates using RabbitWeb to display the status of multi ple I O lines analog and digital in a Web browser and allows the user to change the digital outputs by clicking the buttons on the
37. 3 LED4 LEDI LED2 LED3 LED4 ACT LED JUMPER SINK LED JUMPER SOURCE I0 HO s3 o mance om ana A a i INPUTS INO IN11 LEDI LED2 LED3 LED4 i lO 6 oj o aF CONNECT TO DEMO BOARD BL4S100 HEADER J4 sssosozoojsossSssS72S Figure 14 Digital Inputs Signal Connections DIGIN C Demonstrates the use of the digital inputs Using the Demonstration Board you can see an input channel toggle from HIGH to LOW in the Dynamic C STDIO window when you press a pushbutton on the Demonstration Board DIGIN_BANK cC Demonstrates the use of digInBank to read digital inputs Using the Demonstration Board you can see an input channel toggle from HIGH to LOW in the Dynamic C STDIO window when you press a pushbutton on the Demonstration Board The banking functions allow I O banks to be input or output more efficiently BL4S100 User s Manual 37 Figure 15 shows the signal connections for the sample programs that illustrate the use of the digital outputs DIGITAL OUTPUTS OUTO OUT3 HEADERS J3 amp J4 BL4S100
38. 4S100 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 gt Two 3 wire RS 232 serial ports or one 5 wire RS 232 serial port gt One serial port dedicated to programming debugging BL4S100 User s Manual 4 e Battery backed real time clock e Watchdog supervisor Four BL4S100 models are available Their standard features are summarized in Table 1 Table 1 BL4S100 Models Feature BL4S100 BL4S110 BL4S150 BL4S160 Microprocessor Rabbit 4000 running at 40 00 MHz Program Execution SRAM 512KB 1MB Data SRAM 512KB Serial Flash Memory IMB 2MB program A D Converter 12 bits Ethernet Interface 10Base T ZigBee PRO
39. 4S100 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 Web site at www rabbit com BL4S100 User s Manual 2 GETTING STARTED Chapter 2 explains how to connect the programming cable and power supply to the BL4S100 BL4S100 User s Manual 10 2 1 BL4S100 Connections 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 programming cable to an available U
40. 4S100 to Other Devices eee cesses ceseeeeeeeeeseeeaeeacecaeceecsaeeaeseseeeeseeeeaeeaes 9 Chapter 2 Getting Started 10 2 1 BLAS TOO Connecti Ons eiorinn aeeiiaii dessccssccesseucnenesscetetessesege REE E EE EEEE EE EEEE 11 2 1 t Hardware Reset ccicisesncctiiie divine esti EE A E OE 12 2 2 Installing Dynamit Cirerer erer sienen eoe E E eE E EEEE EEEE EE ETE E TEE TEE AEE ES 13 23 Starting Dynamic C seese re ire EE EEEE EEE EEEE ETEO EEE EEEE ESEE T E EEEE 14 2 4 Runa Sample Prograf s cs cesscssseciessiseccebabscassevsastasedsennssdpesnesesnaneseteobedeoarssesnaysseecshndensoanesnteesectasvessnte 14 241 Troubleshooting renei iinn i E E EEA T EEEE E EE obooeadeaubieds 14 2 4 2 Run a ZigBee Sample Program BL4S100 BL4S150 only eee eeeeeeceeeeceneecneeceeeentretsneeeeeers 15 2 3 Where Do Go From Here vies iscey cevevinecediescacsschsecnstetecssaceps cecevdeens E e ara Nae ae ar iskee 16 Chapter 3 Subsystems 17 3A BEA LOO PI OUts innri nscnre eei E E R E AEN E E A RE E E 18 ILI CONNECIOTS sises i ne EE EAE ARE A esas oe AAE 18 3 2 Digital TO srren orn aaea Reo E TE E RE EE E A E EEEE 19 3 271 Digital Inputsas cities cnnieadk i diate adi adam RE E E E hadnns 19 D227 Dicta OUIS aoaia e A Ee a E a teeta 22 3 3 Serial COMMUNICATION 3 ccsecdsatvecssedesiucessndeenstseysensnceesvesvrvsedsovavoossdviessevsoetvecsbveceovensdiedebeesedeeesteensyseneees 25 ea R22 Bese adea ches E E E EE A A eae 25 3 32 Programming POLE ciesicstecs dencedsve
41. EEE E EE R EEEE VEGE 32 BL4S100 User s Manual 1 Chapter 4 Software 33 4 1 Running Dynamic esse srs eoe eenei eene a oeae EEEE OERE ESSAN meee a etree 33 4 1 1 Uperading Dynamic O a Sieh neve pe aA eee nies pte ea ae 35 412 Add On MOdullesiss cs lt cccvwvsisvce E A EEA IA EOE A A E EE TNA 35 4 2 Sample PLOSTAMS oren ccocsecescecaceackcssoecvisescebvescbkocsdubdestecuseods seoeaa snes EE R E a eaa a ee 36 ADA Digital V O EEE AEST 37 422 Serial Communica ton ienga airia EEE SETE Aa Ae EAEE EEO ERE E Ae EEE ES 43 42 3 A D Converter NputS ireira a a a T r a E n Ta RE Ea 45 ADA Real Time ClOCK rentei E ATE A TERE A A AREE SEEE tees 46 4 2 5 TCPAP Sample Programm lt cscsssssoseesevsavescocpecesssevenesesneduoaovncvesnsesvacebeneusdestbeeonsussnevendevpocedases 46 4 2 0 Z1gBe Sample PLOLTAMS wx eini eenparig hee tend igshsestnevsdse Sepdusepeoen conte eee 46 4 3 BEAS 100 Librarie Soininen eesi re eE EKE E EEEE eocbacecae dep spans EER EE das EE EE e O ioia 47 AA BI4S100 Function Calls reinn einn aE E E E E E TEE 48 44T Board Initiahzaton meneen eA Carcass EEE e AE E E E ce E E E E 48 4 4 2 Digital T O sciesissctessssesssvsassegscisn sts ccssduschyesdesesscvgsiesesch EEEE oa OOR ESEESE Gabsassash ors sconces TOES Pa Tos ESTEE cvnsde 49 4 4 3 Rabbit RIO Interrupt Handlers ee ee ceneeesecesceceseecsseeeeceeseeesneceeeecseeeeaeceeeeceaeceaeeeseeeaeceaeees 75 4AA Serial COMMUNICA o 55 c02ccecesecesscccuansotcev
42. ETURN VALUE Data read from the bank of digital inputs Data Bits Bank 0 Bank 1 LSB DO INO IN8 D1 INI IN9 D2 IN2 IN10 D3 IN3 IN11 D4 IN4 D5 IN5 not used D6 IN6 MSB D7 IN7 EINVAL invalid parameter value SEE ALSO brdInit digIn setDigIn BL4S100 User s Manual 50 setExtInterrupt int setExtInterrupt int channel char edge int handle FUNCTION DESCRIPTION Sets the specified channel to be an interrupt The interrupt can be configured as a rising edge falling edge or either edge PARAMETERS channel digital input channel to be configured as an interrupt channel 0 11 pins INO IN11 edge macro to set edge of the interrupt BL_IRQ_RISE interrupt event on rising edge BL_IRQ FALL interrupt event on falling edge BL_IRQ_BOTH interrupt events on both edges handle handle for the ISR handler to service this interrupt RETURN VALUE 0 success EINVAL invalid parameter value EPERM pin type does not permit this function EACCES resource needed by this function is not available EFAULT internal data fault detected positive number Mode Conflict the positive number is a bitmap that corresponds to the pins on a particular block of a RIO chip that have not been configured to support this function call Appendix D provides the details of the pin and block associations to allow you to identify the channels that need to be reconfigu
43. H3 Match 3 condition BL_IER_MATCH2 Match 2 condition BL_IER_MATCH1 Match 1 condition BL_IER_MATCHO Match 0 condition handler pointer to the interrupt service function RETURN VALUE Success returns the handler ID number 0 RSB_MAX _ISR 1 EINVAL Invalid parameter given ENOSPC No more room in ISR table increase RSB_MAX_ ISR SEE ALSO addISRIin tickISR enableISR setIER BL4S100 User s Manual 76 setIER int setIER int isr_handle int ier FUNCTION DESCRIPTION Sets the Interrupt Enable Register IER mask for an interrupt handler Note that the in terrupt handler must be currently disabled to set the IER value Disabling the ISR can be done by calling enableISR with a zero for the enable parameter PARAMETERS isr_handle index to the desired ISR ier bit mask of interrupts this handler services bit positions match RIO Interrupt Enable and Status registers RETURN VALUE 0 success EINVAL Invalid parameter given EPERM Handler is enabled can t change IER SEE ALSO addISRIin addISROut enableISR tickISR BL4S100 User s Manual 77 enableISR int enableISR int isr_handle int enable FUNCTION DESCRIPTION Enables or disables an interrupt handler PARAMETERS isr_handle index to the desired ISR enable non zero enables the ISR zero disables the ISR RETURN VALUE 0 success EINVAL invalid parameter given SEE ALSO addISRIn addIS
44. IMPLE3WIRE C This program demonstrates basic RS 232 serial communication using the Dynamic C STDIO window Fol low these instructions before running this sample program Connect Tx 1 W to CTS RxF then connect Rx to RTS TxF before compiling and running this sample program e SIMPLE5WIRE C This program demonstrates 5 wire RS 232 serial communication using the Dynamic C STDIO window Follow these instructions before running this sample program Before you compile and run this sample program connect Tx 1 W to Rx then connect RTS to CTS A J5 To test flow control disconnect RTS from CTS while running this program Characters should stop printing in the Dynamic C STDIO window and should resume when RTS and CTS are connected again e COMPUTER_PARITY C This sample program demonstrates using parity over a simple three wire RS 232 connection Parity is selected for the BL4S100 and for the serial ter minal emulation program Characters typed in either the Dynamic C STDIO window or in the serial terminal emulation program are echoed in both displays Parity errors are counted and displayed by the Rabbit microprocessor on the BL4S100 Before you compile and run this sample program use the long serial cable Part No 540 0094 to connect Tx brown wire Rx red wire and GND black wire on header J5 to a PC COM port Open a Hyperterminal session Start gt Accessories gt Communications Select the PC COM port the cable
45. LES xBee folders illustrate the use of the ZigBee function calls BL4S100 User s Manual 104 6 2 1 Setting Up the Digi XBee USB 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 Connect the Demonstration Board to the BL4S100 as shown below DIGITAL OUTPUTS OUTO OUT3 HEADERS J3 amp J4 BL4S100 uul O 3 Compile and run the XBEE_GPIO_SERVER C sample program in the Dynamic C GND LeD2 LED LED4 sa PEMD B AD OT x LEDI LED2 JPI JP2 ARD oats JP3 JP4 SOT E LED Hag ririri RUNN enaa ea T Too JOOO oooO m o ofm o o o fe LED LED2 Lp fLED4 1 loo LEDI LED2 LEDS LED4 ACT L ACT_H LED J ER SINK LED JUMPER SOURCE ma Jpg tV ALT g oF ae A Efe isw2i Ef lswa sw Si y 5a POW to GND on Header J4 SAMPLES BL4S1xx xXBee folder 4 Open the ZigBee Utility by double clicking XBEE_GPIO_GUI exe in the Dynamic C Utilities xXBee GPIO GUI folder if you have problems launching the ZigBee Utility install a Net Framework by double clicking dotnet fx exe in the Dynamic C Utilities dotnet x folde
46. NOTE A zero offset will produce the smallest offset possible which is one count If you must have a zero offset use set PWM instead of setPPM duty PPM duty cycle should be from 0 to 100 use 1 and bind_ duty parameter to use bound edge to set the duty cycle NOTE PPM will not wrap around the PPM period If offset is set to 25 the 75 to 100 duty cycle will have the same effect as offset 25 duty 75 The same waveform as a wrapped PPM can be created using an inverted PPM invert bind offset bind_duty whether the PPM output is inverted the PPM output normally starts with the output low goes high at the offset and stays high for the remainder of the duty cycle inverted will start with the out put high goes low at the offset and stays low for the duration of the duty cycle 0 noninverted 1 inverted use BL_BIND_LEAD or BL_BIND_TRAIL ORed with another digital output channel hosted by the same block to enable binding for the leading edge of the PPM output on this channel Bindings al low PWM and PPM outputs to align their leading and trailing edges use BL_BIND_LEAD or BL_BIND_TRAIL ORed with another digital output channel hosted by the same block to enable binding for the trailing edge of the PPM output on this channel Bindings allow PWM and PPM outputs to align their leading and trailing edges BL4S100 User s Manual 67 setPPM continued RETURN VALUE 0 success EINVAL inva
47. PWM output except it is shifted by an offset relative to the event that triggered the start of the PPM output PPM l OUTPUT penod gt Duty A PPM output is either inverted or nonin pi Cycle 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 Shifted Offset PWM and PPM outputs on the BL4S100 are configured using the setPWM and setPPM function calls BL4S100 User s Manual 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
48. ROut setIER tickISR tickISR void tickISR void FUNCTION DESCRIPTION Polls the RIO chip s for ISR events if interrupts are not being used Any enabled ISR events will be passed to the appropriate ISR handler RETURN VALUE None SEE ALSO addISRIn addISROut enableISR setIER BL4S100 User s Manual 78 4 4 4 Serial Communication Library files included with Dynamic C provide a full range of serial communications sup port 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 delim ited 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 transmit ting or receiving and nonblocking functions which must be called repeatedly until they are finished For more information see the Dynamic C User s Manual and Technical Note 213 Rabbit Serial Port Software Use the following function calls with the BL4S100 serMode int serMode int mode FUNCTION DESCRIPTION This function call sets the serial interfaces used by your application program Call this function after executing serXopen and before using any other serial port function calls PARAMETER mode the defined serial port configuration Mode Serial Port D Serial Port F 0 RS 232 3 wire RS 232 3 wire 1 RS 232 5 wir
49. S100 User s Manual 130 E 1 Assembly Instructions 1 Attach the BL4S100 board to the plastic enclosure base Position the BL4S100 board over the plastic enclosure base as shown below in Figure E 1 Attach the BL4S100 to the base using the four 4 40 x 1 4 screws supplied with the enclo sure base Figure E 1 Attach BL4S100 to Plastic Enclosure Base 2 Mount plastic enclosure optional Use two 10 screws to attach the plastic enclosure at the two outer side mounting holes to the surface on which it will be mounted BL4S100 User s Manual 131 3 Attach the enclosure cover to the base Position the cover over the plastic enclosure base as shown below in Figure E 2 Attach the cover to the base using the four 4 40 x 1 2 screws supplied a pama zune scm cums Dy VOeNOEDD 2D ODIO 4 at ia ie fie Sit Figure E 2 Attach Enclosure Top BL4S100 User s Manual 132 E 2 Dimensions Figure E 3 shows the dimensions for the plastic enclosure 7 140 5 va 181 6 016 153 Figure E 3 Plastic Enclosure Dimensions When fully assembled the total height of the plastic enclosure will be 1 5 38 mm NOTE All measurements are in inches followed by millimeters enclosed in parentheses All dimensions have a manufacturing tolerance of 0 01 0 25 mm BL4S100 User s Manual 133 APPENDIX F ADDITIONAL CONFIGURATION INSTRUCTIONS Appendix F provides information on how t
50. SB 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 Waiting to join network Description Read the current channel Will be zero if we are not associated with a network 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 Read the operating PAN ID Read the current network address Will be xFFFE if we are not associated with a network Read the upper four bytes of the radio IEEE address Read the lower four bytes of the radio IEEE address Set or read the Node Identifier Set or read the maximum number of Broadcast Hops Set or read the Node Discovery timeout value in 1s Set or read the list of channels to scan This value is a bit field list Set or read the channel scan duration value Set or read the Node Joining Time value Read the Association Indicator A zero value means we are associated with a network Set or read the transmission power level Read the radio software version number Read the r
51. SB port on your PC or workstation Programming Cable om 10 me 2 a So Tp oo mE ns SINS SINAN 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 sho
52. STE EE TEE 107 6 3 Dynamic C Function CallStreet a a E E E EE OSEE 111 64 Where DO L Goi From Here 2 are ore heta E E A cenyeuseedeadecvecborstesvedgvoeas edducertysoowpseeteevs 111 Appendix A Specifications 112 A 1 Electrical and Mechanical Specifications seeesssseessseesesrssesssseersseeresrerestesrerrnsetssretssrnesrenesenseee 113 AVL Exclusion ZoNe A E EEE A A A EE E E E EE EAE 115 AAD Headers keera ea nines ins IE E RE E N ERE O N ASE 115 A2 Jumper C On SUrallONs oeenn an aeai EERE AA Ea EE A AAA EE A AE ERARE AEK ERA 116 A 3 Use of Rabbit Microprocessor Parallel Ports 0 ccesscescecseeeeeceeeeessecenceceeeecsaeceeeesseeesaeceeecnseeenaeees 118 Appendix B Power Supply 120 B I Power Supplies rr ar a raaraa asea aee k Tosa p eea TEE a EEEE Ea Ea a caus OEE Tea OSSEE r SE seee geass 120 B 2 Batteries and External Battery Connections ssessssssesssseesesesseersstereseeresresertesreressentsrrnrerreeernsreresre 121 B 2 1 Replacing the Backup Battery 00 0 0 ees inar iir r e E EA E T 121 Appendix C Demonstration Board 122 C 1 Connecting Demonstration Board essesesseseeessseersseeesesestssterssterrstesertesrrrrsrertsrentetesteresseeestesete 123 C2 Demonstration Board Featire Sinirin S EEE EO EERE ROE ATEREA 124 C2 I Poutin ie a BoA R E ae Ee ni ee es 124 C22 Configuration aeeie e e e a a a a T 124 Appendix D Rabbit RIO Resource Allocation 126 BL4S100 User s Manual 2 D 1 Digital I O Pin Associations 0
53. TE If an end event occurs before the begin event the count will begin then end immediately on the begin event and the end count will be 1 The begin count will be 0 or 1 based on the edge that triggered the event 0 rising 1 falling edge edge state macro setting for the begin event for all modes except BL_CNT_TIL_END then it specifies the end event BL_EVENT_RISE begin event on rising edge BL_EVENT_FALL begin event on falling edge BL_EVENT_BOTH begin event on any edge The following two settings are only for the BL_CNT_ON_BEGIN mode BL_BEGIN_HIGH begin active while signal is high BL_BEGIN_LOW begin active while signal is low BL4S100 User s Manual 55 setCapture continued options options based on mode BL_CNT_TIL_END begin input and edge can be selected all others modes end input and edge can be selected For all modes the prescale clock and save limit flags can be used OR in For input and edge selection use low 5 bits for channel to use for begin end input BL_SAME_CHANNEL begin and end both from same channel BL_EVENT_RISE begin end event on rising edge BL_EVENT_FALL begin end event on falling edge BL_EVENT_BOTH begin end event on any edge For clock and limit options use BL_PRESCALE use prescaled clock BL_SAVE_LIMIT save current limit register value other wise limit set to OXFFFF RETURN VALUE 0 success EINVAL invalid parameter va
54. TPUT K1 or K2 A LOAD OUTO OUT7 External Pi s soa P A eee Rabbit RIO D GND t D Figure 8 BL4S100 Digital Outputs OUTO 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 Ka Aiii Kb easily accomplished by using outputs from the r z RESISTORS same bank on one connector S va A LOAD NI I L 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 Counter Timer Block Shared With Pin s Blocks
55. UE 0 success EINVAL invalid parameter value EPERM pin type does not permit this function EACCES resource needed by this function is not available EFAULT internal data fault detected SEE ALSO brdiInit setSyncOut BL4S100 User s Manual 60 globalSync int globalSync void FUNCTION DESCRIPTION Sends a single pulse to the global synch inputs of all RIO chips Note that when more than one block is synchronized to the same synch signal global or external each block has its own independent edge detection circuit These circuits will synch to the edge within plus or minus one count of the block s current clock source main or prescale This means synchronized blocks may have a small offset when compared to each other RETURN VALUE 0 success EPERM brdInit was not run before calling this function SEE ALSO brdInit BL4S100 User s Manual 61 setDigOut int setDigOut int channel int state FUNCTION DESCRIPTION Configures the output channel as a simple digital output The output state of the chan nel is also initialized to logic 0 or logic 1 based on the state parameter The digOut function should be used to control the output state after configuration as it is more effi cient This function is non reentrant PARAMETERS channel digital output channel 0 7 OQUTO OUT7 state set output to one of the following states 0 connects the load to GND 1 puts the
56. ZigBee PRO a 802 15 4 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 Web site for up to date information about additional add ons and features as they become available The Web site also has the latest revision of this user s manual BL4S100 User s Manual 5 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 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 Programming 5 aa gk DIAG Cable ra NS p Unive
57. adio hardware version number MENU Display this menu not an AT command Valid command formats AT prefix is optional CC is command AT CC xXXXXXX where XXXXXX is an even number of hexidecimal characters AT CC YYYY where YYYY is an integer up to 32 bits AT JNI Node ID String where quotes contain string data Enter AT Command 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 e Use the Dynamic C Help menu to get further assistance with Dynamic C e Check the Rabbit Technical Bulletin Board and forums at www rabbit com support bb and at www rabbit com forums e 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 BL4S100 features and develop your own applications When you start to develop an application involving the analog inputs run USERBLOCK_ READ_WRITE C in the SAMPLES UserBlock folder to save the factory calibration con stants before you run any other sample programs in case you inadvertently write over them while running ano
58. amic C LIB Rabbit4000 XBee XBee_Firmware XBEE_API LIB library If you want to limit the channels used all devices on your network should use the same channel mask define DEFAULT_CHANNELS XBEE_DEFAULT_CHANNELS Extended PAN ID the 64 bit network ID Defaults to DEFAULT_PANTID if set in the Dynamic C LIB Rabbit4000 XBee XBEE_API LIB library otherwise defaults to 0x0123456789abcdef to match the default used on the Digi XBee USB If set to 0x00 tells coordinators to select a random extended PAN ID and tells routers and end devices to join any network Change the extended PAN ID if you are developing simultaneously with more than one ZigBee coordinator define DEFAULT_EXTPANID 0x0123456789abcdef Node ID the ID of your particular node via the macro in the Dynamic C LIB Rabbit 4000 XBee XBee_Firmware XBEE_API LIB library Each node should have a unique identifier define NODEID_STR RabbitXBee The XBee sample programs in the Dynamic C SAMPLES xBee folder illustrate the use of the XBee function calls e AT_INTERACTIVE C This sample program shows how to set up and use AT commands with the XBee RF module The program will print out a list of AT commands in the Dynamic C STDIO window You may type in either ATxx or just the xx part of the command Use just the AT command to read any of the values Use AT xx yyyy where the y is an integer up to 32 bits to set any of the set or read val
59. constants are calculated and placed into the user block in the flash memory NOTE The 10 and 90 points of the maximum voltage range are recommended when calibrating a channel PARAMETERS channel analog input channel number 0 to 7 corresponding to AINO AIN7 channel Single Ended Differential 4 20 mA 0 AINO AINO AIN1 AINO 1 AIN1 AIN1 2 AIN2 AIN2 AIN3 AIN2 3 AIN3 AIN3 4 AIN4 AIN4 AIN5 5 AIN5 6 AIN6 AIN6 AIN7 7 AIN7 opmode the mode of operation for the specified channel Use one of the following macros to set the mode for the channel being configured SE0_mode single ended unipolar 0 20 V DIFF_MODE differential bipolar 20 V mAMP_mode 4 20 mA BL4S100 User s Manual 81 anaInCalib continued gaincode the gain code of 0 to 7 use the gain code macro mAMP_GAINCODE for 4 20 mA operation valuel voltsl value2 volts2 RETURN VALUE Voltage Range Gain Code Macro Single Ended Differential Unipolar Bipolar 0 GAIN_X1 0 20 V 20 V 1 GAIN_X2 0 10 V 10 V 2 GAIN_X4 0 5 V 5 V 3 GAIN_X5 0 4 V 4 V 4 GAIN_X8 0 2 5 V 2 5 V 5 GAIN_X10 0 2 V 2 V 6 GAIN_X16 0 1 25 V 1 25 V 7 GAIN_X20 0 1 V 1 V the first A D converter value the voltage corresponding to the first A D converter value the second A D converter value the voltage corresponding to the second A D converter va
60. cted 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 INO IN11 Rabbit RIO Figure 6 BL4S100 Digital Inputs INO 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 1 40 V Anything below this value is a logic 0 Normal Switching and anything above 1 90 V is a logic 1 The sao y Sikes digital inputs are each fully protected over a 36 V range of 36 V to 36 V and can handle short spikes of 40 V Spikes 3 3V4 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 Digital Input Voltage 40 V Spikes 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 inpu
61. cy crystals to be used to reduce radiated emissions The clock doubler may be disabled if the higher clock speeds are not required Disabling the 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 gt 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 3 Click OK to save the macro The clock doubler will now remain off or on according to your setting whenever you are using the project file where you defined the macro 3 6 2 Spectrum Spreader The Rabbit microprocessors features a spectrum spreader which help to mitigate EMI problems By default the spectrum spreader is on automatically but it 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 gt Project Options menu 2 Normal spreading is the default and usually no entry is needed If you need to specify nor mal spreading add the line ENABLE_SPREADER 1 For strong spreading add the line ENABLE_SPREADER 2 To disable the spectrum spreader a
62. d then it pings the default gateway For this sample the XBEE_ROLE macro must be defined as NODE_TYPE_ENDDEV since routers and coordinators cannot sleep e XBEE_GPIO_SERVER C This sample program shows how to set up and use endpoints and clusters It is meant to be run with the Windows GUI client installed in Dynamic C s Utilities directory and a Digi USB XBee coordinator or with the GPIO client sample program SAMPLES XBEE XBEE_GPIO_CLIENT C running on an RCM4510W RabbitCore module or on a single board computer with an XBee RF module Connect the BL4S100 BL4S 150 to the Demonstration Board as explained in Section 6 2 1 Then compile and run this sample program on the BL4S100 BL4S150 Run the Windows GUI client XBEE_GPIO_GUI exe in the Dynamic C Utilities xXBee GPIO GUI folder on your PC Configure the GUI client to connect to the Digi USB XBee coordi nator and scan for devices Make sure the BL4S100 BL4S150 and the Digi USB XBee coordinator are configured with the same PAN ID If you run the XBEE_GPIO_CLIENT C sample program on another board with an XBee RF module set the PAN IDs to match between the client and the server sample programs Now select the GPIO server and use the GUI interface on the PC or the command line client on another XBee equipped board to view the server s inputs and change its outputs For example you can toggle the LEDs on the Demonstration Board on off XBEE_WEB_GATEWAY C This sample program shows
63. d PPM outputs The high speed Quadrature Decoder counts the number of rollovers that occur one per 1000 counts The low speed Quadrature Decoder displays the current count in the register ITN J3 Once the connections are made as shown and you compile teruran ne mo o one and run this sample program change the frequency SISOS ISIN 4 direction for a given Quadrature Decoder via the Dynamic C STDIO window and watch the register counts on the low WQBQBRAQT J16 speed channel and the register rollovers on the high speed m mio me me mr me ms me cno channel BL4S100 User s Manual 42 4 2 2 Serial Communication The following sample programs are found in the SAMPLES BL4S1xx RS232 subdirectory PARITY C This sample program repeatedly sends byte values 0 127 from Serial Port D to Serial Port F The program will cycle through parity types on Serial Port D Serial Port F will always be checking parity so parity errors should occur during most sequences The results are displayed in the Dynamic C STDIO window Connect Tx 1 W to CTS RxF on header J5 before compiling and running this sample program You may wish to do lt Ctrl Q gt to stop geej the program to see the data which go by rather quickly J5 NOTE For the sequence that does yield parity errors the errors won t occur for each byte received This is because certain byte patterns along with the stop bit will appear to generate the correct parity for the UART e S
64. d in either the Dynamic C STDIO window or in a serial terminal emulation program are echoed in both displays The setup and run instructions are the same as for the COMPUTER_PARITY C sample program BL4S100 User s Manual 44 4 2 3 A D Converter Inputs The following sample programs are found in the SAMPLES BL4S1xx ADC subdirectory You will need a separate power supply and a multimeter to use with these sample programs NOTE The calibration sample programs will overwrite the calibration constants set at the factory Before you run these sample programs run USERBLOCK_READ _ WRITE C in the SAMPLES UserBlock folder to save the factory calibration con stants in case you inadvertently write over them while running other sample programs NOTE For best results use a multimeter with a resolution of at least 4 digits e ADC_CAL_DIFF C Demonstrates how to recalibrate a differential A D converter channel using two measured voltages to generate two coefficients gain and offset which are rewritten into the user block The voltage that is being monitored is displayed continuously Once you compile and run this sample program connect the power supply across a differential channel pair then follow the instructions in the Dynamic C STDIO window e ADC_CAL_MA cC Demonstrates how to recalibrate a milli amp A D converter channel using two measured currents to generate two coefficients gain and offset which are rewritten into the reserved
65. dd the line ENABLE_SPREADER 0 NOTE The strong spectrum spreading setting is not recommended since it may limit the maximum clock speed or the maximum baud rate It is unlikely that the strong set ting will be used in a real application 3 Click OK to save the macro The spectrum spreader will be set according to the macro value whenever a program is compiled using this project file NOTE Refer to the Rabbit 4000 Microprocessor User s Manual for more information on the spectrum spreading settings and the maximum clock speed BL4S100 User s Manual 31 3 7 Memory 3 7 1 SRAM All BL4S 100 boards have 512KB of battery backed data SRAM and 512KB 1MB of fast program execution SRAM 3 7 2 Flash Memory BL4S100 boards have 1MB 2MB of serial flash memory Writing to arbitrary flash memory addresses at run time is also discouraged Instead define a user block area to store persistent data The functions writeUserBlock and readUserBlock are provided for this 3 7 3 VBAT RAM Memory The tamper detection feature of the Rabbit microprocessor can be used to detect any attempt to enter the bootstrap mode When such an attempt is detected the VBAT RAM memory in the Rabbit microprocessor is erased The serial bootloader on the BL4S100 boards uses the bootstrap mode to load the SRAM which erases the VBAT RAM memory on any reset and so it cannot be used for tamper detection BL4S100 User s Manual 32 4 SOFTWARE
66. ding function calls may be placed into watch expressions Watch expressions can be updated with or without stopping program execution gt Register window All processor registers and flags are displayed The contents of general registers may be modified in the window by the user gt Stack window shows the contents of the top of the stack gt Hex memory dump displays the contents of memory at any address gt STDIO window print 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 BL4S100 User s Manual 34 4 1 1 Upgrading Dynamic C 4 1 1 1 Patches and Updates Dynamic C patches that focus on bug fixes and updates are available from time to time Check the Web site at www rabbit com support for the latest patches workarounds and updates The default installation of a patch or update 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 or update without over writing 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 an update o
67. e RTS CTS RETURN VALUE 0 if valid mode selected EINVAL if not BL4S100 User s Manual 79 4 4 5 A D Converter Inputs anaInConfig void anaInConfig int channel int opmode FUNCTION DESCRIPTION Configures an A D converter input channel for a given mode of operation This function must be called before accessing the A D converter chip The channel pairs for the differential mode are listed below AINO and AIN1 AIN2 and AIN3 AIN4 and AINS AIN6 and AIN7 The modes of operation are as follows Single ended unipolar 0 20 V Differential bipolar 20 V 4 20 mA operation NOTE When a pin in a differential pair is reconfigured as a nondifferential pin the remaining paired pin is also reconfigured PARAMETERS channel analog input channel 0 7 AINO AIN7 opmode selects the mode of operation for the A D converter channel pair The values are as follows SEO_MODE single ended unipolar 0 20 V DIFF_MODE differential bipolar 20 V mAMP_MODE 4 20 mA operation RETURN VALUE 0 success EINVAL invalid parameter SEE ALSO brdInit anaInCalib anaIn anaInVolts anaInmAmps anaInDiff BL4S100 User s Manual 80 anaInCalib int anaInCalib int channel int opmode int gaincode int valuel float voltsl1 int value2 float volts2 FUNCTION DESCRIPTION Calibrates the response of a given A D converter channel as a linear function using the two conversion points provided Gain and offset
68. e and run the sample program and follow the instructions in the Dynamic C STDIO window BL4S100 User s Manual 45 e ADC_RD_CALDATA C Demonstrates how to display the two calibration coefficients gain and offset in the Dynamic C STDIO window for each channel and mode of operation e ADC_RD_DIFF C Demonstrates how to read and display voltage and equivalent val ues for a differential A D converter channel using calibration coefficients previously stored in the user block The user selects to display either the raw data or the voltage equivalent Once you compile and run this sample program connect the power supply across a differential channel pair then follow the instructions in the Dynamic C STDIO window e ADC_RD_MA c Demonstrates how to read and display voltage and equivalent values for a milli amp A D converter channel using calibration coefficients previously stored in the user block Before you compile and run this sample program jumper pins 1 2 and 5 6 on headers J10 and J11 Then connect a current meter in series with the power supply connected to one of pins AINO AIN3 and AGND then compile and run the sample program and follow the instructions in the Dynamic C STDIO window as you vary the output from the power supply e ADC_RD_SE_UNIPOLAR C Demonstrates how to read and display the voltage of all single ended analog input channels using calibration coefficients previously stored in the user block Before you
69. e connected to an oscilloscope to view the waveform being generated The overall frequency can be adjusted in the define PWM_FREQ line Follow these instructions when running this sample program 1 The digital outputs on the BL4S100 do not have an internal pull up resistor and will not register on the oscilloscope without a pull up resistor The Demonstration Board has pull up resistors connect OUTO OUT3 on the BL4S100 to SW1 SW4 on header J1 of the Demonstration Board 2 Connect the oscilloscope probe to digital output pins OUTO OUT3 on headers J3 or J4 Remember to connect the oscilloscope ground to GND on header J4 Once you compile and run the sample program change the duty cycle for a given PWM output channel via the Dynamic C STDIO window and watch the change in waveforms on the oscilloscope Signals on the same RIO counter block OUTO and OUT1 for example will all be synchronized with each other Different blocks may have a phase shift from each other but will run at the same frequency Global synchronization can be used to synchronize different block on the RIO but this is not demonstrated in this sample program BL4S100 User s Manual 40 e QUADRATURE_DECODER C Demonstrates the use of quadrature decoders on the BL4S100 See Figure 16 for hookup instructions of the digital I O pins on headers J3 and J4 with the Demonstration Board DIGITAL I O HEADER J3 BL4S100 INO OUTO IN1 OUT1
70. e to the begin and end counts measured on the input capture inputs The PPM frequency can be changed in the define PPM_FREQ line Rabbit recommends that you run and understand both the INTERRUPTS c and the PULSE_ CAPTURE C sample programs before looking at PULSE_CAPTURE_IRQ C since PULSE_ CAPTURE_IRQ C uses concepts covered in the simpler sample programs e PULSE_CAPTURE_IRQ C Demonstrates the use of an advanced pulse capture method using RIO interrupts INO is configured as the pulse capture input and OUTO er OUT7 are configured as PWM outputs of varying fre sw ae quencies and duty cycles that provide signals to test the capture with Connect INO and OUTO together DLNG LLNS ZLNO SISSNONCIRIG J3 If an external signal source is available connect it to INO for capture If an external signal source is not available connect INO on the BL4S100 to SW1 Once you compile and run this sample program press any key on your PC keyboard to pause or unpause the display the capture will continue in the background Change the INO connection to any of OUTO OUT7 or an external source to capture a different signal This sample program will continuously capture single pulses in an interrupt service request for display e PWM C Demonstrates the use of the eight PWM channels on digital output pins OUTO OUT7 The PWM signals are set for a frequency of 200 Hz with the duty cycle adjustable from 0 to 100 by the user These pins can b
71. ect Connection PC to BL4S100 BL4S100 User s Manual 98 5 2 3 Run the PINGME c Demo Connect the crossover cable from your computer s Ethernet port to the BL4S100 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 run ning the green LNK light on the BL4S100 should be on to indicate an Ethernet connection is made Note If the LNK light does not light you may not have a crossover cable or if you are using a hub perhaps the power is off on the hub The next step is to ping the board from your PC This can be done by bringing up the MS DOS window and running the ping program ping 10 10 6 100 or by Start gt Run and typing the command ping 10 10 6 100 Notice that the orange ACT light flashes on the BL4S100 Ethernet jack 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 BL4S100 User s Manual 99 5 2 4 Running More Demo Programs With a Direct Connection The following sample programs are found in the SAMPLES BL4S1xx TCPIP folder Figure 18 shows the signal connections for the sample programs that illustrate the use of TCP IP DIGITAL OUTPUTS OUTO OUT3 HEADERS J3 amp J4 BL4S100 DEMO BOARD LEDI LED2 LED3 LED4 HEADERS J3 amp J4 JP
72. entiestegecasenstsvscedeecoseeebeesctneventevsazeecevecsd T iT Ea 79 445 A D Converter Inputs a n E E A E E A O EA ERRE A EAT 80 4 4 6 SRAM A O fe EE E E Mek EE E ea E E ee ets 94 Chapter 5 Using the Ethernet TCP IP Features 95 Oe TEPP Connections esnean e E aE E NE E KSE OEE N NEE KESE S 95 5 2 TCP IP Sample Programs 2 sc se ssdeesdscs sss ue sousessdecsbeeessdssdoentes genous SE as TEO Oe EETAS eaS ERE ek SESTE oS RSE 97 5 2 1 How to Set IP Addresses in the Sample Programs e esesesseseseesssreserreresrsseerssreresenrerensenesseeeses 97 5 2 2 How to Set Up your Computer for Direct Connect ssssssesssseeseesseesessesstestesstsstrssessrtsressesseee 98 3 23 Ru un the PINGME C Demo ii en eae aai E E e N E E EAEE SEE EREET EEO SEERE SE 99 5 2 4 Running More Demo Programs With a Direct Connection sssesesssessesrsersesseseserrerereererressee 100 53 Where Do LGOFronm Here scs i vcusssecesovcetsssecuvouvastayevgevecitcecoubanedewtstedesendtceveesipceethsvete RNE a AT 102 Chapter 6 Using the ZigBee Features 103 6 1 Introduction to the ZigBee Protocol seesseessesesessssesssstesrstsestsstsresretsresestesretrssetstentetesteresreeesresee 103 6 2 ZigBee Sample Programs oinen e ie era E E E ces E E R EOE EEE EEE EE eiS 104 6 2 1 Setting Up the Digi XBee USB Coordinator ssessesseseseeseseesesreresreresreerereeserrsseeresreresreresreeee 105 6 2 2 Setting tp Sample Programs ore ariere a ooesetanchons cvtesvunsoce aE
73. er infor mation about ZigBee is provided in Chapter 6 Using the ZigBee Features BL4S100 User s Manual 47 4 4 BL4S100 Function Calls 4 4 1 Board Initialization brdinit void brdInit void FUNCTION DESCRIPTION Call this function at the beginning of your program This function initializes Parallel Ports A E the Rabbit RIO chip and the A D converter The ports are initialized according to Table A 3 in Appendix A BL4S100 User s Manual 48 4 4 2 Digital I O setDigIn int setDigIn int channel FUNCTION DESCRIPTION Sets an input channel to be a general digital input PARAMETERS channel digital input channel 0 11 pins INO IN11 RETURN VALUE 0 success EINVAL invalid parameter value SEE ALSO brdInit digIn digInBank digiIn int digIn int channel FUNCTION DESCRIPTION Reads the state of a digital input channel PARAMETERS channel digital input channel 0 11 pins INO IN11 RETURN VALUE The logic state of the specified channel 0 logic low 1 logic high EINVAL channel value is out of range EPERM channel functionality does not permit this operation SEE ALSO brdInit setDigIn digInBank BL4S100 User s Manual 49 digInBank int digInBank int bank FUNCTION DESCRIPTION Reads the state of the 12 digital input channels in banks of up to 8 input channels PARAMETER bank digital input bank pins 0 INO IN7 1 IN8 IN11 R
74. essesedscsecene h ntaa es 103 BL4S100 User s Manual 141 SCHEMATICS 090 0265 BL4S100 Schematic www rabbit com documentation schemat 090 0265 pdf 090 0252 USB Programming Cable Schematic www rabbit com documentation schemat 090 0252 pdf 090 0272 Rabbit Demonstration Board www rabbit com documentation schemat 090 0272 pdf You may use the URL information provided above to access the latest schematics directly BL4S100 User s Manual 142 Mouser Electronics Authorized Distributor Click to View Pricing Inventory Delivery amp Lifecycle Information Rabbit Semiconductor 101 1268 101 1279
75. external bootstrap mode The BL4S100 can be reset from the programming port via the 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 ETHERNET 1 2 3 6 E RJ 45 Plug RJ 45 Jack 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 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 The A D converter chip has a programmable gain amplifier Each external input has circuitry that provides scaling and fi
76. f course you may copy over any programs you have written Once you are sure the new patch or update works entirely to your satisfaction you may retire the existing installation but keep it available to handle legacy applications 4 1 2 Add On Modules Starting with Dynamic C version 10 40 Dynamic C includes the popular uC 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 addition 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 Web site at www rabbit com for further information and complete documentation BL4S100 User s Manual 35 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 illus trate the use of the corresponding Dynamic C libraries The SAMPLES BL4S1xx folder provides sample programs specific to the BL4S100 Each sample program has comments that describe the purpose and function of the program Fol low the instructions at the beginning of the sample program To run a sample program o
77. figured for alternate 1 Wire J6 Configuration Options 46 serial pinout not stuffed P 24 J1 is configured for Digi 1 Wire serial pinout BL4S100 User s Manual 116 Table A 2 BL4S100 Jumper Configurations continued Header Description Pins Connected Pics None Voltage Option x 10 A D Converter Voltage Current Measurement Options 1 2 AIN2 4 20 mA option 5 6 AIN3 4 20 mA option None Voltage Option x nel A D Converter Voltage Current Measurement Options 1 2 AINO 4 20 mA option 5 6 AIN1 4 20 mA option 1 2 Inputs pulled up to K J13 Digital Inputs INO IN11 Pull 4 6 Inputs pulled down to GND Up Options 5 6 Inputs pulled up to 5 V x The location at J1 provides a stuffing option to support an RJ 45 jack instead of the screw terminal header at J5 This option is reserved for future use BL4S100 User s Manual 117 A 3 Use of Rabbit Microprocessor Parallel Ports Table A 3 lists the Rabbit microprocessor parallel ports and their use in the BL4S100 boards Table A 3 Use of Rabbit Microprocessor Parallel Ports Port V0 Signal Initial State PAO PA7 T O Rabbit RIO D0 D7 Bus data line PBO Output PBO SCLKB Inactive high PB1 Input PB1 SCLKA Driven by U12 PB2 Output Rabbit RIO PI PB3 PB5 Output Rabbit RIO CHO CHA2 Bus address line PB6 Output Rabbit RIO CS
78. firmware version used by the Digi XBee USB must correspond to the firmware version installed on the BL4S100 BL4S 150 If you have updated the BL4S100 BL4S150 firm ware or you have a need to re install the firmware on the Digi XBee USB the corre sponding firmware for the Digi XBee USB is in the Dynamic C Utilities X CTU MODEMFW folder Remember to record the extended PAN ID NI and other parameters you are using Firmware of the type XB24 ZB_21 zip is used for the Digi XBee USB coordinator CAUTION Different firmware versions are likely to interact with the Dynamic C libraries in different ways Rabbit has tested the firmware associated with a particular version of Dynamic C for correct operation and only this version is included on the Dynamic C CD ROM do not use any other firmware versions with that version of Dynamic C Start X CTU from the desktop icon and set the PC Settings tab to 115200 baud HARDWARE flow control 8 data bits parity NONE 1 stop bit On the PC Settings tab check the Enable API box under Host Setup On the PC Settings tab select the USB Serial Port and click Test Query You should see a response showing the Modem Type XB 24 B and the firmware version Click OK Note that several USB serial ports could be listed If you select a serial port without the Digi XBee USB connected the X CTU response to Test Query will be communi cation
79. function call PARAMETERS channel digital input channel that uses the desired counter block 0 11 pins INO IN11 limit new value for the limit register RETURN VALUE 0 success EINVAL invalid parameter value EPERM pin type does not permit this function SEE ALSO brdiInit setCapture resetCounter BL4S100 User s Manual 59 setSyncIn int setSyncIn int channel int source int edge FUNCTION DESCRIPTION Sets the synch for the block the digital input channel is associated with Note that when more than one block is synchronized to the same synch signal global or external each block has its own independent edge detection circuit These circuits will synch to the edge within plus or minus one count of the block s current clock source main or prescale This means synchronized blocks may have a small offset when compared to each other PARAMETERS channel digital input channel that is on the block that will have its synch set 0 11 pins INO IN11 source source of the synch signal 1 to use the RIO chip s Global Synch signal or input capable channel to use as an external synch signal edge edge of the synch signal BL_EDGE_RISE synchronize event on rising edge BL_EDGE_FALL synchronize event on falling edge BL_EDGE_BOTH synchronize events on both edges 0 disable the synch on this block if the source of the external synch is given it will be set to a digital input RETURN VAL
80. gramming port on the BL4S100 does not need to be the PC with the Ethernet card 3 Apply Power Plug in the AC adapter The BL4S100 is now ready to be used NOTE A hardware RESET is accomplished by unplugging the AC adapter then plug ging it back in or by pressing the RESET button located next to the Ethernet jack When working with the BL4S 100 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 BL4S100 User s Manual 96 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 BL4S100 together on the same network This network can be a local private network pre ferred for initial experimentation and debugging or a connection via the Internet 5 2 1 How to Set IP Addresses in the Sample Programs With the introduction of Dynamic C 7 30 we have taken steps to make it easier to run many of our sample programs You will see a TCPCONFIG macro This macro tells Dynamic C to select your configuration from a list of default configurations You will have three choices when you encounter a sample program with the TCPCONFIG macro 1 You can replace the TCPCONFIG macro with individual MY_IP_ADDRESS MY_NETMASK MY_GATEWAY and MY_NAMESERVER macros i
81. how to interact with nodes on a wireless ZigBee network through a Web interface Before you compile and run this sample program set up a ZigBee network based on boards with the XBee RF module The sample program provides configuration recom mendations for RF Interface Boards from the Mesh Network Add On Kit and other boards Use the X CTU utility to configure these boards as end devices with the same PAN ID BL4S100 User s Manual 109 Once the sample program is compiled and running open your PC Web browser 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 The Web browser will display the network and the individual boards on the network You can use the Web browser to control the boards Note that the XB24 ZB_ 2x40 firmware allows you to set digital outputs on all node types but analog and digital inputs can only be read on end devices BL4S100 User s Manual 110 6 3 Dynamic C Function Calls Function calls for use with the XBee RF modules are in the Dynamic C LIB Rabbit4000 XBee XBEE_API LIB library These ZigBee specific function calls are described in An Introduction to ZigBee which is included in the online documentation set 6 4 Where Do I Go From Here NOTE If you purchased your BL4S100 BL4S 150 through a distributor or through a Rabbit partner contact the d
82. 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 Pood Begin End Count Count Channel 0 Channel 1 f f Start End Event Event The counter readings can be obtained via the getBegin or getEnd function calls BL4S100 User s Manual 21 3 2 2 Digital Outputs The BL4S100 has eight digital outputs OUTO OUT7 which can each sink up to 200 mA Figure 8 shows a wiring diagram for using the sinking digital outputs SINKING OU
83. iee 45 ADC_CAL_DIFF C 45 ADC_CAL_ MAC 45 ADC_CAL_SE_UNIPO LAR GC ereite 45 ADC_RD_CALDATAC 46 ADC_RD_DIFF C 46 ADC_RD_MAC 46 digital I O DIGIN_BANK C 37 DIGIN C 37 100 101 DIGOUT_BANKC 38 DIGOUT C 38 INTERRUPTS C 39 PPM_QUADRATURE __ DECODER C 42 PPM G f0 Sa85 Sik 23 39 PULSE_CAPTURE_IRQ C 40 PULSE_CAPTURE C 39 PWM C cee eeeeeees 23 40 QUADRATURE_DECOD ERC ahanenn 41 how to set IP address 97 PONG G aea in 14 real time clock RTC_TEST C 46 SETRTCKB C 46 save retrieve calibration con stants voces 16 29 45 serial communication COMPUTER_PARITY C 43 COMPUTER3WIRE C 44 COMPUTERSWIRE C 44 PARITY C oe 43 SIMPLE3WIRE C 43 SIMPLESWIRE C 43 TERR Kiinnos 46 97 PINGME C cece eeeee 99 USERBLOCK_READ _ WRITE C 16 29 45 XBee module AT_INTERACTIVE C 15 BL4S100 User s Manual 140 108 134 136 AT_RUNONCE CC 108 MODEMFWLOAD C 134 135 SLEEP C iiris eiss 109 XBEE_GPIO_SERVER C 105 109 XBEE_WEB_GATE WAY C cies icieesnes 109 ZigBee seiniin 46 ZigBee setup ee 104 serial communication 25 function calls serMode ceceeseeeeeee 79 programming port 25 RS 232 description 25 serial ports Ethernet port 26 SetuP arre aE a sk 11 power supply c
84. 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 e Programming debugging e 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
85. ing 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 e Locate the Serial Options dialog on the Communications tab in the Dynamic C Options gt 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 e Locate the Serial Options dialog on the Communications tab in the Dynamic C Options gt Project Options menu Choose a lower debug baud rate Click OK to save Press lt Ctrl Y gt to force Dynamic C to recompile the BIOS You should receive a Bios compiled successfully message once this step is completed successfully BL4S100 User s Manual 14 2 4 2 Run a ZigBee Sample Program BL4S100 BL4S150 only 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 U
86. ipolar differential bipolar 1 2 2 5 5 10 20 V DC 4 channels can be hardware configured for 4 20 mA 1 MQ input impedance up to 4 100 samples s Serial Ports 3 serial ports e two RS 232 or one RS 232 with CTS RTS e one serial port dedicated for programming debug Serial Rate Max asynchronous rate 250kbps Max synchronous rate 1 MB s Hardware Connectors Micro Fit connector one polarized 2 x 2 with 3 mm pitch power Screw terminal connectors accept up to 14 AWG 1 5 mm wire four 1 x 9 I O one 1 x 6 serial Programming port 2 x 5 IDC 1 27 mm pitch Ethernet Network Connector One RJ 45 Ethernet Real Time Clock Yes Ten 8 bit timers 6 cascadable 3 reserved for internal peripherals Timers one 10 bit timer with 2 match registers Watchdog Supervisor Yes Power 9 36 V DC 2 W max Operating Temperature 40 C to 85 C BL4S100 User s Manual 114 Table A 1 BL4S100 Specifications continued Feature BL4S100 BL4S110 BL4S150 BL4S160 Humidity 5 95 noncondensing par i 2 ZigBee RF Module RF Module Digi XBee Series 2 Compliance ZigBee PRO 802 15 4 A 1 1 Exclusion Zone It is recommended that you allow for an exclusion zone of 0 25 6 mm around the BL4S100 in all directions when the BL4S100 is incorporated into an assembly that includes other components This exclusion zone tha
87. is connected to and set the default serial parameters Bits per second 115200 Data bits 8 Parity None BL4S100 User s Manual 43 Stop bits 1 Flow control None Once you compile and run this program configure the serial port using the following menu options in the Dynamic C STDIO window Menu q Quit s Send Sample Text r Reset Counters n Set No Parity e Set Even Parity o Set Odd Parity Type in the Hyperterminal window to send characters to the sample program The char acters typed will be echoed in the terminal emulation program and will be displayed on the top of the Dynamic C STDIO window with a message displaying whether there was an error or not There may be some differences for special characters such as new lines enter key delete backspace and others Each character sent will also increment either the successful or the error counter depending on the parity of both the BL4S100 and the terminal emulation program e COMPUTER3WIRE C This sample program demonstrates basic initialization for a sim ple three wire RS 232 connection Characters typed in either the Dynamic C STDIO window or in a serial terminal emulation program are echoed in both displays The setup and run instructions are the same as for the COMPUTER_PARITY C sample program e COMPUTER5SWIRE C This sample program demonstrates basic initialization for a sim ple five wire RS 232 connection Characters type
88. istributor or partner first for technical support If there are any problems at this point e Use the Dynamic C Help menu to get further assistance with Dynamic C e Check the Rabbit Technical Bulletin Board and forums at www rabbit com support bb and at www rabbit com forums e 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 An Introduction to ZigBee provides background information on the ZigBee protocol and is available on the CD and on our Web site Digi s XBee Series 2 OEM RF Modules provides complete information for the XBee RF module used on the BL4S100 BL4S150 provides background information on the ZigBee PRO protocol and is available at ftp1 digi com support documentation 90000976_a pdf BL4S100 User s Manual 111 APPENDIX A SPECIFICATIONS Appendix A provides the specifications for the BL4S 100 BL4S100 User s Manual 112 A 1 Electrical and Mechanical Specifications Figure A 1 shows the mechanical dimensions for the BL4S 100 0 125 dia x 4 3 2 ee E E Tr Fe oN oag ES r LE g dT kiaii ie iii aml ai anna 1 Sly a Hiie ai E i i pa See aE H a RJ 45 jack extends 0 12 3 1 mm past edge of board Micro Fit connector extends 0 11 2 7 mm past edge of board 3 00 76 3 75 96
89. lid parameter value EPERM pin type does not permit this function EACCES resource needed by this function is not available EFAULT internal data fault detected positive number Mode Conflict the positive number is a bitmap that corresponds to the pins on a particular block of a RIO chip that have not been configured to support this function call Appendix D provides the details of the pin and block associations to allow you to identify the channels that need to be reconfigured to support this function call SEE ALSO brdiInit setFreq setOffset setDuty setSyncIn setSyncOut pulseEnable pulseDisable setPWM BL4S100 User s Manual 68 setFreq int setFreq int channel float frequency FUNCTION DESCRIPTION Sets the frequency of all the PWM or PPM outputs on the same block as the channel Will preserve the duty cycle and offset percentages for all of the channels on the same block Repeated calls to this function by itself may cause the duty cycle and offset values to drift If this drift is of concern call setOffset and setDuty to reset the duty cycle and offset to the desired value PARAMETERS channel all digital output channels on the same RIO chip and block as this channel 0 7 OUTO OUT7 will have their frequency set Duty cycle and offset percentages will be maintained frequency frequency of the PWM and PPM outputs should be from 2 Hz to 50 kHz Use 1 to preserve the existing freq
90. ltering All 8 external inputs are scaled and filtered to provide the user with an input impedance of 1 MQ 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 ADC AINO AIN1 AGND 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 B Voltage Range Amplifier Gain Single Ended Differential Unipolar Bipolar 1 0 20 V 20 V 2 0 10 V 10 V 4 0 5 V 5 V 5 0 4 V 4V 8 0 2 5 V 2 5 V 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 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
91. lue EPERM pin type does not permit this function EACCESS resource needed by this function is not available EFAULT internal data fault detected positive number Mode Conflict the positive number is a bitmap that corresponds to the pins on a particular block of a RIO chip that have not been configured to support this function call Appendix D provides the details of the pin and block associations to allow you to identify the channels that need to be reconfigured to support this function call SEE ALSO brdInit getBegin getEnd getCounter resetCounter BL4S100 User s Manual 56 getCounter int getCounter int channel word count FUNCTION DESCRIPTION Reads the current count of the counter register within the counter block hosting the given channel PARAMETERS channel digital input channel that uses the desired counter block 0 11 pins INO IN11 count pointer to word variable to place count register reading RETURN VALUE 0 success EINVAL invalid parameter value SEE ALSO brdInit setCounter setDecoder setCapture resetCounter getBegin int getBegin int channel word begin FUNCTION DESCRIPTION Reads the current value of the begin register within the counter block hosting the given channel PARAMETERS channel digital input channel that uses the desired counter block 0 11 pins INO IN11 begin pointer to word variable to place begin register reading RETURN VALUE
92. lue 0 success EINVAL invalid parameter ERR_ANA_CALIB error writing calibration constants SEE ALSO brdInit anaInConfig anaIn anaInmAmps anaInDiff anaInVolts BL4S100 User s Manual 82 anaIn int anaIn int channel int gaincode FUNCTION DESCRIPTION Reads the state of an A D converter input channel PARAMETERS channel analog input channel number 0 to 7 corresponding to AINO AIN7 channel Single Ended Differential 4 20 mA 0 AINO AINO AIN1 AINO 1 AIN1 AIN1 2 AIN2 AIN2 AIN3 AIN2 3 AIN3 AIN3 4 AIN4 AIN4 AIN5 5 AIN5 6 AIN6 AIN6 AIN7 7 AIN7 gaincode the gain code of 0 to 7 use a gain code of 4 for 4 20 mA operation Value Range Voltage Gain Code Macro Single Ended Differential Range Unipolar Bipolar 0 GAIN_X1 0 20 V 20V 0 20 V 1 GAIN_X2 0 10 V 10V 0 10 V 2 GAIN_X4 0 5 V 5V 0 5 V 3 GAIN_X5 0 4 V 4V 0 4 V 4 GAIN_X8 0 2 5 V 2 5 V 0 2 5 V 5 GAIN_X10 0 2 V 2 V 0 2 V 6 GAIN_X16 0 1 25 V 1 25 V 0 1 25 V 7 GAIN_X20 0 1 V 1V 0 1 V BL4S100 User s Manual 83 anaIn continued RETURN VALUE A value corresponding to the voltage on the analog input channel 0 2047 for 11 bit A D conversions or a value of BL_ERRCODESTART or less to indicate an error condition A D converter operation errors will not create run time error BL_TIMEOUT
93. mer that removes the message is reset so you can keep the message on the screen indefinitely by pressing the button repeatedly PPM C Demonstrates the use of up to eight PPM channels on the digital output pins on headers J3 and J4 The PPM signals are set for a frequency of 200 Hz with the duty cycle adjustable from 0 to 100 and an offset adjustable from 0 to 100 by the user These pins can be connected to an oscilloscope to view the waveform being generated The overall frequency can be adjusted in the define PPM_FREQ line Follow these instructions when running this sample program 1 The digital outputs on the BL4S100 do not have an internal pull up resistor and will not register on the oscilloscope without a pull up resistor The Demonstration Board has pull up resistors connect OUTO OUT3 on the BL4S100 to SW1 SW4 on header J1 of the Demonstration Board 2 Connect the oscilloscope probe to digital output pins OUTO OUT3 on headers J3 or J4 Remember to connect the oscilloscope ground to GND on header J4 Once you compile and run the sample program change the duty cycle and offsets for a given PPM channel via the Dynamic C STDIO window and watch the change in wave forms on the oscilloscope Signals on OUTO and OUT1 will all be synchronized with each other as they share the same overall counter block that sets the cycle frequency The same is true for PPM signals on OUT2 and OUT3 and the remaining digital outputs when you c
94. n error will occur if Direct Mode bit D7 is not set PARAMETER cmd The cmd parameter contains a gain code and channel code and the MSB is set high for direct mode access The format is as follows D7 D6 D4 D3 D0 1 gain_code channel_code Use the following calculation and tables to determine cmd cmd 0x80 gain_code lt lt 4 channel_code gain_code Multiplier 0 1 1 2 2 4 3 5 4 8 5 10 6 16 7 20 BL4S100 User s Manual anaInDriver continued RETURN VALUE channel_code p iiorenmal channel_code Sing Ie Ended mA Input Lines Input Lines Input Lines 0 AINO AIN1 8 AINO AINO 1 AIN2 AIN3 9 AIN1 AIN1 2 AIN4 AINS 10 AIN2 AIN2 3 AIN6 AIN7 11 AIN3 AIN3 4 Reserved 12 AIN4 Reserved 5 Reserved 13 AIN5 Reserved 6 Reserved 14 AIN6 Reserved 7 Reserved 15 AIN7 Reserved A value corresponding to the voltage on the analog input channel which will be either in the range 2048 2047 or an error code of BL_ERRCODESTART or less as follows BL_TIMEOUT conversion incomplete busy bit timeout BL_OVERFLOW overflow or out of range System errors can create run time error unless disabled ERR_ANA_INVAL invalid parameter value SEE ALSO anaInConfig anaIn brdInit BL4S100 User s Manual 93 4 4 6 SRAM Use The BL4S100 has a battery backed data SRAM and a program execution SRAM
95. n each program 2 You can leave TCPCONF IG 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 to10 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 BL4S100 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_CONF IG LIB library You will find this library in the LIB TCPIP directory 3 You can create a CUSTOM_CONFIG LIB library and use a TCPCONFIG value greater than 100 Instructions for doing this are at the beginning of the TCP_CONFIG LIB library in the LIB TCPIP directory There are some other standard configurations for TCPCONFIG that let you select differ ent features such as DHCP Their values are documented at the top of the TCP_CONFIG LIB library in the LIB TCPIP directory More information is available in the Dynamic C TCP IP User s Manual BL4S100 User s Manual 97 5 2 2 How to Set Up your Computer for Direct Connect Follow these instructions to set up your PC or notebook Check with your administrator if you are unable to change the settings as described here since you may need administrator privileges The instructions are specifically for Windows 2000 but the interface is similar for other versions of Windows TIP If you are using a PC that is already on a network you will
96. naInVolts continued RETURN VALUE A voltage on the analog input channel or a value of BL_LERRCODESTART or less to in dicate an error condition A D converter operation errors will not create run time error BL_NOT_cCAL A D converter is not calibrated for this channel gain BL_OVERFLOW A D converter overflow BL_TIMEOUT A D converter timeout BL_WRONG_MODE A D converter is in wrong mode run anaInConfig System errors can create run time error unless disabled ERR_ANA_CALIB fault detected in reading calibration facto r ERR_ANA_INVAL invalid parameter value SEE ALSO brdInit anaInConfig anaIn anaInmAmps anaInDiff anaInCalib BL4S100 User s Manual 86 float anaInDiff int channel FUNCTION DESCRIPTION Reads the state of a differential A D converter input channel and uses the previously set calibration constants to convert it to volts Voltage ranges given in the table below are the nominal ranges that will be returned However values outside these ranges can of anaInDiff int gaincode ten be seen before the return of a BL_OVERFLOW error If the gain code for a given channel has changed from the previous cycle the user block will be read to get the calibration constants for the new gain value PARAMETERS channel the analog input channel number 0 2 4 6 as shown below channel _ Differential Inputs
97. nd the Digi XBee USB with the default settings if you are working simultaneously with more than one ZigBee coordinator Section 6 2 2 explains how to set up the BL4S100 BL4S150 configuration patterns for the sample programs via macros in the Dynamic C LIB Rabbit4000 XBee XBEE_API LIB library folder Channel mask defaults to Ox1 FFE i e all 16 possible channels via the macro in the Dynamic C LIB Rabbit4000 XBee XBEE_API LIB library tdefine DEFAULT_CHANNELS ZB DEFAULT CHANNELS For example to limit the channels to three channels the macro would read as follows tdefine DEFAULT_CHANNELS 0x000E Extended PAN ID the 64 bit network ID Defaults to DEFAULT_PANTD if set in the Dynamic C LIB Rabbit 4000 XBee XBEE_API LIB library otherwise defaults to 0x0123456789abcdef to match the default used on the Digi XBee USB If set to 0x00 tells coordinators to select a random extended PAN ID and tells routers and end devices to join any network Change the extended PAN ID if you are developing simultaneously with more than one ZigBee coordinator tdefine DEFAULT_EXTPANID 0x0123456789abcdef The same configurations must then be applied to the Digi XBee USB via Digi s X CTU utility If you have not previously used this utility install it from the Dynamic C Utilities x cCTU folder by double clicking Setup_x ctu exe BL4S100 User s Manual 135 Continue the following steps with the Digi XBee USB connected to your
98. nsoveessvs stessenvteassersetieotovsnsstenscvescevennsvestiveasenesssvestoveeeserateedesensdees 25 9 3 3 AoE EAA ROT EEA A cc vans vec ones betvensieabedesncdscsvenstecassennevanes a A A E 26 3 4 AMD Converter Inputs eneeier oeeie eane E RENNET EEEE EREE OEE TE ADe EEEE TREE RESENA NEEKIN 27 3 41 A D Converter Calibration ssnin esae E aE E E E E See E i 29 3 3 USB Programming Cable accsssssseiisisscesscsveccsceatevssctigevesstedecs eenegen rore seee R E EPOR E EEES EE ESEE ESETERE 30 3 5 1 Changing Between Program Mode and Run Mode ssesseeseeesseesesseessrssrrsressrssrssrrssrssresressessees 30 3 0 Other Hard Wane sig lt saesccostecsecszse canes faves acute satesases cieustedteence sce sucegstes daveencueuscueustvenaeacvsteescuseteues sausecauoeesasvaes 31 JGA Clock Doublet 3 sices e033 Se Shy ares Ge casceees easel eas eos Ae kas Neer ee ined iS 31 3 6 2 Spectrum Spreader isvcsssceescivzersdeseveessvendshecssseavuacassevetagessecensedenteewabedecsvdenivieesntertadensceveoeddabeatnsbeceteee 31 3T Memory seseissciviwntavieiaiesivevecteesancotseccounsanesceuseestenseauteatesnpuesdoesanenbseveveiicesduvelaventancessvuat ontede satesdessenageds 32 TW SRAM ees secre cack E Sota E E obese te deo tata ta nunca E Heea iacasts nas taee teas 32 3 7 2 Flash MCMOLy stecscivesincastvsccttvesctaaetvdevaes sacueesspagstvdesetededebassubessuesssvec sobeonsedetesessasautess srocbedasstelates 32 3 13 VBAT RAM Memory a ciscucccticcsdscscttes tecsctavacd sei aE E
99. nter to force a reset of the counter PARAMETERS channel mode edge options channel to use for the up count input 0 11 pins INO IN11 macro to set the mode of the counter BL_UP_COUNT continuous up count mode BL_DOWN_COUNT up down count mode uses 2 pins BL_MATCH_ ENABLE continuous up count mode with count stopping on any match event edge setting macro for the up count event BL_EDGE_RISE up count on rising edge BL_EDGE_FALL up count on falling edge BL_EDGE_BOTH up count on either edge options based on mode N A if the continuous up mode is selected BL_EDGE_RISE down count on rising edge BL_EDGE_FALL down count on falling edge BL_EDGE_BOTH down count on either edge If the up down mode is selected options has down count channel and event edge settings these settings cannot be on the same pin as the up count ORed together The low 4 bits are the channel num ber for the down count input If the BL_MATCH ENABLE mode is selected options has the match count to stop at other match registers on the block are set to max BL4S100 User s Manual 53 setCounter continued RETURN VALUE 0 success EINVAL invalid parameter value or pin use EPERM pin type does not permit this function EACCESS resource needed by this function is not available EFAULT internal data fault detected positive number Mode Conflict the positive number is a
100. o find the latest firm ware for the XBee RF module and the Digi XBee USB used as the ZigBee coordinator and how to install the firmware F 1 XBee Module Firmware Downloads By default the BL4S100 BL4S 150 is shipped from the factory with firmware to operate as a router in a mesh network You will need to run the MODEMFWLOAD C sample program in the Dynamic C SAMPLES XBEE folder to download the firmware needed to operate the BL4S100 BL4S 150 as a coordinator or as an end device NOTE You can verify the firmware version by running the AT_INTERACTIVE C sam ple program in the Dynamic C SAMPLES XBEE folder and by entering the command ATVR lt Enters gt to get the version number displayed in the Dynamic C STDIO window CAUTION Different firmware versions are likely to interact with the Dynamic C librar ies in different ways Rabbit has tested the firmware associated with a particular version of Dynamic C for correct operation and only this version is included on the Dynamic C CD ROM do not use any other firmware versions with that version of Dynamic C Once you have successfully loaded the firmware compile and run another sample program to make sure the MODEMFWLOAD C sample program does not inadvertently reload or partially reload the firmware If you are uploading firmware because you upgraded to a more recent Dynamic C release remember to recompile your applications using the new version of Dynamic C once you have uploaded the ne
101. o vary the voltage at V_ALT from 0 V to V Figure C 5 shows the location of the adjustable output voltage and the potentiometer Figure C 5 Location of Adjustable Output Voltage BL4S100 User s Manual 125 APPENDIX D RABBIT RIO RESOURCE ALLOCATION Appendix D provides the pin and block associations on the Rabbit RIO chip with their corresponding I O on the BL4S100 boards The main shared resource within the RIO chips are the counter timer blocks the RIO chip has eight counter timer blocks A given block is defined by the block number The tables in this appendix provide a quick reference of which block is used by each input and or output pin on the BL4S100 board BL4S100 User s Manual 126 D 1 Digital I O Pin Associations Table D 1 Digital O Pin Associations I O Pin Block Pin INO IN1 IN2 0 1 IN3 IN4 IN5 me OoO 1n IN6 IN7 OUTO OUTI pe oO N IN8 IN9 OUT2 OUT3 OUT4 OUTS OUT6 OUT7 Co wl N i IN10 IN11 Olojo N S N IN BL4S100 User s Manual 127 D 2 Interpreting Error Codes Some BL4S100 function calls may return a Mode Conflict error code This error code is a 4 bit value that identifies other pins using the same counter timer block on a RIO chip that require this block to be in a mode that conflicts with the functionality that has already been
102. odule used by the BL4S100 and the BL4S150 operates in the 2 4 GHz industrial scientific and medical ISM radio band in most jurisdictions worldwide The ZigBee protocol is ideal for embedded system applications that are characterized by low data rates and low power consumption A network of devices using the ZigBee proto col works via a self organizing mesh network that can be used for industrial control embedded sensors data collection home security and building automation The power consumption of the individual device could be met for a year or longer using the originally installed battery A ZigBee device can be set up in one of three ways e As a coordinator The coordinator serves as the root of the network tree Each network can only have one coordinator The coordinator stores information about the network and provides the repository for security keys The coordinator starts a ZigBee network and then acts as a router once that network is started e Asa router Routers pass data from other devices e As an end device End devices contain just enough functionality to talk to their parent node either the coordinator or a router and cannot relay data from other devices BL4S100 User s Manual 103 The XBee RF module used by the BL4S100 and the BL4S150 presently supports using them in a mesh network BL4S100 and the BL4S150 boards are preconfigured with ZB router firmware coordinator and end device firmware are included
103. ollowing EN55024 1998 immunity standards e EN61000 4 3 Radiated Immunity e EN61000 4 4 EFT e 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 e EN55022 1998 Class B e 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 BL
104. onnect them to J1 on the Demonstration Board instead of those already connected The two blocks may have a phase shift from each other but will run at the same frequency e PULSE_CAPTURE C Demonstrates the use of two input capture inputs tied to PPM channels on the digital I O pins on header J3 The input capture feature allows the begin and end positions of a pulse to be measured in a given time window We take advantage of the counter synchronization feature of the underlying Rabbit RIO chip to create cap ture windows and pulse modulation windows that are synchronized This guarantees that we always catch the begin edge first on a quickly repeating waveform This was done to create an interactive element to this sample program but capturing real world repetitive signals will usually not have this advantage Refer to Appendix D for more information on how to use the input capture feature Follow the instructions below when running this sample program 1 Connect I O pins INO and OUTO together 2 Connect I O pins IN3 and OUT2 together at ea 3 Connect the oscilloscope ground to GND on header J3 Lad CA 4 Use the oscilloscope probes on the INO and the OUTO pair or the RS AG S 5 J3 IN3 and OUT pair to view the PPM signals BL4S100 User s Manual 39 Once the connections have been made compile and run this sample program Change the offset and duty cycle for a given PPM channel via the Dynamic C STDIO window and watch the chang
105. onnections 11 SOWAT n aenea 7 HDTATIES nnn 47 BL4S100 oe 47 BL4S1xx LIB oo 47 PACKET LIB ooeec 79 RS232 LIB sisse tres 79 TEPAP adna 47 ZAR BOC enuas 47 Mode Conflict error codes n s 128 RIO pin block assocations 127 sample programs 36 PONG sisisec nessa ciess 14 specifications BLAS 100 dimensions 113 electrical erisa 114 exclusion zone 115 NE AML ciiir 115 temperature 114 plastic enclosure dimensions 0 133 spectrum spreader SCttINYS eect eee 31 subsystems 00 0 eeeeeeeecereeeeee 17 T tamper detection 0 0 32 TCP IP connections 95 96 10Base T Ethernet card 95 additional resources 102 Ethernet hub eee 95 SLEDS rure A dovbeceeeues 95 TOOL Kit onroute ereiten 6 AC adapter w eee eee 6 DC power supply 6 Demonstration Board 6 Dynamic C software 6 programming cable 6 SOFTWALE ciasne 6 User s Manual 000 6 U user block function calls readUserBlock 32 writeUserBlock 32 save retrieve calibration con stants wees 16 29 45 V VBAT RAM memory 32 X XBee module additional resources 111 firmware download 134 Z ZigBee protocol coordinator eeeeeeeeeeeeeeeee 103 end devyice esesessseeseeee 103 introduction eeeeeeseeeeeeee 103 mesh network 104 TOUET o
106. or at J17 The BL4S100 is protected against reverse polarity by a diode at D27 as shown in Figure B 1 LINEAR POWER REGULATOR 433 RAW SWITCHING POWER REGULATOR ay a ed LM1117T A 1 A 1 u17 4 3 U10 EE B240 Q 093 C48 1 BEC 25 47 UF sasl 710 pF 710 pF L LM2576 mie l R ih B240 330 uF LINEAR POWER REGULATOR 18v TPS76918 1 U16 45 2 m 710 uF Figure B 1 BL4S100 Power Supply The input voltage range is from 9 V to 36 V A switching power regulator is used to provide 5 V for the BL4S100 logic circuits In turn the regulated 5 V DC power supply is used to drive regulated 1 8 V and 3 3 V power supplies 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 Q resistor R63 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 a screw terminal header at J15 BL4S100 User s Manual 120 B 2 Batteries and External Battery Connections The SRAM and the real time clock on the BL4S100 modules have battery backup Power to the SRAM and the real time clock VRAM is provided by two different sources depending on whether the main part of the BL4S100 is powered
107. or not When the BL4S 100 is powered normally and the 3 3 V supply is within operating limits the SRAM and the real time clock are powered from the 3 3 V supply If power to the board is lost or falls below 2 93 V the VRAM and real time clock power will come from the battery The reset generator circuit controls the source of power by way of its RESET output signal A replaceable 235 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 typi cally less than 10 uA when there is no external power applied to the BL4S100 and so the expected shelf life of the battery is 235 mA h 10 WA 2 7 years The actual battery life in your application will depend on the current drawn by components not on the BL4S100 and on the storage capacity of the battery The BL4S100 does not drain the battery while it is powered up normally B 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 CR2032 or equiv alent 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 BL4S100 Exercise care if you replace the battery while external power is applied to the BL4S
108. page The sample program uses an IFRAME invisible frame to refresh the I O readings every two seconds Since the Web browser does not have to re render the entire page updates are quick and flicker free Once the sample program is compiled and running open your PC Web browser 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 Now use a wire to touch 5 V from header J4 on the BL4S100 to the various digital and analog inputs on header J3 J15 and J16 e SMTP C Uses the SMTP library to send an e mail when a pushbutton switch on the Demonstration Board is pressed e TELNET C Allows you to communicate with the BL4S100 using the Telnet protocol This program takes anything that comes in on a port and sends it out Serial Port D and displays the content in the Dynamic C STDIO window It uses a digital input to indicate that the TCP IP connection should be closed and a digital output to toggle an LED to indicate that there is an active connection Once the sample program is compiled and running start the Telnet program on your PC Start gt Run telnet 10 10 6 100 As long as you have not modified the TCPCON FIG 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
109. pen it with the File menu if it is not still open then compile and run it by pressing F9 The BL4S100 must be in Program mode see Section 3 5 USB Programming Cable and must be connected to a PC using the programming cable as described in Section 2 1 BL4S100 Connections See Appendix C for information on the power supply connections to the Demonstration Board Complete information on Dynamic C is provided in the Dynamic C User s Manual TCP IP specific functions are described in the Dynamic C TCP IP User s Manual which is included in the online documentation set Information on using the TCP IP features and sample programs is provided in Chapter 5 Using the Ethernet TCP IP Features ZigBee specific functions are described in An Introduction to ZigBee which is included in the online documentation set Information on using the TCP IP features and sample pro grams is provided in Chapter 6 Using the ZigBee Features BL4S100 User s Manual 36 4 2 1 Digital I O The following sample programs are found in the SAMPLES BL4S1xx DIO0 subdirectory Figure 14 shows the signal connections for the sample programs that illustrate the use of the digital inputs EMO HEADERS J3 amp J4 BL4S100 JP3 JP4 Titi ooo IO OO OfO 0 0 OF Qo m OO Of 0 OO TooToo oo 6 LEDI LED2 LED
110. puts from this block This illustrates how the Mode Conflict error code can be used to identify the pin functions that cannot mix together on the same RIO block The tables in this appendix are useful for both finding the cause of mode conflicts and for planning which pins to use for which functions to avoid conflicts in the first place Notice that there is a pattern to the block sharing of certain I O pins The first six digital input pins INO INS have blocks shared across four inputs These are the only pins that can support functions such as Quadrature Decoder inputs with an independent index based reset The next group of eight digital I O pins IN6 IN9 and OUTO OUTS3 share blocks among their digital I O pairs bringing both the input and output functionality of these pins into the same block This allows PWM or PPM outputs that can be used with an external synchronization signal It would also allow synchronization of a pulse capture response to a PWM based output pulse The last remaining I O pins have nonshared RIO blocks available for both the input and output functionality making these pins ideal for single pin functions requiring a counter timer BL4S100 User s Manual 128 Table D 2 shows all counter timer modes of the RIO block and which functions can use the given modes The use of synch signals is allowed with all the functions but does affect the timer counter so it may have an adverse affect on functions marked with
111. r You may add a shortcut to the ZigBee Utility on your desktop BL4S100 User s Manual 105 5 Confirm the following hardware setup is displayed on the PC Settings tab e 115200 baud e Hardware flow control e 8 data bits e No parity e 1 stop bit Now select the COM port the Digi XBee USB is connected to and click the Open Com Port button The message Radio Found is displayed to indicate that you selected the correct COM port The ZigBee parameters firmware version operating channel PAN ID for the Digi XBee USB will be displayed in the Radio Parameters box Go to Control Panel gt System gt Hardware gt Device Manager gt Ports on your PC if you need help in identifying the USB COM port 6 Any ZigBee devices discovered will be displayed in the Devices Discovered window to the right If the utility times out and no ZigBee devices are displayed you will have to reconfig ure the Digi XBee USB and recompile the sample program once you make sure the BL4S100 BL4S150 is powered up The timeout may occur if you are doing develop ment simultaneously with more than one ZigBee coordinator Appendix F explains the steps to reconfigure the Digi XBee USB BL4S100 User s Manual 106 7 Select a device with your mouse pointer and click on the selected device to select that device This device will now be displayed in the Selected Device area E XBEE GPIO GUI hes
112. red to support this function call SEE ALSO brdInit digIn setDigIn BL4S100 User s Manual 51 setDecoder int setDecoder int channel_a int channel_b int channel_index char index_polarity FUNCTION DESCRIPTION Sets up Quadrature Decoder functionality on the specified channels The Quadrature Decoder may optionally use an index channel PARAMETERS channel_a channel to use as Input A also known as in phase or J 0 11 pins INO IN11 channel_b channel to use as Input B also known as quadrature or Q 0 11 pins INO IN11 channel_index channel to use as index input 1 if not used 0 11 pins INO IN11 NOTE The Quadrature Decoder count may still be reset by existing or new synch signals set up on the same block of a particular RIO chip index_polarity polarity of the index channel not used when channel_index set to 1 0 index on low level non zero index on high level RETURN VALUE 0 success EINVAL invalid parameter value EACCESS resource needed by this function is not available SEE ALSO brdInit getCounter resetCounter BL4S100 User s Manual 52 setCounter int setCounter int channel int mode int edge word options FUNCTION DESCRIPTION Sets up the channel as a counter input with selectable modes and edge settings The counter will increment or decrement on each selected edge event Use getCounter to read the current count and use resetCou
113. rmit this operation SEE ALSO brdInit setPWM setPPM pulseDisable BL4S100 User s Manual 72 setSyncOut int setSyncOut int channel int source int edge FUNCTION DESCRIPTION Sets the synch for the block the digital output channel is associated with Note that when more than one block is synchronized to the same synch signal global or external each block has its own independent edge detection circuit These circuits will synch to the edge within plus or minus one count of the block s current clock source main or prescale This means synchronized blocks may have a small offset when compared to each other PARAMETERS channel digital output channel that is on the block that will have its synch set 0 7 QUTO OUT7 source source of the synch signal 1 to use the RIO chip s Global Synch signal or input capable channel to use as an external synch signal edge edge of the synch signal BL_EDGE_RISE synchronize event on rising edge BL_EDGE_FALL synchronize event on falling edge BL_EDGE_BOTH synchronize events on both edges 0 disable the synch on this block if the source of the external synch is given it will be set to a digital input RETURN VALUE 0 success EINVAL invalid parameter value EPERM pin type does not permit this function EACCES resource needed by this function is not available EFAULT internal data fault detected SEE ALSO brdInit setSyncIn BL4S10
114. rocess 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 Web sites 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 de
115. rsal AC Adapter 4 with Plugs PROG Screwdriver BL4S100 Getting Started Demo Board Instructions Figure 1 BL4S100 Tool Kit BL4S100 User s Manual 6 1 3 2 Software The BL4S100 is programmed using version 10 44 or later of Rabbit s Dynamic C A com patible version is included on the Tool Kit CD ROM This version of Dynamic C includes the popular uC 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 Web site at www rabbit com 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 e Mesh Network Add On Kit Part No 101 1272 gt Digi XBee USB used as ZigBee coordinator gt XBee Series 2 RF module gt 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
116. rsion of the firmware included with the version of Dynamic C you are using should be of the type 21 5 Now set the networking parameters in your project defines or in the sample program to match the parameters in the Dynamic C LIB Rabbit4000 XBee XBEE_API LIB library Networking D CH Operating Channel this is the operating channel you could see when you ran the AT_INTERACTIVE C sample program in the Dynamic C SAMPLES XBEE folder by enter ing the command ATCH lt Enter gt This channel information cannot be changed from the X CTU utility 0123456789ABCDEF ID Extended Pan ID set the new extended PAN ID that follows Ox to match the DEFAULT_EXTPANID macro 1FFE SC Scan Channels set the new value for the channels to scan E for example to match the new setting in the macro define DEFAULT CHANNELS 0x000E 6 Finish by clicking the Write button F 2 1 Additional Reference Information Check Digi s Web site for the latest information and documentation on the XBee Series 2 module the X CTU utility and the Digi XBee USB Note that the XBee and the XBee BL4S100 User s Manual 136 PRO RF modules are presently not compatible with the XBee Series 2 module used with the BL4S100 BL4S 150 but the general documentation about ZigBee and the use of AT commands for the XBee and the XBee PRO RF modules is relevant BL4S100 User s Manual 137 F 2 2 Update Digi XBee USB Firmware The
117. s 34 battery backup getCounter eee 57 installation eeeeeeee 13 battery life ssese 121 getEnd assececosesseereees 21 58 libraries use of battery backed SRAM getMatch seas sone sages tongs 74 BL4S12xx LIB 47 94 globalSync eee 61 protected variables 94 battery connections 121 pulseDisable 72 Rabbit Embedded Security board initialization pulseEnable seanedidwsnascen 72 Pack ecreis 7 35 function Calls a 48 resetCounter 21 58 standard features brdInit eee eee 48 setCapture 21 55 debugging eee 34 setCounter 21 53 StATtING oo eeeeeeeeeeeseeeeeeeee 14 Cc setDecoder 21 52 telephone based technical sup CE Gen lttGE recusan 8 setDigin EEE 49 POG Aaah 7 35 Be setDigOut oneee 62 upgrades and patches 35 design guidelines 0000 9 SetDUtY oe eee 70 Clock doubler 31 E configurati setExtInterrupt 21 51 BL4S100 setFreq eh Heinen 69 error cod s digital VO sasaaa 19 e assesses 3 Mode Conflict usss 128 Digi XBee USB ZigBee co setOffsetO sree TL Ethernet cables ssssssssseseee 95 Ordinator sseeecccsseeeeeee 135 SE AU yese 24 67 Ethernet connections 95 96 setPWM ooeec 24 65 connections SIEDS oroc ennen 95 Ethernet cable 0 96 setSyncIn ee get ey 60 Ethernet POLE i tstheeseecisce tees 26 setSyncO
118. s offset set 0 7 OQUTO OUT79 offset PPM offset should be from 0 to 100 NOTE A zero offset will produce the smallest offset possible which is one count If you must have a zero offset use set PWM instead of setOffset RETURN VALUE 0 success EINVAL invalid parameter value EPERM channel function does not permit this operation SEE ALSO brdInit setPWM setPPM setFreq setDuty setSyncIn setSyncOut pulseEnable pulseDisable BL4S100 User s Manual 71 pulseDisable int pulseDisable int channel int state FUNCTION DESCRIPTION Disables a PWM PPM output and sets the output to state The pin can be restored to the same PWM PPM operation as before by calling pulseEnable PARAMETERS channel digital output channel that is getting its PWM PPM disabled 0 7 OUTO OUT7 state state that the digital output will be set to 0 or 1 RETURN VALUE 0 success EINVAL invalid parameter value EPERM channel function does not permit this operation SEE ALSO brdInit setPWM setPPM pulseEnable pulseEnable int pulseEnable int channel FUNCTION DESCRIPTION Enables a disabled PWM PPM output The pin is restored to the same PWM PPM operation it had before being disabled PARAMETER channel digital output channel that is getting its PWM PPM enabled 0 7 OUTO OUT7 RETURN VALUE 0 success EINVAL invalid parameter value EPERM channel function does not pe
119. sktop or in your Start menu Select Store Program in Flash on the Compiler tab in the Dynamic C Options gt Project Options menu Then click on the Communications tab and verify that Use USB to Serial Converter 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 gt 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 Runa 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 programm
120. t 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 Counter Timer Block Shared Pin s Blocks With INO IN2 0 XBee RF module IN3 IN5 1 IN6 IN7 2 OUTO OUTI IN8 IN9 3 OUT2 OUT3 IN10 6 a IN11 7 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 e Interrupts event counters and input capture are available on any digital input pin e 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
121. t you keep free of other components and boards will allow for sufficient air flow and will help to minimize any electrical or EMI interference between adjacent boards An exclusion zone of 0 12 3 mm is rec ommended below the BL4S100 Figure A 2 shows this exclusion zone Exclusion Zone Figure A 2 BL4S100 Exclusion Zone A 1 2 Headers The BL4S100 has a 3 mm Micro Fit connectors at J17 for power supply connections There are four 1 x 9 screw terminal headers for the various analog inputs and digital I O One 1 x 6 screw terminal header handles to RS 232 signals BL4S100 User s Manual 115 A 2 Jumper Configurations Figure A 3 shows the header locations used to configure the various BL4S100 options via jumpers AKANI A 7 S Y DH Oo S Suge HE GANONIN JP1 E BR Js AINAN Figure A 3 Location of BL4S100 Configurable Positions Table A 2 lists the configuration options Table A 2 BL4S100 Jumper Configurations A Factory Header Description Pins Connected Default None J1 is configured for RS 232 x Serial Communication JP1 Configuration Options 1 2 J1 is configured for RabbitNet not stuffed 2 3 J1 configured for 1 Wire serial J1 is configured for RS 232 or None RabbitNet penal i areal 1 3 J1 is con
122. that the power supply is connected to the BL4S100 and plugged in as described in Chapter 2 Getting Started _ DEMO BOARD CONNECT TO bdid BL4S100 4a oe m LEDI HEADER J4 JPI HH N H uu uu LEDI LED2 LED3 LED4 LED LED2 LED3 LED4 ACT LED JUMPER SINK LED JUMPER SOURCE 2 gi a oe 3 EJO ism Ei swz Ej jsw ee 2 2 Tt DEMO BOARD POWER Om oF SISSINEIQAS Jeeeocecce aint beh to z Figure C 1 Power Supply Connections Between BL4S10 and Demonstration Board note that the maximum power supply input voltage the Demonstration Board can CAUTION If you are using your own power supply with the Demonstration Board AN handle is 12 V DC Do not use a higher power supply voltage BL4S100 User s Manual 123 C 2 Demonstration Board Features The Demonstration Board can be used to illustrate I O activity via LEDs and pushbutton switches C 2 1 Pinout Figure C 2 shows the pinouts for the input signals on screw terminal header J1 and the outputs on screw terminal header
123. ther 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 Chapter 5 Using the Ethernet TCP IP Features explains the TCP IP fea tures BL4S100 User s Manual 16 3 SUBSYSTEMS Chapter 3 describes the principal subsystems for the BL4S100 e Digital I O e Serial Communication e A D Converter Inputs e Memory Figure 4 shows these Rabbit based subsystems designed into the BL4S100 BL4S100 Port u Digital Real Time Clock Inputs Fast SRAM program RABBIT Digital 4000 Outputs SS ZigBee PRO 802 15 4 A D Converter optional Figure 4 BL4S100 Subsystems BL4S100 User s Manual 17 3 1 BL4S100 Pinouts The BL4S100 pinouts are shown in Figure 5 Digital Inputs Digital Outputs O000000000 Vin 7 Sie 3 O000000000 MaxStream Analog Inputs Digital Inputs Ethernet g Power Supply Figure 5 BL4S100 Pinouts 3 1 1 Connectors Standard BL4S100 models are equipped with an RJ 45 Ethernet jack four 1 x 9 screw terminal headers and one 1 x 6 screw terminal header for the I O and RS 232 signals The polarized 2 x 2 Micro Fit connector at J17 is for the power supply connection BL4S100 User s Manual 18 3 2 Digital I O 3 2 1 Digital Inputs The BL4S100 has 12 digital inputs INO IN11 each of which is prote
124. uency on the RIO block RETURN VALUE 0 success EINVAL invalid parameter value SEE ALSO brdInit setPWM setPPM setOffset setDuty setSyncIn setSyncOut pulseEnable pulseDisable BL4S100 User s Manual 69 setDuty int setDuty int channel float duty FUNCTION DESCRIPTION Sets the duty cycle of the PWM or PPM output on a digital output channel Will affect any PWM PPM that has been bound to this channel s PWM PPM PARAMETERS channel digital output channel that is getting its duty cycle set 0 7 OUTO OUT7 duty duty cycle of the PWM PPM output should be from 0 to 100 RETURN VALUE 0 success EINVAL invalid parameter value EPERM channel function does not permit this operation SEE ALSO brdInit setPWM setPPM setOffset setFreq setSynciIn setSyncOut pulseEnable pulseDisable BL4S100 User s Manual 70 setOffset int setOffset int channel float offset FUNCTION DESCRIPTION Sets the offset of a PPM output on a digital output channel This function call will not affect the position of the trailing edge of the PPM output and so will change the duty cycle percentage of the PPM output If the offset is set past the current position of the trailing edge of the PPM output set by the duty cycle the PPM output will start at the offset and will wrap around to the position of what was the trailing edge PARAMETERS channel digital output channel that is getting it
125. ues Note that this works for NI the node identifier where the data will be a Node ID string in quotes AT NI Node ID string where the quotes contain the string data Type menu to redisplay the menu of commands Press F4 to exit and close the STDIO window e AT _RUNONCE C This sample program uses many of the most important and useful AT commands Several commands can either set a parameter or read it This sample program simply reads the parameters and displays the results Compile and run this sample program The program will display the results in the Dynamic C STDIO window BL4S100 User s Manual 108 The XBee sample programs in the Dynamic C SAMPLES BL4S1xx xBee folder illustrate the use of the XBee function calls e SLEEP C This sample program demonstrates having the XBee RF module wake the Rabbit up upon receipt of a packet It also demonstrates conditional use of TCP IP networking in low power modes The sample program illustrates how to respond to TCP IP ping packets and also demon strates pinging a remote host It prints a message in the Dynamic C STDIO window when the ping response arrives here Once the sample program is compiled and running open your PC Web browser 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 If PING_WHO is not define
126. user block The current that is being monitored is displayed continuously Before you compile and run this sample program jumper pins 1 2 and 5 6 on headers J10 and J11 Then connect a current meter in series with the power supply connected to one of pins AINO AIN3 and AGND then compile and run the sample program and follow the instructions in the Dynamic C STDIO window e ADC_CAL_SE_UNIPOLAR C Demonstrates how to recalibrate a single ended unipolar A D converter channel using two measured voltages to generate two coefficients gain and offset which are rewritten into the reserved user block The voltage that is being monitored is displayed continuously Before you compile and run this sample program connect the power supply which should be OFF between the pin AINO AIN7 of the channel you are calibrating and AGND then compile and run the sample program and follow the instructions in the Dynamic C STDIO window e ADC_AVERAGING_SE_UNIPOLAR C Demonstrates how to read and display the aver age voltage of each of the single ended analog input channels using a sliding window The voltage is calculated from coefficients read from the display the two calibration coefficients gain and offset in the Dynamic C STDIO window for each channel and mode of operation Before you compile and run this sample program connect the power supply which should be OFF between the pin AINO AIN7 of an analog input channel and AGND then compil
127. ut TEPEE ERES 73 pinout oe eeeeeeteeeeeeeee 26 D TUES SE NED vindi tirine 127 exclusion ZONE nsss 115 digital inputs Demonstration Board 6 122 capture setup ose 2 F configuration options 124 Counter setup seess 21 LED outputs 125 counter timer associations 20 PE AUUEES iosieme 4 BL4S100 User s Manual 139 firmware download Digi XBee USB 138 firmware updates 138 XBee module 134 coordinator vs end device TOUTE eiir 135 firmware updates 134 138 flash memory addresses user blocks ecce 32 l installation plastic enclosure 131 interrupt handlers function calls addISR ou eeeceeeeseeeees 75 addISROut 060 76 enableISRO cee 78 SCtIER 0 cceceeeeeceeees 77 tickISRO crier eeen 78 IP addresses how to set e eeceeeseseceeeeesees 97 how to set PC IP address 98 J jumper configurations 116 J10 A D converter voltage current measurement op TIONS nantais 117 J11 A D converter voltage current measurement op HONS annia S 117 J13 digital input INO IN11 pullup pulldown configura Hon riasenie 117 J6 serial communication op HONS riirn 116 JP1 serial communication op GONS rererere in 116 jumper locations 116 K Ee re eer EEn EE 22 M MEM OLY orrein 32 flash memory configurations 32 SRAM configuration for dif ferent Sizes oo ee 32 Mode Conflict
128. w firmware F 1 1 Dynamic C v 10 44 and Later Encrypted libraries have been created within Dynamic C for the firmware The three libraries are in the LIB Rabbit 4000 XBee XBee_Firmware ZigBee folder e A Dynamic C library of the type XB24 ZB_21 LIB is used for a coordinator BL4S100 BL4S 150 e A Dynamic C library of the type XB24 ZB_23 LIB is used for a router BL4S100 BL4S150 e A Dynamic C library of the type XB24 ZB_29 LIB is used for an end device BL4S100 BL4S 150 BL4S100 User s Manual 134 Make the following modifications to the MODEMFWLOAD C sample program before you run it according to whether you will be using the BL4S100 BL4S150 as a coordinator a router or an end device e Select the XBee role macro according to whether the BL4S100 BL4S 150 is being used as a coordinator a router or an end device define XBEE_ROLE NODE_TYPE_COORD define XBEE_ROLE NODE_TYPE_ROUTER define XBEE_ROLE NODE_TYPE_ENDDEV e Some Rabbit boards use the ZNet 2 5 protocol The BL4S100 BL42150 use the ZB protocol Make sure the define statement calls for the ZB protocol define XBEE_PROTOCOL XBEE_PROTOCOL_ZB F 2 Digi XBee USB Configuration The Digi XBee USB device is an optional accessory and is available as a part of the Mesh Networking Add on Kit 101 1272 or for separate purchase 101 1286 It is not a part of the standard BL4S200 Tool Kit You may experience difficulty when you use the ZigBee sample programs a
129. ware was upgraded BL4S100 User s Manual 138 INDEX A output voltage 125 interrupts setup cee 21 pushbutton switches 124 pullup pulldown configuration A D converter ceeeeeeeseeeee 27 hookup instructions 123 19 buffered inputs 27 maximum power supply volt Quadrature Decoder setup 21 calibration esss sess eeeseeenees 29 ADE E ARE 123 switching threshold 20 calibration constants 28 pinout cxadesubactusaaetiestarcteees 124 digital outputs cccceee 22 function calls power supply connections 123 counter timer associations 23 AMNAIN oseseersseseesseeseesseees 83 Digi XBee USB ZigBee coor PWM PPM setup 23 24 analnCalib se 81 dinator sinking or sourcing 22 analnConfig s 80 configuration s s s 135 dimensions analnDiffO seeseeeeeeeeees 87 uploading new firmware 138 BL4S100 main board 113 analnDriver sss 92 digital I O plastic enclosure 133 analnmAmps 89 function calls Dynamic C oo 7 33 34 analnRdCalib 90 ighn weesseeesssessseeesseeeees 49 add on modules 13 35 ANAalNVOIts seseeeeereeees 85 diginBank cs ee8 50 installation 13 analog inputs See A D converter PIPOUO srivccinsseascseacsscates 63 basic instructions 33 B digOutBank 0 64 battery backed SRAM 94 getBegin ee 21 57 debugging feature
130. will be printed in Dynamic C s STDIO window indicating that the board is receiving the characters typed via TCP IP BL4S100 User s Manual 101 5 3 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 e Use the Dynamic C Help menu to get further assistance with Dynamic C e Check the Rabbit Technical Bulletin Board and forums at www rabbit com support bb and at www rabbit com forums e Use the Technical Support e mail form at www rabbit com support questionSubmit shtml 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 BL4S100 User s Manual 102 6 USING THE ZIGBEE FEATURES Chapter 6 discusses using the ZigBee features on the BL4S100 and the BL4S150 models This networking feature is not avail able on other BL4S100 models 6 1 Introduction to the ZigBee Protocol The ZigBee PRO specification was ratified in April 2007 and covers high level commu nication protocols for small low power digital modems based on the IEEE 802 15 4 stan dard for wireless personal area networks WPANS The XBee RF m
131. with modem OK but the modem type will be unknown and the firmware version will be blank If you a get a message that X CTU is unable to open the COM port verify that you selected the COM port with the USB Serial Port then try unplugging the Digi XBee USB from the USB slot and plugging it back in Now click Test Query again Under the Modem Configuration tab click the Read button X CTU will now dis play the networking and I O parameters for the Digi XBee USB Modem XBEE XB24 ZB Function Set ZIGBEE COORDINATOR API do not select other settings Version the version of the firmware included with the version of Dynamic C you are using Under the Modem Configuration tab click the Download new versions button select File and browse to the Utilities X CTU MODEMEFW subfolder then click Open when you have selected the firmware Do not select Web which will allow you to find the file on a Web site Remember to select firmware of the type XB24 ZB_ 21 zip that is used for a coordinator The X CTU utility will display an Update Summary box Click OK and then click Done Click the Read button select XB24 B as the Modem type select ZIGBEE COORDI NATOR API as the Function Set and 21 as the Version then click Write When the process is complete set the PANID NI and other parameters to the values you were using before the firm
132. wn 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 Remove slot cover yy insert tab into slot A 2 Snap plug into place 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 p
133. work Add On Kit enables you to explore the wireless capabilities of BL4S100 models that offer a ZigBee network interface e Plastic enclosure Part No 181 0041 Further details on the plastic enclosure are provided in Appendix E Visit our Web site at www rabbit 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 up V m at 10 m 40 dB relative to 1 uw V m or 300 pV m More restrictive emissions requirement 30 dB u V m at 10 m or 100 pV 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 BL4S 160 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 f

Download Pdf Manuals

image

Related Search

Related Contents

  Operating Instructions  Catia Bethonico - unisantos - Universidade Católica de Santos  FAST ARCO  Manuel d`utilisation CA-5300 / CT-5300 Amplificateur  Multimeter TestPro Bedienungsanleitung DE    User Manual - ALTERA Technologies Sdn. Bhd.    Optoma W307UST data projector  

Copyright © All rights reserved.
Failed to retrieve file