ImageVerifierCode 换一换
格式:DOCX , 页数:29 ,大小:2.34MB ,
资源ID:7725774      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7725774.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(新型语音电子钟设计资料.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

新型语音电子钟设计资料.docx

1、新型语音电子钟设计资料摘 要本文根据单片机的优点,根据采用振荡器的普通电子钟的设计原理入手,设计了一款具有语单识别、报时、秒表等功能的新型语单电子钟。详细介绍了本语音电子钟系统的硬件和软件设计。硬件:单片机系统(DAC(ADC、语音识别、定时计数等)、时钟芯片单元、音频输入输出单元、显示单元、接口电路单元、电源电路单元、键盘中断单元。软件:初始化主程序系统、各功能子系统、中断服务子系统。本设计系统采用具有dsp(数字信号处理)和双通道DAC的APCE061A单片机和SPLC501A(64行128列)来完成。关键字:新型电子钟 语单识别 SPCE061A LCD12864 AbstractAcc

2、ording to the advantages of using microcontroller, according to the design of the oscillators ordinary electric clock multi-duties, designed a paragraph of time, with voice recognition, the new voice functions such as a stopwatch electric clock. Detailed introduced this speech electric clock system

3、hardware and software design. Hardware: the single-chip microcomputer system (DAC (ADC, speech recognition, regular counting), clock chip unit, audio input/output unit, display unit, interface circuit units, power supply circuit units, keyboard interrupt unit. Software: initialization main program s

4、ystem, each function subsystem, interrupt service subsystem. This design system using a DSP (digital signal processor) and the dual channel DAC spce061A, and splc501A (64 do x 128 column) to complete.Keyword:New electric clock Speech recognition SPCE061A LCD12864第一章 引言第一节 设计背景和意义电子钟表是一种用电能为动力的计时器,利用

5、数字电路来显示秒、分、时的计时装置。其基本组成部分一般由电子元器件构成。采用LCD显示装置。电子钟中使用最多的是石英电子钟。由于采用了振荡频率稳定的石英振荡器和相应的集成电路,石英电子钟比其他各类钟有明显的优越性,包括走时精度高、稳定性好、使用方便、耗电量小、走时延续时间长、体积小、功能多、制造成本低、显示直观等,因而得到广泛应用。随着人们生活环境的不断改善和美化,在许多场合可以看到数字电子钟。时钟和日期在现代的生产和生活中占很重要的地位,但目前市场上各式各样的电子钟大多数用全硬件电路实现,电路结构复杂,功率损耗大并且无新意,呆板死气。因此有必要对数字电子钟进行改进 ,通过高新的技术和高技术的

6、硬件结合来设计新型的电子钟产品。本设计主要是对电子钟的功能的增强,在满足平时一般的生活需求的同时对其人性化设计,具有语音识别控制、备忘录提示等功能。第二节 研究现状及未来技术发展 本设计对普通电子钟改进的主要技术是语音识别技术和超大规模集成电路技术。语音识别技术包括信号处理、模式识别、概率论和信息轮、发声机理和听觉机理、人工智能等。本系统的语音识别包括前端处理、模式匹配来实现人工智能。语音识别的研究始于20世纪50年代,60年代和70年代初语音识别最重要的发展是语音信号线性预测编码(LPC)技术和动态时间规整(DTW)技术1,有效地解决了语音信号的特征提取和时间不等长匹配问题,对特定人的语音识

7、别十分有效。研究特点以孤立字语音识别为主,通常把孤立字作为一个整体来建立模块。80年代,语音识别研究重点之一是链接词语音识别,开发了各种连接词语音识别和关键词识别算法,如多级动态规划语音识别算法2。目前在语音识别研究领域非常活跃的课题为稳健语音识别、说话人自适应技术、大词汇量关键词识别算法、语音说识别的可信度评测算法。基于类的语言模型和自适应语言模型,一级深层次的自然语音的理解。3国内外语音识别根据说话人可以分为:特定人,任意人。本系统特性为特定人的简单语音识别。语音识别未来面临的主要问题:自然语言的识别和理解、语音信息量大、语音的模糊性、语音特性的变动、环境噪声和干扰降低了识别率。4单片机是

8、超大规模集成电路技术的产物,包括中央处理器CPU、存储器、定时/计数器、中断系统、I/O和DAC(ADC)电路。早起单片机都是8位或者4位的,随着技术的发展高端的32位单片机诞生,主频超过300MHz,处理速度提高很多倍。单片机由于集成度高,系统结构简单,模块化,可靠性高,处理速度快,目前在生活中的各个领域随处可见,广泛应用于仪器仪表、航空航天、医用设备等。单片机诞生于20世纪70年代末,经历了SCM、MCU、SoC三大阶段。随着超大规模集成电路技术的发展,单片机的应用更加广泛和深入。第二章 研究的主要内容及预期目标第一节 研究的理论基础理论基础:(1)模/数电子技术(2)电路分析原理(3)单

9、片机原理(4)数字信号处理(DSP)(5)语音识别技术研究的主要内容:(1)语音识别技术(2)D/A 、A/D技术(3)数字信号处理(DSP)技术(4)接口电路及键盘电路设计(5)系统的各子程序模块设计(6)系统的稳定性和抗干扰性系统的预期目标和可行性:(1)系统的预期目标(2)1SPLC501上面显示时间、日期、星期(3)时间的可调性和闹铃选择 (4)备忘录提示(5)语音识别控制报时功能(6)系统的可行性(7)系统的稳定性本系统采用高度集成的单片机SPCE061A,处理速度快,SPCE061A 的实时时钟32768Hz经过PLL倍频电路产生系统时钟频率再经过分频得到CPU 时钟频率。时基信号

10、来于32768HZ为系统提供中断信号。电源的的前后两组电容用来去耦滤波。5为了获得标准 3.3V 电压,在板子上加入 SPY0029A 三端稳压器,两个二极管,是为防止误将电源接反造成不必要损失保证了系统的稳定性。第三章 系统的硬件设计第一节 ISPCE061单片机系统电路图3.1 .1系统硬件结构图系统的硬件电路包括:单片机系统(DAC(ADC、语音识别、定时/计数等)、时钟芯片单元、音频输入输出单元、显示单元、接口电路单元、电源电路单元、键盘中断单元。IOA的高八位接到液晶模组的八个数据端,同时也连接了液晶模组的电源,即直接用一根10pin的排线连接61 板“+”、IOA815、“-”与S

11、PLC501A液晶显示模组的“+”、DB07、“-”,主要用来向液晶模组传送命令和数据;IOB6 接EP,IOB5 接R/W,IOB4 接AO,用来控制液晶的显示和工作方式。3.1SPCE061单片机系统电路图3.1.2 SPCE061系统电路 图3.1.2附 系统的存储单元分段SPCE061A包括:FLASH (闪存)、SRAM (静 态内存)、通用I/O 端口、定时器/计数器、中断控制、CPU 时钟锁相环(PLL)、ADC (模拟数字转换器)、DAC (数字模拟转换器)输出、UART (同步串行输入输出接口)、SIO (串行输入输出接口)、低电压监测/低电压复位模块、Watchdog。声音

12、模/数转换器输入通道内置麦克风放大器,并具有自动增益控制(AGC)功能。内置在线仿真电路接口ICE (在线实时仿真/除错器)。SPCE061A 的系统时钟由时钟发生器(32768Hz 晶振)、锁相环(PLL)和时间基准信号(RTC)组成。32768Hz 的实时时钟经过PLL 倍频电路产生系统时钟频率(Fosc),Fosc 再经过分频得到 CPU 时钟频率(CPUCLK)。锁相环 PLL (Phase Lock Loop)振荡器电路的作用是将系统提供的实时时钟的基频(32768Hz)进行倍频。时间基准信号,简称时基信号,来自于32768Hz 实时时钟,通过频率选择组合而成。时基信号发生器为定时/

13、计数器提供各种频率选择信号并为中断系统提供中断源信号。此外,时基信号发生器还可以通过分频产生时基信号,为中断系统提供各种实时中断源信号。第二节 晶振电路图3.2晶振电路32768Hz 的实时时钟经过PLL 倍频电路产生系统时钟频率(Fosc),Fosc 再经过分频得到 CPU 时钟频率(CPUCLK)。锁相环 PLL (Phase Lock Loop)振荡器电路的作用是将系统提供的实时时钟的基频(32768Hz)进行倍频。时间基准信号,简称时基信号,来自于32768Hz 实时时钟,通过频率选择组合而成。时基信号发生器为定时/计数器提供各种频率选择信号并为中断系统提供中断源信号。此外,时基信号发

14、生器还可以通过分频产生时基信号,为中断系统提供各种实时中断源信号。第三节 麦克风输入电路图3.3 麦克风输入电路 此电路主要人通过MIC把语音信号输入到系统中,单片机通过dsp算法、AD转换存储在flash中,然后通过API函数模式匹配进行语音控制识别及时报时等。第四节 音频输出电路图3.4 音频输出电路当触发MIC_In通道输入后,产生一个开始信号(b15(RDY) = 0)。然后,逐次逼近式ADC 首先设置最高位,然后清除SAR的其它位(10 0000 0000B) 。这时,DAC0 输出电压(1/2 AVdd)与输入电压Vin进行比较。如果Vin VDAC ,保持原先设置为1的位(最高有

15、效位)仍为 1;否则,该位会被清为 0。这个过程重复 10 次,直到这些位都被比较过。转换结果将会保存在SAR 内。A/D转换完成之后,P_ADC_Ctrl (读) ($7015H)的第15 位RDY被置为”1”。第五节 电源电路图3.5 电源电路采用 3 节 5 号电池进行供电,由 J10 接入,其中的前后两组电容用来去耦滤波,使其供给芯片更加平滑。为了获得标准 3.3V 电压,在板子上加入SPY0029A 三端稳压器。两个二极管,是为防止误将电源接反造成不必要损失而设置的,在操作过程中千万不要将电源接反,因为反向电压超过一定的值,二极管将会被损坏,达不到保护的目的。后面的零电阻及其电源分不

16、同的几路是为了减少电磁干扰设置的。第六节 SPLC501液晶显示系统电路图3.6 液晶显示系统电路SPLC501 为液晶显示控制驱动器,集行、列驱动器和控制器于一体,广泛应用于小规模液晶显示模块。SPLC501 单芯片液晶驱动,可以直接与其他微控制器接口总线相连。微控制器可以将显示数据通过 8位数据总线或者串行接口写到 SPLC501 的显存中。 SPLC501 的特点: 1.内置8580位显示RAM。RAM 中的一位数据控制液晶屏上的一个象素点的亮、暗状态。“1”亮“0”暗。 2.具有65 行驱动输出和 132 列驱动输出。 3.可以直接与80 系列和68 系列微处理器相连。 4.内置晶振电

17、路,也可以外接晶振。5.工作温度范围为40 摄氏度和85 摄氏度之间。SPLC501 液晶显示模组采用GPG12063YS3 LCD 模块,此模块内嵌SPLC501芯片, 采用先进的COG技术,将芯片嵌在LCD玻璃上。第七节 电路板、pc连接电路(下载区) 图3.7 下载连接电路图ICE 基本运行方式是通过控制clock 及通过ICE 伪指令方式,来控制CPU 的运行及缓存器资料和内存资料的存取,因此必须通过控制缓存器值的设定来控制目前CPU 的动作。板上的74HC244 主要是在我们用下载线进行程序下载时起作用,主要起缓存的作用和完成对 SDA 是用来作为数据回送还是数据下载进行选择。3.8

18、晶振、指示灯、复位、电源电路等略。第四章 系统的软件设计系统的软件设计就是个子程序系统设计,包括:初始主程序、功能程序、语音函数库程序、中断程序图4.1 程序结构图第一节 中断程序系统4.1.1 语音识别中断 语音识别技术主要是音频压缩技术的问题,本系统采用的是特定人的语音识别SD(Speaker Dependent):是指语音样板由单个人训练,也只能识别训练人的语音命令,而他人的命令识别率较低或几乎不能识别。8接口是API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数。图4.2识别简图API 函数: int BSR_DeleteS

19、DGroup(0) int BSR_Train (int CommandID, int TraindMode) void BSR_InitRecognizer(int AudioSource) int BSR_GetResult(Void) void BSR_StopRecognizer(void) void BSR_FIQ_Routine 初始化: 【API 格式】C: int BSR_DeleteSDGroup(0) ; ASM :F_BSR_DeleteSDGroup(0) 【功能说明】SRAM 初始化。 【参 数】该参数是辨识的一个标识符,0 代表选择 SRAM,并初始化。 【返回 值

20、】当 SRAM 擦除成功返回 0,否则,返回1。 训练部分: 1) 【API 格式】C:int BSR_Train (int CommandID, int TraindMode); ASM :F_BSR_Train 【功能说明】训练函数。 【参 数】 CommandID:命令序号,范围从0x100 到 0x105,并且对于每组训练语句都是 唯一的。 TraindMode:训练次数,要求使用者在应用之前训练一或两遍: BSR_TRAIN_ONCE:要求训练一次。 BSR_TRAIN_TWICE 要求训练两次。 【返回 值】训练成功,返回 0;没有声音返回1;训练需要更多的语音数据来 训练,返回2

21、 ;当环境太吵时,返回3;当数据库满,返回4 ;当两次输入命令不 通,返回5;当序号超出范围,返回6。 【备 注】 在调用训练程序之前,确保识别器正确的初始化。 训练次数是 2 时,则两次一定会有差异,所以一定要保证两次训练结果接近 。 为了增强可靠性,最好训练两次,否则辨识的命令就会倾向于噪音 。 调用函数后,等待 2秒开始训练,每条命令只有 1.3 秒,也就是说,当训练 命令超出 1.3 秒时,只有前 1.3 秒命令有效。 辨识部分: 1)【API 格式】C: void BSR_InitRecognizer(int AudioSource) ASM :F_BSR_InitRecognize

22、r 【功能说明】辨识器初始化。 【参 数】 定义语音输入来源。通过 MIC 语音输入还是 LINE_IN 电压模拟量输入。 【返回 值】无。 2 )【API 格式】C:int BSR_GetResult(); ASM :F_ BSR_GetResult 【返回值】=R1 【功能说明】辨识中获取数据。 【参 数】 无。 【返回 值】 当无命令识别出来时,返回0; 识别器停止未初始化或识别未激活返回1; 当识别不合格时返回2 ; 当识别出来时返回命令的序号。 【备 注】 该函数用于启动辨识,BSR_GetResult() ; 3 )【API 格式】C: void BSR_StopRecognize

