一种I2C总线的检测装置的制作方法

文档序号:29781282发布日期:2022-04-22 12:39阅读:67来源:国知局
一种I2C总线的检测装置的制作方法
一种i2c总线的检测装置
技术领域
1.本实用新型涉及芯片检测技术领域,特别涉及一种i2c总线的检测装置。


背景技术:

2.目前市场对芯片的功能和性能提出越来越高的要求,因此为了更好地控制芯片的功能特性,提高其灵活性,需要很多相应的寄存器来对芯片功能进行相关配置,为了提升系统稳定性和降低成本,同时要求尽可能简单的芯片外围电路。为了保持良好的兼容性,这些寄存器一般通过philips i2c接口来配置。然而上述现有技术存在如下技术问题:芯片配置大多使用同步设计,兼容性不强,对于功耗面积要求很高的移动设备以及视频监控设备不太理想。


技术实现要素:

3.本实用新型其中一个实用新型目的在于提供一种i2c总线的检测装置,所述装置采用门级电路搭建,可以减少电路的面积,提高单位面积芯片的性能。
4.本实用新型另一个实用新型目的在于提供一种i2c总线的检测装置,所述装置无系统时钟,且为异步电路设计,可以提高模块的兼容性。
5.本实用新型另一个实用新型目的在于提供一种i2c总线的检测装置,所述装置可以在减少电路面积的基础上降低芯片的总功耗,应用于移动设备后可以提高续航能力。
6.为了实现至少一个上述实用新型目的,本实用新型进一步提供一种i2c总线的检测装置,所述装置包括:
7.总线状态检测模块;
8.计数器;
9.寄存器组;
10.数据转换模块;
11.地址对比模块;
12.其中所述总线状态检测模块连接所述计数器,所述计数器连接所述数据转换模块,所述数据转换模块连接所述寄存器组,且所述地址对比模块连接所述寄存器组。
13.根据本实用新型其中一个较佳实施例,所述数据转换模块包括输入数据串并转换模块和输出数据并串转换模块,所述寄存器组包括第一输出端和第二输出端,其中所述第一输出端连接所述输入数据串并转换模块,所述第二输出端连接所述输出数据并串转换模块。
14.根据本实用新型另一个较佳实施例,所述地址对比模块包括从机地址对比模块和片内地址选择模块,其中所述输入数据串并转换模块连接所述从机地址对比模块,所述从机地址对比模块连接所述片内地址选择模块,所述片内地址选择模块连接所述寄存器组。
15.根据本实用新型另一个较佳实施例,所述装置包括数据输入接口、时钟输入接口和数据输出接口,且所述计数器为具有8位的存储器,其中所述数据输入接口分别设置于所
述总线状态检测模块、输入数据串并转换模块和地址对比模块。
16.根据本实用新型另一个较佳实施例,所述装置包括数据输出线使能接口和复位接口,其中所述数据输出线使能接口设置于所述输出数据并串转换模块,所述复位接口设置于总线状态检测模块。
17.根据本实用新型另一个较佳实施例,所述寄存器组包括9个寄存器,其中所述9个寄存器配置为8bit的寄存器,
18.根据本实用新型另一个较佳实施例,所述计数器包括时钟信号输出接口,所述时钟信号输出接口分别连接输入数据串并转换模块、输出数据并串转换模块和地址对比模块。
19.根据本实用新型另一个较佳实施例,所述总线状态检测模块包括时钟信号使能接口,所述时钟信号使能接口连接所述计数器。
20.根据本实用新型另一个较佳实施例,所述总线状态检测模块包括一个信号开始接口和一个信号停止接口,其中所述信号开始接口和信号停止接口分别连接所述计数器。
21.为了实现至少一个上述实用新型目的,本实用新型进一步提供一种i2c总线的检测方法包括:
22.总线状态检测模块对输入数据信号下降沿采样输入时钟信号的d触发器,生成第一检测信号;
23.在时钟信号上升沿对所述第一检测信号采样生成第二检测信号,将所述第一检测信号和第二检测信号的取反信号相与生成初始检测信号;
24.时钟输出信号根据时钟scl时钟周期进行计数输出;
25.复位信号和复位错误信号在拉高时对计数进行异步清零;
26.或当计数使能信号为高时,且参考信号为高并地址对比失败时对计数进行同步清零。
27.根据本实用新型其中一个较佳实施例,输入串并转换模块包括位移寄存器,当计数使能信号为高时,通过数据输入接口在所述输入串并转换模块中保存串行数据,且在计数数值为8时,将存储的8位串行数据和自身从机地址加1位对比,对比成功则回复响应信号,对比失败则回复非响应信号,主机根据所述响应信号和非响应信号分别执行通讯和非通讯指令。
28.本实用新型进一步提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序可被处理器执行所述一种i2c总线的检测方法。
附图说明
29.图1显示的是本实用新型一种i2c总线的检测装置的结构示意图。
30.图2显示的是本实用新型中总线检测模块的结构示意图。
31.图3显示的是本实用新型中计数器的结构示意图。
32.图4显示的是本实用新型中输入数据串并转换模块的接口示意图。
33.图5显示的是本实用新型中输出数据并串转换模块的接口示意图。
34.图6显示的是本实用新型中地址对比模块的接口示意图。
35.图7显示的是基于本实用新型一种i2c总线的检测装置的检测方法流程示意图。
具体实施方式
36.以下描述用于揭露本实用新型以使本领域技术人员能够实现本实用新型。以下描述中的优选实施例只作为举例,本领域技术人员可以想到其他显而易见的变型。在以下描述中界定的本实用新型的基本原理可以应用于其他实施方案、变形方案、改进方案、等同方案以及没有背离本实用新型的精神和范围的其他技术方案。
37.可以理解的是,术语“一”应理解为“至少一”或“一个或多个”,即在一个实施例中,一个元件的数量可以为一个,而在另外的实施例中,该元件的数量可以为多个,术语“一”不能理解为对数量的限制。
38.请结合图1-图7,本实用新型公开了一种i2c总线的检测装置,其中所述装置包括如下组成部分:总线状态检测模块、计数器、寄存器组、数据转换模块和地址对比模块,其中所述总线状态检测模块连接对应的i2c总线用于检测i2c总线相关信号,所述总线状态检测模块连接所述计数器,所述计数器自身包含scl时钟,且根据所述scl时钟的周期进行计数,所述计数器连接所述数据转换模块,其中所述数据转换模块包括输入数据串并转换模块和输出数据并串转换模块,所述计数器连接所述输入数据串并转换模块,所述寄存器包括第一输出接口和第二输出接口,所述第一输出接口连接所述输入数据串并转换模块,所述第二输出接口连接所述输出数据并串转换模块,所述地址对比模块包括从机地址对比模块和片外地址选择模块,其中所述输入数据串并转换模块连接所述从机地址对比模块,所述从机地址对比转换模块连接所述片外地址选择模块,所述片外地址选择模块具有输出端,所述片外地址选择模块的输出端连接所述寄存器组。
39.请具体参考图2,本实用新型公开了所述总线状态检测模块的接口示意图,其中所述总线状态检测模块连接i_scl信号线,所述i_scl信号线连接所述总线状态检测模块的时钟接口,用于输入时钟信号(i_scl);所述总线状态检测模块还连接i_sda信号线,其中所述i_sda信号线连接所述总线状态检测模块的数据输入接口,用于获取数据输入信号(i_sda),其中所述总线状态检测模块的输出端包括开始信号接口用于输出开始信号(start),所述总线状态检测模块包括参考信号接口,用于输出参考信号(rs),所述总线状态检测模块包括错误参考信号接口,用于输出错误参考信号(rs_error),所述总线状态检测模块包括停止信号接口和计数信号使能接口,所述停止信号接口用于生成停止信号(stop),所述计数信号使能接口用于生成计数使能信号(cnt_en)。需要说明的是上述总线状态检测模块可以有包括但不仅限于单片机组成,通过不同的接口和逻辑设置可以实现上述功能,本实用新型对此不再赘述。
40.所述总线状态检测模块连接所述计数器,请参考图3,所述计数器的输入端包括开始信号接口、停止信号接口、错误参考信号接口和计数使能接口,分别连接所述总线状态检测模块输出端对应的开始信号接口、停止信号接口、错误参考信号接口和计数使能接口,所述计数器的输出端包括:计数信号输出接口,所述计数信号输出接口用于输出计数信号(cnt_scl),其中所述计数器包括位移寄存器,所述位移寄存器。
41.请参考图4,所述计数器连接输入数据串并转换模块,其中所述输入数据串并转换模块的输入端包括计数信号输入接口,所述计数信号输入接口连接计数器的计数信号输出接口,用于获取计数信号(cnt_scl),其中所述输入数据串并转换模块的输入端还包括数据输入接口,其中所述输入数据串并转换模块的数据输入接口连接寄存器组,用于获取寄存
器组中的数据输入信号(i_sda),所述输入数据串并转换模块还包括时钟接口,所述时钟接口连接寄存器组,用于获取寄存器组中的输入时钟信号(i_scl)。所述输入数据串并转换模块的输出端包括:并行数据输出接口,用于输出并行数据(reg_data),其中所述地址对比模块的输入端包括计数信号输入接口,所述计数信号输入接口连接所述计数器的计数信号输出接口,用于获取计数器上的计数信号(cnt_scl),所述地址对比模块的输入端还包括数据信号输入接口和时钟信号输入接口,分别用于获取外部的数据输入信号和时钟信号,且所述地址对比模块还包括参考信号输入接口,用于获取存储寄存器的参考信号。所述地址对比模块包括地址匹配输出接口,用于输出地址匹配信号(match/rd_match)。其中所述输出数据并串转换模块连接寄存器组,所述输出数据并串转换模块输入端包括:计数信号输入接口、并行数据输入接口、时钟信号输入接口和地址匹配信号输入接口,分别接收计数信号(cnt_scl)、并行数据(reg_data)、时钟信号(i_scl)和地址匹配信号(match/rd_match),上述输出数据并串转换模块输入端信号从寄存器组中获取。所述输出数据并串转换模块的输出端包括数据输出接口和输出数据线使能接口,分别用于对外形成数据输出信号(o_sda)和生成输出数据的使能信号(o_sda_en)。
42.为了更好地说明本实用新型,本实用新型进一步根据上述的i2c总线的检测装置为基础提供如下具体的i2c总线的检测方法:
43.通过一个i_sda下降沿采样i_scl的d触发器来检测起始信号start_cnd0,在i_scl上升沿对start_cd0采样产生start_cnd1信号。通过start_cnd0信号和start_cnd1信号的反信号相与形成start脉冲信号,start脉冲信号为实际的电路起始信号。cnt_en信号会在i_scl下降沿检测到start信号为高时拉高,在stop信号为高时异步复位。在cnt_en拉高后,cnt_scl就会在i_scl上升沿对scl时钟周期计数,直到cnt_en为低时计数值不再增加,在rs_error信号和stop信号拉高后计数值异步清零。输入串并转换单元中的移位寄存器会在cnt_en为高时存入i_sda线的串行数据,在cnt_scl为8时其存储的8位数据会与自身7位从机地址加1位写(低)比对,o_sda_en即o_sda使能信号拉高,o_sda会输出比对结果的相反值,即比对成功拉低o_sda,比对失败拉高o_sda,以此回复一个响应信号ack或非响应信号nack。在cnt_scl为17与26时会分别比对内部寄存器的高8位与低8位地址。在响应之后若rs信号未拉高则为读操作,rs信号检测方法与start信号一致,但会保持至stop为高后异步清零。在读操作时,计数为35是所选中的寄存器会被写入此时移位寄存器0的值,在回复了应答信号后,主机发送终止信号stop,完成此次寄存器配置,stop信号i_sda信号上升沿采样i_scl产生,在下一个start信号拉高时异步清零。若rs为高则会在cnt_scl计数至36时比对移位寄存器0中的数据,比对值为自身从机地址加1位读(高),若比对成功,选中的配置寄存器的8位数据会在i_scl下降沿写入移位寄存器1,接下来的8个i_scl时钟周期i_sda会依次输出8个数据。在主机回复非响应信号与终止信号后结束此次通信。若在传输过程中检测到异常的重复起始信号,rs_error信号则会产生一个单周期脉冲,将计数器计数值异步清零;若终止信号异常则会直接结束此次传输。
44.本领域的技术人员应理解,上述描述及附图中所示的本实用新型的实施例只作为举例而并不限制本实用新型,本实用新型的目的已经完整并有效地实现,本实用新型的功能及结构原理已在实施例中展示和说明,在没有背离所述原理下,本实用新型的实施方式可以有任何变形或修改。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1