現(xiàn)在,不起眼的通用串行總線 (USB) 已成為幾乎所有類型消費(fèi)設(shè)備的實(shí)際接口,人們?cè)絹?lái)越關(guān)注將其功能應(yīng)用于音頻接口。在本文中,我們將探索一種新出現(xiàn)的 USB 橋接設(shè)備類別,它可以處理支持硬件中的音頻設(shè)備類應(yīng)用程序所需的許多細(xì)節(jié)。正如我們將展示的,USB 的充足帶寬、易用性和簡(jiǎn)單的控制結(jié)構(gòu)使其成為交換和控制數(shù)字高質(zhì)量音頻流的自然選擇。
雖然從消費(fèi)者的角度來(lái)看,USB 音頻很簡(jiǎn)單,但在連接器的另一端卻不是那么容易。這在很大程度上是因?yàn)?USB 協(xié)議棧非常復(fù)雜,能夠支持許多明顯不同類型的應(yīng)用程序,正式稱為 USB 類。這包括音頻設(shè)備類,它定義了通過 USB 傳輸音頻的強(qiáng)大標(biāo)準(zhǔn)化機(jī)制。從 USB 端口提取音頻數(shù)據(jù)以供應(yīng)用程序的 MCU 分發(fā)、存儲(chǔ)或進(jìn)一步處理通常需要牢牢掌握 USB 協(xié)議層的細(xì)節(jié)(要了解有關(guān) USB 協(xié)議本身的更多信息,請(qǐng)參閱 TechZone 文章“提示,技巧在嵌入式應(yīng)用程序中使用 USB - 第一部分”)。除了協(xié)議本身的復(fù)雜性之外,其他與音頻相關(guān)的問題,例如數(shù)據(jù)流的同步和編程編解碼器以及數(shù)模轉(zhuǎn)換器 (DAC) 配置,即使是最有經(jīng)驗(yàn)的嵌入式和音頻設(shè)計(jì)師也可能面臨挑戰(zhàn)。
為了解決這些問題,Silicon Labs 的 CP2114音頻橋等設(shè)備支持同步、流管理和其他通常需要大量軟件開發(fā)工作的任務(wù)。在本文中,我們還將探討 USB 音頻橋接器提供新穎的標(biāo)準(zhǔn)音頻配置接口以及在低成本、高度集成的單芯片解決方案中同步音頻數(shù)據(jù)流的方法。
通過 USB 流式傳輸音頻所涉及的最大挑戰(zhàn)之一是從主機(jī)(源)到設(shè)備(接收器)的數(shù)據(jù)流同步。盡管 USB 最初是作為連接鍵盤、鼠標(biāo)和打印機(jī)的簡(jiǎn)單接口而開發(fā)的,但其協(xié)議規(guī)范還包括用于“同步傳輸”的強(qiáng)大同步方案。音頻設(shè)備類定義采用此方案通過總線可靠地傳輸音頻數(shù)據(jù)。然而,這種機(jī)制的實(shí)現(xiàn)并不是一項(xiàng)簡(jiǎn)單的任務(wù),以前的實(shí)現(xiàn)通常是圍繞相對(duì)強(qiáng)大的嵌入式系統(tǒng)構(gòu)建的,這些系統(tǒng)包括復(fù)雜的數(shù)據(jù)速率轉(zhuǎn)換器或昂貴的鎖相環(huán) (PLL),以支持時(shí)鐘精度要求。
例如,一個(gè)采樣率為 48 kHz 的系統(tǒng),主處理器每毫秒傳輸一個(gè)包含 48 個(gè)模擬輸出樣本的幀。接收器(接收設(shè)備)必須緩沖音頻輸出數(shù)據(jù),以便將其發(fā)送到 DAC,一次一個(gè)樣本。即使主機(jī)和設(shè)備之間的小時(shí)鐘不匹配也可能導(dǎo)致溢出或運(yùn)行不足的情況。USB 規(guī)范定義了幾種適應(yīng)主機(jī)/設(shè)備時(shí)鐘不匹配的方法。
表 1 列出了控制 USB 源和接收器操作的各種模式。(請(qǐng)記住,對(duì)于音頻輸出操作,主機(jī)是源,設(shè)備是接收器。對(duì)于音頻輸入操作,設(shè)備是源,主機(jī)是接收器。)

表 1:USB 音頻同步模式。
異步模式傳輸
當(dāng)接收設(shè)備沒有 PLL 硬件與主機(jī)時(shí)鐘同步時(shí),采用異步操作。在這種模式下,幾乎可以肯定會(huì)出現(xiàn)頻率不匹配,導(dǎo)致它處理源發(fā)送的音頻數(shù)據(jù)太慢或太快。為了適應(yīng)這種源/接收器時(shí)鐘不匹配,接收器向源提供明確的反饋,用于調(diào)整其采樣率和向接收器發(fā)送樣本的速率(圖 1)。

圖 1:以主機(jī)設(shè)備作為源的異步模式操作。
圖 2 說明了使用以標(biāo)稱 48 kHz 采樣率運(yùn)行的緩沖系統(tǒng)的異步傳輸機(jī)制。最初,對(duì)于每毫秒發(fā)生的每個(gè) USB 幀開始 (SOF) 操作,主機(jī)以 48 個(gè)樣本開始流式傳輸數(shù)據(jù)。如果時(shí)鐘不匹配導(dǎo)致接收設(shè)備的緩沖區(qū)接近滿或空狀態(tài),則設(shè)備可以請(qǐng)求主機(jī)每次發(fā)送更多(49)或更少(47)個(gè)樣本,以防止緩沖區(qū)出現(xiàn)溢出或欠載情況。支持這種信令機(jī)制的硬件邏輯在 Silicon Labs 的 CP2114 USB-to-I2S 數(shù)字音頻橋設(shè)備中實(shí)現(xiàn),無(wú)需任何額外的軟件開發(fā)即可支持音頻設(shè)備類。

