CN102866967A - I2c设备管理方法及复杂可编程逻辑器件cpld - Google Patents

I2c设备管理方法及复杂可编程逻辑器件cpld Download PDF

Info

Publication number
CN102866967A
CN102866967A CN2012103214535A CN201210321453A CN102866967A CN 102866967 A CN102866967 A CN 102866967A CN 2012103214535 A CN2012103214535 A CN 2012103214535A CN 201210321453 A CN201210321453 A CN 201210321453A CN 102866967 A CN102866967 A CN 102866967A
Authority
CN
China
Prior art keywords
sda
scl
grouping
gating
analog switch
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.)
Granted
Application number
CN2012103214535A
Other languages
English (en)
Other versions
CN102866967B (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.)
Ziguang Hengyue Technology Co.,Ltd.
Original Assignee
Hangzhou H3C Technologies 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 Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201210321453.5A priority Critical patent/CN102866967B/zh
Publication of CN102866967A publication Critical patent/CN102866967A/zh
Application granted granted Critical
Publication of CN102866967B publication Critical patent/CN102866967B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Abstract

本发明公开了一种I2C设备管理方法,包括:在CPLD中为主机的I2C设备分配唯一的设备ID及配置所述设备ID与该I2C设备所在SCL分组和SDA模拟开关分组的对应关系;配置每一SCL分组与SCL选通控制寄存器值的对应关系,配置每一SDA模拟开关分组与SDA选通控制寄存器值的对应关系;CPLD通过任意总线接收到I2C控制器发送的待访问I2C设备的ID,查找该设备ID对应的SCL分组和SDA模拟开关分组,根据上述配置的对应关系选通相应的SCL和SDA模拟开关。本发明还公开了一种CPLD。本发明可有效管理一台主机设备上的多个I2C设备。

Description

