基于qt银行排队系统的设计与实现.doc_第1页
基于qt银行排队系统的设计与实现.doc_第2页
基于qt银行排队系统的设计与实现.doc_第3页
基于qt银行排队系统的设计与实现.doc_第4页
基于qt银行排队系统的设计与实现.doc_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

太原科技大学华科学院毕业论文(论文)华科学院HUAKE INSTITUTE OF TAIYUANUNIVERSITY OF SCIENCE & TECHNOLOGY毕业论文(论文)题目:基于嵌入式银行排队系统的设计与实现学 生 姓 名 _贾江伟_ _学 号 _200922080208_班 级 _通信092202H_所属院(系)_电子信息工程系_指 导 教 师_严武军、高书明_ 2013 年 5 月 15 日太原科技大学毕业设计(论文)任务书学院(直属系): 华科学院 时间:2012年 11 月 5 日学 生 姓 名贾江伟指 导 教 师严武军、高书明设计(论文)题目基于QT银行排队系统的设计与实现主要研究内容 本文剖析了一般排队叫号系统的业务需求和基本功能,采用软硬件协同设计的方法,提出了排队叫号系统的整体设计方案。根据系统组网特点设计了RS485通信协议,实现了系统内各个模块通信软件的设计。并对系统中RS485主从机的通信模块软件进行统一的规范设计,提高了软件设计的复用性和可维护性。研究方法 传统模式占用PC机仅用于实现触摸屏触摸取号的功能及使用频率较少的系统管理功能,这种结构方式的优点是可以方便与所服务领域主体业务进行兼容性设计,实现数据共享。主要技术指标(或研究目标)(1)客户可以根据自己的需要选择服务类型,从号票打印机抽取一张打印票号,到指定的休息等候区等待。(2)工作人员服务完毕后按下智能呼叫终端上的呼叫按钮,系统会自动根据当前服务类型的排队状况通过LED显示屏和语音信息提醒顾客接受服务。(3)系统具有叫号、重呼、清除、暂停等功能。主要参考文献(1)李建义.张景峰.张红亮.基于ARM微控制器的排队叫号系统设计.微计算机信息.2008年24卷.(2)陆昌平.王健.基于ARM初的嵌入式排队管理系统设计与实现. 现代电子技术.2007年第22期(3)李深.基于计算机仿真的排队系统优化问题研究.沈阳:沈阳工业大学,2007.56-62(4)深圳市来邦电子有限公司.银行排队机在金融管理中的应用.中国安防产品信息,2003,11(04):34-36说明:一式两份,一份装订入学生毕业设计(论文)内,一份交学院(直属系)。太原科技大学华科学院毕业论文(论文)基于嵌入式银行排队系统的设计与实现摘 要 近年来,随着我国社会经济的持续快速发展,长时间的站立排队已成为金融机构、电信、医院、政府办事大厅等场所的常见现象,以通信技术与计算机技术为基础的智能排队管理系统也应运而生。本文分析了国内外排队技术发展现状,指出了在智能排队系统中采用嵌入式技术的优势,剖析了一般排队叫号系统的业务需求和基本功能,采用软硬件协同设计的方法,提出了排队叫号系统的整体设计方案。并分别对系统的硬件和软件设计与实现方法进行了说明,给出了系统基本功能的测试方法和测试结果。本文设计的嵌入式智能排队叫号系统具有成本低,结构紧凑,可靠性高,功能较完善,且可扩展性强等特点,具有较强的适用性和推广价值。关键词:嵌入式系统,排队叫号系统,ARM,RS-485通信,S3C2440开发板Design and Implementation based on QT Bank Queuing SystemABSTRACT In recent years, with the sustained and rapid development of social economy in our country, for a long time standing in line has become a financial institutions,telecommunications,hospitals,government business hall and other places of the common phenomenon,and based on the communication technology and computer technology in the intelligent queue management system also arises at the historic moment.Queuing technology development present situation at home and abroad are analyzed in this paper, points out the advantage of using embedded technology in the intelligent queuing system, analyzes the general line up your turn the business requirements and basic functions of system, adopt the method of hardware and software collaborative design, and puts forward the overall design scheme of the system is line up your turn. And the hardware and software of the system design and realization method are illustrated, gives the system the basic function test method and test results. This paper design an embedded intelligent queuing snarling system has low cost, compact structure, high reliability, function is more perfect, and the characteristics of extensibility, has strong applicability and promotion value.Key words:An embedded system Line up your turn system,ARM,RS-485 communication,S3C2440 development board .目录第1章 引言- 1 -第2章 排队系统分析- 3 -2.1 排队系统使用对象及流程- 3 -2.2 排队系统的配置组成- 4 -2.3相关技术简介- 5 -第3章 系统整体设计- 7 -3.1 系统整体结构- 7 -3.2 系统基本功能及工作原理- 8 -3.3 系统工作流程- 9 -第4章. 硬件设计与实现- 11 -4.1 串口通信原理- 11 -4.2 硬件整体设计- 12 -4.3 呼叫器设计与实现- 16 -4.4 主控制器设计与实现- 16 -5. 系统构建与移植- 18 -5.1排队服务器主机软件设计- 18 -5.2 内核移植- 19 -5.2.1 配置内核参数- 19 -5.2.2 编译内核- 21 -5.3智能呼叫终端软件设计.- 22 -5.4嵌入式实时操作的移植- 23 -6. 总结与展望.- 24 -参考文献- 26 -致谢- 27 -附录- 28 -1 参考外文翻译- 28 -2 参考外文原文- 29 -67第1章 引言随着社会的不断发展,排队现象是我们日常生活中常遇见的一种问题。按照参与排队的事物,排队现象可以分为人的排队和物的排队。人的排队,例如:在食堂吃饭,等待打饭的排队;上下班坐公共汽车,等待公共汽车的排队;顾客到商店、超市购物形成的排队;各种售票处购票形成的排队等。物的排队,例如:等待打印或发送的文件;十字路口等待红灯的汽车、自行车。如果按照排队的方式,排队现象又可以分为有形排队和无形排队。例如上下班坐公共汽车等,这种排对我们称为有形排队。例如有许多顾客同时打电话到订购处订购车票,当其中一个顾客正在通话时,其它顾客就不得不在各自的电话机旁等待,他们可能分散在各个地方,却形成一个无形的排队等待通话,这种现象称为无形排队。近年来各行各业越来越重视窗口服务行业的建设,一方面人们对服务质量提出了更高的要求;另一方面服务行业自身为适应日益激烈的市场竞争也在通过各种形式不断提升自身的服务,因此出现了排队系统。排队系统一经出现,就取得了不错的社会反响,广泛应用于银行营业厅等金融服务行业。银行营业网点客户排队服务是一个常见的排队现象。特别是随着人们生活节奏的不断加快,国内各银行对集约化经营日益重视,银行加强了对经营效益不高的营业网点的拆并。网点资源减少后,客户流进一步向现有的网点集中,导致客户排长队的现象比较突出,造成客户等待时间过长,甚至引发服务投诉和存款的流失。无论哪种情况发生,都会损害银行的形象,并最终导致银行经营效益的下降。所以很好地解决客户排队问题能够有效的节约客户与银行交易的时间成本和体力成本,增加客户让渡价值,提高客户对银行服务的满意度,进而增强银行的市场竞争能力。目前,市场上的智能排队系统除了已经实现最基本的功能,如自动根据客户选择的服务类型打印票号、通过计算机自动分流排队、呼叫与保留重呼等,还发展了许多增值功能,如WEB上网、员工安排计划、预约管理、高端客户识别、窗口业务分析、员工业务考核等,同时具有延伸和扩展功能,其服务功能也由单纯的优化服务环境和客户秩序管理,渐渐渗透到使用者的服务系统管理之中,成为使用机构行之有效的辅助管理与服务手段。排队管理系统集现代计算机、通信和电子技术为一体,是提高窗口服务行业的办公效率,解除顾客排队等候问题的有利工具。目前排队系统的核心结构主要存在有单片机、PC式、嵌入式三种结构形式。嵌入式系统在国内一个普遍的定义是:以应用为中心、以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。目前,基于嵌入式结构形式的智能排队管理系统尚处于起步阶段,但较之前两种结构形式具有明显的优势。目前多数基于PC架构的排队主机使用计算机开发都是基于WindowS下开发,这样做的好处是开发时间和开发成本低,这些在WindowS平台上运行的排队系统,大多忽略或者淡化了Windows操作系统的价格,这无形中就存在版权纠纷的风险,且在实际使用中由于每天须开关机,容易造成系统不稳定而形成故障。采用基于嵌入式技术设计的智能排队管理系统,可以选用性价比较高的ARM微处理器芯片或者嵌入式工控机主板进行硬件设计,使用嵌入式Linux操作系统或实时多任务操作系统C/os一11进行应用软件的设计,使得系统不仅成本低、稳定可靠,免除了频繁开关机造成的系统崩溃之忧,而嵌入式系统越来越多的应用软件开发支持和强大网络功能也为系统下一步的功能扩展打下了基础,具有极好的应用前景,值得进一步深入研究。第2章 排队系统分析2.1 排队系统使用对象及流程排队系统的使用对象主要为客户、工作人员、系统管理员。系统使用者和排队系统的关系及排队流程,见图1。作为使用者客户来说,使用排队系统一般流程为:先在取号机上选择需要办理的业务,取号机打印带有排队信息的票号,客户在客户区等待呼叫,轮到该客户时,显示屏提示客户到某个窗口办理,客户凭排队票号前往指定的窗口办理,办理完后离开。窗口工作人员一般操作流程为:每天上班后在呼叫器上登陆系统,操作呼叫器呼叫客户前来办理,客户来到窗口为其办理业务,办理结束后继续呼叫下一个客户,期间可以暂停办理业务,或者处理特殊的错号,漏号等情况。顾客工作人员 选择业务取号机取号选择业务取号机取号 数据中心 等待叫号 办理业务到指定窗口办理相关业务 结束办理图2.1 使用流程2.2 排队系统的配置组成本文参照大多数嵌入式系统所遵循的软件和硬件协同设计的方法和特点,即软硬件设计是并行且交叉的,两者互相支持、互相提供开发的平台。可以设计出整个系统的逻辑结构如图2.2所示,整个系统主要由嵌入式硬件设备、通信线路、管理软件与通信软件等各个功能模块软件组成,其中嵌入式硬件设备包含排队服务主机每个服务窗口配置的智能呼叫终端和LED显示屏。系统的硬件环境主要由嵌入式排队主机、通信网络、智能呼叫终端、LED显示条屏、语音设备、打印机等构成。由于最后两者都是技术成熟的设备,所以整个硬件设计的重点是嵌入式排队主机、智能呼叫终端、LED条屏以及通信网络的设计。考虑到通信线路的可靠性、稳定性、以及开发成本、技术可行性,整个系统内部的通信采用异步串口通信-RS485总线通信方式。智能呼叫终端N智能呼叫终端(1)语音呼叫系统嵌入式排队主机取号键盘以太网LED显示屏(1)微型打印机LED显示屏 N 图2.2 系统逻辑图与硬件设计相对应,整个软件系统分为嵌入式排队主机服务器、智能呼叫终端、LED显示屏三个主要部分,每个部分均包含根据事先约定的通信协议设计的通信软件。因为整个系统涉及嵌入式硬件较多,功能较为复杂,这里采用了分工协作开发的模式来完成软件设计。嵌入式排队主机服务器软件部分包括五个模块:管理软件模块,负责协调整个系统的正常工作;串行通信软件模块,负责主机与呼叫终端、LED条屏的通信;打印机驱动软件模块和语音呼叫软件模块;以及与以太网通信软件模块。智能呼叫终端软件部分由LED数码管实时显示模块和通信模块软件组成。LED显示屏软件由主程序信息显示模块和串口通信中间件模块组成。在开发工具的选择上,除了建立相应的交叉编译环境外,排队服务器主机选择了开源的嵌入式操作系统Linux作为开发平台,不仅可以方便的开发多功能的应用软件,也为下一步系统进行功能扩展、开发强大的通信软件打下了基础。LED显示屏采用嵌入式实时操作系统林C/OS11作为开发平台,保证了软件的稳定运行,同时满足了下一步研制集中显示屏时功能扩展的需求。在开发语言的选择上,采用了功能强大的嵌入式C语言进行系统开发,使得软件具有较强的移植性和易读性。2.3相关技术简介(1)触控屏触摸屏的基本原理是,用手指或其他物体触摸安装在显示器前端的触控屏时,所触摸的位置(以坐标形式)由触摸屏控制器检测,并通过接口(如RS一232串行口)送到CPU,从而确定输入的信息。触摸屏一般分为,电阻触摸屏、表面声波触摸屏、电容技术触摸屏、红外触摸屏;排队系统中一般采用电阻触摸屏、表面声波触摸屏。(2)RS485RS485由电子工业会(EIA)在1983年制订并发布,RS485是一种多点发送、多机接收的双向、平衡传输规范;传输速率达到10Mb/S,传输距离达到4000英尺(速率低于100kb/S时),采用平衡驱动器和差分接收器的组合,抗共模干能力增强,即抗噪声干扰性好,并允许在一条平衡总线上连接多达128个收发器、即RS485具有多站能力,这样用户可以利用单一的RS85接口方便地建立起设备网络。(3)LEDLED是发光二极管英文Lihgt Emitting Didoe的简称。具有高亮度、视觉远大、图像清晰、色彩鲜艳、稳定性好、功耗低、光效高、寿命长等优点。按显示颜色可分为单基色(红色或绿色)、双基色(红色、绿色)、三基色(红色、绿色、蓝色);按显示性能可分为图文屏、同步屏、行情显示屏(包括证券屏、利率汇率屏、工厂看板、安全牌等);LED显示屏主要用于显示文字、图象、动画、行情及电视、录像等,一具有多种编辑和播放功能。其广泛应用于金融、税务、电力、交通、电信、医疗、卫生系统及政府机关、体育场管、工矿企业等各行各业第3章 系统整体设计3.1 系统整体结构本文研究的排队系统基于有线触摸式的结构,见图1,即设备之间采用网线或双绞线连接,取号终端采用触摸式取号终端。系统硬件部分主要有显示屏、呼叫器、语音设备、一排队取号机、排队服务器、管理PC终端等。显示屏和呼叫器连接采用RS485网络,取号终端、服务器和管理终端采用TCP/PI网络,485/PI转换器进行RS485网络与PI网络之间的数据转换。排队服务器的声卡音频输出连接到语音设备。同样,只要遵循通讯协议,取号终端或通讯传输方式可以采用其他方式,如可采用按键式取号终端,结构图见图2。图3.1有线触摸式排队系统图图3.2有线按键式排队系统图3.2 系统基本功能及工作原理系统的基本功能:(1)客户可以根据自己的需要选择服务类型,从号票打印机抽取一张打印票号,到指定的休息等候区等待。(2)工作人员服务完毕后按下智能呼叫终端上的呼叫按钮,系统会自动根据当前服务类型的排队状况通过LED显示屏和语音信息提醒顾客接受服务。(3)工作人员可实时查看等待人数、正在服务号码。系统工作原理:集排队系统服务主机与取号机一体的嵌入式排队叫号主机服务器设置在服务大厅,客户进入大厅,选择自己需要的服务类别,从票号打印机抽取一张打印票号,票号上有服务类型、排队票号、当前等待人数、时间等信息,然后到相应的休息区等待。每个服务窗口配备有一个智能呼叫终端和一个LED显示屏,分别通过串口与排队主机组网,多个窗口的呼叫终端通过通信网络连接到嵌入式排队主机服务器。当窗口的工作人员开始进行客户服务时,首先通过呼叫终端发送呼叫请求命令,排队服务主机实时轮询每个呼叫终端的呼叫信息,并根据查询的结果处理相应的排队队列,响应请求,给呼叫终端和LED显示屏分配服务号,并驱动语音呼叫系统给出语音提示:“请 xxx号顾客到xx号窗口”,其他功能也参照此例实现。此外,用户还可以通过以太网远程登陆排队服务器实时查询服务大厅的排队状况。3.3 系统工作流程数据总流程:顾客选择服务类型如图3所示,排队系统基本流程图以所要处理的排队信息为主体,从客户在发号机上按下按键后产生的一条记录开始,给出了数据处理的整个流程。顾客在取号机上获取票号根据服务类型选择服务队列排队主机轮询个窗口信息LED显示对应窗口信息语音呼叫系统播报相应信息智能呼叫终端显示相应信息图3.3数据处理流程图排队系统涉及工作人员与客户双方,可以简单的将整个工作流程分成两个具体流程:客户工作流程和工作人员工作流程。客服排队流程:顾客到达服务大厅后,先到排队发号机上选择自己需要的服务类型,得到自己的服务票号后,到相应的休息位置等候语音呼叫,同时关注相关LED条屏和语音呼叫系统的信息指示,当被叫到自己的票号时,根据语音提示和LED条屏显示信息到相应窗口办事。柜员工作流程:工作人员到达指定的窗口后,即可看到呼叫终端上显示的本窗口的最大等待人数,待准备好服务客户时按下“呼叫”键开始工作,每服务完一个客户后就按“呼叫”键呼叫下一位顾客,当所呼叫客户在规定时一间内不到时可以按“重呼”键再次呼叫客户,当工作人员因故暂停服务时,可以按下呼叫终端的“暂停”按键。第4章. 硬件设计与实现4.1 串口通信原理串口通信原理基本概念:终端与其他设备(例如其他终端、计算机和外部设备)通过数据传输进行通信。数据可以通过两种方式进行传输:串行传输和并行传输。并行传输的特点是:各数据位同时传送,传送速度快、效率高,但是有多少数据就需要多少根数据线,因此传送的成本高。并行数据传送的距离通常小于30m。串行通信是数据一位一位地进行传输而实现的通信。数据传送按位顺序进行,最少只需一根传输线即可完成,节省传输线。与并行通信相比,串行通信还有较为显著的优点:传输距离长,可达到数千公里;在长距离内串行数据传送速率会比并行数据速率快,串行通信的通信时钟频率容易提高;串行通信的抗干扰能力十分强,其信号间的互相干扰完全可以忽略。(l)串行通信数据传送模式串行通信数据通常是在二个站(点对点)之间进行传送,按照数据流的方向可分成三种传送模式:单工、半双工、全双工。单工形式的数据仅能沿着单一的方向传播。半双工形式使用同一根传输线,即可发送数据又可接收数据,但不能同时发送和接收,在任何时刻只能由其中的一方发送数据,另一方接收数据。全双工形式的数据分别由两根在两个不同的站点同时发送和接收的传输线进行传送,通行双方都能在同一时刻进行发送和接收操作。(2)串行通信方式串行通信在信息格式的约定上可以分为两种方式:同步通信和异步通信。在同步通信中,数据或字符开始处是用一个同步字符来指示的(常约定为12 个),以实现发送端和接收端同步。一旦检测到约定同步字符,下面就连续、顺序地发送和接收数据。同步传送格式如图所示。该方式要求接收和发送时钟严格保持同步,在通信时通常要求有同步时钟信号串行通信总线接口标准:为了方便的把计算机和各种外部设备等有机的连接起来,通常采用标准接口,即明确定义若干信号线,使电路接口通用化并符合统一的标准。目前异步串行通信接口标准有很多,主要包扩 RS-232C,RS232ERS-449(RS-422,RS-423,RS485)、20mA 电流环、USB 通用接口。目前银行系统中采用的串口标准通常都是RS-232和RS-484。RS-232又称单端、非平衡线路,一个非平衡接口拥有多个连接在一起的接地线,在 RS-232 线路中,接收器对一个被所有信号使用的通用地址线和信号电压的电压差作出响应。不同于RS-232,RS-485 使用的是平衡线路,能够进行远距离的数据传输。在 RS-485中,为每个信号分配了专用的导线对,其中一根导线上的电压等于另一根导线上的电压取补,或者取反,接收器对导线上的电压差作出相应的反映。采用平衡线路的 RS-485 线路除了对噪声具有免疫功能之外,还可以在一定限度之内不受接收器和驱动器之间的接地电势差异的影响。本系统中 CPU 卡读卡器和柜员机之间使用 RS-485 串口进行通信,平衡连线不考虑不一致的接地电势,接收器只检测两个传输信号之间的差异,而在非平衡线路中,受电视差异影响,接收器可能会误读入一个输入。4.2 硬件整体设计基于S3C2440微处理的排队服务器主机介绍:排队服务主控模块选用Samsung公司的微处理器S3C2440作为主控芯片,存储器部分有SDRAM、 NOR Flash、 NAND Flash等,外设有按键输入、串行通信RS232模块与RS485模块,语音驱动模块,微型打印机驱动模块等。(l)ARM与S3C2440微处理器ARM (AdvancedRJSCMachine)公司是一家专门从事芯片IP设计与授权业务的英国公司,其产品有ARM内核以及外围接口。ARM内核是一种32位嵌入式RISC微处理器,具有功耗低、性价比高和代码密度高等特点。目前,ARM微处理器主要包括以下几个系列,ARM7系列、ARM9系列、ARM9E系列、ARM10E系列、Intel的StrongARM和Xseale等。其中,ARM7、ARM9、ARM9E和ARM10E为四个通用处理器,每一个系列提供一套相对独特的性能来满足不同应用领域的需求。如ARM7系列适用于工业控制、网络设备、移动电话等应用;ARM9、ARM9E和 ARM10E系列则更适合无线设备、消费类电子产品的设计。S3C2440是Samsung公司基于ARM920T设计的一款处理器,主频最大可达400MHz;扩展总线最大频率100MHz;存储控制器(八个存储体),四通道PWM定时器和一通道内部定时器看门狗定时器;130个通用I/O接口和24通道外部中断源;RTC;三通道UART,SupportsfrDA1.0,可以基于DMA直接内存访问模式或中断模式工作;四个DMA通道(支持外设DMA);8通道10-bitADC和触摸屏接口;支持SIN与 TFTLCD控制器;1通道115一BUS音频编解码器接口;AC97解码器接口;三个USB口;IIC-Bus接口;两个串行外围接口(SPI);SD卡接口;功耗控制模式:具有普通,慢速,空闲和掉电模式。(2)串口通信模块设计S3C2440有3个通道的UART,每个通道都具有内部64字节的发送FIFO和64字节的接收FIFO。将这三个异步串口UART通过相应的电平转换芯片连接外设。本文对这三个UART做如下分配:UART0口外接微型热敏打印机;UART1和UART2口分别外接智能呼叫终端网络和LED显示屏网络。(3)语音模块电路智能呼叫终端(以下简称呼叫终端)主要由主控芯片MCU(AT89C2051)、看门狗芯片 (DS1232)、半双工电平转换芯片(SN75LBC184)、串行移位寄存器(HEF4094)以及8段LED数码管和多功能按键构成。串口用于接收从排队主机服务器发来的数据包,LED数码管分别用来显示正在服务号和最大等待号。呼叫终端原理图参见图1。时钟电路看门狗电路AT89C2051UART0接口按键8段LED数码管串行移位寄存器RS485电平转换图4.1呼叫终端原理图硬件整体构建:系统硬件由服务器 PC、主控制器、语音控制器、打印机、分线器、呼叫器、LED 窗口显示屏和 CPU 卡读卡器等设备构成。系统各硬件通信主要采用异步串口通信方式实现数据传输。分线器与每个呼叫器采用 RS-485 标准,半双工通信;呼叫器与 LED 窗口显示屏采用 RS-232 标准,单工通信。1. 服务器服务器 PC 主要负责储存和管理所有的系统相关数据,响应各柜员通过呼叫器查询读取修改数据等请求,管理员可在服务器 PC 上进行参数设置等操作。服务器 PC 内装主控制器,它控制打印机、LED 窗口显示屏、语音控制器、呼叫器等设备,实行自动化操作。可根据不同需要灵活调节系统功能。服务器 PC 安装在银行营业厅入口处,其内部设有电子控制系统,并配置马达与齿轮,以带动纸票,服务器 PC 的触摸显示屏上有银行相应的业务按钮,按下按钮,打印机将自动打印号票,并将号票送出给客户。2. 主控制器主控制器负责连接 CPU 卡读卡器、打印机、语音控制器,并通过分线器连接呼叫器和 LED 窗口显示屏。3. 分线器分线器主要负责呼叫器、LED 窗口显示屏与主控制器进行通讯。4 . LED 窗口显示屏该显示屏安置在营业厅每个窗口上,带有闪烁显示,显示操作员当前正在办理或是正在呼叫的号码,以提醒顾客到该柜台办理相关业务。图4.3硬件整体设计图4.3 呼叫器设计与实现呼叫器主要具有取号、呼号、LCD 显示、按键查询等功能,并与主控制器和LED 窗口显示屏进行通讯。与主控制器采用 RS485 协议 9600BPS 的波特率通讯,通讯距离远,抗干扰强,系统稳定,与 LED 窗口显示屏采用 RS-232 通讯协议。呼叫器是本系统非常重要的组成部分,采用78E52微电脑芯片,LCD液晶显示模块显示操作和工作内容,采用0-9共10个数字按键和5个功能键经过组合完成多种功能,操作方便。呼叫器功能:呼叫器具有呼叫、重呼、取消、指定呼叫、呼叫转移、时间和日期设置、随时改变业务类型和呼叫机地址功能。呼叫器还能够使用LCD液晶显模块显示操作和功能。它采用RS485和RS232双通讯口,以9600BP的波特率通讯,并提供操作声音提示和DC12V供电。呼叫器实现:在Linux下,音频设备程序的实现与文件系统的操作密切相关。通过内核提供的一组系统调用,应用程序能够直接访问声卡驱动程序提供的各种音频设备接口。音频编程文件实际上就是一组音频设备文件,通过它们可以向声卡写入或读出数据,并且可以对声卡进行控制,设置采样频率和声道数目等。4.4 主控制器设计与实现主控制器是本系统的心脏,连接 CPU 卡读卡器、打印机、语音控制器,并通过分线器连接呼叫器和 LED 窗口显示屏。主控制器功能:主控制器负责将各硬件设备与服务器 PC 相连,并控制其数据通信。在主控制器中有一个 POLLING 程序,POLLING 子程序用来依次对每个呼叫器进行轮流检测,以确定是否要呼叫、转移等,如果有则进行相应处理,如果没有则对下一个呼叫器进行查询,然后将处理数据传送给相应呼叫器,并将相应数据显示在 LED 窗口显示屏上,另外主控制器还负责将数据传输给打印机和语音控制器。主控制器设计:主控制器与呼叫器采用 RS-485 通讯,与打印机、CPU 卡读卡器采用 RS-232 通讯协议,与液晶采用并口通讯,与存储器采用 IIC 通讯协议,采用总线集中供电(DC+15)防止过流过压保护,采用硬件看门狗防止程序跑飞,其硬件组成如下:1. 芯片 78E52B功能:整个系统的控制中心,完成管理系统的取号、发号、打印、并驱动显示、与呼叫器通信、语音提示和数据存储等功能。2. 语音芯片 1420P功能:当呼叫器要求取一个号,或要求进行重呼时,主控制器则控制语音芯片进行语音呼叫。3. 24C256功能:对排队机中用到的数据进行存储。比如所排的号及时间、取出的号及时间,以及所转移的号。4 液晶显示器功能:显示当前的时间及取号的提示信息;如果到了下班时间,则显示停止取号的提示信息。第5章 系统构建与移植5.1排队服务器主机软件设计基于S3C2440的Linux系统移植:(1)嵌入式Linux特点Linux从最开始就是一个开放的系统,并且始终遵循着源代码开放的原则,它是一个成熟而稳定的网络操作系统,作为嵌入式操作系统有如下优势:低成本开发系统。Linux的源码开放性允许任何人可以获取并修改Linux的源码,这也提高了开发产品的效率。应用于多种硬件平台。Linux可支持多种处理器架构,并且已被移植到多种硬件平台。Linux采用一个统一的框架对硬件进行管理,同时从一个硬件平台到另一个硬件平台的改动与上层应用无关。定制的内核。Linux具有独特的内核模块机制,可以根据嵌入式设备的个性需要量体裁衣,将某些模块插入到内核或者从内核中移走。性能优异。Linux系统内核精简、高效和稳定,能够充分发挥硬件的功能,对比其他操作系统,它占用资源更少,运行更加稳定,速度更快。良好的网络支持。Linux的内核结构在网络方面是非常完整的,提供了对包括十兆位、百兆位以及千兆位的以太网,还有无线网络和光纤等的支持,这对越来越依赖于网络的嵌入式设备来说无疑是很好的选择。(2)基于S3C2440的Linux系统移植基于S3C2440的Linux系统移植技术比较成熟,只需做好以下几个工作:在宿主机(即PC机)上搭建交叉编译开发环境,完成安装交叉编译器并进行相应的配置;设计并实现系统启动的引导程序Boot loader,为最终调用系统内核做好准备;配置、编译Linux内核并进行移植;加载现有文件系统到目标板上。5.2 内核移植5.2.1 配置内核参数1、 进入Linux-内核主目录,通过以下命令将2410的默认配置文件写到当前目录下的.config。S3C2410的配置和S3C2440差不多,在这基础上进行修改。 make s3c2410_defconfig 2、 配置内核模块的功能,有几种方式可以进行界面选择: make menuconfig(文本选单的配置方式,在有字符终端下才能使用) make xconfig(图形窗口模式的配置方式,图形窗口的配置比较直观,必须支持Windows下才能使用) make oldconfig(文本配置方式,在原内核配置的基础修改时使用) 这里使用make menuconfig命令。 3、*Enable loadable module support- *Forced module loading *Module unloading 4、System Type- S3C2410 Machines- *SMDK2410/A9M2410选上 其余不选 S3C2440 Machines- *SMDK2440 *SMDK2440 with S3C2440 CPU module,其余不选 其余的Machines下选项全部不选(如2400,2412,2442,2443) 5、Kernel Features- *Use the ARM EABI to compile the kernel 注:由于所使用的的交叉编译arm-linux-gcc-4.3.2是符合EABI标准交叉编译器,对于浮点运行会预设硬浮点运算FPA(Float Point Architecture),而没有FPA的CPU,比如SAMSUNG S3C2410/S3C2440,会使用FPE(Float Point Emulation 即软浮点),这样在速度上就会遇到极大的限制,使用EABI(Embedded Application Binary Interface)则可以对此改善处理,ARM EABI有许多革新之处,其中最突出的改进就是Float Point Performance,它使用Vector Float Point(矢量浮点),因此可以极大提高涉及到浮点运算的程序。 参考:/bbs/viewthread.php?tid=130&extra=page%3D1 6、Boot options- noinitrd root=/dev/mtdblock2 init=/linuxrc console=ttySAC0 7、Userspace binary formats- *Kernel support for ELF binaries 其它的可以全部不选。 8、 选择支持yaffs2文件系统 File system- Miscellaneous file systems- YAFFS2 file system support * Lets Yaffs do its own ECC Native language support Codepage 437 (United States, Canada) Simplified Chinese charset(GB2312) Traditional Chinese charset(Big5) NLS ISO 8859-1(Latin1:Western European Languages) NLS UTF-8 9、Device Drivers- Graphics support- Support for frame buffer devices- *Enable firmware EDID *Enable Video Mode Handling Helpers S3C2410 LCD framebuffer support Console display driver support- Framebuffer Console support *Select compiled-in fonts * VGA8x8 font *VGA8x16 font *Bootup logo- *Standard black and white Linux logo *Standard 16-color Linux logo *Standard 224-color Linux logo 在Bootup logo-选择的那几项,将会在系统启动时在液晶上显示开机logo。5.2.2 编译内核编译内核需要遵守以下步骤: 1、make dep make dep的意思就是说:如果你使用程序A(比如支持特殊设备),而A需用到B(比如B是A的一 个模块/子程序)。而你在做make config的时候将一个设备的驱动 由内核支持改为module,或取消支持,这将可能影响到B的一个参数的设置,需重新编译B,重新编译或连接A.如果程序数量非常多, 你是很难手工完全做好此工作的。make dep实际上读取配置过程生成的配置文件,来创建对应于配置的依赖关系树,从而决定哪些需要编译而那些不需要编译。所以,你要make dep。 2、make clean 清除一些以前留下的文件,比如以前编译生成的目标文件,这一步必须要进行。否则,即使内核配置改动过,编译内核时还是将原来生成的目标文件进行连接,而不生成改动后的文件。 3、make zImage Linux 内核有两种映像:一种是非压缩内核,叫 Image,另一种是它的压缩版本,叫zImage。根据内核映像的不同,Linux内核的启动在开始阶段也有所不同。zImage是Image经过压缩形成的,所以它的大小比 Image小。但为了能使用zImage,必须在它的开头加上解压缩的代码,将 zImage解压缩之后才能执行,因此它的执行速度比Image要慢。但考虑到嵌入式系统的存储空容量一般比较小,采用zImage可以占用较少的存储空间,因此牺牲一点性能上的代价也是值得的,所以一般的嵌入式系统均采用压缩内核的方式。 编译完成后,会在内核目录arch/arm/boot/下生成zImage内核映像文件。5.3智能呼叫终端软件设计 呼叫终端作为排队系统中RS485通信的从机,除了通过按键与主机进行信息交互之外,还可以根据主机发送的广播包实时更新本窗口最大等待号。其软件设计采用C51语言进行程序设计,主要包含两个部分,主程序部分巡检按键信息,分析所接收的数据帧并进行相应的处理。主程序软件设计在呼叫终端的主程序中,首先对串日和数据缓冲区进行初始化,包括通过软件定义本从机地址,打开串口中断,主要完成两个功能,一是巡查并记录按键信息作为向主机回复的应答帧数据;二是分析数据缓冲区中串口接收的数据并进行处理,包括更新LED数码管显示的最大等待号和正在服务号、给主机回复相的数据帧。通信模块软件设计呼叫终端在主程序中将串口初始化后,即打开串口中断,准备接收数据。在完整无误的接到主机发来数据帧后,可以将接收到的字节依次送入缓冲存储器由后台程序处理,中断处理程序(ISR)只负责接收数据帧,这就简化了中断程序的设计。下图为呼叫终端通信模块程序设计流程图。图5.1通信模块程序设计流程图5.4嵌入式实时操作的移植C/os-II是一种免费、开源、结构小巧、基于可抢占优先级调度的实时操作系统,其内核提供任务调度与管理、时间管理、任务间同步与通信、内存管理和中断服务等功能。C/os-II的源代码中除了与微处理器硬件相关的部分使用汇编语言编写,绝大部分是使用ANSIC编写的,因而具有较强的移植性,尤其适合在定制嵌入式系统时移植到各种嵌入式微处理器上。使用条件编译可以实现卜C/os-II内核的定制与裁剪,使得内核更加精悍实用。C/os-II还具有较强的实时性,可剥夺的实时内核使其总是运行就绪条件下优先级最高的任务,其大多数函数调用和服务的执行时间具有确定性。C/os-II的多任务特点可以方便用户管理多个任务,足以满足一般的需要。其丰富的系统服务包含信号量、互斥信号量、时间标志、消息邮箱、消息队列、内存的申请与释放及时间管理函数等。此外,C/os-II还具有出色的稳定性与可靠性,它的每一种功能、每一个函数及每一行代码都经过了考验和测试。总结经过努力,本文所做的工作仅仅是运用嵌入式技术在智能排队系统领域里的一点尝试性实践,主要完成了以下几方面的工作:(1)调查研究了国内排队系统产品现状,分析了一般排队系统的工作流程和基本功能需求,设计了用嵌入式技术解决排队系统的硬件、软件和组网方案。(2)在系统的硬件设计中,首先在深入研究串行通信原理的基础上,采用RS485通信方式对排队系统内部进行组网,并对使用RS485进行网络配置的注意事项进行了说明;接着分别采用嵌入式微处理器S3C2440、LPC2138以及AT89C2051为主控制芯片,设计了排队系统的三个主要硬件模块,即排队服务器主机、以及呼叫终端,重点完成了最后两者的硬件设计、实现与调试工作。(3)在设计软件部分时,主要完成了以下两个方面的工作。针对排队叫号系统的功能需求和组网特点,重点设计了专门适合排队系统的RS485通信协议,系统内部各个模块通信软件均参照此协议进行设计;参与完成了系统三个模块的软件设计一与调试工作。一是参与了主机服务器的软件设计,使用嵌入式Linux操作系统作为应用程序的开发平台,满足了系统下一步功能扩展的需求,主要研究了Linux下RS485通信协议的软件设计;二是使用嵌入式实时操作系统C/os-II作为LED显示屏应用程序的开发平台,设计了LED屏的应用程序,在软件的设计中引入了嵌入式中间件技术,提高了软件的开发效率和稳定性;三是设计了智能呼叫终端的应用程序。并主要完成了最后两部分工作,尤其是重点研究了每个模块通信软件的设计方法。(4)将系统硬件和软件集成后,分阶段架构系统完成了排队主机与每个从机的分别联调,最后,将整个系统组网进行调试,实验结果表明系统运行稳定可靠。本文所开发的嵌入式智能排队叫号系统具有以下特点:(l)使用嵌

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论