0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于工控机和EPLD实现GP-IB接口通信的设计

电子设计 来源:电子产品世界 作者:栗永强,布乃洪 2021-05-28 11:45 次阅读

基于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 存储器读周期时序

结语

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

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 接口
    +关注

    关注

    33

    文章

    7635

    浏览量

    148459
  • 工控机
    +关注

    关注

    10

    文章

    1340

    浏览量

    47783
  • 总线
    +关注

    关注

    10

    文章

    2704

    浏览量

    87206
收藏 人收藏

    评论

    相关推荐

    新手请教关于工控机控制伺服电机的问题

    手上有安川电机和伺服器一套,伺服器上有支持串口通信接口,串口通信的协议为MODBUS。。本来这个接口设计是给PLC用的,如果我在工控机LA
    发表于 09-28 18:09

    基于GP-IB接口/单片系统实现光功率

    的串口通信控件实现和单片通信,同时完成在Access数据库中对测量光功率值数据的存储。其命令格式和光功率计本身命令格式相同。5 结果 利用上述单片
    发表于 11-27 11:45

    怎样选择合适的工控机

    ,都是根据现场使用的设备情况综合来考量的,配置太高不能完全的发挥工控机的效率也是一种浪费,配置太低,可能对现场的运行速度,功能方面都会打折扣,也降低了生产效率。5、扩展性要考虑工控机接口类型需要
    发表于 09-26 10:09

    怎样选择合适的工控机

    接口类型需要哪些,是否有RS-232/485、CPCI、USB、Profinet等种类的接口,如果购买的不是工控机整机而是组装机,注意在选择板卡的时候考虑接口问题。  6、品牌  
    发表于 12-10 16:29

    工控机的日常维护方法及步骤

    使用的操作系统 4.确定故障的近似点,首先在某个点收集 5.块功能的完整原理(例如电源,控制,接口等) 6.一般原理和测试(整机) 二、工控机工控机触摸屏常见故障现象 1.工控机开机时有显示屏,但屏幕
    发表于 04-10 16:10

    四元数数控:深圳工控机怎么选择合适的?

    的配置,都是根据现场使用的设备情况综合来考量的,配置太高不能完全的发挥工控机的效率也是一种浪费,配置太低,可能对现场的运行速度,功能方面都会打折扣,也降低了生产效率;5、扩展性要考虑工控机接口
    发表于 12-28 14:52

    用单片工控机无法直接通信怎么解决?

    今天用stm32串口转232和工控机通信时,通过笔记本的串口助手与单片工控机通信时都很正常,收发都没有问题;但是一用单片
    发表于 01-19 07:02

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

    基于PCI总线的GP-IB接口电路设计 摘要: 主要介绍作为从设备如何根据PCI总线协议设计PCI总线接口电路,从而实现基于PCI总线的GP-IB
    发表于 12-26 15:14 1187次阅读
    基于PCI总线的<b class='flag-5'>GP-IB</b><b class='flag-5'>接口</b>电路设计

    数字化医疗仪器及GP-IB通用接口总线的介绍

    GP-IB(General Purpose Interface Bus)---是国际通用的仪器接口标准。 一、GP-IB标准接口系统的基本特性 该标准包括
    发表于 11-20 17:35 2次下载
    数字化医疗仪器及<b class='flag-5'>GP-IB</b>通用<b class='flag-5'>接口</b>总线的介绍

    工控机如何实现多屏显示

    本期上海研强给大家分享的是工控机如何实现多屏显示,希望看完本篇文章您能对工控机有一个全新的认识!
    发表于 07-09 16:55 5293次阅读

    工控机可以实现多屏同步显示吗

    在我们日程生活当中,经常会看到一些工控机多屏同步显示或者多屏 异步显示,这种方式的屏幕展现会让人觉得视觉效果非常的好。那么工控机能够实现多屏同步显示吗?怎么才能实现
    发表于 07-19 17:23 1426次阅读

    工控机接口类型都有哪些

    我们经常会拿工控机去跟普通家用电脑进行对比,其实,两者之间最大的区别是功能不同,而功能不同最主要提现在接口类型上。工控机接口类型有哪些?得先从工控机
    发表于 05-30 15:13 3384次阅读

    工控机的技术要求 工控机的系统有哪些

    的控制任务和数据处理。存储器:工控机需要具备足够的内存和存储空间,以保证高效的数据处理和存储。接口工控机需要支持多种接口类型和通信协议,能
    的头像 发表于 11-11 08:07 674次阅读
    <b class='flag-5'>工控机</b>的技术要求 <b class='flag-5'>工控机</b>的系统有哪些

    多网口工控机是什么?它的优势又有哪些?

    多网口功能:多网口工控机通常拥有多个以太网接口,这使得它能同时与多个设备、系统或局域网进行通信。多网口的设计使得工控机可以同时处理多个网络连接,从而
    的头像 发表于 02-04 13:42 308次阅读

    探索国产工控机的多元I/O接口世界

    高效的输入/输出(I/O)接口,以适应多样化的设备连接和数据通信需求。广州市金其利在此为您详细介绍国产工控机中常见的I/O接口类型。 1. 串行通信
    的头像 发表于 04-08 14:26 179次阅读