微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 模式在主控机软件中的应用与研究

模式在主控机软件中的应用与研究

时间:01-19 来源:互联网 点击:

1 引言

目前采用PC机与多台单片机构成的分布式系统、工业控制系统、数据传输系统等得到广泛应用。它既利用了单片机价格低、功能强、抗干扰能力好以及面向控制等优点来构建适宜分布于工业现场、使用方便灵活的监控站或下位机,又结合PC机丰富的软硬件资源,提供管理功能强大、人机界面友好的操作平台。

随着社会经济发展,个人和单位的贵重物品、重要文件、有价单证等日益增多,迫切需要安全保管。银行开设保管箱租赁业务把专用保管箱出租给客户满足了客户需求。银行保管箱系统由软件部分和硬件部分构成:软件部分支持客户管理、保管箱状态监视等;硬件部分包括PC机与单片机通信、单片机与单片机通信等。

由PC机与多个单片机组成的应用系统,一方面需要稳定可靠的数据通信,另一方面PC机端也需要一个可靠、易维护、可复用的软件管理系统。在采用面向对象的软件设计与分析过程中模式技术起着越来越重要的作用。模式是对特定上下文中遇到的一般性问题的可重用解决方案的概要。模式可以分为三个抽象层次[1]:体系结构模式,设计模式,实现模式。体系结构模式表示软件系统基础的结构组织方案,例如,分层应用程序模式。设计模式描述了特定场景下用来解决一般设计问题的类和相互通信的对象[2]. 实现模式是与特定的编程语言相关的模式。每个下层模式都是对上一层的优化。使用模式技术能够设计出一个满足可靠、易维护、可复用系统的需要。文中将依保管箱系统为例阐述模式在PC机与多个单片机组成系统中的应用。

2 系统总体结构及业务流程

保管箱系统总体结构图如图1所示。系统由一台主控计算机(PC机)与五台下位机(基于8051的单片机)通过RS485总线组成网络。由于RS485串行通信具有距离长、抗噪声能力强的优点[3],所以在PC机与多台单片机构成的系统中常采用RS485技术。图1中每个保险箱内嵌入一个单片机组成一个嵌入式系统。每个钥匙也由单片机构成,它与对应的下位机点对点相连,我们称下位机为钥匙架。

图1 系统总体结构图

系统业务流程:在银行的营业前台客户在主控机上进行身份验证后,被分配一把钥匙,客户从钥匙架上取走此钥匙,然后带着钥匙与自己租用的保险箱中的单片机进行点对点通信打开箱子。客户处理完业务后,用钥匙锁上保管箱并把它带回到前台放回原地,这时主控机获得此下位机的最新状态。

3 主控机软件的体系结构模式

分层是软件设计中解决复杂问题的最常用技术。高层使用低层提供的各种服务,而低层并不关注高层的存在。一般情况下采用层技术可以使各类开发者更专注于本层的工作而不需要知道其它层的情况。采用分层技术并根据分层应用程序模式[1]可把主控机软件设计为三层:表示层、业务层与通信层。表示层处理用户与软件系统之间的交互;业务层处理问题域中的各种业务;通信层负责向业务层提供通信支持,并保证向上层提供信息的可靠性和及时性。一般当系统需要数据库支持永久保存数据时,可以增加数据存取层作为与通信层同处一层的层,如图2所示。

图2 主控机软件的三层体系结构模式

保管箱系统中,主控机与下位机之间的通信封装在通信层中,业务层上需要钥匙时,它只要向通信层提出请求,由通信层判断哪一台下位机可以提供钥匙,并在获取下位机信息后提供给业务层,通信层要保证提供信息的可靠性和及时性。通信层是整个软件系统的基础,使用设计模式可以满足此层所需的高可靠性要求。

4 通信层与下位机的通信原理

通信层发送被呼叫的下位机地址,等待下位机的应答,若应答信号正确则发送控制命令;若应答信号不正确则再发送被呼叫的地址,并等待接收应答信息。对同一下位机多次呼叫而在规定时间内无应答信号或应答信号不正确,则提示出错。

5 通信层中的设计模式

根据设计模式的目的,设计模式可分为创建型、结构型和行为型三类[2]。结构模式和行为模式被用来组织类或对象之间的关系和职责,形成应用程序的构架;创建型模式用于生成和管理对象[4],包括单件模式、对象池模式等,其中对象池模式是利用单件模式发展而成的。使用创建型模式把对象的使用与对象的生成和管理分离,使类的职责更加单一、明确,可以提高软件的可维护性。通信层采用对象池模式隐藏了PC机与单片机之间通信,提高了业务层的可测试性。如果通信层接口比较复杂,则可以在通信层上采用外观模式(Facade Pattern)[2]为上层提供一个简单接口以简化对通信层的使用。保管箱系统中通信层利用对象池模式生成下位机对象供业务层使用,使得业务层只专注于业务实现而不再关注对象的生成方式。

5.1单件模式

单件模式(

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top