陳暑生 馬國(guó)欣 曾駿君 陸聰 袁玲
(1.華南理工大學(xué) 自動(dòng)化科學(xué)與工程學(xué)院 2.華南理工大學(xué) 電子與信息學(xué)院)
盲人識(shí)字輔助系統(tǒng)由盲人顯示器、智能語(yǔ)音發(fā)聲裝置、SD卡存儲(chǔ)等模塊組成。
盲人顯示器是系統(tǒng)的核心組成部件,包括二維運(yùn)動(dòng)控制系統(tǒng)、顆粒物掉落控制裝置、步進(jìn)電機(jī)驅(qū)動(dòng)電路等組成。通過控制顆粒物掉落裝置在二維平面內(nèi)運(yùn)動(dòng),當(dāng)某像素點(diǎn)處有字跡時(shí),打開顆粒物掉落裝置的閥門,令顆粒落下,即形成突起,供盲人觸摸,達(dá)到盲人識(shí)字的功能。
盲人識(shí)字輔助系統(tǒng)各部分的功能如下:
(1) 二維運(yùn)動(dòng)控制系統(tǒng)是顯示器最重要的部分。通過分別控制兩個(gè)維上的步進(jìn)電機(jī),使顆粒物掉落裝置能夠做二維平面上的運(yùn)動(dòng),作為各個(gè)基本像素點(diǎn)。
(2) 顆粒物掉落裝置完成最終的文字突起的任務(wù)。當(dāng)確認(rèn)某像素點(diǎn)位置有字跡時(shí),打開閥門,令顆粒物落下。
(3) 步進(jìn)電機(jī)驅(qū)動(dòng)電路。用來驅(qū)動(dòng)二維運(yùn)動(dòng)平臺(tái)上的步進(jìn)電機(jī)。
(4) 智能語(yǔ)音發(fā)聲裝置實(shí)現(xiàn)發(fā)聲輔助,達(dá)到真正意義上的同步。當(dāng)盲人觸摸顯示器上的盲文時(shí),將文字的發(fā)聲讀出,幫助記憶、學(xué)習(xí)。
(5) SD卡用來存儲(chǔ)盲文字庫(kù)及學(xué)習(xí)文檔。
(6) 顆粒物鎖存裝置,利用薄膜將顯示形成顆粒物鎖住,以確保盲人在觸摸顯示器的時(shí)候不至于將顆粒物移動(dòng)。
(7) 顆粒物回收設(shè)備,用于每次顯示完之后的顆粒物清除及回收,以方便下一次顯示。其原理是,由電機(jī)控制一個(gè)與顯示面板直接接觸的毛刷進(jìn)行運(yùn)動(dòng),將顆粒物推入回收溝槽。
盲人識(shí)字輔助系統(tǒng)結(jié)構(gòu)圖如圖1所示。

圖1 盲人識(shí)字輔助系統(tǒng)結(jié)構(gòu)圖
盲人顯示器硬件結(jié)構(gòu)如圖2所示。

圖2 盲人顯示器硬件結(jié)構(gòu)圖
盲人顯示器由兩個(gè)步進(jìn)電機(jī)分別控制滑塊在水平面上做二維運(yùn)動(dòng)。X方向電機(jī)3上的齒輪帶動(dòng)齒條4直接完成一維運(yùn)動(dòng),其中1為X方向滑動(dòng)導(dǎo)軌,在電機(jī)3作用下滑塊2可以作X方向的運(yùn)動(dòng);Y軸方向上,滑塊2上固定著電機(jī)6及蝸桿7,當(dāng)電機(jī)6帶動(dòng)蝸桿7轉(zhuǎn)動(dòng)時(shí),會(huì)推動(dòng)滑片8使得滑塊5做Y方向上的運(yùn)動(dòng)[1]。滑塊5的Y方向滑動(dòng)導(dǎo)軌忽略未畫出,滑塊5上安裝著顆粒物掉落裝置9,下文將作詳細(xì)介紹。兩電機(jī)配合,可控制滑塊到達(dá)二維平面上的任意位置,精度由電機(jī)決定。
顆粒物掉落裝置結(jié)構(gòu)圖如圖3所示。滑塊上5設(shè)有顆粒物掉落裝置,由顆粒物錐型容器13、步進(jìn)電機(jī) 10、滑片 12等組成。當(dāng)滑片12移開容器口,相當(dāng)于閥門打開,則顆粒物向下漏下,形成文字突起[1]。滑片 12固定于電機(jī)10的軸上,可隨之旋轉(zhuǎn),即閥門的打開及關(guān)閉通過控制步進(jìn)電機(jī)左右轉(zhuǎn)動(dòng)即可。

