基于AT89S52单片机和ISD4004语音芯片设计

发布时间:2023-08-31  

随着数字电子技术的发展和单片机等微控制器的产生,语音的存储与自动播放变得易于实现。目前语音存储与自动播放系统已经广泛应用于日常生活当中。公共汽车上的语音报站器、银行和医院的排队等候系统等,都是语音存储与自动播报系统的应用。本文介绍一种以语音存储与自动播放系统为基础的语音播报记事器设计。该设计以ISD4004:语音芯片和AT89S52单片机为中心,很好地实现了语音存储与自动播放。


1硬件设计原理

语音播报记事器的主要功能是实现语音存储与定时播放。要实现语音存储与定时播放的方法很多,可供选择的器件也很多。由于单片机等微控制器的出现和数字电路技术的发展,使得现在的语音存储与自动播放变得易于实现。本设计采用单片机作为微控制器。单片机的字长由4位、8位、16位发展到32位。目前这几种字长的单片机同时存在于市场,用户可以根据不同的需要进行选择。本系统选用字长为8位的AT89S52单片机作为控制器。


目前可以与单片机配合使用的语音芯片有很多,其中不乏性能十分优越的语音芯片,美国ISD公司生产的ISD4004语音芯片就是它们中的一员。ISD4004芯片采用CMOS技术,内含振荡器、防混淆滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存贮阵列。引脚包括电源、时钟、语音信号模拟输入/输出端、与MCU接口(SPI接口)几部分。芯片采用多电平直接模拟量存储技术,每个采样值直接存贮在片内闪烁存贮器中,因此能够非常真实、自然地再现语音。


ISD4004系列单片录放时间为8~16 min,采样频率可为4.0/5.3/*/8.0 kHz,频率越低,录放时间越长,而音质则有所下降。芯片设计基于所有操作必须由微控制器控制,操作命令可通过串行通信接口(SPI或Mi-crowire)送入。由于ISD4004的众多优点,本设计就采用它作为录放音器件。


系统外接时钟芯片PCF8563、矩阵键盘LED显示和E2PROM AT24C01。录音时为了改善语音质量,要提高输入端的信噪比,因此在系统的输入端采用三极管(9014)放大电路单端输入,系统的输出端经音频功率放大器LM386放大输出后驱动扬声器。整个系统的系统框图如图1所示。

b3a44c1a-5813-11ed-b468-dac502259ad0.png

2硬件设计

2.1语音输入与输出电路设计

语音信号经过驻极体话筒转化为的电信号很微弱,在送入语音芯片之前需要经过放大。这样做的目的是为了提高信号的信噪比,以达到更好的抑制噪声的目的。由于声电转换器件使用的是驻极体话筒,所以后级放大电路使用三极管作为放大器件即可满足要求。本设计中从语音芯片输出的语音信号很微弱,不能直接驱动扬声器,所以要在语音芯片和扬声器之间加上一个功率放大电路。功率放大电路使用美国国家半导体公司生产的音频功率放大器LM386并配合少许电容电阻构成。该功放电路的放大效果良好,噪音小,可以满足本设计的要求。


2.2显示电路设计

本设计的显示部分使用LED数码管。为了提高LED显示的亮度,在本设计中,将a,b,c,d,e,f,g引脚分别串联300Ω的电阻后接5 V电压即可。本设计采用软件查表方式输出。当系统没有录放音时,需要显示年、月、日、时、分、秒、星期等信息;当系统有录放音时,需要显示与录放音有关的信息。这样,整个系统一共需要15个数码管。为了节省单片机的I/O口,显示部分使用了74LS154,单片机与LED的接口采用动态接口。74LS154是4线16线译码器,用于将单片机的输出译码后作为LED的片选信号使用。


2.3 PCF8563接口电路设计

PCF8563是飞利浦公司生产的低功耗的CMOS实时时钟/日历芯片,是I2C总线接口器件。设计中,PCF8563用来提供时间和日历信息。当没有进行录音和放音操作时,本设计相当于一个万年历;当进行录音或放音时,PCF8563用来对每段录音或放音进行计时,所有的时间信息均通过LED数码管显示出来。由于PCF8563是漏极开路,所以必须要加5.1 kΩ的上拉电阻。PCF8563与AT89S52的接口电路设计如图2所示。

b3c24472-5813-11ed-b468-dac502259ad0.png

2.4 ISD4004接口电路设计

本设计使用ISD4004-16M型号的语音芯片。这款语音芯片可以录音16 min,它有一个端口为RAC端,RAC为行地址时钟端,每个RAC周期表示ISD存储器的操作进行了1行(ISD4004系列中的存贮器共2 400行),所以RAC端的行地址数目与语音芯片中存储器的行数对应,即语音芯片存放的每段录音的初始与结束地址与惟一的RAC行地址数对应。所以只需将RAC端与单片机的计数端相连,仅记录RAC行地址数目即可实现整个录放操作,且单片机的计数器无需中断。根据以上的思想,设计ISD4004与单片机的接口电路如图3所示。

b40c4428-5813-11ed-b468-dac502259ad0.png

3软件设计

本设计中的程序设计包括以下几个部分,即键盘处理程序、ISD4004放音驱动程序、ISD4004录音驱动程序、时间校正程序、录音子程序、放音子程序、播放时间设置子程序、播放选择程序、子程序设计。图4为主程序流程图。

b4351920-5813-11ed-b468-dac502259ad0.png

4系统测试

系统上电后15个数码管全亮大概3 s,以此检测数码管的好坏。之后数码管会出现年、月、日、星期、时、分、秒等信息。当按下录音键后,系统开始录音。录音时,数码管会显示“SAVE”字样,并会显示该段录音的时间信息;当确定键按下后,该语音段的录音结束,数码管重新显示时间信息。当按下放音键时,系统开始放音,这时数码管会显示“PLAY”字样,并会显示该段录音的时间信息。放音结束后数码管会回到时间显示界面。当按下时间校正键后,便可以对时间进行校正;当按下确定键后,时间校正结束。本系统可以录音15 min,可以录4段录音。当按下播放设置键后,就可以对每段录音的播放时间进行设置;当按下播放选择键后,就可以播放4段录音中的任意一段。


本系统在播放录音时会有少量的噪音,可能由以下原因造成:

(1)整个系统完全是手工焊制,线路之间存在干扰;

(2)ISD4004的数字地与模拟地没有分别走线,全部接到了一起,存在干扰;

(3)语音输入放大电路的放大倍数不够,噪声没有得到足够的抑制。


整个系统的设计合理,外围电路结构简单,方便调试;单片机余留有I/O口,方便系统的升级和扩展;单片机的所有程序均使用C-51进行编写,方便调试和阅读。整个系统工作稳定,操作方便。本设计的设计原理完全可以用在公共汽车上,作为语音报站器使用,也可以用在银行和医院等一些需要自动播报语音信息的公共场所。在本设计的基础上稍加扩充,就可以满足实际应用的需要。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>