支持批量读取校验的i2c多路复用器及控制方法

文档序号:6524750阅读:853来源:国知局
支持批量读取校验的i2c多路复用器及控制方法
【专利摘要】本发明公开了一种支持批量读取校验的I2C多路复用器用于外部I2C主设备与多个外部I2C从设备的通信。本发明包括采样去抖模块、状态控制模块、内部I2C储存模块、通道控制模块和校验模块。本发明还公开了应用这种I2C多路复用器的控制方法,支持写入数据的批量读取校验、双向的SCL传输和可控通道广播方式的数据转发。本发明对协议完全支持,提高设备的兼容性,有一定的抗干扰能力,且具备较高的集成度;批量读取校验功能的导入,减少了读取校验的时间,从而提高了设备的通讯效率。
【专利说明】支持批量读取校验的I2C多路复用器及控制方法
【技术领域】
[0001]本发明涉及I2C总线通信【技术领域】,具体指一种支持批量读取校验的I2C多路复用器,本发明还涉及应用这种支持批量读取校验的I2C多路复用器的控制方法。
【背景技术】
[0002]I2C总线是由Philips开发的一组简单的双向两线串行总线,用来实现有效的微型电子器件或部件之间的控制。每个连接到I2C总线的器件都可通过硬件设定的唯一地址和一直存在的简单的主机/从器件关系软件设定地址。
[0003]近年来I2C总线技术在电子测试测量领域得到了广泛的应用。由于电子测试测量技术在科技发展中的特殊使命决定着其对高可靠性和高可控精度的要求。其中在显示屏测试的【技术领域】中,由于显示屏中有EDID信息(含显示器分辨率,刷新率,驱动接口时序等),这些信息都需要通过I2C总线进行读取和配置。尤其是一些特殊的液晶显示屏还需要配置一些启动参数。同时测试设备中多个芯片或者多台设备间配置参数或者通信也需要通过I2C总线进行。
[0004]目前现有的应用于一主多从I2C总线通信的PCA9546等专用集成电路芯片,通道数固定;使用不灵活,占用较大的PCB面积,仅能实现单通道或者全通道的写入读取;不能提供可控通道广播和可控的批量读取校验功能,且使用不灵活,占用较大的PCB面积。

【发明内容】

[0005]本发明的第一目的是针对现有技术的不足,提供一种用于电子测试测量领域的一主多从I2C总线通信,有一定的抗干扰能力,且具备较高的集成度,支持批量读取校验的I2C多路复用器。
[0006]本发明的第二目的是提供一种利用这种支持批量读取校验的I2C多路复用器的控制方法。
[0007]本发明的第一目的是通过如下措施来达到的:一种支持批量读取校验的I2C多路复用器,它是一种连接外部I2C主设备和多个外部I2C从设备的通信装置,它包括:
[0008]采样去抖模块:包括高频时钟采样电路和去抖动电路,所述高频采样电路用于对从外部I2C主设备输入的I2C数据做高速采样;所述去抖动电路用于将采样到的数据去除抖动;
[0009]状态控制模块:用于根据外部I2C主设备的命令和内部I2C储存模块的配置参数确定I2C多路复用器复用状态,状态控制模块中包含一个状态机,状态机根据主设备的I2C数据,确定其状态的转移;
[0010]内部I2C储存模块:用于配置参数以及存储需传送和校验的数据;
[0011]通道控制模块:用于控制外部I2C从设备通道的开启和关闭及数据的通信方向;
[0012]校验模块:用于接收从对应的外部I2C从设备中读取数据,并与内部I2C储存模块中的数据对比校验,并将校验结果返回给外部I2C主设备。[0013]进一步地,所述支持批量读取校验的I2C多路复用器是由基于FPGA或CPLD技术的电路板实现的。
[0014]通过内部I2C储存模块,通道控制模块和校验模块的组合使得I2C多路复用器具备了可控通道功能和批量读取数据的功能。
[0015]本发明的第二目的是通过如下措施来达到的,应用支持批量读取校验的I2C多路复用器的控制方法,它包括以下步骤: [0016]步骤一、当I2C多路复用器上电后,首先选择是否给I2C多路复用器配置参数:选择“是”,外部I2C主设备的数据通过采样去抖模块以及状态控制模块写入内部I2C储存模块中的用户寄存器,完成参数配置;选择“否”,直接进入步骤二 ;
[0017]步骤二、选择是否进行批量写入读取操作,选择“否”,I2C多路复用器进入单通道数据写入读取模式;选择“是”,I2C多路复用器进入批量数据写入读取操作;
[0018]步骤三、进入批量数据写入操作,状态控制模块的状态机配置为写数据状态,内部I2C储存模块中的用户寄存器将数据写入内部I2C储存模块中的广播控制寄存器,通过通道控制模块将需要广播的对应的外部I2C从设备通道的开关置为开,内部I2C储存模块中的数据再以广播方式下发到相对应的外部I2C从设备,完成批量写入过程;
[0019]步骤四、将状态控制模块的状态机配置为读取操作,将所需批量读取对应的外部I2C从设备通道的开关置为开;从外部I2C主设备往内部I2C储存模块中写入要比较的数据;
[0020]步骤五、外部I2C主设备发起读取操作,校验模块接收外部I2C从设备的数据并与内部I2C储存模块中的数据比较,通道控制模块将比较结果发送到外部I2C主设备;
[0021]步骤六、判断当前物理通道操作是否完成,选择“是”,完成当前操作;选择“否”,重新对外部I2C从设备进行写入读取操作。
[0022]与现有技术相比,本发明的有益之处是:本发明基于FPGA或CPLD实现,集成度高,从而有效的减小了 PCB的面积,成本低;采用去抖动电路,提高抗干扰性;对协议完全支持,支持双向SCL传输及可选择通道的广播,提高设备的兼容性;批量读取校验功能的导入,减少了读取校验的时间,从而提高了设备的通讯效率。
【专利附图】

