国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

無(wú)線POS機(jī)的設(shè)計(jì)與實(shí)現(xiàn)

2013-12-20 08:24:40李小魁韓大偉
關(guān)鍵詞:驅(qū)動(dòng)程序網(wǎng)卡觸摸屏

李小魁,韓大偉

(河南工程學(xué)院,鄭州451191)

POS系統(tǒng)廣泛應(yīng)用于商場(chǎng)、超市、專賣店、餐飲等連鎖企業(yè)的實(shí)時(shí)業(yè)務(wù)處理和信息管理中.目前,主流的有線通信線路POS系統(tǒng)有兩個(gè)缺點(diǎn):一是ATM機(jī)和POS機(jī)的架設(shè)受線路約束,無(wú)法實(shí)現(xiàn)靈活部署;二是有線線路提供的是專用信道,而業(yè)務(wù)數(shù)據(jù)屬于突發(fā)流量,信道利用率低,通信成本高[1].

本文提出一種基于S3C2440硬件平臺(tái)與 Windows CE操作系統(tǒng)的無(wú)線POS機(jī)的系統(tǒng)設(shè)計(jì)方案,采用Wi-Fi和GPRS相結(jié)合的方式,可解決傳統(tǒng)的POS機(jī)只能在固定場(chǎng)合使用的問(wèn)題,使POS終端不再受有限通信網(wǎng)的限制.

1 無(wú)線POS系統(tǒng)的總體設(shè)計(jì)

本系統(tǒng)利用Windows CE典型的并行開發(fā)方法[2]進(jìn)行設(shè)計(jì),如圖1所示.

采用結(jié)構(gòu)化的設(shè)計(jì)思想及相應(yīng)技術(shù),將復(fù)雜的系統(tǒng)設(shè)計(jì)轉(zhuǎn)化為各模塊設(shè)計(jì)和數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì).硬件開發(fā)、系統(tǒng)定制、應(yīng)用程序開發(fā)三個(gè)階段[3]的工作都分別完成后,將定制的操作系統(tǒng)和開發(fā)的應(yīng)用程序最終再移植到定制的設(shè)備硬件上進(jìn)行綜合測(cè)試和調(diào)試.

1.1 系統(tǒng)硬件的設(shè)計(jì)

圖1 Windows CE的并行開發(fā)過(guò)程

硬件部分的設(shè)計(jì)包括S3C2440最小化系統(tǒng)、無(wú)線通信模塊、磁卡采集模塊、微型打印機(jī)模塊、液晶顯示模塊的設(shè)計(jì)[4],總體框圖如圖2所示.

圖2 系統(tǒng)總體框圖

1.1.1 S3C2440硬件平臺(tái)

S3C2440是三星公司推出的基于ARM920T的嵌入式處理器,主頻高達(dá)400MHz,最高可達(dá)533MHz.該處理器主要面向高性價(jià)比、低功耗的應(yīng)用設(shè)備.本系統(tǒng)的硬件平臺(tái)以S3C2440為核心,具有無(wú)線網(wǎng)絡(luò)、有線網(wǎng)絡(luò)、液晶顯示、觸摸屏、USB等終端模塊,其構(gòu)成如圖3所示.

圖3 硬件終端模塊示意圖

圖4 POS機(jī)中操作系統(tǒng)的開發(fā)過(guò)程

1.1.2 外圍設(shè)備

無(wú)線模塊:采用的是華為EC121,USB總線接口,數(shù)據(jù)傳輸率為153.6kbps.

磁卡:選用的是強(qiáng)盛QS-901,USB總線接口,滿足本系統(tǒng)一、三磁道的基本要求.

微型打印機(jī):RD-E系列熱敏微型打印機(jī),外接口為串口.

1.2 系統(tǒng)軟件的設(shè)計(jì)

