background image

All digital I/O on the U3 have 3 possible states: input, output-high, or output-low. Each bit of I/O can be configured individually.
When configured as an input, a bit has a ~100 kΩ pull-up resistor to 3.3 volts (all digital I/O are 5 volt tolerant). When configured as
output-high, a bit is connected to the internal 3.3 volt supply (through a series resistor). When configured as output-low, a bit is
connected to GND (through a series resistor).

The fact that the digital I/O are specified as 5-volt tolerant means that 5 volts can be connected to a digital input without problems
(see the actual limits in the specifications in Appendix A). If 5 volts is needed from a digital output, consider the following solutions:

In some cases, an open-collector style output can be used to get a 5V signal.  To get a low set the line to output-low, and to
get a high set the line to input.  When the line is set to input, the voltage on the line is determined by a pull-up resistor.  The
U3 has an internal ~100k resistor to 3.3V, but an external resistor can be added to a different voltage.  Whether this will work
depends on how much current the load is going to draw and what the required logic thresholds are. Say for example a 10k
resistor is added from EIO0 to VS. EIO0 has an internal 100k pull-up to 3.3 volts and a series output resistance of about 180
ohms. Assume the load draws just a few microamps or less and thus is negligible. When EIO0 is set to input, there will be
100k to 3.3 volts in parallel with 10k to 5 volts, and thus the line will sit at about 4.85 volts. When the line is set to output-low,
there will be 180 ohms in series with the 10k, so the line will be pulled down to about 0.1 volts.
The surefire way to get 5 volts from a digital output is to add a simple logic buffer IC that is powered by 5 volts and
recognizes 3.3 volts as a high input. Consider the CD74ACT541E from TI (or the inverting CD74ACT540E). All that is
needed is a few wires to bring VS, GND, and the signal from the LabJack to the chip. This chip can level shift up to eight
0/3.3 volt signals to 0/5 volt signals and provides high output drive current (+/-24 mA).
Note that the 2 DAC channels on the U3 can be set to 5 volts, providing 2 output lines with such capability.

 

The power-up condition of the digital I/O can be configured by the user with the "Config Defaults" option in LJControlPanel.  From
the factory, all digital I/O are configured to power-up as inputs. Note that even if the power-up default for a line is changed to
output-high or output-low, there is a delay of about 5 ms at power-up where all digital I/O are in the factory default condition.

If you want a floating digital input to read low, an external pull-down resistor can be added to overpower the internal 100k pull-up. 
4.7k to 22k would be a typical range for this pull-down, with 10k being a solid choice for most applications.

The low-level Feedback function (Section 5.2.5) writes and reads all digital I/O. For information about using digital I/O under the
Windows LabJackUD driver, see Section 4.3.5. See Section 3.1 for timing information.

Many function parameters contain specific bits within a single integer parameter to write/read specific information. In particular,
most digital I/O parameters contain the information for each bit of I/O in one integer, where each bit of I/O corresponds to the same
bit in the parameter (e.g. the direction of FIO0 is set in bit 0 of parameter FIODir). For instance, in the low-level function ConfigU3,
the parameter FIODirection is a single byte (8 bits) that writes/reads the power-up direction of each of the 8 FIO lines:

if FIODirection is 0, all FIO lines are input,
if FIODirection is 1 (2

0

), FIO0 is output, FIO1-FIO7 are input,

if FIODirection is 5 (2

0

 + 2

2

), FIO0 and FIO2 are output, all other FIO lines are input,

if FIODirection is 255 (2

0

 + … + 2

7

), FIO0-FIO7 are output.

2.8.1 - Typical Digital I/O Connections

2.8.1.1 - Input: Driven Signals

The most basic connection to a U3 digital input is a driven signal, often called push-pull. With a push-pull signal the source is
typically providing a high voltage for logic high and zero volts for logic low. This signal is generally connected directly to the U3
digital input, considering the voltage specifications in Appendix A. If the signal is over 5 volts, it can still be connected with a series
resistor. The digital inputs have protective devices that clamp the voltage at GND and VS, so the series resistor is used to limit the
current through these protective devices. For instance, if a 24 volt signal is connected through a 22 kΩ series resistor, about 19
volts will be dropped across the resistor, resulting in a current of 0.9 mA, which is no problem for the U3. The series resistor should
be 22 kΩ or less, to make sure the voltage on the I/O line when low is pulled below 0.8 volts.