23、r(void) ; ASM :F_ BSR_StopRecognizer 【功能说明】停止辨识。 【参 数】无。 【返回 值】 无。 【备 注】该函数是用于停止识别,当调用此函数时,FIQ_TMA 中断将关闭。 中断部分: 【API 格式】 ASM :_BSR_InitRecognizer 【功能说明】 在中断中调用,并通过中断将语音信号送DAC 通道播放。 【参 数】无。 【返回 值】无。 【备 注】 该函数在中断 FIQ_TMA 中调用 。 当主程序调用 BSR_InitRecognizer 时,辨识器便打开 8K 采样率的 FIQ_TMA 中断并开始将采样的语音数据填入辨识器的数据队列中

24、。 应用程序需要设置一下程序段在 FIQ_TMA 中: .PUBLIC _FIQ .EXTERNAL _BSR_FIQ_Routine /定义全局变量 .TEXT _FIQ: PUSH R1,R4 to SP /寄存器入栈保护 R1 = P_INT_Ctrl CALL _BSR_FIQ_Routine /调用子程序 R1 = 0x2000 /清中断标志位 P_INT_Clear = R1 POP R1,R4 from SP; /寄存器组出栈 RETI END 其中实时监控是用来观察辨识是否正常工作,如果辨识正常则会产生一 16ms 连续稳定方波,否则如果 CPU 超载则会产生不稳定波形,此时需

