版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、录音笔的设计与实现摘 要随着电子技术的飞速发展,数码录音笔已得到了越来越多的人得青睐,论文通过对多种录音笔的设计方案进行了比较和分析,选定凌阳单片机设计了一个数字录音笔。论文首先介绍了设计方案的选择,介绍了凌阳单片机的集成开发环境。接着进行了系统的硬件设计,包括音频输入输出电路的设计、存储电路的设计、按键控制电路的设计、液晶显示电路的设计等,设计中采用了凌阳的功放芯片SPY0030,利用了单片机其串行接口SIO实现上位机与下位机的通讯,利用UART的RS232接口与PC机232接口进行连接,并设置了8位键盘和LCD显示的人机界面。然后分模块进行了软件设计,包括主程序模块、语音信号的采集模块、键
2、盘扫描模块、语音信号存储模块的设计等,进行了程序流程的设计,编写了程序代码。最后使用IDE进行了仿真调试,验证了系统设计的正确性。系统实现了语音数据的录制、播放、暂停、循环播放、重复播放、选择上一段、选择下一段以及与PC机进行数据传输等功能,设计具有一定的应用价值。关键词:单片机,录音,放音,电路设计,软件实现 ABSTRACTAs the swift development of the electronic technology, the digital voice editor has become more and more favored nowadays. Through comp
3、arison 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 proposal, and the IDE (integrated deve
4、lopment 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 amplifier chip SPY0030, apply the s
5、ingle-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 a modular software design, consist
6、ing 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 (IDE), the validity of the systems de
7、signing 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 represents the application signifi
8、cance of the design to a certain extent.Keyword: single-chip microcomputer, record, play, circuit design, software realization目 录第1章 录音笔设计方案与论证11.1 引言11.2录音笔设计方案的提出11.3 录音笔设计方案分析论证21.4 录音笔设计方案的确定3第2章 凌阳单片机开发环境介绍42.1 系统硬件资源42.1.1 SPCE061A功能及其特点42.1.2 应用领域52.2 软件开发环境IDE52.2.1 'nSP® IDE 窗口52.2
9、.2 工程的操作8第3章 硬件设计103.1 系统总体方案介绍103.2 系统电源电路113.3 SPCE061A最小系统设计123.4 音频电路133.4.1 音频输入电路133.4.2 A/D转换接口153.4.3 D/A转换模块163.4.4 音频输出电路173.5 SPR4096存储电路183.5.1 串行设备输入输出口(SIO)193.6 按键控制电路203.7 液晶显示电路203.8 通用串行通信接口UART模块22第4章 软件设计234.1 软件设计流程图234.2 分模块软件设计254.2.1 主程序模块254.2.2 语音信号的采集254.2.3 键盘扫描模块274.2.4
10、语音信号的存储304.2.5 LVD低电压检测314.2.6 UART模块314.2.7 看门狗计数器(WatchDog)334.2.8 系统调试与总结33结论35参考文献36致谢37附录38第1章 录音笔设计方案与论证1.1 引言随着视听家电产品的不断丰富,已经有越来越多微小型化的产品走入了人们的日常生活,他们最突出的优点是体积小巧、非常薄,而且重量很轻,给人们带来方便,并增添了无穷乐趣。作为一种简单方便地获取和记录数字化声音文件的工具,数码录音笔从2000年开始风靡市场,成为学生、记者和商务人士购置录音设备的首选。不仅在校园里取代了复读机,也成为时间紧张的在职进修人员的掌上新宠。带FM 功
11、能的数码录音笔,还可以便利地收听调频广播外语教学节目。数码录音笔,实际上是一种采用数码录音技术的录制设备,通过对声音进行采集、压缩、存储到闪存(Flash Memory)进行记录,无需使用额外的录音磁带、话筒等设备,音质清晰逼真,即使反复播放其音质也毫无损失。在设计中将说明怎样利用凌阳16位单片机SPCE061A来实现一个录音笔系统。SPCE061A该款单片机资源丰富,有强大的数字语音处理功能可应用与语音播放和语音识别领域,内置有2路DA转换,8路AD转换及在线仿真等丰富的功能,这些都为实现数码录音和播放提供了良好的方便条件。1.2录音笔设计方案的提出设计要求录音笔实现录音、播放、暂停、循环播
12、放、重复播放、选择上一段、选择下一段以及与PC机进行数据传输的功能。可以看出本次设计的系统的主要部分应该是括录放音部分再附加上其他的功能部分。因此我们重点对录放音部分实现的方案做了探讨,方案比较的多,各有其优缺点。现具体分析如下:方案一:采用处理器集成型可重构系统PICEX实现数码录音笔的核心处理部分,对每一个管理模块、功能实现模块都构建一个可重构模块。在系统完成各种任务时,可重构模块的运行是完全独立于内核的,在编程中使各模块处于并行运行状态。在录音状态时各部件采用流水线的方法,即每个部件的输入数据都取自其来源部件给出的上一个值,各部件几乎同时开始工作,使系统处于在线程级并运行的状态。 方案二
13、:基于单片机、数字信号处理器DSP和FLASH存储器的数码录放音系统。在录音时,语音信号经过处理后送到A/D转换器,转换成数字信号,在把这些语音数据送到高速数字信号处理器(DSP)进行压缩,压缩后的语音数据与日期、时间一起存储到FLASH存储器中;回放时,从FLASH存储器中读取语音数据送到DSP解压,解压后的数据经过D/A转换,还原成语音信号,最后经功放放大后从喇叭输出。方案三:用ISP实现对ISD25120语音芯片的录放音控制。以ISP技术为手段,使用系统编程器件M4-32/32实现了对单片ISD25120语音芯片的录、放音控制。利用VantisPro设计软件系统,经过编译后再输入仿真文件
14、,仿真通过后,对系统进行引脚锁定、熔丝生成、下载编程(IDCD软件下载编程)。2方案四:基于凌阳16位单片机的简单开发系统SPCE061A精简开发板,利用SPCE061A的可编程音频处理功能,通过串行输入输出端口SIO与同样具有串行接口的FLASH(SPR4096)进行数据通讯来开发数码录音及播放系统。通过按键控制系统的录音、停止、放音等操作。1.3 录音笔设计方案分析论证方案一:虽然数据串行化输出、A/D和D/A器件的操作可在内核上实现,当其他可重构模块在工作时内核处于等待状态,则提高了系统的并行性,接省了系统资源。但是方案中使用Samsung公司的K9K1208U0A型Flash内存作为存
15、储媒质,这型号内存为减少连线和封装大小需要有特殊的控制时序和逻辑。因此需要为Flash内存控制专门增加一个可重构部件。对滤波、压缩、解压、信道编码这些需要大量运算或长时间操作的过程也必须对这四项任务各设计一个可重构部件。这种方案对几个重要过程都需要单独设计一个可重构部件,设计烦琐工作量大,可重构部件多。同时,虽然元件级可重构系统在现有的FPGA上是可以实现的,但是由于现有FPGA体系结构上的种种限制,诸如最小配置单位过大配置结构复杂等,使这种系统在很多情况下执行效率反而不及传统的系统结构,大大减少了这类系统的应用范围。综上,故我们不采取这种方案。方案二:人们在语音处理的研究中,已经研制出了很多
16、语音编码算法,而有些编码算法已经被直接固化到DSP上,形成专用的基于DSP的语音处理芯片。但是在我们未选择DSP芯片主要是基于以下几个因素:(1)运算速度。本系统中,对运算速度的要求,主要是要满足每一个A/D变换后的数据都能及时地存入存储器,而通用单片机的处理能力已经可以满足需要。(2)运算精度。本数字录音系统没有复杂的数学计算,所以没有对运算精度的要求。(3)片内硬件资源。由于系统要求能进行录放音,所以A/D和D/A的功能是必需的,对DSP芯片,若外接A/D或D/A元件,增加了复杂度,也提高了成本。(4)功耗。DSP芯片实现的功能较多,所以它的功耗相对较高。因此我不采取这种方案。方案三:IS
17、P技术是在一个系统可编程器件上实现对语音芯片的控制。这种控制直接通过ISP器件的硬件电路实现,省去了软件接口程序,使用起来方便快捷。但是ISD芯片的控制录放音的两种方式(引脚的边沿或电平触发控制和微控制器串行通信接口控制)这两种方式都不能用类似文件的方式进行控制,操作不方便,虽然它的存储器采用的是非易失数据的EEPROM但容量较小。因此在设计方案的选取中不选用这种方案。1.4 录音笔设计方案的确定我最后决定采用SPCE061A单片机来实现我的设计。SPCE061A是凌阳科技研发生产的一款高性价比十六位单片机,把各功能部件模块化地集成在一个芯片里,内部采用总线结构,减少了各功能部件之间的连线,提
18、高了可靠性和抗干扰能力。片内带有高寻址能力的ROM、静态RAM和多功能的I/O口。芯片工作电压范围大,能在低电压供电时正常工作,且能用电池供电。其指令系统为其应用增添了DSP功能但是又比专用的DSP芯片廉价。对于我的设计来说SPCE061A可以非常方便灵活的实现语音的录放功能,该芯片拥有8路10位精度的ADC,其中一路为音频转换通道,并且内置有自动增益AGC电路。这为实现语音录入提供了方便的硬件条件。两路10精度的DAC,只需要外接功放(SPY0030A)即可完成语音的播放。另外凌阳十六位单片机具有易学易用、高效率的指令系统和集成开发环境。该开发环境支持标准C语言,可以实现C语言与凌阳汇编语言
19、的互相调用,并且,提供了语音录放的库函数,只要了解库函数的使用,就会很容易完成语音录放,这些都为软件开发提供了方便的条件。同时还可根据设计要求在实现基本录放功能的基础上运用SPCE061A的多功能集成功能扩展录放系统的功能。比如,使用SPCE061A的通用异步串行接口UART来实现与PC机的通讯,或者使用其他的IO口来外挂USB器件实现与PC机的USB通讯;进行低电压检测;还可通过LCD显示字符、数字等图象,在录音笔设计系统中可用来显示按键功能等。这样可以制作更复杂的录、放音系统。第2章 凌阳单片机开发环境介绍2.1 系统硬件资源2.1.1 SPCE061A功能及其特点 1)集成度高,易于扩展
20、凌阳16位单片机内部采用总线结构,把各功能部件模块化地集成在一个芯片里,有效地减少各功能部件之间的连线,提高了集成度,增强了芯片的可靠性和抗干扰能力。此单片机属于非总线型单片机,省去厂片外的地址、数据及控制并行总线,而外部封装引脚可明显减少,使芯片成本下降。它既可通过I/O端口与外设器件通信,也可采用串行扩展方式。目前,由于串行传输速度的不断提高,用串行口扩展外围器件,特别在SOC中,已得到了较多的应用。凌阳16位单片机采用CMOS制造工艺,有较好的低功耗和功耗管理功能,它提供了软件激发的弱振方式、空闲方式和掉电方式三种低功耗工作方式,大大降低了芯片功耗。由于它工作电压范围大,可在低电压供电时
21、正常工作,并可用电池供电,从而可大幅度地减少器件的功耗。低功耗是一切电子应用系统所追求的目标,特别是在野外作业、便携式仪器仪表的开发等方面具有特殊的意义。2)较强的中断处理能力凌阳16位单片机中断系统可支持三种类型的中断:异常中断、事件中断和软件中断。中断系统共有10个中断向量,可响应14个中断源的中断请求,由于对外界突发事件具有快速反应能力,使其适合用于实时控制领域。3)高效的指令系统凌阳16价单片机的指令系统以字为单位,从而格式紧凑、灵活,执行时间迅速,并提供了对高级语言和数字信号处理运算能力的良好支持,从而可有效缩短基于凌阳单片机的各种产品的研发周期。同时,凌阳16位单片机片内还集成了大
22、容量的ROM、静态RAM、全双工异步通信的串行接口、红外收发通信接口、A/D,D/A转换接口和多功能的I/O口。其指令系统提供的具有较高运算速度的16位×16位的乘法运算和内积运算指令。这就使凌阳16位单片机可方便地用于复杂的数字信号处理,却又比常用的DSP芯片便宜,因而具有较高的性能价格比。另外,在SPCE061及SPCE060单片机中还采用了F1ash ROM技术,有32K Flash ROM单元。F1ash ROM的使用使得基于SOC的单片机技术得到进一步发展,极大地改变了单片机应用系统的结构模式、开发与测试手段以及运行条件。2.1.2 应用领域 1) 学习Sunplus的16
23、位SPCE061A单片机和各类外围器件,比如:串行Flash和SRAM器件SPR4096、RS232器件MAX3232、USB器件PDIUSBD12、LCD GPG12063YS以及语音录放、键盘显示等等。2) 进行各类接口实验,设计接口转接器,如:USB-232转换器、232- USB转换器。3) 完成基础实验以及毕业设计,也可作为产品设计的应用工具。4) 通过CPU内部的ICE电路与IDE配合,可按单步、断点、连续等方式在线调试。5) 实时操作系统的学习,凌阳专为SPCE061A单片机写了MINIOS,可以方便的学习实时操作系统,并提供强大的技术支持。6) 进行语音数据压缩编码、解码以及存
24、储的学习和开发。82.2 软件开发环境IDE凌阳十六位单片机SPCE061A具有易学易用、高效率的指令系统和集成开发环境。该开发环境支持标准C语言,可以实现C语言与凌阳汇编语言的互相调用,并且,提供了语音录放的库函数,只要了解库函数的使用,就会很容易完成语音录放,这些都为软件开发提供了方便的条件:'nSP® IDE则是这个由凌阳科技提供的一个集成开发环境,它集程序的编辑、编译、链接、调试和仿真等功能为一体。具有友好的交互界面、下拉菜单、快捷键和快速访问命令列表等,使程序设计工作更加方便、高效。此外,它的软件仿真功能可以不连接仿真板,模拟硬件的部分功能来调试程序。本次设计中选用
25、IDE184。 'nSP® IDE 窗口工具界面:'nSP集成开发环境支持C和汇编混合编程,可以有效地利用这两种语言的优点进行在线编程,有利于更加充分地、直观地利用硬件资源。'nSP IDE采用MFC MDI机制,因此,用户可以在主界面里同时打开多个窗口,如图2.1。主界面包括三个主要窗口:工作区窗口(Workspace window)、编辑窗口(Edit window)和输出窗口(Output window)。只需在各窗口内单击鼠标左键即可把该窗口激活。此外,在主界面上,还提供工具栏等一些方便用户操作的工具。图2.1 IDE主界面Workspace窗口:在W
26、orkspace窗口内,用户可查看到当前工程所包括的全部文件。Workspace窗口由FileView和ResourceView两个视窗组成。单击FileView标签,用户可以方便浏览到工程内的各文件。FileView视窗用层次图排列出当前工程的所有文件的逻辑关系。Files文件夹包含了源程序、程序接口和说明硬件配置情况的文件。Resource文件夹包括了各种资源文件(rc)。Source Files文件夹用于保存源文件。Head Files文件夹用于保存头文件。External Dependencies文件夹用于保存对工程的一些标注信息。ResourceView视窗列出当前工程用到的所有资源
27、。可以单击视窗内分支顶部旁边的和号展开和收缩层次图。(如图2.2)Workspace窗口所体现的逻辑位置不是指文件在硬盘上的物理位置,而是指一种逻辑从属关系。用户可用拖曳的办法改变文件的逻辑位置。在Workspace窗口内,不同类型的文件有不同的图标表现。图2.2 Workspace窗口Output窗口:Output窗口用于显示编译、调试和查找的结果。在窗口底部有几个视窗标签:Build、Debug和Find in Files等。用鼠标单击这些标签,可以激活相应的视窗。Build:显示编译和链接过程里产生的信息,包括文件编辑过程里的错误和警告信息等。Debug:显示程序调试过程里出现的信息。F
28、ind in Files:显示在文件中查找字符的结果。 Edit 窗口:在Edit窗口里,文件的打开格式有两种:用户可用文本格式打开文件,也可以用二进制代码格式打开文件。如图2.3图2.3 Output窗口1)文件编辑器(图2.4)文本编辑器可以用来打开汇编语言程序和C语言程序。图2.4 文件编辑器2)二进制代码编辑器(图2.5)二进制代码编辑器让用户在Edit窗口里以十六进制数/ASCII字符的形式来编辑二进制代码的资源文件。图2.5二进制代码编辑器 工程的操作2.2.2.1 创建工程过程1) 选择FileNew,打开New对话框如图2.6,选择Project标签;2) 在File文本框内输
29、入工程名称;3) 在Location文本框内输入工程文件的路径;4) 在Select Body Here区域内选择Probe;5) 单击OK,创建工程。图2.6 创建工程对话窗口2.2.2.2 开发操作过程1) 从开始菜单内启动工具;2) 选择FileOpen Project,在打开对话框内选择所要打开的工程;3) 窗口(工作区窗口)显示在工具的左半边,在这个窗口内,用户可以看到当前工程所包含的所有文件;4) 选择BuildRebuild All,进行源文件的编译和链接。 编译过程里的语法错误显示在Output窗口内;5) 选择BuildStart DebugDownload,把程序加载到RA
30、M,然后,用户可以用Debug菜单内所提供的调试命令来优化和运行程序。选择6、BuildStart DebugGo,在调试器内运行程序。第3章 硬件设计根据系统设计的要求和凌阳十六位单片机(SPCE061A)所包括的功能,我可以利用其所具有的特性完成设计所需要达到的各项功能要求。3.1 系统总体方案介绍系统结构框图如图3.1:凌阳十六位单片机SPCE061ASPEAKERMIC按键SPR4096UARTLCD图3.1 系统结构框图因此在设计中需要使系统具有如下模块:1) 一路0-3.3V可调模拟电压,可方便地完成AD的数据采集。2) 采用1×8键盘使各功能通过按键控制。3) SIO接
31、口扩展存储芯片SPR4096,扩展4M Bits Flash的扩展存储空间存储所录语音数据。4) MIC输入电路,配合SPCE061A内置的AGC和OPI电路,获得语音数据。5) 两路音频输出电路,采用凌阳功放芯片SPY0030A,通过它完成语音的播放。6) 利用带背光的128×64点阵液晶LCD显示出个按键功能。7) 使用SPCE061A的通用异步串行接口UART来实现与PC机的通讯。5下面对各功能模块进行具体描述。3.2 系统电源电路系统采用的是开关电源,该电源提供5V电压,用于SPCE061A端口电压和用户实验电路供电。实验箱的供电电源系统采用多种输入,用户有多种选择方式:(1
32、)220V交流电压供电:用户可以选择220V交流电压供电,系统已将其经过变压、稳压处理成5V,再经过一个三端稳压器提供3.3V,供系统工作。(2)DC5V供电:用户可以直接提供直流5V电压和3.3V电压为实验箱进行供电。如图3.2所示为电源系统图,包括电源开关,低电压检测供电端子和指示灯,5V供电端子和电源指示灯。我所设计的录音笔系统中硬件设备采用由220V交流电压供电。由于在系统中要运用到LCD和SPR4096,他们的接口逻辑电压为3.3V,并且我选用了SPR4096内部存储空间较大的4M Bit FLASH存储语音数据,而电源输入端VDDI是给内部FLASH和控制逻辑供电的,VDDI:。因
33、此系统电压选择了采用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用作输入口时具有触键唤醒功能,可以应用于低功耗的场合。鉴于所要求功能,我将IOA0-IOA7与1×8键盘连接,
34、A0-A7做输入口。SPCE061A的并行I/O口可以通过编程设置为上拉输入、下拉输入、悬浮输入或同相输出、反相输出的状态。要求按键执行程序所定义功能因此设置为下拉输入。3.4 音频电路音频电路由音频输入电路以及音频输出电路两部分组成。3.4.1 音频输入电路音频输入电路包括MIC录音输入和AGC电路。人的声音频率在300Hz-3400Hz范围之内,因此所设计的录音笔只需要记录这样一个范围的声音信号即可。在这里把要记录的语音信号最高频率定为4KHz,根据公式:f采样=2f低通规定系统的采样频率为8KHz。当录入的语音信号有高于4KHz的部分时,则把高于4KHz频率的信号认为是噪声。噪声是不需要
35、记录的,所以应该把高于4KHz的声音频率排除在记录范围外,因此需在ADC电路前加一个截止频率为4KHz的前置低通滤波器用来滤除噪声。前置低通滤波器电路如图3.4,滤波器的频谱图如图3.5。9图3.4 MIC输入驱动电路与前置低通滤波器图图3.5 前置低通滤波器频谱图SPCE061A内置的AGC电路,它的作用是当输入信号较强时使放大器增益自动降低;当信号较弱时,又使其增益。因此,从MIC输入的音频信号经过SPCE061A内置的AGC电路将语音信号的放大值控制在一定范围内,便可进行AD转换。输入信号有两个通道:一个由LINE_In通道输入;另一个由MIC_In通道输入。MIC_In一般用于麦克风通
36、道插入,专门用于对语音信号进行采样。语音信号经MIC转换成电信号,由隔直电容隔掉直流成分,然后输入至SPCE061A内部前置放大器。在MIC_In前端有两级OP放大器,因此对信号的放大有两种选择,一是在关闭SPCE061A内部自动增益控制电路AGC时,MIC_In前端的OP放大器使信号放大。二是启用AGC自动调整增益的值,以防止信号饱和。AGC能随时跟踪、监视前置放大器输出的音频信号电平,当输入信号增大时,AGC电路自动减小放大器的增益;当输入信号减小时,AGC电路自动增大放大器的增益,以便使进入A/D的信号保持在最佳电平,又可使削波减至最小。当OPAMP2的输出0.9AVdd时,AGC自动降
37、低OPAMP1的增益,以防止被放大的信号饱和。因此为了能更好的控制系统所获取的信号选择启用AGC。其输入接口电路如图3.6。图3.6 ADC输入接口的结构 A/D转换接口模/数转换器ADC是外界与计算机进行信息传递的通道。它是一种信号转换接口,可以把模拟量信号转换成数字量信号以便输入给计算机对其进行各种处理。芯片采用逐次逼近式原理实现A/D转换。ADC的结构及工作原理是:由10位数/模转换器DAC0、10位缓存器DAR0、逐次逼近寄存器SAR以及比较器COMP组成逐次逼近式的ADC,如图3.7中虚线框内所示。图中的ADC有两种工作方式:手动方式和自动方式。在ADC自动方式被启用后,会产生出一个
38、启动信号,此时,DAC0的电压模拟量输出值与外部的电压模拟量输入值进行比较,.逐次逼近式控制首先将SAR中数据的最高有效位试设为'1',而其它位则全设为'0',即10 0000 0000B.这时,DAC0输出电压VDAC0(1/2满量程)就会与输入电压VIN进行比较.如果VIN>VDAC0,则保持原先设置为'1'的位(最高有效位)仍为'1'否则,该位会被清'0'.接着,逐次逼近式控制又将下一位试设为'1',其余低位依旧设为'0',即110000 0000B,VDAC0与Vin进
39、行比较的结果若Vin>VDAC0,则仍保持原先设置位的值,否则便清'0'该位.这个逐次逼近的过程一直会延续到10位中的所有位都被测试之后, A/D转换的结果保存在SAR内.图3.7 逐次逼近式的ADC结构ADC在手动方式下取消了自动方式的逐次逼近寄存器SAR的功能,取而代之的是内部比较器COMP和缓存器DAR0,以模拟SAR的作用。换言之,手动方式是指须用软件程序来控制模拟信号的输入采样或保持,通过写入A/D数据单元来控制比较器基准电压值VDAC0,以及通过读比较器的比较结果来推测模拟输入电压值VIN。当外部2V的电压模拟信号输入到ADC的输入端上,可试着写入A/D数据单
40、元一个数字量值1000000000B,它实际对应于1.8V电压模拟量。由于2V>1.8 V,故COMP第一次比较输出的结果为1 ,则ADC的转换结果暂为1000000000B。接着写入A/D数据单元下一个数字量值。 7 在对系统硬件设计中,我根据设计要求将ADC设计为手动方式。3.4.3 D/A转换模块单片机内部D/A转换电路的使用与其它内部接口的使用相同,都是可编程控制的接口,通过程序设置其工作方式、工作状态等。SPCE061A单片机内部有DAC1和DAC2两路10位的DAC转换器,可以形成双通道的音频输出,也可以作为其它的模拟输出信号。转换输出是以模拟电流信号的方式分别通过AUD1和
41、AUD2管脚输出。DAC与SPCE061A连接图如图3.8。图3.8 DAC与SPCE061A连接图3.4.4 音频输出电路音频输出电路采用凌阳功放芯片SPY0030,SPY0030音频输出大于700mw,而供电电压仅需2.4V。电路中SPY0030的放大倍数被固定为20倍,音量的大小可以通过电位器调整。喇叭直流阻抗8欧,左右两个通道音量分立调节并备有两个外部音频信号放大输入端。录入后的语音信号经MIC转换成电信号,由隔直电容隔掉直流成分,然后输入至SPCE061A内部前置放大器,经过2路10位精度的DA转换后,通过功放SPY0030A即可完成语音的播放。音频输出扬声器驱动电路图,如图3.9。
42、7图3.9 音频输出扬声器驱动电路SPCE061A的音频输出有两种方式,一种是音调输出方式(Tone Mode),另一种则为语音输出方式(Speech Mode),如图3.10所示。二者的区别在于其输出的控制机理不同。前者是通过控制Timer溢出所产生的不同频率来决定声波振动次数的多寡,从而决定发出的声音音调的高低,譬如好听的乐音;后者则是用与声音(不论是音乐还是语音)数据采样率相同的速率将声音数据通过数/模转换(D/A)通道还原成音频电压或电流输出,其中声音数据采样率可决定声音音质的好坏,并决定了声音数据所需占据的存储空间。在本系统设计中我采用语音输出方式,数据采样率采用相同的8KHz。音频
43、输出波形参见图3.11。12DA C Speech Mode 音频输出Timer方波输出乘法器Tone Mode 图3.10 音频输出方式硬件实现图v t语音输出方式图3.11 语音输出方式音频输出波形图3.5 SPR4096存储电路SPR4096为自带SIO接口的FLASH/SRAM存储芯片,SIO是一种串行输入输出接口,它可以与其它设备进行数据通讯,在SPCE061A内通过IOB0和IOB1端口复用实现与设备进行串行数据交换,SPR4096与SPCE061的硬件连接如图3.12,SPR4096的SCK接SPCE061A的IOB0,SDA接SPCE061A的IOB1。SPR4096与SPCE
44、061A之间的通讯采用SIO协议来实现的。使整个系统扩展了4M BitFLASH/32K BitSRAM,这同语音录放相配合会产生很好的效果。图3.12 SPR4096和SPCE061A的连接图在所设计的系统中SPR4096串行接口运行时的工作频率可达5MHz。SPR4096有两个电源输入端VDDI和VDDQ。VDDI是给内部FLASH和控制逻辑供电的;VDDQ是专门为I/O供电的。供电电压为VDDQ:2.25V-3.6V,VDDI:。SPR4096电路与SPCE061的IO接口为:IOB0_SCK,IOB1_SDA,IOB2_CS_FLASH,其中IOB2_CS_FLASH口用于控制SPR4
45、096内FLASH与SRAM的选择,当IOB2_CS_FLASH为低电平的时候选择FLASH,当为高电平的时候用于选择SRAM。如图3.13为FLASH部分电路原理图,SDA为数据传输位、SCK为同步时钟输入位。图3.13 FLASH部分电路原理图3.5.1 串行设备输入输出口(SIO)SIO的电路连接原理图如3.14:图3.14 SIO电路原理图SIO 的读写操作时序如图3.15:图3.15 SIO读写操作时序串行输出入端口SIO提供了一个1位的串行接口,用于与其它设备进行数据通讯。在SPCE061A内通过IOB0和IOB1这2个口来实现与设备进行串行交换数据的功能。其中,IOB0用来作为时
46、钟口(SCK),IOB1则用来作为数据端口(SDA),用于串行数据的接收或发送。SIO传输速率最快可设为CPUCLK/4,默认值为CPUCLK/16。SPCE061A的SIO速率最快可达12288KHz。SIO可根据外设的差别来选择不同的寻址模式,有8/16/24位三种寻址模式可选择。3.6 按键控制电路1×8键盘的8列分别定义为COL1、COL2、COL3、COL4、COL5、COL6、COL7、COL8,行定义为ROW。在系统设计中将IOA0-IOA7分别与COL1-COL8连接,IOA8与ROW连接。用户可自行选择ROW接至DGND或VDDIO。设置相应的控制口为下拉输入,如果
47、某个按键按下,表示该按键对应的输出端变为高,便可检测出是哪个按键被按下。设计所设置的按键功能如表3.16。1键2键3键4键5键6键7键8键录音停止放音播放上一段播放下一段删除全部单首循环低电压检测表3.16 按键功能3.7 液晶显示电路我在设计中所选用的LCD液晶模组是128×64的点阵LCD,SPLC501是凌阳的LCD驱动芯片,采用最新的COG技术使驱动和液晶合二为一,这使得外围电路非常简单,编程同样也很简单。在系统设计要求的基础上我加入LCD模组完成所要求的显示实验,使得在系统运行按键时LCD会有相应的显示,可以读出相关的信息。LCD与SPCE061A的连接图,如图3.18所示
48、。在LCD旁边会有一个HEADER16×2芯片,如果将其与LCD短接,则为默认I/O接法,我们还可以用排线自选I/O进行连接,芯片的各个排针的具体含义请参见表3.17。LCD与IO口的连接方式是:DB0-DB7接到IOA8-IOA15;CS具体连接方式视实际情况而定。若端口复用,则CS可连接至IOB9,若无需端口复用,CS可简化连接至DGND;RESET接到系统的RESET,A0接到IOB4,R/W接到IOB5,EP接到IOB6,这是默认连接方式,也可以通过排线根据需要进行连接。在设计中我用A0-A7连接了1×8键盘,因此需用端口复用CS连接至B9。引脚符号类型说明DB0-
49、DB7I/O双向数据口RESETI复位(低有效)A0I数据/使命字控制位CSI片选(低有效)R/WI读/写信号EPI全能端(低有效)表3.17 HEADER16×2芯片针脚含义图3.18 LCD与SPCE061A的连接图3.8 通用串行通信接口UART模块为了能使所设计的系统能与PC机进行通讯,我选择了UART模块来实现这一功能。UART模块为系统提供了一个全双工标准接口,用于完成SPCE061A与外设之间的串行通讯。UART的接收信号Rx发送信号Tx分别是芯片的并行I/ O口IOB7和IOB10共用,属于B口的特殊功能。借助于IOB口的特殊功能和UART IRQ中断,可以同时完成U
50、ART接口的接收发送数据的过程。此外,UART还可以通过缓冲来接收数据。也就是说,它可以在寄存器数据被读取之前就开始接收新的数据。但是,如果新接收的数据被送进寄存器之前,寄存器内的旧数据还未被读走,就会发生数据遗失。UART的硬件电路中需用一个串口线将SPCE061A在线调试器的232接口与PC机端的232接口连接起来,如图3.19。在设计中需要SPCE061A通过UART接口与PC进行通讯,因此需要对拨码开关S19进行设置,需要将Rx、Tx都拨到高端才能正常通讯(Rx:PC接收数据,Tx:PC发送数据)。扩展RS232接口可直接与计算机进行通信,或者进行单片机之间的双机通信。图3.19 SP
51、CE061A与串口通信原理图凌阳的SPCE061A的波特率=Fosc/2/Scale,其中Fosc是系统时钟频率,Scale为存储单元中的10进制的整数,所以系统时钟频率越高,传输的波特率越高。常用的UART的传输速率在115200B/s,而SPCE061A的系统时钟频率最高可以到40.96MHz,使其传输速率已超过常用的传输速率。UART 波特率的计算公式如下: 当Fosc=49.152MHz,40.960MHz或32.768MHz 波特率=(Fosc/4 )/Scale (3.8-1)
52、; 当Fosc=24.576MHz或20.480MHz 波特率=(Fosc/2)/Scale (3.8-2)由此可得出Scale的值(Scale为7024H单元和7025H单元组成的十进制整数)。第4章 软件设计4.1 软件设计流程图在软件设计上,由于语音资源存放在外扩存储器SPR4096上,只能采用手动的方式播放语音。在主函数中首先初始化SIO,这样可以获得存储在SPR4096上的语音资源的起始地址与结束地址,这样便于语音控制。另外,需要对图片的显示,在播放语音的同时需要刷新图片,这样采用在中断中填充语音队列
53、的方法来实现。根据设计要求写出了如下的系统软件流程图,如图4.1:图4.1系统软件流程图录放音部分流程图如图4.2:图4.2 录放音流程图4.2 分模块软件设计录放音的编解码是靠调用库函数完成,不需要设计硬件电路。凌阳公司提供了丰富的库函数,只要了解库函数的使用,就能轻松完成语音录放。本系统采用的是凌阳公司提供的音频格式SACM_A2000,它的压缩编码率是16Kbit/s,因此可以计算出1Mbit的存储器可以存放播放1M/16K = 64秒的语音数据。 本系统底层驱动程序包括IO口初始化、LCD初始化、SPR4096的读写、擦除、按键处理等使用的是汇编语言编写的。上层程序包括语音
54、的录放采用C语言编写。程序以函数的形式封装对SPR4096芯片的操作,上层程序可以轻松调用这些函数,实现对SPR4096读写、擦除操作。这些主要源于凌阳十六位单片机具有易学易用的效率较高的一套指令系统和集成开发环境。在此环境中,支持标准C语言,可以实现C语言与凌阳汇编语言的互相调用。下面根据所分具体功能模块以及它们之间的相互调用关系进行程序设计。5 主程序模块主程序模块结构如图4.1。此主程序应与SPCE061A单片机外加的录/放功能键接口相配合,不断的执行键扫描、键译码及功能键设定的动作、清看门狗计数器等循环程序。其中数据的定时采集处理或输出,即声音的录制与播放,则在中断程序中靠调用IDE中
55、的源程序模块来自动完成的。根据主程序模块我们可以进行主程序代码编辑。根据流程图所写具体程序见附录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&C_FIQ_TMA)/定时器A中断*P_INT_Clear=C_FIQ_TMA;_asm("call F_FIQ_Service_SACM_DVR"
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初中数学教研组工作总结-15篇
- 2025年水利管理及技术咨询服务项目申请报告模范
- 2025年测高仪项目提案报告模范
- 2025年数控裁板锯项目提案报告模稿
- 保安个人述职报告集合15篇
- 2024冶金工程质保期合同担保协议2篇
- 去广告公司实习报告范文集合七篇
- 保险公司实习报告范文集锦八篇
- 初二生物教学计划范文合集五篇
- 小学生考试没考好检讨书
- 超市柜台长期出租合同范例
- 人教版三年级下册数学期中测试卷含答案(新)
- 广东省广州市2025届高三上学期12月调研测试语文试题(含答案)
- 【8物(科)期末】合肥市第四十五中学2023-2024学年八年级上学期期末物理试题
- 2024年01月11190当代中国政治制度期末试题答案
- 2024-2025学年深圳市初三适应性考试模拟试卷历史试卷
- 2024政府采购评审专家考试题库附含答案
- 第24课《穿井得一人》公开课一等奖创新教学设计 统编版语文七年级上册
- 提高吸入剂使用正确率品管圈成果汇报
- 2024年全新七年级语文上册期末试卷及答案(人教版)
- 北京邮电大学《大数据技术与应用》2022-2023学年期末试卷
评论
0/150
提交评论