深入了解數(shù)字音頻接口TDM在軟硬件配置中的問題
在上篇《ADI音頻在PCBA里的通用傳輸格式》里,我們介紹了通用音頻在 PCBA 中的傳輸格式,其中涉及到多種格式,本文將挑選一個(gè)最常用的數(shù)字傳輸格式進(jìn)行相關(guān)分析,以幫助大家了解如何合理地在軟硬件上進(jìn)行設(shè)計(jì)。
在 PCB 板內(nèi)的音頻設(shè)計(jì)時(shí),很多時(shí)候都是以模擬信號(hào)作為前后輸入輸出,但是板內(nèi)更多是以數(shù)字信號(hào)為主,例如我們可以看到各種 aux、同軸、蓮花口等信號(hào)輸入。只要音頻需要進(jìn)行處理,一般都是需要轉(zhuǎn)成數(shù)字信號(hào)來進(jìn)行的,比如當(dāng)我們?cè)谟?FPGA、DSP、單片機(jī)等系統(tǒng)時(shí)。大多數(shù)情況下,簡單 2 通道的實(shí)現(xiàn)在軟硬件上還是比較簡單,但是上升到 TDM8 以上,很多客戶就會(huì)面臨穩(wěn)定性的問題。接下來將分兩個(gè)板塊——軟件和硬件,為大家說明如何有效規(guī)避這些風(fēng)險(xiǎn)。
TDM 在軟件配置上的注意項(xiàng)
上文有說到 TDM 協(xié)議一般是三根線 (MCLK 除外),有的編解碼會(huì)有四根線,主時(shí)鐘線束一般是恒定輸入的,另外三根是 BCLK、SYNC、以及 SDATA (DATA 一般會(huì)有 DTX、DRX,或者自己靈活配置為 DTX 或 DRX)。那發(fā)射端和接收端要如何配置才能匹配起來呢?下面將進(jìn)行一一介紹:
? 確定傳輸多少通道的音頻
我們需要根據(jù)傳輸多少通道的音頻來選擇 TDM 接口,一般是 TDM2/4/8/12/16/32 這幾種,具體需要根據(jù)實(shí)際情況來選擇。然后確定采樣率、位深,以此得到確切的位時(shí)鐘數(shù)據(jù)。例如 TDM16,采用 48khz 的采樣率以及 32bit 的位深,那么其確定的 BCLK 頻率就是 16 * 48khz * 32bit = 24.576Mhz。在驅(qū)動(dòng)中一般需要配置具體 TDM 類型、位深和采樣率,這里的配置,發(fā)射端和接收端需要保持一致。
? 確定 SYNC 的類型和極性
對(duì)于幀同步信號(hào),它的頻率一般就是采樣頻率,比如 TDM16 的格式,在幀同步信號(hào)的一個(gè)周期內(nèi),可以傳輸 16 個(gè)通道的數(shù)據(jù)。同時(shí),它有脈沖模式和 50/50 占空比模式。脈沖模式是以第一個(gè)位時(shí)鐘增加一個(gè)脈沖開始,到該周期結(jié)束。50/50 占空比模式,是高低電平分別占用一半的通道,具體請(qǐng)查看 datasheet 的示例圖。它還有一個(gè)極性,即上升沿觸發(fā)還是下降沿觸發(fā)。這一部分發(fā)射端和接收端也需要保持一致。
? 確定 BCLK 的極性
在第一點(diǎn)我們已經(jīng)確定了 BCLK 的時(shí)鐘大概是多少,接下來還需要進(jìn)行下一步的極性配置。這個(gè)極性配置其實(shí)是對(duì)應(yīng)于 SDATA 位來說的,而且需要區(qū)分驅(qū)動(dòng)沿和采樣沿,一般情況下,發(fā)射端的驅(qū)動(dòng)沿配置要和采樣沿相反,有的格式要相同,具體要核對(duì)數(shù)據(jù)手冊(cè)上對(duì)于該內(nèi)容的描述。
其實(shí)就算配置的不對(duì),也會(huì)有聲音輸出?;旧嫌薪?jīng)驗(yàn)的工程師都能夠聽出來,或者通過對(duì)數(shù)據(jù)數(shù)組中的數(shù)據(jù)進(jìn)行分析,不對(duì)應(yīng)的邊沿,采集下來的數(shù)據(jù)無非就是溢出,或者少了一位。當(dāng)發(fā)現(xiàn) 1khz 的正弦波進(jìn)去,采出的數(shù)據(jù)具備這種波形特點(diǎn),但是高位沒數(shù)據(jù),或者低位沒數(shù)據(jù),聽起來原聲小,噪聲大,實(shí)際上就是這個(gè)原因造成的。另外,這個(gè)配置發(fā)射端和接收端可能相反,也可能相同,因此需要進(jìn)行比對(duì)。
? 確定 SDATA 位的格式
這里說的格式和數(shù)據(jù)傳輸中 MSB 以及 LSB 息息相關(guān),這一點(diǎn)是針對(duì)于 SYNC 來的。在 SYNC 的周期開始時(shí),我們可以選擇 delay 1 或者左對(duì)齊右對(duì)齊等格式。這里是要嚴(yán)格對(duì)齊的,不然數(shù)據(jù)肯定是采集不正確的,該配置發(fā)射端和接收端需要保持一致。
以上基本就是 TDM 在軟件配置中的一些注意點(diǎn),當(dāng)然可能有一些芯片在這些配置的基礎(chǔ)上增加了某些其他功能,這需要具體查看對(duì)應(yīng)的 datasheet。比如 ADAU1452 添加了 flexTDM 功能,AD2428 的 TDM 增加了 delay 1 SYNC 以及 offset 等等,這樣做的目的基本上都是為了提升該芯片 IP 的兼容性。有一些做得差的廠商,可能他們的 IP 都無法支持 TDM32,只能支持到 TDM8,但總體來說,以上的配置指導(dǎo)說明能夠涵蓋這些基礎(chǔ)配置。
TDM 在硬件設(shè)計(jì)上的注意項(xiàng)
很多人會(huì)說 TDM 不就是幾根線連起來就可以了嗎?然后 IIS 跑起來也沒出過問題啊?大部分客戶可能很少設(shè)計(jì)過 TDM8 以上的信號(hào),同時(shí)極端情況出現(xiàn)的比較少,這是因?yàn)橄M(fèi)電子的音頻受擾環(huán)境少,但在汽車電子中,外界環(huán)境比較復(fù)雜,時(shí)常出現(xiàn)一些不穩(wěn)定的現(xiàn)象,下文將集中描述一些問題,同時(shí)給大家提供一些解決思路。
為什么要在發(fā)射端和接收端加電阻?
如下圖 (圖1) 所示,我們常常在 IC1 和 IC2 中間加個(gè)電阻,很多工程師其實(shí)都不清楚為什么要加它,它到底加多大?以下為大家進(jìn)行詳細(xì)說明:
圖1 信號(hào)線連接示意圖
通常我們看到音頻芯片連接線上一般都是用 0、22、33Ω 的電阻進(jìn)行連接,其實(shí)主要的目的還是為了阻抗匹配,這涉及到我們大部分的高頻電子電路的應(yīng)用。簡單來講就是信號(hào)源內(nèi)阻、特征阻抗、還有負(fù)載阻抗,最好的狀態(tài)就是實(shí)現(xiàn)三者的大小相等,傳輸過來的信號(hào)相位完全相同,當(dāng)然這頗有難度。如果匹配不好不連續(xù)時(shí),或在信號(hào)頻率過高時(shí),我們會(huì)發(fā)現(xiàn)信號(hào)能量丟失很多,同時(shí)反射嚴(yán)重,波形毛刺凌亂。其原理可以類比光進(jìn)行發(fā)射時(shí),在發(fā)生折射的同時(shí)還發(fā)生反射,所以我們至少要盡量朝著這個(gè)方向去靠近。
在芯片的 TDM IP 接口設(shè)計(jì)時(shí),實(shí)際上發(fā)射端的阻抗一般都是偏低的,大概在 17-40Ω 左右,PCB 的單端走線一般是 50Ω,而接收端的阻抗通常又比較大,這就是一個(gè)典型的不連續(xù)不匹配的系統(tǒng),所以我們通常需要加一個(gè) 22Ω 的電阻,加到靠近的發(fā)射端,這樣基本能在整體上保持阻抗的連續(xù)問題。不匹配典型的波形就是過沖和振鈴,如下圖 (圖2) 所示,而這種問題的風(fēng)險(xiǎn)就是容易導(dǎo)致接收端誤解碼。
圖2 發(fā)射端與接收端不匹配典型波形圖
還一種情況是吸收干擾脈沖,有時(shí)候我們走線拉得很長,然后在走線的周邊又經(jīng)常出現(xiàn)一些高速跳變的信號(hào),尤其是平行并排走的,那么這個(gè)時(shí)候信號(hào)線非常容易受到干擾,會(huì)有一些毛刺和窄脈沖,這樣我們的接收端就很不好判定了,因此容易產(chǎn)生問題。對(duì)于這一類問題,一般通過非平行走線減少耦合,同時(shí)接收端增加大電阻吸收窄帶脈沖的能量即可。
總的來說,信號(hào)線上的電阻主要是為了匹配阻抗,降低噪聲,而限流和保護(hù)作用基本上涉及比較少,因?yàn)楣β士傮w上比較小。
在發(fā)射端和接收端到底要不要加旁路或者去耦電容?
接下來通過一個(gè)真實(shí)的案例加以說明。某客戶已經(jīng)把功放的所有產(chǎn)品需求設(shè)計(jì)好了,并且進(jìn)入量產(chǎn)了,但是將產(chǎn)品裝到車上后,在低溫或者一些比較極限的情況下,突發(fā)無聲等情況。經(jīng)過許久排查,發(fā)現(xiàn)核心問題還是產(chǎn)生在 TDM 的旁路電容上。
為什么要加該電容?在汽車電子的產(chǎn)品中,我們都要過車規(guī)認(rèn)證,這時(shí)候會(huì)產(chǎn)生讓非常多工程師頭疼的問題:當(dāng) EMI 和 EMC 等級(jí)要求過高而無法通過時(shí),工程師就會(huì)考慮加一些電容了。一方面因?yàn)槭桥月坊蛘呷ヱ罱拥啬軌虺缘粝喈?dāng)一部分的能量,使得輻射減少。另一方面還能夠降低噪聲,提高電磁兼容性。
另外,在實(shí)際應(yīng)用中還得注意諧振頻率的問題,尤其是和信號(hào)頻率接近的諧振頻率。產(chǎn)生諧振后,最容易出現(xiàn)在我們信號(hào)的閾值附件波形抖動(dòng),尤其在一些極端條件下,電容器的溫漂屬性,配合自身的 ESR,以及電路中的電阻構(gòu)成 RC 濾波電路。如果出現(xiàn)了這個(gè)問題,基本是由于 TDM 信號(hào)判定不了或者錯(cuò)位導(dǎo)致的。所以在這個(gè)電容器上,不需要經(jīng)過嚴(yán)苛認(rèn)證的一般不必加,需要過認(rèn)證的要適量加大容量或者減小容量,尤其是上升沿下降沿出現(xiàn)回勾,而且這個(gè)頻率一般是很難計(jì)算的,它和發(fā)射接收、走線以及電容本身的 ESR 都有關(guān)系。
總之,在添加電容、電阻的時(shí)候也需要用心,因?yàn)槿绻@些條件沒添加好,都會(huì)影響波形質(zhì)量。電阻加得大,波形變成三角波,電容加得大,波形爬坡變成一條弧線,上升下降沿的時(shí)間都大大增加了,從而進(jìn)一步影響波形質(zhì)量。
綜上所述,只要對(duì)以上介紹的兩點(diǎn)內(nèi)容和硬件的 layout 設(shè)計(jì)稍作注意,一般都可以設(shè)計(jì)出比較穩(wěn)定的產(chǎn)品。有一些客戶出問題少,是因?yàn)榇蟛糠值?IIS 帶寬足夠低,很少出現(xiàn)這種情況,同時(shí)容錯(cuò)率比較高,芯片廠商設(shè)計(jì)的 IP 足夠覆蓋。這側(cè)面也反應(yīng)出,在設(shè)計(jì)中,如果使用 TDM8 足夠,就不需要使用 TDM16 或者 32,因?yàn)闀?huì)增加一些不必要的風(fēng)險(xiǎn)。
總結(jié)
根據(jù)上面的介紹,相信大家對(duì) TDM 的協(xié)議和設(shè)計(jì)方式已經(jīng)了解,這個(gè)格式差不多算是通用音頻的基石,用的非常多,希望能對(duì)大家的設(shè)計(jì)有所幫助。同時(shí)大家在選擇上可以盡可能選擇支持 TDM16、32 的這種芯片,因?yàn)橐话氵@種芯片的 IP 設(shè)計(jì)的帶寬都要比那些只支持不到 TDM8 的芯片要好,尤其體現(xiàn)在一些高算力的 SOC 或者 DSP 上。
評(píng)論