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

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

3天内不再提示

基于STD总线提高数字I/O的使用效率

电子设计 来源:郭婷 作者:电子设计 2019-02-06 07:41 次阅读

工业控制领域,数字I/O以其简单、灵活的特性,得到了广泛的应用。以往对于数字I/O的应用和数量增加的方法通常用GAL和专用I/O芯片采用译码扩展等方式来实现,这种方式尽管能够满足一定程度上的要求,但对于更大数量的I/O应用,比如几十甚至上百路的数字I/O,就勉为其难了。为了满足这种要求,并且进一步提高数字I/O的使用效率,专门针对多路数字I/O进行了基于STD总线的设计,应用Xilinx公司CPLD进行编程开发,实现了64位数字输入DIN 0~DIN 31和64位数字输出DOUT O~DOUT 31,同时每一路I/O可以独立编程,既可以作为输入又可以作为输出。

1 STD总线

目前,STD标准总线已成为工业控制领域内最流行的标准总线之一,主要用于8位微处理机和单片机工业控制系统。STD总线的典型结构如图1所示。

基于STD总线提高数字I/O的使用效率

在工业控制系统的实际应用中,上位机、主控模块等往往需要通过STD总线,根据STD总线的协议、特性访问其他的单片机系统。例如,在某测量设备中,上位机、主控模块可以通过总线上的I/O模块、A/D模块接口,采集传感器的量值,通过STD总线访问RAM模块,以及通过STD总线进行主控模块与总线上其他控制器之间,主控模块与上位机之间的通信与数据交换等,构成了一个微型的工业控制网络。本文的多路数字I/O就是STD总线中的一个模块。

2 多路数字I/O的硬件设计

2.1 电路组成

主要由可编程逻辑电路、电平调理电路、总线接口电路以及电源电路等组成。可编程逻辑硬件采用Xilinx公司的CPLD器件XC95288,应用。Xilinx公司的Project Navigator(ISE)集成开发环境进行编程开发;电平调理电路采用74LS245,具有输入输出电平转换的功能,还可以通过接继电器或者光电隔离器与外设接口;总线接口电路采用74LS245,对74LS245的DIR(方向)进行读写编程,实现了与STD总线的数据通信,电源电路为CPLD以及电平转换电路等提供必需的电源系统。

硬件实现框图如图2所示,虚线框内为多路数字I/O的硬件电路部分。

基于STD总线提高数字I/O的使用效率

2.2 性能特点

数量多 CPLD芯片XC95288具有208个管脚,其中用户I/O管脚数量达到168个,除了地址总线、数据总线以及片选信号等所占用40个I/O之外,其余的128个I/0完全可以作为通用I/0编程使用;

面积小 如此众多数量的I/O,完全由一片CPLD来实现,简化了电路设计程序,减少了PCB的设计面积,又提高了数字I/O的稳定性;

灵活性高 由于每一个I/O都可独立编程,因此在使用过程中变得非常灵活,可以根据现场需求随时改变其输入、输出,在工业控制应用领域为产品的增强与升级提供了极大的灵活性。

此外,该设计还具有传输速度高(由CPLD的传输特性决定)及电平兼容性好等特点,可满足用户在测试、控制及设计应用中的多种需求。

3 多路数字I/O的程序设计

该系统使用业界领先的FPGA设计环境XilinxISE,其将先进的威廉希尔官方网站 与灵活性、易使用性的图形界面结合在一起,可以在最短的时间,获得最佳的硬件设计。XC95288 CPLD是低功耗3.3 V器件,288个宏单元,*00个可用逻辑门,168个用户I/O,再加上灵活、高度优化的VHDL硬件描述语言,实现了128位数字I/O的程序化设计。

3.1 部分程序代码

部分程序代码如下:

基于STD总线提高数字I/O的使用效率

其中:addr是10位地址总线;bd是8位数据总线;en_245和dir_245分别是STD总线接口芯片74LS245的片选使能与方向信号;tempx是片内寄存器;io_inx和outx分别是8位输入、8位输出I/O口。

3.2 性能描述

多路数字I/O口的选择由10位地址决定,不同的地址操作不同的。I/O端口,在I/O非动态情况下,数据总线处于高阻状态,避免了总线冲突,同时也提高了I/O端口的稳定性,减少了高速数据传输条件下引起不必要的错误,根据现场对I/O输入、输出的需要,可以修改程序,灵活改变端口的功能,另外,对于输出端口,加入了数据写出后读回的功能,使得上位机能够随时验证写出数据的正确性,对于外设信号,通过信号调理板实现电平匹配,进一步增加了本设计的功能可靠性。

4 结语

以CPLD器件为核心,选用Xilinx公司的ISE作为硬件开发平台,并采用VHDL编程语言,充分应用了可编程逻辑器件的特点,发挥了VHDL硬件描述语言的编程优点。减少了芯片数量,既做到了系统小型化又降低了成本。程序已通过综合实验,应用了STD总线的通讯特点,与总线上的其他板卡、设备通讯也极为方便,既解决了工业通信网络的一般问题,又达到了工业通用I/O的较高要求。总之,该多路数字I/O设计容量高、功耗低、速度快,不仅具有通用性、实用性,而且具有灵活性和移植性,便于调试,为高速I/O开发设计提供了一种很好的尝试,相信在很多行业都会有广阔的应用前景。

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

    关注

    455

    文章

    50816

    浏览量

    423660
  • cpld
    +关注

    关注

    32

    文章

    1248

    浏览量

    169367
  • 总线
    +关注

    关注

    10

    文章

    2881

    浏览量

    88090
