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

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

Info

Publication number
CN103714036B
CN103714036B CN201310711424.4A CN201310711424A CN103714036B CN 103714036 B CN103714036 B CN 103714036B CN 201310711424 A CN201310711424 A CN 201310711424A CN 103714036 B CN103714036 B CN 103714036B
Authority
CN
China
Prior art keywords
data
exterior
module
batch
multiplexer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310711424.4A
Other languages
English (en)
Other versions
CN103714036A (zh
Inventor
彭骞
陈凯
郑增强
沈亚飞
邓标华
欧昌东
唐奇林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Jingli Electronic Technology Co Ltd
Original Assignee
Wuhan Jingli Electronic Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan Jingli Electronic Technology Co Ltd filed Critical Wuhan Jingli Electronic Technology Co Ltd
Priority to CN201310711424.4A priority Critical patent/CN103714036B/zh
Publication of CN103714036A publication Critical patent/CN103714036A/zh
Application granted granted Critical
Publication of CN103714036B publication Critical patent/CN103714036B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Time-Division Multiplex Systems (AREA)
  • Communication Control (AREA)

Abstract

本发明公开了一种支持批量读取校验的I2C多路复用器用于外部I2C主设备与多个外部I2C从设备的通信。本发明包括采样去抖模块、状态控制模块、内部I2C储存模块、通道控制模块和校验模块。本发明还公开了应用这种I2C多路复用器的控制方法,支持写入数据的批量读取校验、双向的SCL传输和可控通道广播方式的数据转发。本发明对协议完全支持,提高设备的兼容性,有一定的抗干扰能力,且具备较高的集成度;批量读取校验功能的导入,减少了读取校验的时间,从而提高了设备的通讯效率。

Description

支持批量读取校验的I2C多路复用器及控制方法
技术领域
本发明涉及I2C总线通信技术领域,具体指一种支持批量读取校验的I2C多路复用器,本发明还涉及应用这种支持批量读取校验的I2C多路复用器的控制方法。
背景技术
I2C总线是由Philips开发的一组简单的双向两线串行总线,用来实现有效的微型电子器件或部件之间的控制。每个连接到I2C总线的器件都可通过硬件设定的唯一地址和一直存在的简单的主机/从器件关系软件设定地址。
近年来I2C总线技术在电子测试测量领域得到了广泛的应用。由于电子测试测量技术在科技发展中的特殊使命决定着其对高可靠性和高可控精度的要求。其中在显示屏测试的技术领域中,由于显示屏中有EDID信息(含显示器分辨率,刷新率,驱动接口时序等),这些信息都需要通过I2C总线进行读取和配置。尤其是一些特殊的液晶显示屏还需要配置一些启动参数。同时测试设备中多个芯片或者多台设备间配置参数或者通信也需要通过I2C总线进行。
目前现有的应用于一主多从I2C总线通信的PCA9546等专用集成电路芯片,通道数固定;使用不灵活,占用较大的PCB面积,仅能实现单通道或者全通道的写入读取;不能提供可控通道广播和可控的批量读取校验功能,且使用不灵活,占用较大的PCB面积。
发明内容
本发明的第一目的是针对现有技术的不足,提供一种用于电子测试测量领域的一主多从I2C总线通信,有一定的抗干扰能力,且具备较高的集成度,支持批量读取校验的I2C多路复用器。
本发明的第二目的是提供一种利用这种支持批量读取校验的I2C多路复用器的控制方法。
本发明的第一目的是通过如下措施来达到的:一种支持批量读取校验的I2C多路复用器,它是一种连接外部I2C主设备和多个外部I2C从设备的通信装置,它包括:
采样去抖模块:包括高频时钟采样电路和去抖动电路,所述高频采样电路用于对从外部I2C主设备输入的I2C数据做高速采样;所述去抖动电路用于将采样到的数据去除抖动;
状态控制模块:用于根据外部I2C主设备的命令和内部I2C储存模块的配置参数确定I2C多路复用器复用状态,状态控制模块中包含一个状态机,状态机根据主设备的I2C数据,确定其状态的转移;
内部I2C储存模块:用于配置参数以及存储需传送和校验的数据;
通道控制模块:用于控制外部I2C从设备通道的开启和关闭及数据的通信方向;
校验模块:用于接收从对应的外部I2C从设备中读取数据,并与内部I2C储存模块中的数据对比校验,并将校验结果返回给外部I2C主设备。
进一步地,所述支持批量读取校验的I2C多路复用器是由基于FPGA或CPLD技术的电路板实现的。
通过内部I2C储存模块,通道控制模块和校验模块的组合使得I2C多路复用器具备了可控通道功能和批量读取数据的功能。
本发明的第二目的是通过如下措施来达到的,应用支持批量读取校验的I2C多路复用器的控制方法,它包括以下步骤:
步骤一、当I2C多路复用器上电后,首先选择是否给I2C多路复用器配置参数:选择“是”,外部I2C主设备的数据通过采样去抖模块以及状态控制模块写入内部I2C储存模块中的用户寄存器,完成参数配置;选择“否”,直接进入步骤二;
步骤二、选择是否进行批量写入读取操作,选择“否”,I2C多路复用器进入单通道数据写入读取模式;选择“是”,I2C多路复用器进入批量数据写入读取操作;
步骤三、进入批量数据写入操作,状态控制模块的状态机配置为写数据状态,内部I2C储存模块中的用户寄存器将数据写入内部I2C储存模块中的广播控制寄存器,通过通道控制模块将需要广播的对应的外部I2C从设备通道的开关置为开,内部I2C储存模块中的数据再以广播方式下发到相对应的外部I2C从设备,完成批量写入过程;
步骤四、将状态控制模块的状态机配置为读取操作,将所需批量读取对应的外部I2C从设备通道的开关置为开;从外部I2C主设备往内部I2C储存模块中写入要比较的数据;
步骤五、外部I2C主设备发起读取操作,校验模块接收外部I2C从设备的数据并与内部I2C储存模块中的数据比较,通道控制模块将比较结果发送到外部I2C主设备;
步骤六、判断当前物理通道操作是否完成,选择“是”,完成当前操作;选择“否”,重新对外部I2C从设备进行写入读取操作。
与现有技术相比,本发明的有益之处是:本发明基于FPGA或CPLD实现,集成度高,从而有效的减小了PCB的面积,成本低;采用去抖动电路,提高抗干扰性;对协议完全支持,支持双向SCL传输及可选择通道的广播,提高设备的兼容性;批量读取校验功能的导入,减少了读取校验的时间,从而提高了设备的通讯效率。
附图说明
图1I2C多路复用器模块框图
图2I2C多路复用器的状态转移图
图3I2C多路复用器的控制流程图
具体实施方式
下面结合附图与具体实施方式,对本发明做进一步详细说明。
图1为本发明的功能模块框架图,一种支持批量读取校验的I2C多路复用器,用于一主多从的I2C总线通信,I2C多路复用器所述包括采样去抖模块、状态控制模块、内部I2C储存模块、通道控制模块和校验模块。
采样去抖模块用于与外部I2C主设备相连接;采样去抖模块还与状态控制模块相连接;状态控制模块分别与通道控制模块、内部I2C储存模块以及校验模块相连接;内部I2C储存模块还与校验模块相连接;通道控制模块还用于与多个外部I2C从设备相连接。
采样去抖模块包括高频时钟采样电路和去抖动电路,高频采样电路对输入的I2C数据做高速采样,采样的数据送到去抖动电路中。去抖动电路中包含一个系数全为一且长度参数可配置的滤波器,去抖动电路用于将采样到的数据去除抖动。
状态控制模块根据外部I2C主设备的命令和内部I2C储存模块的配置参数确定I2C多路复用器复用状态。状态控制模块中包含一个状态机,状态机根据主设备的I2C数据,确定其状态的转移。如图2所示为本发明I2C多路复用器的状态转移图。状态机包含7个状态:空闲状态(IDEL)、片选响应(CS_ACK)、选中内部储存模块(NO_CS)、读数据(IN_DATA)、发送响应(DATA_ACK)、写数据(OUT_DATA)、等待响应(WAIT_ACK)。各状态的描述如下表所示:
状态名 状态名(英) 描 述
空闲状态 IDEL 此状态默认为空闲状态
片选响应 CS_ACK 此状态为外部I2C主设备接收内部I2C储存模块器件地址响应
选中内部储存模块 NO_CS 此状态为外部I2C主设备操作外部I2C从设备
写数据 OUT_DATA 此状态为外部I2C主设备写数据到外部I2C从设备。
发送响应 DATA_ACK 此状态为外部I2C主设备接收外部I2C从设备的响应
读数据 IN_DATA 此状态为外部I2C从设备发送数据给外部I2C主设备
等待响应 WAIT_ACK 此状态为外部I2C主设备发送数据响应给外部I2C从设备
内部I2C储存模块用于配置参数及用于储存校验的数据,其器件地址可配置且不同于外部I2C从设备。其作用就是一个存储器。
通道控制模块控制外部I2C从设备通道的开启和关闭及数据的通信方向。其内部是参数的双向开关,根据参数确定其方向和开/关状态,其参数来自于内部I2C储存模块。
校验模块在设置为批量读取模式时,接收从对应的外部I2C从设备中读取的数据,并与内部I2C储存模块中的数据对比,并将比较结果状态返回给外部I2C主设备,同时在内部I2C储存模块中设置对应标志位。
通过内部I2C储存模块,通道控制模块和校验模块的组合使得I2C多路复用器具备了可控通道功能和批量写入和读取数据的功能。
图3所示为本发明的控制流程图,控制流程包括以下步骤:
步骤一、当I2C多路复用器上电后,首先选择是否给I2C多路复用器配置参数:选择“是”,外部I2C主设备的数据通过采样去抖模块以及状态控制模块写入内部I2C储存模块中的用户寄存器,完成参数配置;选择“否”,直接进入步骤二;
步骤二、选择是否进行批量写入读取操作,选择“否”,I2C多路复用器进入单通道数据写入读取模式;选择“是”,I2C多路复用器进入批量数据写入读取操作;
步骤三、进入批量数据写入操作,状态控制模块的状态机配置为写数据状态,内部I2C储存模块中的用户寄存器将数据写入内部I2C储存模块中的广播控制寄存器,通过通道控制模块将需要广播的对应的外部I2C从设备通道的开关置为开,内部I2C储存模块中的数据再以广播方式下发到相对应的外部I2C从设备,完成批量写入过程;
步骤四、将状态控制模块的状态机配置为读取操作,将所需批量读取对应的外部I2C从设备通道的开关置为开;从外部I2C主设备往内部I2C储存模块中写入要比较的数据;
步骤五、外部I2C主设备发起读取操作,校验模块接收外部I2C从设备的数据并与内部I2C储存模块中的数据比较,通道控制模块将比较结果发送到外部I2C主设备;
步骤六、判断当前物理通道操作是否完成,选择“是”,完成当前操作;选择“否”,重新对外部I2C从设备进行写入读取操作。
容易知道本发明所述的控制方法还包括单通道的写入读取,即在是否进行批量读写操作时选择“否”;进入单通道写入读取模式;重复步骤三、步骤四、步骤五的流程,其中需要注意的是,与批量读写不同之处在于通道控制模块仅将所需要的单个通道开关置为开。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以设计出若干改进,这些改进也应视为本发明的保护范围。

Claims (3)

1.一种支持批量读取校验的I2C多路复用器,它是一种连接外部I2C主设备和多个外部I2C从设备的通信装置,其特征在于:
包括
采样去抖模块:包括高频时钟采样电路和去抖动电路,所述高频时钟采样电路用于对从外部I2C主设备输入的I2C数据做高速采样;所述去抖动电路用于将采样到的数据去除抖动;
状态控制模块:用于根据外部I2C主设备的命令和内部I2C储存模块的配置参数确定I2C多路复用器复用状态,状态控制模块中包含一个状态机,状态机根据主设备的I2C数据,确定其状态的转移;
内部I2C储存模块:用于配置参数以及存储需传送和校验的数据;
通道控制模块:用于控制外部I2C从设备通道的开启和关闭及数据的通信方向;
校验模块:用于接收从对应的外部I2C从设备中读取数据,并与内部I2C储存模块中的数据对比校验,并将校验结果返回给外部I2C主设备。
2.根据权利要求1所述的支持批量读取校验的I2C多路复用器,其特征在于:它是由基于FPGA或CPLD技术的电路板实现的。
3.应用权利要求1或2所述的支持批量读取校验的I2C多路复用器的控制方法,其特征在于,包括以下步骤:
步骤一、当I2C多路复用器上电后,首先选择是否给I2C多路复用器配置参数:选择“是”,外部I2C主设备的数据通过采样去抖模块以及状态控制模块写入内部I2C储存模块中的用户寄存器,完成参数配置;选择“否”,直接进入步骤二;
步骤二、选择是否进行批量写入读取操作,选择“否”,I2C多路复用器进入单通道数据写入读取模式;选择“是”,I2C多路复用器进入批量数据写入读取操作;
步骤三、进入批量数据写入操作,状态控制模块的状态机配置为写数据状态,内部I2C储存模块中的用户寄存器将数据写入内部I2C储存模块中的广播控制寄存器,通过通道控制模块将需要广播的对应的外部I2C从设备通道的开关置为开,内部I2C储存模块中的数据再以广播方式下发到相对应的外部I2C从设备,完成批量写入过程;
步骤四、将状态控制模块的状态机配置为读取操作,将所需批量读取对应的外部I2C从设备通道的开关置为开;从外部I2C主设备往内部I2C储存模块中写入要比较的数据;
步骤五、外部I2C主设备发起读取操作,校验模块接收外部I2C从设备的数据并与内部I2C储存模块中的数据比较,通道控制模块将比较结果发送到外部I2C主设备;
步骤六、判断当前物理通道操作是否完成,选择“是”,完成当前操作;选择“否”,重新对外部I2C从设备进行步骤三所述的批量数据写入操作及步骤四、步骤五所述的读取操作。
CN201310711424.4A 2013-12-20 2013-12-20 支持批量读取校验的i2c多路复用器及控制方法 Active CN103714036B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310711424.4A CN103714036B (zh) 2013-12-20 2013-12-20 支持批量读取校验的i2c多路复用器及控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310711424.4A CN103714036B (zh) 2013-12-20 2013-12-20 支持批量读取校验的i2c多路复用器及控制方法

Publications (2)

Publication Number Publication Date
CN103714036A CN103714036A (zh) 2014-04-09
CN103714036B true CN103714036B (zh) 2016-07-20

Family

ID=50407030

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310711424.4A Active CN103714036B (zh) 2013-12-20 2013-12-20 支持批量读取校验的i2c多路复用器及控制方法

Country Status (1)

Country Link
CN (1) CN103714036B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106197637A (zh) * 2015-05-05 2016-12-07 北京康智乐思网络科技有限公司 智能体重秤系统
CN105354157A (zh) * 2015-11-26 2016-02-24 北京天诚盛业科技有限公司 配置iic器件的方法、装置和系统
CN105912354B (zh) * 2016-03-16 2019-06-21 昆山软龙格自动化技术有限公司 一种cmos芯片快速i2c的烧录方法
CN106250336A (zh) * 2016-07-19 2016-12-21 青岛海信电器股份有限公司 一种fpga及进行总线切换的方法和系统
US10901738B2 (en) * 2017-11-14 2021-01-26 International Business Machines Corporation Bulk store and load operations of configuration state registers
CN109831274B (zh) * 2017-11-23 2021-07-20 杭州海康威视数字技术股份有限公司 一种数据传输方法和设备以及接收机
CN107967230A (zh) * 2017-11-30 2018-04-27 广东高云半导体科技股份有限公司 I3c电路设备、系统和通信方法
CN108595363B (zh) * 2018-04-28 2020-08-04 武汉精测电子集团股份有限公司 一种基于fpga的串行通信隔离驱动装置
CN110896372B (zh) * 2019-12-02 2022-02-18 深圳震有科技股份有限公司 一种i2c链路切换方法、终端及存储介质
CN116450552B (zh) * 2023-06-09 2023-08-29 江苏润石科技有限公司 基于i2c总线异步批量读写寄存器的方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1537281A (zh) * 2001-06-29 2004-10-13 �ʼҷ����ֵ������޹�˾ 广义的i2c从发射机/接受机状态机
CN101477504A (zh) * 2009-02-19 2009-07-08 浙江中控技术股份有限公司 数据传输系统及数据传输方法
CN102411550A (zh) * 2011-08-24 2012-04-11 四川九洲电器集团有限责任公司 一种基于i2c总线控制器件的装置与方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101819235B1 (ko) * 2011-06-08 2018-01-16 엘에스산전 주식회사 병렬 통신 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1537281A (zh) * 2001-06-29 2004-10-13 �ʼҷ����ֵ������޹�˾ 广义的i2c从发射机/接受机状态机
CN101477504A (zh) * 2009-02-19 2009-07-08 浙江中控技术股份有限公司 数据传输系统及数据传输方法
CN102411550A (zh) * 2011-08-24 2012-04-11 四川九洲电器集团有限责任公司 一种基于i2c总线控制器件的装置与方法

Also Published As

Publication number Publication date
CN103714036A (zh) 2014-04-09

Similar Documents

Publication Publication Date Title
CN103714036B (zh) 支持批量读取校验的i2c多路复用器及控制方法
CN101770443B (zh) 一种内部集成电路总线时序调节方法、相应装置及系统
CN103095855B (zh) I2c通信接口装置
US20100232196A1 (en) Multi-chip package semiconductor memory device providing active termination control
CN101770089B (zh) 液晶显示模块测试机
CN109359073B (zh) 一种基于spi总线的设备间通信方法及装置
CN102810085A (zh) Pci-e扩展系统及方法
CN101174251A (zh) 数据传输控制装置及电子设备
CN103389845A (zh) 一种电容式触摸屏烧录测试系统
CN116450552B (zh) 基于i2c总线异步批量读写寄存器的方法及系统
CN108964648A (zh) 一种时序控制装置及方法
WO2020046909A1 (en) Aggregated in-band interrupt
CN100380819C (zh) 数据传输控制装置及电子设备
EP2500827A2 (en) Memory controller address and data pin multiplexing
CN103401743B (zh) 一种i2c总线消除干扰信号的方法和装置
CN100446055C (zh) 移动通信终端的显示部的白化现象检测及处理方法
CN103530249B (zh) 内部整合电路总线传输系统及其传输方法
CN107967230A (zh) I3c电路设备、系统和通信方法
CN101604277A (zh) I2c总线验证系统及方法
CN114910736A (zh) 一种样品芯片的电流测试系统
CN100460876C (zh) 测试系统及其数据接口转换装置
CN107704403B (zh) 一种优化主背板信号传输的装置及方法
CN208588479U (zh) 一种使用单线总线技术的温度传感器
CN103049590A (zh) 信号线检查系统及方法
CN102694719B (zh) 微型电信计算架构系统、载板集线器模块及pci‑e交换器的端口配置方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CB03 Change of inventor or designer information

Inventor after: Peng Jian

Inventor after: Chen Kai

Inventor after: Zheng Zengqiang

Inventor after: Shen Yafei

Inventor after: Deng Biaohua

Inventor after: Ou Changdong

Inventor after: Tang Qilin

Inventor before: Peng Jian

Inventor before: Chen Kai

Inventor before: Zheng Zengqiang

Inventor before: Shen Yafei

Inventor before: Deng Biaohua

Inventor before: Ou Changdong

Inventor before: Tang Qilin

COR Change of bibliographic data