找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] SSI端口的多路语音复用方案

[复制链接]
admin 发表于 2013-3-21 14:12:22 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
1 引 言
     同步串行接口(SSI)是各类DSP处理器中的常见接口,这是因为编解码器(Coder/Decoder,CODEC)的数字接口即为SSI。在大多数的DSP应用中,通常只需要一个CODEC,然而在诸如与电话相关的一些应用中却经常需要将两路语音信号接入到DSP处理器上。图1就是这样的一个典型应用:为了进行回声抵消(Acoustic Echo Cancel,AEC)处理,需要将近端和远端两路语音信号都接入到DSP处理器中。
  
    20121107053145747901793.jpg
    如果某DSP处理器只有一个SSI端口,那么我们该如何将两路(或多路)语音信号接入到这一个SSI端口上去呢?下面就以Motorola公司的56800系列DSP处理器中具有代表性的DSP56824为例,对其SSI端口的功能特性作一简单介绍,之后,再就上述问题给出相应的解决方案以供参考。
     2 SSI端口介绍
     图2是SSI模块的结构框图。可以看出,SSI端口的发送和接收是相互独立的两个部分。其对外接口有六根信号线:
     ·STD(SerialTransmitData):串行数据输出线。
     ·SRD(SerialReceive Data):串行数据输入线。
     ·STCK(Serial Transmit Clock):串行数据输出的位同步时钟,可被配置成输入或者输出脚。在同步模式下也被用作串行数据输入的位同步时钟。
     ·SRCK(SerialReceive Clock):串行数据输入的位同步时钟,可被配置成输入或者输出脚。
     ·STFS(SerialTransmitFrame Sync):串行数据输出的帧同步时钟,可被配置成输入或者输出脚。在同步模式下也被用作串行数据输入的帧同步时钟。
     ·SRFS(SerialReceive Frame Sync):串行数据输入的帧同步时钟,可被配置成输入或者输出脚。
     SSI端口的应用非常灵活,可通过配置相应的控制寄存器将SSI端口设置成应用中所需要的工作方式。SSI具有两种基本的操作模式:正常模式和网络模式,每种模式又都支持同步和异步协议。SSI端口在正常模式下每一帧中只传输一个数据字(即经过采样量化编码后的数字语音信号,数据字位宽可通过配置相应寄存器来改变);而在网络模式下每一帧中可以传输2到30个数据字。同步和异步协议是针对SSI发送与接收部分的相互关系来说的。在异步模式下,SSI端口的发送和接收部分完全相互独立,都拥有各自的位同步时钟和帧同步时钟;而在同步模式下,SSI端口的发送和接收部分共用同一个位同步时钟STCK和同一个帧同步时钟STFS。帧同步信号,顾名思义,即,用作数据帧的同步,该信号可配置成短帧模式(帧同步信号为一个位时钟宽度)和长帧模式(帧同步信号为一个数据字宽度)。
   
    20121107053145794771794.jpg
    20121107053145826021795.jpg
    20121107053145857271796.jpg
     更直观地,不同模式下SSI端口的信号时序关系见图3和图4。这里,我们假设一个数据字为8bit宽,即,对模拟信号采用8级量化。
     3 应 用
     在对SSI端口有了深入的了解之后,我们便可以就引言中提出的问题给出几种切实可行的解决方案了。
    20121107053145888521797.jpg
     3.1 方案一
     图5为方案一的连接示意框图。DSP中的SSI端口工作在网络模式,并设定每一帧为两个时隙,即,每一帧中传输两个数据字;采用同步协议,发送和接收部分共用同一个位同步时钟信号STCK和同一个帧同步信号STFS;帧同步信号采用长帧模式,即为一数据字宽。由DSP中的SSI端口驱动位时钟信号和帧同步信号。
     假定CODEC为8K采样,并采用8级量化。由此,可以确定SSI端口的帧频为8kHz,位时钟频率为128kHz(128kHz=8kHz×8×2)。
     DSP中的SSI端口与CODEC间信号的时序关系见图6。
    3.2 方案二
     图7为方案二的连接示意框图,DSP中的SSI端口的配置与方案一的完全相同。
    20121107053145919771798.jpg
    20121107053145951021799.jpg
     由于位时钟频率是帧频的16倍,且它们之间是完全同步的,因而帧同步信号在位时钟的移位下,经过8个时钟周期所得到的结果即相当于取反。因而,DSP中的SSI端口与CODEC间信号的时序关系与方案一中是完全相同的,参见图6。
      既然如此,为什么还要提出该方案呢?
   
     原因之一:该方案下,帧同步信号既可以采用长帧模式也可以采用短帧模式,因而具有一定的灵活性。
     原因之二:该方案并不局限于每帧传输2个数据字,通过增加移位寄存器即可支持每帧2~32个数据字的传输,即,支持多路语音信号的接入。
    20121107053145982271800.jpg
     下面举例说明该方案,假设每帧传输3个数据字并采用短帧模式,帧频为8kHz,位时钟频率为192kHz(192kHz=8kHz×8×3)。
     图8为连接示意框图。图9为DSP中的SSI端口与CODEC间信号的时序关系图。
     3.3 方案三
    20121107053146013511801.jpg
    20121107053146060391802.jpg
     这种方案是通过选择双声道的CODEC来实现的,连接示意框图参见图10。这时,CODEC中的SSI端口就工作在网络模式,每帧为两个时隙,它在第一个时隙中传输左路采样信号,而在第二个时隙中传输右路采样信号。我们将DSP中的SSI端口作相应的配置即可实现我们所需要的功能,具体情形就不赘述了。这里需要说明的一点是,位时钟和帧同步信号也有可能是由CODEC一方来驱动的。
     4 结束语
     本文先以56800系列DSP处理器中具有代表性的DSP56824为例对SSI端口的主要功能特性作了简单介绍,之后,就“如何将两路(或多路)语音信号接入到一个SSI端口”这一问题提出了几种应用解决方案,并对各种方案的原理及其特点作了分析讨论。
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-23 09:38 , Processed in 0.057520 second(s), 9 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表