1、目录摘要IAbstractII第1章 绪论11.1 课题背景11.2 课题目与意义21.3 课题研究现状31.4 本文重要内容及构造安排5第2章 硬件设计62.1 硬件器件选取62.1.1 SPCE061A单片机62.1.2 MMA7260QT三轴加速度传感器102.2 系统电路连接112.3单片机控制单元硬件设计132.3.1 输入/输出控制单元设计132.3.2 模仿数字转换设计162.3.3 DAC方式音频输出设计232.4 传感器控制单元设计242.5 本章小结26第3章 软件设计273.1 软件系统开发设计273.2 音频设计293.2.1 音频解决方案293.2.2 语音自动播放函
2、数设计303.2.3 语音文献压缩设计333.3 I/O接口及A/D转换设计343.3.1 I/O接口设计343.3.2 A/D转换设计343.4 主程序设计363.5 本章小结40结论41参照文献43道谢45附录一:46附录二:63摘要当代快节奏生活和工作中,人们往往承受着巨大压力。本设计拟采用SPCE061A开发板控制加速度传感器实现一种“出气宝宝”系统,在人们发泄情绪打击“出气宝宝”时候,依照打击力度发出相应“哭声”。这样,人们以娱乐方式合理表达了袭击性实现了心理调节。整个系统重要由SPCE061A开发板与加速度传感器两大模块来实现。外部“击打”会使传感器输出模仿电压信号。61板通过I/
3、O接口读入信号,通过A/D转换和程序解决,提取出能表征外部运动限度量,并以此控制音频函数中音量指数,变化扬声器“哭声”大小。系统设计内容大体可分为硬件设计与软件设计两某些。硬件设计重要涉及外围电路设计与连接,对I/O接口、A/D转换、音频输出数据单元控制。软件设计重要涉及自动声音播放函数、声音文献压缩与连接、I/O接口与A/D转换设立、主程序函数编写等。通过整个系统连接调试,摇动传感器,扬声器发出“哭声”,且音量大小与运动激烈限度正有关,系统基本功能实现。核心词:SPCE061A;加速度传感器;I/O接口;A/D转换;音频AbstractWith the fast pace of modern
4、 life and work,people are often under huge pressure.This design uses SPCE061A development board to control acceleration sensor to realize a venting baby system. When the emotional outburst people strike venting baby,the system could give out corresponding cries according to the degree of blow. So,pe
5、ople express their aggressiveness in reasonable way to realize psychological adjustment.The system mainly consists of SPCE061A development board module and acceleration sensor module. External strike will make sensor output analog signal. 61 board reads signals through the I/O interface,and extracts
6、 a value which can characterize the amount of movement level outside after A/D conversion and process. Then the value could control the volume index of audio function to change the sound size of the cries.The design of the System can roughly content of hardware design and software design. The hardwa
7、re design includes outer circuit design and connection.We shoud also understand the performance of I/O port,A/D conversion and audio output. Software design includes automatic sound function,sound files compressed and connection,I/O interface and A/D conversion,main program function,etc.Through the
8、entire system commissioning,shaking sensors,speaker gives out cries, and the volumeare positively related to the intensity of movement. Then we realize the basic function of the system.Keywords: SPCE061A;acceleration sensor;I/O interface;A/D conversion;audio第1章 绪论1.1 课题背景随着时代进步,人们自我认知水平不断提高,心理问题逐渐引起
9、了人们广泛关注。近年前,不健康成长环境、先天生理缺陷等状况就始终是心理问题重要成因。而近年来,由于生活、工作、学习节奏加快,人们往往承受着巨大压力。心理问题也就被摆到一种更为普遍层次,任何人都或多或少承受着心理方面承担。心理问题往往引起某些不正常反映。人们会难以集中注意力、容易分神、记忆力减退、选取性思维失调、期待性焦急、郁郁寡欢、冷漠偏执、自卑多疑、消沉空虚、无端烦恼、遇事暴躁特别令人担忧是,具备心理问题人还会容易狂热和冲动,对外界产生敌对情绪,且经常带有袭击性。近年来社会上由于心理问题导致悲剧,引起了人们普遍注重。合理调节心理、控制情绪,对实现人全面发展、对改进人际交往关系、对国内构建和谐
10、社会均有着积极作用。生活中矛盾和事件所引起心理反映,重要是情绪反映,因此心理调节和控制最基本点,可以说是调节和控制情绪。其中,情绪舒缓与疏导显得尤为重要。当人们承受着巨大精神压力时,可以用合理方式把这种压力表达释放出来。情绪释放有各种方式,例如说找人谈话、培养乐观生活态度等。而通过玩具等辅助手段来释放情绪办法也越来越引起人们关注。这种方式不但简朴以便、易于操作,还具备诸多趣味性。在当今市场中,情绪调节类玩具各种各样。但是,其中大多数设计原理都比较简朴。例如说,有是基于某些常用物理学现象,有则纯粹以外观设计取胜。通观整个情绪调节类玩具市场,其中依托芯片控制智能玩具开发尚属少数。因而,设计情绪调节
11、类玩具,也便在智能化方向上浮现了创新空间,昭示了很辽阔市场前景。智能化情绪调节类玩具长处是很突出。通过微控制器控制智能玩具可以进行内部数据解决,控制产生不同效果。若再辅以各类外部传感器模块特殊功能,智能玩具还可以与顾客进行各种方式互动1。这样一来,智能玩具在改进顾客情绪方面,无疑会带来明显作用。1.2 课题目与意义本设计拟采用SPCE061A开发板控制加速度传感器实现一种“出气宝宝”系统,在人们发泄情绪打击出气宝宝时候,依照打击力度发出相应“哭声”。通过这样方式,人们以娱乐方式合理表达了袭击性,发泄了内心种种压抑情绪,进而实现了心理调节。为了达到使顾客发泄情绪目,本系统需要检测、读取外部打击力
12、,并依照该打击力大小发出相应音量“哭声”。外力信息采集与转化需要通过设计加速度传感器模块来实现。咱们把SPCE061A开发板作为本次设计核心某些。SPCE061A开发板输入输出接口、模数转换以及音频发声等功能都作为系统设计中重点。通过SPCE061A开发板对传感器输出电压数据进行读取、转化、分析,便可以控制播放压缩好“哭声”。本设计最后目是一方面使顾客合理表达了袭击性,释放了情绪;另一方面通过“哭声”回应,得到慰藉或娱乐效果。所谓“哭声”,普通理解为事先准备好哭声音频,可以是婴儿哭声、男声、女声。而广义“哭声”又可以理解为一段音乐或者幽默语句。这样设计,无疑更增长了产品趣味性与娱乐效果,从而更
13、好实现了调节情绪目。基于SPCE061A“出气宝宝”系统设计,可以看作是一款智能玩具开发。该系统具备调节心理、缓和情绪作用,适应了当代心理问题比较突出社会现实。这样开发设计无疑拥有开阔市场和广大受用人群,会对调节人们心理健康、改进人们工作学习氛围、增进生活氛围和睦、乃至增进社会和谐均有着重要意义。1.3 课题研究现状基于SPCE061A智能玩具设计,特别是调节情绪类玩具设计,当前在国内外市场上都比较罕见。鉴于本设计思路比较新颖,同类产品应用设计较少,咱们对课题研究状况简介将重要环绕设计核心某些,即凌阳SPCE061A单片机与加速度传感器发展应用来展开。随着单片机功能集成化发展,其应用领域也逐渐
14、由老式控制扩展为控制解决、数据解决以及数字信号解决(DSP,Digital Signal Processing)等领域。凌阳16位单片机就是为适应这种发展而设计。它CPU内核采用最新推出Microcontroller and Signal Processor16位微解决器(如下简称nSP)通用核构造。nSP指令系统提供具备较高运算速度16位16位乘法运算指令和内积运算指令,为其应用增添了DSP功能,使得nSP系列运用在复杂数字信号解决方面很便利,内嵌32K字闪存(FLASH),可以非常容易地、迅速地解决复杂数字信号。其汇编指令近似C语言,具备较高C语言编程效率。并且它尚有I/0口功能丰富、集成
15、度高、体积小、可靠性好、功耗低且性能价格比高等特点。因而,以nSP为核心SPCE061A微控制器是合用于录音、放音、数字语音辨认应用领域产品一种最经济选取。当前已经投入国内外市场产品,涉及语音播报温度计、智能交通灯、嵌入式汽车运营图片信息采集系统、数码语音录音及播放系统、空调智能控制系统等。可以说基于SPCE061A“出气宝宝”设计与上述产品技术手段、基本原理相类似。然而就应用角度来说,“出气宝宝”思路新颖,具备一定创新性和时代特色,昭示了辽阔市场前景2。加速度传感器是一种可以测量加速力电子设备。加速力就是当物体在加速过程中作用在物体上力。加速力可以是个常量,例如g,也可以是变量。概括起来,加
16、速度传感器可应用在控制,手柄振动和摇晃,仪器仪表,汽车制动启动检测,地震检测,报警系统,玩具,构造物、环境监视,工程测振、地质勘探、铁路、桥梁、大坝振动测试与分析;鼠标,高层建筑构造动态特性和安全保卫振动侦察上。多数加速度传感器是依照压电效应原理来工作。所谓压电效应就是:对于不存在对称中心异极晶体加在晶体上外力,除了使晶体发生形变以外,还将变化晶体极化状态,在晶体内部建立电场,这种由于机械力作用使介质发生极化现象称为正压电效应。固然,尚有诸多其他办法来制作加速度传感器,例如压阻技术,电容效应,热气泡效应,光效应,但是其最基本原理都是由于加速度产生某个介质产生变形,通过测量其变形量并用有关电路转
17、化成电压输出3。 本系统设计所采用MMA7260QT三轴加速度传感器就是运用了压电效应原理。由于加速度导致晶体变形会产生电压,只要计算出产生电压和所施加加速度之间关系,就可以将加速度转化成电压输出。又由惯性定理可知:A(加速度)=F(惯性力)/M(质量)。这样,在质量M为已知常量前提下,加速度与外力成正比例关系。输出电压相应着加速度线性变化,也同样相应着外力线性变化。机械力也就转化成可以控制单片机电信号,达到了系统设计规定4。1.4 本文重要内容及构造安排本文着重于对基于SPCE061A“出气宝宝”系统设计阐明,详细简介了设计思路、办法与详细流程。本文重要内容也是以实际设计为骨架,辅以对必要知
18、识简介,构成了一种重点突出、条理鲜明、内容丰实整体。通观全篇,整个系统设计可大体分为硬件设计与软件设计两某些。硬件设计涉及外部电路设计与连接、单片机I/O口设计、AD转换设计、音频设计、传感器电路等。软件设计涉及I/O输入初始化、AD转换初始化、传感器输入数据解决、声音播放函数编写、音频压缩与调用等。本文构造重要安排为三章,详细内容分布如下:第一章:绪论,阐述课题开发背景,提出该课题研究根据和意义;简介了SPCE061A与单片机发呈现状;内容概述对整篇论文起提纲挈领。第二章:硬件设计,重要涉及硬件元器件选用、系统整体外围电路连接、单片机中各控制单元实现以及传感器电路等。第三章:软件设计,重要分
19、为软件系统开发、音频设计、I/O口与A/D转换定义、主程序设计四方面内容。第2章 硬件设计2.1 硬件器件选取本次设计整个系统重要由SPCE061A开发板和加速度传感器模块两某些构成。因而,硬件器件咱们选取了61板和MMA7260QT三轴加速度传感器。61板是SPCE061A EMU BOARD简称,是以凌阳16位单片机SPCE061A为核心精简开发仿真实验板,除了具备单片机最小系统电路外,还涉及有电源电路、音频电路(含MIC输入某些和DAC音频输出某些)、复位电路等,采用电池供电。MMA7260QT三轴小量程加速传感器是检测物件运动和方向传感器,它依照物件运动和方向变化输出信号电压值。对于本
20、设计来说,可以较为精准地出反映“出气宝宝”受击打力后运动状况。下面,咱们将对所选这两某些硬件构造分别予以简介。2.1.1 SPCE061A单片机SPCE061A是一款16位构造微控制器,重要涉及输入/输出端口、定期器/计数器、数/模转换、模/数转换、串行设备输入输出、通用异步串行接口、低电压监测和复位等某些,并且内置在线仿真电路ICE接口,较高解决速度使其可以迅速解决复杂数字信号5。图2-1 61板框图咱们在设计中选取硬件是以凌阳16位单片机SPCE061A为核心精简开发仿真实验板,简称61板,其硬件框图如图2-1所示。它是“凌阳科技大学筹划”专为大学生、电子兴趣者等进行电子实习、课程设计、毕
21、业设计、电子制作及电子竞赛所设计,也可作为单片机项目初期研发使用。关于61板硬件框图阐明如表2-1所示。表2-1 61板框图简要阐明POWER5v&3.3v供电电路PLL锁相环外部电路*PowerPower-电源批示灯*SleepSleep-睡眠批示灯K4复位按键RESET复位电路S5EZ_PEOBE和PROBE切换3pin单排针PROBE在线调试器串行5pinEZ_PROBE下载线5pin接口J32pin喇叭插针MIC麦克风输入电路DAC一路音频输出电路VRTA/D转换外部参照电压输入接口OSC32768晶振电路K1-K3扩展按键:接IOA0-IOA2R/C其他外围电阻电容SPCE061A6
22、1板核心:16位微解决器PORTA/B32个I/O口61板核心是凌阳16位单片机SPCE061A,封装形式为PLCC84,具备丰富功能引脚。图2-2中显示了61板上各个接口分布。其中输入/输出(I/O)接口、音频输入/输出接口等在实验设计中经惯用到。下面咱们将就本次设计中重点应用到接口作简要阐明。输入/输出(I/O)接口。61板将SPCE061A32个I/O口所有引出:IOA0IOA15,IOB0IOB15。在引脚分布图(可参照61板阐明书,这里不重点阐明)中,相应SPCE061A引脚为:A口,4148、53、5460;B口,51、8176、6864。并且该I/O口是可编程,即可以设立为输入或
23、输出:设立为输入时,分为悬浮输入或非悬浮输入,非悬浮输入又可以设立为上拉输入或是下拉输入;在5V状况下,上拉电阻为150K,下拉电阻为110K;设立为输出时,可以选取同相输出或者反相输出。图2-2 SPCE061A接口音频输入/输出接口。正如咱们在前面简介61板具备强大语音解决功能,如图2-2所示,X1是语音MIC输入端,自带自动增益(AGC)控制,J3是语音输出接口,一种2pin插针外接喇叭,由DAC输出引脚21或2经语音集成放大器SPY0030A放大,然后输出,SPY0030A是凌阳一款芯片,功能相称于LM386, 但是比LM386音质好,它可以工作在2.46.0V范畴内,最大输出功率可达
24、700mW。线调试器PROBE和EZ_PROBE接口。在图2-2中J4为PROBE接口,该接口有5pin,咱们就是通过它将PROBE与PC机连接起来进行调试、仿真和下载程序。这样,就不需要再用仿真器和编程器了。图2-2中J11是EZ_PROBE接口,咱们提供一根下载线用作程序下载,一端连接PC机25pin并口,此外一端接61板5pin EZ_PROBE接口。电源接口。图2-2中J10是电源接口,61板内核SPCE061A电压规定为3.3V, 而I/O端口电压可以选取3.3V也可以选取5V。因此,在板子上具备两种工作电压:5V和3.3V。相应引脚中15、36和7必要为3.3V,对于I/O端口电压
25、51、52、75可觉得3.3V也可以是5V,这两种电平选取通过跳线J5来选取。61板供电电源系统采用顾客各种选取方式:即5V供电和3.3V供电两种供电方式。5V供电时,顾客可以用3节电池来供电,5V直流电压直接通过SPY0029稳压到3.3V,为整个61板提供了5V和3.3V两种电平电压。此外也可以直接外接5V直流稳压源供电,5V电压再通过SPY0029稳压到3.3V。3.3V供电时顾客可以提供直流3.3V电压为实验板进行供电,此时整个板子只有3.3V电压,I/O端口电压此时只有一种选取。需要注意是由于SPY0029A最大输出电流为50mA,因此如果需要外接某些模组时要先考虑负载能力。外部复位
26、。复位是对61板内部硬件初始化,61板自身具备上电复位功能,即通电就自动复位,此外,还具备外部复位电路,即在引脚6上外加一种低电平就可令其复位。如图2-2中RESET按键。2.1.2 MMA7260QT三轴加速度传感器MMA7260QT3轴小量程加速传感器是检测物件运动和方向传感器,它依照物件运动和方向变化输出信号电压值。各轴信号在不运动或不被重力作用状态下(0g),其输出为1.65V。如果沿着某一种方向活动,或者受到重力作用,输出电压就会依照其运动方向以及设定传感器敏捷度而变化其输出电压。用单片机A/D转换器读取此输出信号,就可以检测其运动和方向。本次设计中加速度传感器模块各接口分布如图2-
27、3所示。图2-3 MMA7260QT传感器接线端可见,传感器模块引脚丰富。各个接口定义如下:引脚Z表达z轴方向电压输出;引脚Y表达y轴方向电压输出;引脚X表达x轴方向电压输出;S1、S2表达传感器敏捷度选取信号;3.3V引脚表达输入电压,同步可以接到单片机AD参照电压端;5V引脚表达电源输入;GND引脚表达接地;SL引脚表达传感器休眠与否选取,如果不接,默以为工作状态6。MMA7260QT三轴加速度传感器可以在四种不同敏捷度之间进行选取。依照在引脚S1和引脚S2上逻辑输入,装置内部增益将会发生变化,使得该装置在1.5g,2g,4g或6g四种不同敏捷度下进行工作。(如表2-2所示)。某些产品在应
28、用过程中为了达到最佳工作性能,需要不同敏捷度。加速度选取特性对于这些产品是相称抱负。在产品工作过程中,可以在任意时候变化加速度敏捷度。对于那些只需要1.5g敏捷度应用来说,S1和S2两个引脚可以被空置,由于装置内部有一种下拉电路使其保持在1.5g敏捷度(800mV/g)。表2-2 加速度选取引脚阐明S1S2加速度选取范畴敏捷度001.5g800 mV/g012g600 mV/g104g300 mV/g116g200 mV/g2.2 系统电路连接图2-4 系统构造图选取好了设计中所用原器件,理解了其大体性能,下面咱们将讨论整个系统外部电路连接。整个系统基本上重要由传感器模块、61板两某些构成。必
29、要时候可添加外扩存储器模块。加速度传感器模块三路数据传入61板,控制扬声器发声。整个系统中数据传送途径构造如图2-4所示。硬件设计时,一方面应对单片机进行自检测试。保证输入输出端口以及AD转换等功能正常后,即可进行系统电路连接。61板输入输出接口某些,是61板与外部电路进行信息互换出入通道,咱们应把插线一段连接在输入输出口上。而对于加速度传感器模块来说,本设计基本功能实现只需要X轴、Y轴、Z轴、电源、接地五个引脚。其她引脚,如加速度选取、睡眠模式等可作为本系统优化方向进行考虑,咱们在现阶段电路图连接与分析中不做显示。把插线另一端与加速度传感器上述五个引脚相连接。由于加速度图2-5 系统外部电路
30、连接原理图传感器模块电压输出满足61板输入规定,这里不需要功率放大器。整个系统外部电路连接如图2-5表达。2.3单片机控制单元硬件设计SPCE061A单片机是本次设计核心部件。对其硬件理解与设立直接关系到系统性能实现。如下将对本次设计中应用到输入/输出接口、模仿数字转换器ADC、凌阳音频等某些做重点知识简介与设计阐明。2.3.1 输入/输出控制单元设计输入/输出接口(也可简称为I/O端口)是单片机与外设互换信息通道。输入端口负责从外界接受检测信号、键盘信号等各种开关量信号。本次设计中传感器信号正是由输入端口传入内部电路。输出端口负责向外界传送由内部电路产生解决成果、显示信息、控制命令、驱动信号
31、等。SPCE061A输入/输出接口包括了各种控制单元,其构造如图2-6所示。图2-6 I/O构造示意图SPCE061A有两个16位通用并行I/O口:A口和B口。这两个端口每一位都可通过编程单独定义成输入或输出口。其中,A口IOA0IOA7作为输入端口时,具备唤醒功能,即当输入电平发生变化时,会触发CPU中断。本次设计中选用A口作为输入口7。SPCE061A提供了位控制构造I/O端口,每个独立位用于数据输入还是输出,可通过如下3种控制向量来作设定:数据向量Data、属性向量Attribution、方向控制向量Direction。每3个相应控制向量组合在一起,形成一种控制字,用来定义相相应I/O端
32、口位输入输出状态和方式。与其他单片机相比,SPCE061A除了每个I/O口可以单独定义其状态外,每个相应状态下I/O端口性质电路都是内置,在实际电路中不需要再外接。这为系统硬件设计带来了很大以便。A口和B口Data、Attribution和Direction设定值均在不同寄存器里,顾客在进行I/O端口设立时要特别注意这一点。I/O端口组合控制设立如表2-3所示:表2-3 I/O端口控制向量组合DirectionAttributionData功能与否唤醒功能描述000下拉是带下拉电阻输入引脚001上拉是带上拉电阻输入引脚010悬浮是悬浮式输入引脚011悬浮否悬浮式输入引脚100高电平输出(带数据
33、反相器)否带数据反相器高电平输出101低电平输出(带数据反相器)否带数据反相器低电平输出110低电平输出否带数据寄存器低电平输出111高电平输出否带数据寄存器高电平输出其中,当Direction、Attribution和Data设定值为011时,悬浮输入作为ADC IOA06输入。下面就各个控制单元功能实现作简要阐明。P_IOA_Data(读/写)(7000H)。A端口数据单元,用于向A口写入或从A端口读出数据。当A口处在输入状态时,读出是读A口引脚电平状态;写入是将数据写入A端口数据寄存器。当A口处在输出状态时,写入输出数据到A端口数据寄存器。P_IOA_Buffer(读/写)(7001H)
34、。A端口数据向量单元,用于向数据向量寄存器写入或从该寄存器读出数据。当A口处在输入状态时,写入是将A端口数据向量写入A端口数据寄存器;读出则是从A端口数据寄存器内读其数值。当A口处在输出状态时,写入输出数据到A端口数据寄存器。对输出而言,P_IOA_Data与P_IOA_Buffer是同样。但对输入而言,P_IOA_Data读是IO值,P_IOA_Buffer读是buffer内值。假设IOA0作为输出,并去接LED阳极(LED阴极接地)。若P_IOA_DataIOA0为1。 在某些需要较大驱动能力LED而言,LED会亮,但IOA0会被拉到一种很低值。此时从P_IOA_Data读回为0,但P_I
35、OA_Buffer则为1。读回意义是是以便做其他IO运算。P_IOA_Dir(读/写)(7002H)。A端口方向向量单元,用于用来设立A口是输入还是输出,该方向控制向量寄存器可以写入或从该寄存器内读出方向控制向量。Dir位决定了端口位输入/输出方向:即0为输入,1为输出。P_IOA_Attrib(读/写)(7003H)。A端口属性向量单元,用于A端口属性向量设立。方向向量_Dir、属性向量_Attrib和数据向量_Data分别代表三个控制口。这三个端口中每个相应字节合在一起,形成一种控制字,来定义相相应I/O端口位输入/输出状态和方式。表3-1详细表达了如何通过对I/O口_Dir、_Attri
36、b以及_Data进行编程,来设定端口位输入/输出状态和方式。由表3-1可以得出如下某些结论:_Dir位决定了端口位输入/输出方向:即0为输入,1为输出。_Attrib位决定了在端口位输入状态下是为悬浮式输入还是非悬浮式输入:即0为带上拉或下拉电阻式输入,而1则为悬浮式输入。在端口位输出状态下则决定其输出是反相还是同相;0为反相输出,1则为同相输出。_Data位在端口位输入状态下被写入时,与_Attrib字节合在一起形成输入方式控制字00、01、10、11,以决定输入端口是带唤醒功能上拉电阻式、下拉电阻式或悬浮式以及不带唤醒功能悬浮式输入。_Data位在端口位输出状态下被写入是输出数据,但是,数
37、据是通过反相器输出还是通过同相寄存器输出要由_Attrib位来决定。本次设计中,以A口中06任意3个引脚作为输入引脚,以传入外部加速度传感器中X、Y、Z三个方向上数据。传入数据需要进行AD转换,因而输入引脚功能应当定为“不带唤醒功能悬浮式输入”。方向向量_Dir、属性向量_Attrib和数据向量_Data设定值为011。2.3.2 模仿数字转换设计SPCE061A有8个10位ADC通道,其中一种通道(MIC_In)用于语音输入,模仿信号通过自动增益控制器和放大器放大后进行A/D转换。别的7个通道(Line_In)和IOA06引脚共享,可以将输入模仿信号(如电压信号)转换为数字信号。SPCE06
38、1AA/D转换范畴是整个输入范畴。无效A/D模仿信号(超过VDD+0.3V或是低于VSS-0.3V)将影响转换电路工作范畴,从而减少ADC性能。由于Line_In通道和IOA06共享引脚,建议顾客选取其他IO引脚(非IOA06),以避免由于无效IO信号导致电压不稳(超过VDDIO+0.7V或低于VSSIO-0.7V)而减少ADC性能。ADC最大输入电压由P_ADC_Ctrl(写)(7015H)第7和第8位值决定。第7位VEXTREF决定了ADC参照电压为AVdd或是外部参照电压。第8位V2VREFB决定了2V电压源与否起作用。如果起作用,顾客可向VEXTREF引脚输入2V电压。此反馈回路把AD
39、C最高参照电压设立为2V。如果顾客指定参照电压源值不超过AVdd,它还可以被当作ADC最高参照电压。在ADC内,由DAC0和逐次逼近寄存器SAR构成逐次逼近式模仿数字转换器(SAR ADC)。向P_ADC_Ctrl(写)(7015H)单元第0位(ADE)写入1,可以启用ADC。系统默认值为ADE=0(关闭ADC)。当ADE=1时,应对P_ADC_Ctrl和P_ADC_MUX_Ctrl其他控制位进行合理设立。通过设立P_ADC_MUX_Ctrl(写)(702BH)第02位,可觉得A/D转换选取输入通道。通道涉及MIC_In和Line_In两种。工作时,如果MIC_In通道和Line_In通道都处
40、在直接工作模式,程序会检查P_ADC_Ctrl第15位。只有当当前AD转换完毕后,才干切换通道。当MIC_In通道处在定期器锁存状态时,它可以优先存取ADC。顾客就可以从P_ADC_MUX_CtrlFailB位得知,Line_In ADC与否被MIC_In ADC打断。顾客可通过读取P_ADC(读)(7014H)单元,获得从MIC_In通道输入模仿信号转换成果。顾客可通过读取P_ADC_LINEIN_Data(读)(702CH)单元,获得从指定Line_In通道输入模仿信号转换成果。选取MIC_In通道后,可通过设立P_DAC_Ctrl(写)(702AH)第3和4位,选取A/D转换触发事件。当
41、P_ADC(读)(7014H)单元数据被读取/TimerA/TimerB事件发生后,可执行A/D转换。然而,在选取Line_In通道后,只有在读取P_ADC_LINE IN_Data(读)(702CH)单元内容后,才执行A/D转换,且不能使用定期器锁存数据。进入睡眠状态后,ADC被关闭(涉及AGC和VMIC)。注意,供电复位后无论ADC与否被启用,VMIC信号都预设为ON。VMIC用于向外部MIC提供电源,VMIC=AVDD。即,VMIC状态和ADC状态无关。因此,不使用VMIC时,顾客须把P_ADC_Ctrl单元第1位MIC_ENB设为1,以关闭VMIC。硬件ADC最高速率限定为(Fosc/
42、32/16)Hz,如果速率超过此值,当从P_ADC(读)(7014H)/P_ADC_LINEIN_Data(读)(702CH)单元读出数据时会发生错误。P_ADC_Ctrl(写)(7015H)单元第5位DAC_OUT,可用来选取两通道音频DAC最大输出。最大输出电流可为2mA或是默认值3mA。DAC_OUT设立可变化DAC输出功率。在ADC自动方式被启用后,会产生出一种启动信号,即RDY=0。此时,DAC0输出电压与外部输入电压进行比较,以尽快找出外部电压数字值。逐次逼近式控制一方面将SAR中数据最高有效位设为1,而其他位全设为0,即B。这时DAC0输出电压VDAC0为1/2最大值,用来与输入
43、电压Vin进行比较。如果VinVDAC0,则保持原先设立为1位(最高有效位)仍为1;否则,该位会被清为0。接着,逐次逼近式控制又将下一位试设为1,别的低位仍旧设为0,即B,VDAC0与Vin进行比较成果若VinVDAC0,则仍保持原先设立位值,否则该位便清为0。这个逐次逼近过程始终会延续到10位中所有位都被测试之后,A/D转换成果便会保存在SAR内。当10位A/D转换完毕时,RDY会被设1。此时,顾客通过读取P_ADC (7014H)或P_ADC_MUX_Data(702CH)单元可以获得10位A/D转换数据。而从该单元读取数据后,又会使RDY自动清为0来重新开始进行A/D转换。若未读取P_A
44、DC(7014H)或P_ADC_MUX_Data(702CH)单元中数据,RDY仍会保持为1,并且不会启动下一次A/D转换。外部信号是由LIN_IN17即IOA06或通道MIC_IN输入。从LIN_IN17输入模仿信号直接被送入缓冲器P_ADC_MUX_Data(702CH);从MIC_IN输入模仿信号则要通过缓冲器和放大器。放大器增益值可由外部线路来调节,因而AGC可以控制MIC_In输入信号值在一定范畴内8。P_ADC(读/写)(7014H)。P_ADC单元(如表3-2所示)储存MIC输入A/D转换数据。逐次逼近式ADC由一种10位DAC(DAC0)、一种10位寄存器DAR0、一种逐次逼近
45、寄存器SAR和一种比较器COMP构成。表2-4 P_ADC单元b15 - b6b5 b0DAR0(读/写)-P_ADC(读):读本单元实际为A/D转换输出10位数。若P_DAC_Ctrl单元第3、4位被设为00,那么在转换过程里读出本单元(7014H)亦会触发A/D转换重新开始。P_ADC_Ctrl(读/写)(7015H)。P_ADC_Ctrl单元(如表2-5和表2-6所示)为ADC控制口。其中,b15为RDY(读),b8为V2VREFB(写),b7为VEXTREF(写),b6为DAC_OUT(写),b2为AGCE(写),b1为MIC_ENB(写),b0为ADE(写)。表2-5为电压控制某些,
46、2-6为数模转换某些表2-5 P_ADC_Ctrl单元(电压控制某些)b8b7b6b2控制功能描述0-打开2V电压输出,其可作外部AD参照电压输入1-关闭2V电压输出(预设)-0-不使用外部参照电压,AD参照电压为Vdd(预设)-1-启用外部参照电压引脚,从VEXTREF脚输入外部参照电压0-DAC电流=3mA VDD=3V(预设)1-DAC电流=2mA VDD=3V-0取消AGC自动增益控制(预设)-1启用AGC自动增益控制表2-6 P_ADC_Ctrl单元(数模转换某些)b15b1b0控制功能描述0-10 位模仿数字转换未完毕1-10 位模仿数字转换完毕,输出 10位数值0MIC模式被使能,Vmic = AVdd1MIC模式被关闭-0关闭模仿数字转换功能-1启用模仿数字转换功能P_ADC_MUX_Ctrl(读/写)(702BH)ADC多通道控制是通过控制单元(如表2-7所示)来实现。表2-7 P_ADC_MUX_Ctrl单元b15b14b13-b3b2b1b0控制功能描述RDYFailB-Channel_sel0-10位模仿数字转换未完毕1-10位模仿数字转换完毕-0-10位模仿数字转换失败(预设)-1-10位模仿数字转换成功-000模仿电压信号经由MIC_IN输入-0
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100