《《开发应用实例》》由会员分享,可在线阅读,更多相关《《开发应用实例》(43页珍藏版)》请在金锄头文库上搜索。
1、.,1,第9章开发应用实例,9.1 概述 随着现代物流业仓储、超市等行业的快速发展,物品流动的速度越来越快,仓储库存周期也越来越短。这样物流仓储盘点行业的压力也越来越大,传统的人工盘点方式已经不能适应现代物流的发展。为了解决这一问题,国际上一些物流先进国家已经采用专业的盘点设备盘点机,用于物流盘点。 我们在设计时采用了目前流行的嵌入式微处理器作为系统核心部件。其微处理器选型是采用韩国三星公司生产的S3C2410微处理器,操作系统采用了Windows CE .NET 4.2嵌入式操作系统。整个系统的硬件部分主要分为三个大的模块:核心板、系统板和专用键盘及 LCD显示器。,.,2,在核心板上集成了
2、微处理器、64MB SDRAM和64MB NAND Flash模块及部分支持电路。在系统板上设计有与核心板连接的接口,同时又集成有显示器接口,以太网接口,USB接口,串口,CF卡和IrDA条形码扫描接口等各种外设及以相应的控制部件,另外还有电源管理与转换等一些附属电路。31键的专用键盘是采用超低功耗的MSP430单片机作为控制器来对键盘进行编解码,通过自定义的串行键盘口接入系统板。显示部分是采用192*64 LCD字符型显示器。 本章首先介绍了系统硬件部分设计及工作原理,在软件部分介绍了Windows CE操作系统的移植和定制,驱动程序和支持软件的编制。盘点机除了支持常用的设备,还需要支持串口
3、条形码扫描仪,CF卡等设备。,.,3,实物图片,便携式盘点设备外观,.,4,9.2 硬件平台的设计,嵌入式设备的硬件架构一般都是以嵌入式微处理器为核心,通过处理器接口扩展以及系统硬件的支持,把众多的外设单元集成到整个系统中,并通过CPLD 等逻辑转换器件和其它硬件电路完成对外设模块进行读写和控制操作。 物流盘点机系统硬件原理框图如图9-1abc所示,硬件部分主要包含有核心板,系统板和专用键盘及 LCD显示器三个部分。 1)系统核心板简介 核心板是整个系统的核心,集成了盘点机系统的微处理器、SDRAM单元、NAND Flash单元以及它们所需要的辅助部件,如晶体振荡器(12MHZ和32KHZ两组
4、),电源模块等等。核心板图和PCB板图如图9.1b,c所示。,.,5,图9.1a硬件平台示意图,.,6,2) FlashROM程序存储器 在核心板中,微处理器采用的是基于ARM920T核的S3C2410微处理器。系统的程序存储器采用的是NAND Flash,芯片的型号是Samsung公司的K9F1208,容量为64MB,NAND FlashROM 接口电路原理如图9-2所示。 它按页进行自动编程,每一页大小为528(512+16)字节,编程的典型时间为200s。擦除则按照块进行,每一块的大小为16K字节,典型的擦除时间为2ms。它在页面中读取单个数据的时间为50ns。K9F1208总共有48个
5、引脚,起作用的只有8根IO口线、读写控制线和电源线等。IO口是地址、命令输入和数据输出输入的复用端口。K9F1208还提供了ECC错误纠正码,实现坏区检测以及实时映射,这样它具有高达10万次的编程擦除周期,数据保存长达10年。在S3C2410内部集成有NAND Flash控制器,可以在硬件上直接与NAND Flash相连。在盘点机中,NAND Flash被用作装载操作系统镜像以及大容量的数据存储,同时也是系统启动存储器。,.,7,图9.1b 核心板部分的示意图,核心板是整个系统的核心,集成了盘点机系统的处理器,SDRAM单元,NAND Flash单元以及它们所需要的辅助部件,.,8,图9.1c
6、 核心板PCB图(6层),.,9,图9-2 NAND FlashROM的原理图,.,10,3) SDRAM随机存储器 SDRAM被用来运行操作系统以及各类数据的缓存,图9-3是核心板 SDRAM 接口部分的原理图,系统采用两片HY57V561620 16M16Bit SDRAM芯片,共同组成32Bit数据宽度,64MB内存。 HY57V561620是一款4Banks4M16Bit的SDRAM芯片,采用3.3V电源供电,比较适合嵌入式系统。SDRAM与其它的RAM相比,有许多独特的优点,容量大,功耗低,速度快,最快可以工作在166MHz频率下,通常存储时间为10ns。在高速存储系统中SDRAM是
7、必不可少的外部存储设备。SDRAM通过S3C2410片内的SDRAM控制器来管理,SDRAM挂接在BANK6上。,.,11,图9-3核心板SDRAM部分的原理电路图,.,12,4)核心板电源 图9-4是核心板电源部分的原理电路图。图中,采用MIC5207电源芯片将来自系统板的3.3V电压转换为两组1.8V电压供给处理器内核使用。核心板上还有一些辅助电路,包括上拉电阻,滤波电容,以及供处理器使用的主时钟晶振,供外设适用的辅助时钟晶振等,它们一起构成了ARM的最小硬件系统板。系统所使用的S3C2410处理器是一款FBGA封装的高速处理器,运行时钟频率为203MHz,这种FBGA封装的高速处理器需要
8、使用多层电路板设计。本系统核心板工作在高速信号下,为了布线方便,减少干扰,采用了六层电路板设计,第二层为接地面,四层为电源面,其他各层为信号层。核心板通过标准144芯SIMM插座与母板连接。核心板是一个最小的ARM9硬件系统板,具有较好的通用性,可以作为不同产品开发设计的基础。,.,13,图9.4 电源原理图,.,14,9.2.2系统板(应用板)的组成与工作原,系统板起两方面的作用,一方面对核心板提供支持。如为核心板供电,提供外设到核心板的连接,另一方面为各种外设提供了接口。系统板主要集成有RJ-45网络接口、USB 主从设备接口、串行接口、LCD显示器接口、CF卡接口、键盘等接口电路。同时,
9、还有包含有一些相应的控制转换电路(如可编程器件CPLD)和电源管理部分。核心板和母板之间采用标准SIMM插槽连接,外设和系统板之间采用相应的外设接口连接。其中可编程器件CPLD采用的是Altera公司的EPM3032ATC44-10的CPLD芯片。CPLD器件可以实现高速的FIFO或者利用其灵活的可编程性,可以作为核心板与外部其他功能模块的通用接口(如实现了一个IDE接口)。因为S3C2410本身没有CF卡(半导体辅助存储器中的一种)接口,所以为了连接CF卡,必须采用转换接口。实际系统中采用了总线接口的IDE接口转换为CF卡接口。,.,15,系统板上的网络接口芯片采用CS8900网络接口芯片。
10、CS8900芯片是Cirrus Logic公司生产的一种局域网处理芯片,它的封装是100-pin TQFP,内部集成了在片RAM、10BASE-T收发滤波器,并且提供8位和16位两种接口。本系统中采用16位接口方式。以太网接口原理图如图9-6 所示,图中HR601627是一种脉冲变压器,在CS8900的前端对网络信号进行脉冲波形变换。,.,16,图9.6 CS8900网络接口原理图。,.,17,系统采用了一款专用显示器19264型LCD显示器。该显示器是一种图形点阵液晶显示器,它主要由行驱动器、列驱动器及19264全点阵液晶显示器组成。可完成图形显示,也可以显示124个( 1616点阵 )汉字
11、,采用3.3V电源供电,与处理器接口采用8位并行输入输出数据总线和8条控制线。S3C2410处理器内部集成了LCD控制器,但是该控制器不支持用户选定的显示器,只能采用其他方式接入该款显示器,实际采用的是直接挂接到处理器的通用I/O口上的方式。,.,18,S3C2410中集成了3.3V TTL 电平的串行接口,可以直接使用。为了与标准RS232C串行设备通信,采用了一块SP3243芯片用于电平的转换,构成了一个比较完整的串口。 在盘点机的实际应用中,需要外接串行口的条形码扫描仪,该扫描仪采用标准串口9针D型插座,工作时需要通过串口第九针外接5V电源。为了方便使用该款扫描仪,设计时对串行接口进行了
12、改进,在串口第九针上采用电子开关叠加可控的5V电源。在作为标准串口使用时,5V电源和第九针断开。当外接扫描仪时第九针接入5V电源,驱动扫描仪正常工作。串口第九针是否接入5V电源在串口驱动程序中实现,应用程序通过串口设置系统调用函数来控制,接口电路如图 9-8 所示。,.,19,图 9-8 串行接口电路,.,20,本系统中所用的设备较多,其中很多设备需要复位信号来保证正常可靠的复位。为此,在系统板上设计了复位信号模块,该模块采用电阻、电容和二极管构成一个简单适用的复位电路,在此基础上采用74HC17芯片进行波形调整、信号取反继而生成符合设备需要的高、低电平两组复位信号,供整个系统使用。复位电路的
13、原理图见图9-9所示 。 S3C2410处理器片内集成有USB接口,故系统板只是简单的将此信号引出。,.,21,图9.8 复位电路原理图,.,22,盘点机的输入信号则采用外接的串口键盘手动输入和串口条形码扫描仪读入方式。串口键盘为自行设计的,适合盘点业需要的专用键盘,键盘采用了一款16位低功耗单片机MSP430进行管理。 使用盘点机的目的是为了提高盘点效率,对于盘点人员而言,使用最多的就是扫描仪和键盘。扫描仪上只有一个按键,使用简单。由于键盘的效率对于提高盘点的效率非常重要,所以在盘点机系统中设计一款最合适盘点使用的键盘是提高盘点效率的重要一环。盘点机是一款便携式设备,键盘不可能做得很大,另一
14、方面为了便于盘点人员实现盲打,按键的大小不能太小,特别是频繁使用的按键还应该比计算机标准键盘略大。在这种情况下,按键的个数就有所限制,经过大量实践,最终的键盘设计采用了31键的方案。其中字母和数据键在一般情况下作为数字键使用,配合Shift按键输入字母,图9-10为键盘部分的框图。,9.2.3专用键盘的设计,.,23,同时,为了使用方便,键盘上还设置了系统休眠、唤醒按键,与键盘接口一起通过排线接入系统板。键盘所用的控制器为MSP430F149,这是TI公司推出的一种具有16位RISC结构、超低功耗的工业级混合信号控制器。这些控制器被设计为可用电池工作,而且可以有很长使用时间的应用。CPU中的1
15、6个寄存器和常数发生器使MSP430微控制器能达到最高的代码效率,灵活的时钟源可以使器件达到最低的功率消耗,数字控制的振荡器(DCO)可使器件从低功耗模式迅速唤醒,在少于6s的时间内激活到活跃的工作方式。程序中使用MSP430F149的外部中断I/O口作为键盘扫描的信号线,经过编码后,通过片内内置的串口输出到系统板。该芯片在1.8-3.6V电压,1MHz的时钟条件下运行,耗电电流在0.1-400A之间(因不同的工作模式而不同)。CPU平时至于节电模式,按键时触发中断信号,CPU立即被唤醒,处理完键盘事件后,CPU再次进入省电模式。,.,24,图9-10为键盘部分的框图,.,25,系统 板图,1
16、0M以太网网卡CS8900,条形码扫描仪RS232接口,网络传输RJ45接口,JTAG调试接口,键盘RS232接口,LCD显示器接口,电源模块MAX603,.,26,9.3 软件系统的设计,系统的软件系统主要包括嵌入式操作系统选型、定制及裁减、硬件驱动程序和用户应用程序方面。9.3.1操作系统的定制与实现 Window CE 具有良好的图形交互界面,便于开发调试上层图形应用程序,所以本便携式盘点机的操作系统选用了Windows CE。Microsoft Windows CE .NET 是支持多平台的、可定制的32位嵌入式操作系统。支持多线程、完全抢占执行和多任务。不仅适用于工业上的嵌入式设备,同时支持高度便携性的个人计算设备,如掌上电脑、PDA 和移动通信设备等。Windows CE .NET在设计上采用完全的模块化结构,可以根据硬件平台和应用目的灵活的进行定制。对于应用程序的开发者来说,Windows CE .NET 提供了同 Windows 环境相似的各种开发环境。Microsoft Win32 API、ActiveX 控件、消息队列、COM 接口、ATL 和MFC,这对于提高编程