0 卖盘信息
BOM询价
您现在的位置: 首页 > 电子资讯 >设计应用 > 带你领略芯片设计,语音芯片设计介绍

带你领略芯片设计,语音芯片设计介绍

来源: 21ic
2020-12-24
类别:设计应用
eye 46
文章创建人 拍明

原标题:带你领略芯片设计,语音芯片设计介绍

  芯片设计的理论知识,在往期芯片设计相关文章中已有所涉及。对芯片设计了解不多的朋友,可以参阅哦。本文中,将介绍基于FPGA的ISD语音芯片设计。希望大家在这篇芯片设计文章中,可以有所收获。

  1 引 言

  FPGA(现场可编程门阵列)的出现,改变了数字系统设计方法、增强了设计的灵活性,同时,在基于芯片的设计中可以减少芯片数量,缩小系统体积,降低能源消耗,提高系统的性能指标和可靠性,在实时监控方面有广泛的应用。

  ISD语音芯片采用DAST(直接模拟存储技术),直接存储模拟信号,因而减少了失真,提高了录、放音质量,本文所用的ISD2560系列具有抗断电、音质好、使用方便、录放时间长等优点。然而,在产品应用中,大多数系统只利用了ISD芯片提供的无需地址的工作模式(共有6种),这些操作模式实时性差、地址控制精度不高、操作不灵活。本文从另一个角度论述了基于FPGA的ISD语音芯片的设计开发。

  2 ISD语音芯片

  ISD语音芯片目前有ISD1000、ISD1100、ISD1200/1400、ISD2500、ISD3340和ISD4000系列,本设计采用的是2500系列中的ISD2560芯片。ISD2560具有10个地址输入端,寻址能力可达1024位,前600个地址用于直接存取语音,地址600~767未使用,地址768~1024为工作模式选择用,因此最多能分600段;设有OVF(溢出)端,便于多个器件级联;单片存储时间为60秒,直接存储模拟语音信号。

  ISD芯片的地址以信息段为基本组成单元,只要在分段录、放音操作前(不少于300ns),给地址A0~A9赋值,录音及放音功能均会从设定的起始地址开始,录音结束由停止键操作决定,芯片内部自动在该段的结束位置插入结束标志(EOM);而放音时芯片遇到EOM标志即自动停止放音。

  3 硬件构成及实现方案

  利用FPGA的可编程特性实现对ISD2560芯片的直接地址操作,从而实现按地址位录音、放音的功能,提高芯片存储空间的利用率,并能自由选择存储地址;本文选择XILINX(全球最大的可编程器件供应商)的Spartan XL系列芯片,利用VerilogHDL语言编程设计,采用层次设计方法实现。

  Verilog HDL是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。数字系统能够按层次描述,并可在相同描述中显式地进行时序建模。

  3.1 设计思路

  ISD2560芯片存储时间是60秒,内部有480K字节的EPROM存储单元,划分为600个地址单元,可以算出对于每一个地址单元的存储空间是480K÷600=800字节,对应的录放时间是100ms;同时,ISD2560内部的地址位从0~599对应这600个地址单元,其它地址位则在操作模式或按键模式中使用。可见,芯片内部上下段之间在存储空间上不  连续,但在地址上具有连续性。所以,ISD芯片内部的地址可采用定时计数器的方法获得,并可采用直接地址法提取此地址段,实现实时控制、自由存储。3.2 系统总体结构设计(顶层设计)

  基于FPGA的ISD2560语音芯片的设计开发主要完成两个功能:(1)触发或停止FPGA内部定时计数器计数,并将计数结果存入FPGA的内部存储器中;(2)利用直接地址法,提取用于ISD芯片录、放音所需地址。

  本系统是基于XILINX FOUNDATION 3.0平台开发的,其中:

  RECORD模块用于处理录音和停止录音的操作,产生触发或停止定时计数器的信号以及录音时片选信号;

  TIME模块利用FPGA的内部时钟模块最高频率产生频率为10Hz的信号作为计数器的时钟;为了提高系统的精确性,也可以通过外加时钟的办法实现。

  COUNTER模块为定时计数器,它利用周期为100ms的时钟脉冲,根据录音长短算出ISD芯片地址位,并发送到存储器,其Verilog HDL语言编程实现如下:

  


  


  P/R模块产生整个电路录、放音的选择信号;PLAYADDR模块完成放音地址的产生;

  PLAY模块将在放音时产生一个由高到低的脉冲作为片选信号;

  ROM10模块完成了存储器的功能,存储10位ISD芯片地址,并按照PLAYADDR产生的地址直接提取ISD芯片地址,其Verilog HDL语言编程实现如下:

  module roml (addr,play,addrl,result,dataout,

  


  


  


  U7模块由P/R模块的输出信号来选择输出。

  


  3.3 系统实现

  工作时序如下:

  录音:PD低电平,P/R低电平,CE低电平,开始录音,CE变高电平,录音停止。放音:PD低电平,P/R变高电平,给CE一个由高到低的脉冲,开始放音,到第一个EOM处放音停止。放音时,若给CE低电平,则芯片持续放音,直到芯片存储空间末尾。如图2所示(图2为经综合后的时序仿真结果)。

  3.4 FPGA的实现

  本设计选用XILINX公司FPGA产品S05XLPG84。整个设计采用Verilog HDL语言描述,在XILINXFOUNDATION 3.0平台上完成了系统的仿真、综合、映射、布局。在后仿真结果正确后,通过器件编程(即通过编程电缆将设计下载到实际芯片中)进行系统调试,直至最后实现。

  在实践过程中,我们还设计了译码器,将地址码译成LED码,从而通过三个LED显示地址位。可见,实际应用中还可以根据实际需要做进一步的设计开发,满足复杂操作或实时系统应用的要求。

  


责任编辑:David

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

相关资讯