- 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
- 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
- 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
FPGA Verilog 开发实战指南
基于Intel Cyclone IV
1055 / 2041
论坛: 天猫:
FPGA Verilog 开发实战指南
基于Intel Cyclone IV
第47章 基于I2C 协议的EEPROM 驱动控制
47.1 章节导读
在上一章节我们学习了 SPI 通讯协议的基础知识,通过若干个实验,编写工程,运用
SPI 通讯协议实现了 Flash 芯片的擦除、数据读写等操作,在这一章节,我们同样要介绍一
个较为重要的通讯协议——I2C 通讯协议
本章节读者要学习掌握二线制 I2C 通讯协议的基本知识和概念,熟悉 FPGA 与 I2C 器
件之间数据通信流程。运用所学知识设计一个可进行读写操作的 I2C 控制器,实现 FPGA
对EEPROM 存储器的数据写入和数据读取操作,并上板验证。
47.2 理论学习
I2C 通讯协议(Inter -Integrated Circuit)是由 Philips 公司开发的一种简单、双向二线制
同步串行总线,只需要两根线即可在连接于总线上的器件之间传送信息。
I2C 通讯协议和通信接口在很多工程中有广泛的应用,如数据采集领域的串行AD ,图
像处理领域的摄像头配置,工业控制领域的 X 射线管配置等等。除此之外,由于 I2C 协议
占用引脚特别少,硬件实现简单,可扩展型强,现在被广泛地使用在系统内多个集成电路
(IC)间的通讯。
下面我们分别对I2C 协议的物理层及协议层进行讲解。
47.2.1 I2C 物理层
I2C 通讯设备之间的常用连接方式,具体见图47-1。
图 47-1 I2C 通讯设备连接图
它的物理层有如下特点:
(1) 它是一个支持多设备的总线。“总线”指多个设备共用的信号线。在一个I2C 通讯
总线中,可连接多个I2C 通讯设备,支持多个通讯主机及多个通讯从机。
(2) 一个I2C 总线只使用两条总线线路,一条双向串行数据线(SDA) ,一条串行时钟线
(SCL) 。数据线即用来表示数据,时钟线用于数据收发同步。
(3) 每个连接到总线的设备都有一个独立的地址,主机可以利用这个地址进行不同设备
之间的访问。
1056 / 2041
论坛: 天猫:
FPGA Verilog 开发实战指南
基于Intel Cyclone IV
(4) 总线通过上拉电阻接到电源。当 I2C 设备空闲时,会输出高阻态,而当所有设备都
空闲,都输出高阻态时,由上拉电阻把总线拉成高电平。
(5) 多个主机同时使用总线时,为了防止数据冲突,会利用仲裁方式决定由哪个设备占
用总线。
(6) 具有三种传输模式:标准模式传输速率为 100kbit/s ,快速模式为 400kbit/s ,高速
模式下可达3.4Mbit/s ,但目前大多I2C 设备尚不支持高速模式。
(7) 连接到相同总线的IC 数量受到总线的最大电容400pF 限制 。
47.2.2 I2C 协议层
在本小节中,我们对 I2C 协议的整体时序图、读写时序以及 I2C 设备的器件地址和存
储地址做一下详细介绍。
1. I2C 整体时序图
I2C 协议的整体时
文档评论(0)