热门关键词:

I2C总线控制器的设计

  • 该文件为pdf格式
  • 文件大小:31.67KB
  • 浏览次数
  • 发布时间:2012-04-14
文件介绍:

本资料包含pdf文件1个,下载需要1积分

I2C总线控制器的设计I2C 总线控制器的设计
□ 牟 浩
(西南交通大学信息科学与技术学院 四川·成都 611756)
摘 要:I2C (Inter-Integrated Circuit) 双向串行总线将主机或者从机的并行数据转换为串行数据, 并通过SDA线
传输。SCL 则是串行时钟线, I2C 总线通过 SDA 和 SCL 两条串行总线实现设备器件间的通信。
关键词:I2C 总线 Verilog HDL 验证
中图分类号:TP3 文献标识码:A 文章编号:1007-3973(2010)10-056-01
1 I2C 总线控制器的设计
1.1 I2C 总线的特点
I2C 双向串行总线将主机或者从机的并行数据转换为串
行数据, 并通过 SDA 线传输。 SCL 则是串行时钟线, I2C 总线
通过 SDA 和 SCL 两条串行总线实现设备器件间的通信。与
其它串行总线相比, I2C 总线具有-下几方面的特点:
(1)只有两条总线线路: -条串行数据线 (SDA) ;-条串行
时钟线 (SCL) 。
(2)每个连接到总线的器件都可以通过唯-的地址和-直
存在的简单的主机、 从机关系软件设定的地址。
(3)串行的8位双向数据传输位速率在标准模式下可以达
到 100kbit/s, 快速模式下可以达到 400kbit/s, 高速模式下可以
达到 3.4Mbit/s。
(4) I2C 总线并且通过 SDA、 SCL 两条串行线与连接到总
线上的器件间传递信息。每个器件都有-个唯-的是地址识
别, 而且都可以作为-个接收器或者发送器。
(5)在I2C 总线中, 唯-出现的是被定义为起始 (S) 和停止
(P) 条件, -般由主机产生。在 SCL 线为高电平期间, SDA 线
由高电平向低电平切换则表示起始条件, 若由低电平到高电平
切换则表示停止条件。总线在起始条件后被认为处于忙的状
态。 在停止条件的某段时间后, 总线被认为再次处于空闲状态。
(6) 发送 SDA 线上的每个字节必须为 8 位。每次传输的
字节数量不受限制。每个字节后面必须跟-个响应位。从器
件要完成-些其他的功能后,才能接受或者发送下-个完整
的数据字节, 此时可以使时钟线 SCL 保持低电平迫使主器件
进入等待状态。当从器件准备好接受下-个数据字节并释放
时钟线 SCL 后, 数据传输继续。
1.2 I2C 总线控制器的设计方法
I2C总线控制器连接架构: 首先从CPU发出指令来, 通过
对 I2C 控制器的操作来进行对 EEPROM 的读写操作并完成
数据的串并转换。
(1)根据I2C总线控制器的功能的不同和端口设置来定义
所需的寄存器。
(2)我们根据I2C 总线控制器的特点和要求, 规划出来相
应的设计拈, 包括寄存器配置拈, 中断产生拈, 时钟发
2 I2C 总线控制器的验证
2.1 验证的目的
验证和仿真可以让我们的设计旧能的减少错误,完善我
们的设计。对于-个设计的测试应当站在与设计不同的角度去
思考。 作为-名设计者, 应当考虑的方面是如何将设计做到简单
的同时, 成本尽量降到最低, 将所有的功能都完善并且尽量避免
出现错误, 将错误率降到最低。与设计不同的是, 测试者应当去
思考-些比较特殊的情况, 去对-些不容易被思考到的点或者容
易被设计者忽略的地方进行测试, 旧能的找出所有的错误。
2.2 测试方法
测试设计需要使用-定的方法。首先建立起-个测试环
境,在这个测试环境中输入-些我们需要的激励。这个激励
当然应当是越全面越好,其中-些边界的点和-些不容易被
想到的点应当着重测试。
我们可以利用 task、function 等语句,分类对设计进行测
试。基本测试点包括: 复位操作, 读写操作, 读写交替操作, 读
写多个数据的操作等。最终设立读写随机次数和随机数据的
重复操作。在测试时, 需要使用到-个 EEPROM 的行为拈
来与本设计进行通信。
3 结语
(1)在整个工作之中, 完成了对I2C 总线控制器设计规则
的学习, 拈化划分整理、 代码的仿真, 最终, 完成所要求的I2C
总线控制器设计。此设计支持 Register 总线,FIFO 深度为 8
宽度为 8, 可以使用软件进行复位, 支持 FIFO 状态查询, 中断
使能, 中断有效电平配置, 传输速度模式选择等功能。整个设
计中大体分为寄存器配置、 状态机、 中断发生拈和时钟发生
拈等四部分组成, 各个拈在上面都有详细描述。
(2)本次设计存在着-些不足的地方: 为了简化设计, 因此
只支持标准模式和快速模式,并没有支持高速模式(3.4Mbit/
s) 。如果需要达到高速模式 (Hs mode) , 还需根据标准模式和
快速模式对设计进行相当大的改动; 简化了起始条件, 并没有
考虑重复起始条件的发生,只涉及了起始条件和停止条件的
发生; 只采用了-个 FIFO 用于存储数据, 因此有-定的局限
性; 设计没有太多地考虑面积, 速度和功耗等问题。
参考文献:

正在加载...请等待或刷新页面...
发表评论
验证码 验证码加载失败