基于Arduino Mega2560平台的无线语音录放系统的设计
2016-12-16长春工程学院王秀艳
长春工程学院 王秀艳
国家电网长春供电公司 王洪凯
雅砻江公司二滩水力发电厂 王秀梅
长春工程学院 晋汉林
基于Arduino Mega2560平台的无线语音录放系统的设计
长春工程学院 王秀艳
国家电网长春供电公司 王洪凯
雅砻江公司二滩水力发电厂 王秀梅
长春工程学院 晋汉林
本文论述了一种无线语音录放系统的设计过程,包括硬件电路构成及软件编译。本系统依托Arduino技术平台,以其Mega2560型号电路板作为中央处理单元,采用ISD1760芯片作为语音录放单元,通过NRF24L01模块电路进行无线对接,可在SPI协议下实现语音无线录放功能。该系统信息存储量大,接口丰富,灵活方便,快捷高效,音质好,具备良好扩展性,适用范围广。
语音录放;Arduino;ISD1760芯片;串行通信协议
Key_words: Audio Record- play;Arduino;ISD 1760 chip;Series communication
语音录放电路在电子产品中用途广泛,生活工作中随处可见,可应用于报警、铃声、复读、人机语音应答对话等各个方面,但传统语音电路的设计十分复杂,开发工具较为昂贵。近年来,随着模拟存储语音技术的ISD芯片的出现和发展,语音录制、播放设计难度及软件编译的工作量降低了,同时语音音质有所提高。下面以Arduino平台为核心设计一种方便快捷高效的语音录放系统,主要由硬件电路搭建和软件编译两部分构成。
1 系统硬件电路设计构成
系统主要由中央控制器、语音模块、通信模块等构成,系统结构框图如图1所示。
图1 系统结构框图
1.1系统中央处理单元
Arduino于2005年由一个欧洲团队开发,它包含多种型号的电路板和Arduino IDE编译软件,是一款开源电子原型平台。本设计采用Arduino Mega2560型号电路板作为该语音录放系统中央处理单元,其核心器件是Atmega2560芯片。它具有256KB存储容量,多达54路数字输入输出端口,包括 PWM输出、UART、ICSP header、USB、电源等接口,以及16MHz晶体振荡器,并具备过流保护功能。丰富的接口和强大的功能特别适合需要大量IO接口的设计,采用该电路板利于本语音录放系统外扩应用于其它电路中,实现更多功能,如报警电路等。
1.2语音录放单元部分
采用ISD1760芯片作为语音录放芯片。ISD1760是Winbond推出的单片优质语音录放电路,音质好,电压范围宽,应用灵活,可录、放音十万次,存储内容可以断电保留一百年。芯片内部包含有麦克风前置扩大器、扬声器驱动线路、自动增益控制、振荡器与内存等的多方位整合系统功能及内置多信息管理系统,并可以根据需求定制信息操作指示音效。ISD1760芯片具备独立及嵌入式双运作模式,多种采样频率对应多种录放时间,可处理多达255 段以上信息,功能强大。
1.3无线传输单元
采用NRF24L01芯片作为传输模块,建立主控制器和语音模块之间无线通信。NRF24L01是一款工作在2.4GHz-2.5GHz的ISM 频段的单片无线收发器芯片。无线收发器包括:晶体振荡器、调制器和解调器、频率发生器、SchockBurst增强型模式控制器及功率放大器。NRF24L01可以连接到大多数型号单片机芯片上,并完成无线数据传送工作,通过其SPI 接口进行输出功率频道选择和通信协议的设置,电流消耗极低。
2 系统软件编译
Arduino是开源的,它的烧录程序可从官网或其他参考资料中获得帮助,但就本系统而言,依据具体硬件电路结构及端口配置下要实现语无线音录放功能,仍需制定通讯协议并自行编译软件。ATmega2560芯片内已经预置了bootloader程序,本系统通过ICSP header接口将软件编译程序直接下载到Arduino Mega2560电路板中。
2.1通信协议
SPI(Serial Peripheral Interface) 是由美国摩托罗拉公司推出的一种同步串行传输规范。SPI 可以用全双工通信方式同时发送和接收 8/16位数据,在芯片的管脚上只占用四根线,节约了资源,同时为PCB的布局上节省空间。该语音录放系统核心主要部件都集成了这种协议或具备相应接口, 这为采用SPI串行通信传输协议了提供便利条件,简单易行。
图2 程序流程图
2.2程序编译
程序的编译主要包括无线通信和语音录放部分。用两块NRF24L01无线通信模块分别作为信号的发送和接收端,连接在主机中央管理单元和从机语音录放电路中。确定好各部件之间连接及端口对应关系后,NRF24L01芯片分别设置为发送模式和接收模式。语音录放部分是将Arduino Mega2560的指令发送到ISD1760芯片,控制其工作状态,并将语音电路信息反馈回控制单元尽行处理,这部分主要通过键盘扫描的处理和当前状态的判断来实现。系统通过键盘扫描按键操作过程,检测按下去的什么键值来判断当前状态, 并就录音、放音、停止、删除等状态进行实时判断和控制,其程序流程图如图2所示。
3 系统实施及注意事项
系统设计和实施流程为:制定总体方案-用Altium Designer软件设计PCB图-印制电路板制作-焊接-软件编译-系统统调。Arduino Mega2560通过SPI串行总线与ISD1760通信,传输SPI指令,配置其内部寄存器,实现语音录放。ISD1760作为SPI从机,几乎所有的按键操作都可以通过这些SPI指令来实现。但在设计、调试中仍有可能会遇到问题需要注意。
(1)语音地址长度推算
以ISD1760语音芯片采样率为8K时为例,一共可播放60S的语音。
算法一:开始地址为:S0-S10,结束地址为:E0-E10,这样算下来地址就是:0X7FF=2047,从0-2047为2048个字节,采样频率为8K,即每个字节就是125mS,125mS*2048=256S,但实际的录音时长为60S,所以这是错误的。
算法二:最大地址为0X1EF,录音实际地址为0X10-0X1EF,则最大地址为:0X1EF-0X10=0X1DF=479。479+1=480个字节,480*125mS=60S,即采样率为8K时,每1个地址的最小语音长度为125mS。故此知道单个语音的长度,可自行推断出每个语音所占的地址长度,此为正确算法。
(2)硬件电路部分
首先Arduino Mega2560电路板丝印层上并没有注明SPI接口,其引脚接口对应关系为:50引脚-MISO,51引脚-MOSI,52引脚-SCK,53引脚-SS。其次板载ICSP接口也是串行通信接口,它是兼容SPI的,也可用此接口,但要注意线序。再次,Arduino Mega2560提供了自动复位设计,可以通过主机复位,不需要复位按钮的话,可在Altium Designer设计PCB图时,将印制板上丝印“RESET EN”处可使能或禁止该功能。此外,ISD1760的参考资料手册中,设计上复位脚直接了个0.1uF到地,没有上拉电阻构成阻容复位,同时容易受到干扰意外复位。为了防止单片机IO口状态不稳定,可在主控单元与ISD芯片间加一个反向器74HC04,这样可起到隔离作用。
(3)音源输入方式
语音音源可以通过麦克录入,也可以是事先录制好的一段语音或者歌曲等数字信号。ISD1760芯片录入的是模拟信号时,用按键方式或SPI指令启动录音后,通过MIC管脚和LIN管脚输入语音。如果不用麦录,而是MP3等格式数字信号文件做音源,通过电脑或其他方式播放出来,输出端不要接喇叭,而是要通过一个104电容,再连接到第9脚-LIN管脚上。
(4)SPI模式下播放问题
如果语音电路在独立模式下可以播放,但在SPI模式下不能正常播放,一般来说芯片应该没什么问题,此时检查下扬声器连接的是SP+/-还是AUD/AUX+功放输出。ISD1760芯片内部的APC寄存器的默认值是0X0440,即表示PWM和AUD输出是使能的。如果功放电路只有在AUX输出时才是正常的,则必须把APC的设置为0X04C0以打开AUX输出,避免主控单元的单片机正常,而ISD1760的复位键关闭了AUX。
[1]谷树忠,耿晓中,王秀艳编著.Altium Designer实用教程—原理图、PCB设计与信号完整性分析[M].电子工业出版社,2015,10.
[2]林海波,王秀艳主编.电子工艺实训基础[M].中国电力出版社,2009,7.
[3]艾学忠主编.单片机原理及接口技术[M].机械工业出版社,2012,8.
[4]陈吕洲编著.Arduino程序设计基础[M].北京航空航天大学出版社,2015.
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 techniqneplatform,Mega2560 is its CPU.ISD1760 is its record-pay unit. It can implement sound’s wireless record-play function with SPI proscal through NRF240L01.IT is detected that this system have such advatages an much information storage, multi-interface, fexibility, effciency and good quality.
吉林省教育厅“十二五”科学技术研究项目,项目编号:吉教科合字(2014)第539号国家级“大学生创新创业训练计划”项目,项目编号:201611437040。
王秀艳(1972—),女,硕士,实验师,出版教材3部。