李奕穎, 劉忠富, 曾 黔, 楊清慧, 韓 敏, 李松霖
(大連民族大學(xué) 信息與通信工程學(xué)院, 遼寧 大連116600)
隨著科技的發(fā)展與國(guó)民生產(chǎn)總值的日益提高,大家也越來(lái)越追求生活的質(zhì)量,外出旅行已經(jīng)成為普遍的消遣方式。 因此,研究一種集目前先進(jìn)的自動(dòng)識(shí)別技術(shù)、語(yǔ)音壓縮技術(shù)、數(shù)碼存儲(chǔ)技術(shù)、無(wú)線傳輸技術(shù)于一體的智能導(dǎo)游系統(tǒng)勢(shì)在必行。
本系統(tǒng)主要是應(yīng)用射頻識(shí)別技術(shù)(RFID),通過(guò)射頻信號(hào)自動(dòng)識(shí)別目標(biāo)對(duì)象并獲取相關(guān)數(shù)據(jù),識(shí)別工作無(wú)需人工干預(yù),可工作于各種惡劣環(huán)境。 該技術(shù)具有識(shí)別速度快、數(shù)據(jù)容量大、使用壽命長(zhǎng)、應(yīng)用范圍廣和標(biāo)簽數(shù)據(jù)可動(dòng)態(tài)更改的優(yōu)點(diǎn)。
系統(tǒng)采用射頻原理識(shí)別標(biāo)記對(duì)象,射頻識(shí)別(radio frequency identification,簡(jiǎn)稱(chēng)為RFID)是一種非接觸式的自動(dòng)識(shí)別技術(shù)。 其利用射頻信號(hào)通過(guò)空間耦實(shí)現(xiàn)無(wú)接觸的信息傳遞[1]。 利用無(wú)線收發(fā)模塊實(shí)現(xiàn)數(shù)據(jù)傳遞,STC89C52RC 單片機(jī)為核心處理器進(jìn)行數(shù)據(jù)處理,再將數(shù)據(jù)信息通過(guò)液晶顯示屏顯示,語(yǔ)音模塊進(jìn)行播報(bào),從而實(shí)現(xiàn)景區(qū)智能導(dǎo)游目的。
本景區(qū)智能導(dǎo)游系統(tǒng)主要由三部分組成,分別為微控制單元(MCU)、無(wú)線定位模塊和語(yǔ)音播放模塊。 每個(gè)景區(qū)的信息對(duì)應(yīng)一個(gè)電子標(biāo)簽,而每個(gè)電子標(biāo)簽又分別與無(wú)線定位系統(tǒng)相連[2]。 單片機(jī)作為地址發(fā)射器的控制器,對(duì)無(wú)線模塊進(jìn)行設(shè)置處理,然后地址碼信息被調(diào)制成射頻信號(hào)后發(fā)射。 單片機(jī)對(duì)接收來(lái)的數(shù)據(jù)進(jìn)行處理后,找出與之匹配的語(yǔ)音信息進(jìn)行解碼,語(yǔ)音模塊對(duì)語(yǔ)音信息進(jìn)行處理后,通過(guò)喇叭播放景區(qū)信息,基本上實(shí)現(xiàn)了智能導(dǎo)游功能[3]。 系統(tǒng)總體架構(gòu)如圖1 所示。
系統(tǒng)中微處理器采用STC89C52RC,因其構(gòu)成的最小系統(tǒng)簡(jiǎn)單可靠,只要在其芯片上接時(shí)鐘電路以及復(fù)位電路,最小系統(tǒng)便可以進(jìn)行工作,時(shí)鐘頻率選用12 MHz。
無(wú)線收發(fā)模塊采用nRF24L01 芯片,采用串行外設(shè)接口與MCU 通信。 nRF24L01 集成了所有與RF 協(xié)議相關(guān)的高速信號(hào)處理部分,可自動(dòng)重發(fā)丟失數(shù)據(jù)包、自動(dòng)產(chǎn)生應(yīng)答信號(hào)。 通過(guò)軟件來(lái)調(diào)節(jié)重發(fā)時(shí)間和次數(shù)。 無(wú)線收發(fā)模塊原理如圖2 所示。

