没有合适的资源?快使用搜索试试~ 我知道了~
基于FPGA的I2C接口程序实现课程设计报告书.doc
1 下载量 11 浏览量
2022-11-30
19:47:12
上传
评论
收藏 1.05MB DOC 举报
温馨提示
试读
39页
基于FPGA的I2C接口程序实现课程设计报告书.doc
资源推荐
资源详情
资源评论
1 / 39
轻工业学院
可编程数字系统设计
题 目 基于 FPGA 的 I2C 接口程序实现
给予FPGA的I2C接口程序实现
摘 要
串行扩展接口的发展是新一代单片机技术的显著特点,其中I2C 总线功耗低,结
构简单,使用灵活,被广泛应用于视频、音像等各类设备中。
本课题首先研究了IIC 总线的规,简要介绍了Quartus Ⅱ设计平台,以与FPGA
的设计流程。在此基础上,重点介绍了IIC 接口的总体设计方案,详细描述时序状态
机的工作原理和Verilog HDL 语言的实现,以与在Quartus Ⅱ平台上的时序仿真。本
系统采用了自顶向下的设计方法,利用了Verilog HDL 语言的结构描述风格,把整个
设计分成6 个模块,时钟分频模块,寄存器组模块,数据接收模块,数据发送模块,
输出缓冲模块,时序控制模块,顶层模块也采用语言描述。在QuartusⅡ平台上,实
现系统的功能和仿真。
2 / 39
关键词 现场可编程逻辑门阵列 IIC 总线 状态机 时序仿真
1 / 39
1.绪论
1.1 IIC 总线的优点
作为一种串行总线,IIC 总线虽没有并行总线的数据吞吐能力,但它具有如下优
点:
1、仅由两根信号线组成,节省了芯片 I/O、节省 PCB 面积、节省成本等。
2、总线上可同时挂接多个器件,器件之间是靠不同的编址来区分的,而不需要
附加的 I/O 线或地址译码部件。
3、总线可裁减性好。在原有总线连接的基础上可以随时新增或者删除器件。
4、总线电气兼容性好。IIC 总线规定器件之间以开漏 I/O 互联,这样,只要选取
适当的上拉电阻就能轻易实现 3V/5V 逻辑电平的兼容,而不需要额外的转换。
5、支持多种通信方式。一主多从是最常见的通信方式。此外还支持双主机通信、
多主机通信以与广播模式等等。
6、兼顾高低速通信。IIC 总线标准传输速率为 100kbit/s,在快速模式下为 400
kbps,高速模式下为 3.4Mbit/s。IIC 总线的通信速率也可以低至几 kbps 以下,用以
支持低速器件或者用来延长通信距离。
IIC 总线带来的这些好处,得到了广大工程师的青睐。在通信,音/视频,智能仪
表、工控领域都得到了应用。
1.2 课题的主要工作
作为一款经典的串行通讯总线,IIC 总线接口 IP 核已被越来越广泛的集成到 SoC
中。本文通过用 Verilog HDL 语言在 FPGA 上实现一个 IIC 总线接口,它可作为 IP 核
集成到 SOC 中。研究容主要包括以下方面:
1、深入研究 IIC 协议规。
2、用 Verilog HDL 硬件描述语言设计基于 FPGA 的 IIC 总线接口,做到数据传输
能够有序、有效地进行。
3、用 QuartusⅡ软件对每一个模块进行编译生成单个电路模块。
4、在 QuartusⅡ平台上,对设计进行分析、综合、功能和时序仿真。
2 IIC 总线协议研究
2.1 IIC 总线概述
2 / 39
2.1.1 IIC 总线简介
IIC 总线支持任何 IC 生产过程,包括 CMOS、NMOS、双极性,用两根信号线进
行数据传输——串行数据线(SDA)和串行时钟线(SCL)。它允许若干兼容器件(如
存储器、A/D 和 D/A 转换器,以与 LED、LCD 驱动器等)共享总线。图 2.1 是 IIC 总
线结构。
图 2.1 典型的 IIC 总线结构
每个器件都有唯一的地址,而且都可以作为一个发送器或接收器,由器件的功能
确定,。IIC 总线上所有器件依靠 SDA 发送的地址信号寻址,不需要片选线。任何时
刻总线只能由一个主器件控制,各从器件在总线空闲时启动数据传送,由 IIC 总线仲
裁来决定哪个主器件控制总线。表 2-1 给出了 IIC 总线常用的术语定义。
表 2-1 IIC 总线术语定义
术语
描述
发送器
发送数据到总线的器件
接收器
从总线接收数据的器件
主机
初始化发送产生时钟信号和终止发送的器件
从机
被主机寻址的器件
多主机
同时有多于一个主机尝试控制总线但不破坏报文
仲裁
多主机同时尝试控制总线但只允许其中一个主机控制总线并
使报文不被破坏的过程
同步
两个或多个器件同步时钟信号的过程
2.1.2 IIC 总线的电气特性与结构
在系统中,IIC 总线的典型接法如图 2.2 所示,注意连接时需要共地。SDA 和 SCL
3 / 39
都是双向线路,为了使总线上所有电路的输出能实现“线与”功能,各个 IIC 总线的接
口电路的输出端必须是漏极开路或集电极开路结构,输出端必须接上拉电阻,上拉电
阻一般取值 3~10KΩ。
图 2.2 IIC 总线的器件连接
开漏结构的好处是:
1、当总线空闲时,这两条信号线都保持高电平,因各设备都是开漏输出,上拉
电阻,使 SDA 和 SCL 线都保持高电平,不会消耗电流。任一设备输出的低电平都使
相应的总线信号线变低,即总线上的所有器件都达到高电子状态时,IIC 总线才能达
到高电平,从而使总线上的高速器件和慢速器件工作同步。
2、电气兼容性好。上拉电阻接 5V 电源就能与 5V 逻辑器件接口,上拉电阻接 3V
电源又能与 3V 逻辑器件接口。
3、因为是开漏结构,所以不同器件的 SDA 与 SDA 之间、SCL 与 SCL 之可以
直接相连,不需要额外的转换电路。
2.2 IIC 总线的位传输
由于 IIC 总线的器件有不同种类的工艺,逻辑“0”或“1”的电平不是固定的。在 IIC
总线每传输一位数据就有一个时钟脉冲相对应,其逻辑“0”或“1”的信号电平取决于该
节点的正端电源 Vdd 的电压。
2.2.1 数据的有效性
IIC 总线数据传输时,在时钟线高电平期间数据线上必须保持稳定的逻辑电平状
态,高电平为数据 1,低电平为数据 0。只有在时钟线为低电平时,才允许数据线上
的电平状态变化。如图 2.3 所示。
剩余38页未读,继续阅读
资源评论
黑色的迷迭香
- 粉丝: 718
- 资源: 4万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于QT的地图可视化桌面系统后台数据库为MySQL5.7源码.zip
- 基于simulink的PLL锁相环系统仿真【包括模型,文档,参考文献,操作步骤】
- 基于EM-GMM模型的目标跟踪和异常行为检测matlab仿真【包括程序,注释,参考文献,操作步骤,说明文档】
- 2109010044_胡晨燕_选课管理数据库设计与实现.prj
- 帕鲁介绍的PPT备份没什么好下的
- demo1-202405
- 两种方式修改Intel网卡MAC地址
- 服务器搭建所需资源:static文件夹
- Vue02的源码学习资料
- Python 程序语言设计模式思路-行为型模式:访问者模式:在不改变被访问对象结构的情况下,定义对其元素的新操作
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功