嵌入式系统设计.doc_第1页
嵌入式系统设计.doc_第2页
嵌入式系统设计.doc_第3页
嵌入式系统设计.doc_第4页
嵌入式系统设计.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

2011-2012第二学期大作业 嵌入式系统的设计题目: 税控收款机的设计 班级: 姓名: 学号: 日期: 评分: 阅卷老师: 税控收款机的设计1.税控收款机的需求分析 税控收款机作为税控系统中直接应用部分,所起到的作用为:商品销售管理, 同时真实安全记录纳税人经营数据,保证数据的正确生成,可靠存储,安全传输, 为税务部门对纳税人的经营情况进行有效监控,提供有效的稽查手段。接下来分 别从用户分类、产品功能和应用环境三个方面对税控收款机的客户需求进行分析。 1.1用户分类 税控收款机的用户呵划分为:使用者(商家),直接使用者(收款员)以及税务 局局方。其具体用途特性如下: 商家:在税控收款机使用者上,即有共性,也有行业个性,因此,税控收款机在设计上要体现功能的共性,同时能够升级为具有行业特殊个性的功能。 收款员:收款员普遍文化程度在高中以下,而且工作时间较长,因此税控收款机在设计上尽量考虑使用方便,具有良好的用户界面,具有完善的出错报警提示。 税务局局方:他们所关心的是税控收款机的税控功能,这其中包括税务数据 的正确生成,可靠存储,安全传输,税务的管理和稽查等功能。因此,税控收款 机在设计上应能够很好的体现税控功能。1.2 应用环境 税控收款机的推广主要是在商业零售业、饮食业、娱乐业、服务业、交通运 输业等行业。而税控收款枫的实际应用环境主要是:商场、旅馆、餐馆、酒吧等 室内营业环境,工作条件和环境较好。2 税控收款机的具体功能 根据税控收款机的主要应用即商品销售和税务管理,可以把税控收款机细分 为如下功能:电子报税功能、税务稽查功能、报表打印功能、发票管理功能等。2.1 电子报税功能: 主要实现到报税时进行报税操作和完税操作,需要注意的是整个报税过程 必须在锁机状态下完成。另外考虑到税务安全性,到报税日期不报税,将进行锁机,不能再继续。 2.2 税务稽查功能 其主要是实现税务稽奁功能,能通过稽查报表进行报税情况查询。 2.3 报表打印功能 对各种报表的打印,是税控机的一种主要功能2.4 发票管理功能 发票是税控工作的主要对象和载体,对于它而言,主要有以下三种操作: (1)废票处理:对未打印但损坏或未打印完全的发票,进行废除该票的处理。(2)购入发票:具体实现将用户在税务局购买的发票信息从用户长中读出,并写入在税控机上。(3)发票起止号设置:设置与当前使用的发票卷起止号相符的发票号码。3 税控收款机的硬件结构设计系统结构图如下:31主板模块的设计 3.1.1 MCU的选择采用P89C52+FLASH(SST39SF01)的方案,使程序存储器可以达到128KB。 P89C52是基于80C51内核采用PHILlPS高密度CMOS技术 设计制造,包含中央处理单元、8k字节非异失性Flash只读程序存储器EPROM、 256字节内部数据存储器RAM、32个双向输入输出0o)口、3个16位定时计数 器和6个中断源,4层优先级中断嵌套结构,可用于多机通信的串行i0门,IO 扩展或全双工UART,片内时钟振荡电路。芯片框图如下:312晶振的选择 晶振选用110592MHz,在PCB设计中:将连接X1、X2和IC引脚的距离应 该尽调节到最短;而连线也避免靠大电流线路太近:调整电容接地端应接VSS, 这样保障其可靠性和稳定性。313存储器的扩展 税控机系统是有一个复杂的存储系统,分别用于存储:系统程序、运算数据、税控数据、商品数据和字库。在设计中,将存储器分为五类: 扩展外部存储器;扩展FLASH ;扩展NVRAM ;扩展RAM; 扩展字库。 314复位电路 选用MAX813L来完成,该芯片同时完成WATCHDOG和掉电检测功能。而掉电检测主要是用于在电池电压低和外部电压低到定程度时,对某些关键数据进行保护,有看门狗功能和掉电检查功能。315实时时钟 采用12C总线的PCF8563芯片,它的“年”可以达到99。该时钟的CLOCK脚 可以输出方波,接到MCU的INTl脚,作为一个定时中断。 316串口通讯接口 系统设计了2个RS232接口,以实现串口通信f连接PC和Scan)。采用MAX202E来作为TTlURS一232电平转换,串口通讯以及MODEM的 区别则由软件实现。MCU的RXD和TXD端,通过隔离数字量输入模块(ADAM。4052)与MAX202E 的ROUT和TIN端口相连接。系统MCU具有完善的串行通信接口,利用RXD和TXD两个引脚作为通讯线的二线制串行通信接口,实现全双工异步通信。设计中,采用MAX202E芯片将1TrL电平转换为RS232电平转换,可以实现远距离传输 与上位机通信。317 lC卡接口S棚卡接口 lC卡接口采用lS07816控制。另外由于需要控制IC卡电源快速下电,所以增 加了一个放电回路,在IC卡下电时,该三极管导通,把并联在IC卡电源上的电 容的电快速放完,从而使lC卡电源快速下电。 318译码电路 由于MCU本身的Io口数量限制,而系统本身还需要实现:LCM驱动、VFD 驱动、按键扫描、打印机接口、IC卡接口、SAM卡接口等,存储器的译码:由于希望对IO口操作和对扩展RAM操作时,不进行频繁的 页面切换,以及避免由于程序疏忽或干扰造成页面切换不正确,所以对存储译码电路要进行了一些优化设计。 32打印模块的设计 税控收款机的一个重要功能就是打印发票,打印功能的实现是整个系统中相 当重要的一步。打印机驱动板主要完成对打印机芯的控制,从而能在主机的控制下打印发票。其组成主要包括:协理MCU、打印字库、打印机控制电路、以及打印机。 33电源模块的设计 电源模块是整个系统的工作的保障,由于本系统是采用市电供电,因此,电源模块的安全性直接影响到整机的可靠性和安全性。本系统采用开关电源。 34显示模块的设计 显示模块分为两个部分,一个是 为操作者提供了一个交互界面,完成商品的商业销售、商业管理,以及各类统计报表的打印,一个为消费者提供了一个显示界面,主要销售消费金额等。 35键盘模块的设计 键盘采用了54键键盘,10个数字键,10个功能键。键盘分为3类:税收项目类、数值类和销售管理类。4 硬件设备驱动设计 在本款税控收款机中,硬件设备驱动主要包括PWM驱动、 液晶显示驱动、串行口模块驱动、打印机驱动、键盘驱动、蜂鸣器驱动、看门狗驱动、通信模块驱动、IC卡驱动、A/D转换模块驱动等。下面以PWM驱动、蜂鸣器驱动、LED模块驱动、键盘驱动、打印机驱动为例编写简单代码。4.1 PWM驱动程序的设计 1.相关寄存器的设置:I/O端口控制寄存器;定时器控制寄存器;定时器减法缓冲寄存器;定时器比较缓冲寄存器等,对这些进行一些参数设定。 2、工作过程:将驱动程序编译到内核中,免去了下载、插入等过程。在应用程序中通过open()函数打开驱动设备文件,就可以进行读写等操作了。3、程序部分代码(1)在init_hardware()函数中:Staic void init_hardware()完成对I/O端口控制寄存器的设置;(2)在pwm_setfirst Value()函数中:Void pwm_setfirst Value(Void)完成对占空比寄存器的初始值设置及对PWM定时器1的启动(3)在函数pwm_write()函数中:Ssize_t pwm_write(struct file*file,const char* buf,size_t_count,loff_t*offset)将用户设置的值传递到内核空间调用函数:Static void pwm_set_value(int val)设置占空比4.2 蜂鸣器驱动程序设计在buzzer_set_value()函数中:If(val=1)*unit-GPB_DAT=*unit- GPB_DAT&(0x1)Else*unit-GPB_DAT=*unit- GPB_DAT&|0x14.3 LED模块驱动程序设计在set_value()函数中:U32 temp;Tmp &=0xF;Temp=*unit- GPF_DAT;Temp&=(0xFn); n为LED灯的个数Temp|=(tmp&0x0F) GPF_DAT=temp;4.4 键盘驱动程序设计键盘连接电路如下:(1) 写数据函数Void iic_write_cur(UINT32T unSlaveAddr,UINT32T unAddr,UINT8T ucData) 完成数据的传送过程其中会用到ack_reset_protect函数,作用是把应答位请零,进行下一次响应。(2) 读取数据函数int iic_read_keybd(UINT32T unSlaveAddr,UINT32T unAddr)完成对数据的接收与读取(3) 键盘的测试用key_set()函数可以将读到的键值来转换成键盘上的字符,来完成功能的实现。Char key_set(char ucChar)switch(ucChar) Return ucChar;Int main(int argc,char * * argv) 4.5 打印机驱动打印机状态图如下:write操作:static int prt_write(struct file*flip,const char*bursize_t Count,loff_t*f_pos)5 实现嵌入式5.1 linux操作系统 选择嵌入式linux操作系统,能运行于各种类型的微处理器上,兼容性好、内核精小、效率高、具 有高度的模块化和扩展性;具备文件和目录管理、设备支持、多任务、网络支持、图形窗口以及用户界面等功能。Linux把设备分为字符设备,块设备。 要进行嵌入式开发主要有以下三个步骤: 1、在主机上建立安装开发环境(包括编译器,各种源代码及其他工具等): 2、在主机平台上裁剪编译Linux内核驱动程序; 3、在目标板上安装Linux内核驱动程序。编译过程应使用arm-1inux-gcc: 编译命令:arm-1inux-gcc-D- KERNEL-IkernelincludeDKBUILD_BASENAME=hicense-DMODULEc-o linuxIO linuxlc 其中: armlinuxgec表示使用armgec进行跨平台的交叉编泽。 一DKERNEL-一表示把内核信息编译到连接文件中。 一D-MODULE一表示编译过程采用内核模块的规则进行编译。 一Ikernelinclude表示当前的头文件引用路径,由于模块编译可能调用很多系统函数,所以通过一I将头文件所在的路径引用进来。 c前面有介绍,只编译,不连接成为可执彳亍文件,编译器只是由输入的c 等源代码文件生成o为后缀的目标文件。加载的时候通过insmodo加载到内存空间。5.2 软件总流程系统模块与层次化结合的结构图,如下:税控收款机的软件系统总流程图: 图为整个税控打印机系统的总流程,按照这个流程完成税控收款机的系统自检、税控机初始化、权限设置和分支流程(即管理流程、销售流程等)。下面 再分别对管理流程和销售流程进行介绍。5.3 系统程序的编译、烧写 税控收款机软件程序按照如上的框架和结构进行c语言编写,然后再经过合 并、编译、链接和定址后形成6个烧写程序块: 1)主板CPU程序(AT89S52烧写程序): 2)主板主程序(SST39SF010烧写程序); 3)主板字库(AT27C020烧写程序); 4)打印板主程序(AT89S52烧写程序): 5)打印板字库(AT27C020烧写程序); 6)打印板CPLD程序(ISPM4A512864烧写程序)。 然后进行程序烧写,实现程序。其中主板CPU、主板主程序、主板字库、打印板主程序和打印板字库,由于其芯片都是采用PLCC封装,在SMT的时候该芯片都 直接将对应的芯片槽焊接在板子上,而不是将芯片焊接在板上。所以它们都可以将芯片取出直接在烧写器(型号:SUPERPROIII)上进行程序烧写,然后在将烧写完毕的芯片植入芯片槽罩面进行使用,这样便于程序的调试和升级。而打印板CPLD程序,其芯片是直接贴装在板子上的,所以其烧写需要使用,芯片的配套软件ispVM System,通过Pc和配套下载电缆进行板上下载。 程序下载完毕后,就完成了整个税控收款机的软件安装。之后通过各种软件测试和整机测试,完成对税控收款机的系统测试。于是完成了整个税控收款机的设计和实现。 参考文献:【1】 钟东江税控收款机VS普通收款机,http:poscalebokeecom2472814html,20058【2】 魏忠,蔡勇,雷红卫嵌入式开发详解,电子INk出版殴,20031【3】 ArnoldBerger,吕骏译嵌入式系统设计,电子1:业出版秆,2002【4】 鲍尔,苏建平嵌入式微处理器系统设计实例,电子l:业出版社,20041【5】 宋延昭嵌入式操作系统介绍及选型原则工业控制计算机,2005,7:41-43【6】 吕为工,杨书华一种基于文件的通用嵌入式设备驱动程序开发模型2004 【7】 年全国第五届嵌入式系统学术交流会

温馨提示

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

评论

0/150

提交评论