敖發(fā)祥,高金鳳,楊文珍,吳新麗,趙 維
(浙江理工大學(xué) 機(jī)械與自動(dòng)控制學(xué)院,浙江 杭州 310018)
中國是全世界盲人數(shù)量最多的國家,約占全球盲人總?cè)藬?shù)的21%[1].盲文是專為盲人設(shè)計(jì),靠觸覺感知的文字[2].它由6個(gè)點(diǎn)組成,左側(cè)從上到下為1、2、3點(diǎn),右側(cè)為4、5、6點(diǎn),稱為一方,如圖1所示.國際上,把不認(rèn)識盲文的盲人也稱為文盲.無論是生活還是就業(yè),文盲都受到很大的限制.盲文點(diǎn)顯器是一種將普通文字動(dòng)態(tài)顯示成盲文的機(jī)電設(shè)備,可為盲人提供無障礙且無窮無盡的盲文資源,讓盲人盡情享受讀書的樂趣[3-5].
圖1 盲文點(diǎn)
硬件電路是盲文點(diǎn)顯器控制系統(tǒng)的基礎(chǔ),是動(dòng)態(tài)生成盲文的重要部件.國內(nèi)外學(xué)者開展了相關(guān)研究[6-14],包括電磁式盲文點(diǎn)顯器控制系統(tǒng)[7]、壓電陶瓷式盲文點(diǎn)顯器控制系統(tǒng)[8]、電刺激式盲文顯示控制系統(tǒng)[12]等.利用磁感應(yīng)原理,電磁式盲文點(diǎn)顯器控制系統(tǒng)給電磁線圈通電產(chǎn)生磁力,促使盲文點(diǎn)上下運(yùn)動(dòng),可以動(dòng)態(tài)生成盲文.利用壓電陶瓷形變機(jī)理,壓電陶瓷式盲文點(diǎn)顯器控制系統(tǒng)給壓電陶瓷通正向電壓時(shí),盲文點(diǎn)會(huì)上升,通反向電壓時(shí)盲文點(diǎn)會(huì)下降,它具有響應(yīng)速度快、耗電量低、控制精度高等優(yōu)點(diǎn),但是硬件電路復(fù)雜、制造成本較高[9].電刺激式盲文控制系統(tǒng)采用電極表示盲文點(diǎn)陣,通過脈沖發(fā)生器,在盲文點(diǎn)位所對應(yīng)的電極上生成電子脈沖,盲人手指感受這種電刺激信號來識別盲文,但電刺激會(huì)使指尖產(chǎn)生刺痛感,不適合盲人長期摸讀[12].
電磁式盲文點(diǎn)顯器的觸點(diǎn)空間分布緊湊、觸點(diǎn)數(shù)目多、刷新頻率高,給控制系統(tǒng)的硬件電路提出了很高的要求[14].文獻(xiàn)[15]和[16]都介紹了分層電磁式盲文顯示裝置的研制情況.文獻(xiàn)[7]利用51單片機(jī)開發(fā)盲文點(diǎn)顯裝置的控制系統(tǒng),實(shí)現(xiàn)了對120個(gè)盲文點(diǎn)的獨(dú)立控制.該控制系統(tǒng)存在的問題是硬件電路集成度低,可靠性和穩(wěn)定性不足.為此,本文采用ARM微控制器,開發(fā)一種電磁式盲文點(diǎn)顯器的硬件電路,以期精確且獨(dú)立驅(qū)動(dòng)120個(gè)盲文點(diǎn),動(dòng)態(tài)生成盲文字符,提高硬件的集成度、可靠性和穩(wěn)定性.
硬件電路包括輸入模塊和輸出模塊,如圖2所示.硬件電路的輸入模塊由降壓電路、按鍵電路、外部存儲(chǔ)電路、SD卡(Secure Digital Memory Card)存儲(chǔ)電路和一鍵下載電路組成.硬件電路的輸出模塊由液晶顯示電路、120路功率放大電路和語音播報(bào)電路組成.其輸入模塊和輸出模塊均與中央微控制器(MCU)相連.
圖2 硬件電路結(jié)構(gòu)
硬件電路以STM32F103ZET6芯片作為中央微控制器(又稱主控制芯片),包括復(fù)位電路、時(shí)鐘電路、電源供電和啟動(dòng)模式等[17].其復(fù)位電路主要由按鍵、電阻和電容組成.按鍵的一端接地,另一端接在芯片的復(fù)位引腳RESET上.按鍵每按下一次,RESET與地線相連,即產(chǎn)生瞬間的低電平信號,產(chǎn)生一個(gè)復(fù)位脈沖,由RESET引腳輸出.時(shí)鐘電路有兩個(gè)時(shí)鐘源,一個(gè)是實(shí)時(shí)時(shí)鐘(RTC),晶振為32.769 kHz;另一個(gè)是整個(gè)控制系統(tǒng)時(shí)鐘,晶振為8 MHz.
STM32的啟動(dòng)模式也稱為ISP(Internet Service Provide)程序下載.BOOT0和BOOT1的組合決定了采用的啟動(dòng)模式.一般情況下,ISP程序下載要先啟動(dòng)BootLoader,此時(shí)需要將BOOT1置低電平,BOOT0置高電平.在串口收到相應(yīng)信號后,通過主控芯片,在文件被下載到存儲(chǔ)器中.文件下載結(jié)束后,把BOOT0置低電平并手工啟動(dòng)復(fù)位鍵,主控芯片收到相應(yīng)信號后會(huì)從Flash中啟動(dòng)有關(guān)程序.
STM32F103ZET6芯片工作電壓為3.3 V,而輸入電壓為5 V.因此,本文設(shè)計(jì)了圖3所示的降壓電路.在圖3中,BUTTON為開關(guān)電源,是整個(gè)電路板的開關(guān)按鍵;F1是熔斷器(保險(xiǎn)絲),其額定電流為500 mA,起保護(hù)電路的作用;電容C27的作用是增強(qiáng)降壓電路的穩(wěn)定性;C25和C26為輸出濾波電容.濾波電容的作用是抑制自身(內(nèi)部電路)的刺激振蕩,讓輸出電壓處于穩(wěn)定狀態(tài).
圖3 降壓電路
按鍵電路是盲文顯示裝置必不可少的輸入接口,用于實(shí)現(xiàn)盲文閱讀時(shí)的翻頁、確定和返回等功能,是盲人與盲文顯示裝置的人機(jī)交互樞紐.按鍵電路有4個(gè)按鍵,且在機(jī)械裝置的左右兩端各設(shè)置了上翻及下翻兩個(gè)功能.在圖4所示的按鍵電路中,每個(gè)按鍵都連接在MCU的一個(gè)引腳上.MCU通過檢測按鍵的脈沖,可實(shí)現(xiàn)相應(yīng)的功能.
圖4 按鍵電路
為了對漢字中文庫和盲文字庫進(jìn)行快速讀取與存儲(chǔ),外部存儲(chǔ)采用W25Q64存儲(chǔ)芯片(一種大容量的存儲(chǔ)芯片).其性能方面優(yōu)于其他大部分串行閃存芯片,它擁有64 Mb的存儲(chǔ)空間,最高傳輸速度可達(dá)40 M/s,支持SPI(Serial Peripheral Interface)總線傳輸,同時(shí)只占用主控芯片的4個(gè)引腳,工作電壓為2.7~3.6 V.在設(shè)計(jì)的外部存儲(chǔ)電路(圖5)中,只要將對應(yīng)的引腳相連,就可通過軟件讀取外部Flash芯片.
圖5 外部存儲(chǔ)電路
為了滿足盲人閱讀海量文本的需求,采用SD卡來存儲(chǔ)文本數(shù)據(jù).SD存儲(chǔ)卡具有體積小、傳輸速度快、可熱插拔、容量大等優(yōu)點(diǎn)[18].所設(shè)計(jì)的SD卡存儲(chǔ)電路如圖6所示.在SDIO(Secure Digital Input and Output Card)模式下,主控芯片的內(nèi)部總線自帶了驅(qū)動(dòng)SD卡工作的總線接口,在設(shè)計(jì)SD卡存儲(chǔ)電路時(shí),只要將其接口分別與主控芯片的總線接口對應(yīng)連接在一起,就能夠?qū)D卡進(jìn)行軟件開發(fā).
圖6 SD卡存儲(chǔ)電路
在ISP程序下載時(shí),需要頻繁地?fù)軇?dòng)BOOT0和BOOT1上的跳冒線,這種重復(fù)操作是很繁瑣的.因此,本文設(shè)計(jì)了一鍵下載電路(圖7).
圖7 一鍵下載電路
該電路中USB轉(zhuǎn)串口CH340芯片的主要引腳為RTS和DTR.這兩個(gè)引腳都屬于輸出類型.使用一般的下載工具即可控制CH340的RTS和DTR兩個(gè)引腳的高低電平.通過這兩個(gè)引腳可控制STM32F103ZET6芯片的BOOT0引腳和RESET引腳.
為了方便使用盲文點(diǎn)顯器,本文開發(fā)了液晶顯示電路(圖8).它可以利用液晶屏的顯示方法[19]顯示出中文或盲文.液晶屏可以顯示具有不同功能的菜單選項(xiàng),通過按鍵,可以進(jìn)入不同的菜單,方便地管理和操作SD卡的文件.將LCD(Liquid Crystal Display)當(dāng)作一個(gè)外部存儲(chǔ)器時(shí),可變靜態(tài)存儲(chǔ)控制器(Flexible Static Memory Controller,FSMC)的讀寫時(shí)序和LCD的讀寫時(shí)序很相似.利用FSMC在相應(yīng)地址讀寫相關(guān)數(shù)值時(shí),STM32芯片的FSMC模式會(huì)在硬件上自動(dòng)完成時(shí)序控制.因此,只要設(shè)置好讀寫相關(guān)時(shí)序的寄存器,就可以通過 FSMC完成時(shí)序控制.
圖8 液晶顯示電路
分層電磁式盲文顯示裝置有120個(gè)盲文點(diǎn),需要120個(gè)引腳.主控芯片的大多數(shù)引腳已被SD卡、LCD顯示電路、語音播報(bào)電路以及外圍電路所占用,可用的引腳只有40多個(gè).為此,本文采用鎖存器擴(kuò)展外圍引腳,并選擇ULN2803型達(dá)林頓管,設(shè)計(jì)了120路功率放大電路(圖9).它可以承受高負(fù)載電流,生成電磁力,驅(qū)動(dòng)120個(gè)盲文點(diǎn)運(yùn)動(dòng).
圖9 功率放大電路
語音播報(bào)模塊可提供人工合成的語音[20],實(shí)時(shí)播放語音文件,讓盲人聽到聲音,以方便盲人操作盲文點(diǎn)顯器.在圖10所示的語音播報(bào)電路中,MCU通過串口給語音芯片發(fā)送文件,語音合成后輸送給耳機(jī)或者咪頭.
語言播報(bào)電路的VS1053芯片包括時(shí)鐘電路、音頻輸出電路和復(fù)位電路,對應(yīng)主時(shí)鐘的工作頻率為12.288 MHz.該時(shí)鐘由內(nèi)部時(shí)鐘晶振(XTAL0和XTAL1)產(chǎn)生.語音播報(bào)電路的語音輸出有兩種模式,即采用耳機(jī)或者咪頭輸出.語音播報(bào)的具體流程如圖11所示.VS1053芯片是一種音頻解碼器,具有高性能、低功耗等優(yōu)點(diǎn),擁有串行控制接口、輸入數(shù)據(jù)接口和多個(gè)可用的I/O口,并且具有可變采樣率的優(yōu)質(zhì)立體聲和耳機(jī)功放功能.
圖10 語音播報(bào)電路
圖11 語音播報(bào)流程
把輸入模塊和輸出模塊的各個(gè)電路集成到一張PCB(Printed Circuit Board)板上,各電路既相互獨(dú)立又相互聯(lián)系,做成硬件電路的主板(圖12).它具有液晶顯示、SD卡讀取、USB下載、語音播報(bào)以及120路大功率輸出等功能.其布線應(yīng)盡可能與電路原理圖走線方向一致.
圖12 硬件電路的主板
這里對主板溫度穩(wěn)定性和LED盲文顯示進(jìn)行實(shí)驗(yàn),以驗(yàn)證所設(shè)計(jì)硬件電路的正確性、穩(wěn)定性和可靠性.
采用最大功耗方法,即120個(gè)盲文點(diǎn)滿方顯示,來測試主板的穩(wěn)定性和可靠性.在室溫22 ℃時(shí)通過按鍵進(jìn)入滿方顯示選項(xiàng),所有盲文點(diǎn)全部處于工作狀態(tài),保持20 min后,測量主板的溫度,檢查主板是否有異?,F(xiàn)象,以確認(rèn)主板能否正常工作.此外,通過顯示數(shù)字、文字和字母(區(qū)別在于盲文點(diǎn)的數(shù)量不同), 分別測量主板的溫度(表1). 通過溫度穩(wěn)定性測試實(shí)驗(yàn),發(fā)現(xiàn)主板運(yùn)行良好,沒有出現(xiàn)過熱、短路或線路熔斷現(xiàn)象.
表1 主板的溫度
注:工作時(shí)間為20 min.
為了驗(yàn)證硬件電路的正確性,采用120個(gè)LED燈代替120個(gè)盲文點(diǎn),顯示盲文.LED燈顯示板的第一組接口控制每方的1,6點(diǎn);第二組接口控制每方的3,4點(diǎn);第三組接口控制每方的2,5點(diǎn).通過燈亮和燈滅組合出盲文字符,可以方便地檢測控制信號,以判斷硬件電路是否正常工作.
首先把貼片式LED燈焊接在顯示板上,并與主板進(jìn)行連接,然后把測試程序下載到中央微控制器中,通過按鍵操作,開展數(shù)字、文字、字母閱讀等盲文顯示實(shí)驗(yàn),以驗(yàn)證硬件電路中各模塊的工作狀態(tài).LCD顯示屏能夠正確顯示“床前明月光,疑是地上霜”的中文和盲文,也能聽到相應(yīng)的語音,同時(shí)LED燈一一對應(yīng)地顯示出了盲文點(diǎn)(圖13).
實(shí)驗(yàn)結(jié)果表明,所設(shè)計(jì)硬件電路中各模塊均能正常工作,性能穩(wěn)定.
圖13 盲文LCD和LED顯示的對照
在互聯(lián)網(wǎng)時(shí)代,盲文點(diǎn)顯器能夠滿足廣大盲人朋友的閱讀需求,提高盲人知識水平.本文設(shè)計(jì)的電磁式盲文點(diǎn)顯器的硬件電路,由降壓電路、按鍵電路、外部存儲(chǔ)電路、SD卡存儲(chǔ)電路、一鍵下載電路、液晶顯示電路、120路功率放大電路和語音播報(bào)電路組成.通過主板溫度穩(wěn)定性測量和LED盲文顯示實(shí)驗(yàn),該硬件電路沒有出現(xiàn)過熱、短路或斷電現(xiàn)象,各電路模塊之間能協(xié)調(diào)工作,其硬件的集成度較高,具有較好的可靠性和穩(wěn)定性.本設(shè)計(jì)為驅(qū)動(dòng)大面積觸覺點(diǎn)陣以及顯示盲人觸覺圖形研究奠定了一定基礎(chǔ).