微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 单片机控制下的ISD芯片内容复制电路的解决方案

单片机控制下的ISD芯片内容复制电路的解决方案

时间:02-28 来源:互联网 点击:

时控制两个芯片的录放操作即可实现复制目标。

由于ISD芯片可以指定起始地址进行录放,所以,内容复制必须保证在相同的起始地址处,源芯片和新复制的芯片存储有听起来相同的声音信息。换句话说,复制过程必须保证两芯片中存储的信息段要实现地址对齐。因此,获取源芯片中所有信息段的起始地址对于完成内容复制任务是至关重要的。

3.1 源芯片地址信息获取

ISD芯片的地址引脚只能作为输入使用,因而在没有专业开发设备的情况下,其内部信息段的起始地址无法直接读出[2]。然而在一般情况下,为充分利用存储空间,芯片中第一个信息段的起始地址为0,并且上一段信息结束后的下一个地址就是当前段的起始地址。所以,对于ISD2532芯片,设第i信息段的起始地址为Add[i],并占Len[i]行存储空间,则有:

这样,要获得Add[i]就必须知道Len[i]。由于已知ISD2532的地址分辨率是100ms,所以第i信息段的时间长度应介于(Len[i]-1)x 100ms和Len[i] x 100ms。在源芯片播放时,通过捕捉其输出的EOM信号可以获知某个信息段的结束[2]。因此,通过对每个信息段的播放时间进行计时可确定该信息段占用的存储空间大小,从而可得每个信息段的起始地址。

在芯片中信息段不连续存储的情况下,我们不妨将第i信息段和第i+1信息段之间的空白行看为第i+1信息段的组成部分,这相当于第i+1段的前面部分记录了听不到声音的信息,并不影响听觉。另外,由于ISD芯片在播放过程中,输入地址保持不变,因此,如果源芯片所在系统电路便于测试,可直接通过测量的方法获得所有信息段的起始地址。

3.2 内容复制电路设计要点

ISD芯片内容复制电路如图4所示。图中略去电源、自动增益控制、XCLK等相关外围电路,这部分可参考图2。地址信号、控制信号和状态信号均为数字信号,可直接接至单片机(如MSC51系列)I/O端口,但考虑到有些单片机引脚的驱动能力有限,一般应加上拉电阻。例如,89C2051的P1口中的P1.0和P1.1是比较器端,没有内部上拉电阻,而P1口的其它端均有内部上拉,因此用P1口控制ISD芯片的地址线时,P1.0和P1.1两端应外接上拉电阻,否则地址控制会出错。

  在图4的复制电路中,源芯片工作在放音状态,从SP+输出的声音波形经过分压电阻R和隔直电容C的简单调整,即可被送入目的芯片的ANA IN输入端,在录音过程中被存储在目的芯片的E2PROM中。

在单片机程序设计中,通常把源芯片中所有信息段的起始地址放在一张表中,这样可以通过查表指令获取起始地址,便于对每个信息段进行放音录音操作。同时,应该注意程序中的延时处理,通常在给出启动录放操作的CE低电平之前,应插入1~10ms的延时,以确保PD、P/R和地址信号稳定;在查询到源芯片有效的EOM输出状态时,考虑到ISD2532芯片的EOM低电平宽度为12.5ms,这里也应加入12ms左右的延时;最后,在进入另一次循环处理下一信息段的复制之前,应相应地加入一些延时,以确保芯片能稳定工作。

4 结束语

本文在介绍ISD2532语音芯片原理的基础上,针对ISD2532芯片内容复制的问题,较为全面地给出了源芯片多信息段起始地址的获取方法,同时给出了一个简单单片机控制下的ISD芯片内容复制电路的解决方案。在调整相关参数情况下,该方案可适用于处理原理相近的ISD系列芯片的复制拷贝问题。

由于 ISD芯片具有现场录音功能,ISD芯片在供电电源不稳定,特别是上、下电期间可能会出现误录音问题;同时,在允许用户自定义录音时可能存在录错音问题。针对以上问题,本文提出的内容复制电路也可作为一个模块嵌入到实际系统中,作为恢复原始录音的一种解决方案。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top