ISD4004的工作电压为3V,采用CMOS工艺,内含晶振、防混淆滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存储阵列。ISD4004采用多电平直接模拟量存储技术,每个采样值直接存储在片内的闪存中,因此能够非常真实、自然地再现语音、音乐、音调和效果声。其采样频率为4.0kHz、5.3kHz、6.4kHz或8.0kHz,频率越低,录放时间越长,而音质越差。片内信息存储于闪存中,可在断电情况下保存100年(典型值),反复录音10万次。
ISD4004的所有操作必须由微控制器控制,操作命令可通过串口(SPI或Microwire)送入。存储空间可以“最小段长”为单位任意组合分段或不分段,由于其采用多段信息存储方式,以及内在的存储管理机制,因此可实现灵活的录放功能。
在本实例中,ISD4004工作于SPI。SPI协议是一个同步串行数据传输协议,协议规定微控制器的SPI移位寄存器在SCLK下降沿动作,因此ISD4004在SCLK上升沿锁存MOSI引脚的数据,在SCLK下降沿将数据送至MISO引脚。SPI协议的内容如下。
①所有串行数据传输开始于 下降沿。
② 端在传输期间必须保持低电平,在两条指令之间保持高电平。
③数据在SCLK上升沿移入,在SCLK下降沿移出。
④ 端变为低电平,输入指令和地址后,ISD4004才能开始录放操作。
⑤指令格式是8位控制码<16位地址码>。
⑥ISD4004的任何操作(含快进)若遇到EOM(信息结束)或OVF(存储空间结束),则产生一个中断,该中断状态在下个SPI周期开始时被清除。
⑦当使用“读”指令使中断状态位移出ISD4004的MISO引脚时,控制及地址数据应同步从MOSI端移入,因此要注意移入的数据是否与器件当前进行的操作兼容。当然,也允许在一个SPI周期里,同时执行“读”指令和开始新的操作(移入的数据与器件当前进行的操作可以不兼容)。
⑧所有操作在SPI控制寄存器的运行位(RUN)置1时开始,置0时结束。
⑨所有指令都在 上升沿开始执行。
表6-1列出了ISD4004的指令。
表6-1 ISD4004的指令
使用ISD4004时需注意,上电后器件延时 T PUD (以8kHz的频率采样时,约为25ms)后才能开始工作。因此,用户发出上电指令后,必须等待 T PUD ,才能发出一条指令。