基于Memory-link协议的人机交互系统的可靠性设计
扫描二维码
随时随地手机看文章
摘要:介绍一种人机交互系统的可靠性设计方案。该系统基于Memory-link通信协议,采用了目前流行的基于ARM7架构的S3C44BOX作为主控芯片,通过RS-422实现人机交互通信。结合抗干扰的硬件设计和稳定有效运行的软件设计方案,实现了在强干扰下稳定可靠的通信。实验结果表明,本系统抗干扰能力强、运行稳定可靠,在自主开发控制系统的人机交互通信部分具有一定的参考价值。
关键词:人机交互;S3C44BOX;Memory-link;RS-422
在人机交互的工业控制系统中,通信是必不可少的部分,而稳定可靠性是通信的基本指标。这就要求系统在硬件上具有较强的抗干扰能力,在软件运行上能够有效的避免出现死机等现象。在传统工控系统中,一般是采用PLC作为控制器,其应用广泛、技术成熟,具有很高的可靠性和抗干扰能力。但是PLC相对于普通微控制器来说存在成本高、体积大、实现功能单一等问题。为此,很多设计者采用微型控制器进行自主开发工控系统,但是其在恶劣环境中的可靠性和抗干扰方面相对要弱,致使其工控系统总体性能较差。
为此,文中采用S3C44BOX作为控制芯片,结合硬件和软件两方面综合考虑,介绍一种可靠的人机交互工控系统的设计方案。
1 系统总体设计
人机交互系统主要是触摸屏和主控芯片的通信,触摸屏能够正确发送和接收显示数据是系统的基本功能。该系统采用日本的proface30 00系列的触摸屏作为人机界面,通过S3C44BOX芯片进行数据转换和功能控制。图1为系统结构框图。
2 硬件设计
在硬件方面,影响系统可靠安全运行的因素有3个方面:1)干扰源,能够产生干扰信号的元件、设备或信号,比如雷电、电机等;2)传播路径,从干扰源传播到敏感器件的通路或媒介,典型的干扰传播路径是导线的传导和空间的辐射;3)敏感器件,容易被干扰的对象,比如A/D、D/A变换器,通信线路,弱信号放大器等。
因此,要增强系统的抗干扰能力,就必须从抑制干扰源、切断干扰信号传播路径、提高敏感器件的抗干扰性能这3个方面考虑。以下为该系统的硬件可靠性设计方法。
2.1 抑制干扰源
为了给系统提供稳定干净的电源,电源模块采用安规电容抑制差/共模干扰,并加入磁环抑制高频干扰信号,提高电源的稳定性。
2.2 切断传播路径
1)电源模块隔离。各个功能模块的电源相对独立,也就阻断了一个受干扰的模块会通过电源去影响另一个模块正常工作的传播路径。由系统框图可知,该系统的内部电源模块和触摸屏通信电源模块分开独立供电,减少各个模块之间的干扰。
2)光耦隔离。为减少外部干扰信号对控制器的影响,利用光耦对外部信号进行隔离.并采用SN74HC245DW驱动/缓冲器芯片在光耦的两端,以增强其驱动能力。由于其较强的驱动能力也降低了光耦对其外界干扰信号的敏感性,提高了抗干扰能力。图2为光耦隔离电路。
3)在该系统中,通信线使用带屏蔽层的双绞线,并将其屏蔽层可靠接地。这样可以有效的阻断其外部电磁干扰信号通过通讯线干扰系统正常的传播路径。
2.3 提高线路的抗干扰性能
由于RS-422采用了差模传输方式,传输速率高达10Mb/s,传输距离长2 000 m,综合抗干扰能力比RS-232优越,已广泛应用于工业控制、仪器、仪表、多媒体网络、机电一体化产品等诸多领域。因此,该系统采用MAX488CSA芯片将RS-232通信电平转换成RS-422通信电平后再进行传输。图3为RS-422电路。
3 软件设计
为提高系统软件性能,很多软件开发人员采用一些软件来增强系统正常运行的可靠性,比如使用看门狗、设置软件陷阱等,这些措施的采用都具有普适性。针对于人机交互系统来说,频繁的点击触摸屏,短时间内产生多次串行通信中断,而响应中断程序执行代码较长,如果超出中断嵌套次数,则系统会面临崩溃的危险。为解决此问题,该系统专门设计中断响应函数,提供支持多次产生的串行中断。
3.1 Memory-link协议
系统通信采用Proface内部集成的Memory-link通信协议,该协议支持两种工作方式:ASCII码兼容方式和扩展方式。在兼容方式下,只有写到数据区和读数据区两种命令;而在扩展方式下,除此之外,还可以执行绘图命令。
该系统采用的是ASCII码兼容、主从访问方式。其所用通讯命令有以下4条。
1)主机(单片机)读命令,如表1所示。
注:读的数据地址占4字节,例如读取地址50,其HEX格式为0x0032;
读的数据长度也占4字节,数据长度是以字为单位的。
2)GP应答命令,如表2所示。
注:每个地址的(WORD)数据,占4字节传送
3)主机(单片机)写命令,如表3所示。
注:每个地址的(WORD)数据,占4字节传送
4)GP中断输出命令:GP主动发送一个字节数据到主机。
3.2 中断响应和驱动结构
在人机交互系统的应用中,触摸屏主要有两大功能:数据显示和数据输入。数据显示功能只需要单片机利用Memory-link协议通过RS4-22将数据写到触摸屏的逻辑寄存器,触摸屏就会立刻显示;数据输入过程比较繁琐,首先触摸屏接收数据输入,然后给单片机发送中断,单片机识别发送的中断号后执行响应的驱动程序,将触摸屏发送的数据进行读取并保存起来。
为解决短时间内,触摸屏多次发送输入中断产生的隐患,必须使单片机进入中断后执行的时间足够短(小于等于人的反应与触摸屏中断发送时间之和)。为此,文中介绍一种中断程序执行足够小的代码执行结构。图4为程序流程图。
触摸屏每次发送串行中断之后,单片机进入串行中断,根据触摸屏发送来的中断号,设定自定义中断标志位并退出中断等待接收下一次中断,在无中断时候,程序执行相应自定中断标志位有效的中断函数。
1)中断函数部分程序
上述的代码可见,单片机进入中断后执行的最长有效的指令超过10条,单片机如果用10 M的晶振3倍频后时钟周期为30 M,在根据ARM最大指令周期估算,整个中断执行时间不超过10μs。远远小于人的正常反应时间0.1 s,保证了单片机能执行在触摸屏中人的触摸发来的任意多个连续的中断。
2)主函数部分程序
在主函数中。通过查询全局变量,进入相应中断程序。不把中断程序放在中断里,减弱了实时性,但是极大的增强了可靠性。
4 结束语
由上述的理论分析和详细的软硬件设计可以看出。基于S3C44BOX与Proface通信系统硬件将结构具有普适性,软件结构清晰简单。硬件采用隔离、差分传输、增强驱动的方式来阻断传播途径、减弱敏感元件的敏感性的方式来提高硬件的抗干扰能力;软件则采用在中断置标志位的办法实现中断的快速反应能力和在主函数或任务中通过判断标志位的方法来运行中断程序保证了其不会受到多重中断的干扰而不能被正常执行。实践证明,在弧焊机等强干扰源的干扰下,系统没有出现数据传输错误或死机等现象。