基于PCI总线的GP-IB接口电路设计与实现

发布者:SparklingMoon最新更新时间:2011-08-01 关键字:PCI总线  GP-IB接口电路 手机看文章 扫描二维码
随时随地手机看文章

       前言

  基于PCI总线的GP-IB接口电路框图如图1所示,工控机采用PCI-104堆栈结构,通过PCI总线和EPLD相连,数据总线为32bit,传输速率为33MHz。EPLD完成PCI总线接口电路的设计和NAT9914接口芯片的控制,通过驱动芯片75160和75162完成GP-IB的接口通信。在此重点介绍EPLD内部电路设计。

 

  图1  GP-IB接口电路结构框图

        EPLD内部电路设计

  PCI局部总线很复杂,PCI局部总线也在不断的发展中,现在已经衍生有CPCI、PCI EXPRESS等总线标准。PCI局部总线定义的功能很强大,当然如果需要将所有的PCI局部总线的要求都能实现,购买PCI局部总线的专用集成电路或IP核是最佳选择,因为PCI局部总线的硬件设计过于庞大,全部实现有一定的难度。如果设备只是作为从设备,根据设计要求实现起来也不是很复杂,很多功能如仲裁、边界扫描及错误报告等功能就可以不用实现,甚至像奇偶校验、重试、突发传输等功能也可以不用实现。

  根据GP-IB接口卡的功能,本文主要介绍在EPLD中实现PCI总线接口电路的设计,并且能够正确操作GP-IB总线协议的控制芯片NAT9914。EPLD的容量较小,我们采用XILINX公司的XC95288XL器件,只有288个宏单元,经过设计优化,最终成功装载。其实现原理框图如图2所示。

图2  EPLD内部电路框图

  PCI接口信号设计
  

  设计PCI接口信号很关键,PCI总线规范定义的信号很多,在设计过程中必须有所取舍。下面按照PCI总线规范的要求,根据设计电路的实际需求,设计如下接口信号:

  Rst : 上电复位信号,低电平有效。
  
  Clk : 时钟信号33MHz。
  Cbe[3..0] : 命令、字节使能信号。
  Ad[31..0] : 地址、数据多路复用的三态输入/输出信号。
  Frame : 帧周期信号,由主设备驱动,表示当前主设备一次交易的开始和持续时间。
  Irdy : 主设备准备好信号。
  Trdy : 从设备数据准备好信号。
  Devsel : 从设备被选中响应信号。
  Inta :从设备中断请求,低有效。

  在设计时舍弃的信号有:Par、Stop、Perr、Serr、Req、Gnt。  

  GP-IB接口芯片控制信号设计

  根据电路要求,设计如下接口信号,用来完成对NAT9914和驱动芯片的控制,实现PCI到GP-IB接口的转换。

  Target_clk: GP-IB接口控制芯片时钟,本方案设计为33MHz时钟的8分频。
  Target_rst:复位脉冲信号,低电平复位。
  Target_ce: 读写使能,高电平为读,低电平为写。
  Target_sc:标识GP-IB接口卡作为控者,还是作为普通器件。
  Target_we:写使能控制,低电平有效。
  Target_int_l:控制芯片中断输出,低电平有效。
  Target_abus:有效地址输出。
  Target_dbus:三态数据输入/输出总线。
  
  电路优化设计

  图2给出了PCI总线接口电路的原理框图,由于EPLD容量较小,在设计时必须尽量减少不必要的电路设计,并对电路设计进行优化,下面给出各电路模块的功能设计:

  译码电路
  

       PCI总线命令编码方式有12种,在本设计中我们只实现配置读、配置写、存储器读和存储器写四种编码交易类型。译码功能电路工作在地址周期,包括命令译码、地址译码和命令/地址锁存等三项功能。在Frame变低的第一个时钟周期内,译码电路对来自主设备的命令Cbe[3..0]进行译码,并向状态机控制模块发出是配置读写还是存储器读写命令,同时锁存地址。

  配置寄存器
  

  在PCI规范中,配置空间是一个容量为256字节并具有特定记录结构或模型的地址空间,该空间又分为头标区和设备有关区两部分。在配置寄存器中不用的寄存器当CPU读的时候,将默认为零。

  重试
  

  GP-IB控制芯片寄存器响应完全能够满足PCI规范的要求,不需要进行重试,这部分功能不再实现。

  奇偶校验
  

  在BIOS中可以对奇偶校验进行屏蔽和开放,为了减少设计的复杂性,奇偶校验功能在EPLD中没有实现,在BIOS中进行了屏蔽。

  NAT9914接口控制电路

  NAT9914接口控制电路主要完成内部总线到外设的时序控制。GP-IB总线接口采用的是负逻辑电平设计,考虑到EPLD的容量有限,在设计时数据传输不支持DMA模式,只支持单周期CPU读写。由于CPU读数据时延迟较大,在对PCI状态机设计时必须进行读延迟等待。
  
        状态机的设计与实现

  状态机的设计是整个设计中的核心部分,它主要用来控制从设备和PCI总线的时序。在本设计方案中,配置过程的完成和存储器的读写都是由状态机来完成的。由于EPLD的容量有限,GP-IB接口芯片的读写速度比较慢,在设计状态机时,不支持CPU的猝发操作。表1给出了状态机的状态名、状态变量和说明,图3给出了状态机的流程图。 

