SRAM和SDRAM的简单介绍
?
參考:IS62WV51216ALL數據手冊?W9825G6KH數據手冊
1.SRAM
靜態隨機存取存儲器(Static Random-Access Memory,SRAM)是隨機存取存儲器的一種。相對之下,動態隨機存取存儲器(DRAM)里面所儲存的數據就需要周期性地更新。然而,當電力供應停止時,SRAM儲存的數據還是會消失(被稱為volatile memory),這與在斷電后還能儲存資料的ROM或閃存是不同的。STM32內部有SRAM和FLASH作為內存和程序存儲空間,但當程序比較大的時候就需要在芯片外部擴展存儲器,可以使用FSMC方式將SRAM外擴作為內存。
1.1芯片引腳說明
| A0-A17 | Address Inputs | 地址線 |
| I/O0-I/O15 | Data Inputs/Outputs | 數據線 |
| CS1 | Chip Enable Input | 芯片使能 |
| OE# | Output Enable Input | 輸出使能(讀使能) |
| WE# | Write Enable Input | 寫使能 |
| LB# | Lower-byte Control (I/O0-I/O7) | 低八位使能 |
| UB# | Upper-byte Control (I/O8-I/O15) | 高八位使能 |
| NC | No Connection | 無效連接 |
| VDD | Power | 電源 |
| GND | Ground | 地 |
? ? 在SRAM 中,排成矩陣形式的存儲單元陣列的周圍是譯碼器和與外部信號的接口電路。存儲單元陣列通常採用正方形或矩陣的形式,以降低整個芯片面積并有利于數據的存取。以一個存儲容量為1MB位的SRAM為例,共需19條地址線來保證每個存儲單元都能被選中(2^19?=512K,每個存儲單元的數據是16位的)。IS62WV51216芯片是不需要列地址的。
1.2從Dout引腳讀取1bit數據須要下面的步驟:
1)通過地址總線把要讀取的bit的地址傳送到對應的讀取地址引腳(這個時候/WE引腳應該沒有激活,所以SRAM知道它不應該運行寫入操作)。
2)激活/CS選擇該SRAM芯片。
3)激活/OE引腳讓SRAM知道是讀取操作。
第三步之后,要讀取的數據就會從DOut引腳傳輸到數據總線。
?
1.3從Dout引腳存儲1bit數據須要下面的步驟:
1)通過地址總線確定要寫入信息的位置(確定/OE引腳沒有被激活)。
2)通過數據總線將要寫入的傳輸數據到Dout引腳。
3)激活/CS引腳選擇SRAM芯片。
4)激活/WE引腳通知SRAM知道要進行寫入操作。
經過上面的四個步驟之后,須要寫入的數據就已經放在了須要寫入的地方。
1.4SRAM時序說明
讀時序
寫時序
2.SDRAM
SDRAM(Synchronous Dynamic Random Access Memory),同步動態隨機存儲器。同步是指內存工作需要同步時鐘,內部的命令的發送與數據的傳輸都以它為基準;動態是指存儲陣列需要不斷的刷新來保證數據不丟失;隨機是指數據不是線性依次存儲,而是自由指定地址進行數據讀寫。
SDRAM的內部是一個存儲陣列,你可以把它想象成一張表格。我們在向這個表格中寫入數據的時候,需要先指定一個行(Row),再指定一個列(Column),就可以準確地找到所需要的“單元格”,這就是SDRAM尋址的基本原理。
SDRAM總存儲容量 = L-Bank的數量×行數×列數×存儲單元的容量
W9825G6KH這一款SDRAM的內存 = 4×2^13×2^9×16 =?= 256Mbit,即32MB。
?
| 時鐘 | CKE | 時鐘有效信號 |
| CLK | 時鐘信號 | |
| 地址線 | A0-A12 | 行地址13位,列地址9位 |
| BA0,BA1 | Bank選擇,共有4個Bank | |
| 數據線 | I/O0 - I/O15 | 數據傳輸 |
| 控制命令 | CS# | 芯片選擇 |
| WE# | 寫使能(低電平寫,高電平讀) | |
| RAS# | 行地址選通 | |
| CAS# | 列地址選通 |
| 初始化 | 輸入穩定期 |
| 所有L-Bank預充電 | |
| 8個刷新周期 | |
| 模式寄存器設置 |
| 讀寫 | 行激活 |
| 列讀寫 | |
| 預充電 | |
| 刷新 |
?
?
模式寄存器在默認開機狀態未指定。需要遵循以下電源啟動和初始化順序,以確保設備預先適應每個用戶的特定需求。
在通電期間,當輸入信號處于“NOP”狀態時,所有VDD和VDDQ引腳必須同時升高到指定的電壓。任何輸入引腳或VDD電源電壓不能超過VDD + 0.3V。啟動后,需要一個200us的輸入穩定器,后跟一個預充電指令給所有Bank預充電。為了防止在電源啟動期間DQ總線上的數據爭用,需要在初始暫停期間將DQM和CKE引腳保持高位。一旦所有的Bank都已預充,須發出模式寄存器設置命令來初始化模式寄存器(MR,Mode Register)。在對模式寄存器進行編程之前或之后,還需要另外8個自動刷新周期(CBR),以確保正確的后續操作。
?
?
總結
以上是生活随笔為你收集整理的SRAM和SDRAM的简单介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 外部 SRAM 实验
- 下一篇: 声音传感器模块