圖1 系統(tǒng)總體架構(gòu)Fig.1 System overall design diagram
語(yǔ)音播放模塊選用WT588D 語(yǔ)音芯片,采用PWM 外加喇叭來(lái)進(jìn)行播放。 語(yǔ)音播放停止馬上進(jìn)入休眠模式,芯片轉(zhuǎn)為完全停止?fàn)顟B(tài)。 主控單片機(jī)將從機(jī)發(fā)來(lái)的信息與內(nèi)部數(shù)據(jù)信息進(jìn)行匹配,找到對(duì)應(yīng)景區(qū)的數(shù)據(jù)信息并發(fā)送給語(yǔ)音模塊,并將景區(qū)信息轉(zhuǎn)換成語(yǔ)音通過(guò)喇叭播放出來(lái)。 一個(gè)已加載語(yǔ)音可重復(fù)調(diào)用到多個(gè)地址,單個(gè)地址位最多可加載128 段語(yǔ)音,地址位內(nèi)的語(yǔ)音組合播放,語(yǔ)音播放停止進(jìn)入休眠模式,芯片轉(zhuǎn)為完全停止?fàn)顟B(tài)[4]。 語(yǔ)音模塊原理如圖3 所示。
本設(shè)計(jì)采用LCD1602 作為顯示模塊來(lái)顯示所處景點(diǎn)位置,共可以顯示兩行內(nèi)容,每行16 個(gè)字符。主機(jī)和從機(jī)均設(shè)有液晶屏,用以顯示景區(qū)信息并進(jìn)行數(shù)據(jù)比較分析。 顯示模塊原理如圖4 所示。
單片機(jī)工作時(shí)的電壓為5 V,而語(yǔ)音模塊和無(wú)線模塊的工作電壓為3.3 V。 為了讓系統(tǒng)正常運(yùn)行,需在輸入端加入一個(gè)低功耗的電壓調(diào)節(jié)器LM1117將5 V 電源電壓轉(zhuǎn)換成3.3 V 工作電壓。 為了保證輸出工作電壓精確度在1%左右,需要在模塊增加一個(gè)進(jìn)行齊納調(diào)節(jié)的帶隙基準(zhǔn)電壓。 LM1117 控制電流大小,防止芯片過(guò)熱影響現(xiàn)象[8]。 電源模塊原理如圖5 所示。
主機(jī)模塊即為智能導(dǎo)游器,從機(jī)模塊即為地址發(fā)射器。 關(guān)于主機(jī)模塊的軟件設(shè)計(jì)主要包括無(wú)線接收程序、語(yǔ)音控制程序以及顯示程序三部分,實(shí)現(xiàn)數(shù)據(jù)的接收、處理以及顯示功能。 從機(jī)模塊分為無(wú)線發(fā)送程序和顯示程序兩部分,負(fù)責(zé)作為數(shù)據(jù)的發(fā)送端,帶動(dòng)整個(gè)系統(tǒng)的實(shí)現(xiàn)與運(yùn)作。 從機(jī)將已有的地址信息通過(guò)無(wú)線發(fā)送模塊發(fā)送給主機(jī),主機(jī)的無(wú)線接收模塊對(duì)數(shù)據(jù)進(jìn)行初始化分析處理,然后顯示在液晶屏上,通過(guò)語(yǔ)音模塊播放出來(lái)。

圖2 無(wú)線收發(fā)模塊原理圖Fig.2 Schematic diagram of wireless transceiver module

圖3 語(yǔ)音模塊原理圖Fig.3 Schematic diagram of speech module

圖4 顯示模塊原理圖Fig.4 Schematic diagram of display module

圖5 電源模塊原理圖Fig.5 Schematic diagram of power module
主機(jī)模塊接受來(lái)自從機(jī)模塊的地址信息,經(jīng)過(guò)嚴(yán)格地處理分析實(shí)現(xiàn)語(yǔ)音播報(bào)功能。 主機(jī)模塊系統(tǒng)首先對(duì)無(wú)線接收模塊和LCD1602(顯示模塊)進(jìn)行初始化,完成對(duì)主機(jī)無(wú)線接收模塊的配置。 當(dāng)主函數(shù)進(jìn)入接受模式時(shí),主機(jī)成功接收到新的數(shù)據(jù),Busy值置為1,對(duì)信號(hào)的輸出做出響應(yīng),以判斷從機(jī)發(fā)送過(guò)來(lái)的地址信息。 主機(jī)模塊軟件設(shè)計(jì)如圖6 所示。