图3  状态机设计流程图

  下面根据状态机的流程图给出读、写操作时序分析与设计要点:

  PCI规范中定义了三种读写操作,即Memory和I/O读写及配置读写。本方案不支持I/O读写,只支持Memory和配置的读写,下面给出Memory映射方式的单周期仿真读写时序。
  
  存储器写操作

  存储器单周期写操作时序如图4所示,当frame为低电平时启动读写操作,同时给出要写的目标地址ad[31..0]和命令cbe[3..0]=7,cbe等于7表示写寄存器,从设备锁存命令和地址到缓冲区。在第2个clk,主设备将irdy变低,同时给出数据,状态机运行到6,锁存数据给缓冲区,trdy、devsel由高阻变为高电平。在第3个clk,devsel变低,给出主设备应答信号,表示从设备已经响应请求,状态机运行到7。根据写操作,target_we、target_ce变低,并对地址进行译码,放在地址总线上,同时驱动数据总线,表示在对控制芯片进行写操作。在第4个clk,检测到目标设备的target_ready_l为低电平,表示从设备已经做好接受数据的准备,状态机运行到8,将trdy变低。在第5个clk,状态机运行到9,trdy变高,同时主设备将驱动irdy变高,表示一个写周期结束。状态机运行到初始状态,等待下一次操作。target_ce、target_we将延迟变高,结束控制芯片写周期。


图4  存储器写周期时序

         存储器读操作

  存储器单周期读操作时序如图5所示,当frame为低电平时启动读写操作,同时给出要写的目标地址ad[31..0]和命令cbe[3..0]=6,从设备锁存该命令和地址。在第2个clk,状态机运行到6,进入读写等待状态,主设备将frame变高,表示单周期模式,trdy、devsel、由高阻变为高电平。在第3个clk,状态机运行到7,并给出应答信号devsel,检测到target_ready_l为高电平,状态机进入等待状态,直到为低电平,然后运行到读等待状态4。在状态机8,trdy变低,从设备将读数据放在ad[31..0]总线上。在状态机9,trdy变高,devsel变高,同时主设备将irdy变高,结束单周期读操作。devsel、trdy回到高阻状态,状态机运行到初始状态,准备下次操作。

图5  存储器读周期时序

  结语

  本设计占用芯片的资源少,可移植性强,根据设备不同的需求可以进行设计更改,在很多测试仪器中都得到了广泛的应用。

        参考文献:

  1.李贵山、陈金鹏,PCI局部总线及其应用,西安电子科技大学出版社,2003
  2. 候伯亨、顾新,VHDL硬件描述语言与电路设计,西安电子科技大学出版社,1997

关键字:PCI总线  GP-IB接口电路 引用地址:基于PCI总线的GP-IB接口电路设计与实现

上一篇:基于PCI总线的D/A数据输出板驱动程序的开发
下一篇:工业接口RS-485的设计应用指南

推荐阅读最新更新时间:2024-05-02 21:31

基于CPCI总线的脉冲信号检测系统设计
  在工业控制领域,通常有大量的脉冲信号用于控制其他设备或部件的开关或者工作状态切换。这些脉冲信号除了常规计算机系统采用的+5 V接口电平外,还有+12 V、+30 V,乃至更高幅度的接口电平,通常为功率型电流驱动信号。本文提出了一种两级测试系统的设计思路,给出了在较宽的范围内兼容不同接口电平的脉冲信号检测系统的设计方案,采用标准CPCI总线接口设计,具有良好的兼容性和扩展性,适用于产品功能测试或系统集成测试。    1测试系统架构   如图1所示,测试系统采用二级(主控机、下位机)结构设计,由主控计算机(即主控机)、测试客户机(即下位机)、局域网、电缆及运行于各设备中的测试软件共同构成。主控计算机属主控机一级,控制测试客
[嵌入式]
嵌入式系统中PCI总线仲裁器的设计与实现
PCI(Peripheral Component Interconnect)总线是现今最为流行的工业控制总线之一。它广泛地应用在计算机中,并且由于众多厂商对PCI的良好支持,使得目标嵌入式设备中的很多解决方案都包含了PCI总线。在多主设备的PCI系统应用中,必须对各个主设备提供仲裁授权信号。很多厂家有针对性地发布了PCI仲裁逻辑的专用芯片或者集成了PCI重载逻辑的专用芯片,但使用不够灵活,为了使PCI设备能够更方便地应用在嵌入式系统中,本文介绍了一种基于CPLD(复杂可编程逻辑器件)的PCI总线仲裁器的设计方法,此方法可以为系统量身定制适合于系统本身的PCI总线仲裁器。而不必局限于特定的芯片要求,在体积、功能、成本等诸多方面都有很
[应用]
获取PCI总线上任何配置头信息
原创来自于《windows驱动开发技术详解》。PCI由设备存储信息,I/O地址空间和接下来要着重显示的配置空间。前两者可以通过配置空间的Base Address Register 获取。(之后的博文都采用WDM分层驱动结构,如果之后学习了WDF结构,那全部改用最新的驱动结构,这样可以让驱动在 win7或更高系统上运行。) 书上用的是传到驱动层,然后在操作端口,获取的数据在应用层显示。不过这种方法不是很喜欢,比较喜欢在驱动层开启I/O位图位,然后让应用层拥有端口操作权限。所以,在看本博文之前,请先熟悉之前的关于在应用层开启端口操作权限的相关函数讲解的博文,写好一个驱动,能开启端口读取权限。然后再继续阅读本文。 以下是类型0的PCI
[嵌入式]
基于PCI总线的网络卫士隔离卡的硬件设计
引言 由于网络终端设备的大部分数据都存储在硬盘上,因此,数据安全的核心是硬盘数据的安全,其保护手段之一是物理隔离技术。本文设计的双硬盘网络卫士隔离卡用于将普通计算机分为安全环境(内网)和开放环境(外网),内网和外网使用不同的硬盘,并且连接到不同的网络,从而能够避免硬盘中的重要数据通过网络等方式泄露。一般的双网卡方案、多重引导卡或者多用户管理卡只是在逻辑层提供硬盘数据隔离,而网络卫士隔离卡的特点主要是在物理层提供硬盘数据隔离,确保更高的数据安全性。网络卫士隔离卡基于PCI总线,采用了先进的物理隔离技术,不仅能保证网络终端设备的信息安全,而且使用方便、可靠、高效。 总体设计方案 网络卫士隔离卡的工作原理是:利用PCI总线的扩展
[嵌入式]
基于PCI总线技术的NO.7信令采集卡研制
由于目前NGN网络是一个以软交换为核心并由PSTN网络和VoIP网络融合在一起的复杂网络,多种接口、多种协议、多媒体并存,PSTN与VoIP设备的兼容性、VoIP网络内部不同设备提供商的设备兼容性、网络设计性能与实际部署性能的差异性、语音质量的差异性等挑战都严峻地摆在运营商面前。于是就要求NGN网络运营商能够对其网络性能进行测试和分析,NGN网络测试仪能够解决这样的问题。 本NO.7信令采集卡是基于PCI总线技术设计的,主要完成的功能为物理层的数据采集和HDLC链路控制。本卡根据协议的选择主要完成NO.7信令的采集,并把数据送到NGN网络测试仪的上层软件进行分析。 NO.7信令采集卡的总体设计方案及硬件实现 NO.7信令采集卡是NG
[测试测量]
基于<font color='red'>PCI总线</font>技术的NO.7信令采集卡研制
基于PCI总线的数据采集卡的设计与实现
0 引言 LabvIEW是美国NI公司的创新产品,也是目前应用最广、发展最快、功能最强的图形化软件开发集成环境。 数据采集卡是虚拟仪器的重要组成部件,其性能指标直接影响虚拟示波器的采样速率、精度等主要指标。 PCI总线是一个地址/数据、命令/字节选择信号复用的总线,它采用主从信号双向握手的方式来控制数据的传输。PCI总线具有即插即用、兼容性强的特点,能提供32/64位,33/66MHz的DMA(直接内存访问)数据传输方式,使得它工作时不受计算机内存大小的影响,传输速率最高可达133Mb/s,这些特性使得它的应用范围很广,能够适用于多种体系结构,多种工作平台,也很容易升级,为未来的发展留有足够的空间。上述这些优良特性正是
[测试测量]
基于<font color='red'>PCI总线</font>的数据采集卡的设计与实现
PCI总线在图像采集卡中的重要作用
自90年代初,PCI局部总线规范开始应用以来,直到现在共有三种总线结构。 其一,PCI-32。其最高理论速度为132Mbytes/S,到如今已在市场上持续应用十余年的时间,是一种相对成熟、有效的总线结构,但随着各项应用对高速度要求的不断增加,PCI-32逐渐开始显得有些力不从心。 其二,PCI-X。PCI-X是在PCI-32的基础上扩展而来,数据宽度从原来的32位扩大到了64位,传输速度增加了一倍。但由于需要克服因在高速运行状态并行传送而产生的噪声影响,提高了PC主板的元件成本,所以PCI-X并未能够成为主流总线。 其三,PCL-E。PCI-E总线是点到点的总线拓扑结构,采用串行和打包数据的方式传送数据,PCI-E是可以剪裁
[嵌入式]
PCI总线接口芯片PCI9054及其应用
PCI9054是PLX公司推出的一种PCI主模式桥芯片。本文主要介绍了它的特性、功能及应用,说明了以PCI9054作为接口芯片,开发PCI总线扩展卡的硬件框架图,最后给出一个简单的实例。 关键词:PCI总线;局部总线;PCI9054  一、 引言 PCI 总线是英特尔公司推出的一种高性能局部总线,其数据总线为32 位,且可扩展成64 位,最大数据传输速率为128- 256MB/ s,远远大于ISA总线5Mbyte/s的速度,是目前使用广泛的一种总线,可以支持突发传送。PCI总线与CPU无关,与时钟频率也无关,因此它可以应用于各种平台,支持多处理器和并发工作。 PCI总线协议比较复杂,用户可以根据具体实际需求选择相应的开发方
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved