專用條形碼無(wú)線掃描器設(shè)計(jì)
在當(dāng)今工業(yè)社會(huì)向信息社會(huì),工業(yè)經(jīng)濟(jì)向知識(shí)經(jīng)濟(jì)發(fā)展過(guò)程中,自動(dòng)識(shí)別技術(shù)正發(fā)揮著越來(lái)越重要的作用。在需要物品識(shí)別,數(shù)據(jù)掃描,信息登陸的業(yè)務(wù)領(lǐng)域,使用自動(dòng)識(shí)別技術(shù),可提高對(duì)物品及相關(guān)信息進(jìn)行管理的效率和可靠性。條碼數(shù)據(jù)掃描器正是為此設(shè)計(jì)的。
本無(wú)線掃描器以單片機(jī)mPSD3254BV 為核心,通過(guò)掃描子系統(tǒng)可以掃描一維或二維條型碼,鍵盤和顯示系統(tǒng)方便用戶進(jìn)行人機(jī)交流,無(wú)線傳送模塊可以將現(xiàn)場(chǎng)采集到的數(shù)據(jù)發(fā)送到其它設(shè)備,同時(shí)本掃描器也能存儲(chǔ)上萬(wàn)條數(shù)據(jù)信息,整個(gè)系統(tǒng)采用鋰電池供電,可以連續(xù)工作40小時(shí),當(dāng)采集數(shù)據(jù)異常狀態(tài)時(shí),系統(tǒng)會(huì)自動(dòng)蜂鳴,振動(dòng)提醒用戶。系統(tǒng)結(jié)構(gòu)如圖1如示。
圖1 系統(tǒng)結(jié)構(gòu)框圖
硬件設(shè)計(jì)
系統(tǒng)的主控制芯片選用SoC單片機(jī)mPSD3254BV。mPSD3200單片機(jī)是ST公司將51內(nèi)核與PSD(可編程系統(tǒng)器件)模塊組合在一起的一款典型的SoC芯片。它在一塊芯片中集成了8052的內(nèi)核,擴(kuò)展了I/O端口PA~PD,增加了I2C、USB、PWM、ADC等功能部件和二個(gè)UART接口,還增加了PLD(可編程邏輯器件)的功能;同時(shí)片內(nèi)包括兩塊大容量的FLASH存儲(chǔ)塊和SRAM存儲(chǔ)器,并可根據(jù)實(shí)際需要將其配置為數(shù)據(jù)存儲(chǔ)器或者程序存儲(chǔ)器來(lái)使用。
電源模塊
電源模塊由兩部分組成,1AH的鋰電池和電源穩(wěn)壓芯片MAX604。MAX604芯片是一種低壓差、低功耗線性穩(wěn)壓器,用來(lái)保證系統(tǒng)工作電壓的穩(wěn)定。鋰電池隨著使用時(shí)間的增加,電量將會(huì)逐漸降低,不能有效保證系統(tǒng)穩(wěn)定工作。因此在鋰電池后端加一片MAX604,電壓始終穩(wěn)定在3.3V。
MAX604芯片上的OFF端,可以用來(lái)控制穩(wěn)壓芯片是否輸出電壓。當(dāng)OFF端上是高電平“1”時(shí),該模塊就有輸出電壓;當(dāng)OFF端上是低電平“0”時(shí),該模塊就無(wú)輸出電壓。本系統(tǒng)利用這一個(gè)特性,實(shí)現(xiàn)電源的開關(guān)和休眠的喚醒。其硬件原理圖如圖2所示。
圖2 電源控制電路
充電模塊
充電模塊是用來(lái)在電池的電量不足的情況下,及時(shí)的對(duì)電池進(jìn)行充電。
鋰電池的電量參數(shù)為:正常情況下電壓是3.6V,電壓低于2.5V時(shí),就要對(duì)電池進(jìn)行充電,充電最高電壓可以達(dá)到4.1V。在系統(tǒng)中要實(shí)時(shí)檢測(cè)電池電壓,當(dāng)電池電壓過(guò)低時(shí),能及時(shí)提醒用戶充電,以防止電池電壓過(guò)低繼續(xù)使用時(shí),損壞電池。本設(shè)計(jì)采用LM317元件構(gòu)成恒流源充電方式的電路,在充電過(guò)程實(shí)時(shí)檢測(cè)電池電壓,當(dāng)電池充滿時(shí),能自動(dòng)切斷電源,以防止電池過(guò)充而損壞。充電電源的開關(guān)采用MOS管控制,從而避免了用繼電器開關(guān)時(shí)火花的產(chǎn)生,使掃描器達(dá)到防爆設(shè)計(jì)的要求。
無(wú)線數(shù)據(jù)傳輸模塊
無(wú)線傳輸模塊采用STR-11微功率無(wú)線數(shù)據(jù)傳輸模塊。該無(wú)線模塊具有接收發(fā)射合一、體積小、外圍器件少,內(nèi)置天線,可直接與MCU串口相接等優(yōu)點(diǎn),本掃描器使用了mPSD3200單片機(jī)的一個(gè)TTL串行口直接控制這一無(wú)線傳輸模塊,平時(shí)該模塊處于休眠狀態(tài),當(dāng)有無(wú)線傳送請(qǐng)求時(shí),單片機(jī)用一個(gè)IO信號(hào)將其激活,響應(yīng)無(wú)線傳送請(qǐng)求。
條碼掃描模塊
系統(tǒng)選擇的條碼掃描器件是SE-923 II類激光掃描引擎。該掃描引擎體積小、重量輕、亮度明亮、掃描速度最快。該激光掃描器具有功耗低、掃描速度快、精度高、自動(dòng)識(shí)別等一維條碼標(biāo)致等特點(diǎn)。
本掃描器使用了mPSD3200單片機(jī)用的另一個(gè)TTL串行口直接與掃描模塊通訊,用戶通過(guò)按鍵來(lái)觸發(fā)掃描,掃描模塊把一維或二維碼的信息通過(guò)串口發(fā)到單片機(jī)。掃描模塊在掃描不成功時(shí)給單片機(jī)發(fā)送錯(cuò)誤的聲音提示;在長(zhǎng)時(shí)間不進(jìn)行掃描時(shí),掃描模塊自動(dòng)轉(zhuǎn)入休眠狀態(tài),以減少功耗。
鍵盤輸入模塊
本掃描器共設(shè)計(jì)28個(gè)按鍵;將mPSD3200單片機(jī)的PA,PB口設(shè)置成普通的I/O接口以構(gòu)成一個(gè)行列式鍵盤矩陣。將PA0~6設(shè)置為七根列線,PB0~3設(shè)置為四根行線,并將PA7設(shè)置成邏輯輸入。用PA7口來(lái)檢測(cè)列線上是否有鍵按下。當(dāng)檢測(cè)到有鍵按下時(shí),PA7向CPU申請(qǐng)中斷,由CPU來(lái)判斷具體是哪個(gè)鍵。具體電路如圖3所示。
圖3 鍵盤控制電路
LCD顯示模塊
本掃描器顯示液晶屏采用KS0741芯片,該芯片本身自帶驅(qū)動(dòng)模塊,驅(qū)動(dòng)模塊與CPU的接口有串行或并行兩種控制方式,本掃描器采用并行控制方式。該液晶屏功耗較低,工作電流僅為毫安級(jí)。它可以顯示文字與圖片,該液晶屏最多可以顯示8×16個(gè)漢字。能為用戶顯示各種信息。
報(bào)警提示模塊
報(bào)警提示模塊主要負(fù)責(zé)掃描器的聲音與振動(dòng)提示。當(dāng)條型碼掃描器掃描結(jié)束或出錯(cuò)時(shí),掃描器會(huì)給出相應(yīng)的聲音或振動(dòng)提示。發(fā)聲器件采用壓電式蜂鳴器,該蜂鳴器采用推挽式電路驅(qū)動(dòng),當(dāng)加載不同頻率的方波時(shí),能發(fā)出不同的聲音。振動(dòng)器件是采用紐扣式電機(jī),該電機(jī)采用三極管驅(qū)動(dòng),當(dāng)三極管導(dǎo)通時(shí)紐扣式電機(jī)振動(dòng),從而能在聲音嘈雜的環(huán)境下通過(guò)掃描器的振動(dòng)來(lái)提示用戶。
結(jié)語(yǔ)
本掃描器系統(tǒng)硬件設(shè)計(jì)已通過(guò)測(cè)試,將掃描器與相應(yīng)的系統(tǒng)軟件程序配合運(yùn)行,即可實(shí)現(xiàn)條碼掃描、數(shù)據(jù)無(wú)線傳送、按鍵輸入、LCD顯示和報(bào)警提示等功能。
本掃描器不僅可以本地存儲(chǔ)上萬(wàn)條信息,還可以通過(guò)無(wú)線傳輸或RS-232串行口與計(jì)算機(jī)進(jìn)行通訊,方便了用戶對(duì)信息進(jìn)行數(shù)據(jù)管理的要求。
參考文獻(xiàn):
1. 金之城、李德領(lǐng)、馬潮,mPSD32XX高速SOC51單片機(jī)原理及應(yīng)用,清華大學(xué)出版社,2005.1-52
2. 吳少軍、劉光斌,實(shí)用低功耗設(shè)計(jì),人民郵電出版社 2003,33-91