基于嵌入式的物流盤點PDA無線終端設(shè)計
科學(xué)技術(shù)的進步帶來了物流業(yè)的巨大變化,從機械化向自動化、智能化發(fā)展。我國物流業(yè)起步較晚,目前還處于人工管理或半自動管理狀態(tài),效率不高。隨著物流業(yè)的發(fā)展,倉儲規(guī)模不斷擴大,貨物種 類不斷增多,帶來一系列連鎖反應(yīng),導(dǎo)致傳統(tǒng)的物流業(yè)日漸吃力。
嵌入式擴展技術(shù)的發(fā)展可為物流MA控制領(lǐng)域提供強大靈活的解決方案。本文研究方案將嵌入式擴展技術(shù)系統(tǒng)應(yīng)用于物流控制領(lǐng)域,采用嵌入式處理器以及豐富的外圍擴展接口,配以液晶觸摸屏,實現(xiàn)了人機交互。結(jié)合條碼采集器,實現(xiàn)實時采集數(shù)據(jù)信息,通過無線傳輸實時連接服務(wù)器數(shù)據(jù)庫;實時盤點貨物、出入庫;實時查詢信息及時調(diào)度;還具有存儲語音數(shù)據(jù)、簡便快捷、避免人為錯誤、精簡人力、管理庫存、縮短繁雜程序、節(jié)省時間、提高服務(wù)質(zhì)量等特點。
1 系統(tǒng)硬件設(shè)計
1.1 硬件系統(tǒng)組成
目標硬件平臺主要分3部分:處理器核心、芯片內(nèi)的外圍電路、板級外圍電路。本系統(tǒng)主要包括ARM處理器、存儲器、條碼掃描儀、無線收發(fā)芯片、LCD顯示及觸摸屏。其結(jié)構(gòu)圖如圖1所示。
1.2 主要硬件的選型及電路設(shè)計
1.2.1 嵌入式處理器
本系統(tǒng)采用Samsung公司的S3C44BOX處理器,該處理器是專門為手持設(shè)備和一般應(yīng)用提供的高性價比微處理器 ,使用ARM7TDMI核,工作在66 MHz。該芯片含有非常豐富的片上資源,幾乎所有常用的芯片級總線結(jié)構(gòu)都有對應(yīng)的硬件控制器,外圍擴展非常方便。
1.2.2 外部存儲器
為了滿足物流PDA的應(yīng)用需要,本系統(tǒng)采用Flash、SDRAM、NAND Falsh存儲器。
閃速存儲器(Flash Memory)的主要特點是掉電保存信息。它既有ROM的特點,又有高存取速度,且易于擦除和重寫,功耗小。在系統(tǒng)中通常用于存放操作系統(tǒng)和程序代碼,以及一些在系統(tǒng)掉電后需要保存的用戶數(shù)據(jù)等[2]。系統(tǒng)上電或復(fù)位后從此獲得第一條指令并開始執(zhí)行。本系統(tǒng)選用一片16 bit AM29LV160B線性Flash存儲器,單片存儲容量為2 MB。Flash與S3C44BOX通過一電阻與片選端nGCS0連接,外接上拉電阻;數(shù)據(jù)線與地址線分別相連;讀出寫入端分別接nOE、nWE。
SDRAM具有存儲容量大、價格便宜、掉電不保存的特點,本系統(tǒng)中主要用于存放運行程序及數(shù)據(jù)堆棧等。本系統(tǒng)采用現(xiàn)代公司的57V系列HY57V641620,它是4 Banks×1 M×16 bit的SDRAM芯片,單片存儲容量為4組×16 M bti(8 MB)。為了滿足復(fù)雜物流數(shù)據(jù)信息系統(tǒng)的需求,充分發(fā)揮32位CPU的數(shù)據(jù)處理能力,系統(tǒng)用2塊8 ns的HY57V641620并聯(lián)組成32 bit SDRAM存儲器系統(tǒng)[3]。通過nSCS選通,再由nSRAS、nSCAS來分別選通行地址和列地址尋址。
NAND Flash價格便宜、存儲量大、性價比高,并且十分輕便、抗震性也好,適合用于做數(shù)碼產(chǎn)品。本文采用K9F2808U0B 16 M×8位存儲芯片,電壓范圍2.7 V~3.6 V,當USB控制芯片處于SLAVE模式時,就可以從PC機下載文件,存儲在NAND Flash中。當盤點人員拿著PDA盤點時,系統(tǒng)可直接調(diào)用存儲的數(shù)據(jù)文件,盤點人員清點完畢時,也可以在NAND Flash中保留一份數(shù)據(jù),以供隨時查詢,還可以保存語音數(shù)據(jù)。通過GPC15來選通NAND Flash,相應(yīng)的nOE、nWE 進行讀寫操作。各個存儲器與處理器的連接電路圖如圖2所示。
1.2.3 LCD液晶顯示及觸摸屏模塊
ARM處理器S3C44BOX包括LCD控制器,可支持灰度LCD和彩色LCD。本設(shè)計通過譯碼器選通2個74HC245分別來控制LCD像素輸出和控制信號。本文選用分辨率為320×240的TFT彩色3.9寸顯示器LQ039Q2DS54及ADS7843觸摸屏驅(qū)動芯片。S3C44BOX通過端口PG模擬串行的SIO接口與用觸摸屏控制芯片ADS7843進行數(shù)據(jù)傳輸,完成對觸摸屏觸摸位置坐標的讀取。ADS7843主要完成電極電壓的切換,接觸點處電壓值的采集以及A/D轉(zhuǎn)換[4]。接口電路圖如圖3所示。
1.2.4 接口設(shè)計
(1)RS232接口設(shè)計
由于S3C44BOX只有2通道UART,并沒有集成RS-232C接口,因此選用MAX202作為UART到RS-232C的電平轉(zhuǎn)換芯片,以便其與PC 機等其他設(shè)備進行串行通信,獲取數(shù)據(jù)及語音信息,方便更新數(shù)據(jù)。選用9針的DB9頭,用到3條線:GND、RXD、TXD。
(2)JTAG接口
因為S3C44BOX中集成了JTAG信號,只需將信號線引出便可對設(shè)備進行調(diào)試。
(3)音頻接口設(shè)計
[!--empirenews.page--]為了存儲語音信息,選用Philips公司的UDA1314芯片完成聲音信號的模數(shù)轉(zhuǎn)換。該芯片在單片芯片上集成立體聲模數(shù)轉(zhuǎn)換器和數(shù)模轉(zhuǎn)換器,芯片的模數(shù)轉(zhuǎn)換部分包括可編程的增益放大器和數(shù)字自動增益控制器,采用位元流轉(zhuǎn)換技術(shù)進行信號處理。鑒于其低功耗、低電壓的特性,UDA1341TS非常適用于PDA等便攜式設(shè)備。
(4) USB接口設(shè)計
USB接口是一種成本低、占用空間小、接口規(guī)格統(tǒng)一、快速、雙向共享、即插即用的新一代標準接口總線,為嵌入式系統(tǒng)設(shè)備廣泛應(yīng)用。本文采用的CH372芯片是一款USB總線的通用設(shè)備接口器件。在本地端具有8位數(shù)據(jù)總線和讀、寫、片選控制線以及中斷輸出,可以方便地掛接到單片機的系統(tǒng)總線上。在計算機系統(tǒng)中,CH372的配套軟件提供了簡潔易用的操作接口,與本地端的單片機通信就如同讀寫文件。CH372內(nèi)置了USB通信中的底層協(xié)議,具有省事的內(nèi)置固件模式和靈活的外置固件模式。在內(nèi)置固件模式下,CH372自動處理默認端點O的所有事務(wù),本地端只負責(zé)數(shù)據(jù)交換,所以程序非常簡潔。在外置固件模式下,由外部單片機根據(jù)需要自行處理各種USB請求,從而可以實現(xiàn)符合各種USB類規(guī)范的設(shè)備[5]。
通過USB接口與帶USB接口的微型條碼掃描儀組合,就可以輕松的連接PDA,以采集物流貨物的數(shù)據(jù)。使物流數(shù)據(jù)采集變得輕松、快捷。接口設(shè)計電路圖如圖4所示。
1.2.5 無線通信模塊設(shè)計
選用NORDIC公司推出的一款帶2.4 GHz無線收發(fā)器nRF2401和增強型8051內(nèi)核的無線收發(fā)模塊。nRF24E1體積小、功耗低,是集成無線收發(fā)、8051、ADC以及其他外圍設(shè)備的高度集成芯片。它包含了125個頻點,能夠?qū)崿F(xiàn)點對點、點對多點的無線通信,同時可采用改頻和跳頻來避免干擾。nRF24E1最大傳輸速率可達1 M/s,其最大發(fā)射功率為0 dBm,在比較理想環(huán)境中,其室內(nèi)傳輸距離可達30 m~40 m,室外傳輸距離可達100 m~200 m。電路圖如5所示。
從條碼掃描儀中獲取的數(shù)據(jù)經(jīng)過處理器傳到nRF2401,之后無線發(fā)送到AP(無線接入點),再通過AP傳到后臺計算機數(shù)據(jù)庫,使現(xiàn)場與后臺數(shù)據(jù)相關(guān)連,獲取正確的實時數(shù)據(jù)。高效簡便地實現(xiàn)物流清點、進出庫以及貨源信息的統(tǒng)計查詢。
2 軟件設(shè)計
下位機的操作系統(tǒng)核心是S3C44BOX操作系統(tǒng),采用Linux內(nèi)核,通過Bootloader初始化硬件,引導(dǎo)內(nèi)核和文件系統(tǒng)來啟動Linux系統(tǒng)。軟件設(shè)計如下:
(1)引導(dǎo)加載程序Bootloader設(shè)計與實現(xiàn)。Bootloader是處理器復(fù)位后進入操作系統(tǒng)之前執(zhí)行的第一段代碼,加載引導(dǎo)啟動整個系統(tǒng)。分為2個階段,階段一主要是對CPU核和存儲器密切相關(guān)的處理以及初始化工作,這部分主要在Flash中。階段二主要實現(xiàn)一般流程及外圍擴展的支持,可以精簡不需要的驅(qū)動程序,減少內(nèi)核運行空間。
(2)Linux內(nèi)核移植。通過修改內(nèi)核的啟動代碼、處理器體系與結(jié)構(gòu)部分,對主寄存器進行修改。通常需要由Bootloader設(shè)置的常見啟動參數(shù)有:ATAG_CORE、ATAG_MEM、ATAG_CMDLINE、ATAG_RAMDISK、ATAG_INITRD等。通過arch/arm/makefile添加開發(fā)板的編譯支持,生成內(nèi)核影像和模塊;通過cpu/mips/start.s修改初始化代碼和入口;通過 board/myboard/lowlevel_init.s初始化硬件的匯編代碼;通過include/configs/drivers實現(xiàn)設(shè)備驅(qū)動程序的修改[6]。
(3)文件系統(tǒng)移植。用nfs作為根文件系統(tǒng)。
(4)應(yīng)用程序設(shè)計。通過Qt/Embeded設(shè)計開發(fā)用戶圖形界面。
嵌入式移動無線PDA終端的誕生改進了物流盤點的繁雜程度和數(shù)據(jù)的實時性,使調(diào)度和管理更加精確。本文將條碼掃描儀與移動PDA巧妙結(jié)合,實現(xiàn)了集數(shù)據(jù)采集、數(shù)據(jù)處理、數(shù)據(jù)顯示、數(shù)據(jù)修改等功能于一體的移動終端。本文與其他設(shè)備相比較,具有面向物流、簡便、小巧的特性,功能強大,可以隨時隨地采集數(shù)據(jù)、傳輸數(shù)據(jù)、查詢數(shù)據(jù),還可以存儲語音數(shù)據(jù)等,使物流數(shù)據(jù)實時、調(diào)度及時、錯誤減少、人力物力遞減。