- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于DSP芯片TMS320C5402的数字压缩语音录放系统
主从系统设计
整个系统由AT89C51和TMS320C5402两个处理器以主从方式连接,其中AT89C51作为系统主机,完成系统的人机接口和对TMS320C5402的控制。单片机与DSP之间通过HPI-8连接,标准的HPI-8口是一个8位的并行端口,可以用来实现DSP和主设备或主处理器接口,双方通过共享TMS320C5402的片上存储器完成通信。单片机为主控部分,采用端口方式直接访问HPI口。HPI口主要由地址寄存器(HPIA)、控制寄存器(HPIC)、数据寄存器(HPID)、HPI存储器和HPI控制逻辑组成。对HPI口进行数据读写需要三个步骤:设置控制寄存器、写地址寄存器和读写数据寄存器。单片机和DSP的HPI口硬件接口如图3所示。
图3 单片机与DSP的HPI口硬件接口连接方法
远的关心其实更长
系统软件设计
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平台上就可以实现数字压缩语音录放,经试用具有很好的语音录放效果。
来源:电子发烧友