I2C设备管理方法及复杂可编程逻辑器件CPLD
技术领域
本申请涉及数据通信领域,尤其涉及一种I2C设备管理方法及复杂可编程逻辑器件CPLD。
背景技术
I2C(Inter-Integrated Circuit内部整合电路)总线是由PHILIPS公司开发的一种简单的双向两线总线,用于IC(Integrated Circuit集成电路板)之间的有限控制,包括I2C的串行时钟线(SCL)和I2C的串行数据线(SDA)两根线。
随着通信技术的发展,诸如路由器、交换机等网络设备上使用带有I2C接口的器件、设备越来越多,如:内存条、光模块、实时时钟芯片(RTC)、温度传感器、带有I2C接口的各种自主开发的插卡、扣卡等。
I2C总线的地址格式有7位和10位两种。以7位为例,理论上一条I2C总线最多可挂接的I2C设备可以达到128(=27)个,但是实际上由于受总线总电容不能超过400PF(皮法拉)的限制,且绝大多数I2C设备的类型相同,这些相同类型的I2C设备的高4位或者5位地址都是固定的,仅低3位或者低2位地址可以设置,因此,同一条I2C总线上可挂接的相同类型的I2C设备数量非常有限,仅能达到8(=23)个或者4(=22)个。例如:串行电可擦可编程只读存储器(EEPROM)的前4位地址为固定的“1010”,只有低3位可以设置,则同一条I2C总线一般仅能挂接8(=23)个EEPROM。而实际应用中,诸如路由器、交换机等网络设备上使用带有I2C接口的器件、设备却越来越多。例如,同一条I2C总线上可挂接的相同类型的I2C设备数量最多只能为8个,但一台主机设备上却需要挂接32个I2C设备。
因此,如何对一台主机设备上的多个I2C设备进行有效管理成为急待解决的问题。
发明内容
有鉴于此,本申请提出一种复杂可编程逻辑器件CPLD,可有效管理一台主机设备上的多个I2C设备。
本申请还提出一种I2C设备管理方法,可有效管理一台主机设备上的多个I2C设备。
为达到上述目的,本申请实施例的技术方案是这样实现的:
一种复杂可编程逻辑器件CPLD,其特征在于,包括:内部整合电路I2C设备ID解析模块、I2C的串行时钟线SCL控制模块和I2C的串行数据线SDA控制模块,其中:
I2C设备ID解析模块,用于配置I2C设备ID分配与解析表,所述I2C设备ID分配与解析表用于设置主机的每一I2C设备的设备ID与该I2C设备所在SCL分组和SDA模拟开关分组的对应关系;接收I2C控制器发送的待访问控制的I2C设备的ID,在所述I2C设备ID分配与解析表中查找该I2C设备ID对应的SCL分组和SDA模拟开关分组,将所述SCL分组发送给SCL控制模块,将所述SDA模拟开关分组发送给SDA控制模块;
SCL控制模块,用于配置SCL选通控制表,所述SCL选通控制表用于设置每一SCL分组与SCL选通控制寄存器值的对应关系;接收来自I2C设备ID解析模块的SCL分组信息,根据所述SCL分组信息和所述SCL选通控制表,选通相应的SCL;
SDA控制模块,用于配置SDA选通控制表,所述SDA选通控制表用于设置每一SDA模拟开关分组与SDA选通控制寄存器值的对应关系;接收来自I2C设备ID解析模块的SDA模拟开关分组信息,根据所述SDA模拟开关分组信息和所述SDA选通控制表,选通相应的SDA模拟开关。
一种I2C设备管理方法,其特征在于,包括以下步骤:
预先在复杂可编程逻辑器件CPLD中配置内部整合电路I2C设备ID分配与解析表、I2C的串行时钟线SCL选通控制表和I2C的串行数据线SDA选通控制表;
所述I2C设备ID分配与解析表用于设置主机的每一I2C设备的设备ID与该I2C设备所在SCL分组和SDA模拟开关分组的对应关系;所述SCL选通控制表用于设置每一SCL分组与SCL选通控制寄存器值的对应关系,所述SDA选通控制表用于设置每一SDA模拟开关分组与SDA选通控制寄存器值的对应关系;
CPLD通过任意总线接收到I2C控制器发送的待访问控制的I2C设备的ID,在所述I2C设备ID分配与解析表中查找该I2C设备ID对应的SCL分组和SDA模拟开关分组;
CPLD根据所述SCL分组和所述SCL选通控制表,选通相应的SCL;根据所述SDA模拟开关分组和所述SDA选通控制表,选通相应的SDA模拟开关。
本申请的有益效果为,通过为主机的所有I2C设备分配唯一的设备ID,配置设备ID与I2C设备所在SCL分组和SDA模拟开关分组的对应关系,当CPLD接收到待访问控制的I2C设备的设备ID时,根据上述对应关系选通待访问控制的I2C设备ID对应的SCL和SDA模拟开关,从而实现对主机的多个I2C设备进行有效管理。
附图说明
图1为本申请实施例的主机A的I2C总线拓扑结构示意图;
图2为本申请实施例的CPLD装置结构图;
图3为本申请实施例的方法流程图;
图4为本申请实施例的主机B的I2C总线拓扑结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下通过具体实施例并参见附图,对本发明进行详细说明。
本申请中,预先为主机的所有I2C设备分配唯一的设备ID,配置设备ID与I2C设备所在SCL分组和SDA模拟开关分组的对应关系,配置每一SCL分组与SCL选通控制寄存器值的对应关系,配置每一SDA模拟开关分组与SDA选通控制寄存器值的对应关系。
当I2C控制器(或具有I2C控制器的器件,如微控制器CPU等)访问控制任一I2C设备时,I2C控制器将该I2C设备的设备ID发送给CPLD,CPLD解析出此设备ID对应的SCL分组和SDA模拟开关分组,从而根据SCL分组与SCL选通控制寄存器值的对应关系选通相应的SCL,根据SDA模拟开关分组与SDA选通控制寄存器值的对应关系选通相应的SDA对应的模块开关,当待访问控制的上述I2C设备所对应的SCL和SDA模拟开关同时选通,即打开上述I2C设备所对应的SCL和SDA模拟开关,关闭其它SCL和SDA模拟开关,I2C控制器就可以正常访问上述I2C设备了。
本申请方案可实现对不同主机的统一管理,也就是说,当本申请方案应用到其它不同的主机时,不同主机的硬件I2C总线拓扑结构可根据各主机I2C设备的实际位置进行差异化设计,并且可以采用统一的软件对不同主机的I2C设备进行统一管理,无须针对不同的主机开发不同的软件。
假设一台主机设备A有32个I2C设备,其I2C总线拓扑结构如图1所示,I2C控制器要对这32个I2C设备(设备00~1F)进行管理。I2C控制器的I2C总线的时钟信号SCL进CPLD,经过CPLD的SCL控制模块后分成4组(SCLx(x=0~3)),每组挂接8个I2C设备。I2C控制器的I2C总线的数据信号SDA经过8个模拟开关(模拟开关0~7),每个模拟开关后挂接4个I2C设备,模拟开关的选通控制信号SDA_SELx(x=0~7)由CPLD的SDA控制模块提供。下面以具体实施例来说明如何对主机设备上的多个I2C设备进行有效的管理。
本申请实施例的装置结构如图2所示,一种复杂可编程逻辑器件CPLD,包括:I2C设备ID解析模块、SCL控制模块和SDA控制模块,其中:
I2C设备ID解析模块,用于配置I2C设备ID分配与解析表,所述I2C设备ID分配与解析表用于设置所述主机每一I2C设备的设备ID与该I2C设备所在SCL分组和SDA模拟开关分组的对应关系,结合图1硬件的I2C总线拓扑结构情况,I2C设备ID分配与解析表的示意表如下表1所示:
  I2C设备名称   I2C设备ID   SCL分组   SDA模拟开关分组
  设备00   00   SCL0   模拟开关0
  设备01   01   SCL0   模拟开关1
  ......   ......   ......   ......
  设备08   08   SCL1   模拟开关0
  设备09   09   SCL1   模拟开关1
  ......   ......   ......   ......
  设备16   16   SCL2   模拟开关6
  设备17   17   SCL2   模拟开关7
  ......   ......   ......    ......
  设备1E   1E   SCL3   模拟开关6
  设备1F   1F   SCL3   模拟开关7
表1
从表1可以看出,所述I2C设备ID分配与解析表包括以下表项:I2C设备ID、SCL分组、SDA模拟开关分组,其中,所述I2C设备ID对应于该I2C设备所在的SCL分组和SDA模拟开关分组,此外,还可以包含I2C设备名称,每一I2C设备名称对应唯一的I2C设备ID,方便用户识别I2C设备。
I2C设备ID为I2C控制器与CPLD双方约定的、为每一个I2C设备所分配的唯一的ID。I2C设备ID与I2C设备所在的SCL分组、SDA模拟开关分组的对应关系是根据硬件的I2C总线实际拓扑结构确定的。
例如,通过表1,可以知道为设备16分配的唯一设备ID为16,而通过图1中I2C总线实际拓扑结构可知设备16所在的SCL分组为SCL2,所在的SDA模拟开关分组为模拟开关6,因此,设备16的设备ID=16,对应于SCL2和模拟开关6。
当I2C控制器要访问控制任一I2C设备时,所述I2C设备ID解析模块,接收I2C控制器发送的待访问控制的I2C设备的ID,在所述I2C设备ID分配与解析表中查找该I2C设备ID对应的SCL分组和SDA模拟开关分组,将所述SCL分组发送给SCL控制模块,将所述SDA模拟开关分组发送给SDA控制模块。
当CPLD接收到I2C控制器发送的待访问控制的I2C设备的ID后,还可以先判断所述I2C设备ID是否已存在于CPLD配置的I2C设备ID分配与解析表中,若不存在,则表示所述I2C设备ID,需要进行异常处理,即将所述I2C设备ID不合法的信息输出;若已存在,则在所述I2C设备ID分配与解析表中查找该I2C设备ID对应的SCL分组和SDA模拟开关分组。
例如,若I2C控制器需要访问控制设备16,I2C控制器将设备16的设备ID=16通过任意总线(比如,Local BUS)发送给CPLD,CPLD接收到设备ID=16的信息后,就会在自身预先配置的I2C设备ID分配与解析表的I2C设备ID表项中查找16,如表1所示,当16存在于I2C设备ID分配与解析表中时,也就是判断设备ID=16是合法的,然后查找16对应的SCL分组SCL2和SDA模拟开关分组模拟开关6,将SCL2发送给SCL控制模块,将模拟开关6发送给SDA控制模块。
SCL控制模块,用于配置SCL选通控制表,所述SCL选通控制表用于设置所述每一SCL分组与SCL选通控制寄存器值的对应关系,SCL选通控制表的示意表如下表2所示:
  SCL分组   SCL选通控制寄存器[1:0]值   对应选通的I2C设备
  SCL0   00   设备00~07
  SCL1   01   设备08~0F
  SCL2   10   设备10~17
  SCL3   11   设备18~1F
