I/O扩展电路GM8166在嵌入式锅炉系统中的应用

发布时间:2010-9-21 20:24    发布者:eetech
关键词: GM8166 , 锅炉 , 扩展电路 , 嵌入式
1 引言

锅炉控制系统是一个典型的大惯性、大滞后、多变量的过程控制系统,涉及到压力、温度、水位等多个物理参数的检测与控制,需要同时控制循环泵、补水泵、加热装置、自动排除故障等。该系统有32路数字输入信号、32路数字输出信号、ll路模拟量输入信号和8路模拟量输出信号,因此所需要的硬件电路多,控制复杂,笔者以Atmel公司的AT91RM9200为处理器设计出了一款具有32位高速数据处理能力,处理速度可达200 MI/s,并配有LCD触摸屏、SD卡、CPLD、音频、网络、USB及串行接口等多项功能的嵌入式工业锅炉控制系统。

在系统设计过程中,遇到了I/O口严重不足的问题。虽然AT91RM9200具有122个通用I/O口,但嵌入式系统本身的各项功能实现占用了大量的I/O口,剩下用于锅炉控制的已不多,所以需要进行I/O口扩展。一般采用的解决方案是利用74HC573、74LS164、74LS165、82C55等电路来实现I/O扩展,但使用上述器件存在PCB面积增大、成本高等缺点。这里笔者采用两个成都国腾微电子有限公司开发的GM8166电路,通过串行输入并行输出、并行输入串行输出转换即可完成锅炉32路数字输入和32路数字输出控制的I/O口扩展。

2 GM8166的主要特点

GM8166通过串行输入并行输出、并行输入串行输出、并入并出转换完成I/O口的扩展。最高工作频率为10 MHz,用于配合MCU完成对多个外围电路的控制和信号采集工作。同时可接入SPI总线,满足了更多需求。设计时充分考虑了工作温度范围要求和抗电磁干扰能力,完全适用于工业领域。

CM8166的主要特性如下:
  • 提供32位并行数据I/O口,可通过模式选择实现8位、16位、24位、32位的数据转换,也可通过普通I/O口模拟串口实现0~32任意位数的数据转换;
  • 既可实现串并/并串转换,又可实现并行口切换输入/输出功能;
  • 所有I/O口均内接上拉电阻
  • 锁存输出,有输出锁存控制端;
  • 有级联输入/输出端,方便实现级联;
  • 具备SPI总线接口,可方便地接入SPI总线;
  • 与TTL兼容;
  • 工作电压为2.7 V~6.5 V;
  • 最大输出电流为lO mA,最高工作频率为10MHz;
  • 工作环境温度范围为-40℃~85℃,满足工业级标准。

3 GM8166的系统结构和引脚功能

3.1 系统结构

GM8166由控制模块、移位寄存器模块和I/O口模块组成。图1为GM8166的系统结构框图。



3.2 引脚功能

GM8166采用QFP52和SDIP52两种封装形式。

用户可根据需要进行选择。GM8166的引脚功能说明如下:
  • Reset:复位信号,高电平复位。
  • CLK:时钟信号,上升沿有效。
  • CSN:片选信号,低电平有效。
  • OC/EN:串行输入并行输出转换或并行口切换输入/输出时做并行输出允许控制信号:OC/EN=0:并行输出允许;OC/EN=1:并行输出禁止。并入串行输出模式下作为并行输入置数和串行移位控制信号:OC/EN=O:允许并行输入置数;OC/EN=1:串行移位,禁止并行输入。
  • IE:并行输出数据锁存信号,LE=0表示并行输出数据锁存:LE=1表示并行输出数据不锁存。
  • SEL:接入SPI总线控制信号,接入SPI总线时,SEL引脚固定接地,不需要接入SPI总线时,SEL引脚接固定电源。
  • MODSEL:并串/串并转换模式和并行口切换模式选择信号,MODSEL=0:选择并串/串并转换模式;
  • MODSEL=1:选择并行口切换模式。
  • SP/MUX:并串和串并转换选择信号,SP/MUX=O:选择并行输入串行输出模式;SP/MUX=l:选择串行输入并行输出模式。并行口切换模式下兼作1路输入3路输出和3路输入1路输出选择信号,SP/MUX=0:选择1路输入3路输出模式;SP/MUX=1:选择3路输入1路输出模式。
  • M0、M1:工作方式控制信号,MOMl为00时为8位数据传输模式,01时为16位数据传输模式,10时为24位传输模式,1l时为32位数据传输模式。
  • PDATA:32位输入/输出数据口。
  • SDATA(MOSI):串行数据输入/输出口;SPI总线工作模式下做为MOSI口。
  • CDATA:输入/输出级联数据口,并行输入串行输出模式下为输入口;串行输入并行输出模式下为输出口。

