实验13MCS-51与SPI串行接口语音芯片连接实验13MCS-51与SPI串行接口语音芯片连接一、实验目的二、实验设备与器材三、实验电路四、实验原理(ISD4000系列语音芯片简介)五、实验内容、过程及要求实验13MCS-51与SPI串行接口语音芯片连接一、实验目的(1)理解SPI串行总线传输协议。(2)理解ISD4000系列语音芯片的工作原理以及其放音、录音的控制过程。(3)理解MCS-51与SPI总线外设(如ISD4000系列语音芯片)的硬件连接、读/写方式。实验13MCS-51与SPI串行接口语音芯片连接二、实验设备与器材仿真器及其附件、图1所示的实验电路板各一套。实验13MCS-51与SPI串行接口语音芯片连接三、实验电路本实验仅仅涉及实验板上的U101、U103、U104、U401(ISD4002语音芯片)、U404(集成功率放大器),而与其他元器件无关。接通电源前,将JP103的1-2引脚短路,使ISD4002语音芯片的中断输出端引脚与MCS-51外中断(P3.2)引脚相连。由于多数MCS-51芯片没有内置的SPI串行总线接口部件,因此只能用软件模拟SPI总线时序方式读/写SPI总线接口器件。实验13MCS-51与SPI串行接口语音芯片连接四、实验原理(ISD4000系列语音芯片简介)ISD4000系列语音芯片包括ISD4002、ISD4003、ISD4004三个子系列芯片,电源电压为3V,单片录音时间在2~16分钟之间。音质中上,它们被广泛应用于公共汽车语音报站系统、移动及自动应答电话设备、语音复读机等电子产品中。实验13MCS-51与SPI串行接口语音芯片连接该系列语音芯片采用CMOS工艺,内含振荡器、防混淆滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平FlashROM存储器阵列。通过串行通信接口(SPI或Microwire总线协议)与微控制器(如MCS-51芯片)相连,所有操作均由微控制器控制。内部采用多电平直接模拟量存储技术,每个采样值直接存储在片内FlashROM存储器中,因此能逼真、自然地再现语音、音乐、音调等声响效果,避免了一般固体录音电路因量化和压缩造成的量化噪声和“金属声”。可选4.0,5.3,6.4,8.0kHz等多个采样频率。采样频率越低,录放时间就越长(但音质会略有下降),片内信息存放在FlashROM存储器中,在断电状态下可保存100年(典型值),能反复录音10万次以上。实验13MCS-51与SPI串行接口语音芯片连接1.主要参数表13-1主要参数型号存储时间/秒最大段数信息分辨率/毫秒采样频率/Hz滤波器带宽/Hz控制码+地址位长度ISD4002-1201206002008.0k3.4k5+11ISD4002-1801806003005.3k2.3k5+11ISD4002-2402406004004.0k1.7k5+11ISD4003-0424012002008.0k3.4k5+11ISD4003-0636012003005.3k2.3k5+11ISD4003-0848012004004.0k1.7k5+11ISD4004-0848024002008.0k3.4k8+16ISD4004-1696024004004.0k1.7k8+16实验13MCS-51与SPI串行接口语音芯片连接2.封装及引脚排列ISD4000系列语音芯片采用28引脚TSOP、PDIP或SOIC封装方式,其中PDIP或SOIC封装方式引脚排列如图13-1所示。引脚功能如下:VCCD:芯片内部数字电路电源引脚。VSSD:芯片内部数字电路地线引脚。VCCA:芯片内部模拟电路电源引脚。VSSA:芯片内部模拟电路地线引脚。实验13MCS-51与SPI串行接口语音芯片连接图13-1PDIP或SOIC封装引脚排列实验13MCS-51与SPI串行接口语音芯片连接为了减小噪声,芯片内部模拟、数字电路具有各自的电源、地线总线,以方便在印制板上实现数字、模拟电路电源和地线分开走线,形成单点接地的布线规则。ANAIN+、ANAIN-:分别是录音输入放大器的同相输入端和反相输入端。输入放大器可用单端或差分方式驱动。采用单端驱动时,信号由耦合电容输入,最大为32mV(峰-峰值)。耦合电容与本端内部的3kΩ串联电阻构成的输入阻抗决定了芯片频带的低端截止频率。采用差分驱动时,最大为16mV(峰-峰值)。实验13MCS-51与SPI串行接口语音芯片连接XCLK:外部采样时钟输入端,可选的采样频率如表13-1所示。一般使用芯片内部采样频率(在出厂前已调校,误差在+1%以内),除非对采样精度要求很高。当不用外部采样时钟信号时,XCLK引脚必须接地。AMCAP:自动静噪输入端。当录音信号电平下降到内部设定的某一阈值以下时,自动静噪功能使信号衰弱,这样有助于养活无信号(静音)时的噪声。一般情况下,该引脚对地接1 μF电容,构成内部信号电平峰值检测电路的一部分。检出的峰值电平与内部设定的阈值作比较,决定自动静噪功能的翻转点。大信号时,自动静噪电路不衰减,静音时衰减6dB。1μF电容也影响自动静噪电路对信号幅度的响应速度。当AMCAP引脚接VCCA时,则禁止自动静噪。实验13MCS-51与SPI串行接口语音芯片连接AUDOUT:音频输出,可驱动5kΩ的负载。MOSI:命令及数据信息的串行输入端。MIS0:状态信息的串行输出端。SCLK:串行时钟输入端,由SPI总线主设备(一般为MCU)提供。:片选信号输入端,输入,低电平有效。当片选信号无效时,芯片处于待用状态,静态电流典型值为1μA。SS实验13MCS-51与SPI串行接口语音芯片连接:中断输出端,漏极开路(OD)输出,低电平有效。在放音(包括快进)、录音操作过程中,遇到到段结束(EOM)、存储器末尾(OVF)时,引脚输出低电平并保持,直到SPI总线主设备向ISD芯片写入新的命令。RAC:行地址时钟输出端,漏极开路(OD)。每个RAC周期表示ISD存储器的操作进行了一行(ISD4003系列中的存储器有1200行)。该信号高电平时间为200ms,低电平时间为25ms。快进模式下,RAC的218.75μs是高电平,31.25μs是低电平。该端可用于存储管理技术。INTINT实验13MCS-51与SPI串行接口语音芯片连接3.控制命令及SPI端口控制寄存器位ISD4000系列语音芯片控制命令如表13-2所示,SPI端口控制寄存器位含义如图13-2所示。实验13MCS-51与SPI串行接口语音芯片连接表13-2控制命令指令5位控制码11位地址操作摘要POWERUP00100XXXXXXXXXXX上电:等待TPUD后器件可以工作SETPLAY11100A10-A0从指定地址开始放音。必须后跟PLAY指令使放音继续PLAY11110XXXXXXXXXXX从当前地址开始放音(直至EOM或OVF)SETREC10100A10-A0从指定地址开始录音。必须后跟REC指令录音继续REC10110XXXXXXXXXXX从当前地址开始录音(直至OVF或停止)SETMC11101A10-A0从指定地址开始快进。必须后跟MC指令快进继续MC11111XXXXXXXXXXX执行快进,直到EOM。若再无信息,则进入OVF状态STOP0X110XXXXXXXXXXX停止当前操作(C3没有定义)STOPWRDN0X01XXXXXXXXXXXX停止当前操作并掉电(C3、C0没有定义)RINT0X110XXXXXXXXXXX读OVF和EOM标志(C3没有定义)实验13MCS-51与SPI串行接口语音芯片连接200ms25msOVFEOMP0P1P2P3P4P5P6P7P8P9P10000C4C3C2C1C0A10A9A8A7A6A5A4A3A2A1A0MISOMOSIMC(快进模式):1-允许;0-禁止IAB(是否忽略指令地址):1-忽略;0-使用PU(电源控制):1-上电;0-掉电P/R(放音/录音):1-放音;0-录音RUN(允许/禁止操作):1-开始;0-停止图13-2SPI端口控制寄存器位及含义实验13MCS-51与SPI串行接口语音芯片连接1)放音过程(1)执行上电命令(POWERUP)。(2)延迟等待,上电结束(当采样频率为8kHz时,上电延迟时间约为25ms)。(3)执行“SETPLAY”命令,设置放音段起始地址。录音、放音段起始地址与每段最短时间及放音长度有关。例如,对ISD4002-120芯片来说,最多有600段(段地址编号为000~599),每段最短录音时间为200ms。如果每段记录一个单音,长度为400ms(即每个单音占用两段),则第n个单音对应的段地址为(n×2)。实验13MCS-51与SPI串行接口语音芯片连接(4)执行“PLAY”命令,从当前地址开始放音,遇到段结束标志EOM或存储器末尾标志OVF时停止放音,同时INT引脚输出低电平,指示当前段播放结束。当需要播放两段或两段以上时,如果段与段之间间隔很小时,可在上一段播放结束后,延迟一段时间(需通过试听确定延迟时间的长短,一般为数十毫秒)再播放下一段。放音过程如图13-3(a)所示。在放音操作过程中,执行“STOP”或“STOPWRDN”命令时,将终止当前放音操作。实验13MCS-51与SPI串行接口语音芯片连接2)录音过程(1)执行上电命令(POWERUP)。(2)延迟等待,直到上电结束(当采样频率为8kHz时,上电延迟时间TPUD约为25ms)。(3)再执行上电命令(POWERUP)。(4)延迟两倍上电等待时间(即延迟2×TPUD时间)。(5)执行“SETREC”命令,设置录音段的起始地址。执行“REC”命令,从当前地址开始录音,直到出现存储器末尾标志OVF信号。实验13MCS-51与SPI串行接口语音芯片连接在录音过程中,未录到存储器末尾时,就执行“STOP”或“STOPWRDN”命令,将终止当前录音操作,并产生EOM标志。因此,可利用这一特性在芯片上录制多段语音信息。可见,录音过程与放音过程相似,只是每次录音操作操作只能录一段,如图13-3(b)所示。实验13MCS-51与SPI串行接口语音芯片连接YNYN开始执行上电操作命令(POWERUP)延迟等待(25ms),直到上电结束上电延迟时间到?执行“SETPLAY”命令设置播放地址执行“PLAY”命令INT有效?继续播放下一段?执行“STOPWRDN”命令结束段间延迟YNN开始执行上电操作命令(POWERUP)延迟等待(25ms),直到上电结束上电延迟时间到?再执行上电操作命令(POWERUP)延迟2倍上电时间上电延迟时间到?执行“SETREC”命令设置录音地址执行“REC”命令INT有效?或录音时间到?执行“STOPWRDN”命令结束YYNNY(a)(b)图13-3放音、录音流程(a)放音流程;(b)录音流程实验13MCS-51与SPI串行接口语音芯片连接4.SPI总线接口时序及命令格式芯片支持8位、16位命令格式,传输时序如图13-4所示,ISD4000系列语音芯片SPI总线参数如表13-3所示。实验13MCS-51与SPI串行接口语音芯片连接表13-3ISD4000系列语音芯片SPI总线参数符号参数最小最大单位TSSS片选信号SS建立时间500—nsTSSH片选信号SS保持时间500—nsTDIS串行输入数据DI建立时间200—nsTDIH串行输入数据DI保持时间200—nsTPD输出延迟—500nsTDF输出延迟到高阻态—500nsTSSmin片选信号SS高电平时间1—μsTSCKhiSCLK高电平时间400—nsTSCKlowSCLK低电平时间400—nsF0SCLK频率—1000kHz实验13MCS-51与SPI串行接口语音芯片连接MSBSCLKMOSIMISOSSTSSSTDISTDIHTCKlowTCKhiTSSHTSSminTDFTPDTPD(a)图13-4命令格式(a)传输时序;(b) 8位命令格式;(c) 16位命令格式实验