基于ARM的收款保险箱系统设计与实现 - 图文(6)

2019-03-21 20:35

西安科技大学硕士学位论文

台使用74LVC125芯片复用的方式将IC卡模块与预留接口进行复用。系统的CPU外接一个单片机用于控制IC卡模块。本设计选用ATMEL公司的AT89C2051单片机。AT89C2051是美国ATMEL公司生产的低电压,高性能 COMS 8位单片机,片内含2K字节可重复擦写Flash闪速存储器和128字节的随机存取数据存储器(RAM)。IC卡读写操作的各种时序和协议由单片机通过软件实现。

IC卡读写模块需要用到控制信号ICINSERT、时钟信号ICCLK、复位信号ICRST、数据输入输出ICDAT、电源输入ICVCC。而IC卡的弹卡模块使用SSR继电器,通过POPCARD信号控制IC卡座的线圈充电和放电情况。当线圈充电到一定程度时吸收线圈旁边的磁铁,此时IC卡座将卡弹出。从而完成IC卡弹卡功能。IC卡模块电路原理图如图3.6所示:

图3.6 IC卡模块电路原理图

3.2.7 外部扩展模块

本系统中外部扩展了多个串口,如主板与收钞机、存款打印机、日志打印机、PC机等相连的接口以及主板上的调试接口和预留1个接口等都是使用串口方式。串口电路采用RS-232标准,它是电子工业协会(EIA)推荐的一种常用的串行数据传输总线标准,采

18

3 收款保险箱硬件系统设计 用9芯或25芯接口。本系统采用9芯接口。

由于RS232电平与TTL电平相反,-3~-15V代表逻辑“1”,3~15V代表逻辑“0”,所以必须进行电平转换才能实现主板与外部扩展的设备进行通信[20]。在系统设计时采用了专用芯片MAX3232进行TTL电平与RS232电平转换。MAX3232工作电压是3.3V,具有低功耗性能,是一款比较优良的RS232通信芯片。要完成最基本的串行通信功能,实际上只需要RXD、TXD和GND即可。

本课题的收钞机、存款打印机和日志打印机通过RS-232串口与主板进行通信,完成相应的收钞和打印功能。调试接口与电脑相连来传送调试指令和显示调试信息。每个MAX3232芯片具有两路收发接口,其中串口电路原理图如图3.7所示:

图3.7 串口电路原理图

3.3 本章小结

本章首先简要介绍了收款保险箱的硬件组成,从全局设计角度给出了收款保险箱的硬件方框图。然后,从平台的硬件方框图出发,对收款保险箱的微处理器模块、电源模块、实时时钟模块、存储模块、显示模块、IC卡模块和外部扩展模块7个核心部分进行硬件设计,形成了嵌入式硬件平台,为后续章节的软件介绍提供必要的硬件环境。

19

西安科技大学硕士学位论文

4 收款保险箱系统软件平台设计

本章主要介绍的是Linux操作系统在AT91RM9200平台上的移植、GUI图形界面的设计和嵌入式数据库的设计。这个嵌入式操作系统平台为下一章的应用软件的开发提供一个软件平台。

4.1 收款保险箱系统软件平台的组成

嵌入式系统开发中,嵌入式的软件系统平台一般分为硬件驱动程序、操作系统相关软件、图形界面、嵌入式数据库、应用程序等几个部分。这几个部分有机的结合起来就构成了一个完整的嵌入式软件系统。本系统的软件平台架构图如图4.1所示:

读卡程序收钞程序打印程序应用程序故障提示程序CGI程序图形交互界面嵌入式数据库文件系统API数据库API可移植操作系统接口设备通信API文件系统Linux内核CPU LCD显示初始化驱动以太网 驱动IC卡 驱动串口 驱动其它 驱动驱动程序硬件设备 图4.1 系统的软件平台架构图

20

4 收款保险箱系统软件平台设计 4.2 软件平台的开发流程

从嵌入式Linux的移植到开发,要熟悉软件设计、编译的整个流程和移植Linux到硬件平台所要完成的具体工作[21]。嵌入式Linux的移植有Bootloader、Linux内核、根文件系统和应用程序几个部分。对于嵌入式Linux在AT91RM9200平台的软件开发,主要有以下几个步骤[22]:

第一步:建立嵌入式开发环境,如交叉编译工具、图形用户界面、嵌入式数据库; 第二步:移植、编译Bootloader,将Bootloader下载到开发平台;

第三步:根据开发平台的资源,配置和裁剪Linux内核。然后再重新编译内核,下载到

开发平台;

第四步:下载或者获取一个可用的根文件系统,然后在此基础上添加和修改形成自己的

根文件系统;

第五步:交叉编译应用程序生产可执行文件,并将可执行文件下载到硬件平台上。

4.3 Linux操作系统在AT91RM9200上的移植分析

4.3.1交叉开发环境的建立

嵌入式系统的硬件一般有很大的局限性,或者处理器频率很低,或者存储空间很小,或者没有键盘、鼠标设备,这样的硬件平台不便于庞大的Linux系统开发,这就需要借助宿主机为其建立交叉开发环境。交叉开发环境一般是由编译器、连接器和glibc库等组成。在Linux相关软件的开发时,交叉开发工具一般是使用GNU的工具链(如GCC),目前已经能够支持x86,ARM,MIPS和PowerPC等多种处理器[23]。

本系统中宿主机使用的开发环境为ubuntu Linux操作系统。目标板配备的内核版本号为Linux-2.6.25,使用到的交叉编译器有arm-linux-gcc-2.95.3,arm-linux-gcc-3.3.2,arm-linux-gcc-3.4.1,其中arm-linux-gcc-2.95.3用于编译应用程序和Bootloader,arm-linux-gcc-3.3.2用于编译Busybox,arm-linux-gcc-3.4.1用于编译Linux内核。

4.3.2 Bootloader的开发设计

Bootloader是在操作系统内核或用户应用程序运行之前执行的一段小程序。通过这段小程序可以初始化硬件设备、建立内存空间的映射表,从而建立适当的系统软硬件环

21

西安科技大学硕士学位论文

境,为最终调用操作系统内核或用户应用程序做好准备[9]。

在本系统中,Bootloader是由boot和U-Boot两部分组成。第一部分为boot引导程序,这段程序的代码是由ATMEL公司提供,其作用是初始化系统基本资源,并引导加载U-Boot程序,其中,boot程序代码执行具体流程如图4.2所示。

系统复位定义系统中断向量表屏蔽中断、初始化各种工作模式堆栈配置EBI总线BANK0与外部Nor Flash时序匹配初始化9200内部时钟电路初始化SDRAM初始化9200控制台初始化内部Cache复制数据段、清理BSS段复制、解压Nor Flash中的U-Boot到指定的SDRAM地址跳转到U-Boot程序入口 图4.2 boot程序代码执行流程图

U-Boot可支持的主要功能有以下几点[24]:

●系统引导:支持NFS挂载、RAMDISK(压缩或非压缩)形式的根文件系统。支持NFS挂载,从FLASH中引导压缩或非压缩系统内核。

●基本辅助功能:强大的操作系统接口功能;可灵活设置、传递多个关键参数给操作系统,适合系统在不同开发阶段的调试要求与产品发布,对Linux支持最为强劲;支持目标板环境参数多种存储方式,如FLASH、NVRAM、EEPROM;CRC32校验,可校验FLASH中内核、RAMDISK镜像文件是否完好。

22


基于ARM的收款保险箱系统设计与实现 - 图文(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:议会制民主共和制与议会制君主立宪制的异同 区别

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: