ZHCSPL7A December 2023 – January 2025 TAC5212
PRODUCTION DATA
數字音頻數據通過數字音頻串行接口 (ASI) 或音頻總線,在主機處理器和 TAC5212 之間流動。這個高度靈活的 ASI 總線包括用于多通道運行的 TDM 模式、I2S 或左平衡協議格式支持、可編程數據長度選項、各總線時鐘線路的控制器-目標靈活配置,以及直接與系統中多個器件進行通信的能力。
TAC5212 支持最多兩個 ASI 接口。輔助 ASI 時鐘和數據引腳可通過設置 GPIO 來進行配置。兩個 ASI 的幀同步必須保持同步。有關輔助 ASI 的更多詳細信息,請參閱 TAX5X1X 同步采樣速率轉換應用報告。
通過使用 PASI_FORMAT[1:0] (P0_R26_D[7:6]) 寄存器位,可為主要 ASI 選擇總線協議 TDM、I2S 或左平衡 (LJ) 格式。如表 7-2 和表 7-3 所示,這些模式都是最高有效字節 (MSB) 優先的脈沖編碼調制 (PCM) 數據格式,輸出通道數據字長可以通過配置 PASI_WLEN[1:0] (P0_R26_D[5:4]) 寄存器位編程為 16、20、24 或 32 位。
| P0_R26_D[7:6]:PASI_FORMAT[1:0] | 主要音頻串行接口格式 |
|---|---|
| 00(默認值) | 時分多路復用 (TDM) 模式 |
| 01 | IC 間音頻 (I2S) 模式 |
| 10 | 左對齊 (LJ) 模式 |
| 11 | 保留(不使用此設置) |
| P0_R26_D[5:4]:PASI_WLEN[1:0] | 主要音頻輸出通道數據字長 |
|---|---|
| 00 | 數據字長設置為 16 位 |
| 01 | 數據字長設置為 20 位 |
| 10 | 數據字長設置為 24 位 |
| 11(默認值) | 數據字長設置為 32 位 |
幀同步引腳 FSYNC 在該音頻總線協議中用于定義幀的起始,并具有與輸出數據采樣速率相同的頻率。位時鐘引腳 BCLK 用于通過串行總線在時鐘沿輸出數字音頻數據。一個幀中的位時鐘周期數必須能夠容納具有編程數據字長的多個器件活動輸出通道。
一個幀包含多個時分通道時隙(最多 32 個),以允許一個器件或共享同一音頻總線的多個器件在音頻總線上完成所有輸入/輸出通道音頻數據傳輸。該器件支持多達八個輸入通道和八個輸出通道,這些通道可在主要 ASI 總線上進行配置,以便將其音頻數據放在總線時隙 0 至時隙 31 上。表 7-4 列出了輸出通道 1 時隙配置設置。在 I2S 和 LJ 模式下,時隙分為兩組,即左通道時隙和右通道時隙,如 節 7.3.1.2.2 和 節 7.3.1.2.3 所述。
| P0_R30_D[4:0]:PASI_TX_CH1_SLOT[4:0] | 輸出通道 1 時隙分配 |
|---|---|
| 0 0000 = 0d(默認值) | 時隙 0 用于 TDM,或左側時隙 0 用于 I2S、LJ。 |
| 0 0001 = 1d | 時隙 1 用于 TDM,或左側時隙 1 用于 LJ。 |
| … | … |
| 0 1111 = 15d | 時隙 15 用于 TDM,或左側時隙 15 用于 LJ。 |
| 1 0000 = 16d | 時隙 16 用于 TDM,或右側時隙 0 用于 I2S、LJ。 |
| … | … |
| 1 1110 = 30d | 時隙 30 用于 TDM,或右側時隙 14 用于 LJ。 |
| 1 1111 = 31d | 時隙 31 用于 TDM,或右側時隙 15 用于 LJ。 |
同樣,可分別使用 PASI_TX_CH2_SLOT_NUM (P0_R31_D[4:0]) 至 PASI_TX_CH8_SLOT_NUM (P0_R37) 寄存器完成輸出通道 2 至通道 8 的時隙分配設置,以及使用 PASI_RX_CH1_SLOT(P0_R40) 至 PAS_RX_CH8_SLOT(P0_R47_D[4:0]) 完成輸入通道 1 至通道 8 的時隙分配設置。
時隙字長與為器件設置的主要 ASI 通道字長相同。如果所有 TAC5212 器件在系統中共用同一 ASI 總線,則必須將所有器件的輸出通道數據字長設置為相同的值。系統中 ASI 總線可能的最大時隙數受限于可用總線帶寬,該帶寬取決于 BCLK 頻率、使用的輸出數據采樣速率以及配置的通道數據字長。
該器件還包括一項功能,可將關于幀同步的時隙數據傳輸開始時間偏移多達 31 個位時鐘周期。可以為輸入和輸出數據路徑單獨配置偏移量。表 7-5 和表 7-6 分別列出了發送路徑和接收路徑的可編程偏移配置設置。
| P0_R28_D[4:0]:PASI_TX_OFFSET[4:0] | 時隙數據傳輸開始的可編程偏移設置 |
|---|---|
| 0 0000 = 0d(默認值) | 該器件遵循標準協議時序,沒有任何偏移。 |
| 0 0001 = 1d | 與標準協議時序相比,時隙開始會偏移一個 BCLK 周期。 對于 I2S 或 LJ,與標準協議時序相比,左側和右側時隙開始會偏移一個 BCLK 周期。 |
| ...... | ...... |
| 1 1110 = 30d | 與標準協議時序相比,時隙開始會偏移 30 個 BCLK 周期。 對于 I2S 或 LJ,與標準協議時序相比,左側和右側時隙開始會偏移 30 個 BCLK 周期。 |
| 1 1111 = 31d | 與標準協議時序相比,時隙開始會偏移 31 個 BCLK 周期。 對于 I2S 或 LJ,與標準協議時序相比,左側和右側時隙開始會偏移 31 個 BCLK 周期。 |
| P0_R38_D[4:0]:PASI_RX_OFFSET[4:0] | 時隙數據接收開始時的可編程偏移設置 |
|---|---|
| 0 0000 = 0d(默認值) | 該器件遵循標準協議時序,沒有任何偏移。 |
| 0 0001 = 1d | 與標準協議時序相比,時隙開始會偏移一個 BCLK 周期。 對于 I2S 或 LJ,與標準協議時序相比,左側和右側時隙開始會偏移一個 BCLK 周期。 |
| ...... | ...... |
| 1 1110 = 30d | 與標準協議時序相比,時隙開始會偏移 30 個 BCLK 周期。 對于 I2S 或 LJ,與標準協議時序相比,左側和右側時隙開始會偏移 30 個 BCLK 周期。 |
| 1 1111 = 31d | 與標準協議時序相比,時隙開始會偏移 31 個 BCLK 周期。 對于 I2S 或 LJ,與標準協議時序相比,左側和右側時隙開始會偏移 31 個 BCLK 周期。 |
與標準協議時序中使用的默認 FSYNC 極性相比,該器件還能夠反轉幀同步引腳 FSYNC 的極性,用于傳輸音頻數據。該功能可以使用 PASI_FSYNC_POL (P0_R26_D[3]) 寄存器位來設置。同樣,該器件可以反轉位時鐘引腳 BCLK 的極性,而這可以使用 PASI_BCLK_POL (P0_R26_D[2]) 寄存器位來設置。
此外,字時鐘和位時鐘還可以獨立配置為控制器模式或目標模式,以便靈活地連接各種處理器。字時鐘用于定義幀的起始,可編程為脈沖或方波信號。該時鐘的頻率對應于所選 ADC 和 DAC 采樣頻率的最大值。