Porting a 9914 Design to Use the TNT4882
Overview
This document describes considerations related to porting an IEEE 488 device based on the 9914 chip to the TNT4882 chip. The TI TMS9914A, a common IEEE 488 interface chip used in many instruments, is no longer produced. National Instruments makes the NAT9914, which is a drop-in replacement for TMS9914A. However, in some applications, it may be preferable to port the old hardware and software design to the more powerful TNT4882 IEEE 488 interface chip.
The register set of the TNT4882 is a superset of the 9914 register set. So, most software written for the 9914 can be used on the TNT4882 with only minor changes.
Hardware Considerations
The TNT4882 has several Architecture Modes. Chapter 2 of the TNT4882 Programmer’s Reference Manual describes these modes. If you intend to use 9914 code, we recommend that you use the Turbo+9914 architecture mode. If you will be writing mostly new code, we recommend that you use the One Chip architecture mode.We recommend that you use the Generic Pin Configuration of the TNT4882. Refer to Chapter 5 of the TNT4882 Programmer’s Reference Manual. It is possible to change architecture modes using software; however, you can also choose an architecture mode using hardware. To choose the Turbo+9914 mode, connect the MODE and SWAPN pins to GND.
Register Map
Once the TNT4882 is in Turbo+9914 mode (with the SWAP bit set), use the Register Map shown on page 6 of the TNT4882 Data Sheet (in the top half of the map, use only the columns labeled 9914 Mode Swapped).
You can also use the register map shown in Table 3-6 of the TNT4882 Programmer’s Reference Manual. Note that the 9914 registers appear at different offsets than the TI TMS9914A.
Chip Initialization
If you use the MODE and SWAPN pins to select Turbo+9914 mode (as described above), you need to add only one item to the beginning of your chip initialization code:
Write the SOFT RESET command (22 hex) to the Command Register (CMDR)
This statement resets the Turbo488 circuitry of the TNT4882. After issuing the SOFT RESET command you can configure and use the chip as you would the 9914.
Using Interrupts
9914 interrupts generated by IMR2, IMR1, and IMR0 do not directly drive the TNT4882 interrupt pin; 9914 interrupts assert the internal TLCINT signal. By setting the TLCINT IE bit in IMR3, you can force 9914 interrupts to generate TNT4882 interrupts. See the Hardware Interrupts section in Chapter 4 of the TNT4882 Programmer’s Reference Manual.
Using DMA
The 9914 uses DMA to read and write bytes directly to the DIR and DOR registers. The TNT4882 performs DMA accesses to and from the internal FIFOs in Turbo+9914 mode. The 9914 DMA signals (ACCRQ, ACCGR) cannot be routed to external TNT4882 pins. So, if your design requires DMA accesses to the 9914, you will need to either convert these accesses to programmed I/O or use the TNT4882’s FIFOs. See the GPIB Data Transfers section in Chapter 4 of the TNT4882 Programmer’s Reference Manual.
Related Links:
TNT4882 Data Sheet
TNT4882 Programmer Reference Manual
Reader Comments | Submit a comment »
Legal
This tutorial (this "tutorial") was developed by National Instruments ("NI"). Although technical support of this tutorial may be made available by National Instruments, the content in this tutorial may not be completely tested and verified, and NI does not guarantee its quality in any way or that NI will continue to support this content with each new revision of related products and drivers. THIS TUTORIAL IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND AND SUBJECT TO CERTAIN RESTRICTIONS AS MORE SPECIFICALLY SET FORTH IN NI.COM'S TERMS OF USE (http://ni.com/legal/termsofuse/unitedstates/us/).
