天天看點

EE2PROM

EE2PROM的開發調研

之前在藍橋杯用過一個存儲晶片,是AT24C02晶片,是采用的IIC接口,當時的設計重點是對IIC接口的使用。在51單片機中采用的是軟體模拟IIC通信,在32單片機内部內建了IIC接口,是以有現成的例程可供使用。

EE2PROM介紹

EEPROM的全稱是“電可擦除可程式設計隻讀存儲器”,即Electrically Erasable Programmable Read-Only Memory。

接口類型:

EEPROM的正常接口有3個分别是 SPI、 I2C、Microwire 。

【I2C】

受微型控制器的使用端口的限制,EEPROM的接口數量較少時,請選擇I2C。從微型控制器端口進行的控制最少可使用雙線進行。此外,無需追加端口,即可在同一總線上連接配接多個EEPROM。在同一整機上使用多個EEPROM時,适用I2C總線。

難點在于通信速率較慢。通信速率為400K~1Mbit/s。至EEPROM的通路時間有限制時,可能不适合。

  • 可使用雙線進行通信,是以能減少微型控制器的使用端口
  • 可在同一總線上連接配接多個EEPROM

【SPI】

要進行高速通信時,請選擇SPI。實作20Mb/s的高速通信。實作了高速通信,是以還備有EEPROM容量為1Mbit的大容量産品。微型控制器的接口數量為4個。與I2C相比,接口較多是難點。

  • 工作頻率高,通信速度快
  • 産品陣容豐富,涵蓋從低容量到大容量

【Microwire】

這是比較老的通信方式。通信速度比SPI慢,備有低容量的産品。接口數量為4個,比I2C多。

  • 與SPI相比,通信速度較慢
  • 産品陣容僅限低容量産品

讀寫速度

讀寫速度受限于通信接口的傳輸限制。三者的傳輸速度分别是:

通信方式 傳輸速度 接口數目
I2C 400K~1Mbit/s 2
SPI 20Mb/s 4
Microwire 比SPI慢 4

單片機開發步驟

可以發現上述的通信接口類型,都是針對串行通信設計的,是以重點是對通信接口的配置使用,即遵循既定的通信協定标準進行晶片配置。這裡以IIC的通信為例,需要完成四種信号的發送(起始位、終止位、資料0/應答、資料1/非應答)。由于采用的是串行的資料傳送方式,是以對于資料幀的傳送,是一位一位的傳送,在接收時也是逐位接收。另外對于EE2PROM而言,存儲器配備了寫保護,WK引腳,可以對存儲器的資料進行一定程度的加密操作。

IIC總線上會外挂很多的從機,是以為了建立主從之間的通信,首先需要傳送從機的位址,确認完畢後,才可以發送資料,按照實際的應用場景,可以分為三種不同的資料傳送方式,格式分别如下所示,其中灰色部分由主機發出,而白色由從機發出,另外從機位址後的0表示主機向從機發送資料,而1表示從機向主機發送資料;A表示應答,A非表示非應答。

主機隻發送資料:

EE2PROM

主機隻接受資料:

EE2PROM

主機發送和接收資料:

EE2PROM

對于51這種比較低端的單片機處理器,内部并沒有內建有IIC總線,是以需要利用I/O口進行軟體的模拟操作,而類似STM32的中端單片機,其内部內建了IIC硬體總線,是以可以通過配置其相關的寄存器,實作IIC通信。正點原子的教程中,提示因為硬體的IIC配置比較繁瑣,而且工作不穩定,是以采用的是軟體模拟的IIC通信。

還學到一點就是對于AT24C02存儲器的擴充,在完成底層的IIC通信建構之後,為了擴大存儲空間,是以可以采用字擴充的方式,将8片晶片挂載到IIC總線上,實作存儲容量的擴充。如果按照8位位址的幀來算,可以實作8片的擴充;如果按照16位的幀來計算,可以實作16片的擴充。

若擴充完成後,需要在存儲器的讀寫中,分位址進行資料的讀寫操作。

CAT24WC01/02/04/08/16是一個1K/2K/4K/8K/16K位串行CMOS,EEPROM内部含有128/256/512/1024/2048個8位位元組CATALYST公司的先進CMOS技術實質上減少了器件的功耗,CAT24WC01有一個8位元組頁寫緩沖器CAT24WC02/04/08/16有一個16位元組頁寫緩沖器,該器件通過I2C總線接口進行操作有一個專門的寫保護功能。其中A0、A1、A2三個引腳可以用來擴充晶片的數目,即可程式設計設定。
EE2PROM

單片機的知識點總結:

左移時最低位補0,最高位移入PSW的CY位

右移時最高位保持原數,最低位移除。

設計參考:

參考一:接口的選擇方法_EEPROM接口的特點_電子小知識_羅姆半導體集團(ROHM Semiconductor)

參考二:EEPROM的操作—SPI接口和I2C接口 - 遠航路上ing - 部落格園 (cnblogs.com)

參考三:普中科技的51開發闆