基于嵌入式的無線條碼掃描儀系統(tǒng)的設(shè)計
1 引 言
條碼技術(shù)是自動識別技術(shù)中最成熟,也是應(yīng)用最廣泛和最成功的技術(shù)。條碼技術(shù)為快速準(zhǔn)確的數(shù)據(jù)采集、數(shù)據(jù)錄入提供了有效、可靠的手段,他與計算機、網(wǎng)絡(luò)通訊等一起構(gòu)成了商業(yè)自動化的基礎(chǔ)。條碼符號制作容易,掃描操作簡單易行,信息采集速度快,采集信息量大,設(shè)備結(jié)構(gòu)簡單,成本低。因此在大型超市和物流系統(tǒng)中有著廣泛的運用。
傳統(tǒng)的在線采集終端與計算機之間由連接傳輸數(shù)據(jù),不能脫機使用。因此,在線式數(shù)據(jù)采集終端必須安裝在固定的位置,并且需把帶條碼符號的物品拿到掃描器前閱讀。由于在線式數(shù)據(jù)采集終端在使用距離上有一定的限制,使其不能應(yīng)用在需要脫機使用的場合,如較大新盤點,大件物品的掃描等。為了彌補在線式數(shù)據(jù)采集終端的不足之處,無線數(shù)據(jù)采集終端應(yīng)運而生。而目前市面上的無線條碼掃描儀傳輸距離一般為30~的范圍內(nèi)。本系統(tǒng)所設(shè)計的基于嵌入式的無線條碼掃描儀,傳送距離可達800 m,并且系統(tǒng)本身具有一定的數(shù)據(jù)處理功能,很大程度上提高了無線條碼掃描的距離,增強了系統(tǒng)的功能。
2 系統(tǒng)設(shè)計
整個嵌入式無線條碼掃描系統(tǒng)由3部分組成,一是數(shù)據(jù)采集與發(fā)射裝置,主要由和芯片構(gòu)成;二是數(shù)據(jù)接收和終端,由為核心構(gòu)成的接收電路,并由進行數(shù)據(jù)處理和與終端主機進行數(shù)據(jù)傳輸;三是HOST主機數(shù)據(jù)庫管理系統(tǒng),對收集到的條碼數(shù)據(jù)進行管理。
2.1 系統(tǒng)硬件構(gòu)成
系統(tǒng)總體結(jié)構(gòu)框圖如圖1所示。
系統(tǒng)工作原理如下:條碼掃描儀讀取條碼信息,通過條碼掃描儀自帶的USB接口,和嵌入式接收裝置連接并傳輸數(shù)據(jù)。將接收的數(shù)據(jù)通過串口送給,ADF7020再通過無線網(wǎng)絡(luò)發(fā)給設(shè)備。與HOST連接的裝置接收到數(shù)據(jù)后,將數(shù)據(jù)通過串口傳到HOST主機,由主機上的應(yīng)用數(shù)據(jù)系統(tǒng)對數(shù)據(jù)進行處理。
2.2 主要芯片介紹
本系統(tǒng)所使用的主要芯片分別是公司的LPC2142 ARM嵌入式芯片和ADI公司ADF7020芯片。
2.2.1 LPC2142芯片介紹
LPC2142是基于一個支持實時仿真和嵌入式跟蹤的32/16位—S CPU的微控制器,并帶有32kB和512 kB嵌入的高速存儲器。128位寬的存儲器接口和獨特的加速結(jié)構(gòu)使32位代碼能夠在最大時鐘速率下運行。對代碼規(guī)模有嚴(yán)格控制的應(yīng)用可使用16位Thumb模式將代碼規(guī)模降低超過30%,而性能的損失卻很小。
較小的封裝和很低的功耗使LPC2142特別適用于訪問控制POS機等小型應(yīng)用中;由于內(nèi)置了寬范圍的串行通信接口(從USB 2.0全速器件、多個,SPI,SSP到I2C總線)和8~40kB的片內(nèi),他們也非常適合于通信網(wǎng)關(guān)、協(xié)議轉(zhuǎn)換器、軟、語音識別、低端成像,為這些應(yīng)用提供大規(guī)模的緩沖區(qū)和強大的處理功能。多個32位器、1個或2個10位ADC,10位DAC,,PWM通道、45個高速GPIO以及多達9個邊沿或電平觸發(fā)的外部中斷管腳,使他們特別適用于工業(yè)控制和醫(yī)療系統(tǒng)。LPC2142是屬于工業(yè)級的應(yīng)用芯片,其工作溫度為-40~+85℃,具有最優(yōu)化的消耗,特別適合運用在小型手持系統(tǒng)之中。
在本系統(tǒng)運用中,LPC2142起到2個作用,在數(shù)據(jù)采集與發(fā)射裝置端,其作用是通過,接收條碼掃描儀的掃描信息,并將其存儲在自帶的存儲器中,最后數(shù)據(jù)傳送到發(fā)射模塊。在數(shù)據(jù)接收和終端端,他的作用是接收從接收模塊輸送來的數(shù)據(jù),并通過其接口電路將數(shù)據(jù)傳輸?shù)浇K端主機。
2.2.2 ADF7020芯片介紹
ADF7020是ADI公司的產(chǎn)品,是一種低功耗,低IFISM頻段收發(fā)器,工作在433 MHz,868 MHz和915 MHz,電壓2.3~3.6 V,可編輸出功率從-16~13 dBm,1 kb/sFSK模式的接收靈敏度為-117.5 dBm或9.6 kb/s的-110.5 dBm,接收模式的功率為20 mA,10 dBm輸出的發(fā)送模式的功率為30 mA,特性包括VCO,分?jǐn)?shù)N PLL,片內(nèi)7位ADC,數(shù)字接收信號強度指示(),溫度以及全自動AFC回路,關(guān)斷模式的電流小于1μA,在信號良好的情況下,傳輸距離可達800 m。在低成本數(shù)據(jù)傳輸器,遙控/安全系統(tǒng),無線測量和無鍵盤輸入方面有很大的應(yīng)用前景。
在本系統(tǒng)中,ADF7020是無線數(shù)據(jù)通信模塊的主要芯片,利用芯片本身集成的射頻、濾波、放大、數(shù)字信號處理的模塊,搭建收發(fā)一體的無線通信模塊。由于芯片無線通信距離遠(yuǎn)及其高度的集成化,使得無線模塊電路設(shè)計簡單,調(diào)試方便,系統(tǒng)工作也更穩(wěn)定。
2.3 主要電路介紹
本系統(tǒng)硬件電路分為3個部分:條碼掃描儀和LPC2142之間的數(shù)據(jù)傳輸接口;數(shù)據(jù)電路;LPC2142和終端主機之間的接口電路,本系統(tǒng)采用串口與主機進行數(shù)據(jù)通訊。
主要電路的設(shè)計介紹如下:
2.3.1 條碼接收電路
目前絕大多數(shù)條碼掃描儀的數(shù)據(jù)接口有USB和串口2種形式,USB接口數(shù)據(jù)傳輸速度快和安裝簡單的優(yōu)點。在系統(tǒng)設(shè)計中,我們采用USB接口的掃描儀。條碼掃描儀讀取條碼信息后,通過USB將條碼信息傳送入LPC2142,LPC2142接收到條碼信息后,驅(qū)動無線模塊將數(shù)據(jù)發(fā)送出去。
LPC2142帶有USB設(shè)備控制器,他由寄存器接口、串行接口引擎、端點緩沖存儲器和DMA控制器組成。串行接口引擎對USB數(shù)據(jù)流進行譯碼,并將數(shù)據(jù)寫入相應(yīng)的端點緩沖存儲器。通過該控制器直接與USB接口的設(shè)備相連,其連接2所示。
2.3.2 無線收發(fā)模塊電路
ADF7020芯片集成了完整的無線收發(fā)電路。在接收模式下,相當(dāng)于一個傳統(tǒng)的超外差接收器,RF(射頻)輸入信號通過從RFIN管腳引出的,經(jīng)LNA(低噪聲)放大后翻轉(zhuǎn)進入混頻器,通過混頻器混頻產(chǎn)生IF(中頻)信號。在IF處理階段,該信號在送入解調(diào)器前被放大和濾波。解調(diào)后從引腳DATA I/O輸出解調(diào)數(shù)字信號,解調(diào)信號的同步由芯片提供的時鐘信號完成。
ADF7020芯片自帶SDATA、/O兩個串行接口實現(xiàn)數(shù)據(jù)收發(fā)功能,能夠與多種(MSC51,ARM,AVR,PIC等)直接兼容連接。在本系統(tǒng)中,LPC2142和ADF7020無線收發(fā)模塊之間通過串口相連,采用芯片進行電平轉(zhuǎn)換。具體電路如圖3所示。
3 系統(tǒng)軟件設(shè)計
系統(tǒng)軟件設(shè)計包括USB的驅(qū)動和基于USB的數(shù)據(jù)傳輸,無線數(shù)據(jù)的收發(fā),終端主機上數(shù)據(jù)庫應(yīng)用程序的開發(fā)。
3.1 USB的驅(qū)動和基于USB的數(shù)據(jù)傳輸
本系統(tǒng)的USB通信采用標(biāo)準(zhǔn).O協(xié)議,與USB控制器之間12 Mb/s的數(shù)據(jù)傳輸。該軟件編程是用C語言實現(xiàn)的,通信過程主要包括2部分:并口數(shù)據(jù)的采集和初始化。
并口數(shù)據(jù)的采集是通過輪詢的方式來進行的。在系統(tǒng)上電后,LPC2142掃描USB端口,當(dāng)條碼掃描儀準(zhǔn)備工作,發(fā)送請求接收數(shù)據(jù)信號時,LPC2142接收到信號后,則從條碼掃描儀的數(shù)據(jù)端口將并口數(shù)據(jù)讀出。利用LPC2142芯片自帶的串行接口引擎對USB數(shù)據(jù)流進行譯碼,并將數(shù)據(jù)寫入相應(yīng)的端點緩沖存儲器。在從條碼掃描儀向LPC2142進行數(shù)據(jù)傳輸過程中,LPC2142向條碼掃描儀發(fā)送一個IN令牌,在條碼掃描儀接收到令牌后對數(shù)據(jù)進行響應(yīng)。
初始化過程分2部分:ARM芯片的初始化和條碼掃描儀的初始化。ARM芯片的初始化過程就是直接向相應(yīng)的I/O口寫初始化值及設(shè)置看門狗,調(diào)用函數(shù)_()實現(xiàn)設(shè)置看門狗。條碼掃描儀的初始化包含以下一些步驟:獲取設(shè)備描述符、設(shè)置條碼掃描儀USB地址、獲取配置描述符、加載USB配置值、發(fā)送數(shù)據(jù)接收符。
3.2 無線數(shù)據(jù)的收發(fā)
無線數(shù)據(jù)收發(fā)軟件設(shè)計,首先是在LPC2142接收到條碼掃描儀發(fā)送的數(shù)據(jù)后,發(fā)送一個信號給無線發(fā)送模塊,兩模塊之間的連接是采用RS 232轉(zhuǎn)接器來實現(xiàn),在接收到LPC2142的發(fā)送信號后,無線模塊返回接收信號,并打開RS 232轉(zhuǎn)接器,LPC2142接收到信號后,發(fā)送數(shù)據(jù)到收發(fā)模塊,收發(fā)模塊具有接收和發(fā)送的功能,在軟件的控制下實現(xiàn)數(shù)據(jù)收發(fā)。
3.3 數(shù)據(jù)庫應(yīng)用程序
本系統(tǒng)可為中、小型規(guī)模企業(yè)用戶提供完整的業(yè)務(wù)管理和物料管理方案。他能徹底改善企業(yè)庫房管理不暢、貨物調(diào)配不及時、查詢繁瑣、庫管人員太忙等不良工作狀況。本系統(tǒng)數(shù)據(jù)庫系統(tǒng)包含:基礎(chǔ)檔案、系統(tǒng)管理、庫存業(yè)務(wù)管理、查詢等模塊。具體框圖如圖4所示。
4 結(jié)語
本文提出了一種基于嵌入式無線條碼掃描儀的方案,并提出由ADF7020芯片構(gòu)成的無線收發(fā)模塊。系統(tǒng)能保證遠(yuǎn)距離數(shù)據(jù)通訊的可靠性,具有功能齊全、系統(tǒng)擴展靈活、性能/價格比高等特點。以嵌入式為基礎(chǔ)的無線條碼掃描儀系統(tǒng),具有很大的實現(xiàn)性,在倉管、超市、圖書、郵件等物品流通行業(yè)更有其優(yōu)勢。