4 GM8166在嵌入式锅炉中的应用

4.1 硬件电路设计

GM8166共有三大功能,满足三种不同应用。申并/并串转换功能为并行口比较紧张的系统通过串口扩展32位并行口;并行口切换功能可以将l组8位并行口扩展成3组8位并行口,通过控制信号在3组并口中切换完成输入/输出功能;SPI总线功能使该器件可以接入SPI总线中作为从设备进行数据收/发,同样完成串并转换的功能。这里笔者采用两个GM8166器件分别实现32位数据的并行输入串行输出转换和32位数据的串行输入并行输出转换,扩展为64位I/O口,从而实现对锅炉控制系统数字量输入输出信号的控制与传输。GM8166与AT9lRM9200的硬件原理图如图2。



如图2所示AT91RM9200的PA口与GM8166连接。GM8166-l设为32位数据串行输入并行输出模式:AT91RM9200通过PA0口连续发送32位数据到GM8166-1。在该模式下,当Reset信号为‘1’时,GM8166移位寄存器复位.即所有的寄存器的值都为‘0’;当CSN为‘O’,Reset为‘0’,同时有时钟输入时,GM8166对移位寄存器进行移位,32个时钟信号后,32位数据全部输出到寄存器输出口,由LE和OC/EN控制PDATA[31:0]的输出状态,从而实现对锅炉的控制。

GM8166-2设为32位数据并行输入串行输出模式:AT91RM9200通过PAl2口连续接收32位数据。在该模式下,当Reset信号为‘1’时,GM8166移位寄存器复位,即所有寄存器的值都为‘0’;当CSN为‘0’,Reset为‘0’,OC/EN信号为‘O’时,同时来一个时钟上升沿,GM8166将输入端口(32位)数据并行保存到移位寄存器中;当Reset为‘O’和OC/EN信号为‘1’时,GM8166对移位寄存器进行移位,从而实现对锅炉信号的采集。

4.2 软件设计

本系统软件均采用C语言编写。软件示例如下。

4.2.1 32位数据串行输入并行输出转换





4.2.2 32位数据并行输入串行输出转换





如图2所示,用PAl作为GM8166-l的CLK,用PA0作SDATA,用PAll作为GM8166-2的CLK,用PAl2作SDATA,用软件模拟产生串行接口的传输过程。编程时,应注意GM8166的内部移位寄存器都是在CLK的上升沿移位的,所以读入时应在CLK的上升沿之后读入SDATA的状态,写出时应在CLK上升沿之前置SDATA相应电平。

5 结束语

嵌入式锅炉控制器中使用了两个GM8166器件,实现了锅炉中22个温度、压力、水位、燃烧机、风机等状态的检测和10个手动按键的输入;32个水泵、变频器、燃烧机、风机的启停以及轻重油选择、报警等开关量的输出,解决了使用8255等通用并行I/O电路所带来的成本高、功耗大和占用电路板面积大等系统结构设计与安装方面的问题。
本文地址:https://www.eechina.com/thread-28504-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

相关视频

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表