background image

Code

Description

1

SCRATCH_WRT_FAIL

2

SCRTACH_ERASE_FAIL

3

DATA_BUFFER_OVERFLOW

4

ACD0_BUFFER_OVERFLOW

5

FUNCTION_INVALID

6

SWDT_TIME_INVALID

16

FLASH_WRITE_FAIL

17

FLASH_ERASE_FAIL

18

FLASH_JMP_FAIL

19

FLASH_PSP_TIMEOUT

20

FLASH_ABORT_RECEIVED

21

FLASH_PAGE_MISMATCH

22

FLASH_BLOCK_MISMATCH

23

FLASH PAGE_NOT_IN_CODE_AREA

24

MEM_ILLEGAL_ADDRESS

25

FLASH_LOCKED

26

INVALID_BLOCK

27

FLASH_ILLEGAL_PAGE

48

STREAM_IS_ACTIVE

49

STREAM_TABLE_INVALID

50

STREAM_CONFIG_INVALID

51

STREAM_BAD_TRIGGER_SOURCE

52

STREAM_NOT_RUNNING

53

STREAM_INVALID_TRIGGER

54

STREAM_CONTROL_BUFFER_OVERFLOW

55

STREAM_SCAN_OVERLAP

56

STREAM_SAMPLE_NUM_INVALID

57

STREAM_BIPOLAR_GAIN_INVALID

58

STREAM_SCAN_RATE_INVALID

64

TIMER_INVALID_MODE

65

TIMER_QUADRATURE_AB_ERROR

66

TIMER_QUAD_PULSE_SEQUENCE

67

TIMER_BAD_CLOCK_SOURCE

68

TIMER_STREAM_ACTIVE

69

TIMER_PWMSTOP_MODULE_ERROR

80

EXT_OSC_NOT_STABLE

81

INVALID_POWER_SETTING

82

PLL_NOT_LOCKED

102

INVALID_CODE

112

UART_TIMEOUT

113

UART_NOTENALBED

114

UART_NOTCONFIGURED

115

UART_RXOVERFLOW

116

I2C_BUS_BUSY

5.5 - Modbus

The UE9 supports the Modbus protocol over Ethernet and USB. Learn more about it on the Modbus support page.

5.6 - Calibration Constants

This information 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 returns voltage readings unless binary readings are
specifically requested.

Calibration Constant

The majority of the UE9's analog interface functions return or require binary values. Converting between binary and voltages
requires the use of calibration constants and formulas.

When using ModBus the UE9 will apply calibration automatically, so voltages are sent to and read from the UE9 are formatted as
a float.

 

Which Constants Should I Use?

The calibration constants stored on the UE9 can be categorized as follows:

Analog Input
Analog Output
Internal Temperature

Analog Input: Since the UE9 uses multiplexers, all channels (except 129-135 and 137-143) have the same calibration for a given
input range.

Analog Output: Only two calibrations are provided, one for DAC0 and one for DAC1.

77

Summary of Contents for UE9

Page 1: ... you are looking at a PDF or hardcopy realize that the original is an online document at http labjack com support ue9 users guide Rather than using a PDF though we encourage you to use this web based documentation Some advantages We can quickly change or update content The site search includes the user s guide forum and all other resources at labjack com When you are looking for something try usin...

Page 2: ... for their applications using LabJack products To minimize the risks associated with customer applications customers should provide adequate design and operating safeguards Reproduction of products or written or electronic information from LabJack Corporation is prohibited without permission Reproduction of any of these with alteration is an unfair and deceptive business practice Conformity Inform...

Page 3: ...el does not find the UE9 check Windows Device Manager to see if the UE9 installed correctly One way to get to the Device Manager is Start Control Panel System Hardware Device Manager The entry for the UE9 should appear as in the following figure If it has a yellow caution symbol or exclamation point symbol right click and select Uninstall or Remove Then disconnect and reconnect the UE9 and repeat ...

Page 4: ...ation between the PC and LabJack but the broadcast UDP packet does not work Search for Ethernet devices using specified IP addresses When this option is selected LJControlPanel will specifically search over TCP using each address in the list On some networks this might be preferred over the UDP broadcast search 1 2 Self Upgrade Application LJSelfUpgrade Both processors in the UE9 have field upgrad...

Page 5: ...e UE9 back in Try programming again disconnect the jumper before programming 3 If the Comm LED has no activity the UE9 s Comm processor is not starting properly Please restart your computer and try programming again 3 If there is no activity from the UE9 s LEDs after following the above steps please contact support 2 Hardware Description The UE9 has 3 different I O areas Communication Edge Screw T...

Page 6: ...re small if any and it is normal to do all communication besides reading stream data on Endpoint 1 The main reason for the different endpoints is to simplify calling command response functions while a stream is in progress USB stream data is a special case where each 46 byte data packet is padded with 2 zeros on the end not part of the protocol and then 4 of these 48 byte blocks are grouped togeth...

Page 7: ...nd Vext are connected and valid the internal switch will select Vext The UE9 power supply requirement is nominally 5 volts at 200 mA see AppendixA This is generally provided by a wall wart or wall transformer type of supply A supply capable of 500 mA is recommended The power jack connector is 2 1 5 5 mm center positive A linear regulated or switching supply is acceptable Switching supplies are gen...

Page 8: ...0 AIN13 The first 4 analog inputs AIN0 AIN3 appear both on the screw terminals and on the DB37 connector These connections are electrically the same and the user must exercise caution only to use one connection or the other and not create a short circuit Following is a table showing the channel number to pass to acquire different readings from the internal channels AIN14 15 Channel 14 Vref 2 43 V ...

Page 9: ...sampling an extended channel the MIO lines remain in that same condition until commanded differently by another extended channel or another function When streaming with any extended channels the MIO lines are all set to output low for any non extended analog channels For special channels digital timers counters the MIO are driven to unspecified states Note that the StopStream can occur during any ...

Page 10: ...n the selected input range and resolution of the UE9 the resolution can be determined in terms of voltage or engineering units For example assume some temperature sensor provides a 0 10 mV signal corresponding to 0 100 degrees C Samples are then acquired with the UE9 using the 0 5 volt input range and 16 bit resolution resulting in a voltage resolution of about 5 65536 76 µV That means there will ...

Page 11: ...not measured it is generally OK to connect the box ground to LabJack GND but it is a good idea to put in a 100 Ω series resistor to prevent large currents from flowing on the ground Use a small wattage resistor typically 1 8 or 1 4 watt so that it blows if too much current does flow The only current that should flow on the ground is the return of the analog input bias current which is on the order...

Page 12: ...nput performance R1 should not exceed 10 kΩ so R1 can generally be fixed at 10 kΩ and R2 can be adjusted for the desired attenuation For instance R1 R2 10 kΩ provides a divide by 2 so a 10 volt input will be scaled to 5 volts and a 0 10 volt input will be scaled to 0 5 volts The divide by 2 configuration where R1 R2 10 kΩ presents a 20 kΩ load to the source meaning that a 10 volt signal will have ...

Page 13: ...mA sensor A typical value for the shunt would be 240 Ω which results in 0 96 to 4 80 volts Figure 2 7 Current Measurement With 3 Wire 4 20 mA Sourcing Sensor The sensor shown in Figure 2 7 is a sourcing type where the signal sources the 4 20 mA current which is then sent through the shunt resistor and sunk into ground Another type of 3 wire sensor is the sinking type where the 4 20 mA current is s...

Page 14: ... DACS on the UE9 can be disabled Prior to control firmware 1 98 when disabled they are placed in a high impedance state firmware 1 98 and later always leaves the DACs enabled Both DACs are enabled or disabled at the same time so if a command causes one DAC to be enabled the other is also enabled The power up condition of the DACs can be configured by the user From the factory the DACS default to e...

Page 15: ...its 20 22 by the Windows driver The MIO hardware electrical specifications is the same as the EIO CIO hardware All the digital I O include an internal series resistor that provides overvoltage short circuit protection These series resistors also limit the ability of these lines to sink or source current Refer to the specifications in AppendixA All digital I O on the UE9 have 3 possible states inpu...

Page 16: ...cross the resistor resulting in a current of about 0 9 mA which is no problem for the UE9 The series resistor should be 22 kΩ or less to make sure the voltage on the I O line when low is pulled below 1 0 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 UE9 then no additional ground connec...

Page 17: ...t the optional resistors the figure simplifies to Figure 2 10b Simplified Open Collector NPN Connection To Digital Input Without Optional Resistors 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 UE9 if possible 2 9 1 3 Inpu...

Page 18: ...used to debounce a signal This is not foolproof but works fine in most applications Figure 2 12 Passive Hardware Debounce Figure 2 12 shows one possible configuration for passive hardware debounce First consider the case where the 1 kΩ resistor is replaced by a short circuit When the switch closes it immediately charges the capacitor and the digital input sees logic low but when the switch opens t...

Page 19: ...can be a convenient way to control 1 or 2 relays The RB12 relay board is a useful accessory available from LabJack This board connects to the DB15 connector on the UE9 and accepts up to 12 industry standard I O modules designed for Opto22 G4 modules and similar Another accessory available from LabJack is the LJTick RelayDriver This is a two channel module that plugs into the UE9 screw terminals an...

Page 20: ... pulse width modulated rectangular wave output Value passed should be 0 65535 and determines what portion of the total time is spent low out of 65536 total increments That means the duty cycle can be varied from 100 0 out of 65536 are low to 0 0015 65535 out of 65536 are low The overall frequency of the PWM output is the clock frequency specified by TimerClockBase TimerClockDivisor divided by 216 ...

Page 21: ...n Section 2 10 2 Writing a value of zero to the timer performs a reset After reset a read of the timer value will return zero until a new edge is detected If a timer is reset and read in the same function call the read returns the value just before the reset Mode 3 is the same except that falling edges are used instead of rising edges 2 10 1 4 Duty Cycle Measurement Mode 4 Records the high and low...

Page 22: ...rather waits for the internal clock to roll For example if the output frequency 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 2 10 1 8 Quadrature Input Mode 8 Requires 2 timer channels used in adjacent pairs 0 1 2 3 or 4 5 Even timers will be quadrature ...

Page 23: ...f the clock and not subject to any errors due to firmware processing delays Note that the minimum measurable period is limited by the edge rate limit discussed in Section 2 10 2 2 10 2 Timer Operation Performance Notes Note that the specified timer clock frequency is the same for all timers That is TimerClockBase and TimerClockDivisor are singular values that apply to all timers Modes 0 1 2 3 4 7 ...

Page 24: ...d A measurement of CB37 GND compared to UE9 GND showed 5 9 mV If a signal was connected to AIN0 on the CB37 and referred to GND on the CB37 the UE9 reading would be offset by 5 9 mV The same test with the CB37 direct connected to the UE9 no cable resulted in an offset of only 0 2 mV In both cases cable or no cable the voltage measured between CB37 AGND and UE9 GND was 0 0 mV When any sizeable cabl...

Page 25: ...series from Grayhill Output modules are available with voltage ratings up to 200 VDC or 280 VAC and current ratings up to 3 5 amps 2 14 OEM Connector Options As of this writing the UE9 is only produced in the normal form factor with screw terminals and DB connectors but the PCB does have alternate holes available for 0 1 pin header installation Connectors J2 and J3 provide pin header alternatives ...

Page 26: ...ingle call to the Feedback function writes and reads all 23 digital I O updates the analog outputs and reads up to 16 analog inputs The following tables show typical measured execution times for the Feedback function The time varies with the number of analog inputs requested and the resolution of those inputs These were measured by calling the function 1000 times and dividing the total time by 100...

Page 27: ...A USB high high configuration means the UE9 is connected to a high speed USB2 hub which is then connected to a high speed USB2 host Even though the UE9 is not a high speed USB device such a configuration does often provide improved performance For all USB configurations the worst case continuous stream rate seen in testing is 30 ksamples s Stream data rates over USB and Ethernet can also be limite...

Page 28: ...s used with USB communication as the driver reads 4 packets at a time 64 samples Streaming always uses Counter1 internally and thus Counter1 is not available for counting while streaming Additionally if clock output or external triggering is enabled the normal Counter1 FIO line will be claimed which is the next FIO available after all other enabled timers counters If no other timers counters are e...

Page 29: ...ory along with a support DLL LabJackUSB dll Generally this is c Windows System on Windows 98 ME c Windows System32 on Windows 2000 XP and c Windows SysWOW64 on newer 64 bit Windows Other files including the header and Visual C library file are installed to the LabJack drivers directory which defaults to c Program Files LabJack drivers 4 1 Overview The general operation of the LabJackUD functions i...

Page 30: ...enerally poor programming form to hardcode numbers into function calls if for no other reason than it is hard to read Functions with a single S replace the IOType parameter with a const char which is a string A string can then be passed with the name of the desired constant Functions with a double SS replace both the IOType and Channel with strings OpenLabJackS replaces both DeviceType and Connect...

Page 31: ... documented below Pointers must be initialized in general although null 0 can be passed for unused or unneeded values The pointers for GetStreamData and RawIn RawOut requests are not optional Arrays and char type strings must be initialized to the proper size before passing to the DLL 4 2 1 ListAll Returns all the devices found of a given DeviceType and ConnectionType Searching over Ethernet relie...

Page 32: ...are designed for outputs or setting configuration parameters and will not return anything except the errorcode eGetS and ePutS are special versions of these functions where IOType is a string rather than a long This is useful for passing string constants in languages that cannot include the header file and is generally used with all IOTypes except put get config The string should contain the const...

Page 33: ...pe requests are executed before acquisition and output type requests AddRequestS is a special version of the Add function where IOType is a string rather than a long This is useful for passing string constants in languages that cannot include the header file and is generally used with all IOTypes except put get config The string should contain the constant name as indicated in the header file such...

Page 34: ...iption Returns LabJack errorcodes or 0 for no error Inputs Handle Handle returned by OpenLabJack Outputs None 4 2 8 GetResult Calling either Go function creates a list of results that matches the list of requests Use GetResult to read the result and errorcode for a particular IOType and Channel Normally this function is called for each associated AddRequest item Even if the request was an output t...

Page 35: ...etNextResult declarations Declaration LJ_ERROR _stdcall GetFirstResult LJ_HANDLE Handle long pIOType long pChannel double pValue long px1 double pUserData Parameter Description Returns LabJack errorcodes or 0 for no error Inputs Handle Handle returned by OpenLabJack Outputs pIOType A pointer to the IOType of this item in the list pChannel A pointer to the channel number of this item in the list pV...

Page 36: ... as if IOType StringToConstant LJ_ioANALOG_INPUT This function returns LJ_INVALID_CONSTANT if the string is not recognized Declaration long _stdcall StringToConstant const char pString Parameter Description 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 error ...

Page 37: ...ts Handle Handle returned by OpenLabJack Outputs None 4 2 17 eAIN An easy function that returns a reading from one analog input This is a simple alternative to the very flexible IOType based method normally used by this driver When needed this function automatically configures the specified channel s for analog input Declaration LJ_ERROR _stdcall eAIN LJ_HANDLE Handle long ChannelP long ChannelN d...

Page 38: ...s the specified channel as a digital input Declaration LJ_ERROR _stdcall eDI LJ_HANDLE Handle long Channel long State Parameter Description Returns LabJack errorcodes or 0 for no error Inputs Handle Handle returned by OpenLabJack Channel The channel to read 0 19 corresponds to FIO0 CIO3 Outputs State Returns the state of the digital input 0 False Low and 1 True High 4 2 20 eDO An easy function tha...

Page 39: ...2 U6 2 U3 2 3 Pin offset UE9 Ignored U6 0 8 U3 4 8 4 Default constant UE9 LJ_tc750KHZ U6 LJ_tc48MHZ U3 LJ_tc48MHZ 4 2 22 eTCValues An easy function that updates and reads all the timers and counters This is a simple alternative to the very flexible IOType based method normally used by this driver Declaration LJ_ERROR _stdcall eTCValues LJ_HANDLE Handle long aReadTimers long aUpdateResetTimers long...

Page 40: ...are also used when passing arrays as rather than actually passing the array an address to the first element in the array is passed Talking to multiple devices from a single application is no problem Make multiple open calls to get a handle to each device and be sure to set FirstFound FALSE Open UE9s over USB with Local ID 2 and 3 OpenLabJack LJ_dtUE9 LJ_ctUSB 2 FALSE lngHandleA OpenLabJack LJ_dtUE...

Page 41: ...tion Like most settings this will apply to all further measurements until the parameter is changed or the DLL unloaded AddRequest lngHandle LJ_ioPUT_CONFIG LJ_chAIN_RESOLUTION 14 0 0 Configure AIN2 for 5 volt range AddRequest lngHandle LJ_ioPUT_AIN_RANGE 2 LJ_rgBIP5V 0 0 Configure AIN3 for 5 volt range AddRequest lngHandle LJ_ioPUT_AIN_RANGE 3 LJ_rgBIP5V 0 0 Request a read from AIN2 AddRequest lng...

Page 42: ...l 8 AddRequest lngHandle LJ_ioGET_DIGITAL_PORT 8 0 10 0 Set FIO3 to output high AddRequest lngHandle LJ_ioPUT_DIGITAL_BIT 3 1 0 0 Set CIO2 MIO2 5 bits starting from digital channel 18 to b10100 d20 That is CIO2 0 CIO3 0 MIO0 1 MIO1 0 and MIO2 1 AddRequest lngHandle LJ_ioPUT_DIGITAL_PORT 18 20 5 0 Execute the requests GoOne lngHandle Get the FIO2 read GetResult lngHandle LJ_ioGET_DIGITAL_BIT 2 dblV...

Page 43: ... lngHandle LJ_ioPUT_TIMER_MODE 4 LJ_tmQUAD 0 0 AddRequest lngHandle LJ_ioPUT_TIMER_MODE 5 LJ_tmQUAD 0 0 Execute the requests GoOne lngHandle The LabJackUD driver uses the low level TimerCounter function That function has a single UpdateConfig bit that must be set to change modes clock configuration or enabled disabled status When the UpdateConfig bit is set all timers and counters are re initializ...

Page 44: ...read by the driver and thus might not exactly reflect the current state of the buffers but can be useful to detect problems When streaming the Control processor acquires data at precise intervals and transfers it to the Comm processor which has a large data buffer The Control processor has a small data buffer 256 samples for data waiting to be transferred to the Comm processor and the LJ_chSTREAM_...

