DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 388|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-16 16:54:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

                    ???? 在工业控制领域,数字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所示。




  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开发设计提供了一种很好的尝试,相信在很多行业都会有广阔的应用前景。
            
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-7-19 01:02 , 耗时 0.105101 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表