Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

Problem with NAT 9914 in system controller mode

Hi,

I use a NAT 9914 chip with a microcontroller. I want to drive a simple GPIB device with my own card. So I need to use the 9914 like a GPIB system controller.
First, I test my system with a PXI computer and MAX, where 9914 is configured like a device. I can correctly communicate with my card, I can send or write any command. All is right.
After, I connect my card with the device. In the initialization of 9914, I set LWC bit and ATCT bit in ACCRB registry. I make sic/wait 100us/~sic and sre/wait 100us/~sre.

When 9914 enters in active controller state (I have verified that CIC=1 and that ATN changes when I enter in active controller state or standby controller state), a BO interrupt comes and I can send these commands : UNL, MTA0 (GPIB address of my card), MLA15 ( GPIB address of my device). Then, GTS command is passed and 9914 enters in standby controller mode. So, I can send my GPIB command to my device. But, there is no action on device.
However, when I send the GPIB command, BO bit is set until the EOI byte. If I send a wrong MLA, I detect a problem. And If I send a DCL command, the device receives this.
I don’t understand where I make a mistake. Have you an idea?
I try to find an application note like AN110.pdf for 9914 in system controller mode but I find nothing. Do you know if a document about this exists?

Thanks in advance for your help.

Xavier Vanhaecke
0 Kudos
Message 1 of 2
(3,423 Views)
It sounds like the problem is with your device interpreting GPIB data transfers, is that correct? From your description it sounds like your device is accepting the GPIB data transfers because sending a different GPIB listen address causes errors.

My first guess is GPIB termination. Are you sending the termination the device is expecting, either EOI or an EOS byte? Which termination was used when you used the PXI controller? I think the NI-488 software automatically asserts EOI on the last byte of a transfer but I may be mistaken. Do you assert EOI in your firmware?

Since it works with a PXI controller you could also run NI-Spy in the background when you are communicating to your instrument to try to compare the NI-Spy capture with your firmware.
0 Kudos
Message 2 of 2
(3,410 Views)