ZHCSP98B February 2022 – March 2023 TAS2780
PRODUCTION DATA
TAS2780 提供靈活的串行音頻端口。該端口可配置為支持多種格式,包括立體聲 I2S、左對齊和 TDM。通過 SDIN 引腳提供單音頻播放。SDOUT 引腳用于傳輸樣本流,包括揚聲器電壓和電流檢測、PVDD 電壓、內(nèi)核溫度和通道增益。
TDM 串行音頻端口支持多達 16 個采樣率為 44.1/48kHz 的 32 位時隙或 8 個采樣率為 88.2/96kHz 的 32 位時隙。有效的 SBCLK 與 FSYNC 之比為 16、24、32、48、64、96、128、192、256 和 512。器件可自動檢測時隙數(shù),無需編程。
默認(rèn)情況下,TAS2780 會自動檢測 PCM 播放采樣率。這可以通過將 AUTO_RATE 寄存器位設(shè)為高電平來禁用此功能,以及手動配置該器件。
當(dāng) AUTO_RATE 寄存器位為高電平時(禁用 TDM 采樣率自動檢測),SAMP_RATE[2:0] 和 SAMP_RATIO[3:0] 寄存器位用于配置 PCM 音頻采樣率。TAS2780 采用強大的時鐘故障檢測引擎,如果 FSYNC 與配置的采樣率不匹配(如果 AUTO_RATE= 1)或 SBCLK 與 FSYNC 之比不受支持,該引擎將自動降低播放路徑的音量(最大限度地減少可聞失真)。一旦檢測到時鐘在頻率和比率上均有效,器件會自動將播放路徑的音量緩慢上升回配置的音量并恢復(fù)播放。
使用自動速率檢測時,在 TDM 總線上檢測到的采樣率和 SBCLK 與 FSYNC 之比會報告給只讀寄存器位 FS_RATE[2:0] 和 FS_RATIO[3:0]。
TAS2780 支持 12MHz SBCLK 運行。系統(tǒng)將針對 125 或 250 的比率進行檢測或應(yīng)進行手動配置。在此特定比率中,最后 32 位時隙不應(yīng)用于通過 TDM (SDOUT) 或 ICC(節(jié) 8.4.2.10.1)傳輸數(shù)據(jù),因為數(shù)據(jù)將被截斷。
下面的圖 8-1 和圖 8-2 說明了配置播放端口所需的接收器幀參數(shù)。幀以 FSYNC 從高到低或從低到高的轉(zhuǎn)換開始(由 FRAME_START 寄存器位設(shè)置)。FSYNC 和 SDIN 由 SBCLK 使用上升沿或下降沿(由 RX_EDGE 寄存器位設(shè)置)進行采樣。RX_OFFSET[4:0] 寄存器位定義從 FSYNC 轉(zhuǎn)換到時隙 0 開始的 SBCLK 周期數(shù)。這通常設(shè)置為值 0(對于左對齊)和 1(對于 I2S 格式)。
圖 8-1 左對齊的 TDM RX 時隙
圖 8-2 TDM RX 時隙RX_SLEN[1:0] 寄存器位將 RX 時隙的長度設(shè)置為 16、24 或 32(默認(rèn))位。時隙內(nèi)音頻樣本字的長度由 RX_WLEN[1:0] 寄存器位配置為 16、20、24(默認(rèn))或 32 位。默認(rèn)情況下,RX 端口將使時隙內(nèi)的音頻樣本左對齊,但這可以通過 RX_JUSTIFY 寄存器位更改為右對齊。TAS2780 支持單聲道和立體聲下混音播放 ([L+R]/2)。默認(rèn)情況下,器件將從等于 I2C 基地址偏移量(由 ADDR 引腳設(shè)置)的時隙播放單聲道。 RX_SCFG[1:0] 寄存器位可用于將播放源覆蓋到左時隙、右時隙或由 RX_SLOT_L[3:0] 和 RX_SLOT_R[3:0] 寄存器位設(shè)置的立體聲下混頻。
如果時隙選擇將接收部分或全部置于幀邊界之外,則接收器將返回一個空樣本,相當(dāng)于一個數(shù)字靜音樣本。
TDM 端口可以在 SDOUT 引腳上傳輸多個樣本流,包括揚聲器電壓感測、揚聲器電流感測、中斷和狀態(tài)、PVDD 電壓、內(nèi)核溫度和通道增益。下面的圖 8-3 說明時隙與幀開始是對齊的,以及給定樣本流如何映射到時隙。
圖 8-3 TDM 端口 TX 圖SBCLK 的上升沿或下降沿均可用于在 SDOUT 引腳上傳輸數(shù)據(jù)。這可以通過設(shè)置 TX_EDGE 寄存器位來配置。TX_OFFSET[2:0] 寄存器位定義從幀開始到時隙 0 開始的 SBCLK 周期數(shù)。TDM 和 ICC TX 可以發(fā)送邏輯 0 或高阻態(tài),具體取決于 TX_FILL 寄存器位的設(shè)置。當(dāng)所有驅(qū)動總線的器件都是高阻態(tài)時,可選的總線保持器將弱保持 SDOUT 和 ICC 引腳的狀態(tài)。SDOUT 上只需要一個總線保持器,因此可以通過 TX_KEEPEN 寄存器位禁用此功能。使用 TX_KEEPLN 寄存器位可以將總線保持器配置為僅將總線保持 1 1LSB 或始終保持。此外,可以使用 TX_KEEPCY 寄存器位將保持器 LSB 驅(qū)動一個完整周期或半個周期。
TX_FILL 寄存器位用于 I2S 總線上只有一個放大器的單聲道系統(tǒng)。當(dāng) TX_FILL 寄存器位設(shè)置為低電平時,放大器未使用的所有時隙都將用零填充。
當(dāng)多個器件位于同一 I2S 總線上時,頁 0x01 的 SDOUT_HIZ 寄存器會非常有用。每個器件都不知道總線上其他器件的時隙配置。需要在系統(tǒng)級別對 SDOUT_HIZ 寄存器進行適當(dāng)?shù)木幊蹋源_保正確完成設(shè)置并且不會在內(nèi)部和外部產(chǎn)生任何爭用。
每個樣本流由一個或兩個 8 位時隙組成。揚聲器電壓感測和揚聲器電流感測樣本流是 16 位精度的,因此它們將始終使用兩個 TX 時隙。PVDD 和 VBAT1S 電壓流為 10 位精度,可以在 16 位字中進行左對齊傳輸(使用兩個時隙),也可以截斷為 8 位(前 8 個 MSB)并在單個時隙中傳輸。這是通過設(shè)置 PVDD_SLEN 和 VBAT1S_SLEN 寄存器位來配置的。內(nèi)核溫度和增益均為 8 位精度,并在單個時隙中傳輸。
每個樣本流的時隙寄存器定義了 MSB 傳輸開始的位置。默認(rèn)情況下,VSNS_SLOT[5:0] 寄存器位設(shè)置為 2(十進制),上面的 8 個 MSB 將在時隙 2 中傳輸,下面的 8 個 LSB 將在時隙 3 中傳輸。此樣本流可以使用 VSNS_TX 寄存器位單獨啟用或禁用。ISNS_SLOT[5:0] 寄存器位默認(rèn)設(shè)置為 0(十進制),并且可以使用 ISNS_TX 寄存器位啟用或禁用樣本流。流的啟用/禁用功能對于管理有限的 TDM 帶寬會很有用,因為可能沒有必要為總線上的所有器件傳輸所有流。
確保主動傳輸?shù)臉颖玖鞯臅r隙分配不產(chǎn)生沖突很重要。這將避免在沖突的位時隙中產(chǎn)生不可預(yù)測的傳輸結(jié)果(即未定義優(yōu)先級)。
默認(rèn)情況下,電流和電壓值以完整的 16 位測量值傳輸。IVMON_LEN[1:0] 寄存器位可用于在一個時隙中僅傳輸 8 個 MSB 位或跨多個時隙傳輸 12 個 MSB 位值。當(dāng)主機處理器只能處理 24 位 I2S/TDM 數(shù)據(jù)時,使用特殊的 12 位模式。該器件應(yīng)配置為將電壓感測時隙和電流感測時隙關(guān)閉 1 個時隙,并將消耗 3 個連續(xù)的 8 位時隙。在這種模式下,器件將發(fā)送前 12 個 MSB 位,然后發(fā)送由前一個時隙指定的接下來的 12 個 MSB 位。
如果時隙選擇將傳輸置于幀邊界之外,則發(fā)送器將在幀邊界截斷傳輸。
VBAT1S、PVDD 和溫度測量使用 VBAT1S_SLOT[5:0]、PVDD_SLOT[5:0] 和 TEMP_SLOT[5:0] 寄存器位進行設(shè)置。若要啟用每個樣本流,寄存器位 VBAT1S_TX、PVDD_TX 和 TEMP_TX 必須設(shè)為高電平。時隙長度由 VBAT1S_SLEN 和 PVDD_SLEN 寄存器位進行選擇。
對于 TDM 最終處理的音頻時隙,使能和長度設(shè)置使用 AUDIO_SLOT[5:0]、AUDIO_TX 和 AUDIO_SLEN 寄存器位。
有關(guān)時隙狀態(tài)的信息可以在 STATUS_SLOT[5:0] 寄存器位中找到。將 STATUS_TX 寄存器位設(shè)置為高電平會啟用狀態(tài)發(fā)送。
通過設(shè)置 GAIN_SLOT[5:0] 寄存器位,TX 限制器增益衰減的時隙配置可設(shè)置為 0(默認(rèn))至 63。 它用于 ICC(節(jié) 8.4.2.10),可以通過 TDM 總線或 ICC 總線。若要使用此功能,需要將寄存器位 GAIN_TX 設(shè)置為高電平。