收藏 人收藏

    评论

    相关推荐

    基于CAN 总线的智能I/O 站点设计

    CAN 作为一种可靠性高、价格低廉、威廉希尔官方网站 成熟、实现简单的现场总线威廉希尔官方网站 在众多领域得到了广泛的应用。本文以智能I/O 站点的设计为例介绍了CAN 总线威廉希尔官方网站 在数控系统中的应用。关
    发表于 05-25 11:53 15次下载

    数字I/O模块在数字电路板自动测试设备中的应用

    本文介绍了一种基于VXI总线数字I/O模块(型号为DIOM-64)在数字电路板ATE中的应用,内容包括模块的工作原理和测试设备的组成。该
    发表于 07-15 11:20 37次下载

    数字I/O介绍

    数字I/O脚有专用和复用。数字I/O脚的功能通过9个16位控制寄存器来控制。控制寄存器分为两类:
    发表于 09-16 12:20 19次下载

    基于SmartRail的I/O的介绍

    SmartRail |/O 是一个实时的,模块化的I/O 系统,它的出现大大扩展了OCS一体化控制器的应用领域。SmartRail l/O CSCAN 基座( CNX100) 利用CS
    发表于 09-25 14:55 14次下载

    STD总线及计算机和测控系统总线手册

    本文介绍了总线和网络及总线性能的比较,并对STD总线和S-100等总线做了详细的介绍与分析。
    发表于 11-17 16:39 13次下载
    <b class='flag-5'>STD</b><b class='flag-5'>总线</b>及计算机和测控系统<b class='flag-5'>总线</b>手册

    输入输出设备I/O设备总结

    I/O设备又叫输入输出设备。对于I/O bus 包含数据总线、控制总线、地址
    发表于 11-24 09:28 3643次阅读
    输入输出设备<b class='flag-5'>I</b>/<b class='flag-5'>O</b>设备总结

    第三代局域I/O总线的要求及使用PCI Express交换器提高性能

    PCI总线的出现已有10年之久,并将在未来数年继续扮演重要角色。然而,如今和与未来的处理器与I/O器件需要更高的I/O带宽,这已超出PCI
    的头像 发表于 04-12 08:08 3674次阅读
    第三代局域<b class='flag-5'>I</b>/<b class='flag-5'>O</b><b class='flag-5'>总线</b>的要求及使用PCI Express交换器<b class='flag-5'>提高</b>性能

    如何通过I2C总线I/O口实现系统的多个功能?

    随着单片机控制系统的不断扩大以及控制功能不断增多,有限的单个单片机通用I/O口已不能满足同一系统中控制多个受控对象需要,随着FC总线研究的深入,用I2C
    的头像 发表于 08-30 10:05 6467次阅读
    如何通过<b class='flag-5'>I</b>2C<b class='flag-5'>总线</b><b class='flag-5'>I</b>/<b class='flag-5'>O</b>口实现系统的多个功能?

    数字I/O模块的特点介绍

    速度替高70倍的数字I/O模块 (点击CC按钮,选择中文字幕)
    的头像 发表于 10-08 03:16 5647次阅读

    Geinus I/O总线的特性、网络实现及应用分析

    geinus i/o总线是美国ge fanuc自动化公司推出的一种工业控制总线,它既是i/o
    发表于 04-02 09:33 2184次阅读
    Geinus <b class='flag-5'>I</b>/<b class='flag-5'>O</b><b class='flag-5'>总线</b>的特性、网络实现及应用分析

    Arduino Nano数字I/O

    电子发烧友网站提供《Arduino Nano数字I/O板.zip》资料免费下载
    发表于 07-18 14:59 4次下载
    Arduino Nano<b class='flag-5'>数字</b><b class='flag-5'>I</b>/<b class='flag-5'>O</b>板

    上电和复位 16 位 PCA I2C 总线 I/O 扩展器

    上电和复位 16 位 PCA I2C 总线 I/O 扩展器
    发表于 11-15 20:32 1次下载
    上电和复位 16 位 PCA <b class='flag-5'>I</b>2C <b class='flag-5'>总线</b> <b class='flag-5'>I</b>/<b class='flag-5'>O</b> 扩展器

    模拟转数字4-20mA转rs-485/232总线I/O采集模块带隔离

    模拟转数字4-20mA转rs-485/232总线I/O采集模块带隔离
    的头像 发表于 12-20 11:29 1482次阅读
    模拟转<b class='flag-5'>数字</b>4-20mA转rs-485/232<b class='flag-5'>总线</b><b class='flag-5'>I</b>/<b class='flag-5'>O</b>采集模块带隔离

    can总线 i/o模块能否充当控制器?

    can总线 i/o模块能否充当控制器?答案当然是不行!因为它并没有主站控制功能。 虽然都有总线接口,都集成了很多的IO,但can总线
    的头像 发表于 06-28 08:35 696次阅读

    16路数字量输入I/O模块用于测量和控制

    16路数字量输入I/O模块M1161、M1162 16路数字量输入模块是EdgeIO I/O
    的头像 发表于 04-07 16:57 838次阅读
    16路<b class='flag-5'>数字</b>量输入<b class='flag-5'>I</b>/<b class='flag-5'>O</b>模块用于测量和控制