智能藏语盲文学习机的设计与实现
2011-09-19崔静静边巴旺堆次仁朗杰
武 强,崔静静,边巴旺堆,次仁朗杰
(西藏大学工学院 电子信息系,西藏 拉萨 850000)
近年来随着国家政策的逐步落实,西藏自治区残疾人联合会与盲文无国界组织合作开展的《助盲项目》,通过实施各项盲人康复领域的工作,包括盲人的日常生活技能、盲人基础教育的康复、盲人职业培训、盲人康复领域的各种当地师资的培训等工作领域取得了良好的成绩。西藏地区盲人的生活和学习得到了很大的提高。
然而目前,并没有供西藏地区盲人学习藏语的盲文点字学习机,因此该系统具有一定的创新性和先进性。该系统包括键盘的识别和对语音的录入、编辑、存储、和输出功能[1],使盲人在短时间里完成藏语盲文的点位学习。此外该设备的音频输出不仅可以直接与耳机相连,还可以直接外接音响,因此该机器也可以用在教学中,使藏语盲文的学习变得更家自动化。同时该系统对于推广藏语,提高少数民族同胞的生活、工作质量,促进少数民族事业发展都起到了积极的推动作用。
1 系统整体设计
盲文,又称点字,国际通用的点字由6个凸起的圆点为基本结构组成,是专供盲人摸读、书写的文字符号。藏语盲文的基础结构是以六点为一方,通过排列与组合的规则把字符恰当地表示出来。
因此,在本系统的设计中,通过多个按键组合来模拟不同的点字,再与SPCE3200嵌入式微处理器[2-4]相结合控制语音模组播放相应点字,进而实现了点字的输入、反馈功能。根据各功能的需求,其硬件组成框图如图1所示:主要由SPCE3200嵌入式微处理器、键盘输入模组、录音模块、语音资源存储模块和语音播放模块组成。其中,键盘模组是由点阵组成的,通过SPCE3200微处理器控制,配合语音模块播放相应的提示音,并可通过录音模块存入相应的语音,保存盲人朋友的学习情况。
图1 系统硬件框图Fig.1 The diagram of the system hardware
1.1 键盘模组简介
藏语是一种拼音文字,藏盲文以六点为一方,每一个字符以由1~6个突起的点儿安排在一个有6个点位的长方形里 。为了确认不同的盲文字符,按照读的时候的顺序排列规则是这样的,左上是第一点,左中是第二点,左下是第三点,右上是第四点,右中是第五点,右下是第六点,盲文键盘样式图如图2所示。
图2 盲文键盘样式图Fig.2 The style diagram of Braille key
键盘电路由8个机械触点式按键组成,它利用弹性使按键复位,手感明显,工艺简单,比较适合作为盲人学习机的点位键盘,其中KEY7、KEY8为模式选择键,这两个键用于在MP3模式、语音录播模式和盲文学习模式之间进行切换;未按下KEY8时,学习机处于盲文学习模式,在此模式下,KEY1~KEY6为点位键盘,通过操作这6个按键可以组合成不同的点字进而控制语音芯片播放相应语音;当按下按键KEY8后,学习机切换到录放音模式,在该模式下,KEY1,KEY4分别为录音键和播放键,KEY2为模式退出键,通过控制KEY1,KEY4键可实现语音的录播,操作KEY2可使学习机退出录放音模式;在盲文学习模式下按下KEY7后,学习机切换到MP3模式,在该模式下,KEY1,KEY4分别为下一曲和上一曲,通过选择,盲人朋友可以欣赏自己喜欢的音乐。同时,为了方便盲人使用该学习机,设计了语音反馈功能辅助盲人操作键盘,即预先在SD卡中录入一些按键提示语音,每进行一次键盘操作,语音电路就会播放键盘中的相应键值,提示该按键操作是否成功,使得盲人朋友可以避免练习中的一些错误。
键盘的硬件电路[5]原理图如图3所示。
图3 键盘电路原理图Fig.3 Circuit diagram of keyboard
1.2 语音存储模块
在智能盲文学习机的语音处理中,考虑到系统对语音的分段较多,而且有些语音需要多次重复录放,存储时间长的特点,本系统采用SPCE3200[6]支持外扩FLASH的功能,通过SD卡存储大量语音。
SD卡具有大容量,高性能,安全等特点。SPCE3200具有SD卡控制器,可支持SD卡的数据存储。系统中使用SD卡的4根数据线、1根命令锁存线和1根时钟线,为了稳定信号,数据线和命令锁存线外接上拉电阻。SD卡采用3.3 V供电,时钟信号由SPCE3200提供。SD卡的接口电路如图4所示。
图4 SD卡接口电路Fig.4 Circuit diagram of SD card Interface
1.3 语音输出模块
本系统语音的实现选择SPCE3200的MP3文件播放。硬件上依赖DAC进行输出播放;软件上主要通过MP3库解码器的API函数来实现,保证了语音输出的质量同时软件操作上也较容易。
SPCE3200有两路16位高速数模转换器,可以进行普通的D/A转换,也可以进行立体声语音播放。SPCE3200的DAC模块共有3个引脚:其中DAC_VREF为DAC参考电压输入引脚;DAC_CH0为DAC通道0信号输出引脚;DAC_CH1为DAC通道1信号输出引脚。SPCE3200的DAC模块有两路DAC通道 (通道0和通道1),具有4级深度的FIFO Buffer(Buffer的大小可设置),可以编程设置DAC采样率,其中断机制和缓存区支持可使得语音播放更方便。
在本系统中,音频电路由麦克风电路以及音频输出电路组成。如图5所示。音频输出电路采用凌阳功放SPY0030,音频输出大于1 W,喇叭直流阻抗8 Ω,左右两个通道音量分立调节并备有两个外部音频信号放大输入端。DAC_CH0和DAC_CH1的输出信号也可以通过放大电路放大后,通过音响、耳机、喇叭等放音设备进行播放。
图5 音频放大电路Fig.5 Circuit of audio amplification
2 软件部分设计
为了更好地帮助藏族盲人朋友盲文点字,在学习机的设计中,通过多个按键组合来模拟不同的点字,并通过软件调用SD卡上相应的语音资源播放相应的点字,进而实现了点字的练习和语音反馈功能。
主程序[7]是一个封闭的循环,初始化文件系统和挂在SD卡主要是为了建立SD卡与主机的通信,向SD卡写入或者获取SD卡中的信息;将8个AD模块端口使能为GPIO口,并设置为下拉非上拉电阻输入口,并将IOA1口设置为上升沿中断;打开时钟,主要是为了打开计时中断,并设置计时初值。每隔0.5秒系统将扫描一次键盘,判断有无按键,若有按键且按键有效,则系统根据按键值作出相应的反应。主程序流程图如图6所示。
2.1 点位训练的设计
在点位训练模式下,首先判断数字标志键KEYNF是否按下,若未按下,学习机处于基字点位训练模式,在该模式下,通过按下不同的点位组合,将调用其所对应的字符语音资源,同时播放相应的语音供盲人朋友学习;若KENF按下,则进行数字点位训练,按下不同的点位组合将播放对应的数字语音;若练习时点位不正确,则播放预先存储的错误提示音,从而可以使盲人朋友避免练习中的错误。其流程框图如图7所示。
图6 主程序流程图Fig.6 Flow chart of the main program
2.2 语音录放函数
系统上电初始化后按下模式键KEY8键,学习机进入录放模式,在该模式下按下KEY1键,学习机进入录音程序。程序开始后首先切换到SD卡中的存储录音的文件目录,并打开此目录,之后初始化MIC,开始语音输入,录音结束后,语音段数加l,文件指针指向第二个文件;当再次按下KEY1键时,芯片从当前地址重复上述录音操作,直到录音时间最大值或按下KEY8键。在该模式接下KEY4键,学习机进入放音程序,初始化录音文件并获取录音的文件数,之后系统检测按键值所对应的的语音段,芯片将从当前的语音地址开始播放。录放函数流程图如图8所示。
图7 点位训练流程图Fig.7 Flow chart of Braille training
图8 录放函数流程图Fig.8 Flow chart of Recorder function
3 结 论
本系统在正常模式下,测试主控板消耗电流(主控板工作电压为DC9V)、键盘电路消耗的电流(正常工作电压为DC5V)和音频放大电路的消耗电流(工作电压为DC5V)。最终测试结果:主控板消耗电流为1 A,键盘电路工作时的消耗电流为510 mA,语音播放时的消耗电流为400 mA。该系统性能稳定,能够完成“点位训练”、“音乐播放”、“语音录放”等功能,使藏族的盲人朋友能够独立的学习藏语盲文的点位,操作简单,学习方便,具有一定的创造性和推广价值,为盲人朋友学好和掌握各种技能奠定了基础。在西藏地区有较高的应用价值。
[1]樊建中,孙晴,杨永杰.一种智能盲文学习机设计[J].现代电子技术,2010,33(5):118-120.
FAN Jian-zhong,SUN Qing,YANG Yong-jie.Design of intelligent braille learning machine[J].Modern Electronics Technique,2010,33(5):118-120.
[2]唐洁媛.多媒体微处理器SPCE3200的应用研究[J].电子元器件应用,2008,10(6):5-9.
TANG Jie-yuan.Application research of multimedia microprocessor SPCE3200 [J].Application ofElectronic Component,2008,10(6):5-9.
[3]张大波.嵌入式系统原理设计与应用[M].北京:机械工业出版社,2004.
[4]韦东山.嵌入式Linux应用开发[M].北京:人民邮电出版社,2009.
[5]康华光.电子技术基础[M].北京:高等教育出版社,2005.
[6]罗亚非.32位嵌入式微处理器原理及应用[M].北京:北京航空航天大学出版社,2010.
[7]谭浩强.C程序设计[M].3版.北京:清华大学出版社,2005.