EEPROM Introduction

前言

EEPROM是一種可以通過電子方式多次複寫的半導體儲存裝置。相比EPROM,EEPROM不需要用紫外線照射,也不需取下,就可以用特定的電壓,來抹除晶片上的資訊,以便寫入新的數據
這邊會介紹各廠牌優劣勢,與I2C寫入方法

EEPROM 種類說明

I2C

  • 優點:只要2條線就可以傳輸,能夠減少微控制器的連接埠數量,能將多個EEPROM連接在同一個匯流排上
  • 缺點:傳輸速率慢。傳輸速率為400K~1Mbit/s

SPI

  • 優點:運轉頻率高,傳輸速度
  • 缺點:介面數量偏多

Microwire

  • 與SPI相比傳輸速度慢 ,只有低容量的產品

各廠牌比較

目前ATMEL已慢慢較無人使用市占率如下如,右邊為粗略比較,可以看到目前ST為主要大宗,而ST的EEPROM目前有M25(SPI)與M24(I2C)為主要產品

EEPROM 讀寫控制(I2C通訊)

  1. 第一步要先確認需先確認預計使用的頻率(這部分與控制的電壓有關)
  2. 第二步務必遵照IC Datasheet的時序規範((這點非常重要) 會有可靠度問題)
  3. 第三步確認adress(以下圖M24256-BRMN6TP為例)
    可以看到有3支硬體腳位需要設定去定義(M24256E-F設一款特別的EEPROM把硬體腳位都拔除需要用軟體寫入)

EEPROM 寫入流程

  1. 發送存取adress。24C02 一共256bit存取空間,adress從 0x00~0xFF,看需求在哪個位置就寫在哪個adress。
  2. 發送要存儲的數據的第一字節………..注意在寫數據的過程中,EEPROM 每個字節都回應”0”,來確認 EEPROM 數據成功,如果没有回應,說明寫入不成功
uint8_t I2C_EE_ByetsWrite(uint8_t* pBuffer,uint8_t WriteAddr,

uint16_t NumByteToWrite)

{

 uint16_t i;

 uint8_t res;
 /*每寫一個bit調整一次I2C_EE_ByteWrite函数*/

 for (i=0; i<NumByteToWrite; i++)

 {

/*等待EEPROM準備*/

 I2C_EE_WaitEepromStandbyState();

 /*按字節寫入數據*/

res = I2C_EE_ByteWrite(pBuffer++,WriteAddr++);

}

 return res;

 }

Leave a Comment

Your email address will not be published. Required fields are marked *

Shopping Cart