SSI端口的多路語(yǔ)音復(fù)用方案
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1 引 言
同步串行接口(SSI)是各類DSP處理器中的常見接口,這是因?yàn)榫幗獯a器(Coder/Decoder,CODEC)的數(shù)字接口即為SSI。在大多數(shù)的DSP應(yīng)用中,通常只需要一個(gè)CODEC,然而在諸如與電話相關(guān)的一些應(yīng)用中卻經(jīng)常需要將兩路語(yǔ)音信號(hào)接入到DSP處理器上。圖1就是這樣的一個(gè)典型應(yīng)用:為了進(jìn)行回聲抵消(Acoustic Echo Cancel,AEC)處理,需要將近端和遠(yuǎn)端兩路語(yǔ)音信號(hào)都接入到DSP處理器中。
如果某DSP處理器只有一個(gè)SSI端口,那么我們?cè)撊绾螌陕?或多路)語(yǔ)音信號(hào)接入到這一個(gè)SSI端口上去呢?下面就以Motorola公司的56800系列DSP處理器中具有代表性的DSP56824為例,對(duì)其SSI端口的功能特性作一簡(jiǎn)單介紹,之后,再就上述問(wèn)題給出相應(yīng)的解決方案以供參考。
2 SSI端口介紹
圖2是SSI模塊的結(jié)構(gòu)框圖??梢钥闯觯琒SI端口的發(fā)送和接收是相互獨(dú)立的兩個(gè)部分。其對(duì)外接口有六根信號(hào)線:
·STD(SerialTransmitData):串行數(shù)據(jù)輸出線。
·SRD(SerialReceive Data):串行數(shù)據(jù)輸入線。
·STCK(Serial Transmit Clock):串行數(shù)據(jù)輸出的位同步時(shí)鐘,可被配置成輸入或者輸出腳。在同步模式下也被用作串行數(shù)據(jù)輸入的位同步時(shí)鐘。
·SRCK(SerialReceive Clock):串行數(shù)據(jù)輸入的位同步時(shí)鐘,可被配置成輸入或者輸出腳。
·STFS(SerialTransmitFrame Sync):串行數(shù)據(jù)輸出的幀同步時(shí)鐘,可被配置成輸入或者輸出腳。在同步模式下也被用作串行數(shù)據(jù)輸入的幀同步時(shí)鐘。
·SRFS(SerialReceive Frame Sync):串行數(shù)據(jù)輸入的幀同步時(shí)鐘,可被配置成輸入或者輸出腳。
SSI端口的應(yīng)用非常靈活,可通過(guò)配置相應(yīng)的控制寄存器將SSI端口設(shè)置成應(yīng)用中所需要的工作方式。SSI具有兩種基本的操作模式:正常模式和網(wǎng)絡(luò)模式,每種模式又都支持同步和異步協(xié)議。SSI端口在正常模式下每一幀中只傳輸一個(gè)數(shù)據(jù)字(即經(jīng)過(guò)采樣量化編碼后的數(shù)字語(yǔ)音信號(hào),數(shù)據(jù)字位寬可通過(guò)配置相應(yīng)寄存器來(lái)改變);而在網(wǎng)絡(luò)模式下每一幀中可以傳輸2到30個(gè)數(shù)據(jù)字。同步和異步協(xié)議是針對(duì)SSI發(fā)送與接收部分的相互關(guān)系來(lái)說(shuō)的。在異步模式下,SSI端口的發(fā)送和接收部分完全相互獨(dú)立,都擁有各自的位同步時(shí)鐘和幀同步時(shí)鐘;而在同步模式下,SSI端口的發(fā)送和接收部分共用同一個(gè)位同步時(shí)鐘STCK和同一個(gè)幀同步時(shí)鐘STFS。幀同步信號(hào),顧名思義,即,用作數(shù)據(jù)幀的同步,該信號(hào)可配置成短幀模式(幀同步信號(hào)為一個(gè)位時(shí)鐘寬度)和長(zhǎng)幀模式(幀同步信號(hào)為一個(gè)數(shù)據(jù)字寬度)。
更直觀地,不同模式下SSI端口的信號(hào)時(shí)序關(guān)系見圖3和圖4。這里,我們假設(shè)一個(gè)數(shù)據(jù)字為8bit寬,即,對(duì)模擬信號(hào)采用8級(jí)量化。
3 應(yīng) 用
在對(duì)SSI端口有了深入的了解之后,我們便可以就引言中提出的問(wèn)題給出幾種切實(shí)可行的解決方案了。
3.1 方案一
圖5為方案一的連接示意框圖。DSP中的SSI端口工作在網(wǎng)絡(luò)模式,并設(shè)定每一幀為兩個(gè)時(shí)隙,即,每一幀中傳輸兩個(gè)數(shù)據(jù)字;采用同步協(xié)議,發(fā)送和接收部分共用同一個(gè)位同步時(shí)鐘信號(hào)STCK和同一個(gè)幀同步信號(hào)STFS;幀同步信號(hào)采用長(zhǎng)幀模式,即為一數(shù)據(jù)字寬。由DSP中的SSI端口驅(qū)動(dòng)位時(shí)鐘信號(hào)和幀同步信號(hào)。
假定CODEC為8K采樣,并采用8級(jí)量化。由此,可以確定SSI端口的幀頻為8kHz,位時(shí)鐘頻率為128kHz(128kHz=8kHz×8×2)。
DSP中的SSI端口與CODEC間信號(hào)的時(shí)序關(guān)系見圖6。
3.2 方案二
圖7為方案二的連接示意框圖,DSP中的SSI端口的配置與方案一的完全相同。
由于位時(shí)鐘頻率是幀頻的16倍,且它們之間是完全同步的,因而幀同步信號(hào)在位時(shí)鐘的移位下,經(jīng)過(guò)8個(gè)時(shí)鐘周期所得到的結(jié)果即相當(dāng)于取反。因而,DSP中的SSI端口與CODEC間信號(hào)的時(shí)序關(guān)系與方案一中是完全相同的,參見圖6。
既然如此,為什么還要提出該方案呢?
原因之一:該方案下,幀同步信號(hào)既可以采用長(zhǎng)幀模式也可以采用短幀模式,因而具有一定的靈活性。[!--empirenews.page--]
原因之二:該方案并不局限于每幀傳輸2個(gè)數(shù)據(jù)字,通過(guò)增加移位寄存器即可支持每幀2~32個(gè)數(shù)據(jù)字的傳輸,即,支持多路語(yǔ)音信號(hào)的接入。
下面舉例說(shuō)明該方案,假設(shè)每幀傳輸3個(gè)數(shù)據(jù)字并采用短幀模式,幀頻為8kHz,位時(shí)鐘頻率為192kHz(192kHz=8kHz×8×3)。
圖8為連接示意框圖。圖9為DSP中的SSI端口與CODEC間信號(hào)的時(shí)序關(guān)系圖。
3.3 方案三
這種方案是通過(guò)選擇雙聲道的CODEC來(lái)實(shí)現(xiàn)的,連接示意框圖參見圖10。這時(shí),CODEC中的SSI端口就工作在網(wǎng)絡(luò)模式,每幀為兩個(gè)時(shí)隙,它在第一個(gè)時(shí)隙中傳輸左路采樣信號(hào),而在第二個(gè)時(shí)隙中傳輸右路采樣信號(hào)。我們將DSP中的SSI端口作相應(yīng)的配置即可實(shí)現(xiàn)我們所需要的功能,具體情形就不贅述了。這里需要說(shuō)明的一點(diǎn)是,位時(shí)鐘和幀同步信號(hào)也有可能是由CODEC一方來(lái)驅(qū)動(dòng)的。
4 結(jié)束語(yǔ)
本文先以56800系列DSP處理器中具有代表性的DSP56824為例對(duì)SSI端口的主要功能特性作了簡(jiǎn)單介紹,之后,就“如何將兩路(或多路)語(yǔ)音信號(hào)接入到一個(gè)SSI端口”這一問(wèn)題提出了幾種應(yīng)用解決方案,并對(duì)各種方案的原理及其特點(diǎn)作了分析討論。[!--empirenews.page--]