Windows CE操作系統(tǒng)具有很多特性,支持多線程,包含多種可選擇的GUI,能被一系列不同的CPU編譯.同時(shí),Windows CE也具有臺(tái)式計(jì)算機(jī)操作系統(tǒng)的特性.開發(fā)人員無(wú)需花太多的時(shí)間就可以很容易地進(jìn)行基于Windows CE的軟件開發(fā).POS機(jī)中操作系統(tǒng)的開發(fā)過(guò)程如圖4所示.

操作系統(tǒng)開發(fā)大部分是在SDB(標(biāo)準(zhǔn)開發(fā)板)上進(jìn)行的,開發(fā)者通過(guò)新平臺(tái)向?qū)?chuàng)建一個(gè) Windows CE操作系統(tǒng)配置,然后在Platform Builder開發(fā)環(huán)境中增加無(wú)線POS機(jī)所需的用戶特征,將涉及到的無(wú)線網(wǎng)卡、磁卡采集器、微型打印機(jī)、液晶顯示器等驅(qū)動(dòng)程序創(chuàng)建到新的BSP(板級(jí)支持包)上.BSP開發(fā)完成后,將其移植到S3C2440的硬件平臺(tái)當(dāng)中.

1.2.1 Windows CE的Bootloader

在S3C2440系統(tǒng)開發(fā)中,整個(gè)系統(tǒng)的加載啟動(dòng)任務(wù)由Bootloader[5]完成.本設(shè)計(jì)使用的Bootloader是Supervivi,它支持 CRAMFS、YAFFS文件系統(tǒng)和USB下載,能自動(dòng)識(shí)別并啟動(dòng)Windows CE等多種嵌入式操作系統(tǒng),能下載程序到內(nèi)存中執(zhí)行,并具有系統(tǒng)備份和恢復(fù)功能,非常適合批量生產(chǎn)中使用.

Supervivi的菜單中有燒寫系統(tǒng)、調(diào)試、設(shè)置參數(shù)和分區(qū)等模式.它采用USB下載的方式,搭建燒寫環(huán)境極為簡(jiǎn)單,并且下載速度快,使用十分方便.

1.2.2 設(shè)備的驅(qū)動(dòng)程序

設(shè)備的驅(qū)動(dòng)程序可以通過(guò)動(dòng)態(tài)鏈接庫(kù)(DLL)靜態(tài)鏈接到操作系統(tǒng)中,也可以作為目標(biāo)文件靜態(tài)鏈接到操作系統(tǒng)中.

無(wú)線POS系統(tǒng)終端依據(jù)無(wú)線網(wǎng)卡與上位機(jī)或其他網(wǎng)絡(luò)主機(jī)通信,無(wú)線網(wǎng)卡通過(guò)天線發(fā)送和接受數(shù)據(jù)信號(hào).網(wǎng)卡驅(qū)動(dòng)程序包括USB入口函數(shù)、小端口初始化、數(shù)據(jù)接收、數(shù)據(jù)發(fā)送和信息設(shè)置與查詢,網(wǎng)卡驅(qū)動(dòng)結(jié)構(gòu)如圖5所示.

在Windows CE系統(tǒng)下,驅(qū)動(dòng)的安裝都是由驅(qū)動(dòng)控制程序讀取相關(guān)注冊(cè)表,然后加載到特定空間實(shí)現(xiàn)的.

無(wú)線網(wǎng)卡驅(qū)動(dòng)的安裝也是通過(guò)Platform Builder平臺(tái)將無(wú)線網(wǎng)卡驅(qū)動(dòng)構(gòu)建到OS鏡像當(dāng)中,然后在相關(guān)配置文件中進(jìn)行添加與修改完成的,包括自動(dòng)加載注冊(cè)表和相關(guān)配置文件如DIRS文件、makefile文件、SOURCES文件和.bib文件.

圖5 網(wǎng)卡驅(qū)動(dòng)結(jié)構(gòu)

無(wú)線網(wǎng)卡驅(qū)動(dòng)的設(shè)計(jì)步驟如下:

