嵌入式超市收银机硬件设计毕业论文.doc
本科毕业设计(论文) 题目 嵌入式超市收银机硬件设计 学院名称 电气工程与自动化学院 专业班级 通信工程08级2班 学生姓名 导师姓名 2012年 6月 6 日 目 录摘 要1ABSTRACT2第一章 嵌入式系统的介绍31.1嵌入式系统的概念31.2嵌入式系统的应用领域31.3嵌入式系统的发展趋势4第二章 嵌入式处理器52.1嵌入式微处理器的特点52.2嵌入式计算机的分类5第三章嵌入式操作系统72.1嵌入式操作系统的特点73.2嵌入式操作系统的种类83.3. 嵌入式操作系统的发展93.4使用实时操作系统的必要性103.5 实时操作系统的优缺点11第四章 系统硬件设计114.1系统概述114.2系统总体设计20第五章 总结与展望215.1设计总结215.2设计展望21参考文献22附录23致 谢26摘 要嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。采用占先式的调度,响应的时间很短,任务执行的时间可以确定;系统内核很小,具有可裁剪,可扩充和可移植性,可以移植到各种处理器上;较强的实时和可靠性,适合嵌入式应用。近年来, 随着对实时性要求的提高,软件规模不断上升,实时核逐渐发展为实时多任务操作系统(RTOS),并作为一种软件平台逐步成为目前国际嵌入式系统的主流。嵌入式微处理器ARM有着体积小、低功耗、低成本、高性能的优点,其应用已经深入到工业控制、无线通信、网络应用、消费类电子等各个领域。近年来,我国的商业销售业发展迅速,尤其是在二级城市和农村。商业电子收银机则是现代化、自动化商业管理必不可少的基本电子设备之一。迫切需要成本低廉,功能强大的收银机设备。嵌入式系统恰巧可以满足这一需求。介于这一需要,提出了嵌入式超市收银机系统的硬件设计这一课题。本系统是以LPC2138作为核心控制器,以ARM2138实验开发板为平台,辅以必要的外围电路设计而成的简易超市收银机。它包括微处理器核心模块、数据存储模块、扫描器输入模块、液晶显示模块、打印模块。关键词:嵌入式系统 LPC2138 实时系统ABSTRACTEmbedded system is application-centric, based on computer technology, software and hardware can be tailored to adapt to the application system functionality, reliability, cost, size, power consumption, the stringent requirements of the dedicated computer system. Preemptive scheduling, the response time is very short, the task execution time can be determined; system kernel is very small, with tailorable, scalable and portable, can be ported to a variety of processors; strong real-time and reliable , suitable for embedded applications. In recent years, with improved real-time requirements, the software size increasing, real-time nuclear gradually developed into a real-time multitasking operating system(RTOS) and gradually become the mainstream of the international embedded systems as a software platform.Embedded microprocessor ARM has a small size, low power, low cost, high-performance advantages, its application into various fields of industrial control, wireless communications, network applications, consumer electronics.In recent years, China's commercial sales industry has developed rapidly, especially in one of the secondary cities and rural commercial electronic cash register is a modern, automated business management essential electronic equipment. An urgent need for low-cost, powerful cash register equipment, embedded systems happen to meet this demand.Because of this need, the subject of the hardware design of embedded supermarket cash register system.The system is a simple supermarket cash register based on ARM2138 Experiment Board, which adopts LPC2138 as the core controller and appends necessary peripheral circuits. It includes the MCU core module, data storage module,,input module(scanner) , LCD module and print module. Key words:Embedded system; LPC2138; RTOS 第一章 嵌入式系统的介绍1.1嵌入式系统的概念嵌入式系统是以应用为主要任务,软硬件可裁剪的专用计算机系统。一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序四个部分组成。它适用于应用系统对功能、可靠性、成本、体积、功耗等有严格要求的场合,用于实现对其他设备的控制、监视或管理等功能1。对于嵌入式系统,应该从三个方面加以认识:硬件应有嵌入式处理器作基础平台;软件应以嵌入式软件作运行平台;形式是嵌入在设备中。目前,对嵌入式系统的定义多种多样,但没有一种定义是全面的。下面给出两种比较合理定义: 1)从技术的角度定义:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。2)从系统的角度定义:嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统。术语嵌入式反映了这些系统通常是更大系统中的一个完整的部分,称为嵌入的系统。嵌入的系统中可以共存多个嵌入式系统。嵌入式系统的特点如下;1)嵌入性:嵌入到对象体系中,有对象环境的要求。2)专用性:软、硬件按对象要求进行裁剪。3)计算机:实现对象的智能化功能。嵌入式系统由包括微处理器、定时器、微控制器、存储器、传感器等一系列微电子芯片与器件,和嵌入在存储器中的微型操作系统、控制应用软件组成,共同实现诸如实时控制、监视、管理、移动计算、数据处理等各自动化处理任务。嵌入式系统以应用为中心,以微电子技术、控制技术、计算机技术和通讯技术为基础,强调硬件软件的协同性与整合性,软件与硬件可剪裁,以满足系统对功能、成本、体积和功耗等要求。1.2嵌入式系统的应用领域中国正在成为嵌入式系统世界制造大国,在消费电子、工业应用、军事国防、 电子、工业应用、军事国防、网络设备等领域都有嵌入式系统的应用,嵌入式技术刺激了许多新的应用需求,嵌入式技术发展又在不断刺激新的技术产生。信息家电、医疗电子病历、信息家电、医疗电子病历、微小型智能武器军事国防、工业、消费电子、军事电子、信息家电、智能玩具、工控设备、智能仪表、汽车电子、网络设备、通信设备、移动存贮、电子商务、网络、工业控制、工业控制、 工业设备着技术发展,目前许多设备除了进行实时控制,还须将设备状态、传感器的信息等在显示屏上实时显示。随着嵌入式系统的高速发展,嵌入式软件将继续增加新的功能,并产生更加灵巧智能的产品。嵌入式系统将无处不在,为科技发展贡献巨大力量。1.3嵌入式系统的发展趋势以信息家电为代表的互联网时代嵌入式产品,不仅为嵌入式市场展现了美好前景,注入新的生命,同时也对嵌入式系统技术,特别是软件技术提出了新的挑战。这主要包括:支持灵活的网络链接、轻便的移动应用和多媒体信息处理。1)嵌入式的应用软件越来越丰富、成熟为了满足应用功能的升级,设计师们一方面采用更强大的嵌入式处理器如32位、64位RISC芯片或DSP信号处理器增加处理能力;同时还采用实时多任务编程技术和交叉开发工具技术来控制功能复杂性,简化程序设计、保障软件质量和缩短开发周期。随着因特网技术的成熟、带宽的提高,ICP和ASP在网上提供的信息内容日趋丰富、应用项目多种多样,像电话手机、多媒体播放器、电视机顶盒等嵌入式电子设备的功能不再单一,电气结构也更为复杂。2)联网成为必然趋势随着互联网强有力的发展,为适应嵌入式分布处理结构和应用上网要求,嵌入式系统要求配备标准的一种或多种网络通信接口。针对现在外部联网要求,嵌入式设备需配有通信接口,相应血药TCP/IP协议软件的支持;由于家用电器相互关联(如防盗报警、灯光能源控制、影视设备和信息终端交换信息)及实验现场仪器的协调工作等要求,新一代嵌入式设备还具备IEEE1394、USB、CAN、Bluetooth等通信接口,同时还需要提供相应的通信组网协议软件和物理层驱动软件。A支持小型电子设备实现小尺寸、低功耗和低成本为满足这种特性,要求嵌入式产品设计者应相应降低处理器的性能,限制内存容量和复用接口芯片。这就相应提高了对嵌入式软件设计技术要求。选用最佳的编程模型和不断改进算法,优化编译器性能。B提供精巧的多媒体人际界面嵌入式设备之所以被亿万用户所接受,重要因素之一是它们与使用者之间自然的人机交互界面。人们与信息终端交互要求以GUI屏幕为中心的多媒体界面,手写文字输入、语音拨号上网、收发电子邮件以及彩色图形、图像已取得初步成效。目前一些先进智能手机已经可以实现高度人工智能的语言交互和多任务处理的功能2。第二章 嵌入式处理器嵌入式系统的硬件部分,包括处理器 / 微处理器、存储器及外设器件和 I/O 端口、图形控制器等。嵌入式系统有别于一般的计算机处理系统,它不具备像硬盘那样大容量的存储介质,而大多使用EPROM、EEPROM或闪存(Flash Memory) 作为存储介质。软件部分包括操作系统软件 (要求实时和多任务操作)和应用程序编程。应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用3。2.1嵌入式微处理器的特点嵌入式系统的核心是嵌入式微处理器。嵌入式微处理器一般具备4个特点:(1) 对实时和多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时操作系统的执行时间减少到最低限度;(2) 具有功能很强的存储区保护功能,这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断; (3) 可扩展的处理器结构,以能迅速地扩展出满足应用的高性能的嵌入式微处理器;(4) 嵌入式微处理器的功耗必须很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,功耗只能为 mW 甚至W 级。 据不完全统计,目前全世界嵌入式处理器的品种总量已经超过1000种,流行的体系结构有30多个系列。其中8051体系占多半,生产这种单片机的半导体厂家有20多个,共350多种衍生产品,仅Philips就有近100种。现在几乎每个半导体制造商都生产嵌入式处理器,越来越多的公司有自己的处理器设计部门。嵌入式处理器的寻址空间一般从64kB到16MB,处理速度为0.12000MIPS,常用封装8144个引脚。2.2嵌入式计算机的分类根据现状,嵌入式计算机可分成下面几类。(1) 嵌入式微处理器 (Embedded Microprocessor Unit, EMPU) 嵌入式微处理器采用“增强型”通用微处理器。由于嵌入式系统通常应用于环境比较恶劣的环境中,因而嵌入式微处理器在工作温度、电磁兼容性以及可靠性方面的要求较通用的标准微处理器高。但是,嵌入式微处理器在功能方面与标准的微处理器基本上是一样的。根据实际嵌入式应用要求,将嵌入式微处理器装配在专门设计的主板上,只保留和嵌入式应用有关的主板功能,这样可以大幅度减小系统的体积和功耗。和工业控制计算机相比,嵌入式微处理器组成的系统具有体积小、重量轻、成本低、可靠性高的优点,但在其电路板上必须包括ROM、RAM、总线接口、各种外设等器件,从而降低了系统的可靠性,技术保密性也较差。由嵌入式微处理器及其存储器、总线、外设等安装在一块电路主板上构成一个通常所说的单板机系统。嵌入式处理器目前主要有Am186/88、386EX、SC-400、Power PC、68000、MIPS、ARM系列等4。(2) 嵌入式微控制器(Microcontroller Unit, MCU)嵌入式微控制器又称单片机,它将整个计算机系统集成到一块芯片中。嵌入式微控制器一般以某种微处理器内核为核心,根据某些典型的应用,在芯片内部集成了ROM/EPROM、RAM、总线、总线逻辑、定时/计数器、看门狗、I/O、串行口、脉宽调制输出、A/D、D/A、Flash RAM、EEPROM等各种必要功能部件和外设。为适应不同的应用需求,对功能的设置和外设的配置进行必要的修改和裁减定制,使得一个系列的单片机具有多种衍生产品,每种衍生产品的处理器内核都相同,不同的是存储器和外设的配置及功能的设置。这样可以使单片机最大限度地和应用需求相匹配,从而减少整个系统的功耗和成本。和嵌入式微处理器相比,微控制器的单片化使应用系统的体积大大减小,从而使功耗和成本大幅度下降、可靠性提高。由于嵌入式微控制器目前在产品的品种和数量上是所有种类嵌入式处理器中最多的,而且上述诸多优点决定了微控制器是嵌入式系统应用的主流。微控制器的片上外设资源一般比较丰富,适合于控制,因此称为微控制器。通常,嵌入式微处理器可分为通用和半通用两类,比较有代表性的通用系列包括8051、P51XA、MCS-251、MCS-96/196/296、C166/167、68300等。而比较有代表性的半通用系列,如支持 USB 接口的MCU8XC930/931、C540、C541;支持I2C、CAN总线、LCD等的众多专用MCU和兼容系列。目前MCU约占嵌入式系统市场份额的70%。(3) 嵌入式DSP处理器(Embedded Digital Signal Processor, EDSP在数字信号处理应用中,各种数字信号处理算法相当复杂,这些算法的复杂度可能是O(nm)的,甚至是NP的,一般结构的处理器无法实时的完成这些运算。由于 DSP 处理器对系统结构和指令进行了特殊设计,使其适合于实时地进行数字信号处理。在数字滤波、FFT、谱分析等方面,DSP算法正大量进入嵌入式领域,DSP应用正从在通用单片机中以普通指令实现DSP功能,过渡到采用嵌入式DSP处理器。嵌入式DSP处理器有两类:(1)DSP处理器经过单片化、EMC改造、增加片上外设成为嵌入式DSP处理器,TI的TMS320C2000/C5000 等属于此范畴;(2)在通用单片机或SOC中增加DSP协处理器,例如Intel的 MCS-296和Infineon(Siemens) 的TriCore。另外,在有关智能方面的应用中,也需要嵌入式 DPS 处理器,例如各种带有智能逻辑的消费类产品,生物信息识别终端,带有加解密算法的键盘,ADSL接入、实时语音压解系统,虚拟现实显示等。这类智能化算法一般都是运算量较大,特别是向量运算、指针线性寻址等较多,而这些正是 DSP 处理器的优势所在。嵌入式DSP处理器比较有代表性的产品是TI的TMS320系列和Motorola的DSP56000系列。TMS320系列处理器包括用于控制的C2000系列、移动通信的C5000系列,以及性能更高的C6000和C8000系列。DSP56000目前已经发展成为DSP56000、DSP56100、DSP56200 和DSP56300等几个不同系列的处理器。另外,Philips公司最近也推出了基于可重置嵌入式 DSP 结构,采用低成本、低功耗技术制造的R.E.A.L DSP处理器,其特点是具备双Harvard结构和双乘/累加单元,应用目标是大批量消费类产品。(4)嵌入式片上系统 (System On Chip, SOC) 随着EDI的推广和VLSI设计的普及化,以及半导体工艺的迅速发展,可以在一块硅片上实现一个更为复杂的系统,这就产生了 SOC 技术。各种通用处理器内核将作为 SOC 设计公司的标准库,和其他许多嵌入式系统外设一样,成为 VLSI 设计中一种标准的器件,用标准的VHDL、Verlog等硬件语言描述,存储在器件库中。用户只需定义出其整个应用系统,仿真通过后就可以将设计图交给半导体工厂制作样品。这样除某些无法集成的器件以外,整个嵌入式系统大部分均可集成到一块或几块芯片中去,应用系统电路板将变得很简单,对于减小整个应用系统体积和功耗、提高可靠性非常有利。SOC可分为通用和专用两类,通用SOC如Infineon(Siemens)的TriCore、Motorola的M-Core,以及某些 ARM系列器件,如Echelon和Motorola联合研制的Neuron芯片等;专用SOC一般专用于某个或某类系统中,如Philips的SmartXA,它将XA单片机内核和支持超过2048位复杂RSA算法的 CCU 单元制作在一块硅片上,形成一个可加载Java或C语言的专用SOC,可用于互联网安全方面。 第三章嵌入式操作系统以嵌入式处理器为中心,开发人员搭建好硬件平台电路时仅提供了裸机运行平台,要使整个系统有限的硬件资源充分利用起来,需要嵌入式操作系统的软件支持。2.1嵌入式操作系统的特点嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统 (包括硬、软件系统) 极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等 Browser 。嵌入式操作系统具有通用操作系统的基本特点,如能够有效管理越来越复杂的系统资源;能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来;能够提供库函数、驱动程序、工具集以及应用程序 。与通用操作系统相比较,嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点5。3.2嵌入式操作系统的种类 一般情况下,嵌入式操作系统可以分为两类,一类是面向控制、通信等领域的实时操作系统,如WindRiver公司的VxWorks、ISI 的pSOS、QNX系统软件公司的QNX、ATI的Nucleus等;另一类是面向消费电子产品的非实时操作系统,这类产品包括个人数字助理 (PDA)、移动电话、机顶盒、电子书、WebPhone 等。1、非实时操作系统早期的嵌入式系统中没有操作系统的概念,程序员编写嵌入式程序通常直接面对裸机及裸设备。在这种情况下,通常把嵌入式程序分成两部分,即前台程序和后台程序。前台程序通过中段来处理事件,其结构一般为无限循环;后台程序则掌管整个嵌入式系统软、硬件资源的分配、管理以及任务的调度,是一个系统管理调度程序。这就是通常所说的前后台系统。一般情况下,后台程序也叫任务级程序,前台程序也叫事件处理级程序。在程序运行时,后台程序检查每个任务是否具备运行条件,通过一定的调度算法来完成相应的操作。对于实时性要求特别严格的操作通常由中断来完成,仅在中断服务程序中标记事件的发生,不再做任何工作就退出中断,经过后台程序的调度,转由前台程序完成事件的处理,这样就不会造成在中断服务程序中处理费时的事件而影响后续和其他中断。实际上,前后台系统的实时性比预计的要差。这是因为前后台系统认为所有的任务具有相同的优先级别,即是平等的,而且任务的执行又是通过FIFO队列排队,因而对那些实时性要求高的任务不可能立刻得到处理。另外,由于前台程序是一个无限循环的结构,一旦在这个循环体中正在处理的任务崩溃,使得整个任务队列中的其他任务得不到机会被处理,从而造成整个系统的崩溃6。由于这类系统结构简单,几乎不需RAM/RO的额外开销,因而在简单的嵌入式应用被广泛使用。2、实时操作系统实时系统是指能在确定的时间内执行其功能并对外部的异步事件做出响应的计算机系统。其操作的正确性不仅依赖于逻辑设计的正确程度,而且与这些操作进行的时间有关。“在确定的时间内”是该定义的核心。也就是说,实时系统是对响应时间有严格要求的。实时系统对逻辑和时序的要求非常严格,如果逻辑和时序出现偏差将会引起严重后果。实时系统有两种类型:软实时系统和硬实时系统。软实时系统仅要求事件响应是实时的,并不要求限定某一任务必须在多长时间内完成;而在硬实时系统中,不仅要求任务响应要实时,而且要求在规定的时间内完成事件的处理。通常,大多数实时系统是两者的结合。实时应用软件的设计一般比非实时应用软件的设计困难。实时系统的技术关键是如何保证系统的实时性。实时多任务操作系统是指具有实时性、能支持实时控制系统工作的操作系统。其首要任务是调度一切可利用的资源完成实时控制任务,其次才着眼于提高计算机系统的使用效率,重要特点是要满足对时间的限制和要求。实时操作系统具有如下功能:任务管理 (多任务和基于优先级的任务调度)、任务间同步和通信 (信号量和邮箱等)、存储器优化管理 (含ROM的管理)、实时时钟服务、中断管理服务。实时操作系统具有如下特点:规模小,中断被屏蔽的时间很短,中断处理时间短,任务切换很快。实时操作系统可分为可抢占型和不可抢占型两类。对于基于优先级的系统而言,可抢占型实时操作系统是指内核可以抢占正在运行任务的CPU使用权并将使用权交给进入就绪态的优先级更高的任务,是内核抢了CPU让别的任务运行。不可抢占型实时操作系统使用某种算法并决定让某个任务运行后,就把CPU的控制权完全交给了该任务,直到它主动将CPU控制权还回来。中断由中断服务程序来处理,可以激活一个休眠态的任务,使之进入就绪态;而这个进入就绪态的任务还不能运行,一直要等到当前运行的任务主动交出CPU的控制权。使用这种实时操作系统的实时性比不使用实时操作系统的系统性能好,其实时性取决于最长任务的执行时间。不可抢占型实时操作系统的缺点也恰恰是这一点,如果最长任务的执行时间不能确定,系统的实时性就不能确定。可抢占型实时操作系统的实时性好,优先级高的任务只要具备了运行的条件,或者说进入了就绪态,就可以立即运行。也就是说,除了优先级最高的任务,其他任务在运行过程中都可能随时被比它优先级高的任务中断,让后者运行。通过这种方式的任务调度保证了系统的实时性,但是,如果任务之间抢占CPU控制权处理不好,会产生系统崩溃、死机等严重后果。3.3. 嵌入式操作系统的发展 嵌入式操作系统伴随着嵌入式系统的发展经历了4个比较明显的阶段。第一阶段是无操作系统的嵌入算法阶段,是以单芯片为核心的可编程控制器形式的系统,同时具有与监测、伺服、指示设备相配合的功能。这种系统大部分应用于一些专业性极强的工业控制系统中,一般没有操作系统的支持,通过汇编语言编程对系统进行直接控制,运行结束后清除内存。这一阶段系统的主要特点是:系统结构和功能都相对单一,处理效率较低,存储容量较小,几乎没有用户接口。由于这种嵌入式系统使用简便、价格很低,以前在国内工业领域应用较为普遍,但是已经远远不能适应高效的、需要大容量存储介质的现代化工业控制和新兴的信息家电等领域的需求。第二阶段是以嵌入式CPU为基础、以简单操作系统为核心的嵌入式系统。这一阶段系统的主要特点是:CPU种类繁多,通用性比较差;系统开销小, 效率高;一般配备系统仿真器,操作系统具有一定的兼容性和扩展性;应用软件较专业,用户界面不够友好;系统主要用来控制系统负载以及监控应用程序运行。第三阶段是通用的嵌入式实时操作系统阶段,是以嵌入式操作系统为核心的嵌入式系统。这一阶段系统的主要特点是:嵌入式操作系统能运行于各种不同类型的微处理器上,兼容性好;操作系统内核精小、效率高,并且具有高度的模块化和扩展性;具备文件和目录管理、设备支持、多任务、网络支持、图形窗口以及用户界面等功能;具有大量的应用程序接口(API),开发应用程序简单;嵌入式应用软件丰富7。第四阶段是以基于Internet为标志的嵌入式系统,这是一个正在迅速发展的阶段。目前大多数嵌入式系统还孤立于Internet之外,但随着 Internet的发展以及Internet技术与信息家电、工业控制技术等结合日益密切,嵌入式设备与Internet的结合将代表着嵌入式技术的真正未来8。3.4使用实时操作系统的必要性 嵌入式实时操作系统在目前的嵌入式应用中用得越来越广泛,尤其在功能复杂、系统庞大的应用中显得愈来愈重要。首先,嵌入式实时操作系统提高了系统的可靠性。在控制系统中,出于安全方面的考虑,要求系统起码不能崩溃,而且还要有自愈能力。不仅要求在硬件设计方面提高系统的可靠性和抗干扰性,而且也应在软件设计方面提高系统的抗干扰性,尽可能地减少安全漏洞和不可靠的隐患。长期以来的前后台系统软件设计在遇到强干扰时,使得运行的程序产生异常、出错、跑飞,甚至死循环,造成了系统的崩溃。而实时操作系统管理的系统,这种干扰可能只是引起若干进程中的一个被破坏,可以通过系统运行的系统监控进程对其进行修复。通常情况下,这个系统监视进程用来监视各进程运行状况,遇到异常情况时采取一些利于系统稳定可靠的措施,如把有问题的任务清除掉。其次,提高了开发效率,缩短了开发周期。在嵌入式实时操作系统环境下,开发一个复杂的应用程序,通常可以按照软件工程中的解耦原则将整个程序分解为多个任务模块。每个任务模块的调试、修改几乎不影响其他模块。商业软件一般都提供了良好的多任务调试环境。 再次,嵌入式实时操作系统充分发挥了32 位CPU的多任务潜力。32位CPU比8、16位CPU快,另外它本来是为运行多用户、多任务操作系统而设计的,特别适于运行多任务实时系统。 32位CPU 采用利于提高系统可靠性和稳定性的设计,使其更容易做到不崩溃。例如,CPU运行状态分为系统态和用户态。将系统堆栈和用户堆栈分开,以及实时地给出CPU的运行状态等,允许用户在系统设计中从硬件和软件两方面对实时内核的运行实施保护。如果还是采用以前的前后台方式,则无法发挥32位CPU的优势。从某种意义上说,没有操作系统的计算机(裸机)是没有用的。在嵌入式应用中,只有把CPU嵌入到系统中,同时又把操作系统嵌入进去,才是真正的计算机嵌入式应用9。3.5 实时操作系统的优缺点 在嵌入式实时操作系统环境下开发实时应用程序使程序的设计和扩展变得容易,不需要大的改动就可以增加新的功能。通过将应用程序分割成若干独立的任务模块,使应用程序的设计过程大为简化;而且对实时性要求苛刻的事件都得到了快速、可靠的处理。通过有效的系统服务,嵌入式实时操作系统使得系统资源得到更好的利用。但是,使用嵌入式实时操作系统还需要额外的ROM/RAM 开销,25%的CPU额外负荷,以及内核的费用10。第四章 系统硬件设计4.1系统概述 采用当今流行的ARM7系列嵌入式处理器为核心,考虑嵌入式系统的复杂性,设计具有广泛应用范围的嵌入式超市收银机系统具有较强实用价值。信息社会的发展加强了社会工商业的发展,越来越多的商超市在二级城市和农村城镇建立起来,制作成本低廉,功能强大的超市收银机具有迫切的需求。超市收银机的可以使用现在通用的计算机系统配合超市收银专用的pos软件和数据库构成,采用条形码扫描器配合键盘的录入方式,构建起来相对简单,平常的家用机即可满足超市收银的性能要求,但缺点就是成本过高,不利于超市收银机的推广。嵌入式系统的出现,解决了这一难题,现有的嵌入式处理器运算能力已经可以满足超市收银机的要求,可裁剪的软件和硬件的设计降低了实现这一方案的成本,而嵌入式处理器对于各种串口数据传输接口的支持,可以有效的利用外设,进一步节省资金,所以嵌入式超市收银机的设计势在必行。嵌入式超市收银机实现原理及系统结构1、控制器模块选型采用32位的ARM2138作为收银机的控制核心。ARM2138具有强大的存储空间,内嵌32K片内静态RAM和512K的flash存储器,可以实现在系统可编程(ISP)、在应用可编程(IAP),2个8路10位A/D转换器,1个D/A转换器,转换迅速准确,引脚资源丰富,多达47个可承受5V电压的通用I/O口,多个串行接口,包括2个16C550工业标准UART、2个高速I2C借口(400Kb/s)、SPI和具有缓冲作用和数据长度可变功能的SSP。ARM2138的这些特点非常有利于进行本设计11。小型LQFP64封装的16/32位ARM7TDMI-S微控制器。ARM7TDMI的后缀意义如下:T:支持16位压缩指令集Thumb;D:支持片上Debug;M:内嵌硬件乘法器(Multiplier);I:嵌入式ICE,支持片上断点和调试点。8/16/32KB片内静态RAM。32/64/128/256/512KB片内FLASH程序存储器。128位宽度接口/加速器实现高达60MHz的操作速率。片内Boot装载软件实现在系统编程(ISP)和在应用中编程(IAP)。擦除或整片擦除时间为400ms,1ms可编程256字节,扇区擦除或整片擦除只需400ms。EmbeddeDICE RT和嵌入式跟踪接口可实时调试(利用片内RealMonitor软件)和高速跟踪执行代码。 2个8路10位A/D转换器共包含16个模拟输入,每个通道的转换时间低至2.44us。1个D/A转换器,可产生不同的模拟输出。2个32位定时器(带4路捕获和4路比较通道)、PWM单元(6路输出)和看门狗。实时时钟具有独立的电源和时钟源,在节电模式下极大的降低了功耗。多个串行接口,包括2个16C550工业标准UART、2个高速I2C接口(400kbit/s)、SPI和具有缓冲作用和数据长度可变功能的SSP。向量中断控制器。可配置优先级和向量地址。多达47个可承受5V的通用I/O口(LQFP64封装)。多大9个边沿或电平触发的外部中断引脚。通过片内PLL可实现最大为60MHz的CPU操作频率。片内晶振频率范围:130MHz。2个低功耗模式:空闲和掉电。可通过个别使能/禁止外部功能和降低外部时钟来优化功耗。通过外部中断将处理器从掉电模式中唤醒。单个电源供电,含有上电复位(POR)和掉电检测(BOD)电路;一CPU操作电压范围:3.03.6V(3.3+/-10%)12。2、液晶模块方案选择带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64, 内置8192个16*16点汉字,和128个16*8点ASCII字符集。利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面,可以显示8×4行16×16点阵的汉字。 也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。基本特性:低电源电压(VDD:+3.0-+5.5V)显示分辨率:128×64点内置汉字字库,提供8192个16×16点阵汉字(简繁体可选)内置 128个16×8点阵字符2MHZ时钟频率显示方式:STN、半透、正显驱动方式:1/32DUTY,1/5BIAS视角方向:6点背光方式:侧部高亮白色LED,功耗仅为普通LED的1/51/10通讯方式:串行、并口可选内置DC-DC转换电路,无需外加负压无需片选信号,简化软件设计工作温度: 0 - +55 ,存储温度: -20 - +6013。图4-1 LCM12864液晶实物电路连接图3、条形码输入器电路设计条形码是由一组按一定编码规则排列的条、空符号,用以表示一定的字符、数字及符号组成的信息。条码系统是由条码符号设计、制作及扫描阅读组成的自动识别系统。a输入速度快:与键盘输入相比,条码输入的速度是键盘输入的5倍,并且能实现"即时数据输入"。 b可靠性高:键盘输入数据出错率为三百分之一,利用光学字符识别技术出错率为万分之一,而采用条码技术误码率低于百万分之一。 c采集信息量大:利用传统的一维条码一次可采集几十位字符的信息,二维条码更可以携带数千个字符的信息,并有一定的自动纠错能力。 d灵活实用:条码标识既可以作为一种识别手段单独使用,也可以和有关识别设备组成一个系统实现自动化识别,还可以和其他控制设备联接起来实现自动化管理。条形码扫描器的接口条形码扫描器的接口有usb接口,TTL电平RS-232接口,标准RS-232接口,PS/2接口这几类,因为ARM2138开发板上带有串行接口,所以这次设计我选择了具有串行通信接口的AS-8110条形码扫描器14。使用AS-8110条码扫描器,外形如下图所示。图4-2 AS-8110条码阅读器外形图AS-8110条码阅读器功能:手持近距虹光条码阅读器,内置解码器,准确识读各种一维条码。本条码阅读器符合人体工学设计,独特枪式握持手柄,舒适的操作手感,长期使用不易疲劳。8110条码阅读器拥有7种提示音和音量可调的蜂鸣器,可根据使用环境的调节蜂鸣器的音量。8110条码阅读器多个内置接口(RS-232、键盘接