表2
如表2所示,SCL选通控制表包括以下表项:SCL分组、SCL选通控制寄存器值、对应选通的I2C设备;其中,SCL分组对应于所述I2C设备ID分配与解析表中的SCL分组,每一SCL分组对应唯一的SCL选通控制寄存器值,所述SCL选通控制寄存器值对应选通该SCL分组内的所有I2C设备。
CPLD对外的时钟信号SCLx(x=0~3)内部均有选通控制寄存器,当I2C设备ID解析模块将SCL分组发送给SCL控制模块时,SCL控制模块还用于接收来自I2C设备ID解析模块的SCL分组信息,根据所述SCL分组和所述SCL选通控制表,选通相应的SCL,即配置SCL选通控制寄存器值为所述SCL分组对应的寄存器值,也就选通了相应的SCL。
例如,当I2C设备ID解析模块将设备ID=16对应的SCL分组SCL2发送给SCL控制模块时,SCL控制模块根据SCL2和SCL选通控制表(如表2),选通SCL2,其它SCL分组关闭,即将SCL2对应的寄存器值配置为10,此时SCL就选通了I2C设备10~17。
SDA控制模块,用于配置SDA选通控制表,所述SDA选通控制表用于设置所述每一SDA模拟开关分组与SDA选通控制寄存器值的对应关系,SDA选通控制表的示意表如下表3所示:
 SDA模拟开关分组   SDA选通控制寄存器[2:0]值   对应选通的I2C设备
  模拟开关0   000   设备00、08、10、18
  模拟开关1   001   设备01、09、11、19
  模拟开关2   010   设备02、0A、12、1A
  模拟开关3   011   设备03、0B、13、1B
  模拟开关4   100   设备04、0C、14、1C
  模拟开关5   101   设备05、0D、15、1D
  模拟开关6   110   设备06、0E、16、1E
  模拟开关7   111   设备07、0F、17、1F
表3
从表3可知,所述SDA选通控制表包括以下表项:SDA模拟开关分组、SDA选通控制寄存器值、对应选通的I2C设备;其中,SDA模拟开关分组对应于所述I2C设备ID分配与解析表中的SDA模拟开关分组,每一SDA模拟开关分组对应唯一的SDA选通控制寄存器值,所述SDA选通控制寄存器值对应选通该SDA模拟开关分组内的所有I2C设备。
SDA信号由于是双向信号,没有经过CPLD进行切换,而是经过外部的模拟开关进行切换,模拟开关的选通由CPLD的SDA控制模块控制,这些选通信号的控制和SCL类似,CPLD内部有一个选通控制寄存器,SDA控制模块根据I2C设备ID解析模块发送的SDA模拟开关分组信息选通相应的数据信号的模拟开关SDA_SELx(x=0~7)。
也就是,当I2C设备ID解析模块将SDA模拟开关分组发送给SDA控制模块时,SDA控制模块还用于接收所述SDA模拟开关分组信息,根据所述SDA模拟开关分组和所述SDA选通控制表,选通相应的SDA模拟开关,即配置SDA选通控制寄存器值为所述SDA模拟开关分组对应的寄存器值,也就选通了相应的SDA模拟开关。
例如,当I2C设备ID解析模块将设备ID=16对应的SDA模拟开关分组即模拟开关6,发送给SDA控制模块时,SDA控制模块根据模拟开关6和SDA选通控制表(如表3),选通SDA_SEL6,即打开模拟开关6,其它模拟开关关闭,也就是将模拟开关6对应的寄存器值配置为110,此时SDA就选通了I2C设备06、0E、16、1E。
因此,当选通SCL2和模拟开关6时,I2C控制器就可以正常访问控制设备16了。
本申请实施例的方法流程如图3所示,一种I2C设备管理方法,包括以下步骤:
步骤301:预先在复杂可编程逻辑器件CPLD中配置内部整合电路I2C设备ID分配与解析表、I2C的串行时钟线SCL选通控制表和I2C的串行数据线SDA选通控制表。
所述I2C设备ID分配与解析表用于设置主机的每一I2C设备的设备ID与该I2C设备所在SCL分组和SDA模拟开关分组的对应关系,包括以下表项:I2C设备ID、SCL分组、SDA模拟开关分组;其中,所述I2C设备ID对应于该I2C设备所在的SCL分组和SDA模拟开关分组,此外,还可以包含I2C设备名称,每一I2C设备名称对应唯一的I2C设备ID,方便用户识别I2C设备。
所述SCL选通控制表用于设置所述每一SCL分组与SCL选通控制寄存器值的对应关系,包括以下表项:SCL分组、SCL选通控制寄存器值、对应选通的I2C设备;其中,SCL分组对应于所述I2C设备ID分配与解析表中的SCL分组,每一SCL分组对应唯一的SCL选通控制寄存器值,所述SCL选通控制寄存器值对应选通该SCL分组内的所有I2C设备。
所述SDA选通控制表用于设置所述每一SDA模拟开关分组与SDA选通控制寄存器值的对应关系,包括以下表项:SDA模拟开关分组、SDA选通控制寄存器值、对应选通的I2C设备;其中,SDA模拟开关分组对应于所述I2C设备ID分配与解析表中的SDA模拟开关分组,每一SDA模拟开关分组对应唯一的SDA选通控制寄存器值,所述SDA选通控制寄存器值对应选通该SDA模拟开关分组内的所有I2C设备。
步骤302:CPLD通过任意总线接收到I2C控制器发送的待访问控制的I2C设备的ID,在所述I2C设备ID分配与解析表中查找该I2C设备ID对应的SCL分组和SDA模拟开关分组。
较佳地,所述CPLD通过任意总线接收到I2C控制器发送的该I2C设备的ID之后,CPLD判断所述I2C设备ID是否已存在于所述I2C设备ID分配与解析表中,若不存在,则将所述I2C设备ID不合法的信息输出,若已存在,则在所述I2C设备ID分配与解析表中查找该I2C设备ID对应的SCL分组和SDA模拟开关分组。
步骤303:CPLD根据所述SCL分组和所述SCL选通控制表,选通相应的SCL;根据所述SDA模拟开关分组和所述SDA选通控制表,选通相应的SDA模拟开关。
本申请可以实现对一台主机的多个I2C设备进行有效管理,此外,本申请方案应用于多款不同的主机时,软件不需要关注硬件的I2C总线拓扑结构,只需要和硬件CPLD约定,预先为所有I2C设备分配唯一的ID,然后与CPLD的I2C设备ID解析模块交互就可以间接访问和控制任一I2C设备,实现对不同主机的I2C设备的有效管理。
因此,针对不同的主机,本申请可以实现对不同主机的所有I2C设备进行硬件差异化设计、软件归一化管理的目的,也就是说,既可根据各主机的I2C设备实际位置对不同主机的I2C总线拓扑进行差异化设计,又可采用统一的软件对不同主机的I2C设备进行访问和控制,当开发多款主机设备时,本申请的技术效果更加明显。
例如,假设一台主机设备B有8个I2C设备,主机B的I2C设备可以和主机A的I2C设备是不同的,此处为了举例的方便,假设这8个I2C设备与主机A的8个I2C设备是相同的,即为设备00、设备01、设备08、设备09、设备16、设备17、设备1E、设备1F。和主机A一样,主机B的I2C拓扑结构也完全符合硬件自身的设计要求,其硬件I2C总线拓扑结构根据这8个I2C设备的实际位置进行设计,比如,采用就近原则对I2C设备进行分组,将相距较近的I2C设备分在一组。如图4所示,从图中可看出,由于主机B实现硬件的差异化设计,其硬件I2C总线拓扑结构与上述主机A是有差异的,若按照现有技术,基于主机A的硬件I2C总线拓扑结构设计的软件无法应用于主机B,需要重新根据主机B的硬件I2C总线拓扑结构进行软件开发,但采用本申请技术方案,可实现软件的归一化管理,也就是说,应用于主机A的软件也可以同样应用于主机B,无须重新进行软件开发,具体实现过程如下:
每个主机内部的I2C设备ID分配与解析表会根据各主机的实际硬件I2C拓扑结构不同而不同,主机B的I2C设备ID分配与解析表如下表4所示:
Figure BDA00002094031500081
Figure BDA00002094031500091
表4
主机B的SCL选通控制表如下表5所示:
  SCL分组   SCL选通控制寄存器值   对应选通的I2C设备
  SCL0   0   设备00、01、16、17
  SCL1   1   设备08、09、1E、1F
表5
主机B的SDA选通控制表如下表6所示:
 SDA模拟开关分组   SDA选通控制寄存器值   对应选通的I2C设备
  模拟开关0   0   设备00、01、08、09
  模拟开关1   1   设备16、17、1E、1F
表6
例如,这里I2C控制器仍要访问控制设备16,则I2C控制器通过任意总线向CPLD的I2C设备ID解析模块中写入I2C设备ID值“16”,CPLD通过任意总线接收到I2C控制器发送的设备ID值“16”,当设备ID值“16”已存在于I2C设备ID分配与解析表(如上述表4)中时,CPLD在表4中查找到设备ID值“16”对应的SCL分组“SCL0”和SDA模拟开关分组“模拟开关1”。
CPLD根据SCL分组“SCL0”和SCL选通控制表(如上述表5),将“SCL0”对应的SCL选通控制寄存器值配置为0,选通相应的SCL;根据所述SDA模拟开关分组“模拟开关1”和SDA选通控制表(如上述表6),将“模拟开关1”对应的SDA选通控制寄存器值配置为1,选通相应的SDA模拟开关,从而选通I2C设备16,此时,I2C控制器就可以对I2C设备16进行访问和控制了。
通过实现软件的归一化管理,可以有效提高软件开发效率,降低软件维护成本,节省人力物力。通过实现硬件的差异化设计,有利于硬件信号完整性提升、降低物料成本和硬件设计复杂度和冗余度,从而提高硬件设计的简洁度。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (10)

1.一种复杂可编程逻辑器件CPLD,其特征在于,包括:内部整合电路I2C设备ID解析模块、I2C的串行时钟线SCL控制模块和I2C的串行数据线SDA控制模块,其中:
I2C设备ID解析模块,用于配置I2C设备ID分配与解析表,所述I2C设备ID分配与解析表用于设置主机的每一I2C设备的设备ID与该I2C设备所在SCL分组和SDA模拟开关分组的对应关系;接收I2C控制器发送的待访问控制的I2C设备的ID,在所述I2C设备ID分配与解析表中查找该I2C设备ID对应的SCL分组和SDA模拟开关分组,将所述SCL分组发送给SCL控制模块,将所述SDA模拟开关分组发送给SDA控制模块;
SCL控制模块,用于配置SCL选通控制表,所述SCL选通控制表用于设置每一SCL分组与SCL选通控制寄存器值的对应关系;接收来自I2C设备ID解析模块的SCL分组信息,根据所述SCL分组信息和所述SCL选通控制表,选通相应的SCL;
SDA控制模块,用于配置SDA选通控制表,所述SDA选通控制表用于设置每一SDA模拟开关分组与SDA选通控制寄存器值的对应关系;接收来自I2C设备ID解析模块的SDA模拟开关分组信息,根据所述SDA模拟开关分组信息和所述SDA选通控制表,选通相应的SDA模拟开关。
2.根据权利要求1所述的复杂可编程逻辑器件CPLD,其特征在于,所述I2C设备ID解析模块中配置的I2C设备ID分配与解析表包括以下表项:I2C设备ID、SCL分组、SDA模拟开关分组;其中,所述I2C设备ID对应于该I2C设备所在的SCL分组和SDA模拟开关分组。
3.根据权利要求2所述的复杂可编程逻辑器件CPLD,其特征在于,所述SCL控制模块中配置的SCL选通控制表,包括以下表项:SCL分组、SCL选通控制寄存器值、对应选通的I2C设备;其中,SCL分组对应于所述I2C设备ID分配与解析表中的SCL分组,每一SCL分组对应唯一的SCL选通控制寄存器值,所述SCL选通控制寄存器值对应选通该SCL分组内的所有I2C设备。
4.根据权利要求2所述的复杂可编程逻辑器件CPLD,其特征在于,所述SDA控制模块中配置的SDA选通控制表,包括以下表项:SDA模拟开关分组、SDA选通控制寄存器值、对应选通的I2C设备;其中,SDA模拟开关分组对应于所述I2C设备ID分配与解析表中的SDA模拟开关分组,每一SDA模拟开关分组对应唯一的SDA选通控制寄存器值,所述SDA选通控制寄存器值对应选通该SDA模拟开关分组内的所有I2C设备。
5.根据权利要求1所述的复杂可编程逻辑器件CPLD,其特征在于,所述I2C设备ID解析模块,还用于判断所述I2C设备ID是否已存在于所述I2C设备ID分配与解析表中,若不存在,则将所述I2C设备ID不合法的信息输出;若已存在,则在所述I2C设备ID分配与解析表中查找该I2C设备ID对应的SCL分组和SDA模拟开关分组。
6.一种I2C设备管理方法,其特征在于,包括以下步骤:
预先在复杂可编程逻辑器件CPLD中配置内部整合电路I2C设备ID分配与解析表、I2C的串行时钟线SCL选通控制表和I2C的串行数据线SDA选通控制表;
所述I2C设备ID分配与解析表用于设置主机的每一I2C设备的设备ID与该I2C设备所在SCL分组和SDA模拟开关分组的对应关系;所述SCL选通控制表用于设置每一SCL分组与SCL选通控制寄存器值的对应关系,所述SDA选通控制表用于设置每一SDA模拟开关分组与SDA选通控制寄存器值的对应关系;
CPLD通过任意总线接收到I2C控制器发送的待访问控制的I2C设备的ID,在所述I2C设备ID分配与解析表中查找该I2C设备ID对应的SCL分组和SDA模拟开关分组;
CPLD根据所述SCL分组和所述SCL选通控制表,选通相应的SCL;根据所述SDA模拟开关分组和所述SDA选通控制表,选通相应的SDA模拟开关。
7.根据权利要求6所述的方法,其特征在于,所述I2C设备ID分配与解析表包括以下表项:I2C设备ID、SCL分组、SDA模拟开关分组;其中,所述I2C设备ID对应于该I2C设备所在的SCL分组和SDA模拟开关分组。
8.根据权利要求7所述的方法,其特征在于,所述SCL选通控制表,包括以下表项:SCL分组、SCL选通控制寄存器值、对应选通的I2C设备;其中,SCL分组对应于所述I2C设备ID分配与解析表中的SCL分组,每一SCL分组对应唯一的SCL选通控制寄存器值,所述SCL选通控制寄存器值对应选通该SCL分组内的所有I2C设备。
9.根据权利要求7所述的方法,其特征在于,所述SDA选通控制表,包括以下表项:SDA模拟开关分组、SDA选通控制寄存器值、对应选通的I2C设备;其中,SDA模拟开关分组对应于所述I2C设备ID分配与解析表中的SDA模拟开关分组,每一SDA模拟开关分组对应唯一的SDA选通控制寄存器值,所述SDA选通控制寄存器值对应选通该SDA模拟开关分组内的所有I2C设备。
10.根据权利要求6所述的方法,其特征在于,所述CPLD通过任意总线接收到I2C控制器发送的待访问控制的I2C设备的ID之后进一步包括:
CPLD判断所述I2C设备ID是否已存在于所述I2C设备ID分配与解析表中,若不存在,则将所述I2C设备ID不合法的信息输出;若已存在,则在所述I2C设备ID分配与解析表中查找该I2C设备ID对应的SCL分组和SDA模拟开关分组。
CN201210321453.5A 2012-09-03 2012-09-03 I2c设备管理方法及复杂可编程逻辑器件cpld Active CN102866967B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210321453.5A CN102866967B (zh) 2012-09-03 2012-09-03 I2c设备管理方法及复杂可编程逻辑器件cpld

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210321453.5A CN102866967B (zh) 2012-09-03 2012-09-03 I2c设备管理方法及复杂可编程逻辑器件cpld