(1)在%_WINCEBOOT%\PLATFORM\CEPC\Drivers文件目錄下創(chuàng)建一個(gè)新的文件夾KUI500,然后將寫好的.c和.h文件拷貝到KUI500內(nèi);

(2)添加 makefile文件和sources文件.其中,makefile文件為:

!INCLUDE $(_M(jìn)AKEENVROOT)\makefile.def

sources文件為:

WINCEREL=1

__PROJROOT = $(_PROJECTROOT)

TARGETNAME=KUI500

TARGETTYPE=NOTARGET//定義連接類型

DLLENTRY=DllEntry//相關(guān)函數(shù)從此開始

CDEFINES= $(CDEFINES)-DNDIS_M(jìn)INIPORT_DRIVER

-DNDIS50_M(jìn)INIPORT

-DWIN2000

-D_802_11_PROTOCOL

-DNDIS_WDM

-DWINCE

-DCE5

TARGETLIBS=\//定義所需連接庫(kù)信息

%_PROJECTROOT%\cesysgen\oak\lib\x86\retail\usbd.lib\

%_PROJECTROOT%\cesysgen\sdk\lib\x86\retail\commctrl.lib\

%_PROJECTROOT%\cesysgen\sdk\lib\x86\retail\coredll.lib\

%_PROJECTROOT%\cesysgen\sdk\lib\x86\retail\ndis.lib\

%_PROJECTROOT%\cesysgen\sdk\lib\x86\retail\winsock.lib\

%_PROJECTROOT%\cesysgen\sdk\lib\x86\retail\ntcompat.lib\

SOURCES=\//定義所需代碼

KUI500.c\

iterrrupt.c\

request.c\

FILE_VIEW_PARAMETER_FOLDER=\

KUI500.bib\

KUI500.reg\

KUI500.def\

(3)添加.def文件:

LIBRARY KUI500

EXPORTS

DriverEntry //程序入口

USBInstallDriver //USB讀驅(qū)動(dòng)

USBDeviceAttach //讀取設(shè)備,執(zhí)行網(wǎng)卡驅(qū)動(dòng)

(4)創(chuàng)建.bib文件:

MODULES

KUI500.dll$(_FLATRELEASEDIR)\KUI500.dll NK

(5)添加注冊(cè)表信息如下:[HKEY_LOCAL_M(jìn)ACHINE\Drivers\USB\ClientDr ivers\KUI500]

"Miniport"="KUI500"

"Prefix"="NDS"

"Dll"="NDIS.dll"

[HKEY_LOCAL_M(jìn)ACHINE\Drivers\USB\LoadClients\VNT_RNN\Default\Default\KUI500]

"Dll"="KUI500.dll"

;USB相關(guān)信息,設(shè)備具體信息說(shuō)明

[HKEY_LOCAL_M(jìn)ACHINE\Comm\KUI500]

"DisplayName"="WLAN Card Driver""Group"="NDIS"

"ImagePath"="KUI500.dll"

[HKEY_LOCAL_M(jìn)ACHINE\Comm\KUI500\Parms]

;網(wǎng)卡相關(guān)參數(shù)設(shè)置以及小端口具體參數(shù)設(shè)置如下:

"BusType"=dword:0

"BusNumber"=dword:0

"AdapterCFID"=dword:31841106

"NetworkAddress"=""

"DesiredSSID"=""

"AdapterType"=dword:0

"TransmitBuffers"=dword:00000020

"ReceiveBuffers"=dword:00000020

"ConnectionRate"=dword:0c

"Channel"=dword:06

"PreambleType"=dword:1

"RTSThreshold"=dword:092b

"FragThreshold"=dword:092a

"OperationMode"=dword:0

"BeaconInterval"=dword:64

"RadioControl"=dword:0

;靜態(tài)IP分配設(shè)置相關(guān)信息如下:[HKEY_LOCAL_M(jìn)ACHINE\Comm\KUI500\Parms\

TcpIp]

"EnableDHCP"=dword:0;DHCP使能關(guān)閉

