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

    文章

    8486

    浏览量

    150807
  • 工控机
    +关注

    关注

    10

    文章

    1680

    浏览量

    50431
  • 总线
    +关注

    关注

    10

    文章

    2864

    浏览量

    87973
收藏 人收藏

    评论

    相关推荐

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

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

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

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

    嵌入式无风扇工控机和传统工控机的结构区别与优势分析

    传统的工控机和无风扇嵌入式工控机的区别,主要可以分为在结构上、在功能上来区别开,传统工控机由于其主板的驱动能力和监容性问题会给实际系统应用带来不便,更会因为缼少主流的接口而给客户带来采
    发表于 09-23 11:48 10次下载

    数字化医疗仪器及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>总线的介绍

    如何选购正确的工控机

    随着信息化需求的增长,工控机的使用越来越广泛,已遍布工业自动化、自助终端、医疗设备、轨道交通、通信、金融、网络安全等领域。面对各式的工业环境,选择满足要求的工控机至关重要。如何选购正确的工控机
    发表于 06-08 14:27 1364次阅读

    工控机如何实现多屏显示

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

    工控机接口类型都有哪些

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

    工控机是干嘛的_工控机和电脑的区别

    工控机是一种专门用于工业控制领域的计算机设备,其主要功能是实时控制和监测工业生产过程中的设备和系统。   工控机通常采用高性能的处理器、大容量的存储器和可靠的输入输出接口,能够快速、准确地获取
    发表于 03-15 09:40 1931次阅读

    工控机的尺寸设计及常见安装方式

    工控机的尺寸设计是根据具体应用需求和环境来确定的。在设计工控机的尺寸时,通常需要考虑以下因素: 功能需求:根据工控机需要实现的功能,确定其所需的硬件配置和
    的头像 发表于 07-14 16:31 916次阅读

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

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

    工控机的用途与介绍-研华工控机

    个人电脑相似,包括主板(CPU、内存等)、硬盘、输入输出接口和电源等,但它的设计更为稳健,通常具备防尘、防潮、防震、抗干扰等防护功能,能够在恶劣的工业环境中稳定运行。接下来就随苏州研讯电子科技有限公司一起来看看工控机的用途与介绍-研华
    的头像 发表于 03-21 11:02 1190次阅读
    <b class='flag-5'>工控机</b>的用途与介绍-研华<b class='flag-5'>工控机</b>

    工控机怎样度 CAN 总线

    随着中国智能科技的快速发展,越来越多的行业对工控机提出了采集和控制的需求。特别是在高铁、地铁和航空等领域,工控机需要配备 CAN 总线接口。然而,由于 CAN 总线接口的价格差异,许多
    的头像 发表于 06-18 09:51 372次阅读

    工控机com口识别,如何设置研华工控机的端口

    。下面就随苏州研讯电子科技有限公司一起来看看工控机com口识别,如何设置 研华工控机 的端口吧。 工控机COM口识别:了解基础与关键步骤 COM口,即串行通信口,是一种在计算机与外部设
    的头像 发表于 06-18 16:00 708次阅读
    <b class='flag-5'>工控机</b>com口识别,如何设置研华<b class='flag-5'>工控机</b>的端口

    聚徽触控-嵌入式工控机与传统工控机有什么不同

    、互联网、通信、仪器仪表、车辆、船只、航空、航天以及军用装备等多个领域。那么,嵌入式工控机与传统的工控机之间究竟有何不同呢?
    的头像 发表于 07-24 09:31 352次阅读

    工控机怎么编程?工控机是如何控制设备的?

    工控机是工业控制的核心设备,在不断智能化的今天,工控机发挥了重要作用。为增进大家对工控机的认识,本文将对工控机和电脑的区别、工控机控制设备的
    的头像 发表于 10-31 12:41 173次阅读