嵌入式系統設計PPT電子課件教案-第四章 存儲系統設計.ppt_第1頁
嵌入式系統設計PPT電子課件教案-第四章 存儲系統設計.ppt_第2頁
嵌入式系統設計PPT電子課件教案-第四章 存儲系統設計.ppt_第3頁
嵌入式系統設計PPT電子課件教案-第四章 存儲系統設計.ppt_第4頁
嵌入式系統設計PPT電子課件教案-第四章 存儲系統設計.ppt_第5頁
已閱讀5頁,還剩51頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

2019/4/7,1,嵌入式系統設計,天津大學計算機學院 車明,第四章: 存儲系統設計,2019/4/7,2,4.1 存儲系統概述 4.1.1 存儲器分類 按工藝分類: ttl、mos、cmos 按位數和容量分類: (單個芯片) 1位:1kb、8kb、64kb、1mb、 、4gb 4位:2k*4b、 8位:1kb、8kb、64kb、128kb、 ( b = byte ; b = bit ) 1位、4位存儲器芯片常用于pc機內存條;8位存儲器芯片則常用于嵌入式系統。,2019/4/7,3,按存儲方式分類: 只讀 rom:非易失,高速讀、低速寫 只讀存儲器 rom:不可編程、出廠固化 可編程只讀存儲器 prom:可一次性編程 可擦除可編程只讀存儲器 eprom:可多次編程 紫外線擦除可編程只讀存儲器 uvprom:可多次編程,靠紫外線照射實現擦除 電可擦除可編程只讀存儲器 eeprom:可多次編程,靠較高電壓電信號實現擦除 快閃存儲器 flash memory:高速編程的eeprom(塊編程技術),2019/4/7,4,隨機:ram 掉電失數,高速讀寫 靜態隨機存儲器 sram:不需刷新,低容量 動態隨機存儲器 dram:需要刷新,高容量 同步動態隨機存儲器 sdram:與cpu使用相同時鐘 雙數據輸出同步動態存儲器 ddr:時鐘的上升沿和下降沿都可以讀出數據 集成隨機存儲器 iram:自帶刷新邏輯電路的dram 非易失性隨機存儲器 nvram:斷電后數據仍能保留的ram。(自帶電池、fram) 由于flash memory性能的提高,目前也被歸入nvram。但其精確的描述應該是nvm(non-volatile memory),2019/4/7,5,4.1.2 存儲系統的主要指標 存儲容量 包括 rom 和 ram 各自的容量 讀寫速度 rom、ram 的速度與 cpu 的匹配 負載要求 地址、數據總線的驅動能力 功耗要求 所有存儲器對電源的需求(作為系統對電源驅動能力要求的一部分,整個嵌入式系統的功耗應該統一考慮),2019/4/7,6,常用存儲器芯片的主要技術性能,2019/4/7,7,4.1.3 存儲系統的設計步驟 存儲空間的分配:rom、ram、io 存儲器芯片選擇:總線負載相關 確定譯碼方式:全譯碼、局部譯碼、線選 計算總線負載:必要時增加驅動電路 檢查速度匹配:cpu與存儲器 邏輯電路設計:eda工具(protel) 版圖設計:eda工具(protel) 電路加工、調試:委托加工、調試工具(邏輯筆、示波器、邏輯分析儀),2019/4/7,8,4.2 地址譯碼 存儲器芯片的信號線包括:數據線、地址線、控制線。 例:8kb sram 6264 地址線:a0 - a12 數據線:dq0 - dq7 控制線: 片選:/e1、e2 讀(輸出允許):/g 寫: /w 電源:vcc、vss ( nc:無用管腳 ),2019/4/7,9,處理器的地址總線一般多于存儲器芯片的地址線,其多出的地址線稱為高位地址線,對應芯片的地址線稱為低位地址線。 如:mcs-51 單片機有16位地址線 其對應 6264 芯片的 a0-a12 為低位地址 其余 a13-a15 為高位地址 存儲器芯片的地址線連接總線低位地址,總線高位地址通過譯碼,產生片選信號。,2019/4/7,10,4.2.1 全地址譯碼 對所有高位地址全譯碼:芯片訪問地址唯一 通過對全部高位地址線譯碼,產生的某一個片選信號選中芯片,則該芯片在存儲空間中的定位是唯一的。例:,2019/4/7,11,4.2.2 局部地址譯碼 對部分高位地址譯碼:芯片訪問地址不唯一 通過對部分高位地址線譯碼,產生的某一個片選信號選中芯片,則該芯片在存儲空間中的定位并不是唯一的。 在小型嵌入式應用中,只要存儲空間夠用,這種譯碼可以節省譯碼電路開銷。,2019/4/7,12,直接線選:芯片訪問地址不唯一 完全省略譯碼電路,直接用某一高位地址線(或其反相信號)作為片選信號選中芯片,該芯片在存儲空間中的定位也不是唯一的 若能保證 a13-a15 在任意時刻至多僅有一位為零,則該系統最多可完成4個芯片的選擇,或,2019/4/7,13,4.2.3 譯碼電路 譯碼方式: 譯碼器芯片譯碼:如 74138、74139 組合邏輯門譯碼:如 7404、7430、 rom 譯碼:利用 rom 存儲器實現譯碼,2019/4/7,14,rom 譯碼 利用只讀存儲器也可實現譯碼功能: 作為譯碼器的 rom 總是被選通并允許輸出的 rom 的地址輸入端連接高位地址 rom 內存儲的數據按譯碼要求編寫 rom 的數據輸出端即為片選信號 例:利用 16 * 1bit rom 譯碼,2019/4/7,利用譯碼保護軟件 可以利用譯碼增加反匯編的難度:典型手段是將連續的代碼周期性的分割成許多小段,各小段不連續的固化在不同存儲器芯片上。 可以細化到每字節構成一個小段,甚至將一條完整的匯編指令分割開。 對 cpu 來說,代碼是連續的,不影響執行。 而在每個存儲器芯片上,代碼是不連續的,通過讀出存儲器中的代碼進行反匯編是不可能的;除非將它們重新連接起來。 rom 譯碼有較多地址輸入線,實現本功能方便。 使用 pld 器件實現譯碼功能,使譯碼規則亦不可讀,保護效果更好。,2019/4/7,16,rom 譯碼保護軟件:實現舉例 將代碼分為每字節一小段,存放入4片程序存儲器 2764(8k * 8bit nvrom)中。 使用 27s18(32 * 8bit rom)譯碼,將低位地址中的 a0、a1 與高位地址 a13 a15 均作為高位地址進行譯碼。 由于 a0、a1 的存在,可以讓高位相同的地址分配到不同的片選上:,2019/4/7,17,4.3 ram 與總線的連接 4.3.1 sram 的連接 1)sram 存取速度匹配計算 若: 存儲器芯片讀寫周期:tcyc 地址總線延時:tad (包括驅動、長度等延時) 數據總線延時:tdd (包括驅動、長度等延時) cpu 時鐘周期:t cpu 用于總線數據讀寫的時鐘數:n 則應有: 實際應用中,在上式基礎上應再增加30%的余量。,2019/4/7,18,速度匹配計算:舉例 用單片機 mcs-51 連接 sram 6264 mcs-51 的標準晶振為 12mhz,其時鐘為晶振的二分頻即 6mhz,則時鐘 t = 167 ns mcs-51 的外部存儲器讀寫指令需要 6 個時鐘周期,其中 2 個用于鎖存地址,其余 4 個用于總線讀寫,則 n = 4 6264 的讀寫周期 tcyc = 150 ns 一般嵌入式系統總線的典型延時: tad = tdd = 120 ns 則有: 結論:速度可以匹配。,2019/4/7,19,2)sram 負載計算 與總線負載計算對應,算法相同。 3)慢速 sram 的處理 某些 sram 速度過慢,無法匹配 cpu 速度時: 簡單的辦法可以降低 cpu 的頻率 插入“等待”信號,讓 cpu 的讀寫時鐘數增加,但這需要支持“等待”信號的 cpu 為慢速 sram 設置單獨的數據通道,增加地址、數據及控制寄存器,依靠軟件來控制時序,總線僅直接與寄存器交換數據。 放棄慢速 sram,改變設計。,2019/4/7,20,4)sram 存儲系統設計實例 用at89c51單片機連接2片6264靜態隨機存儲器,2019/4/7,21,4.3.2 dram 的連接 dram 比 sram 體積小、功耗低、容量高 dram 連接中也要考慮 sram 連接中涉及的問題 速度、負載等 dram 的連接中還要考慮刷新問題 需要為 dram 設計刷新電路 許多 cpu 帶有刷新邏輯 也可使用自帶刷新功能的 iram 因為刷新電路較為復雜,在小型嵌入式系統中使用 dram 的情況并不多。,2019/4/7,22,4.3.3 多端口存儲器 多端口存儲器是指在一個存儲體上有多個讀寫端口,可以支持多條總線同時訪問的存儲器。 pc機中顯示卡上的存儲器就是典型的雙端口,由 cpu 通過一個端口傳入顯示數據,而顯示卡上的處理器(gpu)通過另一端口讀出數據進行顯示。 嵌入式系統中,dsp 經常使用多端口存儲器進行數據傳送和處理,它使流式數據的傳送和處理更加方便。,2019/4/7,23,使用單端口存儲器配合一些控制邏輯,是可以實現多端口功能的。但目前已經出現了多端口的芯片產品,可以直接利用。 例:雙端口存儲器芯片 ds1609,雙端口 sram、 a、b 兩端口對稱 256 * 8bit ad0 ad7 是地址、數據復用線 ce-片選、oe-輸出允許、we-寫信號,2019/4/7,24,ds1609 的工作時序 讀出周期: 寫入周期,2019/4/7,25,ds1609 的沖突裁決 當兩個端口異步工作時,沒有沖突產生,可以正常讀寫。 當 ds1609 的 a、b 兩端口同時被訪問時,ds1609 有如下裁決策略: 允許同時讀出操作 允許一個端口寫,另一個端口讀 若讀寫是指向同一個存儲單元,則讀出的數據或者是舊數據、或者是新數據,而不會是 2 個數據的混合。 允許同時寫不同的存儲單元 不允許同時寫相同的存儲單元,這時必需額外的控制邏輯或軟件參與管理。,2019/4/7,26,ds1609 的應用實例 8031 與 8088 通過 ds1609 交換數據,2019/4/7,27,4.4 rom 與總線的連接 rom 與 ram 存儲器的應用差別是沒有寫操作 對 rom 的寫入是編程操作,一般需要特殊的外部電壓條件和操作時序。 4.4.1 eprom 以8kb uvprom 2764為例: 地址線:a0 - a12 數據線:d0 - d7 控制線: 片選:/ce 讀(輸出允許):/oe 編程: /pgm 編程電壓: vpp,2019/4/7,28,1)連接 與 ram 相同的時間、負載計算 除vpp、/pgm信號外,與 ram 的連接方法相同 2)編程 編程時要求 vpp 加載高電壓(12.5v21v),具體數值依不同芯片型號的要求選定。 編程信號(/pgm)可以用普通 io 線連接 在讀出數據時,編程信號保持高電平 在編程寫入時,編程信號用軟件復位、置位的方法產生負脈沖,其寬度由軟件控制。 若無需編程功能,vpp、/pgm 可均接入 vcc,2019/4/7,29,編程時序和流程: 例二: at27c040 otp eprom 容量:512kb /e:編程信號 /g:輸出允許 vpp:編程電壓,2019/4/7,30,4.4.2 eeprom 1)典型芯片及連接 8kb eeprom at28c64 地址線:a0 - a12 數據線:i/o0 i/o7 控制線: 片選:/ce 讀(輸出允許):/oe 編程(寫): /we 狀態輸出:rdy 電源:vcc、gnd 除 rdy 信號外,與 ram 的連接方法相同,2019/4/7,31,at28c64 的編程(寫入) at28c64 編程邏輯在芯片內部,芯片本身通過一個緩沖區連接外部數據線 at28c64 的讀出與 eprom、ram 相同 at28c64 的寫入數據按總線時序首先進入緩沖區,隨后啟動內部編程并在1毫秒內完成,編程期間 rdy 信號為低電平(busy)。 芯片 at28c64x 的編程時間為 200 微秒 芯片 at28c64b 還支持頁編程,其緩沖區為64字節的頁,可一次連續接收64字節 寫入1字節后150us無新數寫入,則開始編程 每寫入1字節后150us內繼續寫入新字節,最多可寫入64字節數據,再開始頁編程并一次完成。唯一限制條件是頁地址是按64字節對齊的。,2019/4/7,32,2)串行 eeprom 采用串行方式輸入、輸出數據 一般使用 i2c 或 spi 總線進行數據傳送 特點:接口引線少、體積小;速度慢、僅作外存 舉例:x25043/45 芯片 512 x 8 bit 串行 eeprom 上電復位、低壓復位、看門狗定時器功能 管腳: /cs :片選 /wp :寫保護輸入 reset :復位輸出 si、so、sck :spi 總線,2019/4/7,33,x25043/45 的內部結構和控制指令,2019/4/7,34,x25043/45 eeprom 的讀/寫時序,2019/4/7,35,3)利用 ram 作 rom 通過為 ram 增加后備電池的方法使之成為非易失存儲器,將其用作 rom 。 特點: 寫入速度提高 代碼保密性好 典型電路: 內置鋰電池的 sram 芯片產品:nvsram ds2030、,2019/4/7,36,4.4.3 flash memory (閃存) 本質上是eeprom,特點是編程速度極快 flash 芯片按接口方式分有2類: 并行接口:提供 8 或 16 位數據 io 線 串行接口:提供 1-2 位數據 io 線,內部按每地址 8 或 16 位組織。(大容量產品常采用) 1)并行接口 flash 芯片 以 atmel 公司的 at29c040a 為例,2019/4/7,37,at29c040a 的特點 4mb (512k x 8bit) flash memory 內部鎖存器容量 256byte 讀出時間 90ns 鎖存器寫入時間 190ns 全鎖存器編程時間 10ms 編程忙狀態輸出 (/msb) 提供軟、硬件數據保護 可定義引導程序塊 編程次數 10000 單一 5v 供電,2019/4/7,38,at29c040a 的內部結構和連接 at29c040a 的連接與一般 sram 相同 at29c040a 的讀寫操作也基本與 sram 相同,2019/4/7,39,at29c040a 的編程時序 寫入信號將數據及地址寫入鎖存器 如果在 150us 內沒有后續的字節寫入鎖存器,則自動開始編程操作。 編程期間,io7 輸出最后寫入字節最高位的反碼,2019/4/7,40,2)串行接口 flash 芯片 以 atmel 公司的 at45db081d 為例 三星 k9ncg08u5m 64gb (8g x 8bit) flash memory,2019/4/7,41,at45db081d 的特點 8mb (1m x 8bit) flash memory 66mhz rapids serial interface (兼容spi) 可配置的頁容量 256b、264b/page 可全片或按扇區、塊、頁擦除 2 頁 sram 數據緩沖區 128b 安全寄存器:其中 64b 用戶可編程空間 64b 唯一的器件標識 編程次數 100,000 單一 2.5v - 3.6v 供電,2019/4/7,42,at45db081d 的內部結構和連接 at45db081d 的連接使用標準 spi 接口,2019/4/7,43,at45db081d 的內部存儲器結構 1扇區=32塊;1塊=8頁;1頁=256(264)字節,2019/4/7,44,at45db081d 的指令(部分),2019/4/7,45,at45db081d 的時序(部分),2019/4/7,46,3)存儲卡 許多公司推出各種類型基于 flash memory 的存儲卡,方便了閃存的使用、更換、擴容。,由于歷史和市場競爭的原因,存儲卡的種類很多,但目前已經占領市場的幾種主流存儲卡產品規范,成為了實際的業界標準。,2019/4/7,47,幾種主流存儲卡產品 u盤:usb 接口移動硬盤 cf卡:compact flash sandisk公司94年推出 sd卡:secure digital 松下、 東芝、sandisk聯合開發 mini sd卡:sd卡的縮小版 micro sd卡:更小的 sd 卡 又稱 t-flash,tf卡 是 mini sd 卡的一半大,體積的1/4,2019/4/7,48,另外幾種常見存儲卡產品,mmc卡:multi media card 由 sandisk 與 siemens 開發, mmc 卡的兼容性方面不及 sd卡,數據傳輸速度也受到硬件限制。 ms記憶棒 :memory stick sony開發,具有寫保護開關 m2卡:memory stick micro sony 與 sandisk 主推的一種新標準存儲卡,體積比tf略小。 是目前已知最小的存儲卡 主要用在索愛的手機上,2019/4/7,49,i)cf卡規范 cf卡組成:flash memory + controller io 接口有 50 線組成 cf卡有3種工作模式: 存儲器模式 io模式 ide模式 每一種模式的電路連接方式不同 cf卡的默認模式是存儲器模式,使用存儲器模式不需要配置任何寄存器。在存儲器模式和 io 模式下,可以采用 8 位或 16 位的訪問方式。,2019/4/7,50,cf卡引腳定義,2019/4/7,51,cf卡存儲器模式接口實例,at89s52的p0口作為地址、數據復用線連接cf的d0d7和cf卡的a0a7,a8a10地址線固定, 僅將-ce1作為cf卡的片選信號。 當reg為0時,訪問 cf卡的屬性寄存器;reg為1時,cf卡將在存儲器模式下對數據進行讀寫操作。 rdy/bsy(wait)為cf卡狀態引腳,當為“0”時

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論