2.5 三态 I/O 通道 需要注意的是芯片数据通道中八条数据线与控制数据流向的八条控制线都是双向的,所以必须对 I/O 通道进行设置。实现双向总线,就需要使用可编程逻辑器件的双向口构造双向
三态总线。三态总线的实现,需要使用三态缓冲器,实现高、低电平和高阻三个状态。基于ALTERA 公司的 CPLD 系列器件的特点,我们在设计的时候,内部避免使用双向的三态总线, 将双向的信号分别直接引到外部。在外部设计双向三态总线。设计中采用图形方式输入,利用参数化模块库(LPM)实现。这种方法尤为清晰简便。如图所示:
图 2 三态总线的实现
在这里用 TE 信号来作为三态总线的方向控制信号。不考虑控功能,当本设备处于并行点 名状态,或者作为非命令数据的源接受方时,TE 信号为真,即 TE=PPAS+~SIDS。
2.6 GPIB 总线中的三线挂钩技术的实现 三线挂钩技术是本设计的关键,因为在总线传输中,所有的命令和数据的传送都要通过三线挂钩来实现。
GPIB 总线中的三线挂钩技术(DAV、NRFD、NDAC)可以自动适应测试系统中各种不 同器件的传输速率。源方作为讲者或者控者的器件,发 DAV 消息。受方作为听者的器件,发NRFD、NDAC 消息。三条握手线,DAV 线、NRFD 线和 NDAC 线,用于控制设备之间消息 字节的传送。发送消息方(源方)和接收消息方(受方)利用这 3 条握手线进行三线挂钩,以保证数据线上的消息(命令或数据)能准确无误地传送。
图 4 本设计三线挂钩仿真图
通过对系统的仿真,对比 NI 公司的 GPIB 控制器 NAT9914 数据手册上的三线挂钩的时序图可以看出,本设计成功地实现了三线挂钩的要求。
2.7 系统调试
调试是软硬件设计过程中必不可少的一环。最终程序通过 ByteBlaster 专用下载电缆下载EPM3256ATC144-10 芯片中,将下载好程序地 CPLD 取代原来系统中的 NAT9914 进行在线 调试。通过反复的试验,成功地实现了 CPLD 替代 GPIB 控制器的大部分功能。
3. 结 论
本文的创新点:采用低成本的 CPLD 器件替代了价格昂贵,且难以购买的 GPIB 控制芯片, 成功的实现了具有自主知识产权的 IP CORE,并且所有核心模块完全采用 VHDL 语言实现, 能够在不同的开发环境上移植,可以根据不同的应用环境,对其进行进行剪裁和优化,不仅大大节省了成本,而且具有很大的灵活性。