Publications (2)

Publication Number Publication Date
CN102866967A true CN102866967A (zh) 2013-01-09
CN102866967B CN102866967B (zh) 2015-08-26

Family

ID=47445845

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210321453.5A Active CN102866967B (zh) 2012-09-03 2012-09-03 I2c设备管理方法及复杂可编程逻辑器件cpld

Country Status (1)

Country Link
CN (1) CN102866967B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015145347A1 (en) 2014-03-24 2015-10-01 Inesc Porto- Instituto De Engenharia De Sistemas E Computadores Do Porto Control module for multiple mixed-signal resources management
RU2620729C1 (ru) * 2016-04-06 2017-05-29 Федеральное государственное бюджетное учреждение науки Институт проблем управления им. В.А. Трапезникова Российской академии наук Система сбора цифровых данных
CN108287796A (zh) * 2018-01-24 2018-07-17 郑州云海信息技术有限公司 一种控制系统和可编程逻辑器件的通信方法
CN108959157A (zh) * 2018-06-26 2018-12-07 郑州云海信息技术有限公司 一种可编程逻辑器件的控制系统及方法
US10185563B2 (en) 2014-03-24 2019-01-22 Inesc Tec—Instituto De Engenharia De Sistemas E Control module for multiple mixed-signal resources management
CN111865411A (zh) * 2020-06-30 2020-10-30 苏州浪潮智能科技有限公司 一种交换机光模块监控方法、装置及相关组件

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1567278A (zh) * 2003-07-06 2005-01-19 华为技术有限公司 内部集成电路总线访问控制系统
US20060277346A1 (en) * 2003-10-06 2006-12-07 David Doak Port adapter for high-bandwidth bus
CN101256544A (zh) * 2008-03-25 2008-09-03 华为技术有限公司 内部集成电路总线的扩展方法、装置及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1567278A (zh) * 2003-07-06 2005-01-19 华为技术有限公司 内部集成电路总线访问控制系统
US20060277346A1 (en) * 2003-10-06 2006-12-07 David Doak Port adapter for high-bandwidth bus
CN101256544A (zh) * 2008-03-25 2008-09-03 华为技术有限公司 内部集成电路总线的扩展方法、装置及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
吴晓闻等: "基于CoolRunner CPLD的I2C总线控制器设计", 《微电子学与计算机》, vol. 21, no. 3, 31 March 2004 (2004-03-31), pages 97 - 100 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015145347A1 (en) 2014-03-24 2015-10-01 Inesc Porto- Instituto De Engenharia De Sistemas E Computadores Do Porto Control module for multiple mixed-signal resources management
CN106471483A (zh) * 2014-03-24 2017-03-01 伊耐斯克泰克—计算机科学与技术系统工程研究所 用于多个混合信号资源管理的控制模块
US9921835B2 (en) 2014-03-24 2018-03-20 Inesc Tec—Instituto De Engenharia De Sistemas E Computadores, Tecnologia E Ciã?Ncia Control module for multiple mixed-signal resources management
US10185563B2 (en) 2014-03-24 2019-01-22 Inesc Tec—Instituto De Engenharia De Sistemas E Control module for multiple mixed-signal resources management
CN106471483B (zh) * 2014-03-24 2019-12-13 伊耐斯克泰克—计算机科学与技术系统工程研究所 设置、捕获、处理及扫描模块及其操作方法、包括模块的装置及混合信号总线
RU2620729C1 (ru) * 2016-04-06 2017-05-29 Федеральное государственное бюджетное учреждение науки Институт проблем управления им. В.А. Трапезникова Российской академии наук Система сбора цифровых данных
CN108287796A (zh) * 2018-01-24 2018-07-17 郑州云海信息技术有限公司 一种控制系统和可编程逻辑器件的通信方法
CN108959157A (zh) * 2018-06-26 2018-12-07 郑州云海信息技术有限公司 一种可编程逻辑器件的控制系统及方法
CN111865411A (zh) * 2020-06-30 2020-10-30 苏州浪潮智能科技有限公司 一种交换机光模块监控方法、装置及相关组件

Also Published As

Publication number Publication date
CN102866967B (zh) 2015-08-26

Similar Documents

Publication Publication Date Title
CN102866967B (zh) I2c设备管理方法及复杂可编程逻辑器件cpld
CN105260337B (zh) 一种单片机的自动编址方法及系统
CN103095855B (zh) I2c通信接口装置
US10198396B2 (en) Master control board that switches transmission channel to local commissioning serial port of the master control board
CN103207852B (zh) 多总线嵌入式处理装置
US9331868B2 (en) Method of bus virtualization in computing machine intercommunications
CN103559152A (zh) 基于pcie协议的cpu访问本地总线的装置及方法
CN106385388A (zh) 一种基于2fi+ctc5160架构的千兆以太网交换系统
CN105515858B (zh) 基于sca的波形组件动态地址配置系统及方法
CN103500148A (zh) 一种主控卡读取业务线卡类型的装置和方法
CN103200078A (zh) 网关、通讯网络及数据处理方法
CN104320317A (zh) 一种以太网物理层芯片状态的传送方法和装置
CN109446145A (zh) 一种服务器主板i2c通道扩展芯片、电路及控制方法
CN103309833A (zh) 设备整合方法、终端装置和分布式多终端装置系统
CN104239259A (zh) 用于与动态可重配置电路进行通信的桥接电路
CN103412838B (zh) 一种扩展系统、通信方法、地址配置方法、设备及装置
CN105630718A (zh) 提供主机即时切换分享通用串行总线电子设备的电子装置
CN102722744A (zh) 利用rfid标签实现的一种无线传感器
CN202749911U (zh) 配电终端
CN104836710A (zh) 一种基于分布式系统一主多从通信的方法与装置
CN109885345A (zh) 一种数据存储方法、sd存储卡及电子设备和存储介质
CN202584175U (zh) 利用rfid标签实现的一种无线传感器
CN106559299A (zh) 串行通信设备、串行通信系统以及串行通信方法
CN104933453A (zh) 环网柜信息的管理系统和方法
CN101320359A (zh) 串口设备控制电路及控制方法

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
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: Xinhua three Technology Co., Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: Huasan Communication Technology Co., Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220128

Address after: 100082 room 402, building 2, yard 1, Zhongguancun East Road, Haidian District, Beijing

Patentee after: Ziguang Hengyue Technology Co.,Ltd.

Address before: 310052 Changhe Road, Binjiang District, Hangzhou, Zhejiang Province, No. 466

Patentee before: NEW H3C TECHNOLOGIES Co.,Ltd.