图1 数字压缩语音录放系统硬件示意图
图3 单片机与DSP的HPI口硬件接口连接方法
系统硬件设计
整个硬件设计包括三个部分,一是TMS320C5402 DSP处理系统,包括TMS320C5402、程序存储器、数据存储器、模数转换电路等;二是闪速存储器及其与TMS320 C5402的接口部分;三是AT89C51主处理器部分,包括AT89C51处理器、键盘显示电路及AT89C51与TMS320C5402接口。图1是整个硬件系统的示意框图。
DSP处理系统
TMS320C5402 DSP处理系统主要完成语音的压缩和解压缩功能。系统主要由TMS320C5402、EPROM 27C256-15(1片)、高速RAM CY7C199-10(2片)、译码电路、晶体振荡器、模数转换电路等构成。其中,EPROM存储引导信息和程序代码,其地址为数据空间的8000H~FFFFH,DSP芯片加电运行时将EPROM中的程序代码搬移到高速RAM中。高速RAM的存取时间为10ns,可以全速执行,地址为0000H~7FFFH,共32K字,程序和数据均可访问。ADC采用Motorola公司的PCM编解码器MC14LC5480,这个芯片集语音A/D、D/A及抗混叠滤波于一体,采用单5V供电方式,TMS320C5402提供了可与PCM编码器等串行器件接口的串行口,因而只需将相应的引脚一一连接即可。其接口电路如图2所示。
主从系统设计
整个系统由AT89C51和TMS320C5402两个处理器以主从方式连接,其中AT89C51作为系统主机,完成系统的人机接口和对TMS320C5402的控制。单片机与DSP之间通过HPI-8连接,标准的HPI-8口是一个8位的并行端口,可以用来实现DSP和主设备或主处理器接口,双方通过共享TMS320C5402的片上存储器完成通信。单片机为主控部分,采用端口方式直接访问HPI口。HPI口主要由地址寄存器(HPIA)、控制寄存器(HPIC)、数据寄存器(HPID)、HPI存储器和HPI控制逻辑组成。对HPI口进行数据读写需要三个步骤:设置控制寄存器、写地址寄存器和读写数据寄存器。单片机和DSP的HPI口硬件接口如图3所示。
系统软件设计
TMS320C5402的软件设计
TMS320C5402的软件包括EPROM引导程序和系统软件两部分。其中,EPROM引导程序比较简单,其作用是将系统软件从低速EPROM搬移到高速RAM中。系统软件由三部分组成:即主程序、串行中断服务程序和INT0中断服务程序。
主程序完成系统的初始化,包括从闪速存储器中读取已经存入的语音段数及数字音量等信息。完成初始化过程后,TMS320C5402就等待从AT89C51主处理器发来的各种命令,根据不同命令调用相应的处理程序。
串行中断服务程序完成语音的输入/输出和数据格式的转化功能,由于PCM编解码器输出的数据是8位m律数据,因此需将m律数据转化为线性格式的数据以便TMS320C5402进行处理。同样,TMS320C5402输出的线性数据也需转化为8位m律才能送至PCM编解码器进行D/A变换。
INT0中断服务程序主要用来接收从AT89C51送来的各种命令,并且设置相应的命令标志以便TMS320C5402在主程序中识别并调用相应的子程序。
AT89C51的软件设计
AT89C51软件主要包括初始化程序、主程序、定时中断服务程序和INT0中断服务程序。在初始化程序中,完成AT89C51的初始化、TMS320C5402的复位、从TMS320C5402获得已存入闪速存储器的语音段数和数字音量等。主程序主要是按键处理程序。定时器中断服务程序每隔10ms中断,增加程序所需的各种计数器的值,并置各种定时到达标志以便主程序判断使用。
结语
本文已经给出了硬件平台和软件设计思路,只要制作出硬件平台,并将仿真好的程序移植到dsp平台上就可以实现数字压缩语音录放,经试用具有很好的语音录放效果。
[1]. AT89C51 datasheet https://www.dzsc.com/datasheet/AT89C51_810155.html.
[2]. EPROM datasheet https://www.dzsc.com/datasheet/EPROM_1128137.html.
[3]. MC14LC5480 datasheet https://www.dzsc.com/datasheet/MC14LC5480_863798.html.
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。