- 相关推荐
基于IDE硬盘的大容量语音记录仪
摘要:介绍一种基于IDE硬盘的大容量语音记录仪的设计方法,重点阐述了大容量语音记录仪的硬件和软件设计。随着我国经济建设的迅猛发展,公安、铁路、民航、金融等部门对语音记录的需求不断增长。用户经常需要回放时间长达几个月、甚至几年的大容量语音记录仪,而目前国内可见到的语音记录仪大多只能连续记录几百小时(即一个月左右)。而大容量的语音记录仪一般是基于PC机,设备体积较大,使用不便。近年来作为数据存储介质的硬盘,以其容量大、接口智能化程度高、控制方便越来越受到人们的重视。充分发挥硬盘的优势,脱离系统主机,可以为用户开发出超大存储容量、性能可靠的语音记录仪。
本文提出了采用单片机控制硬盘对语音数据进行实时存储的方案。其最大优点是可记录语音时间长达几个月甚至几年,并能达到较高的性能指标。
甚至IDE硬盘的大容易语音记录仪的特点:
(1) 以单片机为核心,采用PIO模式进行硬盘的读写,可大大提高系统的性能价格比,使得语音记录时间长达1500小时(6GB硬盘)。若换用更大容量硬盘,可实现更长语音记录时间,达到连续工作几个月甚至几年的要求。
(2) 采用DSP芯片D6517E,其语音压缩算法采用TRUESPEECH Triple Rate Coder,8kHz采样频率下语音压缩速率为9.6、7.2或4.4kbps,MOS指标可达到3.98。
(3) 采用大规模可编程逻辑器件CPLD对系统数字逻辑电路进行集成,提高了系统的稳定性和可靠性,具有较好的通用性,可满足多种场合的需要,不需改动任何硬件。
(4) 预留远程调度电话接口,可实现远程监听、查询等功能。
(5) 由于采用4层PCB线路板设计、表贴工艺和超薄笔记本硬盘,使得基于IDE硬盘的大容量语音记录仪体积如普通电话机大小,可实现对一路电话进行高阻并联录音,并可在本机播放记录语音和远程调度记录语音。
图1 D6571E的典型应用电路
1 系统硬件设计
1.1 D6571E芯片
在本系统中,选择DSP芯片D6571E,其语音压缩算法采用TRUESPEECH Triple Rate Coder。由于该算法的实时运算需要22MIPS以上的运算速度,为此将DSP内核和算法代码集成在D6571E芯片内。D6571E的典型应用电路如图1所示。
D6571E具有16位宽的总线,但也允许以分时方式使用8位总线,这时CPU须用HI/LO信号表示送到总线上的是高8位还是低8位;当D6571E主动将数据送到总线上时,会发出ACK信号通知CPU读取数据。HSTRD和HSTWR则是读和写的控制线。由于TRUE-SPEECH Triple Rate Coder算法按30ms分帧采样,然后进行分析压缩,因此无论是读取压缩数据还是因送压缩数据,均必须在一帧内完成,否则D6571E会自行进入休眠状态。向D6571E输送语音数据的过程如下:首先送出解压控制命令,然后接收一个回送状态字,状态字中包含了当前帧所需要的字节数,CPU就连续送出规定数目的数据,待一帧处理完毕后,D6571E会继续送出状态字,如此循环就可连续回放语音了。而利用D6571E进行语音压缩的数据处理过程正好相反,状态字中包含的是当前帧压缩所得到的字节数,CPU应连接接收规定数目的数据。
D6571E芯片具备工业标准的编解码器接口,可直接与串行PCM接口的音频编解码芯片相连,如美国国家半导体的TP3054(μ律)、TP3057(A律)等。本系统设计中音频编解码接口芯片采用了TP3057。TP3057工作所需的同步脉冲、采样时钟、数据信号等只需与D6571E的4根控制线相连即可得到。
由于D6571E的控制命令很丰富,在大容量语音记录仪的设计中,笔者利用D6571E实现数字音量控制、自动增益控制、变速回放、双音频信号产生和鉴别、来电显示等功能,省去了不少功能芯片、线路板面积,使昨最终设计成型的大容量语音记录仪体积如普通电话机大小。
1.2 IDE硬盘的控制
利用单片机控制现有的硬盘,可极大地提高系统的性能价格比,因此本系统采用单片机控制硬盘进行语音数据的存储。
图2 DK23AA-60硬盘引脚及定义
IDE接口的硬盘驱动器提供了两种数据传输模式:PIO模式和DMA模式。由于PIO模式控制相对容易,提供了一种编程控制输入/输出的快速传输方法。该模式采用高速的数据块I/O,以扇区为单位,用中断请求方式与CPU进行批量数据交换。在扇区读写操作时,一次按16位长度通过内部的高速PIO数据寄存器传输。通常情况下,数据传输以扇区为单位,每传输一扇区数据产生一个中断。由于本系统语音压缩数据的最大速率只有9.6kbps,而相关资料报道采用PIO写盘速度可以达到192kbps,完全可以满足本系统的要求。
本系统采用Hitachi(日立)公司DK23AA-60型号的笔记本硬盘。它具有6GB的存储容量,厚度仅有9.6mm,它的引脚及定义如图2所示。
IDE接口是一种任务寄存器结构的接口,所有输入输出操作均通过对相应寄存器的读写完成。IDE硬盘驱动器中的寄存器及地址分配见表1。表2为状态寄存器,它反映了硬盘驱动器执行命令后的状态。
表1 IDE硬盘驱动器中的寄存器及地址分配
表02 状态寄存器
D7D6D5D4D3D2D1D【基于IDE硬盘的大容量语音记录仪】相关文章:
基于ISD语音芯片的报警系统03-07
基于闪存的星载大容量存储器的研究和实现03-18
基于激光天线语音通信系统的研制03-18
基于DSP的语音处理系统的设计11-22
基于ARM的汽车行驶状态记录仪研究03-07
基于MSP53C392的语音合成系统03-18
基于16位单片机的语音电子门锁系统03-18