圖 2:異步模式操作需要來(lái)自接收緩沖區(qū)的明確反饋,以防止出現(xiàn)下溢或上溢的情況。
同步傳輸
對(duì)于同步操作,源和接收器使用隱式反饋,并且兩個(gè)設(shè)備的時(shí)鐘都鎖定到 USB SOF。接收設(shè)備必須與 USB SOF 同步(圖 3)。

圖 3:同步模式操作使用公共時(shí)鐘來(lái)確保源僅提供接收設(shè)備可以處理的盡可能多的數(shù)據(jù)包。
通過閉環(huán)控制可以糾正 USB SOF 和接收設(shè)備內(nèi)部振蕩器之間的任何失配,從而實(shí)現(xiàn)簡(jiǎn)單而穩(wěn)健的同步模式。此實(shí)現(xiàn)如圖 4 所示。

圖 4:支持基于內(nèi)部振蕩器的同步模式操作的閉環(huán)控制方案。
主機(jī)每毫秒發(fā)送的 USB SOF 用于校準(zhǔn)內(nèi)部振蕩器。為了使這種方法正常工作,接收設(shè)備的內(nèi)部振蕩器必須通過校準(zhǔn)寄存器進(jìn)行調(diào)節(jié),該校準(zhǔn)寄存器可以以非常小的步長(zhǎng)增加或降低內(nèi)部振蕩器頻率。CP2114 數(shù)字音頻橋的內(nèi)部振蕩器包括一個(gè)數(shù)控動(dòng)態(tài)微調(diào)機(jī)制,它具有足夠的精度來(lái)滿足這些要求。CP2114 使開發(fā)人員能夠在同步模式和異步模式之間進(jìn)行選擇,現(xiàn)在所有流行平臺(tái)(包括 Windows、Linux、Mac OS 和適用于 Apple iPad 的 iOS)都支持這種模式。
編解碼器/DAC 配置接口“非”標(biāo)準(zhǔn)
得益于許多制造商提供的各種編解碼器和 DAC 組件,設(shè)計(jì)人員可以選擇能夠提供所需性能和功能的設(shè)備。然而不幸的是,沒有用于配置其設(shè)備功能的標(biāo)準(zhǔn)或協(xié)議。因此,每個(gè)制造商都有自己獨(dú)特的設(shè)備配置程序,這通常會(huì)增加開發(fā)人員為支持多個(gè)編解碼器/DAC 平臺(tái)而必須創(chuàng)建的軟件的復(fù)雜性。
該問題的一種解決方案是為 USB 橋接器配備“墊片機(jī)制”,該機(jī)制為主機(jī)系統(tǒng)提供標(biāo)準(zhǔn)編解碼器/DAC 配置接口。一組標(biāo)準(zhǔn)的寄存器位置允許開發(fā)人員配置大多數(shù)編解碼器和 DAC 中的典型功能,而無(wú)需了解更多正在使用的設(shè)備的型號(hào)。除了簡(jiǎn)化軟件開發(fā)之外,此功能還可以輕松評(píng)估各種編解碼器/DAC 產(chǎn)品,或?qū)F(xiàn)有設(shè)計(jì)轉(zhuǎn)換為不同的組件。出于這個(gè)原因,CP2114 音頻橋包括一個(gè)標(biāo)準(zhǔn)配置接口機(jī)制,支持廣泛的編解碼器/DAC。
如圖 5 所示,CP2114 橋接器件的標(biāo)準(zhǔn)化編程接口解決了所有編解碼器和 DAC 中最常見的功能,包括 DAC 寄存器大小、音頻格式、音量控制和音頻時(shí)鐘比率。此外,該接口還提供了用于自定義編程的開放字段和一個(gè)抽象層,以易于理解的格式封裝了最典型的配置功能。

圖 5:CP2114 的框圖。
一旦開發(fā)人員熟悉了這個(gè)接口,在編解碼器和 DAC 設(shè)備之間切換就變得很簡(jiǎn)單。表 2 列出了 CP2114 標(biāo)準(zhǔn)音頻配置編程接口的一部分。

表 2:CP2114 橋接設(shè)備的標(biāo)準(zhǔn)編程接口尋址的功能示例。
該設(shè)備的 USB 端口兼作其所有功能的控制/配置接口,包括 DAC/編解碼器設(shè)置。所有配置值都存儲(chǔ)在 EPROM 中,并且可以由主機(jī)隨時(shí)更改,從而允許對(duì)編解碼器/DAC 的配置值進(jìn)行動(dòng)態(tài)更新。
結(jié)論
主要的設(shè)計(jì)問題,例如音頻數(shù)據(jù)流的同步和編解碼器/DAC 配置,即使是最專業(yè)的嵌入式和音頻設(shè)計(jì)師也可能面臨挑戰(zhàn)。下一代數(shù)字音頻橋接解決方案(例如 CP2114 器件)通過標(biāo)準(zhǔn)配置接口支持各種編解碼器和 DAC,從而最大限度地降低了這種復(fù)雜性,以最少的外部組件支持異步和同步操作模式,并且無(wú)需外部組件,如晶體振蕩器和 EEPROM。
評(píng)論