圖6 主機(jī)模塊軟件設(shè)計(jì)Fig.6 Software design of host module
2.1.1 nRF24L01 無(wú)線接受模塊設(shè)計(jì)
本設(shè)計(jì)利用串口調(diào)試助手對(duì)無(wú)線模塊進(jìn)行工作模式的選擇,在主機(jī)模塊中,nRF24L01 充當(dāng)接收模塊,實(shí)現(xiàn)地址信息的接收功能。 定時(shí)對(duì)串口進(jìn)行檢測(cè)可實(shí)現(xiàn)系統(tǒng)的低功耗。 系統(tǒng)每隔5s 對(duì)串口進(jìn)行一次檢測(cè),當(dāng)串口無(wú)數(shù)據(jù)接收時(shí),系統(tǒng)自動(dòng)進(jìn)入待機(jī)狀態(tài)。
2.1.2 語(yǔ)音模塊設(shè)計(jì)
語(yǔ)音播報(bào)系統(tǒng)使用上位機(jī)通過(guò)串口發(fā)送數(shù)據(jù)給單片機(jī),以控制WT588D 語(yǔ)音模塊進(jìn)行語(yǔ)音播報(bào)。WT588D 語(yǔ)音模塊采用一線串口控制模式,與單片機(jī)的端口直接相連,向單片機(jī)發(fā)送數(shù)據(jù)。 通過(guò)對(duì)數(shù)據(jù)中傳遞的地址信息進(jìn)行分析處理,直接實(shí)現(xiàn)語(yǔ)音播報(bào)。 語(yǔ)音播報(bào)系統(tǒng)程序運(yùn)行初始化后,通過(guò)串口檢測(cè)上位機(jī)是否發(fā)送數(shù)據(jù),若無(wú)數(shù)據(jù)則繼續(xù)檢測(cè);否則執(zhí)行相應(yīng)的語(yǔ)音播報(bào)功能。 本設(shè)計(jì)中加入延時(shí)函數(shù),設(shè)置不同的電平占空,不同的數(shù)據(jù)位有不同的比例。
2.1.3 顯示模塊設(shè)計(jì)
LCD1602 模塊通過(guò)初始化函數(shù)、寫(xiě)數(shù)據(jù)函數(shù)、寫(xiě)命令函數(shù)、讀形態(tài)函數(shù)以及讀數(shù)據(jù)函數(shù)進(jìn)行驅(qū)動(dòng)。 其初始化包含LCD 的復(fù)位及關(guān)開(kāi)顯示,讀寫(xiě)函數(shù)完成數(shù)據(jù)的處理工作,空閑狀態(tài)檢測(cè)利用讀形態(tài)函數(shù)讀入的形態(tài)BUSY 與RST 均為低電平,即檢測(cè)到LCD 空閑,可寫(xiě)入顯示數(shù)據(jù)。 在顯示地址時(shí),需要先輸入字符地址,即告知在LCD 哪個(gè)位置顯示信息。
從機(jī)的主要任務(wù)是給主機(jī)發(fā)送地址信息。 同主機(jī)一樣,模塊啟動(dòng)時(shí), 需要對(duì)無(wú)線接收模塊、LCD1602 進(jìn)行初始化,經(jīng)過(guò)初始化后完成對(duì)從機(jī)無(wú)線發(fā)送模塊的配置。 在從機(jī)的主函數(shù)中,先對(duì)顯示屏進(jìn)行初始化設(shè)置,默認(rèn)顯示景區(qū)信息。 當(dāng)有主機(jī)靠近從機(jī)的時(shí)候,從機(jī)調(diào)用無(wú)線模塊子函數(shù)向主機(jī)發(fā)送地址信息,從而完成從機(jī)作為地址發(fā)射器的功能。 從機(jī)模塊流程如圖7 所示。
由初始化方式可以看到,接收與發(fā)射的設(shè)置基本一致,只是發(fā)射模式中多了2 個(gè)操作:設(shè)置TX 地址和設(shè)置重發(fā)次數(shù)。 發(fā)射與接收模式的不同體現(xiàn)在CONFIG 寄存器的設(shè)置不同,發(fā)射模式時(shí)寄存器的最后一位需要置0,接收時(shí)置1。

圖7 從機(jī)模塊軟件設(shè)計(jì)Fig.7 Software design of plexus module
本系統(tǒng)在總結(jié)了前人設(shè)計(jì)經(jīng)驗(yàn)的基礎(chǔ)上,將RFID 技術(shù)完美的融合進(jìn)智能導(dǎo)游系統(tǒng),充分發(fā)揮出其在智能定位上的技術(shù)優(yōu)勢(shì),結(jié)合微控制器與其它模塊的連接,將其應(yīng)用到景區(qū)智能導(dǎo)游上,對(duì)旅游業(yè)智能化發(fā)展起到了重要作用。