毕业论文-自动售货机
发布时间:2024-11-21
发布时间:2024-11-21
基于S3C2440微处理器的自动售货机
前面封面
基于S3C2440微处理器的自动售货机模拟系统
摘要
自动售货机是能根据投入的钱币自动付货的机器,它不受时间、地点的限制,能节省人力、方便交易,是一种全新的商业模式。一般的自动售货机由钱币装置、选择装置、贮藏售货装置等组成。钱币装置是售货机的核心,其主要功能是确认投入钱币的真伪,分选钱币的种类,计算金额。本设计模拟刷卡登录界面模块来代替常见的钱币装置的方案。选择装置用以选择顾客所需要的品种。贮藏售货装置保存商品,接收出售指示信号,把顾客选择的商品送至付货口。本文介绍的是以s3c2440微处理器为核心,7寸显示屏为载体,Redhat版linux 为操作系统,以及Qt/E为编译环境的ARM9嵌入式自动售货机的模拟系统。该系统主要模拟了刷卡登陆界面,随后在屏幕上显示若干个商品,通过在2440开发板上按下不同的按钮来模拟出货的动作,同时,改变商品数量和卡内余额。
关键词:自动售货机,s3c2440,ARM9嵌入式,Qt/E,2440开发板
基于S3C2440微处理器的自动售货机
A SIMULATION SYSTEM OF VENDING MACHINE
BASED ON THE MICROPROCESSER OF S3C2440
ABSTRACT
Vending machine is an automatic-ship machine according to the coin you put in. The vending machine isn’t limited by time or place, it can save manpower, and it is easy to sell goods. So the vending machine is an all-new business model. Commonly, vending machine is consist of three main devices: coin device, selection device, and sales and storage device. Coin device is the core of the machine, its main function is to confirm the authenticity of the coin, sorting its species and calculating the amount. This design simulate the slot card module to replace the coin device. Selection device is used to select the goods the customers want. Sales and storage device is used to save goods and receive sell signal, and carry the goods to the export. This article describes the simulation system of vending machine based on the ARM9 embedded system with the core microprocessor of s3c2440, 7-inch display as the carrier, Redhat as the linux operating system and Qt/E as the compilation environment. This system mainly simulate the login program and display a number of goods on the screen. Then press different buttons on the 2440 development tools to simulate the operation of shipment, while changing the quantity and card balance.
Key words: vending machine, s3c2440, ARM9 embedded, Qt/E, 2440 development tools
基于S3C2440微处理器的自动售货机
目录
1 绪论 (4)
1.1自动售货机的理论背景与实际意义 (4)
1.2系统设计的主要内容 (5)
1.3系统设计方案总体流程框图 (6)
2 硬件模块 (7)
2.1 CPU-S3C2440介绍 (7)
2.2 GEC2440开发板的介绍 (9)
2.2.1 GEC2440开发板外观 (9)
2.2.2 GEC2440开发板硬件构成 (9)
2.2.3地址空间分配以及片选信号定义 (10)
2.2.4 GEC2440支持的操作系统 (11)
3 软件平台 (12)
3.1 Redhat Linux操作系统介绍 (12)
3.2 交叉编译环境简介 (14)
3.3 软件编译程序-Qt (15)
4 自动售货机的系统设计 (18)
4.1 软件代码设计部分 (18)
4.2 使用DNW软件进行烧录 (29)
5 结论 (32)
谢辞 (33)
参考文献 (34)
内容简洁紧凑
基于S3C2440微处理器的自动售货机
1 绪论
1.1自动售货机的理论背景与实际意义
随着嵌入式和自动化工业的迅速发展,普通商业模式的贩卖方式正在逐渐被分布范围广泛、高效率、方便简捷、不受时间地点限制的自动售货方式所代替。自动售货机,又被称为24小时营业的微型超市,其作为一种全新的商业零售模式,自20世纪70年代在欧美和日本发展起来。自动售货机的出现是由于劳动密集型的产业构造向技术密集型社会转变的产物。现如今,自动售货机的销售领域十分广泛,它是发达国家商品零售的一种主要方式。在自动售货机产业较为发达的日本,70%的罐装饮料是通过自动售货机售出的;而全球著名饮料商可口可乐公司在全世界也分布着50多万台饮料自动售货机。而在中国,自动售货机同样有着极为广泛的应用市场,在机场、地铁、商场、医院、公园等客流较大的场所,都不难发现它的身影。
在中国,自动售货机将成为一个潜在的巨大产业,继百货商店、超市之后掀起第三次零售业革命,其前景非常广阔。售卖的商品可以根据摆放场所的需要量身定制,包括冷热饮料、零食、电话卡及国外进口的特色商品等。并且,透过这种智能售货系统,存货、销售、物流信息可以准确、及时地反馈给客户和管理人员。此外,还支持多种交易支付模式,同时方便实现较大金额的支付和交易结算。在2004年,通过手机购物的无线自动售货机在国内开始出现,天津南开戈德公司已研制此种类型的自动售货机。这种新一代自动售货机除了更方便售卖货品之外,还被视为一种传播广泛的广告媒介。在国外,自动售货机发展相对成熟。日本的自动售货机已经有2000多种机型、6000多种商品。在美国,运营商就多大10800家,并且具有与大饮料商、大食品商的合作经验。在日本,由于其无所不在,24小时供应,自动售货机很受特别忙碌的人欢迎。随着经济发展,传统的固定地点人员售货方式暴露出许多弊端:人力资源需求大;受所需服务地点,地理条件的限制;而且在服务时间上不能最大限度的服务于消费者。自动售货机的出现解决了这些难题。
基于S3C2440微处理器的自动售货机
本课题选用基于ARM9微处理器的GEC2440开发板作为硬件支持,进行专用嵌入式开发平台开发。ARM是Advanced RISC Machines的缩写,是微处理器行业的一家知名企业,该企业设计了大量廉价、高性能、低功耗的RISC处理器、相关技术及软件。ARM技术有很好的性能和功效,其合作伙伴包括世界许多顶级的半导体公司。目前,共有30家半导体公司与ARM签订了硬件技术使用许可协议,其中包括Intel、IBM、LG半导体、NEC、SONY、PHILIPS和国家半导体这样的大公司。可以说,ARM不仅仅代表一个公司,代表了一类微处理器,代表了一种技术,还代表了一种新型的产业发展模式。ARM公司开发了一系列ARM 处理器核。目前最新的系列已经是ARM11了。ARM6及更早的系列已经罕见了,ARM7以后的核也不是都获得广泛应用。目前应用最多的是ARM7系列、ARM9系列、ARM9E系列、ARM10系列、SecurCore系列、Intel的StrongARM 、XScale系列。S3C2440这块芯片使用的便是ARM9系列。
ARM9系列包括ARM9TDMI、ARM920T和带有高速缓存处理器宏单元的ARM940T。该系列主要应用于引擎管理、仪器仪表、安全系统、机顶盒、高端打印机、PDA、网络电脑以及带有MP3音频和MPEG4视频多媒体格式的智能电话中。
现在生产的自动售货机的关键是集成了操作系统和硬件技术的嵌入式系统,嵌入式以其软件代码小、高度自动化、响应速度快、功耗和体积小等优点起着无足轻重的作用。嵌入式技术已经无处不在,逐渐深入影响到了人们的生活。小到MP3,智能手机、车载导航系统等,大到机器人,到处都离不开嵌入式技术的身影。
1.2系统设计的主要内容
一般的自动售货机由钱币装置、指示装置、贮藏售货装置等组成。钱币装置是售货机的核心,其主要功能是确认投入钱币的真伪,分选钱币的种类,计算金额。如果投入的金额达到购买物品的数值即发出售货信号,售出货物并找出余钱。指示装置用以指示顾客所选商品的品种。贮藏售货装置保存商品,接收出售指示信号,把顾客选择的商品送至出货口。一般售货机的钱币装置由投币口、选别装置、确认钱币真伪的检查装置、计算金额的计算装置和找钱装置组成。
本系统设计的主要内容与流程是,屏幕显示刷卡界面,当消费者在RFID模块刷卡后,在屏幕上显示3个商品图标及其对应的金额和剩余数量,顾客在屏幕上按下对应的按键,选择需要的商品和数量,系统判断金额是否足够,若够则在屏幕上模拟的显示“出货”动作,
基于S3C2440微处理器的自动售货机
同时,改变商品数量和卡内余额。
1.3系统设计方案总体流程框图
否
是
图说明
进入程序主界面 投入相应的钱币进行充值 选择需要的物品及数量,显示金额和余额 余额是否足够 点击购买,购买成功 余额和数量变化 结束程序
基于S3C2440微处理器的自动售货机
2 硬件模块
2.1 CPU-S3C2440介绍
S3C2440 是韩国三星公司推出的一款高档的,可用于手持设备、智能家电等便携产品开发的嵌入式微处理器,其主频处理速度达到400 MHz,完全可以满足音频和视频的处理要求。其主控制芯片及丰富的外围接口电路可用于创建连接各类设备的集成化驱动程序和协议堆栈,如读写USB的接口、MMC/CF多媒体卡接口、AC97音频接口、无线网络接口、IrDA 红外接口等,给用户提供了多种与其他系统进行信息交互的功能,可以自由地实现文字、声音和图像资料的交换。软件系统包括μCLinux操作系统、图形用户接口 GUI,方便用户根据自身的需要,开发相应的多媒体应用程序。μCLinux 操作系统高效稳定,提供了完成嵌入功能的基本地内核,能够处理嵌入式任务和用户界面,更由于其开发源码、定制方便以及易于移植,并不需要 MMU 的支持,可广泛地用于各种嵌入式系统中。
白色?
(1)特点:
1)具有PLL时钟发生器,主频最高可达533M。
2)内核1.2V供电最高400M,1.3V供电最高533M。
3)存储器支持1.8V、2.5V、3.0V、3.3V。
4)I/O均支持3.3V供电。
5)s3c2440为单机器周期执行指令集。
6)具有电源管理功能,可以使系统以普通方式、慢速方式、空闲方式和掉电方式工作,降低产品功耗。
(2)内核结构:
采用ARM920T内核,具有16KB指令Cache、16KB数据Cache和存储器管理单元MMU,
基于S3C2440微处理器的自动售货机
指令高速存储缓冲器(I-Cache),数据高速存储缓冲器(D-cache)提高指令执行效率及数据存储效率,减少主存带宽和响应性带来的影响,加强的ARM体系结构MMU,用于支持winCE、linux等操作系统,内部高级微控制总线(AMBA)体系结构(AMB2.0,AHB/APB)。
(3)存储器控制器特性:
1)S3C2440采用总线结构管理片上外设及内存。
2)S3C2440的存储器管理器提供访问外部存储器的所有控制信号。
3)27位地址信号、32位数据信号、8个片选信号、以及读/写控制信号等。
4)总共有8个存储器bank(bank0—bank7),其中,bank0---bank5为固定128MB,bank6和bank7的容量可编程改变,可以是2、4、8、16、32、64、128MB,最大共1GB。bank0可以作为引导ROM,其数据线宽只能是16位和32位,其它存储器的数据线宽可以是8位、16位和32位。
5)8个存储器bank:
bank0--bank5:SRAM、ROM。
Bank6—bank7:SRAM、ROM SDRAM。
6)s3c2440支持两种启动方式:
NOR FLASH启动,即代码直接写入NOR FLASH,运行时直接在NOR FLASH上运行。
NAND FLASH启动方式,即代码烧到NAND FLASH中,借助片内4K的sdram,将代码由NAND FLASH烧到SDRAM中,在SDRAM中运行。
本设计使用的启动方式便是NAND FLASH启动方式
7)s3c2440处理器的接口框图如下
基于S3C2440微处理器的自动售货机
图2-1 S3C2440处理器的接口框图
2.2 GEC2440开发板的介绍
2.2.1 GEC2440开发板外观
加简单说明,提到图
图2-2 GEC2440开发板总体外观图
2.2.2 GEC2440开发板硬件构成
硬件功能介绍
◆采用三星公司的 S3C2440A-40,系统可稳定运行在405MHZ,主频最高可达530 多MHz;
◆ 64M 字节的 SDRAM,由两片 K4S561632 组成,工作在 32 位模式下;
◆ 64M 字节 NAND Flash,采用的是 K9F1208,可以兼容 16M,32M 或 128M 字节;
基于S3C2440微处理器的自动售货机
◆ 10M 以太网接口,采用的是 CS8900Q3,带传输和连接指示灯;
◆ LCD 和触摸屏接口;
◆ 2 个 USB HOST,S3C2440 内置的,符合 USB 1.1,其中一个 USB HOST 接口是复用的;
◆一个 USB Device,S3C2440 内置的,符合 USB 1.1;
◆支持音频输入和音频输出,音频模块由 S3C2440 的 IIS 音频总线接口和 UDA1341 音频编码解码器组成,板上还集成了一个 MIC,用于音频输入;
◆ 2 路 UART 串行口,波特率可高达 115200bps,并具有 RS232 电平转换电路,其中一路为完整串口;
◆ SD 卡接口,兼容 SD Memory Card Protocol 1.0 和 SDIO Card Protocol 1.0;
◆ Embedded-ICE (20 脚标准 JTAG)接口和并口式 JTAG 接口,支持 ADS,SDT 软件的下载和调试以及 FLASH 的烧写;
◆串行 EEPROM :AT24C02 4Kbytes EEPROM,IIC 接口;
◆ SPI 接口;
◆数字摄像头接口;
◆蜂鸣器,4 个 LED 灯;
◆ 4 个按键;
◆开关电源,分布式电源供电;
◆ 3V 锂电池,提供RTC 电源;
2.2.3地址空间分配以及片选信号定义
S3C2440 支持两种启动模式:一种是从 NAND FLASH 启动;一种是从外部 nGCS0 片选的Nor Flash启动。在这两种启动模式下,各片选的存储空间分配是不同的,这两种启动模式的存储分配图如下:
基于S3C2440微处理器的自动售货机
2.2.4 GEC2440支持的操作系统
GEC2440 开发板支持 WINCE 和 Linux 嵌入操作系统。
Linux 嵌入式操作系统说明:
采用 linux2.6 以上的内核
支持多种文件系统,如CRAMFS,FAT 以及用于 NAND FLASH 的 YAFFS 文件系统等等支持 LCD 和触摸屏
支持 USB HOST
支持 QT
支持 MP3 播放和视频播放
支持多种网络应用,如FTP 等的网络应用
WINCE 嵌入式操作系统说明:
支持 LCD 和触摸屏
支持 USB HOST
支持音频
支持串口
支持网络
SD卡
本设计便是基于GEC2440和Linux嵌入式操作系统的自动售货机模拟系统。
基于S3C2440微处理器的自动售货机
???//
3 软件平台
本设计用到的软件平台环境为:
(1) VMware Workstation 9.0虚拟机
(2) Redhat Enterprise Linux 5.4操作系统
(3) arm-linux-gcc 4.1.2 交叉编译工具
(4) QT3.3编译工具
3.1 Redhat Linux操作系统介绍
Linux 是一套Unix-like 的操作系统,是Unix 的一种,它控制整个系统基本服务的核心程序(kernel) 是由Linus 带头开发出来的,「Linux」这个名称便是以「Linus's unix」来命名,Linus 选择用「大众公有版权」(GPL)的方式来发行这份程序,这个版权允许任何人以任何形式复制与散布Linux 的原始程序,换句话说,Linux 实际上是「免费的」,使用者在网络上就可以找到Linux 的原始程序代码,随心所欲的复制与更改Linux 的原始程序,
基于S3C2440微处理器的自动售货机
在因特网的日渐盛行以及Linux 开放自由的版权之下,吸引了无数计算机高手投入开发、改善Linux 的核心程序,使得Linux 的功能日见强大,所以今日我们可以在网络上免费下载Linux 使用,或者花很少的一点费用就可以取得Linux 光盘,这都是因为Linux 是GPL 版权的缘故。
去掉白底
Red Hat是全球最大的开源技术厂家,其产品Red Hat Linux也是全世界应用最广泛的Linux。Redhat(红帽)是世界领先的开源解决方案供应商,使用社区驱动的方式提供可靠和高性能的云、虚拟化、存储、Linux® 和中间件技术。Red Ha t最早由Bob Young和Marc Ewing 在1995年创建。原来的Red Hat版本早已停止技术支持,Red Hat的Linux分为两个系列,其中一个是由Red Hat公司提供收费技术支持和更新的Red Hat Enterprise Linux系列;另一个是由社区开发的免费的Fedora系列。Red Hat因其易于安装而闻名,在很大程度上减轻了用户安装程序的负担。RedHat作为Linux的发行版本,开放源代码是与其他操作系统,如Windows等相比具有的先天优势,有利于全世界范围内技术工程师和技术人员共同开发,同时RedHat也为开源社区做出巨大贡献,有开源界的领导者的称号。
本系统在设计阶段安装了功能更为强大的服务器版Red Hat操作系统,即Redhat Enterprise Linux5.5版本,因为它的安装包里面预置了许多在开发程序时必备的组件,如交叉编译环境arm-linux-gcc,编译环境qt3.3等,极大的方便了设计、安装过程。
基于S3C2440微处理器的自动售货机
图3-1 RED HAT操作系统和VMware虚拟机
3.2 交叉编译环境简介
嵌入式系统是专用计算机系统,它对系统的功能、可靠性、成本、体积、功耗等某些方面有严格的要求。
1.嵌入式系统的硬件
嵌入式系统的硬件一般有很大的局限性,或者处理器频率很低,或者存储空间很小,或者没有键盘、鼠标设备。这样的硬件平台无法胜任(或者不便于)庞大的Linux 系统开发任务。
2.交叉开发环境
嵌入式软件的开发离不开交叉编译,交叉编译是指:在一种平台上编译出能在另一种平台(体系结构不同)上运行的程序。在PC平台(X86 CPU) 上编译出能运行在arm平台上的程序,编译得到的程序在X86 CPU平台上是不能运行的,必须放到arm平台上才能运行。需要交叉开发环境(Cross Development Environment)的支持是嵌入式应用软件开发时的一个显著特点。
为了不跟本地编译器混淆,交叉编译器的名字一般都有前缀。
例如:arm-linux-gcc;交叉编译器只是交叉开发环境的一部分。交叉开发环境是指编译、
链接和调试嵌入式应用软件的环境,它与运行嵌入式应用软件的环境有所不同,通常采用宿
基于S3C2440微处理器的自动售货机
主机-目标机模式。交叉开发环境是由开发主机和目标板两套计算机系统构成的。目标板软件是在开发主机上编辑、编译,然后加载到目标板上运行的。
嵌入式交叉编译环境,如图所示:
图3-2 交叉编译环境
TARGET是目标板,HOST是开发主机。在开发主机上,可以安装交叉编译工具,编辑、编译目标板平台上可执行程序,通过串口或者以太网口下载到目标板上运行。通常这种在主机环境下开发目标板平台可执行程序的开发方式,叫作交叉开发。
●宿主机-目标板模式
宿主机(Host)是一台通用计算机,它通过串口或者以太网接口与目标机通信。宿主机的软硬件资源比较丰富,能够大大提高嵌入式应用软件的开发速度和效率。
目标板(Target),应用程序实际运行的平台,或者是能够替代实际运行环境的仿真系统。软硬件资源通常都比较有限。
首先利用宿主机上丰富的资源和良好的开发环境开发和仿真调试目标机上的软件;然后通过串口或者以网络将交叉编译生成的目标代码传输并装载到目标机上,并在监控程序或者操作系统的支持下利用交叉调试器进行分析和调试;最后目标机在特定环境下脱离宿主机单独运行。
3.3 软件编译程序-Qt
Qt 是一个跨平台的C++ 图形用户界面库,它为高性能、跨平台应用程序的开发设定了标准。它包含一个C++类库,和用于跨平台开发及国际化的工具。由挪威TrollTech 公司
基于S3C2440微处理器的自动售货机
于1995年底出品。Trolltech 公司在1994 年成立,但是在1992 年,成立Trolltech 公司的那批程序员就已经开始设计Qt了,Qt的第一个商业版本于1995 年推出。2008年1月31日,Nokia公司宣布通过公开竞购的方式收购TrollTech公司,旗下包括Qt在内的技术都归入Nokia旗下。
Qt 类库模块是一个拥有超过400个类,同时不断扩展的类库。它封装了用于端到端应用程序开发所需要的所有基础结构。Qt 的良好封装机制使得Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常方便的。Qt 提供了一种称为signals/slots 的安全类型来替代callback,这使得各个元件之间的协同工作变得十分简单。丰富的API:Qt包括多达250 个以上的C++ 类,还提供基于模板的collections,serialization,file,I/O device,directory management,date/time 类。甚至还包括正则表达式的处理功能。支持2D/3D 图形渲染、支持OpenGL(开放图形语言)、大量的开发文档、XML 支持、Webkit 引擎的集成,可以实现本地界面与Web内容的无缝集成,但是真正使得Qt 在自由软件界的众多Widgets (如Lesstif,Gtk,EZWGL,Xforms,fltk 等等)中脱颖而出的还是基于Qt 的重量级软件KDE(桌面环境)。QT是全世界广为使用的成熟的C++工具包。除广泛的商业应用之外,QT自由版是一个叫KDE的Linux桌面环境的基础。QT的跨平台构件系统,可视化设计,优美的API使程序开发成为一件乐事。
使用Qt编写程序带来的好处-----平台独立性,即一次编程,随处使用。当定位于一个新的平台时,开发者需要做的仅仅是对原有的单一源代码库进行一次重新编译而已。
Qt 设计者(Designer)是一个功能强大的GUI 布局与窗体构造器,能够在所有支持的平台上,以本地化的视图外观与认知,快速开发高性能的用户界面。
在Linux的桌面上打开一个终端,输入“designer”即可打开Qt程序: