女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

熟悉高速總線信號的操作以確保設計穩健

羅欣 ? 來源:未知 ? 作者:羅欣 ? 2018-07-02 10:08 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

隨著物聯網節點和可穿戴設備不斷縮小,設計人員需要最大限度地利用微控制器的板載存儲器來盡量節省電路板空間、功耗和成本。但是,存儲器擴展有時是無法避免的。設計人員應考慮用 HyperBus 代替默認的 32 位控制器的總線結構;HyperBus 是一種高速、333 Mbps、8 位雙倍數據速率 (DDR) 接口,可支持地址和數據處理。

盡管設計人員試圖避免擴展,但在開發過程中由于存儲器需求增加,常常有必要加以擴展。或者,為使設計在未來不會落伍,開發人員會預測未來的擴展需求。

借助 HyperBus,微控制器能夠在同一總線上支持外部閃存和 RAM,而不像典型的 32 位接口那樣使用 16 位數據總線和 16 位地址總線以及相關的控制引腳。它適用于任何具有 HyperBus 接口端口的存儲器件,并且是一種高效易用的接口,支持空間受限的應用使用很少的引腳來擴展存儲器。

雖然該總線的操作對固件是透明的,但新接觸 HyperBus 的開發人員必須熟悉高速總線信號的操作以確保設計穩健。本文首先說明 HyperBus 的操作,然后介紹包含該接口的微控制器,并向用戶展示如何有效地加以應用并測試其設計。

HyperBus 說明

如上所述,HyperBus 使用高速 8 位 DDR 接口來處理地址和數據。此外,每個存儲器件都有相應的差分時鐘、讀/寫鎖存信號和片選。HyperBus 可在同一總線上支持外部閃存和 RAM,并且可配合任何具有 HyperBus 兼容外設接口的微控制器使用。

HyperBus 可設置成主/從接口,其中一個主機可以連接至總線上的一個或多個從存儲器件。HyperBus 閃存器件稱為 HyperFlash?,HyperBus DRAM 存儲器件稱為 HyperRAM?。

總線使用差分時鐘,信號指定為 CK 和 CK#。由于 HyperBus 是 DDR 接口,數據在時鐘的上升沿和下降沿都會傳輸。時鐘僅由主器件驅動,其頻率不得超過總線上最慢 HyperBus 存儲器的額定時鐘頻率。

雙向 8 位總線指定為 DQ[0-7],并在主從器件之間傳輸地址、數據和命令。雙向讀/寫數據選通信號(指定為 RWDS)用于鎖存數據。RWDS 由讀取數據的器件控制,如果微控制器主機正在向 HyperRAM 寫入數據,則 HyperRAM 控制 RWDS 信號。DQ[0-7] 上讀取的數據與時鐘的兩個邊沿對齊。

各從器件的選擇是利用一個低電平有效片選信號(指定為 CS0#、CS1#、CS2# 等)。任何時候只有一個片選信號有效。所有總線事務都是由指定的片選信號從高電平變為低電平而啟動。所有總線事務都是由指定的片選信號從低電平變為高電平而終止。開發人員必須確保任何時候只有一個片選信號處于有效狀態。若非如此,可能會導致多個 HyperBus 從器件同時驅動 RWDS,這樣會造成數據損壞。

低電平有效硬件復位信號(指定為 RESET#)由主器件驅動。拉低時,它會復位任何連接到該信號的外部 HyperBus 存儲器件的狀態,包括復位該存儲器件的內部配置寄存器。但是,它不會影響 HyperBus 存儲器件的內部存儲器的狀態。對于大多數 HyperBus 主微控制器接口,RESET# 不是 HyperBus 外設的一部分,而是一個通用 I/O 引腳。HyperBus 從器件的 RESET# 引腳上有一個弱上拉電阻,因此當浮空時,它會被拉至高電平狀態。

微控制器上任何與 HyperBus 兼容的外設都必須符合 HyperBus 規格。一個很好的兼容 HyperBus 的微控制器例子是 STMicroelectronics 的 STM32L4R9 Arm? Cortex?-M4F(圖 1)。STM32L4R9 具有 2MB 內部閃存和 640KB SRAM。它有多種外設,包括兩個可配置為 HyperBus 接口的 OctoSPI 接口。

圖 1:STMicroelectronics STM32F4L9 微控制器基于帶 FPU 的 Arm? Cortex?-M4 內核,具有兩個兼容 HyperBus 的接口,此處以橙色突出顯示。(圖片來源:STMicroelectronics)

STM32L4R9 訪問 HyperBus 外部存儲器地址,將其作為映射到微控制器 AHB 總線地址空間的存儲器,因此內核對外部存儲器的讀寫操作與內部存儲器相同。一旦配置好外部存儲器件,HyperBus 的操作對內核便是透明的。

HyperBus 存儲器全部是 16 位寬存儲器,因此 STM32L4R9 的所有訪問都必須在 16 位存儲器邊界上。STM32L4R9 主器件的數據訪問可以是 16 位或 32 位,也必須在對齊的邊界上。

HyperBus 上的典型讀或寫事務包括一系列連續的 16 位、一個時鐘周期的數據傳輸,通過兩個相應的 8 位寬、半時鐘周期的數據傳輸實現,每個單端時鐘沿或差分時鐘交叉完成一個。讀寫事務總是傳輸完整的 16 位字數據。讀數據字總是包含兩個有效字節。寫數據字的一個或兩個字節可以屏蔽起來,以防止在寫猝發期間寫入個別字節。HyperBus 協議不支持字節傳輸,也不支持位分段等位操作。

STM32L4R9 上的每個 HyperBus 兼容端口都有一個專用 256MB 存儲器映射地址空間,映射如下:

HyperBus1 (OctoSPI1) 0x90000000 至 0x9FFFFFFF
HyperBus2 (OctoSPI2) 0x70000000 至 0x7FFFFFFF

對于要訪問的 HyperFlash 或 HyperRAM 存儲器件的內部地址,相對于上述位置的基本存儲器地址發生偏移。例如,若 STM32F4L9 讀取存儲器位置 0x90000047,它將讀回在 HyperBus1 上存儲器位置 0x0047 訪問的存儲器件中存儲的值。

Cypress Semiconductor 制定了 HyperBus 規格,而且還擁有 HyperBus 存儲器產品線。Cypress S26KS512SDPBHI020 64 MB x 8 HyperFlash 存儲器可以輕松連接到其中一個 OctoSPI 端口。它支持對最多 32 個 16 位字進行封裝猝發訪問。鑒于最大時鐘速率為 166.6 MHz,S26KS512 HyperFlash 支持 333MB/s 的最高持續讀取速率。在 OctoSPI 的最大 60MHz 時鐘速率下,STM32L4R9 可以最高 120MB/s 的速率讀取任何外部 HyperBus 存儲器。

如果通過 Cortex-M4 系統總線訪問 HyperFlash,則 STM32L4R9 可以直接從該閃存執行代碼。當用于代碼存儲器時,OctoSPI 支持集成預取緩沖器的 eXecute In Place (XIP),其從外部存儲器加載下一存儲器地址。

Cypress Semiconductor S27KS0641DPBHI020 8 MB x 8 HyperRAM 存儲器是一款自刷新式 DRAM,可擴展 STM32L4R9 數據存儲器。它支持對最多 64 個 16 位字進行封裝猝發訪問。S27KS0641 HyperRAM 還支持高達 333MB/s 的持續讀取速率,并且 STM32L4R9 可以最大 120MB/s 的速率讀取該存儲器。

與 HyperBus 存儲器接口

STM32L4R9 有兩個 HyperBus 兼容端口,每個端口都可以單獨連接到 HyperRAM 和 HyperFlash 外部存儲器件(圖 2)。RESET# 信號是可選的,因此圖中沒有顯示。借助 Cypress HyperFlash 和 HyperRAM,STM32L4R9 可以輕松擴展內部存儲器,同時對印刷電路板尺寸和設計復雜性的影響極小。

圖 2:STM32L4R9 有兩個 HyperBus 兼容端口,每個端口都可以單獨連接到 HyperRAM 和 HyperFlash 外部存儲器件。(圖片來源:STMicroelectronics)

對布局布線來說,最重要的信號是 DQ[0-7] 和 RWDS。為獲得最佳性能,這些信號在印刷電路板的微控制器和存儲器之間的長度應盡可能短。

差分時鐘信號 CK 和 CK# 應彼此相鄰,并且對于信號全長,其間的間距應保持不變。如果可能,應使用 VSS 防護走線屏蔽 CK 和 CK#,以最大限度地降低 EMI。為了盡量減少阻抗不匹配,應使用下方的實心 VSS 層分接印刷電路板頂層上的所有信號。

HyperBus 開發新手最好添加探頭測試點。對于 DQ[0-7] 和 RWDS,測試點應位于 STM32L4R9 微控制器和存儲器件上。當 STM32L4R9 正在寫入時,最好檢查離存儲器件最近的測試點。當 STM32L4R9 正在讀取時,應檢查離 STM32L4R9 最近的測試點。對于 CK、CK# 和 CS,應將測試點放在更靠近存儲器件的位置。

由于 DDR 接口涉及高時鐘頻率,STM32L4R9 和存儲器件的電壓源必須盡可能無噪聲。高噪聲電源會影響信號時序并導致總線傳輸錯誤,因此建議使用去耦電容。HyperBus 存儲器件為 I/O 引腳提供了單獨的電源和接地,并且 I/O 電源 VCCQ 應增加 1 微法 (μF) 和 0.1 μF 電容(位于頂層或底層上)。

固件訪問 HyperBus

HyperBus 存儲器件具有片載寄存器,可用于設置器件的選項和時序。HyperBus 將這些寄存器稱為配置寄存器 (CR)。所有 HyperRAM 器件都有內部 CR,允許設置某些操作特性。對于 HyperRAM S27KS0641,固件可以通過外部 8 位數據總線配置其低功耗模式、封裝猝發長度、封裝猝發類型、R/W 時序參數和輸出驅動強度。

HyperFlash 雖然沒有 CR,但有狀態寄存器。S26KS512 HyperFlash 有三個狀態寄存器。它支持使用內部糾錯碼 (ECC) 驗證寫操作,并具有 ECC 狀態寄存器以指示寫錯誤。另一個寄存器包含任何 ECC 錯誤的地址。第三個寄存器計數 ECC 糾錯數和無法糾正的錯誤。所有這些寄存器都是只讀寄存器。

HyperBus 事務支持兩類存儲器操作。第一類是讀取或寫入外部存儲器。第二類是讀取或寫入 CR 或讀取狀態寄存器。

將 STM32L4L9 OctoSPI 配置為 HyperBus 端口后,內核便可訪問存儲器,像任何其他存儲器映射位置一樣。在存儲器映射的 HyperBus 空間中,每次讀或寫操作都會啟動微控制器和外部存儲器之間的事務處理。每個 HyperBus 事務的開始都是微控制器通過命令/地址指令向外部存儲器件發送三個 16 位字。命令/地址序列告訴外部存儲器件操作是讀還是寫,是否正在尋址存儲器空間或配置寄存器,事務是封裝式還是線性猝發事務,并提供目標地址行和列。雖然這對帶操作固件的微控制器都是透明的,但在調試期間,命令/地址序列很重要。

HyperBus 入門

開發人員了解 HyperBus 協議之后,建議利用評估板執行一些實驗性編程,特別是新接觸該接口的開發人員。適用于 STM32L4R9 微控制器的 STMicroelectronics STM32L4R9I-EVAL 評估板是一個很好的出發點(圖 3)。HyperRAM 存儲器件位于紅圈中,器件的測試點位于右側的針座連接器上。

圖 3:STMicroelectronics STM32L4R9I-EVAL 可用于評估 STM32L4R9 微控制器。HyperRAM 存儲器件位于紅圈中,器件的測試點位于右側的針座連接器上。(圖片來源:STMicroelectronics)

STM32L4R9I-EVAL 具有豐富的特性,包括相機接口、兩個 MEMS 麥克風、一個操縱桿和一個 4.3 英寸、480 x 272 像素彩色 TFT LCD 顯示屏。該評估板支持 OctoSPI 接口,并有一個 ISSI 的 IS66WVH8M8BLL 64Mb HyperRAM 器件焊接到印刷電路板。

總結

HyperBus 協議是一種合適且易用的接口,只需很少的引腳便可擴展空間受限應用的存儲器。雖然該總線的操作對固件是透明的,但新接觸 HyperBus 的開發人員必須熟悉高速總線信號的操作以確保設計穩健。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • CAN總線
    +關注

    關注

    145

    文章

    1986

    瀏覽量

    132828
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    PCIe總線AC耦合及高速信號調整技術

    本篇主要介紹PCIe總線的AC耦合電容、總線的去加重等高速信號調整技術。 AC耦合電容可以參考之前的文章《邏輯電平之差分互連AC耦合電容(7)》,本文主要針對PCIe接口介紹AC耦合電
    的頭像 發表于 12-22 16:54 ?1.4w次閱讀
    PCIe<b class='flag-5'>總線</b>AC耦合及<b class='flag-5'>高速</b><b class='flag-5'>信號</b>調整技術

    高速PCB并行總線和串行總線

    作為一名PCB設計工程師,具備一些高速方面的知識是非常有必要的,甚至說是必須的。就信號來說,高速信號通常見于各種并行總線與串行
    的頭像 發表于 12-29 14:23 ?2240次閱讀
    <b class='flag-5'>高速</b>PCB并行<b class='flag-5'>總線</b>和串行<b class='flag-5'>總線</b>

    擴頻時鐘技術分享:SSC技術是什么、SSC對測試高速總線信號的影響

    高速信號的速率時,我們會發現信號的比特率并不是穩定在一個數值而是在一個很小的范圍內浮動;在一些總線的一致性測試中也有規范SSC測試的參數。 所以本篇文章就從 為什么要使用SSC技術、S
    的頭像 發表于 01-06 11:38 ?4538次閱讀
    擴頻時鐘技術分享:SSC技術是什么、SSC對測試<b class='flag-5'>高速</b><b class='flag-5'>總線</b><b class='flag-5'>信號</b>的影響

    如何實現電源和信號隔離來確保CAN總線的可靠運行?

    CAN總線故障的原因和必要性如何實現電源和信號隔離來確保CAN總線的可靠運行?
    發表于 03-11 06:25

    請問怎樣去采集高速串行總線信號

    如何用示波器進行高速串行總線信號的采集?
    發表于 05-10 07:03

    適用于可靠且穩健的工業高速鏈路的信號調節器

    適用于可靠且穩健的工業高速鏈路的信號調節器
    發表于 02-01 15:24

    1Gsps高速捕捉信號的ADC

    1Gsps高速捕捉信號的ADC
    發表于 04-16 23:35 ?12次下載

    高速并行總線信號完整性測試技術

    高速并行總線信號完整性測試技術:隨著信號速度的顯著提高,信號完整性問題已經成為高速數字設計中的關
    發表于 10-17 17:11 ?0次下載

    高速并行總線信號完整性測試技術

    高速并行總線信號完整性測試技術張楷 泰克科技(中國)有限公司摘要:隨著信號速度的顯著提高,信號完整性問題已經成為
    發表于 12-17 14:38 ?23次下載

    高速串行總線信號完整性驗證

    隨著第三代I/O技術的出現,人們開始步入高速傳輸的時代。在使用PCI Express、SATA等高速串行總線時,如何保持信號的完整性是一個挑戰。本文結合實例,介紹
    發表于 02-26 15:36 ?2639次閱讀
    <b class='flag-5'>高速</b>串行<b class='flag-5'>總線</b>的<b class='flag-5'>信號</b>完整性驗證

    如何確保PADS設計信號的完整性

    當今設計中采用的一些技術,如果處理不當,可能會導致嚴重的信號完整性問題。借助 PADS ES Suite,您可以通過運行布線前分析來確定高速約束、疊層和端接策略。也可以使用布線后信號完整性分析來驗證結果,
    的頭像 發表于 05-14 06:25 ?3949次閱讀

    并行總線高速串行總線的布線要求

    作為一名PCB設計工程師,具備一些高速方面的知識是非常有必要的,甚至說是必須的。就信號來說,高速信號通常見于各種并行總線與串行
    的頭像 發表于 10-21 14:14 ?5507次閱讀
    并行<b class='flag-5'>總線</b>和<b class='flag-5'>高速</b>串行<b class='flag-5'>總線</b>的布線要求

    AN-1461:信號和電源隔離RS-485現場總線高速或低功耗解決方案

    AN-1461:信號和電源隔離RS-485現場總線高速或低功耗解決方案
    發表于 03-21 07:15 ?1次下載
    AN-1461:<b class='flag-5'>信號</b>和電源隔離RS-485現場<b class='flag-5'>總線</b>的<b class='flag-5'>高速</b>或低功耗解決方案

    如何用示波器進行高速串行總線信號的采集

    電子發燒友網站提供《如何用示波器進行高速串行總線信號的采集.doc》資料免費下載
    發表于 10-24 11:39 ?1次下載
    如何用示波器進行<b class='flag-5'>高速</b>串行<b class='flag-5'>總線</b><b class='flag-5'>信號</b>的采集

    高速并行總線的工作原理是什么 高速并行總線有哪些

    高速并行總線的工作原理及其具體類型是一個涉及硬件技術和數據傳輸的復雜話題。以下是對高速并行總線工作原理的概述以及幾種常見的高速并行
    的頭像 發表于 10-06 15:17 ?1531次閱讀
    <b class='flag-5'>高速</b>并行<b class='flag-5'>總線</b>的工作原理是什么 <b class='flag-5'>高速</b>并行<b class='flag-5'>總線</b>有哪些