eZeroBroadcast"=dword:0

"IpAddress"="192.168.1.100";靜態(tài)IP地址

"Subnetmask"="255.255.255.0";相對(duì)子網(wǎng)掩碼分配

"DNS"="";DNS分配

"WINS"=""

2 系統(tǒng)平臺(tái)的移植與燒寫

BSP文件調(diào)好以后,點(diǎn)Build->Build Platform或者點(diǎn)工具欄的圖標(biāo)開始編譯.編譯完畢,若不出錯(cuò),D:\WINCE500\PBWorkspaces\kui\RelDir\2440_ARMV 4I_Release文件夾中就會(huì)存在 NK.bin和NK.nb0兩個(gè)文件,其中NK.bin為本設(shè)計(jì)所需的系統(tǒng)映像文件.

Windows CE系統(tǒng)的燒寫過(guò)程如下:

(1)格式化 Nand Flash;

(2)重新安裝BIOS;

(3)安裝Eboot;

(4)裝載Windows CE內(nèi)核映象并運(yùn)行硬件系統(tǒng).

3 系統(tǒng)的調(diào)試與結(jié)果分析

為了驗(yàn)證所開發(fā)的POS機(jī)的工作性能是否符合設(shè)計(jì)要求,將系統(tǒng)大致劃分為主控板模塊、觸摸屏驅(qū)動(dòng)模塊、讀卡模塊、無(wú)線通信模塊等4個(gè)功能模塊,分別對(duì)其測(cè)試與驗(yàn)證.具體測(cè)試方法[6]如下:

(1)主控板測(cè)試:

①下載系統(tǒng)映像文件NK.bin到主控板中,查看能否正常下載;

②下載完成后加電,觀察啟動(dòng)過(guò)程是否正常;

③啟動(dòng)完成后,和PC機(jī)進(jìn)行文本同步傳輸和系統(tǒng)小程序操作,測(cè)試主控板是否正常工作.

(2)觸摸屏驅(qū)動(dòng)測(cè)試:

①主控板檢測(cè)完成后,通過(guò)控制面板調(diào)試,觀察觸摸屏能否正常工作;

②反復(fù)啟動(dòng)校準(zhǔn),觀察啟動(dòng)過(guò)程對(duì)觸摸屏校準(zhǔn)是否影響.

(3)讀卡測(cè)試:

①將讀卡器與主控板鏈接,反復(fù)插拔讀卡器接口,觀察讀卡器工作情況;

②多次讀取會(huì)員卡號(hào)與銀行卡號(hào),查看讀卡編號(hào)情況.

(4)無(wú)線通信測(cè)試:

采用無(wú)線網(wǎng)絡(luò)收發(fā)測(cè)試方法,測(cè)試步驟如下:

①通過(guò)PC機(jī)地址欄輸入IP登錄無(wú)線路由器,更改無(wú)線路由器MAC地址及IP地址,PING主機(jī)與路由器,檢查主機(jī)與無(wú)線路由器的網(wǎng)絡(luò)通信情況;

②打開路由器無(wú)線工作模式選項(xiàng),設(shè)置無(wú)線工作信息,打開硬件開發(fā)平臺(tái),確定工作正常后,插上無(wú)線網(wǎng)卡,完成自動(dòng)收索,然后在PC機(jī)運(yùn)行ping 192.168.1.100-n 16進(jìn)行檢測(cè),查看無(wú)線網(wǎng)絡(luò)通訊是否正常;

③多次操作以上步驟,并觀察無(wú)線路由器服務(wù)端,查看無(wú)線網(wǎng)卡的工作情況.

由于測(cè)試過(guò)程受到偶然因素的影響,我們對(duì)系統(tǒng)進(jìn)行了1 000次測(cè)試.測(cè)試結(jié)果表明,系統(tǒng)誤差率為0.1%,符合系統(tǒng)功能測(cè)試誤差率的標(biāo)準(zhǔn)要求.可見,無(wú)線POS系統(tǒng)性能良好.

