基于IDE硬盘的大容量语音记录仪_第1页
基于IDE硬盘的大容量语音记录仪_第2页
基于IDE硬盘的大容量语音记录仪_第3页
基于IDE硬盘的大容量语音记录仪_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于IDE硬盘的大容量语音记录仪    摘要:介绍一种基于IDE硬盘的大容量语音记录仪的设计方法,重点阐述了大容量语音记录仪的硬件和软件设计。 关键词:大容量语音记录仪 单片机 IDE D6571E PIO随着我国经济建设的迅猛发展,公安、铁路、民航、金融等部门对语音记录的需求不断增长。用户经常需要回放时间长达几个月、甚至几年的大容量语音记录仪,而目前国内可见到的语音记录仪大多只能连续记录几百小时(即一个月左右)。而大容量的语音记录仪一般是基于PC机,设备体积较大,使用不便。近年来作为数据存储介质的硬盘,以其容量大、接口智能化程度高、控制方便越来越受到人

2、们的重视。充分发挥硬盘的优势,脱离系统主机,可以为用户开发出超大存储容量、性能可靠的语音记录仪。本文提出了采用单片机控制硬盘对语音数据进行实时存储的方案。其最大优点是可记录语音时间长达几个月甚至几年,并能达到较高的性能指标。甚至IDE硬盘的大容易语音记录仪的特点:(1) 以单片机为核心,采用PIO模式进行硬盘的读写,可大大提高系统的性能价格比,使得语音记录时间长达1500小时(6GB硬盘)。若换用更大容量硬盘,可实现更长语音记录时间,达到连续工作几个月甚至几年的要求。(2) 采用DSP芯片D6517E,其语音压缩算法采用TRUESPEECH Triple Rate Coder,8kHz采样频率

3、下语音压缩速率为9.6、7.2或4.4kbps,MOS指标可达到3.98。(3) 采用大规模可编程逻辑器件CPLD对系统数字逻辑电路进行集成,提高了系统的稳定性和可靠性,具有较好的通用性,可满足多种场合的需要,不需改动任何硬件。(4) 预留远程调度电话接口,可实现远程监听、查询等功能。(5) 由于采用4层PCB线路板设计、表贴工艺和超薄笔记本硬盘,使得基于IDE硬盘的大容量语音记录仪体积如普通电话机大小,可实现对一路电话进行高阻并联录音,并可在本机播放记录语音和远程调度记录语音。图1 D6571E的典型应用电路1 系统硬件设计1.1 D6571E芯片在本系统中,选择DSP芯片D6571E,其语

4、音压缩算法采用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分帧采样,然后进行分析压缩,因此无论是读取压缩数据还是因送压缩数据

5、,均必须在一帧内完成,否则D6571E会自行进入休眠状态。向D6571E输送语音数据的过程如下:首先送出解压控制命令,然后接收一个回送状态字,状态字中包含了当前帧所需要的字节数,CPU就连续送出规定数目的数据,待一帧处理完毕后,D6571E会继续送出状态字,如此循环就可连续回放语音了。而利用D6571E进行语音压缩的数据处理过程正好相反,状态字中包含的是当前帧压缩所得到的字节数,CPU应连接接收规定数目的数据。D6571E芯片具备工业标准的编解码器接口,可直接与串行PCM接口的音频编解码芯片相连,如美国国家半导体的TP3054(律)、TP3057(A律)等。本系统设计中音频编解码接口芯片采用了

6、TP3057。TP3057工作所需的同步脉冲、采样时钟、数据信号等只需与D6571E的4根控制线相连即可得到。由于D6571E的控制命令很丰富,在大容量语音记录仪的设计中,笔者利用D6571E实现数字音量控制、自动增益控制、变速回放、双音频信号产生和鉴别、来电显示等功能,省去了不少功能芯片、线路板面积,使昨最终设计成型的大容量语音记录仪体积如普通电话机大小。1.2 IDE硬盘的控制利用单片机控制现有的硬盘,可极大地提高系统的性能价格比,因此本系统采用单片机控制硬盘进行语音数据的存储。图2 DK23AA-60硬盘引脚及定义    IDE接口的硬盘驱动器提供

7、了两种数据传输模式:PIO模式和DMA模式。由于PIO模式控制相对容易,提供了一种编程控制输入/输出的快速传输方法。该模式采用高速的数据块I/O,以扇区为单位,用中断请求方式与CPU进行批量数据交换。在扇区读写操作时,一次按16位长度通过内部的高速PIO数据寄存器传输。通常情况下,数据传输以扇区为单位,每传输一扇区数据产生一个中断。由于本系统语音压缩数据的最大速率只有9.6kbps,而相关资料报道采用PIO写盘速度可以达到192kbps,完全可以满足本系统的要求。本系统采用Hitachi(日立)公司DK23AA-60型号的笔记本硬盘。它具有6GB的存储容量,厚度仅有9.6mm,它的引脚及定义如

8、图2所示。IDE接口是一种任务寄存器结构的接口,所有输入输出操作均通过对相应寄存器的读写完成。IDE硬盘驱动器中的寄存器及地址分配见表1。表2为状态寄存器,它反映了硬盘驱动器执行命令后的状态。表1 IDE硬盘驱动器中的寄存器及地址分配地    址寄存器名及功能CS1FXCS3FXDA2DA1DA0读操作写操作01000数据寄存器01001错误寄存器特性寄存器01010扇区数寄存器01011扇区号寄存器01100柱面号寄存器:低字节01101柱面号寄存器:高字节01110驱动器/磁头寄存器01111状态寄存器命令寄存器表02 状态寄存器D7D6D5D4D3

9、D2D1D等功能,并且是目前少数可运行在最高40MHz晶振的单片机之一。本系统中的单片机W78E52运行在40MHz晶振下,以提高运行速度。整个系统的数字逻辑部分采用一片ALTERA公司的大规模可编程逻辑器件MAX7128S,它完成单片机与IDE硬盘、D6571E、LCD显示和键盘的接口逻辑控制。可编程逻辑器件MAX7128S的程序设计采用目前较为通用和流行的VHDL语言,用MAX+plus II和FPGA Express软件编译仿真完成。一片D6571E完成对并联话机状态的监测。当D6571E监测到并联线路上有语音信号时,判断并联话机有去话;当振铃检测芯片TCM1520A检测到并联线路上有振

10、铃时,判断并联话机有来话。当并联话机存储来话和去话时,D6571E开始记录语音,并将压缩的语音数据实时传送给单片机。单片机负责将语音数据存储在硬盘上,并附加上相关的日期时间、来去话标志、主被叫电话号码和通话时长等索引内容,以便查询使用。当本机需要回放语音记录或远程调度时,单片机将硬盘上的语音压缩数据通过另外一片D6571E解压转变成语音。160×32 LCD可显示16×16点阵的汉字两行,每行10个汉字。它主要用于显示系统的日期时间、提示信息或状态信息,方便用户的使用。系统中键盘可实现本机对语音记录的回放选择以及对D6571E工作的预置值进行设定,如语音压缩率的选择、调节音量等。远程调度电话线接口可实现远程监听和查询等功能。系统在检测到远程调度电话线上的振铃信号后,将模拟摘,同时向主叫播放语音提示。主叫可按照语音提示操作,即可监听到硬盘上的任意一段语音记录,甚至可以监听到系统正在记录的语音。2 系统软件设计系统软件包含有主程序、中断服务程序和任务子程序等。主程序主要完成对IDE硬盘、D6571E、LCD等的初始化,并检测任务表是否空,若不空则执行相应任务。图4所示为系统主程序流程图。中断服务程序主要包括T0中断服务程序、INT0中断服务程序、INT1中断服务程序等。T0中断服务程序主要负责定时喂看门狗、扫描

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论