完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
1 引 言
同步串行接口(SSI)是各类DSP处理器中的常见接口,这是因为编解码器(Coder/Decoder,CODEC)的数字接口即为SSI。在大多数的DSP应用中,通常只需要一个CODEC,然而在诸如与电话相关的一些应用中却经常需要将两路语音信号接入到DSP处理器上。图1就是这样的一个典型应用:为了进行回声抵消(Acoustic Echo Cancel,AEC)处理,需要将近端和远端两路语音信号都接入到DSP处理器中。 现在,DSP处理器的I/O通常都是数字接口,因而它与语音信号之间需要插入CODEC以进行模数和数模转换。DSP外围接口与CODEC间的标准接口为SSI,DSP处理器以及某些微处理器都带有该接口模块。但是如果某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。帧同步信号,顾名思义,即,用作数据帧的同步,该信号可配置成短帧模式(帧同步信号为一个位时钟宽度)和长帧模式(帧同步信号为一个数据字宽度)。 更直观地,不同模式下SSI端口的信号时序关系见图3和图4。这里,我们假设一个数据字为8bit宽,即,对模拟信号采用8级量化。 3 应 用 在对SSI端口有了深入的了解之后,我们便可以就引言中提出的问题给出几种切实可行的解决方案了。 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端口的配置与方案一的完全相同。 由于位时钟频率是帧频的16倍,且它们之间是完全同步的,因而帧同步信号在位时钟的移位下,经过8个时钟周期所得到的结果即相当于取反。因而,DSP中的SSI端口与CODEC间信号的时序关系与方案一中是完全相同的,参见图6。 既然如此,为什么还要提出该方案呢? 原因之一:该方案下,帧同步信号既可以采用长帧模式也可以采用短帧模式,因而具有一定的灵活性。 原因之二:该方案并不局限于每帧传输2个数据字,通过增加移位寄存器即可支持每帧2~32个数据字的传输,即,支持多路语音信号的接入。 下面举例说明该方案,假设每帧传输3个数据字并采用短帧模式,帧频为8kHz,位时钟频率为192kHz(192kHz=8kHz×8×3)。 图8为连接示意框图。图9为DSP中的SSI端口与CODEC间信号的时序关系图。 3.3 方案三 这种方案是通过选择双声道的CODEC来实现的,连接示意框图参见图10。这时,CODEC中的SSI端口就工作在网络模式,每帧为两个时隙,它在第一个时隙中传输左路采样信号,而在第二个时隙中传输右路采样信号。我们将DSP中的SSI端口作相应的配置即可实现我们所需要的功能,具体情形就不赘述了。这里需要说明的一点是,位时钟和帧同步信号也有可能是由CODEC一方来驱动的。 4 结束语 本文先以Motorola公司的56800系列DSP处理器中具有代表性的DSP56824为例对SSI端口的主要功能特性作了简单介绍,之后,就“如何将两路(或多路)语音信号接入到一个SSI端口”这一问题提出了几种应用解决方案,并对各种方案的原理及其特点作了分析讨论。 |
|
|
|
只有小组成员才能发言,加入小组>>
如何使用STM32+nrf24l01架构把有线USB设备无线化?
2528 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2311 浏览 5 评论
3108 浏览 3 评论
2778 浏览 8 评论
为什么ucosii上移植lwip后系统进入了HardFault_Handler?
2736 浏览 4 评论
请教各位大咖:有没有接收频率32M左右的芯片推荐的?先感谢啦!
577浏览 1评论
831浏览 0评论
932浏览 0评论
594浏览 0评论
414浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-5 09:01 , Processed in 1.140690 second(s), Total 44, Slave 38 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号