APP下载

具有可编程I/O功能工控触摸屏的研制

2016-01-09石恩琪

中国重型装备 2015年3期
关键词:单片机

具有可编程I/O功能工控触摸屏的研制

石恩琪

(国民油井华高石油设备(上海)有限公司,上海200333)

摘要:在具有可编程I/O功能的工控触摸屏设计过程中,给出总体设计方案,阐述了多串口通信和 I/O功能实现的具体方法,ARM处理器和单片机之间的通信以及ARM处理器和单片机各自功能的实现。

关键词:工控触摸屏;单片机;多串口通信

中图分类号:TP273文献标志码:A

收稿日期:2015—03—20

作者简介:石恩琪(1982—),男,工程师,从事海洋钻井设备的设计和研发工作。

ResearchonProcessControlTouchScreenwith

ProgrammingI/OFunction

ShiEnqi

Abstract:In the design process of process control touch screen with programming I/O function, general design project has been put forward, further specific methods of multiple serial communication and I/O function implementation, communication between ARM processor and single chip as well as respective function realization of them have been illustrated.

Keywords:processcontroltouchscreen;singlechip;multipleserialcommunication

工业触摸屏和PLC组成的控制系统具有界面友好、控制精度高、抗干扰能力强等特点,兼具了触摸屏和PLC的优点,广泛应用于工业生产各个领域。但是,部分中小型用户只会使用PLC的小部分输入点和输出点,这样就浪费了PLC的资源。针对这种情况,设计一种应用简单、成本低的具有可编程I/O功能的触摸屏,从而代替通用触摸屏和PLC组成的控制系统,这具有很大的实用价值。

此系统既可以将触摸屏人机界面作为一个完整的控制系统使用,也可以作为通用工业触摸屏使用。可以简化使用多种控制元件的控制系统,甚至在某些场合起到不可替代作用。

1设计思路

通用触摸屏基本上是采用通信的方式控制PLC,而触摸屏本身不具有输入和输出功能。本项目则是采用单片机的I/O作为整个系统的I/O,在内部使用具有LCD控制功能的ARM处理器用通信的方式控制单片机I/O的输入输出,单片机的通信程序固化在单片机内部,用户不必改写。

1.1系统的主要组成及结构框图

可编程I/O工业触摸屏的硬件系统主要包括液晶显示器、触摸屏、液晶显示控制模块、触摸屏控制器、微处理器、海量存储器、内存、程序存储器、串行通信接口、I/O用单片机及其外围器件、电源模块等器件。这些组件的性能决定了触摸屏的性能。

具有I/O功能的触摸式人机界面系统的主要结构框图如图1所示。

图1 可编程 I/ O工业触摸屏系统结构框图

1.2多串口功能的实现

本项目很多功能需要串口通信,例如,向触摸屏下载用户画面、下载单片机程序、ARM处理器和PLC等外部设备通信、ARM处理器和单片机通信。设备外部只提供两个串口,一个串口用作和PLC等外部设备通信,另外一个串口用作向触摸屏下载画面和下载单片机程序。若要使用一个串口实现两个不同串口的功能,则就需要进行分离。本项目使用HEF4053芯片实现此功能。

HEF4053芯片是一种三路双通道模拟量多路器/多路信号分离器,如图2所示。它具有一个共用的使能输入端()。每个多路器/多路信号分离器具有两个独立的输入/输出端(Y0和Y1),一个共用输入/输出端(Z)和输入选择(Sn)。每个多路器/多路信号分离器包含两个双向模拟开关,每个开关一端连接独立的输入/输出(Y0和Y1),另一端连接共用端(Z)。

如图3所示,以SA的控制为例,ZA作为串口一端的RX。当SA为低电平时,ZA和Y1A连接,即和单片机TX端连接;当SA为高电平时,ZA和Y0A连接,即和ARM处理器的TX端连接。同理,使用SB和进行控制可以实现一端的TX和两个RX分别连接。这样两个串口通信就分离出来了。

图2  HEF4053管脚图

图3 分离器实际工作原理

图4 单片机外围输入设计

1.3单片机I/O功能的实现

整个触摸屏的输入和输出是通过ARM处理器和单片机通信方式控制单片机的I/O来实现的。对于单片机而言,除了要保证其和ARM处理器之间的正常通信外,还要保证其本身输入输出的稳定性。为了保证I/O的输入和输出不相互干扰,以使每个I/O具有独立的输入或输出功能,在管脚外围设计采用光电隔离。此类型工控触摸屏多用于有高速脉冲输入输出的场合,因此有必要使用高速光电隔离。按照图4对I/O输入设计,输出的设计方法和输入类似。

2主要技术

2.1ARM处理器和单片机的通信协议和格式

