1、xx 大学 xx 学院毕业论文题 目: 多功能电子密码锁的设计 专 业: 电子信息工程 学 号: xx 姓 名: xx 指导教师: xx 完成日期: 2010 年 5 月 15 日 1xx 大学 xx 学院毕业论文(设计)任务书论文(设计)题目: 多功能电子密码锁的设计 学号: xx 姓名: xx 专业: 电子信息工程 指导教师: xx 系主任: xx 一、主要内容及基本要求多功能电子密码锁设计的主要内容和基本要求: 1.掌握密钥的人,在规定时间内按顺序键入 6 位密码才能打开; 2.不知密码的人按键时,可做电子门铃用; 3.如果主人不在,门铃响 3 次后,会提示来访客人简短留言并录音; 4.
2、在累计按 5 次错码键、撬门入室盗窃或按防抢劫紧急键时,将产生 2 分钟报警; 5.设置键入密码时间为 12s; 二、重点研究的问题1.多功能电子密码锁设计的现实意义 2.多功能电子密码锁设计的方案选择 3.密码锁各个功能的实现与组合 4.编写汇编语言程序 2三、进度安排序号 各阶段完成的内容 完成时间1 查阅资料,选择合适的设计方案 20104120104102 设计电路图 201041120104203 编写语言程序 20104212010514 制作硬件 2010532010555 调试 2010562010586 总结 20105920105107 编写设计论文 20105112010
3、5138 审查毕业设计 20105132010514四、应收集的资料及主要参考文献1 罗亚非.凌阳 16 位单片机应用基础M .北京:北京航空航天大学出版社,2003; 2 薛钧义 张彦斌 .凌阳 16 位单片机原理及应用M.北京:清华大学出版社,2003; 3 赵亮.单片机应用系统设计与产品开发M.北京:人民邮电出版社, 2004; 4 杨恢先、黄辉先主编 .单片机原理及应用M.北京:人民邮电出版社, 2006 .5 谭浩强著 .C 程序设计M.北京:清华大学出版社,2000.6 凌阳科技 .SPCE061A Date SheetG.中国台湾:凌阳科技股份有限公司,2003.7 雷思孝等 .
4、单片机原理及实用技术凌阳 16 位单片机原理及应用M. 西安:西安电子科技大学出版社,2004.8 李晶皎.嵌入式语音技术及凌阳 16 位单片机应用M. 北京:北京航天航空大学出版社,2003.9 凌阳科技 .凌阳实验箱实验指导书(上、下册)G. 中国台湾:凌阳科技股份有限公司,2002.10 汪敏主编 .凌阳 16 位单片机实验与实践M.北京:北京航空航天大学出版社,2007.11 李学海编著 .16 位语音型单片机 SPCE061A 实用教程基础篇M. 北京: 人民邮电出版社,2007.12 北阳电子 .“61 板”使用说明书G. 北京:北京北阳电子技术有限公司.200513 凌阳大学计划
5、网站 3xx 大学 xx 学院毕业论文(设计)评阅表学号 xx 姓名 xx 专业 电子信息工程 毕业论文(设计)题目: 多功能电子密码锁设计 评价项目 评 价 内 容选题1.是否符合培养目标,体现学科、专业特点和教学计划的基本要求,达到综合训练的目的;2.难度、份量是否适当;3.是否与生产、科研、社会等实际相结合。能力1.是否有查阅文献、综合归纳资料的能力;2.是否有综合运用知识的能力;3.是否具备研究方案的设计能力、研究方法和手段的运用能力;4.是否具备一定的外文与计算机应用能力;5.工科是否有经济分析能力。论文(设计)质量1.立论是否正确,论述是否充分,结构是否严谨合理;实验是否正确,设计
6、、计算、分析处理是否科学;技术用语是否准确,符号是否统一,图表图纸是否完备、整洁、正确,引文是否规范;2.文字是否通顺,有无观点提炼,综合概括能力如何;3.有无理论价值或实际应用价值,有无创新之处。综合评价选题符合培养目标,体现了本学科、专业特点及教学计划的基本要求,能够达到综合训练的目的,难度适当 。xx 同学具备较好的查阅文献、综合归纳资料的能力,具备综合运用已学知识和设计研究方案的能力,具备设计复杂数字系统的能力,基本掌握了科研的一般方法,具备较好的外文和计算机应用能力 。设计方案正确,理论分析正确,时序仿真及硬件验证结果正确,图表完备 ,清晰,引文规范,文字通顺,综合概括能力较强,研究
7、课题有一定的应用价值 。工作量饱满,论文的篇幅、格式达到规定要求 。评阅人: 2010 年 5 月 日4xx 大学 xx 学院毕业论文(设计)鉴定意见学号: xx 姓名: xx 专业: 电子信息工程 毕业论文(设计说明书) 55 页 图 表 46 张论文(设计)题目: 多功能电子密码锁的设计 内容提要:本文采用凌阳十六位单片机作为系统控制的核心,利用其强大的语音功能,不仅实现了语音播放功能,完成了语音提示的要求,而且实现了可以在无人应答下的留言系统及其回放系统;利用其内置的 Flash 闪存,实现了密码的断电保护、无人应答下的来客号码的断电保存和语音断电保存。除此而外,在键盘输入方面,强大的功
8、能选择键满足了系统的要求;6 位数码管的选择使操作要求清晰明了。因此本套密码锁系统强烈体现了其人性化的一面。5指导教师评语xx 同学选题初期能积极搜集资料,电子密码锁的总体设计方案正确,采用凌阳单片机实现了多功能电子密码锁的设计,编写语言程序正确,并制作调试硬件验证。设计工作中,态度端正,工作努力,按时完成毕业设计,积极主动地与老师沟通,工作量饱满;综合运用所学知识,分析解决问题能力较强,动手能力较强。设计说明书图表规范,内容充实,结构合理。同意其参加答辩,建议成绩评定为良。指导教师: xx 2010 年 月 日答辩简要情况及评语答辩中,条理清晰,语言表达能力强,重点突出,能正确回答问题。根据
9、答辩情况,答辩小组同意其成绩评定为良。答辩小组组长: 王有才 2010 年 月 日6答辩委员会意见经答辩委员会讨论,同意该毕业设计成绩评定为答辩委员会主任: 2010 年 月 日目 录第 1 章 概序3第 2 章 设计方案选择5第 3 章 凌阳单片机简介9第 4 章 应用软件及系统程序介绍 19第 5 章 系统其他硬件部分 33第 6 章 设计总结 40注释42参考文献43附录447多功能电子密码锁的设计摘 要:随着电子产品向智能化和微型化的不断发展,单片机已成为电子产品研制和开发中首选的控制器。随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,安
10、全性能低,无法满足人们的需要。本设计采用凌阳十六位单片机作为系统控制核心,利用其强大的语音功能,不仅实现了语音播放功能,完成了语音提示的要求,而且实现了可以在无人应答下的留言系统及其回放系统;利用其内置的 Flash 闪存,实现了密码的断电保护、无人应答下的来客号码的断电保存和语音断电保存。除此而外,在键盘输入方面,强大的功能选择键满足了系统的要求;6 位数码管的选择使操作要求清晰明了。因此本套密码锁系统强烈体现了其人性化的一面。经实验证明,该密码锁具有设计方法合理,简单易行,成本低,安全实用等特点,符合住宅、办公室用锁要求,具有推广价值。关键词:电子密码锁;语音存储与回放;断电保护;凌阳十六
11、位单片机The Design of Multi-purpose Electronic Password Lock Based on SPCE061A.1Abstract: As electronic products are developing towards intelligence and minimization, singlechip computers (SCM ) have become the first choice for controllers in the development of electronic products. With the improvement
12、of peoples living standards, it has become particularly prominent about how to achieve Anti-theft family. The traditional mechanical lock has such shortcoming as simple structure , Low security, it cant meet peoples demands.This experiment adopt 16-bit nSP (Microcontroller and Signal Processor) micr
13、oprocessor that have 16-bit sound controller with 32k*16 flash memory as systematic control center, making use of its strong speech function, we not only carried out voice player, completed the request of the voice hint, but also we can record visitors message and play it ;we can protect password ,
14、maintain the visitors numbers and voices through storing to flash memory when the power cut .In addition to this , on side of input part we use keyboard to complete strong choice function which satisfied the request of system. And it is very clear to operate because anything shows in six Nixie tubes
15、.Therefore this system shows its humanization.Experiments show that the designed cipher lock is characterized by its reasonable designing methods, simple operation, low cost and property of safety and practicalityBesides,it works well as a residence lock and has great potential for commercial develo
16、pmentKeywords: Electronic password lock; voice storage and player; power-off protection; SPCE061A2第一章 绪 论1.1 国内外现状目前,最常用的锁是 20 世纪 50 年代意大利人设计的机械锁,其机构简单、使用方便、价格便宜。但在使用中暴露了很多缺点:一是机械锁是靠金属制成的钥匙上的不同齿形与锁芯的配合来工作的。据统计,每 4000 把锁中就有两把锁的钥匙齿牙相同或类似,故安全性低。二是钥匙一旦丢失,无论谁捡到都可以将锁打开。三是机械锁的材料大多为黄铜,质地较软,容易损坏。四是机械锁钥匙易于复制,
17、不适于诸如宾馆等公共场所使用。由于人们对锁的安全性,方便性等性能有更高的要求,许多智能锁(如指纹辨别、IC 卡识别)也相继问世,但这类产品的特点是针对特定指纹或有效卡,但能适用于保密要求高且仅供个别人使用的箱、柜、房间,其成本一般较高,在一定程度上限制了这类产品的普及和推广。随着人们生活水平的提高,电子密码防盗锁作为防盗卫士的作用日趋重要。电子密码防盗锁用密码代替钥匙,不但省去了佩戴钥匙的烦恼,也从根本上解决了普通门锁保密性差的缺点。根据国外的统计资料显示,装有电子防盗装置的商业区或居民区盗窃犯罪率平均下降 30%左右。目前西方发达国家已经大量地应用这种智能门禁系统,但在我国的应用还不广泛,成
18、本还很高。1.2 设计目标1.超级密码设置(组合键8 位密码),此密码只有管理员使用;2.用户密码 6 位:密码通过键盘输入,输入两次有效,输出锁死信号;3.开锁:输入密码正确,确认后,输出开锁信号;4.现场报警功能:密码输入连续错误 3 次,给出声音报警;35.欠压提示:后备电池电压不足时,欠压指示灯 LED2(黄)亮提示更换电池;6.串口通讯 RS232,上下位联机功能。1.3 课题解决的技术路线本文采用通过 4 种方案进行比较,最后采用凌阳单片机作为系统的核心,通过键盘的输入达到密码验证和修改的目的。凌阳公司为适应单片机的高度集成化的发展趋势,凌阳科技推出了高性能的 16 位单片机如下图
19、 1-1,它的 CPU 内核采用凌阳最新推出的图 1-1 凌阳单片机框图nSP(Microcontroller and Signal Processor)16 位微处理器芯片(以下简称unSP)。具有:1.16X16 位硬件乘法器 2.DSP 核所具有的内积运算,8 位芯片的价格,高集成度以致力于单芯片应用 (SOC),低功耗、低电压,具有较强的中断处理能力,功能强、效率高的指令系统。本系统采用凌阳单片机具有效益高,语音功能强,人性化等特点和优点,很成功的完成本次设计。IRunSP内 核RAM&ROMT/CSIO并 行 I/OLVD/LVRADCWatchDog UARTDAC & PWMLC
20、D 控制/驱动DTMF4第2章 方案选择接到任务后通过分析其要求和技术指标,从设计方案的可行性,设计成本,当前科技发展的主流等条件出发,以下列出几种方案进行比较。2.1 采用LS7225芯片电路如下图 2-1 所示,以密码控制电路为核心,通过计数、定时控制数片语音模块组合而成。LS7225 是 4 位密码控制电路,内含自动复位、密码次序检测及存储、伪码识别、辅助延时及逻辑控制等电路,每个输出端都有驱动管,可直接控制小型继电器动作。电路工作电源为 615V,GB 是后备电池, VD5 是隔离管,C10 是电源滤波电容,LED2 是电源指示管, S12 是手动或门控联动复位开关。R7 是限流电阻,
21、稳压管 VD4 为语音模块提供 4.5V 工作电压。图 2-1 基于 LS7225 芯片数字密码锁电路方案此方案虽能完成本次的基本要求,语音功能不强,只有预定的几个语音,而且需要单独的语音芯片、价格昂贵。更致命的是密码简单、破解密码很容易。若有人按动任一伪码键,每按一次 LS7225 脚输入一正脉冲, 脚便输出一个宽度为 15ms 的正10 5脉冲,一方面加至 CD4017 脚(CP)进行计数,另一方面触发 KD 353 发出一次“叮14咚,您好!请开门”的语音呼叫声。因此如果有人试探门的密码只要每个键按下就可以知道哪四个键不是伪码键(因为按伪码键会发出一次“叮咚,您好!请开门”的语音呼叫声)
22、。然后再按最多 4!=24 次就可以破解密码进入房屋。时间方面 由于 12s5电路恢复一次,识别伪键的时间是 12*3=36s,破解密码的时间是 24*12s=288s。加起来 324s 即 6 分钟左右可以破锁而入。2.2 采用数字电路控制其原理方框图如图 22 所示。图 22 数字密码锁电路方案采用数字密码锁电路的好处就是设计简单。用以 74LS112 双 JK 触发器构成的数字逻辑电路作为密码锁的核心控制,共设了 9 个用户输入键,其中只有 4 个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间超过 40
23、秒(一般情况下,用户不会超过 40 秒,若用户觉得不便,还可以修改)电路将报警 80 秒,若电路连续报警三次,电路将锁定键盘 5 分钟,防止他人的非法操作。电路由两大部分组成:密码锁电路和备用电源(UPS),其中设置 UPS 电源是为了防止因为停电造成的密码锁电路失效,使用户免遭麻烦。密码锁电路包含:键盘输入、密码修改、密码检测、开锁电路、执行电路、报警电路、键盘输入次数锁定电路。此方案和上一方案有雷同,密码修改不容易,一旦被别人知道其采用的电路容易被不法分子破解密码。62.3 采用单片机控制采取 51 单片机作为我们的控制核心,然而,语音录取、语音提示功能、密码断电保护功能需要我们外扩集成芯
24、片才能满足系统要求。在此种条件下我们用 51 单片机做出了一个简单的系统,基本实现了电子密码锁的键盘输入和显示功能。具体电路图图23 如下:语音信号处理模块MCU键盘显示及系统执行机构电源管理CODEC FLASH系统控制模块图 23 单片机控制方案其实现功能如下:1、 设置密码,断电不保护;2、 输入密码,与系统原有密码或者设置新密码比较;3、 液晶显示功能;4、 报警功能;显然,这个“最小系统”的制作无法满足我们预期的功能实现,如果采用外扩集成芯片的做法,不仅从技术上,还是从经济方面考虑都不是一个明智的选择。2.4 采用凌阳单片机SPCE061A 为凌阳科技新推出的 unSP 内核的高集成
25、度,高性能十六位单片机。 nSP 内核 CPU。我们采用凌阳单片机作为我们的控制电路核心,凌阳十六位单片机不仅内置 32kFlash(闪存),而且集成了语音录音与播放模块。利用其强大的语音功能,不仅实现了语音播放功能,完成了语音提示的要求,利用其内置的 Flash 闪存,实现了密码的断电保护和客人留言及电话号码的存储。除此而外,利用键盘输入与 6 个数码管的配合使用,使操作简单明了。次密码长度可以任意设定。我选择的是凌阳单片机,其特点主要是:71、16 位 nSP微处理器; 2、工作电压(CPU) VDD 为 2.43.6V (I/O) VDDH 为 2.45.5V ;3、CPU 时钟:0.3
26、2MHz49.152MHz ; 4 、内置 2K 字 SRAM; 5、内置 32K FLASH,比起其他 c51 系列有足够的空间存储语音信号;6、可编程音频处理; 7、晶体振荡器; 8、系统处于备用状态下(时钟处于停止状态), 耗电仅为 2A3.6V;9、2 个 16 位可编程定时器/计数器(可自动预置初始计数值); 10、2 个 10 位 DAC(数-模转换)输出通道; 11、32 位通用可编程输入/输出端口; 12、14 个中断源可来自定时器 A / B,时基,2 个外部时钟源输入,键唤醒; 13、具备触键唤醒的功能; 14、使用凌阳音频编码 SACM_S240 方式(2.4K 位/秒)
27、,能容纳 210 秒的语音数据; 15、锁相环 PLL 振荡器提供系统时钟信号; 16、32768Hz 实时时钟; 17、7 通道 10 位电压模-数转换器(ADC)和单通道声音模-数转换器; 18、声音模-数转换器输入通道内置麦克风放大器和自动增益控制(AGC)功能; 19、具备串行设备接口; 20、具有低电压复位(LVR)功能和低电压监测(LVD)功能; 21、内置在线仿真电路 ICE(In- Circuit Emulator)接口; 22、具有保密能力; 23、具有 WatchDog 功能。通过比较以上四种方案,单片机编程方式的设计已成为设计主流。51 单片机方案有较大的活动空间,但完成
28、本设计的全部功能比较复杂。而使用凌阳 16 单片机不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级,而凌阳单片机成本低、性价比高、运行可靠:SPCE061A 有丰富的 I/O 资源,外围电路相对简单,尤其是对数字语音处理时几乎不用外接电路。从根本上,凌阳单片机满足了系统的基本要求。下面一章我们介绍一下凌阳单片机。8第 3 章 凌阳单片机简介凌阳 SPCE061A 是凌阳科技公司研发的 16 位单片机,特点是高速、低功耗、强大的 I/O 口功能、具有 DSP 功能。本设计只占用了 SPCE061A 的一部分资源,在此基础上可以开发出功能更强的产品。而语音播放、语
29、音识别、语音录制等 API 函数可以直接调用,缩短了开发者的开发周期。3.1 SPCE061A 芯片介绍SPCE061A 是凌阳科技研发生产的性价比很高的一款十六位单片机,它采用高性能的 unSP 内核,具有丰富的硬件资源,并集成了 ICE(在线仿真电路)接口,可以直接利用该接口对芯片进行下载(烧写)、仿真、调试等操作。下图图 31 为SPCE061A 单片机的内部结构框图: 图31 SPCE061A内部结构框图另外,SPCE061A 单片机具有易学易用的效率较高的一套指令系统和集成开发环境。在此环境中,支持标准 C 语言,可以实现 C 语言与凌阳汇编语言的互相调用,并且提供了语音录放的库函数
30、,只要了 解库函数的使用,就会很容易完成语音录放,这些都为软件开发提供了方便的条件。SPCE061A 的特性参数如表 3-1 所示:9表3-1 SPCE061A 的系统特性参数特性参数 说明工作电压 (CPU)VDD 为 3.03.6V,(I/O)VDDH 为 VDD5.5VCPU 工作频率 0.3249.152MHz数据存储器 2K Word SRAM程序存储器 32K Word FLASH-RomI/O 端口 2 组 16 位可编程输入 /输出端口中断 14 个中断源, FIQ 和IRQ 两个中断优先级定时器/计数器 两组 16 位可编程定时器/计数器模/数转换器 7 通道 10 位电压
31、ADC 和单通道 10 位声音 ADC数/模转换器 2 个 10 位 DAC 输出通道UART 一个全双工通用异步串行接口SIO 一个同步串行设备接口节电功能 具备弱振方式和睡眠方式WatchDog 功能 具备清除时间周期为 0.75s 的看门狗其它功能 低电压复位、低电压监测、保密功能等3.2 61 板介绍SPCE061A 精简开发板(简称 61 板),是以凌阳 16 位单片机 SPCE061A 为核心的精简开发仿真 实验板。61 板集成了几个实用的模块,为开发者提供了很好的开发平台。3.2.1 61 板的结构和功能61 板除了具备单片机最小系统电路外,还包括有电源电路、音频电路(含 MIC
32、 输入部分和 DAC 音 频输出部分)、复位电路等,采用电池供电,方便随身携带。61 板上有调试器接口(Probe 接口)以及下 载线(EZ_Probe)接口,分别可接凌阳科技10的在线调试器、简易下载线,配合 unSP IDE,可方便地在板 上实现程序的下载、在线仿真调试。图 3-2 是 61 板(V1.6 版)的实物图。图3-2 61 板实物照片61 板的硬件结构框图如图 3-3:图3-3 61板的硬件结构框图如图上图中的各部分硬件说明如表 3-2 所示。表3-2 61板各部分硬件说明名称 说明POWER 5V 和 3.3V 供电电路S4 复位按键S5 EZ-PROBE 和 PROBE 切
33、换的 3 pin 排针EZ-PROBE 下载线的 5 pin 接口MIC 麦克风输入电路VRT A/D 转换外部参考电压输入接口K1K3 扩展的按键,接 IOA0IOA2PLL 锁相环外部电路11RESET 复位电路PROBE 在线调试器 5 pin 接口J3 2 pin 喇叭插针OSC 32768Hz 晶振电路PORTA/B 32 个 I/O 口61 板的硬件电路大体上可分为 SPCE061A 最小系统、电源电路、音频电路、 ICE 接口等模块,下面分别介绍 61 板的各部分电路。3.2.2 SPCE061A 最小系统SPCE061A 最小系统中,包括 SPCE061A 芯片及其外围的基本模
34、块,其中外围的基本模块有:晶振 输入模块(OSC)、锁相环外围电路(PLL )、复位电路(RESET)、指示灯(LED)等,如图3-4所示。图3-4 SPCE061A最小系统3.2.3 电源电路 图 3-5 是电源部分的电路,由电池盒提供的 4.5V 直流电压经过 SPY0029 后产生3.3V 给整个系统供电。SPY0029 是凌阳公司设计的电压调整 IC,采用 CMOS 工艺,具有静态电流低、驱动能力强、线性调整出色等特点。 12图中的 VDDH3 为 SPCE061A 的 I/O 电平参考,如果该点接 SPCE061A(PLCC84封装,下面的介绍中当出现 SPCE061A 的引脚描述时
35、,均指此封装的芯片)的 51 脚,可使 I/O 输出高电平为 3.3V; VDDP 为 PLL 锁相环电源,接 SPCE061A 的 7 脚;VDD和 VDDA 分别为数字电源与模拟电源,分别接 SPCE061A 的 15 脚和 36 脚;AVSS1是模拟地,接 SPCE061A 的 24 脚;VSS 是数字地,接 SPCE061A 的 38 脚; AVSS2接音频输出电路的 AVSS2。图 3-5 电源电路图3.2.4 音频电路 音频电路由音频输出和音频输入两部分组成。图 3-6 是音频输出电路图。SPCE061A 内置 2 路 10 位精度的 DAC,只需要外接功放电路即可完成语音的播放。
36、图 3-6 音频输出电路上图中使用 SPY0030 是凌阳的一款音频放大芯片,与 LM386 相比 SPY0030 具有工作电压范围宽,输出功率大等优点。(SPY0030 工作电压 2.46V,LM386 工作电压4V;SPY0030 最大输出功率 700mW,LM386 输出功率 100mW)。SPCE061A 芯片中已经集成了音频输入专用 ADC 以及 AGC 放大电路,因此芯片外部的电路比较简单,图 3-7 是 61 板的音频输入电路模块。13图 3-7 音频输入模块3.2.5 ICE 接口电路 SPCE061A 芯片内部集成了 ICE(在线仿真)接口, PC 机通过 Probe(在线调
37、试器)或 EZ_Probe(简易下载线)与 61 板相连,就可以方便地完成程序的下载、调试等。61 板为 Probe 和 EZ_Probe 各自提供了一组接口,可通过 S5 跳线来选择使用的接口类型。ICE 接口部分电路如图 3-8 所示。图 3-8 ICE 接口电路3.3 凌阳音频编码介绍 SPCE061A 内置了专用的 MIC 输入通道和音频输出 DAC,并具有较高的处理速度,因此非常适合对音频信号的处理,如语音播放、语音录制等。由于未经处理的音频资源数据量很大,对于单片机来说,数据的存储和传输都比较困难,这使得音频压缩编码成为音频处理的重要环节。为方便用户将 SPCE061A 应用于语音
38、产品,凌阳公司提14供了多种音频编解码算法及其 API 函数库,即 SACM-LIB(文件名为SACMV26e.lib,26e 为版本号)。该函数库将 A/D、编码、解码、存储及 D/A 做成相应的模块,每个模块都有其应用程序接口 API,用户只需了解每个模块所实现的功能及其参数的内容即可。SACM-LIB 库中包含的常用音频编解码算法如表 3-3 所示。表 3-3 常用音频编解码算法模块名称 语音压缩编码率类型 特点 SACM_A2000 16Kbit/s, 20Kbit/s, 24Kbit/s 高质量,高码率,适用于高保真 音乐和语音SACM_S480 4.8Kbit/s, 7.2Kbit
39、/s 压缩比大,计算量大,音质不高SACM_DVR 16Kbit/s 采用 A2000 编码,用于录音3.3.1 SACM_S480 介绍SACM_S480 压缩算法的压缩比较大,音质没有 SACM_A2000 好,适用于对音质要求不是很高的语音播放场合,但完全满足本系统的设计。常用的 SACM_AS480 库函数如表 3-4。 表 3-4 SACM_S480 常用库函数函数名称 功能 参数 返回值 SACM_S480_Initial 语音播放初始化。Init_Index:0-手动方式,1-自动方式 1: 初始化失败 0: 初始化成功 SACM_S480_ServiceLoop 从资源中获取语
40、音资料,填入解码队列中,并进行解码等操作。 无 无 SACM_S480_Play 开始播放 Speech _Index:语音索引号 Channel:1-通过DAC1播放,2-通过DAC2播放,3-通过DAC1和DAC2同时播放 Ramp_Set:0-禁止淡入淡出效果,1-声音淡入,2-声音淡出,3-声音淡入淡出 无 SACM_S480_Stop 停止播放语音 无 无 SACM_S480_Pause 暂停播放语音 无 无 SACM_S480_Resume 恢复暂停播放的语音 无 无 SACM_S480_Volume 设置播放音量 Volume_Index:音量大小,范围为0-15 无 15SAC
41、M_S480_InitDecode 初始化译码队列 Channel:1-通过DAC1播放,2-通过DAC2播放,3-通过DAC1和DAC2同时播放 无 SACM_S480_TestQueue 获取语音队列的状态 无 0: 语音队列不空不满1: 语音队列满 2: 语音队列空 F_FIQ_Service_SACM_S480 中断服务子程序,将解码后的语音资料送入DAC通道播放 无 无 3.3.2 录音、放音流程SACM_DVR 录音程序流程如图 3-9 所示。在程序初始化之后,不断将采集到的语音数据进行压缩编码,然后存储在特定的存储空间中。而语音数据采集是通过中断服务程序实现的,在 FIQ_Tim
42、erA 中断服务程序中调用 F_FIQ_Service_SACM_DVR 函数完成语音采集。16图 3-9 SACM_DVR 录音流程SACM_DVR 编码实际上使用了 SACM_A2000 压缩算法,因此录制的语音资源可以利用SACM_A2000 播放出来。SACM_DVR 也提供了一组库函数,用来播放录制的语音资源,其程序流程如图 3-10 所示。17图 3-10 SACM_DVR 放音流程除了 SACM_A2000、SACM_S480 和 SACM_DVR 之外,SACM-LIB 音频函数库还提供了SACM_S240(2.4K bit/s 语音编解码)、SACM_MS01(音乐合成)等音
43、频模块,本系统只采用了 SACM_S480,其他这里不再一一赘述。18第 4 章 应用软件及系统程序介绍4.1 应用软件介绍61 板的核心芯片 SPCE061A 芯片内部集成了 ICE(在线仿真)接口,61 板上集成了可以使 SPCE061A 单片机正常工作所必备的最小系统外围模块,为用户准备好了基本硬件开发条件;在软件以及调试连接设备方面,用户只需要有 Probe(在线调试器)或EZ_Probe(简易下载线),将 61 板与 PC 机连接起来;在软件方面,只要在 PC 机上安装简单易学的集成开发环境 nSP IDE,进行程序的编辑和程序运行结果的查看;这样就能进行系统的仿真、调试、程序下载了
44、。如图 4-1 为利用 61 板进行开发的系统框图。图 4-1 利用 61 板进行开发的系统框图另外,SPCE061A 还具有凌阳格式的语音播放功能,如果要进行一般语音资源的播放,还需要凌阳的语音压缩工具 Compress Tool;同时,凌阳科技大学计划还提供了利用 61 板进行凌阳格式语音播放的 API 函数。 下面简单介绍 nSP IDE、Compress Tool。 4.1.1 nSP IDE nSP IDE 集程序的编辑、编译、链接、调试以及仿真等功能为一体。具有友好的交互界面、下拉菜单、快捷键和快速访问命令列表等,使编程、调试工作方便且高效。此外,它的软件仿真功能可以在不连接仿真板
45、的情况下模拟部分硬件的功能来调试程序。 另外,nSP IDE 支持多窗口操作,用户可以在主界面里同时打开多个窗口,如图 4-2 所示。用户的程序可以由多个文件(C 语言、汇编语言文件,以及头文件、资源文件等)组成。nSP IDE 对于多文件程序采用建立项目的方式对其进行管理,用户可以在此项目中随意地添加或删除程序文件。19主界面里通常有三个主要窗口(图 4-2):Workspace(工作)窗口,Edit(编辑)窗口和 Output(输出)窗口。进行窗口切换只需在各窗口处单击鼠标左键即可。此外,主界面里还提供下拉菜单、工具栏等。图 4-2 nSP IDE 的主界面凌阳十六位单片机集成开发环境采用
46、项目方式进行文件管理。项目 (Project)就是为用户建立起来的一个文件管理系统,提供用户程序及资源文件的编辑和管理。使用时可以认为 nSP IDE 具有两种状态:一种为编辑状态,即用户可以对工程进行文件增删、设置操作,或者对某一个源程序文件进行程序编写;另一种为仿真调试状态,即用户的整个工程通过编译后,可以进入该状态将程序运行起来,以验证程序正确性,或者将程序下载到 SPCE061A 中,并可进行在线调试。 nSP IDE 的仿真调试状态又分为:软件仿真和在线调试。用户可以通过设置选择两者之一,软件仿真时无需硬件的开发板以及下载线(Ez-probe)或在线调试器(probe);而在线调试时
47、,需要将开发板、probe(或 Ez-probe)连接好,并为开发板供电。在两种调试过程中,均有单步运行、全速运行、断点调试等调试方法,并可通过变量窗口、寄存器窗口、内存窗口、反汇编窗口等窗口观察调试结果,方便用户进行软、硬件调试。软件仿真时,集成开发环境可以仿真部分硬件模块功能。这些均为各种软件开发(包括电子竞赛)提供了方便。如图 4-3 为调试状态界面。20图 4-3 程序调试界面 4.1.2 Compress Tool 凌阳语音压缩工具(Compress Tool)支持.wav 格式的语音压缩,但要求压缩前的语音资源(即 Wave 文件)属性为 8k,16 位,单声道,其界面如图 4-4。图 4-4 Compress Tool 工具界面21Compress Tool 可以压缩单个 wav 文件,也可以压缩多个 wav