您当前的位置:五五电子网电子知识单片机-工控设备嵌入式系统-技术I/O扩展电路GM8166在嵌入式锅炉系统中的应用 正文
I/O扩展电路GM8166在嵌入式锅炉系统中的应用

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

点击数:7996 次   录入时间:03-04 11:38:45   整理:http://www.55dianzi.com   嵌入式系统-技术

  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的系统结构框图。

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:输入/输出级联数据口,并行输入串行输出模式下为输入口;串行输入并行输出模式下为输出口。


www.55dianzi.com

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

  4.1 硬件电路设计

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

GM8166与AT9lRM9200的硬件原理图

  如图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电路所带来的成本高、功耗大和占用电路板面积大等系统结构设计与安装方面的问题。

  




本文关键字:嵌入式  嵌入式系统-技术单片机-工控设备 - 嵌入式系统-技术

《I/O扩展电路GM8166在嵌入式锅炉系统中的应用》相关文章>>>