TECHNOLOGY AND MARKET
Vol. 23,No.7,2016
基于
ATmega16及ISD4004的电子留声机设计
王赞,葛文爽
(广东省岭南工商第一技师学院,广东广州510800)
摘要:以ATmegal6单片机作为微控制器,以美国ISD公司生产的ISD4004语音芯片为核心的电子留声机,阐述了该系
统的硬件及软件设计。硬件部分包括控制模块、电源模块、语音录放模块、按键模块及显示模块。软件部分包括电子留 声机的主程序及重要模块的编程思路。
关键词:ATmegal6;电子留声机;ISD4004;语音录放
doi : 10. 3969/j. issn. 1006 - 8554. 2016. 07. 029
〇引言
留声机诞生于1877年。世界上发明留声机的人就是誉满 全球的发明大王——
托马斯•阿尔瓦•爱迪生。自20世纪80
年代末期至今,语音技术又有了新的进展,特别是基音同步叠 加(PS0LA)方法的提出(1990),使基于时域波形拼接方法合 成的语音的音色和自然度大大进步.
随着集成电路制造技术的发展,语音处理器已层出不穷, 并且性能越来越高,语音芯片的应用范围也越来越广,可用于 微型录音机、通信、电话、车船、飞机黑匣子、有声电子信函、语 音信箱、高级玩具,应用前景十分广泛。
1
硬件总体设计方案
系统划分为控制模块、电源模块、语音录放模块、按键模块
及显示模块。采用专用的ISD4004芯片和单片机的设计,以
AVR单片机的MEGA16为控制核心,采用专用芯片ISD4004
实现录音与放音的功能,采用液晶12864显示输出录音与放音 地址的设置,利用按键控制输入。系统框图如图1所示。
图1
系统框图
1.1控制器模块
Atmegal6与51单片机、PIC单片机相比具有一系列的优
点:在相同的系统时钟下运行速度最快;芯片内部的Flash、EE- K10M、SRAM容量较大;所有型号的Flash、EEKlOM都可以反
复烧写、全部支持在线编程烧写(ISP);多种频率的内部RC振 荡器、上电自动复位、看门狗、启动延时等功能,零外围电路也 可以工作;每个I/O 口都可以以推换驱动的方式输出高、低电 平,驱动能力强;内部资源丰富,一般都集成ad、d
a
模数器、
PWM、SPI、USART、TWI、I2C通信口、丰富的中断源等。具有C
语言风格的汇编语言,有与标准C兼容的C语言,C语言函数 可以与汇编函数互相调用,使其开发更加容易,实现整个系统
70更加简单。
1.2 电源模块
LM2576系列是美国国家半导体公司生产的3A电流输出
降压开关型集成稳压电路,它内含固定频率振荡器(52kHz)和 基准稳压器(1.23V),并具有完善的保护电路,包括电流限制 及热关断电路等,利用该器件只需极少的外围器件便可构成高 效稳压电路。LM2576系列包括LM2576(最高输入电压40V) 及LM2576HV(最高输入电压60V)二个系列。各系列产品均 提供有 3.3V( -3.3)、5V( -5.0)、12V( -12)、15V( -15)及 可调(-ADJ)等多个电压档次产品。
采用稳压集成LM2576芯片得到5V的稳定电压,因为该 芯片的集成度高,应用方便简捷,工作稳定可靠,输入的电压值 可在(7〜40) V范围内可变,灵活性强,性价比高。实现对主控 单元、显示单元、语音录放单元、按键单元的供电。1.3语音录放模块
选用ISD4004语音芯片,该芯片在ISD2500语音芯片的基 础上开发的,其录放音的时间可以达到8 min,可进行多个地址 的设置,进行录音的内容可多种化,实现人性化,自由选择性的 功能。ISD4004开发板是由ISD4004芯片、LM386低压音频小 功率放大器和AMS1117电压转换芯片焊接而成。ISD4004工 作于SPI串行接口,SPI协议是一个同步串行数据传输协议,协 议假定微控制器的SPI移位寄存器在SCLK的下降沿动作,因 此对ISD4004而言,在时钟止升沿锁存M0SI引脚的数据,在
下降沿将数据送至MIS0引脚。其连接如图2所示。1.4按键模块
按键部分作为系统的输入,由于ATmegal6的每个10 口都 有内部上拉电阻,因此只要在单片机编程时使能相应的上拉电 阻,那么这个部分便不需要任何其他元件,设计较为简单。通 过按键来控制录音和放音的地址的设置。1.5 显示模块
采用字符型LCD显示。LCD具有低功耗、长寿命、高可靠 性等特点,可显示英文、汉字及数字。利用单片机来驱动液晶
显示模块,设计简单,且界面美观舒适,耗电少。采用12864M -1液晶显示数据,可以显示录音地址和放音地址。
技术与市场
2016年第23卷第7期
技术研发
2系统软件设计
ISD4004语音芯片具有能够准确控制语音录放地址的功
能,这种功能使我们能够方便灵活地对语音信息进行处理以达 到我们对语音信息的要求。例如可以利用软件编程的方法实 现对语音信息的剪辑、合成等操作来达到我们对语音信息特殊 的要求。还有可以通过程序控制做到语音的定时放音和循环 放音。若干条信息按顺序分别录入到芯片内,比如称其为a,b, c,d信息。我们需要知道每一时刻的录音信息在芯片存储器
中所处的位置,这样有利于我们实时地监控ISD4004语音芯片 工作的位置,从而能够知道所录的每段信息的开头和结尾的准 确地址,便于对已录入的信息进行管理。
以ISD4004 -8 MP为例,内置了特殊的信息寻址机制,即 行地址时钟(以下简称RAC)。RAC在行末前25 ms变低,在 恰好到达行末时变高,这就类似一个时钟,帮助你确定录放操 作已到何处。这个时钟相对于微控制器的速度来说较慢,上例 为200 ms。因此,微控制器很容易通过软件查询RAC的方法 来确定何时已到达行末。但由于微处理器的查询速度相对于 RAC时钟频率要快得多,所以,如果通过查询的方法检测RAC 每个周期的低电平时,在上一次检测到RAC低电平时必须要 经过一段延时才能再检测RAC,这样检测到的低电平才是有效 的,这段延时可以说是“假延时”。延时的时间必须大于RAC 低电平的时间,而小于RAC的周期。
可以利用一个计数器对RAC引脚进行计数,并且通过 LED显示器实时地把计数器的值显示出来,这样不但可以知道
图3主程序流程图
2)语音录放模块程序的设计。电路上电后,程序首先完成 程序的初始化,随后查询按键状态,进入系统待机状态。如果 有按键按下,则转去执行该按键指向的工作程序。按键包括录音键、放音键。
3
)显示模块程序的设计。根据所要求显示的内容与按键
控制的改变量的设定进行程序的编写,可实现显示。
3结语
在本文中,电子留声机设计可以通过按键的控制设置录音 的地址和放音地址的选择,并通过12864液晶显示地址位的选 择状态,能够将录制的声音内容准确的存储在ISD4004语音芯 片中,不同地址的声音内容能够准确地通过喇叭放出。参考文献:
[1]
孙春亮.单片机C语言入门[M]北京:人民邮电出版社,
录入的每段信息的开头和结尾的地址,而且还可以知道每段信 息之中特定内容的地址,从而可以建立地址表对信息进行剪 辑、合成等处理达到对语音信息特定的要求。
同样,在放音时也可以实现对语音信息的准确放音。只需
把事先编辑好的语音信息的准确地址传送到ISD4004的控制 口就可以实现指定地址的放音。如果需要的话,还可以对 ISD4004的放音地址进行实时的监控,其方法与录音时类似。
1 )主程序设计。单片机的输入ISD4004语音芯片发送的 数据信号和按键控制输入的信号指令,输出给ISD4004控制录 音和放音,并在12864液晶显示屏上显示,程序流程图如图3 所示。
2010.
[2] 赵广林.新型语音芯片应用手册[M].北京:电子工业出
版社,2008.[3 ]
北京三恒星科技公司.Altium Designer 6设计教程[M ]北 京:电子工业出版社,2007.
71
因篇幅问题不能全部显示,请点此查看更多更全内容