ELECTRONItS W0RLD・ 舫 基于Arduino Mega2560平台 的无线语音录放系统的设计 长春工程学院王秀艳 国家电网长春供电公司 王洪凯 雅砻江公司二滩水力发电厂 王秀梅 长春工程学院晋汉林 【摘要】本文论述了一种无线语音录放系统的设计过程,包括硬件电路构成及软件编译。本系统依托Arduino技术平台,以其Mega2560型号 电路板作为处理单元,采用ISD1760芯片作为语音录放单元,通过NRF24L01模块电路进行无线对接,可在SPI协议下实现语音无线录放 功能。该系统信息存储量大,接口丰富,灵活方便,快捷高效,音质好,具备良好扩展性,适用范围广。 【关键词】语音录放;Arduino;ISD1760芯片;串行通信协议 Abstract:The design process of a wireless Audio record—pay system is introduced in this paper.This system includes hardware circuit and software compiling. Arduino is its techniqneplafform,Mega2560 is its CPU.ISD1760 is its record-pay unit.It call implement sound’S wireless record—play function with SPI proscal through NRF240L01.IT is detected that this system have such advatages all much nformatiion storage,multi・interface,flexibility,eficifency nd agood qualiy.t Keywords:Audio Record—play;Arduino;ISD 1760 chip;Series communication _语音录放电路在电子产品中用途广泛,生活工作中随处可见, 可应用于报警、铃声、复读、人机语音应答对话等各个方面,但 传统语音电路的设计十分复杂,开发工具较为昂贵。近年来,随着 模拟存储语音技术的ISD芯片的出现和发展,语音录制、播放设计 难度及软件编译的工作量降低了,同时语音音质有所提高。下面以 Arduino平台为核心设计一种方便快捷高效的语音录放系统,主要 由硬件电路搭建和软件编译两部分构成。 的单片无线收发器芯片。无线收发器包括:晶体振荡器、调制器和 解调器、频率发生器、SchockBurst增强型模式控制器及功率放大 器。NRF24LO1可以连接到大多数型号单片机芯片上,并完成无线数 据传送工作,通过其SPI接口进行输出功率频道选择和通信协议的 设置,电流消耗极低。 2系统软件编译 Arduino是开源的,它的烧录程序可从官网或其他参考资料中 获得帮助,但就本系统而言,依据具体硬件电路结构及端口配置 下要实现语无线音录放功能,仍需制定通讯协议并自行编译软件。 ATmega2560芯片内已经预置了bootloader程序,本系统通过ICSP header接口将软件编译程序直接下载 ̄UArduino Mega2560电路板中。 2.1通信协议 SPI(Serial Peripheral Interface)是由美国摩托罗拉公司 推出的一种同步串行传输规范。SPI可以用全双工通信方式同时发 送和接收8/16位数据,在芯片的管脚上只占用四根线,节约了资 源,同时为PCB的布局上节省空间。该语音录放系统核心主要部件 都集成了这种协议或具备相应接口,这为采用SPI串行通信传输协 议了提供便利条件,简单易行。 1系统硬件电路设计构成 系统主要由控制器、 语音模块、通信模块等构成,系统结 构框图如图1所示。 图1系统结构框图 1.1系统处理单元 Arduino于2005年由一个欧洲团队开发,它包含多种型号的电 路板和Arduino IDE编译软件,是一款开源电子原型平台。本设计 采用Arduino Mega2560型号电路板作为该语音录放系统处理 单元,其核心器件是Atmega2560芯片。它具有256KB存储容量,多 达54路数字输入输出端口,包括PWId输出、UART、ICSP header、 USB、电源等接口,以及16MHz晶体振荡器,并具备过流保护功能。 丰富的接口和强大的功能特别适合需要大量IO接口的设计,采用该 电路板利于本语音录放系统外扩应用于其它电路中,实现更多功 能,如报警电路等。 1.2语音录放单元部分 采用ISD1760芯片作为语音录放芯片。ISD1760是Winbond推出 的单片优质语音录放电路,音质好,电压范围宽,应用灵活,可 录、放音十万次,存储内容可以断电保留一百年。芯片内部包含有 麦克风前置扩大器、扬声器驱动线路、自动增益控制、振荡器与内 存等的多方位整合系统功能及内置多信息管理系统,并可以根据需 求定制信息操作指示音效。ISD1760芯片具备及嵌入式双运作 模式,多种采样频率对应多种录放时间,可处理多达255段以上信 息,功能强大。 1.3无线传输单元 采用NRF24L01芯片作为传输模块,建立主控制器和语音模块 之间无线通信。NRF24L01是一款工作在2.4GHz一2.5GHz的ISM频段 图2程序流程图 2.2程序编译 程序的编译主要包括无线通信和语音录放部分。用两块NRF24L01 无线通信模块分别作为信号的发送和接收端,连接在主机管理单 元和从机语音录放电路中。确定好各部件之间连接及端口对应关系 基金资助:吉林省教育厅“十二五”科学技术研究项目,项目编号:吉教科合字(2014)g539号国家级“大学生创新创业训练计划” 项目,项目编号:201611437040。 电- ̄#tn・123・ ELECTRONICS WORLD・技术交流 后,NRF24LO1芯片分别设置为发送模式和接收模式。语音录放部 分是将Arduino Mega2560的指令发送 ̄OISD1760芯片,控制其工作 状态,并将语音电路信息反馈回控制单元尽行处理,这部分主要 通过键盘扫描的处理和当前状态的判断来实现。系统通过键盘扫 描按键操作过程,检测按下去的什么键值来判断当前状态,并就 录音、放音、停止、删除等状态进行实时判断和控制,其程序流 程图如图2所示。 “RESET EN”处可使能或禁止该功能。此外,ISD1760的参考资料 手册中,设计上复位脚直接了个0.1uF到地,没有上拉电阻构成阻 容复位,同时容易受到干扰意外复位。为了防止单片机IO口状态不 稳定,可在主控单元与ISD芯片间加一个反向器74HC04,这样可起 到隔离作用。 (3)音源输入方式 3系统实施及注意事项 系统设计和实施流程为:制定总体方案一用A1tium Designer 软件设计PCB图一印制电路板制作一焊接一软件编译一系统统调。 Arduino Mega2560通过SPI串行总线与ISDI760通信,传输SPI指 令,配置其内部寄存器,实现语音录放。ISD1760作为SPI从机,几 乎所有的按键操作都可以通过这些SPI指令来实现。但在设计、调 语音音源可以通过麦克录入,也可以是事先录制好的一段语音 或者歌曲等数字信号。ISD1760芯片录入的是模拟信号时,用按键 方式或SPI指令启动录音后,通过MIC管脚¥1LIN管脚输入语音。如 果不用麦录,而是MP3等格式数字信号文件做音源,通过电脑或其 他方式播放出来,输出端不要接喇叭,而是要通过一个104电容, 再连接到第9脚一LIN管脚上。 (4)SPI模式下播放问题 如果语音电路在模式下可以播放,但在SPI模式下不能正 试中仍有可能会遇到问题需要注意。 常播放,一般来说芯片应该没什么问题,此时检查下扬声器连接的 (1)语音地址长度推算 是SP+/-还是AUD/AUX+功放输出。ISD1760芯片内部的APC寄存器的默 以ISD1760语音芯片采样率为8K时为例,一共可播放60S的语音。 认值是0X0440,即表示PWM和AUD输出是使能的。如果功放电路只有 算法一:开始地址为:SO一¥10,结束地址为:EO-EIO,这样算 在AUX输出时才是正常的,则必须把APC的设置为OX04CO以打开AUX输 下来地址就是:OX7FF=2047,从0-2047为2048个字节,采样频率为 出,避免主控单元的单片机正常,而ISD1760的复位键关闭YAUX。 8K,即每个字节就是t25mS,125mS.2048=2568,但实际的录音时长 为60S,所以这是错误的。 参考文献 算法二:最大地址为OXlEF,录音实际地址为OxlO-OX1EF, [1】谷树忠,耿晓中,王秀艳编著.Altium Designer ̄,用教程一原理 则最大地址为:OX1EF—OX1O=OX1DF=479。479+1=480个字节, 图、PCB设计与信号完整性分析[M】.电子工业出版社,2015,10. 480.125mS=60S,即采样率为8K时,每1个地址的最小语音长度为 [2】林海波,王秀艳主编.电子工艺实训基础【M].中国电力出版 125m8。故此知道单个语音的长度,可自行推断出每个语音所占的 社,2009,7. 地址长度,此为正确算法。 【3】艾学忠主编.单片机原理及接口技术【M】.机械工业出版 (2)硬件电路部分 社,2012,8. 首先Arduino Mega2560电路板丝印层上并没有注明SPI接 【4】陈吕洲编著.Arduino程序设计基础[M】.北京航空航天大学出 口,其引脚接口对应关系为:507 J脚-MISO,51引脚-MOSI,52引 版社.2015. 脚一SCK,53引脚一ss。其次板载ICSP接口也是串行通信接口,它 是兼容sPI的,也可用此接口,但要注意线序。再次,Arduino 作者简介: Mega2560提供了自动复位设计,可以通过主机复位,不需要复位 王秀艳(1972一),女,硕士,实验师,出版教材3部。 按钮的话,可在Altium Designer设计PCB图时,将印制板上丝印 (上接第122页) 5.结论 4 经过测试,该系统能够通过红外人体感应器有效感应是否有人 是 进入,当有人进入后能够及时感应并发出报警,并将屋内有人进入 l启动短情掇警电路开始报警I 中断源发出中断请 求 情况通过短信发送到手机端。 0芙中断,保护现场 } 参考文献 【1】蔡晓艳,田凯,王照平.基于GSM短信模块的家庭防盗报警电路 INTO端有输入信号 .的设计Ⅱ】.实验科学与技术,2015(3):20—22. 厕 关闭糖信报 警 【2】洪家军,蒋红飞.基于GSM短信的仓库监控报警系统的设计与 实现卟莆田学院学报,2014(2):78-81. 是 恢复现场,开中 【31曲金鹏,丁开云,凌志浩.一种适用于智能仪表监控的红外通信 技术【c】.全国先进控制技术与仪表装置应用学术交流会议和全国自 动化产品及自控系统市场战略论坛,2003. [4】康华光,陈大钦,_电子技术基础模拟部分第五版【M】.北京: 图7主程序流程图 图8中断程序流程图 高等教育出版社,2005. 【5】贾国材,姚琳,林福宏等.基于GPRS的家庭防盗报警系统设计 4.2中断服务程序 成都信息工程学院学报,2013(5):474—480. 中断服务程序是整个软件系统中重要的组成部分。当红外传 [6】常书惠基于单片机控制的智能家居控制系统Ⅱ】.电子商务,2012(9): 感器装置检测到有人入侵,发出脉冲信号时,中断源立刻就会发出 68-69. 中断请求,经过内部微控制器处理,驱使短信模块启动报警电路报 【7】杜永峰.基于单片机的红外报警系统Ⅱ1_电子世界,2014(7):41—42. 警。报警lO秒后系统自动停止报警,然后启动周期工作程序,检 测是否有下一个触发信号,等待报警,使报警变为连续运行 】。同 作者简介: 时,可中断报警持续时间未达1O秒,可以进场按键手动停止短信报 汪鑫(1988一),女,硕士,助教,主要研究方向:图像处 警。整个中断服务程序的日常工作流程图,如图8所示。 理、模式识别。 ・124・电子氆},I