0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于AT91RM9200单片机和GM8166实现锅炉控制系统的设计

电子设计 来源:国外电子元器件 作者:张秀松,何仲,顾家 2021-01-15 10:31 次阅读

作者:张秀松,何仲,顾家蒨

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

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    18604

    浏览量

    224461
  • 嵌入式
    +关注

    关注

    5017

    文章

    18496

    浏览量

    293133
  • 控制系统
    +关注

    关注

    41

    文章

    6240

    浏览量

    109637
收藏 人收藏

    评论

    相关推荐

    TCP/IP协议在AT91RM9200上的实现

    TCP/IP协议在AT91RM9200上的实现 摘要:介绍了AT91RM9200[1]芯片与DM9161E[2]的硬件接口电路设计以及驱动程序开发。在此基础上讨论了TCP/IP[3]
    发表于 12-08 10:43 1321次阅读

    推荐:AT91RM9200嵌入式核心控制器模块

    的工作环境。该控制器模块以其方便灵活的设计、强大的功能博得了企业用户的厚爱,成为企业用户加速产品开发的首选平台。AT91RM9200核心模块以超小体积、超低功耗、超高灵活性实现了高性能工业控制
    发表于 05-07 14:37

    at91rm9200定时器

    请问at91rm9200的linux驱动程序如何访问定时器/计数器模块相关的寄存器?如访问PIO使能寄存器,驱动语句为:AT91_SYS->PIOA_PER |= 1;那访问定时器0的TC通道模式寄存器TC_CMR驱动语句该是怎样的?需要哪些内核头文件?谢谢!
    发表于 11-13 09:51

    S1D13506显示控制器与AT91RM9200的接口设计

    AT91RM9200处理器内部没有集成LCD控制器,因而需要配备专用的显示控制器,才能实现LCD显示。S1D13506是EPSON大规模显示控制
    发表于 12-21 08:37

    μCGUI移植到AT91RM9200的过程及接口设计

    了USB控制器、以太阿控制器、RTC、SPI、I2C等丰富的外围设备。AT91RM9200处理器内部没有集成LCD控制器,因而需要配备专用的显示控制
    发表于 05-31 05:00

    怎么实现OLED显示模块与AT91RM9200的接口设计?

    本文介绍了OLED显示模块P13501与AT91RM9200的接口电路设计,以及在嵌入式Linux下OLED驱动程序的编写、编译和加载。
    发表于 06-08 06:05

    AT91RM9200中文手册 AT91RM9200中文资料

    AT91RM9200是完全围绕ARM920T ARM Thumb处理器构建的系统。它有丰富的系统与应用外设及标准的接口,从而为低功耗、低成本、高性能的计算机宽范围应用提供一个单片解决方
    发表于 04-22 13:20 358次下载

    MiniGUI在AT91RM9200开发板上的移植

    MiniGUI在AT91RM9200开发板上的移植
    发表于 03-28 09:52 18次下载

    MiniGUI 在AT91RM9200 开发板上的移植

    简要介绍Atmel 公司生产的基于ARM9 内核的AT91RM9200 开发板的结构及其部分特性;详细介绍如何将MiniGUI 图形用户界面移植到AT91RM9200 开发板上的全过程。
    发表于 05-16 14:16 26次下载

    AT91RM9200简明手册.pdf

    AT91RM9200简明手册.pdf 基于ARM920T的嵌入式微控制器——AT91RM9200总体特性:· 内嵌ARM920TTM ARM® Thumb®微处理器- 180MHz/200MIPS- 16KB数
    发表于 03-01 15:47 43次下载

    at91rm9200启动过程教程

    at91rm9200启动过程教程 系统上电,检测BMS,选择系统的启动方式,如果BMS为高电平,则系统从片内ROM启动。AT91RM9200
    发表于 03-08 15:57 44次下载

    基于AT91RM9200的手持设备的低功耗设计

    本文以基于AT91RM9200 的手持设备为例,分析了手持设备的低功耗设计的原理,同时给出了AT91RM9200 手持设备上基于Linux 操作系统的电源管理模块的初步实现
    发表于 12-16 14:42 66次下载
    基于<b class='flag-5'>AT91RM9200</b>的手持设备的低功耗设计

    AT91RM9200用户手册

    AT91RM9200用户手册有需要的朋友下来看看
    发表于 01-11 14:05 8次下载

    AT91RM9200 说明书

    AT91RM9200 说明书
    发表于 09-29 11:36 7次下载
    <b class='flag-5'>AT91RM9200</b> 说明书

    AT91RM9200的手持设备的低功耗设计

    AT91RM9200的手持设备的低功耗设计
    发表于 10-15 10:42 12次下载
    <b class='flag-5'>AT91RM9200</b>的手持设备的低功耗设计