基于MCU系統(tǒng)的外部存儲器接口配置
出處:電子產(chǎn)品 發(fā)布于:2022-08-03 16:27:33
本文將快速回顧現(xiàn)代 MCU 上可用的一些外部存儲器接口。這將幫助設(shè)計人員更有效地實現(xiàn)需要額外外部存儲(如 NVM 閃存或易失性 SRAM/DRAM)的基于 MCU 的系統(tǒng)。
到 SDRAM 的外部存儲器接口
擴展存儲能力所需的明顯的外部存儲器接口可能是大型工作 SRAM。通常,MCU 的片上 SRAM 數(shù)量相對較少,而且應(yīng)用程序需要的工作內(nèi)存通常比片上可用內(nèi)存多。例如,用戶界面可能需要大量緩沖存儲器來處理圖形用戶界面 (GUI) 和創(chuàng)建視頻或音頻提示。通常,在存儲或傳輸這些數(shù)據(jù)文件時會使用壓縮技術(shù)來降低本地存儲需求或系統(tǒng)帶寬需求。這意味著解壓縮這些文件可能需要大量的工作存儲空間。通常,在通信應(yīng)用或數(shù)字信號處理應(yīng)用中也需要大的工作存儲器作為緩沖存儲器。
許多 MCU 提供帶有特殊電路的外部存儲器接口控制器,用于控制外部 SDRAM 設(shè)備。NXP LPC1787是一個突出用于支持 SDRAM 接口的關(guān)鍵硬件元素的示例 MCU單片機。外部存儲器控制器外設(shè),如圖 1 所示,具有幾個可編程延遲元件,用于調(diào)整關(guān)鍵 SDRAM 信號中使用的關(guān)鍵接口信號的時序。例如,可以調(diào)整兩個潛在 SDRAM 時鐘(CLKOUT1 和 CLKOUT2)的延遲值,以根據(jù)存儲器的要求定位轉(zhuǎn)換。此外,另一個可編程延遲調(diào)整從存儲器讀取的數(shù)據(jù)被采樣的時間。這種時序調(diào)整及其范圍和精度對于簡化存儲器接口、電路板布局和相關(guān)的信號時序檢查至關(guān)重要。
NXP LPC1787 外部存儲器接口還包括其他幾個重要的硬件特性,使外部 SDRAM 接口更加高效。例如,框圖頂部顯示的數(shù)據(jù)緩沖區(qū)可用作讀取緩沖區(qū)、寫入緩沖區(qū)或組合使用。作為寫緩沖器,它們允許對事務(wù)進行分組,以限度地減少外部寫操作的數(shù)量,提高系統(tǒng)帶寬并降低功耗。作為讀取緩沖區(qū),它們充當本地數(shù)據(jù)副本,因此對同一位置的進一步訪問可以使用片上緩沖區(qū)版本。這減少了外部讀取操作的數(shù)量,從而提高了系統(tǒng)帶寬并降低了功耗。
請注意,NXP 內(nèi)存控制器還支持 RAM、ROM 和閃存的靜態(tài)內(nèi)存接口。這是大多數(shù)現(xiàn)代 MCU 內(nèi)存控制器外設(shè)中使用的典型方法,因為大部分硬件在兩個應(yīng)用程序之間是通用的,而且應(yīng)用程序通常不需要同時使用兩種類型的內(nèi)存。
配置外部存儲器
外部存儲器通常有多種用途——應(yīng)用程序不會將其視為單一的存儲“塊”。一種配置片外存儲器塊以簡化存儲器訪問的方法有助于簡化應(yīng)用程序編碼。Silicon Labs C8051F70x/71x使用了這種技術(shù)的一個示例MCU 系列。在這個 MCU 中,使用特殊的 MOVX 指令訪問外部存儲器。為了方便組合對片上和片外存儲器的訪問,可以將一部分片上存儲器映射到外部存儲器空間。圖 2 顯示了可用于將內(nèi)部和外部存儲器映射到外部存儲器地址空間的四種配置模式。在模式 1 中,如圖 2 的左側(cè)所示,內(nèi)部 XRAM 被映射到完整的外部存儲器空間,當片上 XRAM 存儲器地址超過片上存儲器量時,地址“回繞”。當使芯片退出復(fù)位以避免未初始化外部存儲器的啟動問題時,這可能是一種有用的模式。成功配置和測試內(nèi)存接口后,即可啟用外部內(nèi)存空間。
在模式 2 和 3(圖 2 中從左數(shù)第二個和第三個)中,地址空間在片上和片外訪問之間劃分。在模式 2 中,組選擇不用于將高位地址位驅(qū)動到地址總線上;用戶可以控制這些地址值以提供額外的靈活性。在模式 3 中,片上存儲體地址自動用于驅(qū)動外部地址總線,提供了一種更簡單但不太靈活的方法。在模式 4 中,在圖 2 的右側(cè),片外存儲器完全映射到外部地址空間。這使得訪問在其他地址模式下可能無法訪問的外部數(shù)據(jù)成為可能,以充分利用可用內(nèi)存。如果您的應(yīng)用程序有幾種不同類型的外部存儲器需求——代碼、數(shù)據(jù)緩沖區(qū)、轉(zhuǎn)換表、
外部存儲器接口靈活性
在某些應(yīng)用中,MCU 外部存儲器接口支持多種存儲器類型同時限度地減少器件引腳數(shù)至關(guān)重要。一個常見的組合是用于程序存儲的閃存和用作工作存儲器的 SRAM。如果在 MCU 上使用多個存儲器接口,這可能會在封裝中增加 20 個或更多引腳,從而增加成本、功耗和電路板空間要求。一些 MCU 在外部存儲控制器中提供了額外的靈活性,可以輕松適應(yīng)各種存儲設(shè)備。例如,流行的Microchip PIC18FMCU 系列提供靈活的存儲器接口,可擴展到多種設(shè)備類型。圖 3 顯示了一種將標準閃存和標準 SRAM 與單個外部總線接口的方法。在這種情況下,一些外部組件(兩個 373 鎖存器和一個 138 解碼器)用于限度地減少 MCU 上使用的引腳數(shù)量。(對于只需要一個 373 鎖存器的 8 位接口,也可以實現(xiàn)更簡單的實現(xiàn))。具有這種靈活性的外部存儲器接口允許“保存”的 IO 用于其他功能,限度地提高引腳效率,這是基于 MCU 的設(shè)計中重要的元素之一。
接口時序靈活性
除了 IO 互連靈活性之外,外部接口通常需要一定的時序靈活性。例如,如果內(nèi)存慢于 MCU 時鐘周期,則可能需要插入等待狀態(tài)。理想情況下,可以為不同的外部存儲器塊分配不同的等待狀態(tài)特性。當外部接口不僅可用于標準存儲器,還可用于存儲器映射器外圍設(shè)備(如液晶顯示器、模數(shù)轉(zhuǎn)換器和數(shù)模轉(zhuǎn)換器)時,這種能力就更加重要。愛特梅爾 ATmega _MCU 系列可以為外部存儲器空間分配兩個不同的等待狀態(tài)值。如下圖 4 所示,存儲器配置 A 允許將外部存儲器分為兩個扇區(qū)——上扇區(qū)和下扇區(qū)。扇區(qū)大小可以有八個不同的值之一,以 0x2000 的增量從 0x2000 到 0xE000 調(diào)整上段和下段之間的分界線。
將外部存儲器空間劃分為兩個扇區(qū)可以很容易地將具有較大等待狀態(tài)值的設(shè)備和具有較小等待狀態(tài)值的設(shè)備組合在一起。也許重要的是,如果零等待狀態(tài)存儲器用于頻繁訪問的程序數(shù)據(jù),即使較慢的設(shè)備共享相同的存儲器總線,也可以使用零等待狀態(tài)值。這限度地減少了 MCU 引腳要求,同時提高了性能并節(jié)省了功耗。
結(jié)論
MCU 有時需要通過使用外部存儲器接口來擴展可用的片上存儲器。了解這些接口的功能可以縮短設(shè)計時間、降低成本并提高系統(tǒng)性能。
版權(quán)與免責聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://udpf.com.cn,違反者本網(wǎng)將追究相關(guān)法律責任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔此類作品侵權(quán)行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權(quán)等法律責任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 簡述計算機總線的分類2025/9/4 17:12:23
- 深度剖析三進線兩母聯(lián)供電系統(tǒng)設(shè)計方案2025/9/3 10:37:39
- 匯流排是什么匯流排好還是線接好2025/8/28 17:13:00
- 安森美 USB - C 電池充電器解決方案2025/8/28 15:45:10
- I2C 總線加上拉電阻的必要性2025/8/25 16:42:09