版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、录音笔的设计与实现 摘摘 要要 随着电子技术的飞速发展,数码录音笔已得到了越来越多的人得青睐,论文通过 对多种录音笔的设计方案进行了比较和分析,选定凌阳单片机设计了一个数字录音笔。 论文首先介绍了设计方案的选择,介绍了凌阳单片机的集成开发环境。接着进行 了系统的硬件设计,包括音频输入输出电路的设计、存储电路的设计、按键控制电路 的设计、液晶显示电路的设计等,设计中采用了凌阳的功放芯片 SPY0030,利用了单 片机其串行接口 SIO 实现上位机与下位机的通讯,利用 UART 的 RS232 接口与 PC 机 232 接口进行连接,并设置了 8 位键盘和 LCD 显示的人机界面。然后分模块进行了
2、软 件设计,包括主程序模块、语音信号的采集模块、键盘扫描模块、语音信号存储模块 的设计等,进行了程序流程的设计,编写了程序代码。最后使用 IDE 进行了仿真调试, 验证了系统设计的正确性。系统实现了语音数据的录制、播放、暂停、循环播放、重 复播放、选择上一段、选择下一段以及与 PC 机进行数据传输等功能,设计具有一定 的应用价值。 关键词:单片机,录音,放音,电路设计,软件实现 ABSTRACT As the swift development of the electronic technology, the digital voice editor has become more and
3、more favored nowadays. Through comparison and analysis to various design proposals of the digital voice editor, this thesis presents the designing process of a digital voice editor, using Lingyang single-chip microcomputer. First of all, we give an introduction for the selection of the designing pro
4、posal, and the IDE (integrated development environment) of Lingyang single-chip microcomputer. Secondly, systematical hardware designing is carried out, including the design of the output circuit, memory circuit, button-control circuit, LCD circuit and so on. In the designing, we adopt the Lingyang
5、amplifier chip SPY0030, apply the single-chip microcomputers SIO (serial interface) to realize the communication between the host computer and slave computer, connect the UARTs RS232 interface with the PCs 232 interface, and set the eight buttons as well as the human-computer interface. Then we have
6、 a modular software design, consisting of the module of the main program, the acquisition module, key scanning module and memory module for the voice signal. Meanwhile, we accomplish the design of the program flow and write the source code of the program. In the integrated development environment (I
7、DE), the validity of the systems designing has been verified through simulate debugging. The system can fulfill the functions presented on the buttons such as “record”, “play”, “pause”, “loop play”, “replay”, “last recorded file play”, “next recorded file play” and “data transmission with PC”, which
8、 represents the application significance of the design to a certain extent. Keyword:Keyword: single-chip microcomputer, record, play, circuit design, software realization 目 录 第 1 章 录音笔设计方案与论证.1 1.1 引言.1 1.2 录音笔设计方案的提出.1 1.3 录音笔设计方案分析论证.2 1.4 录音笔设计方案的确定.3 第 2 章 凌阳单片机开发环境介绍.4 2.1 系统硬件资源.4 2.1.1 SPCE06
9、1A 功能及其特点.4 2.1.2 应用领域.5 2.2 软件开发环境 IDE.5 2.2.1 nSP IDE 窗口.5 2.2.2 工程的操作.8 第 3 章 硬件设计.10 3.1 系统总体方案介绍.10 3.2 系统电源电路.11 3.3 SPCE061A 最小系统设计.12 3.4 音频电路.13 3.4.1 音频输入电路.13 3.4.2 A/D 转换接口.15 3.4.3 D/A 转换模块.16 3.4.4 音频输出电路.17 3.5 SPR4096 存储电路.18 3.5.1 串行设备输入输出口(SIO).19 3.6 按键控制电路.20 3.7 液晶显示电路.20 3.8 通用
10、串行通信接口 UART 模块.22 第 4 章 软件设计.23 4.1 软件设计流程图.23 4.2 分模块软件设计.25 4.2.1 主程序模块.25 4.2.2 语音信号的采集.25 4.2.3 键盘扫描模块.27 4.2.4 语音信号的存储.30 4.2.5 LVD 低电压检测.31 4.2.6 UART 模块.31 4.2.7 看门狗计数器(WatchDog).33 4.2.8 系统调试与总结.33 结论.35 参考文献.36 致谢.37 附录.38 第 1 章 录音笔设计方案与论证 1.1 引言 随着视听家电产品的不断丰富,已经有越来越多微小型化的产品走入了人们的日 常生活,他们最突
11、出的优点是体积小巧、非常薄,而且重量很轻,给人们带来方便, 并增添了无穷乐趣。作为一种简单方便地获取和记录数字化声音文件的工具,数码录 音笔从 2000 年开始风靡市场,成为学生、记者和商务人士购置录音设备的首选。不 仅在校园里取代了复读机,也成为时间紧张的在职进修人员的掌上新宠。带 FM 功 能的数码录音笔,还可以便利地收听调频广播外语教学节目。 数码录音笔,实际上是一种采用数码录音技术的录制设备,通过对声音进行采集、 压缩、存储到闪存(Flash Memory)进行记录,无需使用额外的录音磁带、话筒等设备, 音质清晰逼真,即使反复播放其音质也毫无损失。 在设计中将说明怎样利用凌阳 16 位
12、单片机 SPCE061A 来实现一个录音笔系统。 SPCE061A 该款单片机资源丰富,有强大的数字语音处理功能可应用与语音播放和语 音识别领域,内置有 2 路 DA 转换,8 路 AD 转换及在线仿真等丰富的功能,这些都为 实现数码录音和播放提供了良好的方便条件。 1.2 录音笔设计方案的提出 设计要求录音笔实现录音、播放、暂停、循环播放、重复播放、选择上一段、选 择下一段以及与 PC 机进行数据传输的功能。可以看出本次设计的系统的主要部分应 该是括录放音部分再附加上其他的功能部分。因此我们重点对录放音部分实现的方案 做了探讨,方案比较的多,各有其优缺点。现具体分析如下: 方案一:采用处理器
13、集成型可重构系统 PICEX 实现数码录音笔的核心处理部分, 对每一个管理模块、功能实现模块都构建一个可重构模块。在系统完成各种任务时, 可重构模块的运行是完全独立于内核的,在编程中使各模块处于并行运行状态。在录 音状态时各部件采用流水线的方法,即每个部件的输入数据都取自其来源部件给出的 上一个值,各部件几乎同时开始工作,使系统处于在线程级并运行的状态。 方案二:基于单片机、数字信号处理器 DSP 和 FLASH 存储器的数码录放音系统。 在录音时,语音信号经过处理后送到 A/D 转换器,转换成数字信号,在把这些语音数 据送到高速数字信号处理器(DSP)进行压缩,压缩后的语音数据与日期、时间一
14、起 存储到 FLASH 存储器中;回放时,从 FLASH 存储器中读取语音数据送到 DSP 解压,解 压后的数据经过 D/A 转换,还原成语音信号,最后经功放放大后从喇叭输出。 方案三:用 ISP 实现对 ISD25120 语音芯片的录放音控制。以 ISP 技术为手段, 使用系统编程器件 M4-32/32 实现了对单片 ISD25120 语音芯片的录、放音控制。利用 VantisPro 设计软件系统,经过编译后再输入仿真文件,仿真通过后,对系统进行引 脚锁定、熔丝生成、下载编程(IDCD 软件下载编程) 。2 方案四:基于凌阳 16 位单片机的简单开发系统 SPCE061A 精简开发板,利用
15、SPCE061A 的可编程音频处理功能,通过串行输入输出端口 SIO 与同样具有串行接口 的 FLASH(SPR4096)进行数据通讯来开发数码录音及播放系统。通过按键控制系统的 录音、停止、放音等操作。 1.3 录音笔设计方案分析论证 方案一:虽然数据串行化输出、A/D 和 D/A 器件的操作可在内核上实现,当其 他可重构模块在工作时内核处于等待状态,则提高了系统的并行性,接省了系统资源。 但是方案中使用 Samsung 公司的 K9K1208U0A 型 Flash 内存作为存储媒质,这型号 内存为减少连线和封装大小需要有特殊的控制时序和逻辑。因此需要为 Flash 内存控 制专门增加一个可
16、重构部件。对滤波、压缩、解压、信道编码这些需要大量运算或长 时间操作的过程也必须对这四项任务各设计一个可重构部件。这种方案对几个重要过 程都需要单独设计一个可重构部件,设计烦琐工作量大,可重构部件多。同时,虽然 元件级可重构系统在现有的 FPGA 上是可以实现的,但是由于现有 FPGA 体系结构 上的种种限制,诸如最小配置单位过大配置结构复杂等,使这种系统在很多情况下执 行效率反而不及传统的系统结构,大大减少了这类系统的应用范围。综上,故我们不 采取这种方案。 方案二:人们在语音处理的研究中,已经研制出了很多语音编码算法,而有些编 码算法已经被直接固化到 DSP 上,形成专用的基于 DSP 的
17、语音处理芯片。但是在我 们未选择 DSP 芯片主要是基于以下几个因素:(1)运算速度。本系统中,对运算速 度的要求,主要是要满足每一个 A/D 变换后的数据都能及时地存入存储器,而通用 单片机的处理能力已经可以满足需要。 (2)运算精度。本数字录音系统没有复杂的数 学计算,所以没有对运算精度的要求。(3)片内硬件资源。由于系统要求能进行录放 音,所以 A/D 和 D/A 的功能是必需的,对 DSP 芯片,若外接 A/D 或 D/A 元件,增 加了复杂度,也提高了成本。(4)功耗。DSP 芯片实现的功能较多,所以它的功耗相 对较高。因此我不采取这种方案。 方案三:ISP 技术是在一个系统可编程器
18、件上实现对语音芯片的控制。这种控制 直接通过 ISP 器件的硬件电路实现,省去了软件接口程序,使用起来方便快捷。但是 ISD 芯片的控制录放音的两种方式(引脚的边沿或电平触发控制和微控制器串行通信 接口控制)这两种方式都不能用类似文件的方式进行控制,操作不方便,虽然它的存 储器采用的是非易失数据的 EEPROM 但容量较小。因此在设计方案的选取中不选用 这种方案。 1.4 录音笔设计方案的确定 我最后决定采用 SPCE061A 单片机来实现我的设计。SPCE061A 是凌阳科技研发 生产的一款高性价比十六位单片机,把各功能部件模块化地集成在一个芯片里,内部 采用总线结构,减少了各功能部件之间的
19、连线,提高了可靠性和抗干扰能力。片内带 有高寻址能力的 ROM、静态 RAM 和多功能的 I/O 口。芯片工作电压范围大,能在 低电压供电时正常工作,且能用电池供电。其指令系统为其应用增添了 DSP 功能但 是又比专用的 DSP 芯片廉价。对于我的设计来说 SPCE061A 可以非常方便灵活的实 现语音的录放功能,该芯片拥有 8 路 10 位精度的 ADC,其中一路为音频转换通道, 并且内置有自动增益 AGC 电路。这为实现语音录入提供了方便的硬件条件。两路 10 精度的 DAC,只需要外接功放(SPY0030A)即可完成语音的播放。另外凌阳十六位 单片机具有易学易用、高效率的指令系统和集成开
20、发环境。该开发环境支持标准 C 语言,可以实现 C 语言与凌阳汇编语言的互相调用,并且,提供了语音录放的库函 数,只要了解库函数的使用,就会很容易完成语音录放,这些都为软件开发提供了方 便的条件。同时还可根据设计要求在实现基本录放功能的基础上运用 SPCE061A 的 多功能集成功能扩展录放系统的功能。比如,使用 SPCE061A 的通用异步串行接口 UART 来实现与 PC 机的通讯,或者使用其他的 IO 口来外挂 USB 器件实现与 PC 机 的 USB 通讯;进行低电压检测;还可通过 LCD 显示字符、数字等图象,在录音笔设 计系统中可用来显示按键功能等。这样可以制作更复杂的录、放音系统
21、。 第 2 章 凌阳单片机开发环境介绍 2.1 系统硬件资源 2.1.1 SPCE061A 功能及其特点 1)集成度高,易于扩展 凌阳 16 位单片机内部采用总线结构,把各功能部件模块化地集成在一个芯片里, 有效地减少各功能部件之间的连线,提高了集成度,增强了芯片的可靠性和抗干扰能 力。此单片机属于非总线型单片机,省去厂片外的地址、数据及控制并行总线,而外 部封装引脚可明显减少,使芯片成本下降。它既可通过 I/O 端口与外设器件通信,也 可采用串行扩展方式。目前,由于串行传输速度的不断提高,用串行口扩展外围器件, 特别在 SOC 中,已得到了较多的应用。 凌阳 16 位单片机采用 CMOS 制
22、造工艺,有较好的低功耗和功耗管理功能,它提 供了软件激发的弱振方式、空闲方式和掉电方式三种低功耗工作方式,大大降低了芯 片功耗。由于它工作电压范围大,可在低电压供电时正常工作,并可用电池供电,从 而可大幅度地减少器件的功耗。低功耗是一切电子应用系统所追求的目标,特别是在 野外作业、便携式仪器仪表的开发等方面具有特殊的意义。 2)较强的中断处理能力 凌阳 16 位单片机中断系统可支持三种类型的中断:异常中断、事件中断和软件 中断。中断系统共有 10 个中断向量,可响应 14 个中断源的中断请求,由于对外界突 发事件具有快速反应能力,使其适合用于实时控制领域。 3)高效的指令系统 凌阳 16 价单
23、片机的指令系统以字为单位,从而格式紧凑、灵活,执行时间迅速, 并提供了对高级语言和数字信号处理运算能力的良好支持,从而可有效缩短基于凌阳 单片机的各种产品的研发周期。 同时,凌阳 16 位单片机片内还集成了大容量的 ROM、静态 RAM、全双工异步 通信的串行接口、红外收发通信接口、A/D,D/A 转换接口和多功能的 I/O 口。其指 令系统提供的具有较高运算速度的 16 位16 位的乘法运算和内积运算指令。这就使 凌阳 16 位单片机可方便地用于复杂的数字信号处理,却又比常用的 DSP 芯片便宜, 因而具有较高的性能价格比。另外,在 SPCE061 及 SPCE060 单片机中还采用了 F1
24、ash ROM 技术,有 32K Flash ROM 单元。F1ash ROM 的使用使得基于 SOC 的单片 机技术得到进一步发展,极大地改变了单片机应用系统的结构模式、开发与测试手段 以及运行条件。 2.1.2 应用领域 1)学习 Sunplus 的 16 位 SPCE061A 单片机和各类外围器件,比如:串行 Flash 和 SRAM 器件 SPR4096、RS232 器件 MAX3232、USB 器件 PDIUSBD12、LCD GPG12063YS 以及语音录放、键盘显示等等。 2)进行各类接口实验,设计接口转接器,如:USB-232 转换器、232- USB 转换 器。 3)完成基
25、础实验以及毕业设计,也可作为产品设计的应用工具。 4)通过 CPU 内部的 ICE 电路与 IDE 配合,可按单步、断点、连续等方式在线 调试。 5) 实时操作系统的学习,凌阳专为 SPCE061A 单片机写了 MINIOS,可以方 便的学习实时操作系统,并提供强大的技术支持。 6)进行语音数据压缩编码、解码以及存储的学习和开发。8 2.2 软件开发环境 IDE 凌阳十六位单片机 SPCE061A 具有易学易用、高效率的指令系统和集成开发环 境。该开发环境支持标准 C 语言,可以实现 C 语言与凌阳汇编语言的互相调用,并 且,提供了语音录放的库函数,只要了解库函数的使用,就会很容易完成语音录放
26、, 这些都为软件开发提供了方便的条件:nSP IDE 则是这个由凌阳科技提供的一个 集成开发环境,它集程序的编辑、编译、链接、调试和仿真等功能为一体。具有友好 的交互界面、下拉菜单、快捷键和快速访问命令列表等,使程序设计工作更加方便、 高效。此外,它的软件仿真功能可以不连接仿真板,模拟硬件的部分功能来调试程序。 本次设计中选用 IDE184。 2.2.1 nSP IDE 窗口 工具界面: nSP集成开发环境支持 C 和汇编混合编程,可以有效地利用这两种语言的优 点进行在线编程,有利于更加充分地、直观地利用硬件资源。nSP IDE 采用 MFC MDI 机制,因此,用户可以在主界面里同时打开多个
27、窗口,如图 2.1。 主界面包括三个主要窗口:工作区窗口(Workspace window)、编辑窗口(Edit window)和输出窗口(Output window)。只需在各窗口内单击鼠标左键即可把该窗口激 活。此外,在主界面上,还提供工具栏等一些方便用户操作的工具。 图 2.1 IDE 主界面 Workspace 窗口: 在 Workspace 窗口内,用户可查看到当前工程所包括的全部文件。Workspace 窗 口由 FileView 和 ResourceView 两个视窗组成。单击 FileView 标签,用户可以方便浏 览到工程内的各文件。FileView 视窗用层次图排列出当前工
28、程的所有文件的逻辑关系。 Files 文件夹包含了源程序、程序接口和说明硬件配置情况的文件。Resource 文件夹 包括了各种资源文件(rc)。Source Files 文件夹用于保存源文件。Head Files 文件夹用 于保存头文件。External Dependencies 文件夹用于保存对工程的一些标注信息。 ResourceView 视窗列出当前工程用到的所有资源。可以单击视窗内分支顶部旁边的 和号展开和收缩层次图。 (如图 2.2) Workspace 窗口所体现的逻辑位置不是指文件在硬盘上的物理位置,而是指一种 逻辑从属关系。用户可用拖曳的办法改变文件的逻辑位置。在 Works
29、pace 窗口内,不 同类型的文件有不同的图标表现。 图 2.2 Workspace 窗口 Output 窗口: Output 窗口用于显示编译、调试和查找的结果。在窗口底部有几个视窗标签: Build、Debug 和 Find in Files 等。用鼠标单击这些标签,可以激活相应的视窗。 Build:显示编译和链接过程里产生的信息,包括文件编辑过程里的错误和警告 信息等。 Debug:显示程序调试过程里出现的信息。 Find in Files:显示在文件中查找字符的结果。 Edit 窗口:在 Edit 窗口里,文件的打开格式有两种:用户可用文本格式打开文 件,也可以用二进制代码格式打开文件
30、。如图 2.3 图 2.3 Output 窗口 1)文件编辑器(图 2.4) 文本编辑器可以用来打开汇编语言程序和 C 语言程序。 图 2.4 文件编辑器 2)二进制代码编辑器(图 2.5) 二进制代码编辑器让用户在 Edit 窗口里以十六进制数/ASCII 字符的形式来编辑 二进制代码的资源文件。 图 2.5 二进制代码编辑器 2.2.2 工程的操作 2.2.2.1 创建工程过程 1) 选择FileNew,打开 New 对话框如图 2.6,选择 Project 标签; 2) 在 File 文本框内输入工程名称; 3) 在 Location 文本框内输入工程文件的路径; 4) 在 Select
31、 Body Here 区域内选择 Probe; 5)单击OK,创建工程。 图 2.6 创建工程对话窗口 2.2.2.2 开发操作过程 1) 从开始菜单内启动工具; 2) 选择FileOpen Project,在打开对话框内选择所要打开的工程; 3) 窗口(工作区窗口)显示在工具的左半边,在这个窗口内,用户可以看到当 前工程所包含的所有文件; 4) 选择BuildRebuild All,进行源文件的编译和链接。 编译过程里的语法 错误显示在 Output 窗口内; 5) 选择BuildStart DebugDownload,把程序加载到 RAM,然后,用户 可以用 Debug 菜单内所提供的调试
32、命令来优化和运行程序。选择 6、BuildStart DebugGo,在调试器内运行程序。 第 3 章 硬件设计 根据系统设计的要求和凌阳十六位单片机(SPCE061A)所包括的功能,我可以 利用其所具有的特性完成设计所需要达到的各项功能要求。 3.1 系统总体方案介绍 系统结构框图如图 3.1: 图 3.1 系统结构框图 因此在设计中需要使系统具有如下模块: 1) 一路0-3.3V可调模拟电压,可方便地完成AD的数据采集。 2) 采用18键盘使各功能通过按键控制。 3) SIO接口扩展存储芯片SPR4096,扩展4M Bits Flash的扩展存储空间存储所录 语音数据。 4) MIC输入电
33、路,配合SPCE061A内置的AGC和OPI电路,获得语音数据。 5) 两路音频输出电路,采用凌阳功放芯片SPY0030A,通过它完成语音的播放。 6) 利用带背光的12864点阵液晶LCD显示出个按键功能。 7) 使用SPCE061A的通用异步串行接口UART来实现与PC机的通讯。5 下面对各功能模块进行具体描述。 3.2 系统电源电路 凌阳十六位单片机 SPCE061A SPEAKER MIC 按键 SPR4096 UART LCD 系统采用的是开关电源,该电源提供5V电压,用于SPCE061A端口电压和用户实 验电路供电。实验箱的供电电源系统采用多种输入,用户有多种选择方式: (1)22
34、0V交流电压供电:用户可以选择220V交流电压供电,系统已将其经过变压、 稳压处理成5V,再经过一个三端稳压器提供3.3V,供系统工作。 (2)DC5V供电:用户可以直接提供直流5V电压和3.3V电压为实验箱进行供电。 如图3.2所示为电源系统图,包括电源开关,低电压检测供电端子和指示灯,5V供电 端子和电源指示灯。 我所设计的录音笔系统中硬件设备采用由220V交流电压供电。由于在系统中要 运用到LCD和SPR4096,他们的接口逻辑电压为3.3V,并且我选用了SPR4096内部存 储空间较大的4M Bit FLASH存储语音数据,而电源输入端VDDI是给内部FLASH和控 制逻辑供电的,VD
35、DI:2.25V-2.75V。因此系统电压选择了采用220V交流电压供电。 图 3.2 电源电路 3.3 SPCE061A最小系统设计 前面已经提到我所设计的录音笔系统的核心采用SPCE061A。SPCE061A内置的7 路10bitAD转换器和2路音频输出电路使得设计电路简单了很多。SPCE061A最小系统 如图3.3。 图3.3 SPCE061A最小系统 芯片提供两个16位通用的并行I/O口:IOA0-IOA15,IOB0-IOB15。这两个口的每 一位都可以通过编程单独定义为输入或输出口。其中A口的IOA0-IOA7用作输入口时 具有触键唤醒功能,可以应用于低功耗的场合。 鉴于所要求功能
36、,我将IOA0-IOA7与18键盘连接,A0-A7做输入口。SPCE061A 的并行I/O口可以通过编程设置为上拉输入、下拉输入、悬浮输入或同相输出、反相 输出的状态。要求按键执行程序所定义功能因此设置为下拉输入。 3.4 音频电路 音频电路由音频输入电路以及音频输出电路两部分组成。 3.4.1 音频输入电路 音频输入电路包括MIC录音输入和AGC电路。 人的声音频率在300Hz-3400Hz范围之内,因此所设计的录音笔只需要记录这样 一个范围的声音信号即可。 在这里把要记录的语音信号最高频率定为4KHz,根据公式:f采样 采样=2f低通低通规定系统 的采样频率为8KHz。当录入的语音信号有高
37、于4KHz的部分时,则把高于4KHz频率 的信号认为是噪声。噪声是不需要记录的,所以应该把高于4KHz的声音频率排除在 记录范围外,因此需在ADC电路前加一个截止频率为4KHz的前置低通滤波器用来滤 除噪声。前置低通滤波器电路如图3.4,滤波器的频谱图如图3.5。9 MIC 图3.4 MIC输入驱动电路与前置低通滤波器图 f f H(e ) jw 图3.5 前置低通滤波器频谱图 SPCE061A内置的AGC电路,它的作用是当输入信号较强时使放大器增益自动降 低;当信号较弱时,又使其增益。因此,从MIC输入的音频信号经过SPCE061A内置 的AGC电路将语音信号的放大值控制在一定范围内,便可进
38、行AD转换。 输入信号有两个通道:一个由LINE_In通道输入;另一个由MIC_In通道输入。 MIC_In一般用于麦克风通道插入,专门用于对语音信号进行采样。语音信号经MIC 转换成电信号,由隔直电容隔掉直流成分,然后输入至SPCE061A内部前置放大器。 在MIC_In前端有两级OP放大器,因此对信号的放大有两种选择,一是在关闭 SPCE061A内部自动增益控制电路AGC时,MIC_In前端的OP放大器使信号放大。二 是启用AGC自动调整增益的值,以防止信号饱和。AGC能随时跟踪、监视前置放大 器输出的音频信号电平,当输入信号增大时,AGC电路自动减小放大器的增益;当 输入信号减小时,AG
39、C电路自动增大放大器的增益,以便使进入A/D的信号保持在最 佳电平,又可使削波减至最小。当OPAMP2的输出0.9AVdd时,AGC自动降低 OPAMP1的增益,以防止被放大的信号饱和。因此为了能更好的控制系统所获取的信 号选择启用AGC。其输入接口电路如图3.6。 图3.6 ADC输入接口的结构 3.4.2 A/D转换接口 模/数转换器ADC是外界与计算机进行信息传递的通道。它是一种信号转换接口, 可以把模拟量信号转换成数字量信号以便输入给计算机对其进行各种处理。芯片采用 逐次逼近式原理实现A/D转换。ADC的结构及工作原理是:由10位数/模转换器 DAC0、10位缓存器DAR0、逐次逼近寄
40、存器SAR以及比较器COMP组成逐次逼近式的 ADC,如图3.7中虚线框内所示。图中的ADC有两种工作方式:手动方式和自动方式。 在 ADC 自动方式被启用后,会产生出一个启动信号,此时,DAC0 的电压模拟量输 出值与外部的电压模拟量输入值进行比较,.逐次逼近式控制首先将 SAR 中数据的最高 有效位试设为1,而其它位则全设为0,即 10 0000 0000B.这时,DAC0 输出电压 VDAC0(1/2 满量程)就会与输入电压 VIN 进行比较.如果 VINVDAC0,则保持原先设 置为1的位(最高有效位)仍为1;否则,该位会被清0.接着,逐次逼近式控制又将下一位 试设为1,其余低位依旧设
41、为0,即 0000B,VDAC0 与 Vin 进行比较的结果若 VinVDAC0,则仍保持原先设置位的值,否则便清0该位.这个逐次逼近的过程一直会延 续到 10 位中的所有位都被测试之后, A/D 转换的结果保存在 SAR 内. 图3.7 逐次逼近式的ADC结构 ADC在手动方式下取消了自动方式的逐次逼近寄存器SAR的功能,取而代之的是 内部比较器COMP和缓存器DAR0,以模拟SAR的作用。换言之,手动方式是指须用 软件程序来控制模拟信号的输入采样或保持,通过写入A/D数据单元来控制比较器基 准电压值VDAC0,以及通过读比较器的比较结果来推测模拟输入电压值VIN。当外 部2V的电压模拟信号
42、输入到ADC的输入端上,可试着写入A/D数据单元一个数字量值 B,它实际对应于1.8V电压模拟量。由于2V1.8 V,故COMP第一次比较输出的结果 为1 ,则ADC的转换结果暂为B。接着写入A/D数据单元下一个数字量值。 7 在对 系统硬件设计中,我根据设计要求将ADC设计为手动方式。 3.4.3 D/A 转换模块 单片机内部D/A转换电路的使用与其它内部接口的使用相同,都是可编程控制的 接口,通过程序设置其工作方式、工作状态等。SPCE061A单片机内部有DAC1和 DAC2两路10位的DAC转换器,可以形成双通道的音频输出,也可以作为其它的模拟 输出信号。转换输出是以模拟电流信号的方式分
43、别通过AUD1和AUD2管脚输出。 DAC与SPCE061A连接图如图3.8。 DAC1_PIN21 DAC2_PIN22 S SP PC CE E0 06 61 1A A D D A A C C SPY0030 图3.8 DAC与SPCE061A连接图 3.4.4 音频输出电路 音频输出电路采用凌阳功放芯片 SPY0030,SPY0030 音频输出大于 700mw,而 供电电压仅需 2.4V。电路中 SPY0030 的放大倍数被固定为 20 倍,音量的大小可以通 过电位器调整。喇叭直流阻抗 8 欧,左右两个通道音量分立调节并备有两个外部音频 信号放大输入端。录入后的语音信号经 MIC 转换成
44、电信号,由隔直电容隔掉直流成 分,然后输入至 SPCE061A 内部前置放大器,经过 2 路 10 位精度的 DA 转换后,通 过功放 SPY0030A 即可完成语音的播放。音频输出扬声器驱动电路图,如图 3.9。7 图3.9 音频输出扬声器驱动电路 SPCE061A的音频输出有两种方式,一种是音调输出方式(Tone Mode) ,另一种 则为语音输出方式(Speech Mode) ,如图3.10所示。二者的区别在于其输出的控制机 理不同。前者是通过控制Timer溢出所产生的不同频率来决定声波振动次数的多寡, 从而决定发出的声音音调的高低,譬如好听的乐音;后者则是用与声音(不论是音乐 还是语音
45、)数据采样率相同的速率将声音数据通过数/模转换(D/A)通道还原成音频 电压或电流输出,其中声音数据采样率可决定声音音质的好坏,并决定了声音数据所 需占据的存储空间。在本系统设计中我采用语音输出方式,数据采样率采用相同的 8KHz。音频输出波形参见图3.11。12 DA C Speech Mode 音频输出 Ti mer方波输出乘法器 Tone Mode 图3.10 音频输出方式硬件实现图v t 语音输出方式 图3.11 语音输出方式音频输出波 形图 3.5 SPR4096存储电路 SPR4096为自带SIO接口的FLASH/SRAM存储芯片,SIO是一种串行输入输出接 口,它可以与其它设备进
46、行数据通讯,在SPCE061A内通过IOB0和IOB1端口复用实现 与设备进行串行数据交换,SPR4096与SPCE061的硬件连接如图3.12,SPR4096的 SCK接SPCE061A的IOB0,SDA接SPCE061A的IOB1。SPR4096与SPCE061A之间的通 讯采用SIO协议来实现的。使整个系统扩展了4M BitFLASH/32K BitSRAM,这同语音 录放相配合会产生很好的效果。 图3.12 SPR4096和SPCE061A的连接图 在所设计的系统中SPR4096串行接口运行时的工作频率可达5MHz。SPR4096有 两个电源输入端VDDI和VDDQ。VDDI是给内部F
47、LASH和控制逻辑供电的;VDDQ是 专门为I/O供电的。供电电压为VDDQ:2.25V-3.6V,VDDI:2.25V-2.75V。SPR4096电 路与SPCE061的IO接口为:IOB0_SCK,IOB1_SDA,IOB2_CS_FLASH,其中 IOB2_CS_FLASH口用于控制SPR4096内FLASH与SRAM的选择,当IOB2_CS_FLASH 为低电平的时候选择FLASH,当为高电平的时候用于选择SRAM。 如图3.13为FLASH部分电路原理图,SDA为数据传输位、SCK为同步时钟输入位。 REST_N_4096 VDD1 VDDQ VSS NC VSS CF3 NC CF
48、4 SCK VSSQ CF7 SDA VSS IOB_SDA IOB_SDA IOB0_SCK VSSJDH1 图3.13 FLASH部分电路原理图 3.5.1 串行设备输入输出口(SIO) SIO的电路连接原理图如3.14: VSS SCK VSSQ SDA VDD CF0 SPCE061A CF1 CF2 CF7 VDD1 1 2 3 4 5 6 S IOB0 IOB1 IOB2 SCK SDA SCK SDA 图3.14 SIO电路原理图 SIO 的读写操作时序如图3.15: 写操作时序 读操作时序 SCK SDA SCK SDA SDA SDAAx+1AxAx-1A0 Dx+1 DxD
49、0 Dx+1 DxD0 Ax+1AxAx-1A0 Dx+1 DxD0 Dx+1 DxD0 STOP STOP 图3.15 SIO读写操作时序 串行输出入端口SIO提供了一个1位的串行接口,用于与其它设备进行数据通讯。 在SPCE061A内通过IOB0和IOB1这2个口来实现与设备进行串行交换数据的功能。其 中,IOB0用来作为时钟口(SCK),IOB1则用来作为数据端口(SDA),用于串行数据的接 收或发送。SIO传输速率最快可设为CPUCLK/4,默认值为CPUCLK/16。SPCE061A 的SIO速率最快可达12288KHz。SIO可根据外设的差别来选择不同的寻址模式,有 8/16/24
50、位三种寻址模式可选择。 3.6 按键控制电路 18键盘的8列分别定义为 COL1、COL2、COL3、COL4、COL5、COL6、COL7、COL8,行定义为ROW。在 系统设计中将IOA0-IOA7分别与COL1-COL8连接,IOA8与ROW连接。用户可自行选 择ROW接至DGND或VDDIO。设置相应的控制口为下拉输入,如果某个按键按下, 表示该按键对应的输出端变为高,便可检测出是哪个按键被按下。设计所设置的按键 功能如表3.16。 1键2键3键4键5键6键7键8键 录音停止放音播放上一段播放下一段删除全部单首循环低电压检测 表3.16 按键功能 3.7 液晶显示电路 我在设计中所选用
51、的LCD液晶模组是12864的点阵LCD,SPLC501是凌阳的LCD 驱动芯片,采用最新的COG技术使驱动和液晶合二为一,这使得外围电路非常简单, 编程同样也很简单。在系统设计要求的基础上我加入LCD模组完成所要求的显示实验,使 得在系统运行按键时LCD会有相应的显示,可以读出相关的信息。LCD与SPCE061A的 连接图,如图3.18所示。在LCD旁边会有一个HEADER162芯片,如果将其与LCD短 接,则为默认I/O接法,我们还可以用排线自选I/O进行连接,芯片的各个排针的具体 含义请参见表3.17。LCD与IO口的连接方式是:DB0-DB7接到IOA8-IOA15;CS具体 连接方式
52、视实际情况而定。若端口复用,则CS可连接至IOB9,若无需端口复用,CS 可简化连接至DGND; RESET接到系统的RESET, A0接到IOB4, R/W接到IOB5,EP接到 IOB6,这是默认连接方式,也可以通过排线根据需要进行连接。在设计中我用A0-A7 连接了18键盘,因此需用端口复用CS连接至B9。 表3.17 HEADER162芯片针脚含义 B4 B6 S SP PC CE E0 06 61 1A A B5 B9 A8-A15 CS D0-D7 A0 L L C C D D C86 EP SPG12063YS2 R/W GND V3 GND SWITCH SWITCH 图3.1
53、8 LCD与SPCE061A的连接图 3.8 通用串行通信接口UART模块 为了能使所设计的系统能与PC机进行通讯,我选择了UART模块来实现这一功能。 引脚符号类型说明 DB0-DB7I/O双向数据口 RESETI复位(低有效) A0I数据/使命字控制位 CSI片选(低有效) R/WI读/写信号 EPI全能端(低有效) UART模块为系统提供了一个全双工标准接口,用于完成SPCE061A与外设之间的串 行通讯。UART的接收信号Rx发送信号Tx分别是芯片的并行I/ O口IOB7和IOB10共用, 属于B口的特殊功能。借助于IOB口的特殊功能和UART IRQ中断,可以同时完成 UART接口的
54、接收发送数据的过程。此外,UART还可以通过缓冲来接收数据。也就 是说,它可以在寄存器数据被读取之前就开始接收新的数据。但是,如果新接收的数 据被送进寄存器之前,寄存器内的旧数据还未被读走,就会发生数据遗失。 UART的硬件电路中需用一个串口线将SPCE061A在线调试器的232接口与PC机端 的232接口连接起来,如图3.19。在设计中需要SPCE061A通过UART接口与PC进行通讯, 因此需要对拨码开关S19进行设置,需要将Rx、Tx都拨到高端才能正常通讯(Rx:PC 接收数据,Tx:PC发送数据)。扩展RS232接口可直接与计算机进行通信,或者进行 单片机之间的双机通信。 S SP P
55、C CE E0 06 61 1A A B10 B7 U U A A R R T T TX MAX3232 CPE RX 图3.19 SPCE061A与串口通信原理图 凌阳的SPCE061A的波特率=Fosc/2/Scale,其中Fosc是系统时钟频率,Scale为存 储单元中的10进制的整数,所以系统时钟频率越高,传输的波特率越高。常用的 UART的传输速率在B/s,而SPCE061A的系统时钟频率最高可以到40.96MHz,使其传 输速率已超过常用的传输速率。 UART 波特率的计算公式如下: 当Fosc=49.152MHz,40.960MHz或32.768MHz 波特率=(Fosc/4 )
56、/Scale (3.8-1) 当Fosc=24.576MHz或20.480MHz 波特率=(Fosc/2)/Scale (3.8-2) 由此可得出Scale的值(Scale为7024H单元和7025H单元组成的十进制整数)。 第 4 章 软件设计 4.1 软件设计流程图 在软件设计上,由于语音资源存放在外扩存储器 SPR4096 上,只能采用手动的 方式播放语音。在主函数中首先初始化 SIO,这样可以获得存储在 SPR4096 上的语 音资源的起始地址与结束地址,这样便于语音控制。另外,需要对图片的显示,在播 放语音的同时需要刷新图片,这样采用在中断中填充语音队列的方法来实现。根据设 计要求写
57、出了如下的系统软件流程图,如图 4.1: 图 4.1系统软件流程图 录放音部分流程图如图 4.2: 图 4.2 录放音流程图 4.2 分模块软件设计 录放音的编解码是靠调用库函数完成,不需要设计硬件电路。凌阳公司提供了丰 富的库函数,只要了解库函数的使用,就能轻松完成语音录放。本系统采用的是凌阳 公司提供的音频格式 SACM_A2000,它的压缩编码率是 16Kbit/s,因此可以计算出 1Mbit 的存储器可以存放播放 1M/16K = 64 秒的语音数据。 本系统底层驱动程序包括 IO 口初始化、LCD 初始化、SPR4096 的读写、擦除、 按键处理等使用的是汇编语言编写的。上层程序包括
58、语音的录放采用 C 语言编写。 程序以函数的形式封装对 SPR4096 芯片的操作,上层程序可以轻松调用这些函数, 实现对 SPR4096 读写、擦除操作。这些主要源于凌阳十六位单片机具有易学易用的 效率较高的一套指令系统和集成开发环境。在此环境中,支持标准 C 语言,可以实 现 C 语言与凌阳汇编语言的互相调用。 下面根据所分具体功能模块以及它们之间的相互调用关系进行程序设计。5 4.2.1 主程序模块 主程序模块结构如图 4.1。此主程序应与 SPCE061A 单片机外加的录/放功能键接 口相配合,不断的执行键扫描、键译码及功能键设定的动作、清看门狗计数器等循环 程序。其中数据的定时采集处
59、理或输出,即声音的录制与播放,则在中断程序中靠调 用 IDE 中的源程序模块来自动完成的。根据主程序模块我们可以进行主程序代码编 辑。根据流程图所写具体程序见附录 1。 4.2.2 语音信号的采集 在软件设计中,系统语音信号的采集是通过设置中断来实现的。中断的引发一般 是有片内定时器、计数器定时产生。在中断服务程序中定时的从 A/D 口获取声音数 据,根据语音模块类型进行压缩编码并储存;或者定时取出声音数据,进行编码后向 音频输出端播放。我采用在 SPCE 系列芯片中常采用的 FIQ 和 IRQ 中断源,中断服 务流程图如图 4.3。FIQ 中断服务程序程序可用于各种压缩/解压算法模块。根据流程 图所写具体程序见附录 2。 中断入口 关中断 现场保护 中断源判断 进入相应中断处理 清中断标志位 现场恢复 开中断 中断返回 图 4.3 中断服务流程图 部分程序如下: /= / 函数名称:FIQ() / 功能描述:DVR 服务 / 语法格式:void FIQ(void); /= void FIQ(void) _attribute_ (ISR); void FIQ(void) if(*P_INT_Ctrl _asm(call F_FIQ_Service_SACM_DVR);/调用 DVR 中断服务函数 else if(*P_INT_Ctrl else/PWM 中断 *P_INT
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新余市人民医院治疗随访评估考核
- 美吉姆周年庆活动方案
- 淄博市人民医院术中皮层电刺激技术考核
- 英语班级趣味活动方案
- 九江市中医院管理团队建设考核
- 绿色迎亚运活动方案
- 花明楼党建活动方案
- 绘本教学活动方案
- 羽毛球社团破冰活动方案
- 花船活动策划方案
- 《低压电工实操及考证》全套教学课件
- 开学第一课《哪吒-我命由我不由签》2024-2025学年下学期开学第一课主题班会课件
- 员工离职面谈记录表范本
- 污水厂职业卫生培训课件
- 2024建筑消防设施检测技术规范
- 2024年全国“纪检监察”业务相关知识考试题库(附含答案)
- 【MOOC】科技英语翻译-南京航空航天大学 中国大学慕课MOOC答案
- 白芳礼课件教学课件
- 第2课黄河文化网上搜(课件)泰山版信息技术三年级上册
- 乡土特色劳动教育的社会功能
- 《大学课件钻井液》课件
评论
0/150
提交评论