圖3 顆粒物掉落裝置結(jié)構(gòu)圖
目前的語(yǔ)音合成技術(shù)比較發(fā)達(dá),出現(xiàn)了一些語(yǔ)音合成芯片,只需通過串口將單字或詞語(yǔ)的編號(hào)通過串口打進(jìn)去,即可完成發(fā)音,非常方便。
本系統(tǒng)中,我們采用了SYN6288芯片。SYN6288語(yǔ)音合成芯片的特點(diǎn):SYN6288通過異步串口(UART)通訊方式,接收待合成的文本數(shù)據(jù),實(shí)現(xiàn)文本到語(yǔ)音(或TTS語(yǔ)音)的轉(zhuǎn)換;支持GB2312、GBK、BIG5和UNICODE內(nèi)碼格式的文本;具有智能的文本分析處理算法,可正確識(shí)別數(shù)值、號(hào)碼、時(shí)間日期及常用的度量衡符號(hào)。
語(yǔ)音發(fā)聲模塊及外圍原理圖如圖4所示,通過串口引腳直接與單片機(jī)連接,無需電平轉(zhuǎn)換。
本系統(tǒng)中,SD卡用于存儲(chǔ)盲文字庫(kù)或盲人希望閱讀的圖像及文檔。
SD卡有兩個(gè)可選的通信協(xié)議:SD模式、SPI模式。SD模式是SD卡標(biāo)準(zhǔn)的讀寫方式,但是在選用SD模式時(shí),往往需要選擇帶有SD卡控制器接口的MCU,或者必須加入額外的 SD卡控制單元以支持SD卡的讀寫[2]。由于單片機(jī)上有 SPI接口,在 SPI模式下,通過四條信號(hào)線就可以完成所有的數(shù)據(jù)交換,因此選用SPI模式進(jìn)行通信。SD卡模塊原理圖如圖5所示。

圖4 SYN6288語(yǔ)音模塊電路圖

圖5 SD卡模塊原理圖
本系統(tǒng)中,使用L297+L298作為兩相雙極性的步進(jìn)電機(jī)驅(qū)動(dòng)電路,它采用定電流方式驅(qū)動(dòng),每相電流峰值可達(dá)2A。L297是步進(jìn)電機(jī)控制器,用來產(chǎn)生兩相雙極性驅(qū)動(dòng)信號(hào)(A、B、C、D),同時(shí)可進(jìn)行電機(jī)電流值設(shè)定。L298用來驅(qū)動(dòng)步進(jìn)電機(jī)的電力輸出,是雙全橋連接方式驅(qū)動(dòng),由于電機(jī)線圈完全利用,使步進(jìn)電機(jī)可以到達(dá)最佳的驅(qū)動(dòng)[3]。驅(qū)動(dòng)原理圖如圖 6所示,其中CW/CCW、CLOCK、ENABLE與單片機(jī)引腳相連,分別控制正反轉(zhuǎn)、提供脈沖時(shí)鐘及使能。
ATmega32是基于增強(qiáng)的AVR RISC結(jié)構(gòu)的低功耗8位CMOS微控制器。由于其先進(jìn)的指令集以及單時(shí)鐘周期指令執(zhí)行時(shí)間,ATmega32的數(shù)據(jù)吞吐率高達(dá)1 MIPS/MHz,從而可以緩減系統(tǒng)在功耗和處理速度之間的矛盾。AVR 內(nèi)核具有豐富的指令集和32個(gè)通用工作寄存器。所有的寄存器都直接與運(yùn)算邏輯單元(ALU) 相連接,使得一條指令可以在一個(gè)時(shí)鐘周期內(nèi)同時(shí)訪問兩個(gè)獨(dú)立的寄器。這種結(jié)構(gòu)大大提高了代碼效率,并且具有比普通的CISC 微控制器高至10倍的數(shù)據(jù)吞率[4]。