The other possible consideration with the basic push-pull signal is the ground connection. If the signal is known to already have a
common ground with the U3, then no additional ground connection is used. If the signal is known to not have a common ground
with the U3, then the signal ground can simply be connected to U3 GND. If there is uncertainty about the relationship between
signal ground and U3 ground (e.g. possible common ground through AC mains), then a ground connection with a ~10 Ω series
resistor is generally recommended (see Section 2.6.3.4).

Figure 2.8-1. Driven Signal Connection To Digital Input

Figure 2.8-1 shows typical connections. Rground is typically 0-100 Ω. Rseries is typically 0 Ω (short-circuit) for 3.3/5 volt logic, or
22 kΩ (max) for high-voltage logic. Note that an individual ground connection is often not needed for every signal. Any signals
powered by the same external supply, or otherwise referred to the same external ground, should share a single ground connection
to the U3 if possible.

When dealing with a new sensor, a push-pull signal is often incorrectly assumed when in fact the sensor provides an open-collector
signal as described next.

2.8.1.2 - Input: Open-Collector Signals

Open-collector (also called open-drain or NPN) is a very common type of digital signal. Rather than providing 5 volts and ground,
like the push-pull signal, an open-collector signal provides ground and high-impedance. This type of signal can be thought of as a
switch connected to ground. Since the U3 digital inputs have a 100 kΩ internal pull-up resistor, an open-collector signal can
generally be connected directly to the input. When the signal is inactive, it is not driving any voltage and the pull-up resistor pulls the
digital input to logic high. When the signal is active, it drives 0 volts which overpowers the pull-up and pulls the digital input to logic
low. Sometimes, an external pull-up (e.g. 4.7 kΩ from Vs to digital input) will be installed to increase the strength and speed of the
logic high condition.

13

Содержание LJU3-LV

Страница 1: ...sponsible for shipping to LabJack Corporation and LabJack Corporation will pay for the return shipping Limitation of Liability LabJack designs and manufactures measurement and automation peripherals t...

Страница 2: ...entry below the serial number to bring up the U3 configuration panel Click on Test in the configuration panel to bring up the test panel where you can view and control the various I O on the U3 If LJ...

Страница 3: ...14 exe Size 49 99 MB Upload date 2014 10 14 12 45 The LabJack Control Panel application LJCP handles configuration and testing of the UD series hardware Click on the Find Devices button to search for...

Страница 4: ...or Ethernet devices using specified IP addresses Only applies to UE9 device LJControlPanel is normally installed by the main LabJack installer which is the link at the top of the page 1 2 Self Upgrade...

Страница 5: ...rent I O areas Communication Edge Screw Terminal Edge DB Edge The communication edge has a USB type B connector with black cable connected in Figure 2 1 All power and communication is handled by the U...

Страница 6: ...tal operations including analog digital configuration are ignored on these 4 fixed analog inputs Timers and counters can appear on various pins but other I O lines never move For example Timer1 can ap...

Страница 7: ...Negative Channel Numbers Positive channel 31 puts the internal Vreg 3 3 volts on the positive input of the ADC See Section 2 6 4 for information about the internal temperature sensor If the negative c...

Страница 8: ...aging the U3 but more thought is required to determine what is necessary to make useful measurements with the U3 or any measurement device Voltage versus ground The single ended analog inputs on the U...

Страница 9: ...es are noted connect the ground to U3 SGND with a 100 series resistor Then again use the DMM to measure the voltage of each signal wire before connecting to the U3 Another good general rule is to use...

Страница 10: ...Figure 2 6 2 where one of the resistors is known and the other is the unknown If Vin is known and Vout is measured the voltage divider equation can be rearranged to solve for the unknown resistance 2...