本项目的触摸屏人机界面是采用通信的方式对单片机的输入、输出及其它内部单元进行控制,通信采用RS232串口通信。通信时,ARM芯片向单片机发送初始命令,单片机做出应答。通信除了可以控制单片机的输入口和输出口,还可以对单片机内部允许地址进行读写,对此设计了四种操作方式:读字节、写字节、读位、写位。

通信格式有两种:

2.1.1命令帧格式

从上位机发送命令时, 按表1 所示的格式排列命令数据。

表1 命令帧通信格式

具体命令帧格式规定为:

(1)命令帧起始符均为3AH;

(2)只有一个单片机的时候机器号为01H;

(3)命令符一共有4种,读字节为A3H、写字节为A6H、读位为B3H、写位为B6H;

(4)读写字节的数据传送长度最多为4个字节,读写内部位的数据长度最多为32位;

(5)读字节和读位时,4字节数据全部为0,写字节和写位时,数据为要写入的数据;

(6)检验码是从帧开始到帧结束所有数据和操作后的8位数据。每次接收到一帧后计算FCS, 并与帧中所含的FCS作比较来检查帧中间的数据对错;

(7)结束符是13H。

2.1.2应答帧格式

来自单片机的应答帧按命令帧通信格式返回。具体格式规定为:

(1)起始符为3BH;

(2)机器号、命令符和数据长度与命令帧相同;

(3)读操作是返回地址内容,写操作是成功写入的内容;

(4)检验码计算方法与命令帧相同;

(5)结束符为13H。

例如,ARM处理器发出的命令帧为“3AH01HA6H01H00H20H00H00H00H02H13H”,表示向单片机RAM区地址00H写20H;单片机的正确应答帧格式应为“3BH01HA6H01H00H20H00H00H00H03H13H”。

2.2ARM处理器主要功能的实现

ARM处理器是整个系统控制的核心,本项目采用的是含有LCD驱动控制器的ARM7TDMI内核处理器,能够实现项目需要的所有功能。除了和单片机以及PLC的通信以外,ARM处理器主要还实现以下两个方面功能:

(1)LCD控制显示

ARM处理器内部有一个LCD驱动控制器,能自动产生LCD驱动控制所需的控制信号。因此处理器可以直接和各种LCD屏直接接口,不需要外加LCD控制器。在这种接口方式下,LCD显示缓冲区是映射在系统的存储器空间上,程序只需要将像素点内容写入存储器对应地址,就可以实现在LCD屏上像素点颜色的显示。[2]

(2)触摸功能的实现

本项目采用的是四线电阻式触摸屏,与ADS7843芯片连接。ARM处理器通过模拟的SIO串行接口与ADS7843进行数据传输,来完成对触摸屏上触摸位置坐标的读取。

2.3单片机驱动程序

单片机和ARM处理器的通信程序作为本系统中单片机的驱动程序已经存储在单片机内,这样使用本系统的时候就不需要再编写单片机通信程序。如需要对单片机进行开发使用,则需要另调用驱动程序。

程序将从ARM处理器通信接收到的I/O和单片机内部寄存器地址对应,例如P0.0对应地址80H,要读写P0.0口状态,驱动程序会读写80H中的内容,并返回通信结果。给操作方法可以实现对所有I/O的控制,不仅可以对I/O进行读写操作,还可以对其他地址单元进行读写操作。

3结束语

在通常情况下,使用可编程I/O功能触摸屏进行操作控制要比触摸屏和PLC结合使用的控制方案更节省资源和成本,稳定性更高。在运用该方法研制的一套具有人机界面的切纸机控制系统中,其电机的运转信号和方向信号以及其它输入信号是通过可编程触摸屏的I/O实现的,系统运行稳定。

参考文献

[1]康华光,等. 电子技术基础模拟部分[M].北京:高等教育出版社,1999.

[2]胥静.嵌入式系统设计与开发实例详解[M].北京:北京航空航天大学出版社,2005.

[3]Philips.HEF4053BMSIproductspecification.Holland:Philips,1995.

[4]王安正. 基于嵌入式系统的触摸式人机界面的硬件设计和系统软件的开发[D].上海:上海理工大学机械学院,2004.

编辑杜敏

猜你喜欢

单片机
单片机在电子技术中的应用和开发
基于单片机的SPWM控制逆变器的设计与实现
基于51单片机控制花盆土壤湿度
基于单片机的层次渐变暖灯的研究
基于单片机的多功能智能插排
基于单片机的便捷式LCF测量仪
小议PLC与单片机之间的串行通信及应用
MSP430单片机在仿真中要注意的几点问题
VC.NET下实现dsPIC单片机与PC机的通信
基于单片机的平衡控制系统设计