25、要删除命令,或是优化程序否则会丢失语音数据产生辨识出现错误的信息。图4.3 识别过程函数功能识别识别过程:触发识别训练 请输入第一条命令 请输入第二条命令 请再说一遍 (以上提示音每说完一遍出现此命令) 没有听到任何声音 (当没有检测到声音时出现此命令) 两次输入名称不相同 (当两次输入的名称不同时出现此命令) 两次输入命令不相同 (当两次输入的命令有差异时出现此命令) 准备就绪,请开始辨识 (以上三条语句全部训练成功时,进入.)图4.3 识别功能实现流程图4.1.2键盘扫描中断KEY2+KEY3图4.4 键盘选择说明语音播报及闹铃程序段:/文件名称:bobao.c/功能描述:日期和时间的语音

26、播报#include SPCE061A.h#include s480.h#define C_T00 0#define C_T01 1#define C_T02 2#define C_T03 3#define C_T04 4#define C_T05 5#define C_T06 6#define C_T07 7#define C_T08 8#define C_T09 9#define C_T10 10#define C_DIAN 11#define C_MIN 12#define C_YEAR 13#define C_MONTH 14#define C_DAY 15#define C_BELL

27、 16extern unsigned int year;extern unsigned int gmonth;extern unsigned int gday;extern unsigned int hour;extern unsigned int min;/语法格式:PlayRespond(unsigned int Result)/实现功能:对对传入的实参序号的语音资源进行播报void PlayRespond(unsigned int Result) SACM_S480_Initial(1); *P_INT_Ctrl_New = *P_INT_Ctrl_New | 0x0004; /使初始化

28、后不影响2KZ中断 SACM_S480_Play(Result,3,3); while(SACM_S480_Status()&0x0001) != 0) SACM_S480_ServiceLoop(); *P_Watchdog_Clear=0x0001; SACM_S480_Stop();/语法格式:PlaySpeakYear(int YearTemp)/实现功能:播报年void PlaySpeakYear(int YearTemp) PlayRespond(YearTemp/1000); PlayRespond(YearTemp%1000)/100); PlayRespond(YearTem

29、p%100)/10); PlayRespond(YearTemp%10); PlayRespond(C_YEAR);/语法格式:PlaySpeakMonth(int MonthTemp)/实现功能:播报月void PlaySpeakMonth(int MonthTemp) if(MonthTemp 1) PlayRespond(DayTemp/10+C_T00); /十位1报 if(DayTemp/10)0) PlayRespond(C_T10); /报十,十位为1不报1 if(DayTemp%10)!= 0) PlayRespond(DayTemp%10+C_T00); PlayRespond(C_DAY);/语法格式:PlaySpeakHour(int DayTemp)/实现功能:播报时void PlaySpeakHour(int DayTemp) if(DayTemp10) PlayRespond(DayTemp); else if(DayTemp=10) PlayRespond(C_T10); else

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1