Страница 11: ...e other channel to GND with a small jumper and then take a differential reading of your channel compared to that grounded channel The nominal input range of a high voltage single ended analog input is...

Страница 12: ...d offset but of course the op amp must be powered with supplies greater than the desired output range depending on the ability of the op amp to drive it s outputs close to the power rails If 10 12 or...

Страница 13: ...h bit of I O corresponds to the same bit in the parameter e g the direction of FIO0 is set in bit 0 of parameter FIODir For instance in the low level function ConfigU3 the parameter FIODirection is a...

Страница 14: ...tal input to about 3 3 volts logic high When the switch is closed the ground connection will overpower the pull up resistor and pull the digital input to 0 volts logic low Since the mechanical switch...

Страница 15: ...ll turn on When the digital line is set to input it is the equivalent of a 3 3 volt connection with 100 k in series The resulting voltage across the control inputs of the relay will be close to zero a...

Страница 16: ...Hz 2 22 48 MHz default 3 23 1 MHz Divisor 4 24 4 MHz Divisor 5 25 12 MHz Divisor 6 26 48 MHz Divisor Table 2 9 2 U3 Timer Clock Base Options Note that these clocks apply to the U3 hardware revision 1...

Страница 17: ...an interrupt 61 times per second If this interrupt happens to be in progress when the edge occurs a delay of about 1 microsecond is possible If the software watchdog is enabled the system timer inter...

Страница 18: ...is 100 Hz that means the period is 10 milliseconds and thus after the command is received by the device it could be anywhere from 0 to 10 milliseconds before the start of the frequency output Frequen...

Страница 19: ...timing modes described above modes 2 3 except that hardware capture registers are used to record the edge times This limits the times to 16 bit values but is accurate to the resolution of the clock a...

Страница 20: ...e ability of these lines to sink or source current Refer to the specifications in AppendixA All digital I O on the U3 have 3 possible states input output high or output low Each bit of I O can be conf...

Страница 21: ...corner Then clockwise it goes Vbus 5 volts lower right pin 1 red wire D lower left pin 2 white wire and D upper left pin 3 green wire If you have a shield wire it can be connected to either of the lar...

Страница 22: ...FIO4 EIO7 are still available as flexible I O same as the U3 LV Revision 1 20 21 U3s cannot be upgraded to 1 30 3 Operation The following sections discuss command response mode and stream mode Comman...

Страница 23: ...the UD driver will split it like that The tables above were measured with U3 hardware version 1 21 which started shipping in late August of 2006 The times could be up to twice as long with hardware ve...

Страница 24: ...roll but the MSW be captured before it is incremented That means that only the LSW is reliable and thus you might as well just use the 16 bit modes Mode 11 the upper 32 bits of the system timer is not...

Страница 25: ...ut to all request result functions that tells the function what LabJack it is talking to The handle is obtained from the OpenLabJack function IOType This is an input to all request result functions th...

Страница 26: ...at follow are written in C To help those unfamiliar with strings in C these functions expect null terminated 8 bit ASCII strings How this translates to a particular development environment is beyond t...

Страница 27: ...eful for passing string constants in languages that cannot include the header file and is generally only used with the put get config IOTypes The strings should contain the constant name as indicated...

Страница 28: ...f information with the request to allow a generic parser to determine what should be done when the results are received Outputs None 4 2 6 Go After using AddRequest to make an internal list of request...

Страница 29: ...either function returns LJE_NO_MORE_DATA_AVAILABLE there are no more items in the list of results Items can be read more than once by calling GetFirstResult to move back to the beginning of the list U...

Страница 30: ...scription Returns Constant number of the passed string Inputs pString A pointer to the string representation of the constant Outputs None 4 2 13 ErrorToString Outputs a string describing the given err...

Страница 31: ...on the U3 Resolution Pass a nonzero value to enable QuickSample Settling Pass a nonzero value to enable LongSettling Binary If this is nonzero True the Voltage parameter will return the raw binary va...

Страница 32: ...ckBaseIndex Pass a constant to set the timer base clock The default is device specific 4 TimerClockDivisor Pass a divisor from 0 255 where 0 is a divisor of 256 aTimerModes An array where each element...