圖6 步進(jìn)電機(jī)驅(qū)動(dòng)原理圖
盲人顯示器中,軟件程序設(shè)計(jì)主要針對(duì)二維運(yùn)動(dòng)控制及顆粒物掉落裝置上的閥門打開及關(guān)閉控制。
二維運(yùn)動(dòng)控制采用先行掃描,后列掃描的方式。由于本系統(tǒng)中顆粒物掉落裝置上的閥門的控制也采用步進(jìn)電機(jī)來實(shí)現(xiàn),因此閥門的打開與關(guān)閉實(shí)際上也是控制步進(jìn)電機(jī)轉(zhuǎn)過小角度,只是轉(zhuǎn)動(dòng)的方向不同。具體控制流程如圖7所示。
步進(jìn)電機(jī)的控制,程序僅需控制方向及時(shí)鐘脈沖,高低電平各代表一種轉(zhuǎn)動(dòng)方向,每接受一個(gè)脈沖電機(jī)走一步,即1.8度[3]。
當(dāng)需要令SYN6288語(yǔ)音合成芯片發(fā)出文字讀音時(shí),應(yīng)使單片機(jī)通過串口發(fā)送特定格式的數(shù)據(jù)包。數(shù)據(jù)包的格式如下,主要是一些約定的字節(jié)以及后續(xù)需要發(fā)音的文字文本。
數(shù)據(jù)格式具體如下:

SD卡的數(shù)據(jù)寫入是以塊為單位,每塊為512字節(jié),由于單片機(jī)片上RAM是2K,可以通過建立一個(gè)512字節(jié)的臨時(shí)緩存數(shù)組,將數(shù)組一次性寫入SD卡,滿足要求[4]。每讀出512字節(jié)數(shù)據(jù)后,根據(jù)需要將其處理后用來控制盲人顯示器及語(yǔ)音發(fā)聲模塊。
系統(tǒng)開機(jī)初始化后,讀取當(dāng)前SD卡內(nèi)容,控制盲人顯示器將文字顯示出來,供盲人觸摸,并將該文字的讀音發(fā)出。通過簡(jiǎn)單的按鍵操作,可以由盲人自行控制上下翻頁(yè),以及文字重復(fù)語(yǔ)音播放等。主程序流程圖如圖8所示。

圖7 盲人顯示器工作流程

圖8 主程序工作流程圖
本盲人識(shí)字輔助系統(tǒng)可以幫助盲人識(shí)字,核心部分在于盲人顯示器,即盲文字跡突起的實(shí)現(xiàn);配合智能語(yǔ)音發(fā)聲模塊,可以在盲人觸摸盲文的同時(shí),將對(duì)應(yīng)的發(fā)音報(bào)出,達(dá)到語(yǔ)音及盲文的絕對(duì)同步,真正實(shí)現(xiàn)無人看守。同時(shí),利用SD的海量存儲(chǔ)容量,可以將盲文字庫(kù)及相關(guān)文檔存入其中,更加便捷,同時(shí)方便資料更新。本系統(tǒng)將在盲人識(shí)字等相關(guān)領(lǐng)域發(fā)揮較為重要的作用,同時(shí),系統(tǒng)所涉及的各項(xiàng)技術(shù)有著廣闊的背景,稍加改造可以應(yīng)用于其它領(lǐng)域。
[1]張振東. 智能交通系統(tǒng)概述及國(guó)內(nèi)外發(fā)展?fàn)顩r[J],科學(xué)之友,2010,09:97-99.
[2]李萬周. 多種類采集設(shè)備的交通數(shù)據(jù)信息融合與應(yīng)用[J],中國(guó)交通信息產(chǎn)業(yè),2006,04:76-78.
[3]黃美靈,譚偉等.城市交通信息發(fā)布系統(tǒng)的設(shè)計(jì)與開發(fā)[J],重慶交通大學(xué)學(xué)報(bào)(自然科學(xué)版),2010.29(4):616-619.
[4]王春波,張衛(wèi)東,許曉鳴. 計(jì)算機(jī)視覺技術(shù)在智能交通系統(tǒng)中的應(yīng)用[J], 測(cè)控技術(shù),2000,19(5):22-24.
[5]唐汝磉,錢寒峰.智能交通信息采集中數(shù)據(jù)融合技術(shù)探討,科技咨詢報(bào)[J],2007,26:17-18.