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端口”這一問題提出了幾種應用解決方案,并對各種方案的原理及其特點作了分析討論。 |