Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

Interfacing a GPIB Chip to a Microcontroller

Which GPIB Chip do you recommend that I use to be interfaced with an 8-bit Microcontroller?

Initially this will be used to "listen" to the GPIB communications, but eventually be used to control a GPIB hardware.
0 Kudos
Message 1 of 21
(8,050 Views)
meledson wrote:
> Which GPIB Chip do you recommend that I use to be interfaced with an
> 8-bit Microcontroller?
>
> Initially this will be used to "listen" to the GPIB communications,
> but eventually be used to control a GPIB hardware.

I've been experimenting with this.
PIC 16F877A can be hung directly on the bus to monitor activity
and send it out the rs232 port. At 4MHz clock, the thing will run
powered by the GPIB bus thru the PIC input protection diodes.
I used it as a demo aid to send demo screens to a TDS540 scope at a
swapmeet.
It's not fast, but it works. Can also control one instrument nicely.
Probably not gonna work with a fully loaded bus...not input protected...
not robust...certainly not something you'd want to do in a production
environment...but i
t works with one GPIB target.
mike

--
Return address is VALID.
500MHz Tek DSOscilloscope TDS540
Wanted, 12.1" LCD for Gateway Solo 5300. Samsung LT121SU-121
Bunch of stuff For Sale and Wanted at the link below.
http://www.geocities.com/SiliconValley/Monitor/4710/
0 Kudos
Message 2 of 21
(8,048 Views)
If you are looking for a GPIB Controller that will work nicely with an 8-bit microcontroller, I recommend the NAT7210 or NAT9914. Both are pretty equivalent. If you have experience with a 7210 or 9914 that may sway your decision.
0 Kudos
Message 3 of 21
(8,048 Views)
Manuals for both of these chips can be found here:

http://www.ni.com/support/gpib/reg_prog.htm

Scott B.
National Instruments
0 Kudos
Message 4 of 21
(8,048 Views)
My initial assesment is that I will use the Atmel AVR ATmega64 that runs at 16Mhz. The GPIB chip that I am initially planning to use is the TNT4882.

I choose the Mega64 because of it's 64K external memory addressing where I will map the TNT4882 and add more SRAM just in case the on board 4K SRAM is not enough for future applications.

Another reason is that I am targetting to achive the maximum speed of IEEE488 and possible support for HS488. A 16Mhz AVR is not enough for HS488 to run at full speed.

BTW, this is the first time I will have a GPIB project.
0 Kudos
Message 5 of 21
(8,048 Views)
If you want to support HS488 your options are limited to the TNT4882 or the TNT5002. What voltage level is the microprocessor IO compatible with? The TNT4882 will drives 5V but can be driven using typical 3.3V signaling levels. The TNT5002 drives 3.3V.

The TNT4882 is a 100 QFP while the TNT5002 is a 144QFP, so if space is a concern the TNT4882 has an advantage.

If you use the TNT4882 you should use One-chip mode. One-chip mode is a superset of the 7210 register set. In One-chip mode the microprocessor transfers data to a FIFO instead of using the CDOR/DIR as in 7210 mode.

The TNT5002 implements a software compatible One-chip mode in addition to a 9914 mode. However, the 9914 mode does not support HS488 as it is the software equivalent of a
NAT9914.

So, I think your decision should be based on the IO voltage level of the microprocessor and whether or not space is a concern.

Also, regardless of which part you choose, you may find that using the TNT5002 manual is easier than using the TNT4882 manual. The TNT5002 manual has an additional section that groups registers by GPIB functionality. Since both ASICs are software transparent, the TNT5002 manual can be used with either ASIC. Of course, the electrical and mechanical data in the TNT5002 manual are specific to the TNT5002.

Good luck on your project!
0 Kudos
Message 6 of 21
(8,048 Views)
ATmega64 is a 5-Volt (4.5 to 5.5 Volts) device, but it has a cousin ATmega649 than can be operated from 2.7 to 5.5 Volts but has no external RAM capability. Another cousin of these 2 is the ATMega64L, 2.7 to 5.5, with external SRAM capability, but runs only at 8MHz maximum. The other 2 runs at 16MHz. What is nice about this 3 is that they nasically have the same foot print/pin configuration (64TQFP).

Too basd that the TNT4882 and the TNT5002 does not have the same foot print. You know, just in case....

Atmel AVR do not support DMA. I will only be able to use FIFO and hardware interrupt.

As of now space is not a concern. In fact, the ATmega64 is relatively high spec RISC MCU. I am planning to do a "universal" MCU module that I can
add peripherals later on. Such as an RS-232, LCD, keypad, Ethernet, USB, etc.

For now, I will stick to the ATmega64 and TNT4882 tandem, I neede the external SRAM capability for other I/O (memory mapped).

Your reply has been very useful! Thanks! Will keep you posted when I start the project hopefully next month and will be providing updates on the progress.
0 Kudos
Message 7 of 21
(8,048 Views)
I wanted to add that neither the TNT5002 nor the TNT4882 have GPIB controller capability, if that is a concern to you (you had mentioned it in your earlier post). Hopefully you can still use these chips in your project.

Scott B.
National Instruments
0 Kudos
Message 8 of 21
(8,048 Views)
If I would want to add controller capability, will there be additional hardware changes if I will use TNT4882C?

Of course there is an NDA.
0 Kudos
Message 9 of 21
(8,048 Views)
I would encourage you to contact your sales person in regard to purchasing the TNT4882C. I'm not what requirements we have for someone to purchase this product.

Scott B.
GPIB
National Instruments
0 Kudos
Message 10 of 21
(8,048 Views)