【FPGA】基于Verlog的IIC协议2-IIC时序和控制器件写入

基于Verlog的IIC协议2-IIC时序和控制器件写入


笔者学到IIC控制eeprom中,发现iic完成一次读必须写一次,根据提供eeprom的iic读写图判断需要满足特定的格式。
举eeprom的格式:

eeprom的器件引脚:

在这里插入图片描述
A0-A2:eeprom器件号地址
SDA:输入sda 串行数据(内存地址通过SDA传入,数据通过SDA传入)
SCL:时钟
WP:写保护
NC:不连接

eeprom的写时序

支持单个字节的写,以及多个字节的写

写字节操作 BYTE WRITE

在起始位产生后,先写器件地址,再写芯片内存地址,再写入数据,最后产生停止位,每写一个字节都要产生 ACK 位。
在这里插入图片描述

页写 PAGE WRITE

页写和字节写差不多,在字节写的基础上,连续写入数据,最后产生停止位。
在这里插入图片描述

eeprom的读时序

支持单个字节的读,以及多个字节的读,三种方式。

读当前地址 CURRENT ADDRESS READ

只要发送器件地址就能读当前内存地址所指向的地址空间数据,最后的读数据可以不需要发送 ACK,读就需要写一次控制字。(读操作必须要写入控制字)
(内存地址应该是上一次控制传输入的内存地址,如果连续读写进行地址增减)
在这里插入图片描述

随机读 RANDOM READ

要发送器件地址,然后发送内存地址,之后再发送器件地址并且读取到数据,最后的读数据可以不需要发送 ACK。(读数据必须要写入控制字、内存地址)

在这里插入图片描述

连续读 SEQUENTIAL READ

可以从第一种和第二种读方式启动后,连续读取,但是需要注意的时候除最后一个读数据,其他的读主机都需要发送 ACK。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值