精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

MIPI SoundWire:通過批量寄存器訪問實現更高的帶寬

星星科技指導員 ? 來源:synopsys ? 作者:Parul Raj ? 2023-05-26 16:05 ? 次閱讀

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
收藏 人收藏

    評論

    相關推薦

    如何訪問SYSCFG寄存器

    TrustZoneFLASH_OPTR->TZEN 讀數為零。FLASH_OPTR 讀取 0x1FEFF8AA。通過控制寄存器檢查特權訪問通過 IDE
    發表于 02-02 06:43

    如何訪問DS1318的時鐘寄存器

    摘要:該應用筆記描述了如何適當訪問DS1318歷時計數的時鐘寄存器,實時時鐘(RTC)的讀、寫操作和時鐘寄存器的內部更新不同步,需要做出正確判斷,確保數據的準確性。
    發表于 04-21 11:08 ?7次下載

    寄存器,寄存器是什么意思

    寄存器,寄存器是什么意思 寄存器定義  寄存器是中央處理內的組成部分。寄存器是有限存貯容量
    發表于 03-08 14:26 ?2.2w次閱讀

    寄存器與移位寄存器

    寄存器與移位寄存器:介紹寄存器原理和移位寄存器的原理及實現
    發表于 05-20 11:47 ?0次下載

    arm程序狀態寄存器訪問指令

    arm程序狀態寄存器訪問指令
    發表于 01-04 13:11 ?0次下載

    寄存器Load/Store內存訪問指令

    5.4 多寄存器Load/Store內存訪問指令 多寄存器Load/Store內存訪問指令也叫批量加載/存儲指令,它可以
    發表于 10-18 15:56 ?1次下載

    C語言訪問MCU寄存器用兩種方式實現

    ICCAVR和GCCAVR沒有定義新的數據類型,只能采用標準C的強制類型轉換和指針來實現訪問MCU的寄存器。而IAR和CodeVisionAVR編譯對ANSI C進行了擴充,都定義了
    的頭像 發表于 03-12 11:20 ?6673次閱讀

    零基礎學ARM:程序狀態寄存器訪問指令解析

    一、程序狀態寄存器訪問指令ARM微處理支持程序狀態寄存器訪問指令,用于在程序狀態寄存器和通用
    的頭像 發表于 12-24 13:36 ?3362次閱讀

    C語言訪問MCU寄存器

    C語言訪問MCU寄存器問題由來://下面這行代碼的意思是直接操作0X020C4068這個寄存器//具體寄存器的作用是通過手冊得到的#defi
    發表于 10-25 13:21 ?3次下載
    C語言<b class='flag-5'>訪問</b>MCU<b class='flag-5'>寄存器</b>

    RAL寄存器模型操作圖鑒

    寄存器模型操作,指的是通過寄存器模型對RTL中寄存器進行讀寫訪問,或者同步寄存器模型與RTL中
    的頭像 發表于 05-17 09:01 ?894次閱讀
    RAL<b class='flag-5'>寄存器</b>模型操作圖鑒

    訪問CXL 2.0設備中的內存映射寄存器

    計算快速鏈接 (CXL) 1.1 和 CXL 2.0 規范在內存映射寄存器的放置和訪問方式上有所不同。CXL 1.1 規范將內存映射寄存器放置在 RCRB(根復合寄存器塊)中,而 CX
    的頭像 發表于 05-25 16:56 ?1897次閱讀
    <b class='flag-5'>訪問</b>CXL 2.0設備中的內存映射<b class='flag-5'>寄存器</b>

    RAL寄存器模型操作指南

    寄存器模型操作,指的是通過寄存器模型對RTL中寄存器進行讀寫訪問,或者同步寄存器模型與RTL中
    的頭像 發表于 07-12 09:37 ?1026次閱讀
    RAL<b class='flag-5'>寄存器</b>模型操作指南

    怎樣通過改變寄存器中的內容實現對CPU的控制呢?

    寄存器是CPU中程序員可以用指令讀寫的部件,通過改變寄存器中的內容實現對CPU的控制。
    的頭像 發表于 09-20 15:49 ?1314次閱讀
    怎樣<b class='flag-5'>通過</b>改變<b class='flag-5'>寄存器</b>中的內容<b class='flag-5'>實現</b>對CPU的控制呢?

    寄存器分為基本寄存器和什么兩種

    ,它們用于存儲指令、數據和地址等信息。基本寄存器的容量通常較小,但訪問速度非常快,因為它們與CPU的執行單元緊密相連。 基本寄存器的分類 基本寄存器可以分為以下幾類: (1)通用
    的頭像 發表于 07-12 10:31 ?1128次閱讀

    寄存器尋址的實現方式

    在計算機體系結構中,寄存器尋址是一種常見的尋址方式,它允許程序直接訪問CPU內部的寄存器寄存器尋址可以提高程序的執行效率,因為它避免了對內存的訪問
    的頭像 發表于 07-12 10:36 ?558次閱讀