IIC总线读取EEPROM实验

系统框图

 IIC总线只有同步半双工总线,即不能同时进行收发,但主从时钟是一致的

这和UART异步全双口有一些区别

eeprom和Flash的区别

eeprom可以按字节进行擦除,速度慢,容量小

flash只能按块擦除,速度块,容量

i2c_driver在收到应答信号后会反馈给e2prom_rw,接着e2prom_rw会继续将数据发送给i2c_dri

IIC总线实现方式是以状态机实现的,i2c_exec是启动信号,之后就会进入发送器件地址状态,然后进入发送存储地址发送状态,由于AT24C64是64Kbit,8KB字节,8192需要超过8位地址能寻址的方位,所以要用16位地址寻址方式,根据bit_ctrl来判断

状态机
双字节地址分布

  

整体时序图

 ①是总线空闲状态,②是起始信号,在时钟线SCL为高时,SDA拉低表示开始传输数据

③是数据传输状态,④是停止信号,在时钟线SCL为高时,SDA拉高表示停止传输数据

时序绘制

 

仿真波形图

写数据不能连续写,需要间隔一定的时间,正点原子给定的间隔是5.167ms

写数据
读数据

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值