4 软件编程
TNT4882是一种需要软件编程的集成电路。其内部各个寄存器的状态决定或标志着芯片及GPIB的工作状态。在GPIB接口设计中,只有通过编程对寄存器进行正确设备,才能实现对GPIB的各种操作。以下是编程的基本思路和注意事项。
4.1 芯片初始化
最典型的初始化程序需完成以下工作:
(1)复位TNT4882器件中的Turbo488电路;
(2)将TNT4882设置成Turbo+7210模式;
(3)将TNT4882设置成单片机模式;
(4)使Local Power-On信号有效;
(5)配置TNT4882以为GPIB操作作准备,其具体任务是设置TNT4882的GPIB地址、设置初始串行轮询响应、设置初始并行轮询响应、清除或设定中断、设置GPIB握手参数等。
(6)清除Local Power-On信号,开始GPIB操作。
上述工作只是编程时考虑实现各种功能的基本原则,设计得可以根据自己的实际需要,对TNT4882进行适当的编程,而没有必要完成每种功能的设置。
4.2 GPIB数据传输
用TNT4882进行GPIB数据传输时,需经历初始化、数据传输和传输终止三个阶段,传输初始化步骤如下:
(1)正确设置TNT4882的地址模式。在GPIB写操作之前,应将TNT4882设置成讲状态;而在GPIB读操作之前,要将TNT4882设置成听状态;
(2)清空FIFO,为数据传输作准备;
(3)向配置寄存器中写入正确的控制字以设定传输参数;
(4)将欲传输字符个数的二进制补码写入计数寄存器;
(5)如果需要的话,可以设置DMA参数并使用DMA方式进行传输;
(6)根据需要,合理设置或清除中断;
(7)向TNT4882发送传输命令。
在传输初始化完成之后,就可以在系统内存和GPIB之间传输数据了。此时,所要考虑的只是如何协调内存和FIFO间的工作,而TNT4882会自动管理FIFO与GPIB间的数据传输。通常可以选择两种传输方式:DMA方式和程序控制方式。若使用DMA方式,则必须在传输初始化时对TNT4882进行正确设定。如果使用程序控制方式,则需设计控制程序来对数据传输进行管理。控制程序的基本流程如图4所示。
当数据传输终止时,还应进行以下几步操作:
(1)向TNT4882发送停止命令;
(2)若使用了DMA方式,还需禁止外部的DMA控制器;
(3)清除所有的中断设置。
5 结束语
使用TNT4882时,除了要求外接一个40MHz的外部时钟以外,几乎不需要其它任何辅助电路,因而大大简化了接口电路的设计和开发。通过笔者的实验证明:TNT4882是一款廉价的、高性能的GPIB接口专用芯片,是GPIB接口设计的理想选择。





