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