background image

Manual Number: 00650-010-6

Page 9

Chapter 5:  Programming

Programming the AOBx/16 is very straightforward as there are only two operating modes, three
sets of jumpers, and one unique addition. The basic operation of a Digital to Analog card is to write
a 16-bit value to a Digital to Analog Converter (DAC) preload register where it is buffered and
loaded with an update command to a DAC register which produces the corresponding analog out-
put (Defined by the range and polarity jumpers for that channel).

Upon power-up, or hardware reset, the DAC registers are initialized to a “zero” value and the card
is set in Simultaneous Update mode.  This ensures that upon power-up the outputs start at zero volts
out. (Note: The “I” initialize and “M” polarity mode jumpers should be set identically or the DAC
register will be initialized to the incorrect value.) Since the preload register is not cleared upon
power-up, but left at an undefined value, a known value must be written to the preload registers
before using an update command.

Simultaneous Update Mode is the power-up or default mode of operation for the DAC card. When
a value is written to a DAC address the output does not change until an output update is com-
manded via a read to the BASE+8 address. (Alternatively, a read to BASE+10 will update the DAC
registers and switch the board to Automatic Update Mode.) While in Simultaneous Update Mode,
a single read will load all DAC registers with the value waiting in the preload registers causing all
outputs to be updated and changed simultaneously.

Automatic Update Mode is the power-up default configuration which changes the DAC output
immediately after the new value high-byte is  written to the DAC address. If the card is in Simulta-
neous Update Mode a read to BASE+2 address will change the card back to Automatic Update
Mode without updating the outputs. Or, a read to BASE+10 will update all outputs simultaneously
and then release the card to the Automatic Update Mode.

Software Clear is a unique addition to our DAC card which resets the DAC similar to a hardware
reset without changing the operating mode. Just as a hardware reset, the zero output depends on the
proper setup of the initialize and polarity mode jumpers (See the power-up paragraph) to produce
a zero output. Since the preload registers are not cleared the previous output will be restored from
the preload register when the appropriate update command is issued to the DAC channel.

Summary of Contents for AOB8/16

Page 1: ...Model AOB8 16 AOB16 16 Product Manual MANUAL NUMBER 00650 010 6C...

Page 2: ...ual in our online Support Library Thank you The information in this document is provided for reference only ICS Advent does not assume any liability arising from the application or use of the informat...

Page 3: ...Page iv This page intentionally left blank...

Page 4: ...ts which are not in an as new and re saleable condition are not eligible for credit return and will be returned to the customer Limited Warranty Effective April 1 1998 all products carry a 2 year limi...

Page 5: ...made by various manufacturers in performing warranty repairs and building replacement products If ICS Advent repairs or replaces a product its warranty term is not extended ICSAdvent will normally re...

Page 6: ...Cautions and Warnings are accented with triangular symbols The exclamation symbol is used in all cautions and warnings to help alert you to the important instructions The lightning flash symbol is us...

Page 7: ...Page viii This page intentionally left blank...

Page 8: ...on Selection 5 Output Ranges 5 Analog Outputs Update 5 Chapter 4 Address Selection 7 Chapter 5 Programming 9 Chapter 6 Software 13 VisualBASIC Utility Driver 13 Chapter 7 Calibration 17 Chapter 8 Conn...

Page 9: ...x List of Figures Figure 2 1 Block Diagram 4 Figure 3 1 Option Selection Map 6 Figure 4 1 StandardAddressAssignments for PC and PC XT Computers 7 Figure 5 1 Data Format 11 Current Revision 6C December...

Page 10: ...sk To do this perform the following 1 Place the master diskette into a floppy drive 2 Change the active drive to the drive that has the master diskette installed For example if the diskette is the A d...

Page 11: ...f unsure what locations are available you can use the FINDBASE pro gram provided on our diskette to locate blocks of available addresses To install the card 1 Turn off computer power 2 Remove the comp...

Page 12: ...wn I O location The DACs have a two byte 8LSB s 8MSB s loading structure The analog outputs can be updated either independently or simultaneously Finally the AOBx 16 contain automatic reset circuits w...

Page 13: ...ACE COMPUTER BUS PRE LOAD REGISTER PRE LOAD REGISTER 12VDC COMPUTER POWER INITIALIZE DACS UPDATE DACS 16 BIT DAC 15 AOB16 16 OR DAC 7 AOB8 16 DAC OUTPUT DAC OUTPUT 16 BIT DAC 0 BIP BIP BIP BIP 5V 5V U...

Page 14: ...o 5 V Unipolar 5V 5 to 5 V Bipolar 5V 0 to 10 V Unipolar 10 V 10 to 10 V Bipolar 10 V Analog Outputs Update Analog outputs are updated under program control in either one of two ways a Eachchannelisno...

Page 15: ...Manual Number 00650 010 6 Page 6 AOB8 16 AOB16 16 Manual Figure 3 1 Option Selection Map...

