MIPI SoundWire 提供了一種可選機制,用于以比強制命令機制更高的帶寬傳輸寄存器操作。批量寄存器訪問(BRA)協議是一種特殊的數據傳輸格式,以實現更高的帶寬。雖然普通命令只能以每幀一個命令的速率驅動,但批量寄存器訪問提供了在一個幀中讀取/寫入多達 511 個寄存器的選項。因此,5MHz的時鐘頻率和256 * 16的幀大小(4096位插槽或2048時鐘周期)將使數據傳輸的有效速率提高到大約1.2 MBps。 MIPI SoundWire支持高達12 MHz的頻率,因此帶寬可以更高。在本博客中,我將重點介紹批量注冊訪問有效負載流的外觀以及如何使用它來實現更高的帶寬。
BRA 有效負載流
由于BRA與實際的音頻傳輸無關,因此我們可以根據需要自由選擇單詞長度和采樣間隔的任何值。但是,有一些限制,因為我們的目標是即使在最壞的情況下也傳輸至少 11 個字節(使用 11 個字節,我們只訪問 1 個字節,這違背了 BRA 的整個目的,在這種情況下,普通命令會更有效)。要在幀中使用盡可能多的可用位來傳輸數據,可以將樣本字長度設置為等于 hwidth 和樣本間隔等于列數。當使用通道 0 時,HStop 可以設置為最大列,HStart 可以設置為 1 或 0 列。因此,規范建議端口 0 應支持從 1 到 16 的所有字長值,因為它提供了最有效的數據包打包。
端口 0 上的數據可以在需要時與其他端口輕松多路復用。在與其他端口多路復用 BRA 時,為 BRA 保留一個單獨的子幀看起來是一個更好的選擇,因為它消除了在同一子幀中多路復用端口 0 和“正常”數據端口時對采樣間隔的任何限制。然而,當涉及到BRA的測試模式時,任何類型的多路復用都可以毫無問題地使用,因為現在我們對確保我們的BRA模塊應該在一個框架內完成不感興趣。
BRA 的另一個重要區別特征是它以字節為單位打包,而不考慮通道邊界。落在一個幀內的所有有效載荷通道樣本統稱為傳輸一個 BRA 塊。由于 BRA 塊始終以字節為單位打包,因此所有超過 8 倍數的位都將被忽略,即使它們落在幀內。使用新幀時,新的 BRA 塊將啟動,因此,如果要讀取 64 個連續地址,并且由于有效負載的可用位限制,一幀中只能讀取 60 個地址,則剩余的 4 個地址將在下一幀/下一個 BRA 塊中讀取。下一個 BRA 塊將有 61圣地址作為起始地址和字節數將設置為 4,以便讀取剩余的 4 個字節。
幾個例子
示例 1:
假設幀大小 = 10 列 * 60 行,要讀取的字節數 = 64
將用于此類 BRA 塊的總位數 -> (64 + 10) 字節 * 8 = 592 位
有效載荷參數 - > 啟動 1、停止 9 字長 = 9,采樣間隔 = 10
幀中的可用有效載荷位 -> 60*9 = 540
可以使用的位數 = 540 – 540%8 = 536
可容納一幀的字節數 = 536/8 = 67
所以在這個幀中只能讀取 64-7 = 57 字節,塊 67 *8 = 536 中的總位數
框架如下所示的表 -1。
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
1 | C | |||||||||
2 | O | |||||||||
3 | N | |||||||||
. | T | |||||||||
. | R | |||||||||
. | O | |||||||||
. | L | |||||||||
W | ||||||||||
O | ||||||||||
R | ||||||||||
48 | D | |||||||||
. | ||||||||||
. | ||||||||||
. | ||||||||||
60 |
剩余的 7 個字節可以在另一個幀中訪問,此 BRA 塊中的總位數:17*8 = 136
生成的幀如下所示的表 2。
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
1 | C | |||||||||
2 | O | |||||||||
3 | N | |||||||||
. | T | |||||||||
. | R | |||||||||
15 | O | |||||||||
16 | L | |||||||||
. | W | |||||||||
. | O | |||||||||
. | R | |||||||||
48 | D | |||||||||
. | ||||||||||
. | ||||||||||
. | ||||||||||
60 |
示例 2:
讓我們取具有相同子幀的同一幀,字長 = 12,采樣間隔 = 24
我不會在這里進行詳細計算,但打包的 BRA 塊看起來像這樣(表 3 BRA 塊 3)。落在幀內的所有通道樣本將共同用于發送一個 BRA 塊。
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
1 | C | |||||||||
2 | O | |||||||||
3 | N | |||||||||
. | T | |||||||||
. | R | |||||||||
. | O | |||||||||
. | L | |||||||||
W | ||||||||||
O | ||||||||||
R | ||||||||||
48 | D |
我們將在即將發布的博客中詳細討論批量注冊訪問的其他方面,例如延遲的命令響應和命令失敗時的中斷。
審核編輯:郭婷
-
寄存器
+關注
關注
31文章
5317瀏覽量
120010 -
帶寬
+關注
關注
3文章
908瀏覽量
40846 -
MIPI
+關注
關注
11文章
308瀏覽量
48558
發布評論請先 登錄
相關推薦
評論