4 結(jié) 語(yǔ)

本文提出了一種基于S3C2440硬件平臺(tái)和嵌入式Windows CE操作系統(tǒng)的無(wú)線POS機(jī)的系統(tǒng)設(shè)計(jì)方案.硬件部分重點(diǎn)設(shè)計(jì)主控系統(tǒng)和無(wú)線通信驅(qū)動(dòng)模塊;操作系統(tǒng)主要設(shè)計(jì)外圍設(shè)備的驅(qū)動(dòng)程序,通過(guò)新平臺(tái)向?qū)?chuàng)建一個(gè)操作系統(tǒng)配置,然后通過(guò)增加無(wú)線POS機(jī)所需的用戶特征,創(chuàng)建一個(gè)新的BSP,把Windows CE內(nèi)核裝載到硬件系統(tǒng)當(dāng)中.最后對(duì)主控系統(tǒng)、無(wú)線網(wǎng)卡、讀卡、觸摸屏等重要模塊進(jìn)行了測(cè)試.測(cè)試結(jié)果表明,本文設(shè)計(jì)的無(wú)線POS系統(tǒng)性能良好,有一定的實(shí)用價(jià)值.(本研究受河南工程學(xué)院青年基金支持)

[1]許德剛,孫會(huì)峰,甄彤.物流系統(tǒng)中移動(dòng)POS終端的設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2007(6):149-151.

[2]張冬泉,譚南林.Windows CE實(shí)用開發(fā)技術(shù)[M].北京:電子工業(yè)出版社,2006.

[3]李梅.基于 Windows平臺(tái)的POS信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].科技創(chuàng)新導(dǎo)報(bào),2008(1):11-12.

[4]李小魁,王忠勇.基于嵌入式操作系統(tǒng)平臺(tái)下的觸摸屏驅(qū)動(dòng)程序的開發(fā)與實(shí)現(xiàn)[J].計(jì)算機(jī)與數(shù)字工程,2009(4):79-82.

[5]徐晨輝,盧文科,黃浩.基于ARM-Linux嵌入式移動(dòng)POS機(jī)系統(tǒng)中啟動(dòng)程序的研究與設(shè)計(jì)[J].電子測(cè)量技術(shù),2009,32(1):77-81

[6]韋余紅.無(wú)線POS機(jī)數(shù)據(jù)傳輸安全控制策略研究[J].通信技術(shù),2009(2):270-271.

猜你喜歡
驅(qū)動(dòng)程序網(wǎng)卡觸摸屏
在DDS 中間件上實(shí)現(xiàn)雙冗余網(wǎng)卡切換的方法
PLC和觸摸屏在衛(wèi)生間控制系統(tǒng)的應(yīng)用
Server 2016網(wǎng)卡組合模式
皮膚“長(zhǎng)”出觸摸屏
挑戰(zhàn)Killer網(wǎng)卡Realtek網(wǎng)游專用Dragon網(wǎng)卡
投射式多點(diǎn)觸控電容觸摸屏
河南科技(2014年12期)2014-02-27 14:10:32
觸摸屏項(xiàng)目移植在自動(dòng)化系統(tǒng)升級(jí)中的應(yīng)用
驅(qū)動(dòng)程序更新與推薦
驅(qū)動(dòng)程序更新與推薦
驅(qū)動(dòng)程序更新與推薦
景谷| 茂名市| 昔阳县| 侯马市| 托里县| 灌阳县| 景东| 凌源市| 潞西市| 新昌县| 桑日县| 滦南县| 吉水县| 东兰县| 工布江达县| 三河市| 塘沽区| 陵水| 新河县| 环江| 永仁县| 乡城县| 周至县| 云南省| 楚雄市| 屯昌县| 进贤县| 瓦房店市| 黔西县| 濮阳县| 宝坻区| 江门市| 凤翔县| 芜湖市| 水富县| 伊春市| 泌阳县| 武胜县| 堆龙德庆县| 丰县| 永济市|