您当前的位置:五五电子网电子知识单元电路接口电路基于GAL的VME总线接口电路及程序设计 正文
基于GAL的VME总线接口电路及程序设计

基于GAL的VME总线接口电路及程序设计

点击数:7827 次   录入时间:03-04 11:54:41   整理:http://www.55dianzi.com   接口电路

  摘要:根据VME 总线 规范和协议要求,基于GAL 芯片 进行了VME总线地址译码、数据读写及中断控制 接口 电路 的设计,完成了电路板设计和研制,试验研究表明其功能满足要求,文中所提出的设计思路方法合理可行。

  1 引言

  VME 总线由于具有良好的物理特性、严格的技术规范和与 微处理器 接口灵活的特点而 被广泛应用于雷达、声纳等大规模并行多处理器系统[1],在国内外船舶机舱自动化 控制系统 中也有成功应用。用户在开发基于VME 总线的信号采集模块时,首先必须考虑和解决的是 与VME 总线的接口问题。本文采用基于GAL 芯片实现VME 总线接口电路的思路,对VME 总线接口设计问题进行了深入研究。文中通过软件技术实现了VME 总线地址的译码以及数 据读写与中断逻辑控制,有效简化了硬件电路的设计。

  2 接口设计功能要求

  根据 VME 总线规范和本题具体任务需求,本文设计的VME 总线接口电路为一从控设 备接口电路(Slave Interface),接口的数据总线宽度和地址总线宽度均为16 位。主要接口功 能要求如下:

  1)产生电路板本身的程序复位和硬件复位信号;

  2)产生I/O 读、写信号及数据总线 接口芯片 片选信号;

  3)产生与VME 总线的应答信号、数据选通信号,控制数据传送方向;

  4)具有中断请求功能:可设定的中断请求级;可编程中断向量;支持中断响应菊花链。

  3 主要接口电路设计与功能实现

  3.1 接口设计原理

  通过比较研究,本文选用 LattICe 的通用阵列逻辑(GAL)芯片来完成接口 逻辑电路 设 计。GAL 芯片是Lattice 公司开发的电可擦写、可重复编程的PLD,具有结构简单,易于编 程等优点。本文采用3 片GAL 芯片进行接口逻辑电路设计,电路基本结构及原理如图1 所 示。图中2 片 GAL20V8 完成地址译码和读写控制,1 片 GAL16V8 完成中断请求控制,数 据接口采用通用总线接口芯片 Z8536 。Z8536 是一种带有两个8 位I/O 口、通用可编程的总 线接口芯片。通过对控制寄存器进行配置,可将这两个I/O 口作为两路8 位信号通道,或共 同构成一路16 位信号的通道。在本设计中,GAL 芯片将VME 总线*问Z8536 的信号进 行译码,再通过LA4 和LA5 对Z8536 各个接口及工作方式配置寄存器进行选择。VME 总 线借助Z8536 即实现对该从板上8 位或16 位数据的读写。


  图1 电路基本结构及原理

  3.2 地址译码和读写 控制电路 设计与功能实现

  地址译码电路要实现的主要功能是当主设备发出的地址有效信号AS*有效时,自动从 总线上获取地址和地址修饰码,然后根据地址修饰码配置本次地址传送的方式,再根据地址 发出相应的片选信号选择板上芯片。读写控制模块的主要功能是通过读写周期时序内产生的 DS0*、DS1*、WRITE*、LWORD*、IACK*等信号正确配置数据传送的形式, 控制板 上的 I/O 芯片的读写,并发出DTACK*信号还原主设备[2]。

  为满足以上要求,地址译码芯片上的CE[3~0]分别接4 片Z8536 总线接口芯片的使能端; 读写 控制芯片 上的RD 和WR 分别接Z8536 的读写使能端。通过这两块芯片,实现了VME 总线对该从板上各路信号的读写进行的控制。

  由以上分析及逻辑推理确定了 GAL 芯片要实现的功能以后,根据总线协议和硬件电路 即可得到相关信号之间的逻辑关系,本文据此完成了相应ABEL-HDL 程序编写并利用 Lattice 公司的专用 开发工具 ispLEVER5.1 对GAL 芯片程序进行了编译和仿真调试,其地址 译码控制过程仿真波形如图2 所示。


  图 2 地址译码控制过程仿真波形

  3.3 中段请求控制电路设计与功能实现

  VME 优先级中断机制采用菊花链,它用于在板与板之间传送一电平信号。它始于第一 槽而终结于最后一槽。系统可以提供IRQ 1 ~IRQ7 共7 个中断请求,其中IRQ7 具有最高优 先级。本文采用通过 跳线 设定优先级的方法。当中断处理器处理中断请求时,中断应答菊花 链 驱动器 启动中断应答菊花链工作,以确保只有一个中断器响应正在进行中的中断应答周 期。当主设备应答某个中断时,首先把IACK*信号驱动为低,表示当前周期是中断应答周 期,同时将相应的中断请求级别值放到A01~A03 上。而中断响应主要由中断响应输入 (IACKIN*)和中断响应输出((IACKOUT*)组成应答菊花链。若某一从设备发出中断请求,并 且响应的中断识别码和自己匹配,同时接到上一级传下来的有效的IACKIN*信号,则判断 是自己的中断响应,应该堵塞IACKOUT*信号,使之为高电平,否则应该继续下传 IACKOUT*信号[3]。根据上述的VME 总线中断处理机制和过程,可以设计出在Slave 模式 下,从设备通过GAL 芯片申请中断的控制逻辑。中断控制逻辑部分的ABEL-HDL 源程序 如下:


  图 3 是该程序在ispLEVER5.1 中的仿真波形图。在该图中,从设备板上的Z8536 通过 将INT 拉低请求一个权限为IRQ2 的中断,译码识别代码为010。由图可见,当A[3~1]为 010 时,菊花链停止传送,否则由IACKOUT 传出。


  图 3 中断请求控制仿真波形

  4 结语

  目前基于上述接口电路的VME 总线I/O 接口板卡设计研制工作已完成,并已成功应用 于机舱自动化控制系统原理样机中。试运行以来稳定可靠,表明本文设计思路方法可行,电 路及程序实现达到预期目标,为VME 总线接口逻辑功能的设计与实现提供了一条途径。

  本文创新点:VME 总线接口电路设计方法有多种,本文利用 可编程逻辑器件 ,通过软 件手段实现VME 总线地址译码以及数据读写与中断控制逻辑,使总线接口电路得到了有效 的简化。(微计算机信息 李雄涛,吴杰长,郭朝有)




本文关键字:程序设计  接口  接口电路单元电路 - 接口电路