陳暑生 馬國欣 曾駿君 陸聰 袁玲
(1.華南理工大學 自動化科學與工程學院 2.華南理工大學 電子與信息學院)
盲人識字輔助系統(tǒng)由盲人顯示器、智能語音發(fā)聲裝置、SD卡存儲等模塊組成。
盲人顯示器是系統(tǒng)的核心組成部件,包括二維運動控制系統(tǒng)、顆粒物掉落控制裝置、步進電機驅(qū)動電路等組成。通過控制顆粒物掉落裝置在二維平面內(nèi)運動,當某像素點處有字跡時,打開顆粒物掉落裝置的閥門,令顆粒落下,即形成突起,供盲人觸摸,達到盲人識字的功能。
盲人識字輔助系統(tǒng)各部分的功能如下:
(1) 二維運動控制系統(tǒng)是顯示器最重要的部分。通過分別控制兩個維上的步進電機,使顆粒物掉落裝置能夠做二維平面上的運動,作為各個基本像素點。
(2) 顆粒物掉落裝置完成最終的文字突起的任務(wù)。當確認某像素點位置有字跡時,打開閥門,令顆粒物落下。
(3) 步進電機驅(qū)動電路。用來驅(qū)動二維運動平臺上的步進電機。
(4) 智能語音發(fā)聲裝置實現(xiàn)發(fā)聲輔助,達到真正意義上的同步。當盲人觸摸顯示器上的盲文時,將文字的發(fā)聲讀出,幫助記憶、學習。
(5) SD卡用來存儲盲文字庫及學習文檔。
(6) 顆粒物鎖存裝置,利用薄膜將顯示形成顆粒物鎖住,以確保盲人在觸摸顯示器的時候不至于將顆粒物移動。
(7) 顆粒物回收設(shè)備,用于每次顯示完之后的顆粒物清除及回收,以方便下一次顯示。其原理是,由電機控制一個與顯示面板直接接觸的毛刷進行運動,將顆粒物推入回收溝槽。
盲人識字輔助系統(tǒng)結(jié)構(gòu)圖如圖1所示。
圖1 盲人識字輔助系統(tǒng)結(jié)構(gòu)圖
盲人顯示器硬件結(jié)構(gòu)如圖2所示。
圖2 盲人顯示器硬件結(jié)構(gòu)圖
盲人顯示器由兩個步進電機分別控制滑塊在水平面上做二維運動。X方向電機3上的齒輪帶動齒條4直接完成一維運動,其中1為X方向滑動導軌,在電機3作用下滑塊2可以作X方向的運動;Y軸方向上,滑塊2上固定著電機6及蝸桿7,當電機6帶動蝸桿7轉(zhuǎn)動時,會推動滑片8使得滑塊5做Y方向上的運動[1]?;瑝K5的Y方向滑動導軌忽略未畫出,滑塊5上安裝著顆粒物掉落裝置9,下文將作詳細介紹。兩電機配合,可控制滑塊到達二維平面上的任意位置,精度由電機決定。
顆粒物掉落裝置結(jié)構(gòu)圖如圖3所示?;瑝K上5設(shè)有顆粒物掉落裝置,由顆粒物錐型容器13、步進電機 10、滑片 12等組成。當滑片12移開容器口,相當于閥門打開,則顆粒物向下漏下,形成文字突起[1]?;?12固定于電機10的軸上,可隨之旋轉(zhuǎn),即閥門的打開及關(guān)閉通過控制步進電機左右轉(zhuǎn)動即可。
圖3 顆粒物掉落裝置結(jié)構(gòu)圖
目前的語音合成技術(shù)比較發(fā)達,出現(xiàn)了一些語音合成芯片,只需通過串口將單字或詞語的編號通過串口打進去,即可完成發(fā)音,非常方便。
本系統(tǒng)中,我們采用了SYN6288芯片。SYN6288語音合成芯片的特點:SYN6288通過異步串口(UART)通訊方式,接收待合成的文本數(shù)據(jù),實現(xiàn)文本到語音(或TTS語音)的轉(zhuǎn)換;支持GB2312、GBK、BIG5和UNICODE內(nèi)碼格式的文本;具有智能的文本分析處理算法,可正確識別數(shù)值、號碼、時間日期及常用的度量衡符號。
語音發(fā)聲模塊及外圍原理圖如圖4所示,通過串口引腳直接與單片機連接,無需電平轉(zhuǎn)換。
本系統(tǒng)中,SD卡用于存儲盲文字庫或盲人希望閱讀的圖像及文檔。
SD卡有兩個可選的通信協(xié)議:SD模式、SPI模式。SD模式是SD卡標準的讀寫方式,但是在選用SD模式時,往往需要選擇帶有SD卡控制器接口的MCU,或者必須加入額外的 SD卡控制單元以支持SD卡的讀寫[2]。由于單片機上有 SPI接口,在 SPI模式下,通過四條信號線就可以完成所有的數(shù)據(jù)交換,因此選用SPI模式進行通信。SD卡模塊原理圖如圖5所示。
圖4 SYN6288語音模塊電路圖
圖5 SD卡模塊原理圖
本系統(tǒng)中,使用L297+L298作為兩相雙極性的步進電機驅(qū)動電路,它采用定電流方式驅(qū)動,每相電流峰值可達2A。L297是步進電機控制器,用來產(chǎn)生兩相雙極性驅(qū)動信號(A、B、C、D),同時可進行電機電流值設(shè)定。L298用來驅(qū)動步進電機的電力輸出,是雙全橋連接方式驅(qū)動,由于電機線圈完全利用,使步進電機可以到達最佳的驅(qū)動[3]。驅(qū)動原理圖如圖 6所示,其中CW/CCW、CLOCK、ENABLE與單片機引腳相連,分別控制正反轉(zhuǎn)、提供脈沖時鐘及使能。
ATmega32是基于增強的AVR RISC結(jié)構(gòu)的低功耗8位CMOS微控制器。由于其先進的指令集以及單時鐘周期指令執(zhí)行時間,ATmega32的數(shù)據(jù)吞吐率高達1 MIPS/MHz,從而可以緩減系統(tǒng)在功耗和處理速度之間的矛盾。AVR 內(nèi)核具有豐富的指令集和32個通用工作寄存器。所有的寄存器都直接與運算邏輯單元(ALU) 相連接,使得一條指令可以在一個時鐘周期內(nèi)同時訪問兩個獨立的寄器。這種結(jié)構(gòu)大大提高了代碼效率,并且具有比普通的CISC 微控制器高至10倍的數(shù)據(jù)吞率[4]。
圖6 步進電機驅(qū)動原理圖
盲人顯示器中,軟件程序設(shè)計主要針對二維運動控制及顆粒物掉落裝置上的閥門打開及關(guān)閉控制。
二維運動控制采用先行掃描,后列掃描的方式。由于本系統(tǒng)中顆粒物掉落裝置上的閥門的控制也采用步進電機來實現(xiàn),因此閥門的打開與關(guān)閉實際上也是控制步進電機轉(zhuǎn)過小角度,只是轉(zhuǎn)動的方向不同。具體控制流程如圖7所示。
步進電機的控制,程序僅需控制方向及時鐘脈沖,高低電平各代表一種轉(zhuǎn)動方向,每接受一個脈沖電機走一步,即1.8度[3]。
當需要令SYN6288語音合成芯片發(fā)出文字讀音時,應(yīng)使單片機通過串口發(fā)送特定格式的數(shù)據(jù)包。數(shù)據(jù)包的格式如下,主要是一些約定的字節(jié)以及后續(xù)需要發(fā)音的文字文本。
數(shù)據(jù)格式具體如下:
SD卡的數(shù)據(jù)寫入是以塊為單位,每塊為512字節(jié),由于單片機片上RAM是2K,可以通過建立一個512字節(jié)的臨時緩存數(shù)組,將數(shù)組一次性寫入SD卡,滿足要求[4]。每讀出512字節(jié)數(shù)據(jù)后,根據(jù)需要將其處理后用來控制盲人顯示器及語音發(fā)聲模塊。
系統(tǒng)開機初始化后,讀取當前SD卡內(nèi)容,控制盲人顯示器將文字顯示出來,供盲人觸摸,并將該文字的讀音發(fā)出。通過簡單的按鍵操作,可以由盲人自行控制上下翻頁,以及文字重復語音播放等。主程序流程圖如圖8所示。
圖7 盲人顯示器工作流程
圖8 主程序工作流程圖
本盲人識字輔助系統(tǒng)可以幫助盲人識字,核心部分在于盲人顯示器,即盲文字跡突起的實現(xiàn);配合智能語音發(fā)聲模塊,可以在盲人觸摸盲文的同時,將對應(yīng)的發(fā)音報出,達到語音及盲文的絕對同步,真正實現(xiàn)無人看守。同時,利用SD的海量存儲容量,可以將盲文字庫及相關(guān)文檔存入其中,更加便捷,同時方便資料更新。本系統(tǒng)將在盲人識字等相關(guān)領(lǐng)域發(fā)揮較為重要的作用,同時,系統(tǒng)所涉及的各項技術(shù)有著廣闊的背景,稍加改造可以應(yīng)用于其它領(lǐng)域。
[1]張振東. 智能交通系統(tǒng)概述及國內(nèi)外發(fā)展狀況[J],科學之友,2010,09:97-99.
[2]李萬周. 多種類采集設(shè)備的交通數(shù)據(jù)信息融合與應(yīng)用[J],中國交通信息產(chǎn)業(yè),2006,04:76-78.
[3]黃美靈,譚偉等.城市交通信息發(fā)布系統(tǒng)的設(shè)計與開發(fā)[J],重慶交通大學學報(自然科學版),2010.29(4):616-619.
[4]王春波,張衛(wèi)東,許曉鳴. 計算機視覺技術(shù)在智能交通系統(tǒng)中的應(yīng)用[J], 測控技術(shù),2000,19(5):22-24.
[5]唐汝磉,錢寒峰.智能交通信息采集中數(shù)據(jù)融合技術(shù)探討,科技咨詢報[J],2007,26:17-18.