CN102193889A - 一种i2c总线转发器及其读写方法 - Google Patents

一种i2c总线转发器及其读写方法 Download PDF

Info

Publication number
CN102193889A
CN102193889A CN2011101524975A CN201110152497A CN102193889A CN 102193889 A CN102193889 A CN 102193889A CN 2011101524975 A CN2011101524975 A CN 2011101524975A CN 201110152497 A CN201110152497 A CN 201110152497A CN 102193889 A CN102193889 A CN 102193889A
Authority
CN
China
Prior art keywords
read
bus
write
slave unit
repeaters
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
CN2011101524975A
Other languages
English (en)
Other versions
CN102193889B (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.)
Hangzhou National Chip Science & Technology Co Ltd
Original Assignee
Hangzhou National Chip Science & 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 Hangzhou National Chip Science & Technology Co Ltd filed Critical Hangzhou National Chip Science & Technology Co Ltd
Priority to CN201110152497.5A priority Critical patent/CN102193889B/zh
Publication of CN102193889A publication Critical patent/CN102193889A/zh
Application granted granted Critical
Publication of CN102193889B publication Critical patent/CN102193889B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Abstract

本发明提出一种可在不同传输频率的I2C总线间使用的I2C总线转发器及其读写方法,具有多种频率转发功能,且操作简单,无需额外开关控制。所述的I2C总线转发器,包括一个总线从设备接口、一个或多个总线主设备接口、一个状态机和至少一个读写寄存器,其中,总线主设备接口、总线从设备接口和读写寄存器分别与状态机相连。

Description

一种I2C总线转发器及其读写方法
技术领域
本发明所述的技术方案涉及一种总线转发器及其读写方法,尤其是一种应用于不同频率的I2C总线的转发器及其读写方法。
技术背景
I2C(集成电路间互连总线)是由飞利浦公司于上世纪80年代早期开发的。它是一个简单的两线总线,包括一条数据线和一条时钟线。目前I2C已经成为重要的全球业界标准,被所有主要的IC厂商所认同和使用。I2C是低数据速率方式,用于短距离用途,它具有多种功能和仲裁特性,采用主控-伺服通讯方式。I2C总线与其它总线如UART、CAN、USB、SPI相比,具有操作简单,得到应用的时间比较长等优点。
一般,I2C的频率可以做到100kHz、400kHz和3.4MHz。当需要在同一总线上同时使用100kHz、400kHz和3.4MHz不同频率设备时,可以使用一个I2C总线转发器,将两种设备隔离在两侧,使它们分别按自己的频率工作,如飞利浦公司的PCA9515。目前市场上的I2C总线转发器在工作时,设置在主设备和从设备之间,使I2C总线上的频率在经过I2C总线转发器后降低或升高到从设备所需的频率。它的缺点是,一个I2C总线转发器只能转发一个频率,当I2C总线上有多个不同频率的从设备时,就无法用一个I2C总线转发器完成多种频率转发;另外,此类I2C总线转发器使用时需要系统配置一个开关控制转发器的开启和闭合,从而增加了系统的复杂性。
发明内容
针对上述现有技术的不足,本发明拟提出一种可在不同传输频率的I2C总线间使用的I2C总线转发器及其读写方法,具有多种频率转发功能,且操作简单,无需额外开关控制。本发明所述的一种I2C总线转发器,包括一个总线从设备接口、一个或一个以上总线主设备接口、一个状态机和至少一个读写寄存器,其中,总线主设备接口、总线从设备接口和读写寄存器分别与状态机相连。
总线从设备接口和总线主设备接口分别用于连接主设备和从设备,与主设备相连的I2C总线简称I2C主总线,与从设备相连的I2C总线简称I2C从总线。I2C从总线的工作频率可以低于、等于或高于I2C主总线的工作频率。
上述I2C总线转发器的状态机根据主设备发出的指令,判断是否对需要进行频率转发的从设备进行读写访问,然后根据相应的指令由初始状态切换到写访问或读访问状态。
在读写过程中,所述读写寄存器保存或更新1个或多个需要转发的从设备的器件地址、访问地址、读写数据和重读标志位等。
在对从设备进行读写访问前,所述主设备通过I2C主总线在读写寄存器中写入一个或多个需要转发的从设备器件地址。
所述I2C总线转发器的读写方法,具体写访问步骤如下:
S1.主设备发出写访问命令,I2C总线转发器的状态机判断是否是对需要转发的从设备发出写访问命令,若不是,则保持空闲状态;
S2.若是,在I2C总线转发器的读写寄存器中保存此次写访问的从设备的器件地址、访问地址和写入的数据,同时状态机通过总线从设备接口向主设备发送写成功的应答;
S3.I2C总线转发器通过I2C从总线对保存在读写寄存器中的从设备的器件地址进行写访问,使用读写寄存器保存的访问地址为访问地址,使用读写寄存器保存的写入数据为写入的数据;
S4.写访问结束,I2C总线转发器的状态机恢复到初始的空闲状态。
具体读访问步骤如下:
S1.主设备发出读访问命令,I2C总线转发器的状态机判断是否是对需要转发的从设备发出读访问命令,若不是,则保持空闲状态;
S2.若是,当读写寄存器的重读标志位无效时,I2C总线转发器的状态机向主设备回传读不成功应答,令发起读访问的主设备发起第二次读访问;同时I2C总线转发器的总线主设备接口通过I2C从总线对保存在读写寄存器中的从设备的器件地址进行读访问,使用读写寄存器上一次保存的该从设备器件地址对应的访问地址为访问地址,将读访问得到的数据为读出数据并保存在读写寄存器中,I2C总线转发器将读访问的器件地址保存在读写寄存器中,并置重读标志位有效;
S3.当读写寄存器的重读标志位有效时,I2C总线转发器的状态机向主设备发送读成功应答,并将保存在读写寄存器中的读出数据通过I2C主总线回传到主设备,同时清空重读标志位;
S4.读访问结束,I2C总线转发器的状态机恢复到初始的空闲状态。
在读写过程中,使用I2C传输标准,当主设备发出的读写访问命令的从设备器件地址不是需要转发的从设备的器件地址时,I2C总线转发器保持空闲操作。
本发明所述的一种I2C总线转发器可以设置两个或两个以上的总线主设备接口,用于在不同工作频率的I2C总线间转发I2C协议。
本发明所述的一种I2C总线转发器可以设置两个或两个以上的读写寄存器,分别用于存储不同从设备的器件地址、访问地址、读写数据和重读标志位等。
本发明的有益效果是,通过本发明所述的一种I2C总线转发器及其读写方法,使I2C总线上不同工作频率的从设备可以同时工作;此外,所述的一种I2C总线转发器,结构简单,操作简便,无需额外的控制器件对其进行控制,节省系统资源。
说明书附图
图1是一种I2C总线转发器的结构原理图;
图2是一种I2C总线转发器的读写方法流程图。
具体实施方式
如图1所示,I2C总线转发器主要包括一个总线从设备接口3,两个总线主设备接口4,一个状态机1和一个读写寄存器2。总线从设备接口3、总线主设备接口A4-A、总线主设备接口B 4-B和读写寄存器2分别与状态机1相连。主设备6和从设备a 5-a通过I2C主总线7与总线从设备接口3相连;从设备b 5-b和从设备c 5-c通过I2C从总线A 8-A与总线主设备接口A4-A连接;从设备d 5-d通过I2C从总线B 8-B与总线主设备接口B 4-B连接。
主设备6和从设备a 5-a使用相同的工作频率,主设备6与从设备b 5-b、从设备c 5-c以及从设备d 5-d使用不同的工作频率。通过本发明所述的一种I2C总线转发器,同一I2C总线上同时使用不同频率的从设备5时,均能正常工作。
如图2所示,I2C总线转发器读写方法流程,具体步骤如下:
1)I2C总线转发器的状态机1接收到主设备6发出的读写访问命令;
2)状态机1首先判断是否是对保存在读写寄存器2中的从设备b 5-b、从设备c 5-c或从设备d 5-d进行读写访问,如果不是,而是对从设备a 5-a进行读写访问,I2C总线转发器保持空闲状态,如果是,则判断是写访问还是读访问;
3)若是写访问,在I2C总线转发器的读写寄存器2中保存此次写访问的从设备5(从设备b、从设备c或从设备d)的器件地址、访问地址和写入的数据,同时状态机1通过总线从设备接口向主设备6发送写成功的应答;
4)I2C总线转发器通过I2C从总线8对上一步骤保存在读写寄存器2中的从设备5(从设备b、从设备c或从设备d)进行写访问,使用读写寄存器2保存的访问地址为访问地址,使用读写寄存器2保存的写入数据为写入的数据;
5)写访问结束,状态机1恢复到初始的空闲状态;
6)若在步骤2)中状态机1判断为读访问,当读写寄存器2的重读标志位无效时,I2C总线转发器的状态机1向主设备6回传读不成功应答,令主设备6发起第二次读访问;同时I2C总线转发器通过I2C从总线8上对保存在读写寄存器2中的从设备5(从设备b、从设备c或从设备d)进行读访问,使用读写寄存器2上一次保存的该从设备器件地址对应的访问地址为访问地址,将读访问得到的数据做为读出数据并保存在读写寄存器2中,并置重读标志位有效;
7)当读写寄存器2的重读标志位有效时,状态机1通过总线从设备接口3向主设备6发送读成功的应答,并将保存在读写寄存器2中的读出数据通过I2C主总线7回传到主设备6,同时清空重读标志位;
8)结束读访问,状态机1恢复到初始的空闲状态。
除上述实施例外,本发明还可以有其他实施方式,凡采用等同替换或等效变换形成的技术方案,均落在本发明要求的保护范围。

Claims (7)

1.一种I2C总线转发器,其特征在于,包括一个状态机(1)、一个或一个以上读写寄存器(2)、一个总线从设备接口(3)以及一个或一个以上总线主设备接口(4),所述读写寄存器(2)、总线从设备接口(3)和总线主设备接口(4)分别与状态机(1)相连接,总线从设备接口(3)与主设备(6)通过I2C主总线(7)相连,总线主设备接口(4)与从设备(5)通过I2C从总线(8)连接。
2.如权利要求1所述的一种I2C总线转发器,其特征在于,在对从设备(5)进行读写访问前,所述主设备(6)通过I2C主总线(7)在读写寄存器(2)中写入需要转发的从设备(5)的器件地址。
3.如权利要求1所述的一种I2C总线转发器,其特征在于,所述I2C总线转发器的状态机(1)根据主设备(6)发出的指令,对需要进行频率转发的从设备(5)进行读写访问,当主设备(6)发出读写访问命令的从设备器件地址不是需要转发的从设备(5)的器件地址时,状态机(1)保持空闲操作。
4.如权利要求1所述的一种I2C总线转发器,其特征在于,在读写过程中,所述读写寄存器(2)保存或更新需要转发的从设备(5)的器件地址、访问地址、读写数据和重读标志位。
5.如权利要求1所述的一种I2C总线转发器,其特征在于,所述I2C总线转发器的两个或两个以上的总线主设备接口(4),用于在不同工作频率的I2C总线间转发I2C协议。
6.如权利要求1所述的一种I2C总线转发器,其特征在于,所述I2C总线转发器的两个或两个以上的读写寄存器(2),分别用于存储不同从设备(5)的器件地址、访问地址、读写数据和重读标志位。
7.一种I2C总线转发器读写方法,其特征在于,包括如下步骤:
1)I2C总线转发器的状态机(1)接收到主设备(6)发出的读写访问命令;
2)状态机(1)首先判断是否是对保存在读写寄存器(2)中需要转发的从设备(5)进行读写访问,如果不是,I2C总线转发器保持空闲状态,如果是,则判断是写访问还是读访问;
3)若是写访问,在I2C总线转发器的读写寄存器(2)中保存此次写访问的从设备(5)的器件地址、访问地址和写入的数据,同时状态机(1)通过总线从设备接口(3)向主设备(6)发送写成功的应答;
4)I2C总线转发器通过I2C从总线(8)对上一步骤保存在读写寄存器(2)中的从设备(5)进行写访问,使用读写寄存器(2)保存的访问地址为访问地址,使用读写寄存器(2)保存的写入数据为写入的数据;
5)写访问结束,状态机(1)恢复到初始的空闲状态;
6)若在步骤2)中状态机(1)判断为读访问,当读写寄存器(2)的重读标志位无效时,I2C总线转发器的状态机(1)向主设备(6)回传读不成功应答,令主设备(6)发起第二次读访问;同时I2C总线转发器通过I2C从总线(8)对保存在读写寄存器(2)中的从设备(5)进行读访问,使用读写寄存器(2)上一次保存的该从设备器件地址对应的访问地址为访问地址,将读访问得到的数据做为读出数据并保存在读写寄存器(2)中,并置重读标志位有效;
7)当读写寄存器(2)的重读标志位有效时,状态机(1)通过总线从设备接口(3)向主设备(6)发送读成功的应答,并将保存在读写寄存器(2)中的读出数据通过I2C主总线(7)回传到主设备(6),同时清空重读标志位;
8)结束读访问,状态机(1)恢复到初始的空闲状态。
CN201110152497.5A 2011-06-08 2011-06-08 一种i2c总线转发器及其读写方法 Active CN102193889B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110152497.5A CN102193889B (zh) 2011-06-08 2011-06-08 一种i2c总线转发器及其读写方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110152497.5A CN102193889B (zh) 2011-06-08 2011-06-08 一种i2c总线转发器及其读写方法

Publications (2)

Publication Number Publication Date
CN102193889A true CN102193889A (zh) 2011-09-21
CN102193889B CN102193889B (zh) 2014-01-22

Family

ID=44601979

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110152497.5A Active CN102193889B (zh) 2011-06-08 2011-06-08 一种i2c总线转发器及其读写方法

Country Status (1)

Country Link
CN (1) CN102193889B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104346310A (zh) * 2013-08-05 2015-02-11 豪威科技(上海)有限公司 一种高性能i2c从机数据交换电路及方法
CN105528314A (zh) * 2015-12-28 2016-04-27 华为技术有限公司 一种数据处理方法及控制设备
CN106168934A (zh) * 2016-06-29 2016-11-30 锐捷网络股份有限公司 一种数据传输方法及装置
CN106462526A (zh) * 2014-02-07 2017-02-22 安晟信医疗科技控股公司 用于多主总线协议的方法及装置
CN107861866A (zh) * 2017-09-30 2018-03-30 南京国睿中数电子科技有限公司 一种基于uart接口的嵌入式系统调试方法
CN111124979A (zh) * 2019-10-31 2020-05-08 苏州浪潮智能科技有限公司 一种基于堆栈结构的i2c多主访问方法和系统
CN112698614A (zh) * 2021-03-25 2021-04-23 之江实验室 一种任意字节读写用户侧逻辑控制器
TWI833207B (zh) * 2022-04-26 2024-02-21 新唐科技股份有限公司 用於匯流排系統的主裝置中的時脈頻率選擇裝置與方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1568463A (zh) * 2001-10-15 2005-01-19 英特尔公司 用于时分多路复用总线的总线成帧器
CN1637256A (zh) * 2004-01-07 2005-07-13 株式会社日立制作所 数据通信装置及使用该装置的控制器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1568463A (zh) * 2001-10-15 2005-01-19 英特尔公司 用于时分多路复用总线的总线成帧器
CN1637256A (zh) * 2004-01-07 2005-07-13 株式会社日立制作所 数据通信装置及使用该装置的控制器

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104346310B (zh) * 2013-08-05 2018-01-02 豪威科技(上海)有限公司 一种高性能i2c从机数据交换电路及方法
CN104346310A (zh) * 2013-08-05 2015-02-11 豪威科技(上海)有限公司 一种高性能i2c从机数据交换电路及方法
CN106462526B (zh) * 2014-02-07 2019-12-31 安晟信医疗科技控股公司 用于多主总线协议的方法及装置
CN106462526A (zh) * 2014-02-07 2017-02-22 安晟信医疗科技控股公司 用于多主总线协议的方法及装置
US10204065B2 (en) 2014-02-07 2019-02-12 Ascensia Diabetes Care Holdings Ag Methods and apparatus for a multiple master bus protocol
CN105528314B (zh) * 2015-12-28 2019-04-05 华为技术有限公司 一种数据处理方法及控制设备
CN105528314A (zh) * 2015-12-28 2016-04-27 华为技术有限公司 一种数据处理方法及控制设备
CN106168934A (zh) * 2016-06-29 2016-11-30 锐捷网络股份有限公司 一种数据传输方法及装置
CN106168934B (zh) * 2016-06-29 2018-12-14 锐捷网络股份有限公司 一种数据传输方法及装置
CN107861866A (zh) * 2017-09-30 2018-03-30 南京国睿中数电子科技有限公司 一种基于uart接口的嵌入式系统调试方法
CN111124979A (zh) * 2019-10-31 2020-05-08 苏州浪潮智能科技有限公司 一种基于堆栈结构的i2c多主访问方法和系统
CN112698614A (zh) * 2021-03-25 2021-04-23 之江实验室 一种任意字节读写用户侧逻辑控制器
TWI833207B (zh) * 2022-04-26 2024-02-21 新唐科技股份有限公司 用於匯流排系統的主裝置中的時脈頻率選擇裝置與方法

