集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 2491|回复: 8

IIC总线接口的顶层设计

[复制链接]
小舍YZ 发表于 2017-9-20 15:55:22 | 显示全部楼层 |阅读模式
IIC总线接口的顶层设计

为了实现和IIC器件的通讯,该IIC接口一方面要通过数据总线与微处理器交换数据,接收来自微处理器的控制信号,命令与数据,实现IIC接口与微处理器的通讯,另一方面要通过IIC总线与IIC器件交换数据,发送IIC器件的数据和状态响应到微处理器,使它们之间能够进行通讯。

根据据总线接口要完成的功能,采用自上而下的设计方法,综合考虑,设计如下:
1、时钟分频模块,由于通常FPGA的系统外部时钟输入都很高,如50MHz,,而IIC总线接口协议规定数据传输速率在标准模式下为100Kbit/s,快速模式下为400 kbit/s及高速模式下为3.4 Mbit/s。为了能产生正确的数据传输时序,需要一时钟分频器对输入时钟进行分频,然后再作为时序控制器的时钟。通过该模块实现频率的可编程,产生总线工作时钟;
2、接收数据模块,接受来自微处理器的数据信号,同时输出一个使时序控制模块工作的触发信号,并反馈给处理器一个响应信号,告诉处理器,已经接收完数据;
3、时序控制模块,控制整个系统工作的时序,并把8位并行数据转换成串行
4、发送数据模块,反馈总线的工作信息;
5、输出缓冲器,是一个三态的缓冲器,可为总线时钟和数据信号提供开漏极输出;
6、寄存器组,包括了3个寄存器,各部分的信息如表4-1所示。

表4-1  IIC总线接口寄存器

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| 小舍YZ 发表于 2017-9-20 15:55:36 | 显示全部楼层
外部处理器发送出控制信号和地址信号,不同的地址信号指向不同的寄存器,进入不同的读写状态。当地址信号是00时,指向字地址寄存器,处理器进入读/写状态,把数据信号写入字地址寄存器或者从寄存器读出,当地址信号是01,10时,外部处理器分别读取数据寄存器和状态寄存器。
 楼主| 小舍YZ 发表于 2017-9-20 15:55:52 | 显示全部楼层
parameter    w_add=2'b00;//地址寄存器
parameter    d_add=2'b01;//数据寄存器
parameter    s_add=2'b10;//状态寄存器
 楼主| 小舍YZ 发表于 2017-9-20 15:56:08 | 显示全部楼层
按照设计的要求,需要8位数据线,2位地址线,时钟线,复位,使能信号线,读写命令线,还有反馈信息的响应线以及一位串行时钟线和一位串行数据线。其详细的输入输出接口信号及其功能如表4-2所示,l表示信号低电位有效,在整个设计中都应用了这个规则,其中cs_l是芯片的使能信号,和clk信号是同步的,只有当它有效的时候,其它的地址、复位和命令信号才能启动。
 楼主| 小舍YZ 发表于 2017-9-20 15:56:52 | 显示全部楼层
表4-2 IIC总线接口信号表

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| 小舍YZ 发表于 2017-9-20 15:57:45 | 显示全部楼层
综上所述,整个设计分为6个模块,时钟分频器、时序控制器、数据接收器、数据发送器、输出缓冲器、寄存器组。其结构如图4.1所示。  
                 图4.1  IIC总线接口结构框图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
zhangyukun 发表于 2017-9-21 09:17:56 | 显示全部楼层
IIC总线接口的顶层设计
晓灰灰 发表于 2017-9-21 10:37:58 | 显示全部楼层
IIC总线接口设计
zxopenljx 发表于 2022-2-17 14:08:26 | 显示全部楼层
IIC总线接口的顶层设计
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-11-28 18:41 , Processed in 0.064542 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表