在 PCB 板內(nèi)的音頻設(shè)計(jì)時(shí),我們一般都是以模擬和數(shù)字兩種格式為主,模擬音頻主要用于承接各種模擬接口的音頻輸入。在早些時(shí)期,因?yàn)閿?shù)字信號(hào)音頻處理技術(shù)不是很發(fā)達(dá),同時(shí)數(shù)字信號(hào)處理器沒這么先進(jìn),加之成本較高昂,所以早期對(duì)于音頻信號(hào)的處理都是以模擬的方式實(shí)現(xiàn)的。后來隨著數(shù)字信號(hào)處理器的算力制程不斷提高,成本迎來下探,開始有越來越多的音頻以數(shù)字的音頻格式來處理,以實(shí)現(xiàn)各種各樣的效果。接下來將為大家就音頻的板內(nèi)通訊做相關(guān)介紹。
模擬音頻的板內(nèi)通訊
和大多數(shù)模擬信號(hào)一樣,模擬音頻在板內(nèi)基本上以單端和差分這兩種方式出現(xiàn),對(duì)于音頻這種周期波,頻帶范圍為 20hz~20khz。在以前的板內(nèi),有些音頻電子產(chǎn)品是以模擬音頻的方式出現(xiàn)的,比如早期的 ANC 耳機(jī)。它們即使全部通過電容電阻以及運(yùn)放來搭建,也一樣能夠設(shè)計(jì)出非常優(yōu)秀的 FB 和 FF filter。
由于從前生產(chǎn)的一致性比較差,到后來被數(shù)字方案所替代,包括以前樂器設(shè)備的混響器、變調(diào)器和模擬功放等等,但它們?nèi)耘f具有很多優(yōu)勢(shì),主要體現(xiàn)上產(chǎn)品的放大器的染色上,有很多我們目前的數(shù)字系統(tǒng)都不能完美模仿出來的聲音效果,同時(shí)也不需要進(jìn)行模擬到數(shù)字的轉(zhuǎn)換,也沒有什么失真。但是一般硬件的搭建都比較麻煩,而且實(shí)現(xiàn)一個(gè)功能頗為復(fù)雜,不適合添加更多的功能效果,因此后來也慢慢被數(shù)字芯片取代以實(shí)現(xiàn)更多效果。
現(xiàn)在我們一般都是在產(chǎn)品的接口上使用模擬音頻輸入或者輸出,常見有喇叭播放聲音、Line-in 外接音源、麥克風(fēng)輸入等。設(shè)備外的音頻傳輸一般使用模擬信號(hào),更多時(shí)候可以通過放大器進(jìn)行調(diào)制就會(huì)進(jìn)入編解碼器芯片進(jìn)行數(shù)字化輸入處理了。
數(shù)字音頻的板內(nèi)通訊
數(shù)字音頻在板內(nèi)的通訊格式種類比較多,以下列舉一些常見的數(shù)字音頻格式,并介紹它們對(duì)應(yīng)適合的應(yīng)用場(chǎng)景。
IIS 協(xié)議接口
IIS (Inter-IC Sound bus) 又稱 I2S,是飛利浦公司提出的串行數(shù)字音頻總線協(xié)議。目前很多音頻芯片和 MCU 都提供了對(duì) IIS 的支持,作為目前使用最為廣泛的芯片間二通道音頻傳輸協(xié)議,非常適用于各種應(yīng)用場(chǎng)景。
IIS 基本上就是三根線,有的可能有四根線,分別是 MCLK、BCLK、LRCLK、SD。
MCLK:主時(shí)鐘。嚴(yán)格意義上, MCLK 不歸屬于這個(gè)協(xié)議范圍之內(nèi),因?yàn)槠骷膯?dòng)都需要主時(shí)鐘的輸入,同時(shí)我們的 BCLK 基本上是從 MCLK 分頻或者倍頻而得到的,所以在常見的不帶晶振的 AD、DA 芯片中,需要這么一個(gè)輸入。例如 ADI 的 ADAU197X 系列,如果有的器件不需要 MCLKIN,那么一般是以 BCLK 作為了時(shí)鐘的主導(dǎo)。
BCLK:數(shù)據(jù)位時(shí)鐘。每一個(gè)脈沖對(duì)應(yīng)著數(shù)字音頻的一個(gè)數(shù)據(jù)位,在 IIS 里,一般位時(shí)鐘的頻率 = 2* 采樣頻率 * 采樣位深。
LRCLK:左右時(shí)鐘頻率。主要用于區(qū)分 IIS 里面的 2 個(gè)聲道,它的高低分別對(duì)應(yīng)了不同的聲道,一般是對(duì)稱的,但是不一定要嚴(yán)格保持對(duì)稱。頻率和采樣頻率需保持一致。
SD:串行音頻數(shù)據(jù)輸入輸出。其主要是通過二進(jìn)制的補(bǔ)碼來表示的音頻數(shù)據(jù),在 BCLK 和 LRCLK 里面的有效位中進(jìn)行傳輸。
IIS 的對(duì)齊方式目前主要有左對(duì)齊和右對(duì)齊,一般根據(jù) MSB 和 LSB 的位置來定,有的還有好幾種其他模式,這個(gè)主要取決于芯片對(duì)這些模式的支持。不過在芯片橋接時(shí),我們要保持 2 個(gè)芯片的對(duì)齊方式是能對(duì)應(yīng)起來的,不然一定會(huì)導(dǎo)致采集的數(shù)據(jù)不準(zhǔn)。
電平方式采用的 TTL 電平,輸入輸出的判定閾值電壓根據(jù)芯片規(guī)定來,一般低電平在 0.4V,高電平在 2.4V 左右。建立時(shí)間根據(jù) datasheet 上面的設(shè)定為準(zhǔn)。下圖 (圖1) 為某芯片的 IIS 協(xié)議:
圖1 IIS Port Timing
TDM 協(xié)議接口
TDM 協(xié)議可以理解為 IIS 的變體,因?yàn)?IIS 只能夠傳輸兩個(gè)通道的數(shù)據(jù),然而這在實(shí)際應(yīng)用中是遠(yuǎn)遠(yuǎn)不夠用的。為了傳輸多個(gè)通道的數(shù)據(jù),所以就出現(xiàn)了 TDM (時(shí)分復(fù)用) 模式。IIS 實(shí)際上也就是 TDM2 的一種,所以傳輸中它的硬件連接和管腳定義和 IIS 基本一樣。
TDM 基本上也是三根線,MCLK 除外,其作用在 IIS 中已經(jīng)描述清楚。
BCLK:數(shù)據(jù)位時(shí)鐘。和 IIS 一樣,時(shí)鐘頻率 = 通道數(shù) * 采樣頻率 * 采樣位深。
SYNC:幀同步時(shí)鐘。類比 LRCLK,只是命名不同,同樣是用來區(qū)別不同通道,但是它的格式會(huì)有不一樣,有 50% / 50% 占空比模式,也有 Pluse 模式,要根據(jù)情況進(jìn)行配置,時(shí)鐘頻率 = 采樣頻率。
SD:數(shù)據(jù)位輸入輸出,與 IIS 保持一致。
另外,它的對(duì)齊方式和電平方式也和 IIS 的類似。下圖 (圖2) 為某芯片的 TDM16 的協(xié)議:
圖2 TDM16 Port Timing
PCM 與 DSD 協(xié)議接口
PCM (脈沖編碼調(diào)制) 與 DSD (直接流數(shù)字編碼),這兩種編碼格式,輸出的數(shù)字接口一般是用在非常高質(zhì)量的場(chǎng)景。我們所熟悉的 PCM384、PCM768 以及 DSD256、DSD512 等等都是用在 HIFI 的場(chǎng)景里,它們的接口傳輸模型也類似于上面二者,具體的差異點(diǎn)因不同廠商的設(shè)計(jì)而有所不同。
由于這兩種都是將模擬音頻轉(zhuǎn)成數(shù)字碼流的形式進(jìn)行傳輸,對(duì)于 TDM 來說,一般用到 TDM32 就已經(jīng)非常大了,帶寬能夠達(dá)到 49.125Mhz,在這里面?zhèn)鬏數(shù)氖?32 個(gè)通道的 48khz 32bit 的數(shù)據(jù)。然而在這些 DSD256 里面,需要 11.2896Mhz,這可能只是一個(gè)通道的帶寬,所以可想而知,數(shù)據(jù)量將會(huì)有多么龐大。
這些芯片接口的 IP 都要有專門的設(shè)計(jì),因此要根據(jù)廠商的芯片進(jìn)行匹配,由于并不是嚴(yán)格統(tǒng)一的,所以不再列舉。產(chǎn)品應(yīng)用多見于聲卡、HIFI類播放器等場(chǎng)景。
PDM 協(xié)議接口
PDM (脈沖密度調(diào)制),最多的應(yīng)用場(chǎng)景是數(shù)字麥克風(fēng)接口,一般就是 3 根線,一根 Data 線、一根時(shí)鐘線、一根 LR 的片選線。
PDMCLK:PDM 時(shí)鐘線。根據(jù)采樣頻率以及深度的不同,一般 3.072Mhz 居多。
LRCS:數(shù)字麥克風(fēng)上的常用接口,用于區(qū)別具體的麥克風(fēng)通道選擇。
DATA:高電平或低電平有效。
下圖 (圖3) 為某麥克風(fēng)的 PDM 的協(xié)議:
圖3 PDM Port Timing
SPDIF 接口
S/PDIF,代表 Sony/Phillips Digital Interface (索尼/飛利浦?jǐn)?shù)字接口),是一種傳輸數(shù)字音頻的接口。就傳輸載體而言,SPDIF 又分為同軸和光纖兩種。它們可傳輸?shù)男盘?hào)是相同的,只不過載體不同,接口和連線外觀也有差異。光信號(hào)傳輸是今后流行的趨勢(shì),其主要優(yōu)勢(shì)在于無需考慮接口電平及阻抗問題,接口靈活且抗干擾能力更強(qiáng)。
S/PDIF 基本上是 2 根線,SPDIFIN 以及 SPDIFOUT,沒有時(shí)鐘線,可以板外傳輸。雖然線少,但是驅(qū)動(dòng)層可配置的寄存器頗多,使用雙相標(biāo)記代碼將時(shí)鐘信號(hào)嵌入數(shù)據(jù)中。
S/PDIF 發(fā)射機(jī)由兩個(gè)音頻通道組成,在一個(gè)硬件引腳 (SPDIFOUT) 上輸出。使用雙相標(biāo)記代碼將時(shí)鐘信號(hào)嵌入數(shù)據(jù)中。S/PDIF 輸入和輸出字長可以獨(dú)立地設(shè)置為 16、20 或 24 位。
S/PDIF 接口符合 S/PDIF 消費(fèi)者性能規(guī)范,但不符合音頻工程協(xié)會(huì) AES3 專業(yè)規(guī)范,也是 TTL 的電平規(guī)范。
以上介紹的基本上都是一些 DAI 的接口類型,在 PCBA 內(nèi)部走線用的頗多,當(dāng)然還會(huì)有一些其他的接口類型,包括雙 DSP 中的級(jí)聯(lián) Link-Port,這個(gè)在 ADI 的 ADSP-2156X 系列之上的產(chǎn)品都有,用于高帶寬的吞吐量的傳輸。在處理器中,是可以通過打包音頻數(shù)據(jù)的方式進(jìn)行串行輸入輸出的,只是因?yàn)橛玫奶,所以我們一般不采取這樣的方式,同時(shí)也還有一些其他的方式,比如 USB 音頻 (USB 接口中常用到),MIPI 聯(lián)盟中的 SLIMBUS、A2B 協(xié)議等等。
總結(jié)
根據(jù)上面的介紹,相信大家對(duì)板間的數(shù)字通訊開始有一定的了解,在實(shí)際的設(shè)計(jì)過程中,要根據(jù)產(chǎn)品需求出發(fā),合理地適配相應(yīng)的協(xié)議,從而進(jìn)行傳輸。每一種不同的協(xié)議都有其使用場(chǎng)景,對(duì)于上下游的芯片間也必須支持該接口規(guī)范,協(xié)議間的主從接口之間也需要匹配好,這樣才能減少我們?cè)谂渲弥袩o法出聲的問題。