在工业控制领域,数字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开发设计提供了一种很好的尝试,相信在很多行业都会有广阔的应用前景。
上一篇:基于Profibus-DP现场总线通信接口设计
下一篇:SCWS技术在图形化界面卡的接口与安全中的应用
推荐阅读最新更新时间:2024-05-02 21:39
- 微软领先科技巨头,成为英伟达Hopper芯片最大买家
- 芯启源(上海)将持续发力,“做深做精”EDA及IP产品
- 本田严厉警告日产:若与鸿海合作,那么本田与日产的合作将终止
- Microchip推出新款交钥匙电容式触摸控制器产品 MTCH2120
- Matter对AIoT的意义:连接AIoT设备开发人员指南
- 我国科学家建立生成式模型为医学AI训练提供技术支持
- Diodes 推出符合车用标准的电流分流监测器,通过高精度电压感测快速检测系统故障
- Power Integrations面向800V汽车应用推出新型宽爬电距离开关IC
- 打破台积电垄断!联电夺下高通先进封装订单
- Ampere 年度展望:2025年重塑IT格局的四大关键趋势
- 滤波电路在无输入时有一个-3.36V的电压输出
- EEWORLD大学堂----超低功耗Cortex-M0+ MCU STM32 L0系列入门
- 控制一套简单电路,如果只用一个电源信号能实现的话,用PC来发出这个信号,通常用什么输出设备在什么接口上做?怎么做?
- 华为以太网时钟同步技术_时钟透传技术白皮书
- MRS IDE入手使用分享
- 求 .Net 2003 环境下,注册表操作API函数 RegEnumValue的参数
- Launchpad + Max7219實作
- STM8L151可以,STM8L101就不能烧写了
- 关于HELPER2416的开发资料
- EEWORLD大学堂----Atmel借助全面的低功耗无线连接产品, 进一步推动物联网的发展