Страница 33: ...LE_PORT x1 is number of bits LJ_ioGET_ANALOG_ENABLE_PORT x1 is number of bits When a request is done with one of the port IOTypes the Channel parameter is used to specify the starting bit number and t...

Страница 34: ...t a read of AIN1 using the special 0 3 6 volt range AddRequest lngHandle LJ_ioGET_AIN_DIFF 1 0 32 0 Execute the requests GoOne lngHandle Since multiple requests were made with the same IOType and Chan...

Страница 35: ..._PORT 4 0 10 0 Set FIO3 to output high AddRequest lngHandle LJ_ioPUT_DIGITAL_BIT 3 1 0 0 Set EIO6 CIO2 5 bits starting from digital channel 14 to b10100 d20 That is EIO6 0 EIO7 0 CIO0 1 CIO1 0 and CIO...

Страница 36: ...d dblHighCycles double unsigned long dblValue 65536 dblLowCycles double unsigned long dblValue 65536 dblDutyCycle 100 dblHighCycles dblHighCycles dblLowCycles dblHighTime 0 000001 dblHighCycles dblLow...

Страница 37: ...the stream Start the stream eGet lngHandle LJ_ioSTART_STREAM 0 dblValue 0 The actual scan rate is dependent on how the desired scan rate divides into the LabJack clock The actual scan rate is returned...

Страница 38: ...RAW_OUT 0 numBytesToWrite pwriteArray Raw In This command reads the bytes from the device eGet lngHandle LJ_ioRAW_IN 0 numBytesToRead preadArray 4 3 9 Easy Functions The easy functions are simple alte...

Страница 39: ..._CLOCK_FACTOR LJ_chSPI_MOSI_PIN_NUM LJ_chSPI_MISO_PIN_NUM LJ_chSPI_CLK_PIN_NUM LJ_chSPI_CS_PIN_NUM Following is example pseudocode to configure SPI communication First configure the SPI communication...

Страница 40: ...ial protocol Using this serial protocol is considered an advanced topic A good knowledge of the protocol is recommended and a logic analyzer or oscilloscope might be needed for troubleshooting Also co...

Страница 41: ...not actually sent to the hardware until the LJ_ioSWDT_CONFIG IOType above is used LJ_chSWDT_RESET_DEVICE LJ_chSWDT_UDPATE_DIOA LJ_chSWDT_DIOA_CHANNEL LJ_chSWDT_DIOA_STATE Following is example pseudoco...

Страница 42: ...ious scan completed Scan rate is too high 61 LJE_FIRMWARE_VERSION_IOTYPE IOType not supported with this firmware 62 LJE_FIRMWARE_VERSION_CHANNEL Channel not supported with this firmware 63 LJE_FIRMWAR...

Страница 43: ...umulator 3 Divide by 28 and sum the quotient and remainder 4 Divide by 28 and sum the quotient and remainder Destination bit This bit specifies whether the command is destined for the local or remote...

Страница 44: ...Mask1 Reserved 8 LocalID 9 TimerCounterConfig Bits 4 7 TimerCounterPinOffset Bit 3 Enable Counter1 Bit 2 Enable Counter0 Bit 0 1 Number of timers enabled 10 FIOAnalog 11 FIODirection 12 FIOState 13 EI...

Страница 45: ...fies U3C and if set then bit 4 specifies HV version 5 2 3 ConfigIO Writes and reads the current IO configuration Command Byte 0 Checksum8 1 0xF8 2 0x03 3 0x0B 4 Checksum16 LSB 5 Checksum16 MSB 6 Write...

Страница 46: ...s Since this command has a flexible size byte 2 will vary For instance if a single IOType of PortStateRead d26 is passed byte 2 would be equal to 1 for the command and 3 for the response If a single I...

Страница 47: ...IN LSB MSB Analog input reading is returned justified as a 16 bit value always unsigned LabJackPython example session Automatically extracted from u3 py Debugging turned on to show the bytes sent and...