Also Published As

Publication number Publication date
CN102193889B (zh) 2014-01-22

Similar Documents

Publication Publication Date Title
CN102193889A (zh) 一种i2c总线转发器及其读写方法
CN101329663B (zh) 一种实现片上系统管脚分时复用的装置及方法
US9910806B2 (en) Universal serial bus (USB) hub for switching downstream ports between host mode and slave mode
CN104021102B (zh) 基于状态机和片内总线的cpci串口板及其工作方法
CN101473310A (zh) 无线闪存卡扩充系统
US20150220140A1 (en) Device, method and system for operation of a low power phy with a pcie protocol stack
CN106815157A (zh) 一种数据采集模块及数据采集系统
CN102023256A (zh) 片上系统(soc)的功率测量技术
CN103605632A (zh) 一种axi总线与ahb总线的通信方法与装置
CN105404538A (zh) 一种fpga的加载和升级目标代码的装置及方法
CN105068955B (zh) 一种局部总线结构及数据交互方法
TW201413457A (zh) 分配位址至互連上之裝置
CN111756858A (zh) 嵌入式设备的远程开发处理系统、方法及装置
CN103309784A (zh) 测试系统与测试方法
CN114356671A (zh) 板卡调试装置、系统及方法
CN111966625A (zh) 一种自动配置i2c地址的方法及系统
CN101739367B (zh) 多类总线存储控制的方法与装置
CN202102429U (zh) 一种i2c总线中继器
CN206741473U (zh) 一种具有双系统切换的便携式计算机
CN113886297B (zh) 一种基于dma的spi并发通讯se装置及方法
CN101251831B (zh) 支持主从设备互换的移动存储器和主从设备互换方法
CN101727375A (zh) 新世代周边连接接口的测试系统及其测试方法
CN201378316Y (zh) 通用输入/输出接口扩展电路和具有该电路的移动终端
CN204706031U (zh) 串行外设接口spi总线电路以及电子设备
CN113253652A (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