基于STD总线的多路数字I/O设计

发布者:AngelicWhisper最新更新时间:2011-10-25 关键字:STD总线  IO设计 手机看文章 扫描二维码
随时随地手机看文章

     在工业控制领域,数字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总线,根据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的硬件电路部分。


  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 部分程序代码

  部分程序代码如下:


  其中: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开发设计提供了一种很好的尝试,相信在很多行业都会有广阔的应用前景。

关键字:STD总线  IO设计 引用地址:基于STD总线的多路数字I/O设计

上一篇:基于Profibus-DP现场总线通信接口设计
下一篇:SCWS技术在图形化界面卡的接口与安全中的应用

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

MIL-STD-1553A/B数据总线自动测试仪的设计
前言 MIL-STD-1553作为一个军用串行总线标准于1973年由美国国防部发布,此标准定义了总线的机械特性、电气特性和功能特性。1553总线首先被应用在航空设备中,后来也被广泛应用在航天的数据管理系统中。它作为命令/应答方式的半双工串行总线,采用双冗余平衡传输线(屏蔽双绞线),通过时分复用的方式,最多可以连接31个终端(RT)设备。由于采用了曼彻斯特编码,MIL-STD-1553总线数据可以在采用变压器隔离的传输线路中传输,从而可以将设备节点从总线系统中隔离出来,进而提高了总线系统的可靠性。 鉴于特殊的总线结构和苛刻的应用环境,完善的总线测试手段无疑是保障MIL-STD-1553总线系统可靠性的关键。目前155
[测试测量]
MIL-<font color='red'>STD</font>-1553A/B数据<font color='red'>总线</font>自动测试仪的<font color='red'>设计</font>
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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