FPGA实现IIC通信(读写EEPROM)

FPGA实现iic通信(读写EEPROM)

实验平台:正点原子ALIENTEK开拓者FPGA开发板

1. IIC协议简介

1.1 什么是IIC协议

IIC即为Inter-Inegrated Circuit(集成电路总线),在上世纪八十年代左右由Philips公司(即现做的NXP半导体公司)设计出来的一种简单、双向、二进制总线标准。其只需要两根线(SDA数据线和SCL时钟线)即可实现总线连接的器件间的通信。SDA和SCL都是双向I/O线,所以主要适用于数据量小,距离短的主从通信,数据的传输速率在标准模式下可达100kbit/s,在快速模式下可达400kbit/s,在高速模式下可达3.4Mbit/s。

Alt
当两个器件通信时,用于启动总线并产生时钟的为主器件,此时总线上所有可被寻址的都为从器件。所有的从器件都有其第一无二的设备地址,主机发送想要通信的从机的设备地址,所有的从器件将此地址与自身的设备地址对照,对应的从器件则发出应答信号,二者即开始通信。这也意味着主机与从机不是固定的,而是取决于数据的传输方向。

1.2 硬件结构

SDA(串行数据线)和SCL(串行时钟线)都是双向I/O线,接口电路为开漏输出,需通过上拉电阻接电源VCC,因此当总线空闲时两根线都是高电平。
Alt

1.3 为什么要使用IIC协议

通过上文可知IIC可以挂载多个设备,这也是其最大的优点。在工业中有时我们并不需要读出所有设备的数据,这时就可以使用IIC总线,将多个传感器挂载在其上,只需要在需要的时候读出对应设备的数据。虽然其与其他的串行外设接口相比,通信速度较慢,但是其大大节约了I/O资源;而且在传输过程中可以通过应答位来判断是否成功通信;这些优点导致IIC大面积应用。

1.4 IIC协议的时序特点

1.4.1 传输特点

由于IIC是由数据线和时钟线所组成的,因此二者相互配合完成数据的传输。当时钟线

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值