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