3 收款保险箱硬件系统设计 3 收款保险箱硬件系统设计
上一章介绍了收款保险箱硬件整体设计方案之后,本章主要详细介绍核心硬件电路的设计与实现。
3.1 系统的硬件组成
从收款保险箱的功能需求出发,从硬件设计角度划分,可将收款保险箱划分为:微处理器模块、电源模块、实时时钟模块、存储模块、显示模块、IC卡模块和外部扩展模块7个部分。其中,外部扩展模块又包括收钞机模块、打印机模块、串口调试模块和以太网模块等。其硬件原理方框图如图3.1所示:
BNF收钞机实时时钟IC卡读卡IC卡弹卡32MB SDRAM存储模块IC卡模块RS232串口调试接口外部通信扩展接口打印模块AT89C2051日志打印机存款打印机PC机RS232串口预留接口RS232串口微处理器AT91RM920016MB NOR FLASH128MB NAND FLASHTFT-LCD显示模块EPSON显卡2MB 显存电源模块以太网接口3.3V5V1.8V24V输入
图3.1 收款保险箱硬件原理方框图
3.2 核心电路设计
本节将从收款保险箱的各个模块设计进行介绍以及给出部分核心电路。
13
西安科技大学硕士学位论文
3.2.1 微处理器模块
本系统作为嵌入式产品,对处理器的选择至关重要,从第1章中国内外的研究现状已经分析,本系统的微处理器采用ATMEL公司的AT91RM9200微处理器,它是基于ARM920T核的高性能、低功耗16/32位RISC(精简指令集计算机)微处理器。其内部集成丰富的外设资源,适用于本系统要求外设资源丰富、功耗低、工作严格稳定等方面[15]。选择AT91RM9200微处理器具有以下几点优势:
(1) AT91RM9200是基于ARM及Thumb指令的ARM920T微处理器。它有丰富的系统与应用外设及标准的接口,从而为低功耗、低成本、高性能的计算机应用提供一个单片解决方案;
(2) AT91RM9200包括一个高速片上SRAM工作区及一个低等待时间的外部总线接口(EBI),以完成应用所要求的片外存储器和内部存储器映射外设配置的无缝连接。EBI有同步DRAM(SDRAM)、Burst Flash及静态存储器的控制器,并设计了专用电路以方便与Smart Media、Compact Flash及NAND Flash连接;
(3) 高级中断控制器(AIC)通过多向量,中断源优先级划分及缩短中断处理传输时间来提高ARM920T处理器的中断处理性能;
(4) 外设数据控制器(PDC)向所有的串行外设提供DMA通道,使其与片内或片外存储器传输数据时不用经过处理器。这就减少了传输连续数据流时处理器的开销。包含双指针的PDC控制器极大的简化了AT91RM9200的缓冲器链接;
(5) 并行I/O(PIO)控制器与作为通用数据的I/O复用外设输入/输出口线,以最大程度上适应器件的配置。每条口线上包含有一个输入变化中断、开漏能力及可编程上拉电阻;
(6) 电源管理控制器(PMC)通过软件控制有选择的使能/禁用处理器及各种外设来使系统的功耗保持最低。它用一个增强的时钟产生器来提供包括慢时钟(32kHz)在内的选定时钟信号,以随时优化功耗与性能。
3.2.2 电源管理模块
电源电路是整个系统能够正常工作的基本保证,如果电源电路设计的不好,系统有可能不能工作,或者出现散热不好导致系统不稳定的情况。因此如何选用合适的电源芯片很重要。综合考虑整个硬件平台需要的供电电压有24V、5V、3.3V和1.8V,其中,3.3V在电路上多次使用,所以在选择3.3V电源芯片的时候要充分考虑电源芯片的负载能力是否能够满足整个系统的工作需求。
系统外部输入为24V电压,使用LM2596-5V稳压输出5V电压,再从5V电压经过
14
3 收款保险箱硬件系统设计 LM1085-3.3V和LM1117-1.8V分别稳压输出3.3V和1.8V。收款保险箱系统的电源原理图如图3.2所示:
图3.2 系统电源原理图
3.2.3 实时时钟模块
收款保险箱涉及到数据打印功能,时间的准确性非常重要,而实时时钟电路是为系统提供时钟的。本系统用PCF8563作为系统的实时时钟芯片,开机工作状态下实时时钟芯片由外部输入电源供电,掉电状态下由后备电池供电。在后备电池的支持下,能保证系统掉电后片内时钟继续运行。实时时钟电路记录系统时间,内有秒、分、小时、天、月、年和世纪寄存器,在设备初始化时间后,通过访问它可知道当前时间[1]。SCL和SDA是I2C总线,用于读/写PCF8563内部寄存器,与CPU连接,实时时钟原理图如图3.3所示:
图3.3 实时时钟原理图
15
西安科技大学硕士学位论文
3.2.4 存储模块
以ARM芯片为MCU的系统,启动程序可能直接固化在内部即ROM,或者可以在外部ROM、外部FLASH或其它外部设备上。基于ARM的CPU上电启动或复位时通常都从地址0x00000000取它的第一条指令,也就是ARM系统启动或复位的时候从内部0x00000000地址开始运行。系统启动时一般都采用了地址重新映射机制,也就是把某个非易失设备(一般是ROM或FLASH)的地址映射到0x00000000当系统上电或复位时就从这个设备启动。
对于AT91RM9200处理器,系统上电后检测BMS,如果BMS为高电平(BMS=1),则AT91RM9200的内部ROM映射到内部存储区0即以0x0为起始地址。如果检测到BMS是低电平(BMS=0),则把EBI(外部总线接口)总线上相连的器件映射到内部存储区0x00000000处[16]。
系统选用一片MT公司的E28F128J3A型16MB Nor Flash用于存储Linux内核和根文件系统,使用2片HY57V281620来组成32位SDRAM接口用于系统的代码执行和数据段的存储。系统存储芯片部分原理图如图3.4所示。
图3.4 系统存储芯片部分原理图
3.2.5 显示模块
本收款保险箱系统选用EPSON公司的显示控制器件S1D13506用于控制LCD的图
16
3 收款保险箱硬件系统设计 像数据显示[17]。S1D13506可与多种CPU总线兼容,支持最高为16位数据宽度的LCD接口,可以在TFT-LCD、CRT最高显示64 K颜色。它配置一个16位内存接口,支持最高2 MB的EDO-DRAM。系统中S1D13506数据总线宽度为16位,AT91RM9200地址线A21与S1D13506的M/R引脚相连,用于选择访问寄存器与显存[18]。AT91RM9200访问S1D13506显存起始地址为0x30200000,寄存器起始地址为0x30000000。使用了GM71V18163型2MB DRAM作为显示存储,AT91RM9200通过访问S1D13506数据地址空间,实现对DRAM的数据存储操作,使用50MHZ的有源晶振作为S1D13506的总线时钟,25 MHZ有源晶振作为LCD的像素时钟信号,支持800x480 60HZ TFT-LCD显示,LCD行、场同步信号由S1D13506内部通过对25 MHZ像素时钟分频得出[19]。LCD显示控制硬件接口框图如图3.5所示。
AT91RM9200A[1..20]D[0..15]A21NCS2NRDNWR0NWR1NWAITS1D13506AB[1..20] MA[0..9]DB[0..15] MD[0..15]M/R RASCS WERD UCASWE0 LCASWE1 WAIT BUSCLK CLK150MHZ25MHZGM71V18163AQ[0..9]DQ[0..15]RASWEUCASLCAS________
图3.5 LCD显示控制硬件接口框图
3.2.6 IC卡模块
IC卡模块是收款保险箱必备的外部扩展设备,它包括IC卡读卡模块和IC卡弹卡模块。本系统根据功能需求将IC卡分为:员工卡、财务卡(管理员卡)、维护卡和保全卡等四种卡。员工卡用于员工存款和打印存款数据操作;财务卡用于管理员启动系统界面、财务报表打印操作和功能确认操作;维护卡用于系统出现故障时维护人员进行维护操作;保全卡用于保全人员取出钞箱和打印取出钞箱信息操作。
由于本系统CPU外部扩展了多个外围设备,考虑到CPU通用I/O的有限性,本平
17