陈暑生 马国欣 曾骏君 陆聪 袁玲
(1.华南理工大学 自动化科学与工程学院 2.华南理工大学 电子与信息学院)
盲人识字辅助系统由盲人显示器、智能语音发声装置、SD卡存储等模块组成。
盲人显示器是系统的核心组成部件,包括二维运动控制系统、颗粒物掉落控制装置、步进电机驱动电路等组成。通过控制颗粒物掉落装置在二维平面内运动,当某像素点处有字迹时,打开颗粒物掉落装置的阀门,令颗粒落下,即形成突起,供盲人触摸,达到盲人识字的功能。
盲人识字辅助系统各部分的功能如下:
(1) 二维运动控制系统是显示器最重要的部分。通过分别控制两个维上的步进电机,使颗粒物掉落装置能够做二维平面上的运动,作为各个基本像素点。
(2) 颗粒物掉落装置完成最终的文字突起的任务。当确认某像素点位置有字迹时,打开阀门,令颗粒物落下。
(3) 步进电机驱动电路。用来驱动二维运动平台上的步进电机。
(4) 智能语音发声装置实现发声辅助,达到真正意义上的同步。当盲人触摸显示器上的盲文时,将文字的发声读出,帮助记忆、学习。
(5) SD卡用来存储盲文字库及学习文档。
(6) 颗粒物锁存装置,利用薄膜将显示形成颗粒物锁住,以确保盲人在触摸显示器的时候不至于将颗粒物移动。
(7) 颗粒物回收设备,用于每次显示完之后的颗粒物清除及回收,以方便下一次显示。其原理是,由电机控制一个与显示面板直接接触的毛刷进行运动,将颗粒物推入回收沟槽。
盲人识字辅助系统结构图如图1所示。
图1 盲人识字辅助系统结构图
盲人显示器硬件结构如图2所示。
图2 盲人显示器硬件结构图
盲人显示器由两个步进电机分别控制滑块在水平面上做二维运动。X方向电机3上的齿轮带动齿条4直接完成一维运动,其中1为X方向滑动导轨,在电机3作用下滑块2可以作X方向的运动;Y轴方向上,滑块2上固定着电机6及蜗杆7,当电机6带动蜗杆7转动时,会推动滑片8使得滑块5做Y方向上的运动[1]。滑块5的Y方向滑动导轨忽略未画出,滑块5上安装着颗粒物掉落装置9,下文将作详细介绍。两电机配合,可控制滑块到达二维平面上的任意位置,精度由电机决定。
颗粒物掉落装置结构图如图3所示。滑块上5设有颗粒物掉落装置,由颗粒物锥型容器13、步进电机 10、滑片 12等组成。当滑片12移开容器口,相当于阀门打开,则颗粒物向下漏下,形成文字突起[1]。滑片 12固定于电机10的轴上,可随之旋转,即阀门的打开及关闭通过控制步进电机左右转动即可。
图3 颗粒物掉落装置结构图
目前的语音合成技术比较发达,出现了一些语音合成芯片,只需通过串口将单字或词语的编号通过串口打进去,即可完成发音,非常方便。
本系统中,我们采用了SYN6288芯片。SYN6288语音合成芯片的特点:SYN6288通过异步串口(UART)通讯方式,接收待合成的文本数据,实现文本到语音(或TTS语音)的转换;支持GB2312、GBK、BIG5和UNICODE内码格式的文本;具有智能的文本分析处理算法,可正确识别数值、号码、时间日期及常用的度量衡符号。
语音发声模块及外围原理图如图4所示,通过串口引脚直接与单片机连接,无需电平转换。
本系统中,SD卡用于存储盲文字库或盲人希望阅读的图像及文档。
SD卡有两个可选的通信协议:SD模式、SPI模式。SD模式是SD卡标准的读写方式,但是在选用SD模式时,往往需要选择带有SD卡控制器接口的MCU,或者必须加入额外的 SD卡控制单元以支持SD卡的读写[2]。由于单片机上有 SPI接口,在 SPI模式下,通过四条信号线就可以完成所有的数据交换,因此选用SPI模式进行通信。SD卡模块原理图如图5所示。
图4 SYN6288语音模块电路图
图5 SD卡模块原理图
本系统中,使用L297+L298作为两相双极性的步进电机驱动电路,它采用定电流方式驱动,每相电流峰值可达2A。L297是步进电机控制器,用来产生两相双极性驱动信号(A、B、C、D),同时可进行电机电流值设定。L298用来驱动步进电机的电力输出,是双全桥连接方式驱动,由于电机线圈完全利用,使步进电机可以到达最佳的驱动[3]。驱动原理图如图 6所示,其中CW/CCW、CLOCK、ENABLE与单片机引脚相连,分别控制正反转、提供脉冲时钟及使能。
ATmega32是基于增强的AVR RISC结构的低功耗8位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATmega32的数据吞吐率高达1 MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。AVR 内核具有丰富的指令集和32个通用工作寄存器。所有的寄存器都直接与运算逻辑单元(ALU) 相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄器。这种结构大大提高了代码效率,并且具有比普通的CISC 微控制器高至10倍的数据吞率[4]。
图6 步进电机驱动原理图
盲人显示器中,软件程序设计主要针对二维运动控制及颗粒物掉落装置上的阀门打开及关闭控制。
二维运动控制采用先行扫描,后列扫描的方式。由于本系统中颗粒物掉落装置上的阀门的控制也采用步进电机来实现,因此阀门的打开与关闭实际上也是控制步进电机转过小角度,只是转动的方向不同。具体控制流程如图7所示。
步进电机的控制,程序仅需控制方向及时钟脉冲,高低电平各代表一种转动方向,每接受一个脉冲电机走一步,即1.8度[3]。
当需要令SYN6288语音合成芯片发出文字读音时,应使单片机通过串口发送特定格式的数据包。数据包的格式如下,主要是一些约定的字节以及后续需要发音的文字文本。
数据格式具体如下:
SD卡的数据写入是以块为单位,每块为512字节,由于单片机片上RAM是2K,可以通过建立一个512字节的临时缓存数组,将数组一次性写入SD卡,满足要求[4]。每读出512字节数据后,根据需要将其处理后用来控制盲人显示器及语音发声模块。
系统开机初始化后,读取当前SD卡内容,控制盲人显示器将文字显示出来,供盲人触摸,并将该文字的读音发出。通过简单的按键操作,可以由盲人自行控制上下翻页,以及文字重复语音播放等。主程序流程图如图8所示。
图7 盲人显示器工作流程
图8 主程序工作流程图
本盲人识字辅助系统可以帮助盲人识字,核心部分在于盲人显示器,即盲文字迹突起的实现;配合智能语音发声模块,可以在盲人触摸盲文的同时,将对应的发音报出,达到语音及盲文的绝对同步,真正实现无人看守。同时,利用SD的海量存储容量,可以将盲文字库及相关文档存入其中,更加便捷,同时方便资料更新。本系统将在盲人识字等相关领域发挥较为重要的作用,同时,系统所涉及的各项技术有着广阔的背景,稍加改造可以应用于其它领域。
[1]张振东. 智能交通系统概述及国内外发展状况[J],科学之友,2010,09:97-99.
[2]李万周. 多种类采集设备的交通数据信息融合与应用[J],中国交通信息产业,2006,04:76-78.
[3]黄美灵,谭伟等.城市交通信息发布系统的设计与开发[J],重庆交通大学学报(自然科学版),2010.29(4):616-619.
[4]王春波,张卫东,许晓鸣. 计算机视觉技术在智能交通系统中的应用[J], 测控技术,2000,19(5):22-24.
[5]唐汝磉,钱寒峰.智能交通信息采集中数据融合技术探讨,科技咨询报[J],2007,26:17-18.