Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

Transmit data lost during assertion of SRQ

I'm trying to fix a problem in some embedded GPIB driver on a device
we are manufacturing.

Sometimes, when our code asserts SRQ, a data byte that is in the data
out register appears on the GPIB bus and is subsequently lost.

Here's a link to a bus analyzer image that shows the event

http://www.qsolv.com/images/stall.jpg

In this image notice the highlighted line with SRQ being asserted also
has a 0x4f hex data showing up. That is the data byte that is lost and
never received by the host.

I'm no GPIB wizard. Shouldn't the chip see to it that data is not
transmitted to the host at the wrong time? We are using a measurement
computing CB7210.2 chip and their document claims that when the DO bit
in the ISR register is set that it is "safe" to load the data out
register, but in this case apparently it is *not* safe since the data
is lost. There is also an ERR interrupt that is supposed to indicate
when 'data out' data is lost and that interrupt never occurs.
0 Kudos
Message 1 of 6
(3,520 Views)

Hi,

What version of the NI-488.2 driver do you have installed?  Can you provide more details about the GPIB hardware that you are using?  Based on the information that you have provided so far, you may have to contact the manufacturer of the embedded GPIB driver.  Good luck!

Regards,

Rima

Rima H.
Web Product Manager
0 Kudos
Message 2 of 6
(3,495 Views)
On Jan 29, 3:10 pm, Rima H. <x...@no.email> wrote:
> Hi,
> What version of the NI-488.2 driver do you have installed?&nbsp; Can you provide more details about the GPIB hardware that you are using?&nbsp; Based on the information that you have provided so far, you may have to contact the manufacturer of the embedded GPIB driver.&nbsp; Good luck!
> Regards,
> Rima

I am the developer of the embedded GPIB driver! But I didn't develop
anything running on the host. That was done by outside contractors.

The embedded device doesn't use any NI libraries. It's using a MCC
CB7210.2 chip on an embedded pxa270 based board.
0 Kudos
Message 3 of 6
(3,490 Views)
Maybe this isn't an SRQ problem at all, but instead is a problem with
transmit data loss during handshaking.

The NAT9914 data sheet has a bullet item feature that says:

"Does not lose a data byte if ATN is asserted while transmitting data"

Is that the problem that the analyzer snapshot demonstrates?

If so, it seems that would be a well known problem among GPIB driver
gurus.

Could anyone please explain that problem to me, and maybe how to avoid
it in a driver?

Thanks in advance!
0 Kudos
Message 4 of 6
(3,480 Views)
 

Hi,

You could try working with the contractors who developed the host machine.  Also, National Instruments has an Partner Program, which is a worldwide network of more than 600 consultants, system integrators, developers, channel partners, and industry experts who partner with NI to provide complete, high-quality virtual instrumentation solutions to customers.  Good luck!

Regards,

Rima

Rima H.
Web Product Manager
0 Kudos
Message 5 of 6
(3,472 Views)
OK, thanks.

I will implement a solution that enforces mutual exclusion between
transmission of messages and assertion of SRQ, but the hardware
shouldn't require that. It looks like the original NI7200 had a bug
where data was lost when ATN was asserted in response to SRQ during
transmit, and all the other manufacturers who reverse engineered it
replicated the bug. It probably didn't matter when a 4 mHz cpu was
considered fast.
0 Kudos
Message 6 of 6
(3,466 Views)