Страница 48: ...Automatically extracted from u3 py Debugging turned on to show the bytes sent and received 5 2 5 6 BitStateWrite IOType 11 BitStateWrite 2 Command Bytes 0 IOType 11 1 Bits 0 4 IO Number Bit 7 State 0...

Страница 49: ...t specifies whether to update the corresponding bit of I O State Each bit of this value corresponds to the specified bit of I O such that 1 High and 0 Low To set all low State d0 To set all 20 standar...

Страница 50: ...y Debugging turned on to show the bytes sent and received 5 2 5 15 Timer IOType 42 44 Timer 4 Command Bytes 0 IOType 42 44 1 Bit 0 UpdateReset 2 Value LSB 3 Value MSB 4 Response Bytes 0 Timer LSB 1 Ti...

Страница 51: ...e version 1 30 1 21 Command number 0x2A accesses the user memory area which consists of 512 bytes block numbers 0 15 Command number 0x2D accesses the calibration memory area consisting of 512 bytes bl...

Страница 52: ...g Command Byte 0 Checksum8 1 0xF8 2 0x00 0x01 3 0x29 0x2C 4 Checksum16 LSB 5 Checksum16 MSB 6 0x4C 7 0x6C Response Byte 0 Checksum8 1 0xF8 2 0x01 3 0x29 0x2C 4 Checksum16 LSB 5 Checksum16 MSB 6 Errorc...

Страница 53: ...15 30 for temp sensor 31 for Vreg or 193 224 for digital timer counter channels NChannel is 0 7 for FIO0 FIO7 8 15 for EIO0 EIO15 30 for Vref or 31 199 for single ended 5 2 11 StreamStart Once the str...

Страница 54: ...0 Power up the U3 with a short from FIO6 to SPC FIO2 to SCL on U3 1 20 1 21 then remove the jumper and power cycle the device again This also affects the parameters in the ConfigU3 function The watch...

Страница 55: ...ng handled manually outside of this function care must be taken to make sure SCK is initially set to CPOL before asserting CS All standard SPI modes supported A B C and D Mode A CPOL 0 CPHA 0 Mode B C...

Страница 56: ...es divided by 2 If the number of bytes is odd round up and add an extra zero to the packet NumAsynchBytesToSend Specifies how many bytes will be sent 0 56 NumAsynchBytesInRXBuffer Returns how many byt...

Страница 57: ...s the read write bit Note that the read write bit is controlled automatically by the LabJack and thus bit 0 is ignored NumI2CBytesToSend Specifies how many I C bytes will be sent 0 50 NumI2CBytesToRec...

Страница 58: ...yte Offset Description Nominal Values 0 Checksum8 0 0 3 Not Used 0x00 1 0xF8 0 4 FIO Directions 0x00 2 0x01 0 5 FIO States 0xFF 3 0x0E 0 6 FIO Analog 0x00 4 Checksum16 LSB 0 7 Not Used 0x00 5 Checksum...

Страница 59: ...formation is only needed when using low level functions and other ways of getting binary readings Readings in volts already have the calibration constants applied The UD driver for example normally re...

Страница 60: ...function to retrieve the first 8 blocks of memory This information can then be used to convert all analog input readings to voltages Again the high level Windows DLL LabJackUD does this automatically...

Страница 61: ...al LV 2 4 mV Single Ended HV 9 8 mV Special HV 19 5 mV Command Response Speed See Section 3 1 Stream Perfromance See Section 3 2 4 With DAC1 disabled on hardware version 1 30 5 This is the maximum vol...

Страница 62: ...to the U3 possible causing poor start up behavior 13 These specifications provide the answer to the question How much current can the digital I O sink or source For instance if EIO0 is configured as...

Страница 63: ...PCB Dimensions STEP U3 Enclosure Dimensions DWG U3 Enclosure Dimensions DXF U3 Enclosure Dimensions IGS U3 Enclosure Dimensions STEP U3 Enclosure Drawings zip U3 PCB Dimensions dxf U3 PCB Dimensions p...

Страница 64: ...e ack for the address will be reported Improved timer performance Changed the watchdog so that it will not clear until the host computer has read the response Fixed a problem that was causing edge32 a...

Отзывы: