多端口存储器在多机系统中的应用
时间:09-17
来源:互联网
点击:
三、FIFO的双向扩展和语音数据交换系统
用DSP实现语音压缩和解压算法得到了广泛的应用。例如,用TMS320LC549可以实现基于G.723.1压缩算法的全双工语音编解码器。G.723.1语音解码器可将输入的PCM编码压缩为6.3和5.3Kbps的语音数据,压缩出的语音数据是每30ms突发输出一帧。比如,6.3Kbps的速率,编解码器每30ms输出24Byte压缩语音帧(包括信令数据),同样,编解码器每30ms突发接收24Byte语音数据解压,输出PCM编码。为了实现语音数据的全双工实时交换,可采用双向FIFO设计交换系统。下面,以1片AT89C51(简称MCU)与2片TMS320LC549(简称DSP)实现语音数据双向交换为例,介绍FIFO的具体应用。其中DSP用于语音数据的压缩解压;MCU用于转发语音数据流和监控;FIFO用于CPU之间的数据缓冲。
首先,用2片单向FIFO IDT7202扩展为双向FIFO(也可使用专用的双向FIFO),如图6所示可以在A和B系统之间实现双向通信。
图7为语音双向交换的原理简图(图中未给出模拟话路和PCM编解码器等)。MCU分别通过两个双向FIFO与相应的DSP实现语音数据交换。MCU对双向FIFO的选通控制采用一片16V8GAL电路。DSP压缩完一帧用中断通知MCU取压缩的语音数据。
MCU在中断服务程序中接收压缩语音。图8给出了MCU的中断服务程序。如图8所吉,MCU分别在两个对等的中断服务程序中,从上行的FIFO接收上行的语音数据,然后转发给另一个下行的FIFO。DSP检测下行FIFO的空标志。若为空间,则从下行的FIFO中接收需要解压的语音数据,并对语音数据包解压回放。
由上可以看出,利用FIFO实现多机接口,硬件和通信流程简单,并且在实际的调试中,本系统的语音数据得到实时交换,没有出现语音帧丢失的情况,语音延时符合要求,可以实现全双工通信。
结束语
本文介绍了以双口RAM和FIFO为例,利用多端口存储器设计多机系统。现对双口RA几FIFO比较如下:(1)FIFO的仲裁控制简单,但其容量不如双口RAM。由于先进先出的特点,特别适合数据缓冲和突发传送数据。某些芯片的内部就集成小容量FIFO,例如,DSP的同步串口就集成两个FIFO,用于接收和发送数据缓冲。双口RAM的仲裁逻辑比FIFO复杂,但其容量较大。由于存储数据完全共享,适用于双机系统的全局存储器和大容量数据存储共享,例如大容量磁盘的数据缓存可采用双口RAM。(2)FIFO只给外部提供一个读和一个写信号,因此CPU用一个I/O地址便可读或写FIFO,使硬件趋于简单,给编程也带来一些方便,但CPU不能对FIFO内部的存储器进行寻址。双口RAM由于有两套地址线,使硬件较FIFO复杂,但允许CPU访问内部存储单元,因此CPU之间可以自己定主和分配数据块以及数据单元,使软件设计更加灵活。
在异种机系统设计中,利用双口RAM和FIFO能够实时、快速、灵活和方便地进行相互通信,得到满意的效果。
用DSP实现语音压缩和解压算法得到了广泛的应用。例如,用TMS320LC549可以实现基于G.723.1压缩算法的全双工语音编解码器。G.723.1语音解码器可将输入的PCM编码压缩为6.3和5.3Kbps的语音数据,压缩出的语音数据是每30ms突发输出一帧。比如,6.3Kbps的速率,编解码器每30ms输出24Byte压缩语音帧(包括信令数据),同样,编解码器每30ms突发接收24Byte语音数据解压,输出PCM编码。为了实现语音数据的全双工实时交换,可采用双向FIFO设计交换系统。下面,以1片AT89C51(简称MCU)与2片TMS320LC549(简称DSP)实现语音数据双向交换为例,介绍FIFO的具体应用。其中DSP用于语音数据的压缩解压;MCU用于转发语音数据流和监控;FIFO用于CPU之间的数据缓冲。
首先,用2片单向FIFO IDT7202扩展为双向FIFO(也可使用专用的双向FIFO),如图6所示可以在A和B系统之间实现双向通信。
图7为语音双向交换的原理简图(图中未给出模拟话路和PCM编解码器等)。MCU分别通过两个双向FIFO与相应的DSP实现语音数据交换。MCU对双向FIFO的选通控制采用一片16V8GAL电路。DSP压缩完一帧用中断通知MCU取压缩的语音数据。
MCU在中断服务程序中接收压缩语音。图8给出了MCU的中断服务程序。如图8所吉,MCU分别在两个对等的中断服务程序中,从上行的FIFO接收上行的语音数据,然后转发给另一个下行的FIFO。DSP检测下行FIFO的空标志。若为空间,则从下行的FIFO中接收需要解压的语音数据,并对语音数据包解压回放。
由上可以看出,利用FIFO实现多机接口,硬件和通信流程简单,并且在实际的调试中,本系统的语音数据得到实时交换,没有出现语音帧丢失的情况,语音延时符合要求,可以实现全双工通信。
结束语
本文介绍了以双口RAM和FIFO为例,利用多端口存储器设计多机系统。现对双口RA几FIFO比较如下:(1)FIFO的仲裁控制简单,但其容量不如双口RAM。由于先进先出的特点,特别适合数据缓冲和突发传送数据。某些芯片的内部就集成小容量FIFO,例如,DSP的同步串口就集成两个FIFO,用于接收和发送数据缓冲。双口RAM的仲裁逻辑比FIFO复杂,但其容量较大。由于存储数据完全共享,适用于双机系统的全局存储器和大容量数据存储共享,例如大容量磁盘的数据缓存可采用双口RAM。(2)FIFO只给外部提供一个读和一个写信号,因此CPU用一个I/O地址便可读或写FIFO,使硬件趋于简单,给编程也带来一些方便,但CPU不能对FIFO内部的存储器进行寻址。双口RAM由于有两套地址线,使硬件较FIFO复杂,但允许CPU访问内部存储单元,因此CPU之间可以自己定主和分配数据块以及数据单元,使软件设计更加灵活。
在异种机系统设计中,利用双口RAM和FIFO能够实时、快速、灵活和方便地进行相互通信,得到满意的效果。
DSP 单片机 总线 IDT 电路 电子 51单片机 MCU CMOS 解码器 相关文章:
- 基于IXP421的VoIP网关及其性能测评(10-02)
- 新一代移动通信系统的关键技术(10-26)
- 基于DSP和FPGA的机器人声控系统设计与实现 (04-16)
- 设计基于TMS320LF2407的低功耗中文人机界面 (04-16)
- USB接口芯片的原理及应用 (04-15)
- 利用以太网硬件在环路实现高带宽DSP仿真(05-04)