Page 16: ...ocator program FINDBASE provided on diskette will assist you in selecting a base address that will avoid this conflict Hex Range Usage 000 0FF Internal System Not Usable 1F0 1FF AT Hard Disk 200 207 G...

Page 17: ...ress to binary form Then for each 1 of binary address set the corresponding DIP switch to OFF and for each 0 of binary address set the corresponding switch to ON Here s an example showing how to progr...

Page 18: ...itten to a DAC address the output does not change until an output update is com manded via a read to the BASE 8 address Alternatively a read to BASE 10 will update the DAC registers and switch the boa...

Page 19: ...yte Update all outputs and release card from Simultaneous Mode Base 11 DAC 5 High Byte Base 12 DAC 6 Low Byte Base 13 DAC 6 High Byte Base 14 DAC 7 Low Byte Set all outputs to zero Base 15 DAC 7 High...

Page 20: ...UNIPOLAR ranges For Unipolar ranges data are in true binary form 0000 0000 0000 0000 ZERO 1000 0000 0000 0000 1 2 SCALE 1111 1111 1111 1111 FULL SCALE MSB or B1 B16 or LSB For BIPOLAR ranges For Bipol...

Page 21: ...Manual Number 00650 010 6 Page 12 AOB8 16 AOB16 16 Manual This page intentionally left blank...

Page 22: ...tput channel See the preceding I O Address Map In this example we will assume analog output on channel zero AO 0 OUT BASE 0 L OUT BASE 1 H For simplicity it was assumed that the simultaneous update ca...

Page 23: ...ng the low byte from address and the high byte from address 1 Declaration function InPort byval address as integer as integer OutPortb Function Writes the lower eight bits of value to the hardware por...

Page 24: ...tb function will be 128 to 127 rather than 0 to 255 An alternative is to perform all assignments in hexadecimal rather then decimal form Before the program will execute the GBL file must be modified t...

Page 25: ...Manual Number 00650 010 6 Page 16 AOB8 16 AOB16 16 Manual This page intentionally left blank...

Page 26: ...or each channel c Adjust 5V Reference Voltage d Adjust Unipolar zero on each channel e Adjust Unipolar full scale of each channel f Adjust Bipolar zeroes of each channel g Check Bipolar negative full...

Page 27: ...Manual Number 00650 010 6 Page 18 AOB8 16 AOB16 16 Manual This page intentionally left blank...

Page 28: ...DAC 10 Output 12 D A 11 Out Analog DAC 11 Output 13 D A 12 Out Analog DAC 12 Output 14 D A 13 Out Analog DAC 13 Output 15 D A 14 Out Analog DAC 14 Output 16 D A 15 Out Analog DAC 15 Output 17 12 Vout...

Page 29: ...Manual Number 00650 010 6 Page 20 AOB8 16 AOB16 16 Manual Note The figure below shows how pins are numbered on D type connectors...

Page 30: ...ver operating temperature range Settling Time 8 usec to 0 0008 for full scale step input Linearity 1 LSB integral non linearity over rated temperature range Gain Stability 15 ppm C Output Drive Capabi...

Page 31: ...Manual Number 00650 010 6 Page 22 AOB8 16 AOB16 16 Manual This page intentionally left blank...

Page 32: ...three different waveforms sine triangle and sawtooth You have the choice of base address DAC number and the number of points per cycle The base address entered during program execution should correspo...

Page 33: ...lowbyte hibyte Each point is broken into the high byte and low byte and then written to the DAC in two separate bytes do for i 0 i counts i temp progstruct i 256 lowbyte unsigned char temp temp progst...

Page 34: ...unsigned sine clrscr printf Generating sine wave press any key to stop sendtoport end sinecurve Function trianglecurve local routine Purpose Calculate the points to create a trinagle wave Input None C...

Page 35: ...ints to create a sawtooth wave Input None Calls None Output None void sawcurve int i double slope temp if counts 0 return clrscr printf Calculating sawtooth wave points slope 4095 0 counts sawtooth sl...

Page 36: ...outine Purpose Controls program execution Input None Calls None Output None void main void char menuchoice clrscr do memset progstruct 0 sizeof int clear buffer menulist display the menu menuchoice ge...

Page 37: ...Manual Number 00650 010 6 Page 28 AOB8 16 AOB16 16 Manual This page intentionally left blank...

Page 38: ...ternal Win32IRQ dll index 1 function DetectIRQ Boolean stdcall external Win32IRQ dll index 2 function SendEOI Boolean stdcall external Win32IRQ dll index 3 In C the library file Win32IRQ lib must firs...

Page 39: ...ogram needs to continue running while waithing for DetectIRQ a separate thread should be spawned from which to call DetectIRQ The return result is TRUE if an IRQ was successfully detected on the given...

Page 40: ...4 3 1995RadiatedRFFieldImmunity EN61000 4 4 1995EFTImmunityforACandI OLines EN 60950 1992 Safety of InformationTechnology Equipment Thetechnicaldocumentationrequiredtodemonstratethisproductmeetsthere...

Reviews: