Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

Who controls the time on TA0?

Two same read query to the two same instruments(power supply), same GPIB controller card, same program. The two queries were excuted sequentially with other measurments between them.
TA0 takes 50ms longer than the other. After swapping the two instruments,longer time tracks DUT, independent of instruments.
Why GPIB controller takes longer than the other?
TA0 should be sent out by controller, not instrument. Therefore, the problem is independent of instrument, but depend on the controller and the running application. Is it right?
0 Kudos
Message 1 of 9
(4,365 Views)
Hi,

I don't see clearly what you are measuring. You mentioned "TA0 should be sent out by controller, not instrument". Addressing commands are only sent by the controller, always. But the transfer of the commands is not independent of the instruments, since the instruments accept the commands using the handshake. If an instrument performs a slow handshake the bus will be slowed down. This is used with analyzer to slow down the bus.

I assume you are getting the timing information from an analyzer capture. Can you attach it and point out what are you measuring?. From your description it seems that the TA0 is always slower that other commands.


I'm attaching an analyzer capture. The first addressing commands shows TA0 taking 62 us, longer than
other commands. But on the next series of addressing commands UNL takes the same amount of time, which means that it is just the first command that takes a bit longer.

Hope this helps.

DiegoF
National Instruments
0 Kudos
Message 2 of 9
(4,365 Views)
Hi,

I don't see clearly what you are measuring. You mentioned "TA0 should be sent out by controller, not instrument". Addressing commands are only sent by the controller, always. But the transfer of the commands is not independent of the instruments, since the instruments accept the commands using the handshake. If an instrument performs a slow handshake the bus will be slowed down. This is used with analyzers to slow down the bus.

I assume you are getting the timing information from an analyzer capture. Can you attach it and point out what are you measuring?. From your description it seems that the TA0 is always slower that other commands.


I'm attaching an analyzer capture. The first addressing commands shows TA0 taking 62 us, longer than
other commands. But on the next series of addressing commands UNL takes the same amount of time, which means that it is just the first command that takes a bit longer.

Hope this helps.

DiegoF
National Instruments
0 Kudos
Message 3 of 9
(4,365 Views)
Hi DiegoF,

Thanks for the response. Are you saying that each TA0, UNL, LAxx including handshake with the instruments? For TA0 and UNL, does the handshake happen on all connected instruments? LAxx only handshakes with the instrument addressed?

I attached two files which show TA0 has the biggest difference.

Another merged file shows the comparison block by block.
Download All
0 Kudos
Message 4 of 9
(4,365 Views)
Hi,

Yes, every instrument takes part in the handshake while the ATN line is asserted. After all, the controller is sending the addressing information. None of the devices know they are addressed until they receive the addressing commands. All instruments need to read the addressing commands.


The addressed instruments will participate in the handshke when data is sent (ATN unasserted).

I don't know why you say that TA0 is slower. TA0 is sent in practically every line of the capture you attached. The one thing I noticed is that the places that you marked were preceded in all cases by a query to the device on address 28.

What processing does you application do when it receives a query result from instrument 28?.

Hope this h
elps

DiegoF
National Instruments
0 Kudos
Message 5 of 9
(4,365 Views)
Hi,

I noticed that TA0, UNL, LAxx all have ATN asserted. Would you elaborate what they do in handshaking? How does every instrument handshake with controller before a specific instrument is addressed?

Thanks.
0 Kudos
Message 6 of 9
(4,365 Views)
Hi,

The following lines are extraced from the previous attached files. They are two DUTs, doing the same measurement, but TA0 makes the difference.(Site2 TA0 is about 50ms longer than site 1 TA0). would you comment what possible to influence TA0 delayed, such as the instrument, windows application, GPIB controlling software?

site1:
0 0 57 438 350 @ 40 01000000 0 1 0 1 0 0 1 1 TA0
0 0 0 29 200 ? 3f 00111111 0 1 0 1 0 0 1 1 UNL
0 0 0 1 750 / 2f 00101111 0 1 0 1 0 0 1 1 LA15
site2:
0  0 116 713 300  @  40  01000000  0 1 0 1 0  0 1 1  TA0
       0  0   0  29 100  ?  3f  00111111  0 1 0 1 0  0 1 1  UNL
       0  0   0   1 800  0  30  00110000  0 1 0 1 0  0 1 1  LA16
0 Kudos
Message 7 of 9
(4,365 Views)
Hi,

The ATN line is not part of the handshake. It is used by the controller to signal when addessing commands are sent.

If the ATN line is asserted, the controller talks and all the devices listen. The controller sends addressing commands throught the datal lines when ATN is asserted.

When ATN is unasserted, the communication occurs between the addressed devices.

The bus drivers used by the GPIB interfaces allow different devices to drive the lines. The receiver will only notice that a line is asserted when ALL the devices have asserted that line. It is like an AND operation.

The two capture snipets you show are preceded by the addressing to device 28. Usually an analyzer timestamp records the time between th
e event on that line and the previous line, which in this case is the query received by instrument 28.

If I make an application that reads the data from and instrument and takes a second to process the data before it communicates to another device, I'll see in the capture an entry similar to the one you show with a time stamp of one second.

Are you using the same PC in the two sites?. Are you using the same instruments?.

Hope this helps.

DiegoF.
National Instruments.
0 Kudos
Message 8 of 9
(4,365 Views)
Hi,
Thanks for the helpful reply. Now I am trying to verify the elapsed time for TA0. The previous file I attached is TA0, UNL, LAxx; The current file I captured is UNL, TA0, LAxx. Are the two sequences equivalent? Or different driver?

Thanks
0 Kudos
Message 9 of 9
(4,365 Views)