使用FPGA向EEPROM寫入0、1、2...255,再使用FPGA讀取EEPROM 是否有這256個數據。
EEPROM是通過IIC協議進行通信的,以下對IIC通信協議分析:
①start definition:
所以開始IIC時需要SCL和SDA都是0。
②數據穩定和數據變化:
從中可以看出SCL為1時,SDA穩定;SCL為0時,SDA改變。
③stop definition:
因此結束時SCL和SDA都要是1。
細化以上的時序圖得到具體時序圖如下:
通過狀態機來實現這張時序圖。狀態機分成三段式:狀態轉移、狀態轉移條件、狀態輸出。
這個實驗EEPROM的型號是AT24C64,根據數據手冊得到原理圖連接如下:
在FPGA芯片中設計了三個功能模塊:eeprom_rw、i2c_dri、led_alarm。
eeprom_rw:用來向i2c_dri寫入數據,並且讀取i2c_dri中的數據。
i2c_dri:用來驅動IIC協議。
led_alarm:用來判斷寫的數據跟讀的數據是否相同。
最后實戰結束。