【附图说明】
[0023]图1I2C多路复用器模块框图
[0024]图2I2C多路复用器的状态转移图
[0025]图3I2C多路复用器的控制流程图
【具体实施方式】
[0026]下面结合附图与【具体实施方式】,对本发明做进一步详细说明。
[0027]图1为本发明的功能模块框架图,一种支持批量读取校验的I2C多路复用器,用于一主多从的I2C总线通信,I2C多路复用器所述包括采样去抖模块、状态控制模块、内部I2C储存模块、通道控制模块和校验模块。
[0028]采样去抖模块用于与外部I2C主设备相连接;采样去抖模块还与状态控制模块相连接;状态控制模块分别与通道控制模块、内部I2C储存模块以及校验模块相连接;内部I2C储存模块还与校验模块相连接;通道控制模块还用于与多个外部I2C从设备相连接。
[0029]采样去抖模块包括高频时钟采样电路和去抖动电路,高频采样电路对输入的I2C数据做高速采样,采样的数据送到去抖动电路中。去抖动电路中包含一个系数全为一且长度参数可配置的滤波器,去抖动电路用于将采样到的数据去除抖动。
[0030]状态控制模块根据外部I2C主设备的命令和内部I2C储存模块的配置参数确定I2C多路复用器复用状态。状态控制模块中包含一个状态机,状态机根据主设备的I2C数据,确定其状态的转移。如图2所示为本发明I2C多路复用器的状态转移图。状态机包含7个状态:空闲状态(IDEL)、片选响应(CS_ACK)、选中内部储存模块(N0_CS)、读数据(IN_DATA)、发送响应(DATA_ACK)、写数据(0UT_DATA)、等待响应(WAIT_ACK)。各状态的描述如
下表所示:
[0031]
【权利要求】
1.一种支持批量读取校验的I2C多路复用器,它是一种连接外部I2C主设备和多个外部I2C从设备的通信装置,其特征在于: 包括 采样去抖模块:包括高频时钟采样电路和去抖动电路,所述高频采样电路用于对从外部I2C主设备输入的I2C数据做高速采样;所述去抖动电路用于将采样到的数据去除抖动; 状态控制模块:用于根据外部I2C主设备的命令和内部I2C储存模块的配置参数确定I2C多路复用器复用状态,状态控制模块中包含一个状态机,状态机根据主设备的I2C数据,确定其状态的转移; 内部I2C储存模块:用于配置参数以及存储需传送和校验的数据; 通道控制模块:用于控制外部I2C从设备通道的开启和关闭及数据的通信方向; 校验模块:用于接收从对应的外部I2C从设备中读取数据,并与内部I2C储存模块中的数据对比校验,并将校验结果返回给外部I2C主设备。
2.根据权利要求1所述的支持批量读取校验的I2C多路复用器,其特征在于:它是由基于FPGA或CPLD技术的电路板实现的。
3.应用权利I或2所述的支持批量读取校验的I2C多路复用器的控制方法,其特征在于,包括以下步骤: 步骤一、当I2C多路复用器上电后,首先选择是否给I2C多路复用器配置参数:选择“是”,外部I2C主设备的数据通过采样去抖模块以及状态控制模块写入内部I2C储存模块中的用户寄存器,完成参数配置;选择“否”,直接进入步骤二 ; 步骤二、选择是否进行批量写入读取操作,选择“否”,I2C多路复用器进入单通道数据写入读取模式;选择“是”,I2C多路复用器进入批量数据写入读取操作; 步骤三、进入批量数据写入操作,状态控制模块的状态机配置为写数据状态,内部I2C储存模块中的用户寄存器将数据写入内部I2C储存模块中的广播控制寄存器,通过通道控制模块将需要广播的对应的外部I2C从设备通道的开关置为开,内部I2C储存模块中的数据再以广播方式下发到相对应的外部I2C从设备,完成批量写入过程; 步骤四、将状态控制模块的状态机配置为读取操作,将所需批量读取对应的外部I2C从设备通道的开关置为开;从外部I2C主设备往内部I2C储存模块中写入要比较的数据;步骤五、外部I2C主设备发起读取操作,校验模块接收外部I2C从设备的数据并与内部I2C储存模块中的数据比较,通道控制模块将比较结果发送到外部I2C主设备; 步骤六、判断当前物理通道操作是否完成,选择“是”,完成当前操作;选择“否”,重新对外部I2C从设备进行写入读取操作。
【文档编号】G06F13/38GK103714036SQ201310711424
【公开日】2014年4月9日 申请日期:2013年12月20日 优先权日:2013年12月20日
【发明者】彭骞, 陈凯, 郑增强, 沈亚飞, 邓标华, 欧昌东, 唐奇林 申请人:武汉精立电子技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1