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