科学技术的进步带来了物流业的巨大变化,从机械化向自动化、智能化发展。我国物流业起步较晚,目前还处于人工管理或半自动管理状态,效率不高。随着物流业的发展,仓储规模不断扩大,货物种类不断增多,带来一系列连锁反应,导致传统的物流业日渐吃力。
嵌入式扩展技术的发展可为物流MA控制领域提供强大灵活的解决方案。本文研究方案将嵌入式扩展技术系统应用于物流控制领域,采用嵌入式处理器以及丰富的外围扩展接口,配以液晶触摸屏,实现了人机交互。结合条码采集器,实现实时采集数据信息,通过无线传输实时连接服务器数据库;实时盘点货物、出入库;实时查询信息及时调度;还具有存储语音数据、简便快捷、避免人为错误、精简人力、管理库存、缩短繁杂程序、节省时间、提高服务质量等特点。
1系统硬件设计
1.1硬件系统组成
目标硬件平台主要分3部分:处理器核心、芯片内的外围电路、板级外围电路。本系统主要包括ARM处理器、存储器、条码扫描仪、无线收发芯片、LCD显示及触摸屏。其结构图如图1所示。
1.2主要硬件的选型及电路设计
1.2.1嵌入式处理器
本系统采用Samsung公司的S3C44BOX处理器,该处理器是专门为手持设备和一般应用提供的高性价比微处理器,使用ARM7TDMI核,工作在66MHz。该芯片含有非常丰富的片上资源,几乎所有常用的芯片级总线结构都有对应的硬件控制器,外围扩展非常方便。
1.2.2外部存储器
为了满足物流PDA的应用需要,本系统采用Flash、SDRAM、NANDFalsh存储器。
闪速存储器(FlashMemory)的主要特点是掉电保存信息。它既有ROM的特点,又有高存取速度,且易于擦除和重写,功耗小。在系统中通常用于存放操作系统和程序代码,以及一些在系统掉电后需要保存的用户数据等[2]。系统上电或复位后从此获得第一条指令并开始执行。本系统选用一片16bitAM29LV160B线性Flash存储器,单片存储容量为2MB。Flash与S3C44BOX通过一电阻与片选端nGCS0连接,外接上拉电阻;数据线与地址线分别相连;读出写入端分别接nOE、nWE。
SDRAM具有存储容量大、价格便宜、掉电不保存的特点,本系统中主要用于存放运行程序及数据堆栈等。本系统采用现代公司的57V系列HY57V641620,它是4Banks×1M×16bit的SDRAM芯片,单片存储容量为4组×16Mbti(8MB)。为了满足复杂物流数据信息系统的需求,充分发挥32位CPU的数据处理能力,系统用2块8ns的HY57V641620并联组成32bitSDRAM存储器系统[3]。通过nSCS选通,再由nSRAS、nSCAS来分别选通行地址和列地址寻址。
NANDFlash价格便宜、存储量大、性价比高,并且十分轻便、抗震性也好,适合用于做数码产品。本文采用K9F2808U0B16M×8位存储芯片,电压范围2.7V~3.6V,当USB控制芯片处于SLAVE模式时,就可以从PC机下载文件,存储在NANDFlash中。当盘点人员拿着PDA盘点时,系统可直接调用存储的数据文件,盘点人员清点完毕时,也可以在NANDFlash中保留一份数据,以供随时查询,还可以保存语音数据。通过GPC15来选通NANDFlash,相应的nOE、nWE进行读写操作。各个存储器与处理器的连接电路图如图2所示。
1.2.3LCD液晶显示及触摸屏模块
ARM处理器S3C44BOX包括LCD控制器,可支持灰度LCD和彩色LCD。本设计通过译码器选通2个74HC245分别来控制LCD像素输出和控制信号。本文选用分辨率为320×240的TFT彩色3.9寸显示器LQ039Q2DS54及ADS7843触摸屏驱动芯片。S3C44BOX通过端口PG模拟串行的SIO接口与用触摸屏控制芯片ADS7843进行数据传输,完成对触摸屏触摸位置坐标的读取。ADS7843主要完成电极电压的切换,接触点处电压值的采集以及A/D转换[4]。接口电路图如图3所示。
1.2.4接口设计
(1)RS232接口设计
由于S3C44BOX只有2通道UART,并没有集成RS-232C接口,因此选用MAX202作为UART到RS-232C的电平转换芯片,以便其与PC机等其他设备进行串行通信,获取数据及语音信息,方便更新数据。选用9针的DB9头,用到3条线:GND、RXD、TXD。
(2)JTAG接口
因为S3C44BOX中集成了JTAG信号,只需将信号线引出便可对设备进行调试。
(3)音频接口设计
为了存储语音信息,选用Philips公司的UDA1314芯片完成声音信号的模数转换。该芯片在单片芯片上集成立体声模数转换器和数模转换器,芯片的模数转换部分包括可编程的增益放大器和数字自动增益控制器,采用位元流转换技术进行信号处理。鉴于其低功耗、低电压的特性,UDA1341TS非常适用于PDA等便携式设备。
(4)USB接口设计
USB接口是一种成本低、占用空间小、接口规格统一、快速、双向共享、即插即用的新一代标准接口总线,为嵌入式系统设备广泛应用。本文采用的CH372芯片是一款USB总线的通用设备接口器件。在本地端具有8位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机的系统总线上。在计算机系统中,CH372的配套软件提供了简洁易用的操作接口,与本地端的单片机通信就如同读写文件。CH372内置了USB通信中的底层协议,具有省事的内置固件模式和灵活的外置固件模式。在内置固件模式下,CH372自动处理默认端点O的所有事务,本地端只负责数据交换,所以程序非常简洁。在外置固件模式下,由外部单片机根据需要自行处理各种USB请求,从而可以实现符合各种USB类规范的设备[5]。
通过USB接口与带USB接口的微型条码扫描仪组合,就可以轻松的连接PDA,以采集物流货物的数据。使物流数据采集变得轻松、快捷。接口设计电路图如图4所示。
1.2.5无线通信模块设计
选用NORDIC公司推出的一款带2.4GHz无线收发器nRF2401和增强型8051内核的无线收发模块。nRF24E1体积小、功耗低,是集成无线收发、8051、ADC以及其他外围设备的高度集成芯片。它包含了125个频点,能够实现点对点、点对多点的无线通信,同时可采用改频和跳频来避免干扰。nRF24E1最大传输速率可达1M/s,其最大发射功率为0dBm,在比较理想环境中,其室内传输距离可达30m~40m,室外传输距离可达100m~200m。电路图如5所示。
从条码扫描仪中获取的数据经过处理器传到nRF2401,之后无线发送到AP(无线接入点),再通过AP传到后台计算机数据库,使现场与后台数据相关连,获取正确的实时数据。高效简便地实现物流清点、进出库以及货源信息的统计查询。
2 软件设计
下位机的操作系统核心是S3C44BOX操作系统,采用Linux内核,通过Bootloader初始化硬件,引导内核和文件系统来启动Linux系统。软件设计如下:
(1)引导加载程序Bootloader设计与实现。Bootloader是处理器复位后进入操作系统之前执行的第一段代码,加载引导启动整个系统。分为2个阶段,阶段一主要是对CPU核和存储器密切相关的处理以及初始化工作,这部分主要在Flash中。阶段二主要实现一般流程及外围扩展的支持,可以精简不需要的驱动程序,减少内核运行空间。
(2)Linux内核移植。通过修改内核的启动代码、处理器体系与结构部分,对主寄存器进行修改。通常需要由Bootloader设置的常见启动参数有:ATAG_CORE、ATAG_MEM、ATAG_CMDLINE、ATAG_RAMDISK、ATAG_INITRD等。通过arch/arm/makefile添加开发板的编译支持,生成内核影像和模块;通过cpu/mips/start.s修改初始化代码和入口;通过board/myboard/lowlevel_init.s初始化硬件的汇编代码;通过include/configs/drivers实现设备驱动程序的修改[6]。
(3)文件系统移植。用nfs作为根文件系统。
(4)应用程序设计。通过Qt/Embeded设计开发用户图形界面。
嵌入式移动无线PDA终端的诞生改进了物流盘点的繁杂程度和数据的实时性,使调度和管理更加精确。本文将条码扫描仪与移动PDA巧妙结合,实现了集数据采集、数据处理、数据显示、数据修改等功能于一体的移动终端。本文与其他设备相比较,具有面向物流、简便、小巧的特性,功能强大,可以随时随地采集数据、传输数据、查询数据,还可以存储语音数据等,使物流数据实时、调度及时、错误减少、人力物力递减。