Page 45: ...s means that if three channels are streaming 0 1 and 2 in that order in the scan list and data is requested from channel 0 then channel 1 then channel 0 again the request for channel 0 the second time will return the same data as the first request New data will not be retrieved until after channel 2 is read since channel 2 is last in the scan list If the first get stream data request is for 10 sam...

Page 46: ...tes in the buffer The x1 parameter is an array with that many doubles Note that LJ_ioCLEAR_STREAM_CHANNELS does not affect Stream DAC Rather to disable a call like above must be made for each enabled DAC with numUpdates 0 If the special channel LJ_chDAC_BINARY has been used to specifiy that binary updates will be passed for the DACs that is supported with this Stream DAC feature and the binary upd...

Page 47: ...ble Counter0 eTCConfig Handle aEnableTimers aEnableCounters TCPinOffset TimerClockBaseIndex TimerClockDivisor aTimerModes aTimerValues Reserved1 Reserved2 eTCConfig lngHandle alngEnableTimers alngEnableCounters 0 LJ_tc750KHZ 3 alngTimerModes adblTimerValues 0 0 Read and reset the input timer Timer1 read and reset Counter0 and update the value duty cycle of the output timer Timer0 Fill the arrays w...

Page 48: ...or I C This serial link is not an alternative to the USB connection Rather the host application will write read data to from the UE9 over USB and the UE9 communicates with some other device using the serial 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 Ther...

Page 49: ...er size x1 array LJ_chASYNCH_TX Value number to send 0 56 number in rx buffer x1 array LJ_chASYNCH_FLUSH Flushes the rx buffer All data discarded Value ignored When using LJ_chASYNCH_RX the Value parameter returns the size of the Asynch buffer before the read If the size is 32 bytes or less that is how many bytes were read If the size is more than 32 bytes then the call read 32 this time and there...

Page 50: ...VICE LJ_chSWDT_RESET_COMM LJ_chSWDT_RESET_CONTROL LJ_chSWDT_UDPATE_DIOA LJ_chSWDT_UPDATE_DIOB LJ_chSWDT_DIOA_CHANNEL LJ_chSWDT_DIOA_STATE LJ_chSWDT_DIOB_CHANNEL LJ_chSWDT_DIOB_STATE LJ_chSWDT_UPDATE_DAC0 LJ_chSWDT_UPDATE_DAC1 LJ_chSWDT_DAC0 LJ_chSWDT_DAC1 LJ_chSWDT_DAC_ENABLE Following is example pseudocode to configure and enable the watchdog Initialize EIO2 to output low which also forces the di...

Page 51: ...E_TIMER_QUADRATURE_AB_ERROR 38 LJE_TIMER_QUAD_PULSE_SEQUENCE 39 LJE_TIMER_BAD_CLOCK_SOURCE 40 LJE_TIMER_STREAM_ACTIVE 41 LJE_TIMER_PWMSTOP_MODULE_ERROR 42 LJE_TIMER_SEQUENCE_ERROR 43 LJE_TIMER_SHARING_ERROR 44 LJE_TIMER_LINE_SEQUENCE_ERROR 45 LJE_EXT_OSC_NOT_STABLE 46 LJE_INVALID_POWER_SETTING 47 LJE_PLL_NOT_LOCKED 48 LJE_INVALID_PIN 49 LJE_IOTYPE_SYNCH_ERROR 50 LJE_INVALID_OFFSET 51 LJE_FEEDBACK_...

Page 52: ...owing is a description of the general UE9 low level communication protocol There are two types of commands Normal 1 command word plus 0 7 data words Extended 3 command words plus 0 125 data words Normal commands have a smaller packet size and can be faster in some situations Extended commands provide more commands better error detection and a larger maximum data payload Normal command format Byte ...

Page 53: ...t bit of I O Resolution All analog input functions have a Resolution parameter This allows you to choose between speed or resolution See Sections 3 1 and 3 2 for timing information SettlingTime Some analog input functions have a SettlingTime parameter This parameter adds extra settling time before each sample of about SettlingTime 5 microseconds Binary Encoded Parameters Many parameters in the fol...

Page 54: ...t required for a change to take effect Subnet 255 255 255 0 Reset required for a change to take effect PortA 52360 Normal TCP UDP port Reset required for a change to take effect Note that bit 5 of WriteMask affects PortA and PortB PortB 52361 Secondary TCP port Reset required for a change to take effect Only used to send stream data from the UE9 to the host DHCPEnabled 0 A value of 1 means that DH...

Page 55: ...rd Ping function are useful for finding Ethernet connected UE9s and testing basic communication Command Byte 0 0x22 1 0x78 2 0x00 3 0xA9 4 0x00 5 0x00 Response Byte 0 Checksum8 1 0x78 2 0x10 3 0xA9 4 Checksum16 LSB 5 Checksum16 MSB 6 0x00 7 0x00 8 LocalID 9 PowerLevel 10 13 IPAddress 14 17 Gateway 18 21 Subnet 22 23 PortA 24 25 PortB 26 DHCPConfig 27 ProductID 28 33 MACAddress 34 35 HWVersion 36 3...

Page 56: ...et TCP or Ethernet UDP The exception is stream commands which are not supported over UDP 5 3 1 BadChecksum Response Byte 0 0xB8 1 0xB8 5 3 2 ControlConfig Configures various parameters associated with the Control processor Although this function appears to have many of the same digital I O and DAC parameters as other functions most parameters in this case are affecting the power up values not the ...

Page 57: ...ling of the processor causes analog calibration problems Intended operation Specifies different system clock speeds for the Control processor Streaming does not work at fixed low speed The WriteMask behaves differently for this parameter The value passed for PowerLevel always becomes the current operating condition If the WriteMask bit 0 is set the value passed becomes the current value and the de...

Page 58: ...Feedback and FeedbackAlt A very useful function that writes reads almost every I O on the LabJack UE9 Note Feedback command should not be called while streaming FeedbackAlt with no analog inputs is allowed 58 ...

Page 59: ...AIN3_2_BipGain 28 AIN5_4_BipGain 29 AIN7_6_BipGain 30 AIN9_8_BipGain 31 AIN11_10_BipGain 32 AIN13_12_BipGain 33 AIN15_14_BipGain Response Byte 0 Checksum8 1 0xF8 2 0x1D 3 0x00 4 Checksum16 LSB 5 Checksum16 MSB 6 FIODir 7 FIOState 8 EIODIr 9 EIOState 10 CIODirState 11 MIODirState 12 13 AIN0 14 15 AIN1 16 17 AIN2 18 19 AIN3 20 21 AIN4 22 23 AIN5 24 25 AIN6 26 27 AIN7 28 29 AIN8 30 31 AIN9 32 33 AIN1...

Page 60: ...eturns the current count from the counters if enabled Use the function TimerCounter to enable and configure the counters Timer Returns the values from the first 3 enabled timer modules Use the function TimerCounter to enable and configure the timer modules The LabJackUD driver for Windows uses a modified version of the Feedback function called FeedbackAlt This modified function has additional para...

Page 61: ...utput value and the upper 4 bits are ignored as the output is always updated and IOType 5 causes both DACs to be enabled SettlingTime Only applies to analog inputs see Feedback Dir AINL For a digital bit read this reads 0 for input and 1 for output For a digital port read this is multiple bits returning input or output for each line For digital writes this is just an echo For an analog input this ...

Page 62: ...nters are enabled and disabled as specified by the other bits The lower 3 bits specify the number of timers enabled 0 6 Bits 3 and 4 are set to enable a counter or cleared to disable a counter Any enabled timers and counters will take over FIO lines in order starting with FIO0 Counter1 is used internally by stream mode but in such a case only uses an FIO line if master or slave stream mode is used...

Page 63: ...inimum W Bits 4 3 Internal stream clock frequency Scan Freq Divisor b00 4 MHz 61 1 0 239 b01 48 MHz 733 2 87 b10 750 kHz 11 5 0 045 b11 24 MHz 367 1 44 Bit 1 Divide Clock by 256 10 11 Scan Interval 1 65535 12 ChannelNumber 13 ChannelOptions Bits 3 0 BipGain Repeat 12 13 for each Channel Response Byte 0 Checksum8 1 0xF8 2 0x01 3 0x11 4 Checksum16 LSB 5 Checksum16 MSB 6 Errorcode 7 0x00 NumChannels ...

Page 64: ...g 45 CommBacklog TimeStamp Reserved PacketCounter An 8 bit 0 255 counter that is incremented by one for each packet of data Useful to make sure packets are in order and no packets are missing Sample Stream data is placed in a FIFO first in first out buffer so Sample0 is the oldest data read from the buffer and Sample15 is the 16th oldest sample This stream data packet always returns 16 samples reg...

Page 65: ...ks 8 15 are available to the user Command Byte 0 Checksum8 1 0xF8 2 0x01 3 0x2A 4 Checksum16 LSB 5 Checksum16 MSB 6 0x00 7 BlockNum Response Byte 0 Checksum8 1 0xF8 2 0x41 3 0x2A 4 Checksum16 LSB 5 Checksum16 MSB 6 0x00 7 BlockNum 8 135 Data 5 3 11 WriteMem Writes 1 block 128 bytes to the Control non volatile memory The Mem area must be erased before writing The Mem area is arranged in 16 blocks o...

Page 66: ...rcode 7 0x00 5 3 13 1 WatchdogConfig Controls a firmware based watchdog timer Unattended systems requiring maximum up time might use this capability to reset the UE9 or the entire system When any of the options are enabled an internal timer is enabled which resets on any incoming Control communication If this timer reaches the defined TimeoutPeriod before being reset the specified actions will occ...

Page 67: ...7 WatchdogOptions WatchdogOptions The watchdog is enabled when this byte is nonzero Set the appropriate bit to reset either or both processors update the state of 1 or 2 digital I O or update 1 or both DACs TimeoutPeriod The watchdog timer is reset to zero on any incoming Control communication Note that most functions consist of a write and read but StreamData is outgoing only and does not reset t...

Page 68: ... bytes 7 10 to 0 Power up the UE9 with a short from FIO2 SCL then remove the jumper and power cycle the device again This also returns Comm Section 5 2 1 and Control Section 5 3 2 settings to factory defaults The watchdog settings bytes 7 10 are stored in non volatile flash memory so every call to this function where settings are changed causes a flash erase write The Control flash has a rated end...

Page 69: ...t to zero on any incoming Control communication Note that most functions consist of a write and read but StreamData is outgoing only and does not reset the watchdog If the watchdog timer is not reset before it counts up to TimeoutPeriod the actions specified by WatchdogOptions will occur The watchdog timer has a clock rate of about 1 Hz so a TimeoutPeriod range of 1 65535 corresponds to about 1 to...

Page 70: ...8 2 0x01 3 0x0D 4 Csum16 L 5 Csum16 H 6 Key 7 Reserved Response Byte Meaning 0 Csum8 1 0xF8 2 0x01 3 0x0D 4 Csum16 L 5 Csum16 H 6 Error Code 7 Reserved 5 3 15 Reset Control command causes a soft or hard reset Affects both processors Command Byte 0 Checksum8 1 0x99 2 ResetOptions Bit 1 Hard Reset Bit 0 Soft Reset 3 0x00 Response Byte 0 Checksum8 1 0x99 2 0x00 3 Errorcode 5 3 16 SPI Control command ...

Page 71: ...this function before CS chip select is brought low final state is also set properly before CS is brought high again If CS is being 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 CPHA 1 CPOL 1 Mode B CPHA 1 CPOL 0 Mode C CPHA 0 CPOL 1 Mode D CPHA 0 CPOL 0 If Clock Phase CP...

Page 72: ... of 9615 bps compatible with 9600 bps 5 3 18 AsynchTX Control command sends bytes to the UE9 UART which will be sent asynchronously on the PIN2 TX0 pin on the DB37 connector Command Byte 0 Checksum8 1 0xF8 2 1 NumAsynchWords 3 0x15 4 Checksum16 LSB 5 Checksum16 MSB 6 0x00 7 NumAsynchBytesToSend 8 AsynchByte0 Response Byte 0 Checksum8 1 0xF8 2 0x02 3 0x15 4 Checksum16 LSB 5 Checksum16 MSB 6 Errorco...

Page 73: ...d 3 0x3B 4 Checksum16 LSB 5 Checksum16 MSB 6 I2COptions Bits 7 5 Reserved Bit 3 Enable clock streching Bit 2 No stop when restarting Bit 1 ResetAtStart Bit 0 Reserved 7 SpeedAdjust 8 SDAPinNum 9 SCLPInNum 10 AddressByte 11 Reserved 12 NumI2CBytesToSend 13 NumI2CBytesToReceive 14 I2CByte0 Response Byte 0 Checksum8 1 0xF8 2 3 NumI2CWordsSend 3 0x3B 4 Checksum16 LSB 5 Checksum16 MSB 6 Errorcode 7 Res...

Page 74: ... bits are set if the corresponding I2C write byte was ack ed Useful for debugging up to the first 32 write bytes of communication Bit 0 corresponds to the last data byte bit 1 corresponds to the second to last data byte and so on up to the address byte So if n is the number of data bytes the ACKs value should be 2 n 1 1 5 3 21 SHT1X Control command reads temperature and humidity from a Sensirion S...

Page 75: ...through Up to 128 points can be loaded 16 at a time Use bits 0 2 in byte 9 to select which block of 16 is being loaded 5 3 23 SetDefaults SetToFactoryDefaults Executing this function causes the current or last used values or the factory defaults to be stored in flash as the power up defaults The UE9 flash has a rated endurance of at least 20000 writes which is plenty for reasonable operation but i...

Page 76: ... Mode 0x0A 7 0x00 1 17 49 TMR0 Value L 0x00 8 39 Data 1 18 50 TMR0 Value H 0x00 1 19 51 Not Used 0x00 1 20 52 TMR1 Mode 0x0A 1 21 53 TMR1 Value L 0x00 1 22 54 TMR1 Value H 0x00 1 23 55 Not Used 0x00 1 24 56 TMR2 Mode 0x0A 1 25 57 TMR2 Value L 0x00 1 26 58 TMR2 Value H 0x00 1 27 59 Not Used 0x00 1 28 60 TMR3 Mode 0x0A 1 29 61 TMR3 Value L 0x00 1 30 62 TMR3 Value H 0x00 1 31 63 Not Used 0x00 2 0 64 ...

Page 77: ...RT_NOTCONFIGURED 115 UART_RXOVERFLOW 116 I2C_BUS_BUSY 5 5 Modbus The UE9 supports the Modbus protocol over Ethernet and USB Learn more about it on the Modbus support page 5 6 Calibration Constants This information 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 normall...

Page 78: ...rsion though use the calibration values Slope and Offset stored in the internal flash on the Control processor Volts Slope Bits Offset UE9 Calibration Formulas Analog Out Writing to the UE9 s DAC require that the desired voltage be converted into a binary value To convert the desired voltage to binary select the Slope and Offset calibration constants for the DAC being used and plug into the follow...

Page 79: ...ed Point Byte Array LSB MSB Floating Point Double 0 0 0 0 0 0 0 0 0 0000000000 0 0 0 0 1 0 0 0 1 0000000000 0 0 0 0 255 255 255 255 1 0000000000 51 51 51 51 0 0 0 0 0 2000000000 205 204 204 204 255 255 255 255 0 2000000000 73 20 5 0 0 0 0 0 0 0000775030 225 122 20 110 2 0 0 0 2 4300000000 102 102 102 38 42 1 0 0 298 1500000000 Table 5 6 2 Fixed Point Conversion Examples 6 Low level Native Examples...

Page 80: ...he bytes that the PC sends to the UE9 The Response lines contain what the UE9 sent back to the PC Modbus TCP Example Pocket PC Native USB Example Windows CE support is not active The drivers examples posted here were developed for and tested with CE 5 6 as noted below Some considerations Embedded versions of normal Windows XP Embedded Embedded 7 Embedded 8 etc use our normal Windows drivers librar...

Page 81: ...urrent 3 1 volts 15 nA Input Impedance 3 10 MΩ Source Impedance 4 10 kΩ Temperature Drift G 1 10 ppm C Absolute Accuracy Res 12 17 0 025 0 05 FS UE9 Pro Res 18 0 005 0 01 FS Peak to Peak Noise See Appendix B Integral Linearity Error G 1 0 02 FS G 8 0 03 FS UE9 Pro Res 18 0 0001 FS Differential Linearity Error 12 bit 1 counts 16 bit 4 counts UE9 Pro Res 18 1 counts Stream Data Buffer Size 182361 C ...

Page 82: ...3 volts are not recommened when the UE9 is unpowered as the voltage will attempt to supply operating power to the UE9 possibly causing poor start up behavior 4 These specifications provide the answer to the common question How much current can the digital I O sink or source For instance if EIO0 configured as output high and shorted to ground the current sourced by EIO0 into ground will be about 18...

Page 83: ...16 9 41 0 2 5 1200 13 8 175 230 16 2 33 0 1 25 2224 12 9 164 400 15 4 29 0 0 63 4256 11 9 165 775 14 4 29 Resolution 17 Range Peak To Peak Noise Noise Free Resolution Noise Free Resolution RMS Noise Effective Resolution Effective Resolution volts counts bits µV counts bits µV 5 352 15 5 216 75 17 8 44 0 5 352 15 5 108 75 17 8 22 0 2 5 620 14 7 94 120 17 1 18 0 1 25 1060 14 76 210 16 3 15 0 0 63 20...

Page 84: ...84 ...

Page 85: ...0 PITCH PIN 1 5 VEXT PIN 1 See attached UE9 PCB Dimensions dxf for CAD drawings PCB dimensions in inches File attachment UE9 PCB Dimensions pdf UE9 PCB Dimensions dxf UE9 PCB Dimensions STEP UE9 Enclosure Dimensions DWG UE9 Enclosure Dimensions DXF UE9 Enclosure Dimensions IGS UE9 Enclosure Dimensions STEP UE9 Enclosure Dimensions zip 85 ...

Page 86: ... a triggering a soft reset v1 32 July 8 2005 Changed USB detection to allow for faster power up v1 31 June 21 2005 Changes to USB code to recover from serious problems when partial commands are sent or read v1 30 May 31 2005 Soft reset timer implemented to flush buffers when partial or invalid commands are received Control Firmware v2 26 Added overflow error codes to the UART RX buffer Added suppo...

Reviews: