Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

NAT7210BPD does not interrupt

I have a working instrument where I use the NAT7210APD GPIB Controller Chip.
Since the APD chip is no longer available I�ve tried using the NAT7210BPD chip instead and it does not work.
I�ve re-checked the initialization code and it is by the book. Still, the APD chip works just fine while the BPD chip does not. It even does not assert the INT pin.
I was unable to get support from the local reprehensive (Israel) for the past 4 weeks and our production line is facing a halt.
PLEASE HELP.
This is urgent.
0 Kudos
Message 1 of 13
(4,040 Views)
The only differences between the NAT7210APD and NAT7210BPD are a vendor change and a process change. The internal logic did not change.

The NAT7210BPD uses a smaller process than the NAT7210APD. The NAT7210BPD is more succeptable to noise than the NAT7210APD. I have seen at least 1 case where switching from the NAT7210APD to the NAT7210BPD caused a failure. The failure was caused by noise on the address lines. The noise did not cause problems in the NAT7210APD but did cause a problem with the NAT7210BPD.

Do you get any other failures besides the INT pin? Are you able to read/write registers in the NAT7210?

Also, can you check the pins of the 7210 with an oscilloscope to look for noise? You should do this while accessing the NAT7210BPD registe
rs.

Can you also confirm that you are indeed using NI 7210's? A few other companies make 7210 clones that are pin-compatible with the NI NAT7210.
Message 2 of 13
(4,040 Views)
hey, thanks for the response.
Yes - I can read / write registers (and it is NI chip - not a clone).
I will look into your ideas tomorrow (it's already night over here) and talk to you some more.
0 Kudos
Message 3 of 13
(4,040 Views)
I did not get around to using a scope but as far as I can determine the failure is not random (as you would expect if noise is involved).
When I read register values I get correct values, every time.
Do you know of any special considerations during the initialization phase? (such as order of operation, required delays, etc.)
Here is my initialization sequence:

send command 2 (chip reset)
set the clock (value 26H to ICR - 6MHz)
page in (50H) and read the chip version (from VSR)
mask with 0C0H and verify non-zero value for NAT7210
set minor and major addresses
set address mode to 31H (for TI SN75...)
set initial spoll value
set ppoll configuration
set auxa to 9CH (8 bits, EOI, EOS, normal receive mode)
set auxb to 0A2H (int, slow, spoll, eoi
, no cpt)
set auxg to 41H (ches)
send hldi command (51H)
set eos to 'LF'
set int mask 1 to 3FH
set int mask 2 to 7
page in (50H) and globally enable interrupts (write 80H to IMR0)
send command 0 (immediate execute power on)

Thanks.
0 Kudos
Message 4 of 13
(4,040 Views)
I don't see anything wrong with this code. Which interrupt are you expecting that you are not getting and when do you expect it?
0 Kudos
Message 5 of 13
(4,040 Views)
As can be seen from the initialization code, I'm expecting interrupts on:
Address status change
Remote change
Lock change
Ready to send a byte
Byte received
End received
Error
Device clear
Device trigger

The thing is that the INT pin is not asserted at all (the chip does not generate interrupts) when the device is addressed on the GPIB - and this is only on the BPD. The APD works fine.

Any ideas?
0 Kudos
Message 6 of 13
(4,040 Views)
When your device becomes addressed on the GPIB can you manually read ISR2 and and see if ADSC is set? Also read the ADSR to see if you are listen/talk addressed.

If the ADSC bit in ISR2 is set and the INT pin is not asserted, try re-writing IMR2 with the ADSC IE bit set and see if that causes INT to assert.

If the ADSC bit in ISR2 is not set, the 7210 did not detect the addressing command. Do you get any errors from the GPIB controller that indicate the GPIB transfer to the 7210 did not complete?
0 Kudos
Message 7 of 13
(4,040 Views)
When the controller (in the PC) tries to communicate with my instrument I get time out errors on every operation. It looks like the GPIB transfer to the 7210 did not complete.

I've tried reading the two interrupt status registers (following communications attempts) and I get 0's in both (not even an error indication).

Looks like the chip does nothing. I suspect a problem with the clock.
0 Kudos
Message 8 of 13
(4,040 Views)
Some things to check are the clock and the reset signal.

How many boards do you have that show this problem? If it is just a few it could be a manufacturing problem with the 7210, transceivers, or GPIB connector. Have you tried taking a board that originally had a NAT7210APD on it and relacing it with a BPD?
0 Kudos
Message 9 of 13
(4,040 Views)
Yes - the only way I've tested it is with an instrument that works fine with the APD chip.

And I've tested several BPD chips.
0 Kudos
Message 10 of 13
(4,040 Views)