CN105335322B - 一种spi接口转换i2c总线接口的方法及转换器 - Google Patents

一种spi接口转换i2c总线接口的方法及转换器 Download PDF

Info

Publication number
CN105335322B
CN105335322B CN201510714137.8A CN201510714137A CN105335322B CN 105335322 B CN105335322 B CN 105335322B CN 201510714137 A CN201510714137 A CN 201510714137A CN 105335322 B CN105335322 B CN 105335322B
Authority
CN
China
Prior art keywords
interface
data
spi interface
spi
bus
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
CN201510714137.8A
Other languages
English (en)
Other versions
CN105335322A (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.)
HUZHOU FENGYUAN AGRICULTURAL EQUIPMENT MANUFACTURE Co.,Ltd.
Original Assignee
Shanghai Feixun Data Communication 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 Shanghai Feixun Data Communication Technology Co Ltd filed Critical Shanghai Feixun Data Communication Technology Co Ltd
Priority to CN201510714137.8A priority Critical patent/CN105335322B/zh
Publication of CN105335322A publication Critical patent/CN105335322A/zh
Application granted granted Critical
Publication of CN105335322B publication Critical patent/CN105335322B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/40Bus coupling

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Communication Control (AREA)

Abstract

本发明公开了一种SPI接口转换I2C总线接口的方法及转换器,包括:步骤S10根据SPI接口的时钟频率,接收SPI接口发送的数据;步骤S20将接收到的数据存入数据缓存区内;步骤S30判断接收的数据是否完整;若是,则执行步骤S50;若否,则执行步骤S40;步骤S40判断数据缓存区是否已满;若是,则执行步骤S50;若否,则执行步骤S10;步骤S50接收SPI接口发送的指示选择相应的I2C总线通道启动;步骤S60根据I2C接口的时钟频率,将数据缓存区内的数据发送出去。本发明利用SPI接口通过转换器扩展出I2C总线接口,满足了电子设备对I2C总线数量越来越大的需求。

Description

一种SPI接口转换I2C总线接口的方法及转换器
技术领域
本发明涉及总线通信技术领域,特别是涉及一种SPI接口转换I2C总线接口的方法。
背景技术
I2C(集成电路总线,Inter-Integrated Circuit)总线是一种两线式串行总线,用于连接微控制器及其外围设备。由于其简单、灵活、硬件管脚资源少等优点,在器件与器件之间的通信中有着广泛的应用。在标准的I2C总线协议中,物理链路分别是一条串行数据线(SDA)和一条串行时钟线(SCL)。
总线中的器件被分为主机和从机。主机是初始化总线的数据传输并产生允许传输的时钟信号的器件。此时,任何被寻址的器件都被认为是从机。每个从机一般均有一个唯一的地址,主机可以通过该地址,配置和管理相应的从机。
但在实际应用中,有可能会出现多个从机地址相同的情况。例如,现有用于以太网交换机的光模块,其I2C地址都是已经固定的A0H。此时如果采用传统的方法,主机是无法对具有相同地址的从机进行管理、配置和通信。这时就需要多组I2C总线对光模块进行操作。
一般I2C从机芯片都有三个地址线,I2C总线上挂接的I2C从机芯片不能超过8个,比如常用的温度传感器芯片LM75。随着目前以太网交换机的体积越来越大,需要检测的温度点可能会超过8个,这时就需要两个以上的I2C总线,而有的CPU上只有一组I2C总线接口甚至没有I2C接口,这就导致主机无法同时连接多个电子设备进行检测。即使CPU上有SPI(串行外设接口,Serial Peripheral Interface)接口,也无济于事。
发明内容
本发明就是针对上述问题,提供一种SPI接口转换I2C总线接口的方法。为了实现上述目的,本发明采用如下技术方案:
步骤S10根据SPI接口的时钟频率,接收SPI接口发送的数据;步骤S20将接收到的数据存入数据缓存区内;步骤S30判断接收的数据是否完整;若是,则执行步骤S50;若否,则执行步骤S40;步骤S40判断数据缓存区是否已满;若是,则执行步骤S50;若否,则执行步骤S10;步骤S50接收SPI接口发送的指示选择相应的I2C总线通道启动;步骤S60根据I2C接口的时钟频率,将数据缓存区内的数据发送出去。
本发明还提供另一种SPI接口转换I2C总线接口的方法,包括:步骤S10根据SPI接口的时钟频率,接收SPI接口发送的数据;步骤S20将接收到的数据存入数据缓存区内;步骤S30判断接收的数据是否完整;若是,则执行步骤S50;若否,则执行步骤S40;步骤S40判断数据缓存区是否已满;若是,则执行步骤S50;若否,则执行步骤S10;步骤S50接收SPI接口发送的指示选择相应的I2C总线通道启动;步骤S60根据I2C接口的时钟频率,将数据缓存区内的数据发送出去;步骤S70将数据缓存区清零,执行步骤S10。
优选地,本发明还包括步骤S01设定数据缓存区的大小。
优选地,本发明还包括步骤S02将SPI接口设为主设备模式;步骤S03将I2C总线接口设为从设备模式。
优选地,本发明还包括步骤S04设置I2C总线接口的时钟频率。
本发明还提供一种SPI接口与I2C总线接口的转换器,其中所述转换器包括:SPI接口,与所述发送设备的SPI接口相连;数据缓存模块,与所述转换器上的SPI接口相连,接收SPI接口收到的数据并进行缓存;判断模块,与所述数据缓存模块相连,判断所述数据缓存模块接收的数据是否完整,以及所述数据缓存模块是否已满;I2C通道选择模块,与所述转换器上的SPI接口相连,根据SPI接口收到的指示选择相应的I2C总线通道启动;I2C接口,与所述数据缓存模块、I2C通道选择模块相连,并与所述接收设备的I2C接口相连,根据I2C通道选择模块的选择,按照I2C接口的时钟频率,将数据缓存区内的数据发送出去。
优选地,所述转换器还包括循环控制模块,与所述数据缓存模块相连,控制数据缓存区在数据发送完毕后清零,并使SPI接口继续接收数据。
优选地,所述转换器为复杂可编程逻辑器件(CPLD,Complex Programmable LogicDevice);所述数据缓存模块是复杂可编程逻辑器件内部开辟出的数据缓存区。
本发明还提供一种SPI接口与I2C总线接口的转换装置,包括:转换器以及与所述转换器相连的时钟信号发生器,为所述转换器的I2C总线接口的串行时钟线提供时钟信号。
优选地,所述转换装置还包括具有至少一个SPI接口的发送设备,与所述转换器的SPI接口相连;至少一个具有I2C接口的接收设备,与所述转换器的I2C接口相连。
与现有技术相比,本发明利用SPI接口通过转换器扩展出I2C总线接口,在主设备I2C总线接口没有或不够的情况下,满足了电子设备对I2C总线数量越来越大的需求,且I2C接口数量可以根据实际情况及转换器的接口数量决定,具有较大的灵活性。
附图说明
下面将以明确易懂的方式,结合附图说明优选实施方式,对一种SPI接口转换I2C总线接口的方法及转换器的上述特性、技术特征、优点及其实现方式予以进一步说明。
图1是本发明一种SPI接口转换I2C总线接口的方法的主要流程图;
图2是本发明一种SPI接口转换I2C总线接口的方法的完整流程图;
图3是本发明一种SPI接口与I2C总线接口转换器的完整组成结构示意图;
图4是本发明一种SPI接口与I2C总线接口的转换装置的电路图。
附图标号说明:
1.SPI接口,2.数据缓存模块,3.判断模块,4.I2C通道选择模块,5.I2C接口,6.循环控制模块。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
图1是本发明一种SPI接口转换I2C总线接口的方法的主要流程图。如图1所示,一种SPI接口转换I2C总线接口的方法,包括:步骤S00开始;步骤S10根据SPI接口的时钟频率,接收SPI接口发送的数据;步骤S20将接收到的数据存入数据缓存区内;步骤S30判断接收的数据是否完整;若是,则执行步骤S50;若否,则执行步骤S40;步骤S40判断数据缓存区是否已满;若是,则执行步骤S50;若否,则执行步骤S10;步骤S50接收SPI接口发送的指示选择相应的I2C总线通道启动;步骤S60根据I2C接口的时钟频率,将数据缓存区内的数据发送出去。
优选地,所述步骤S60之后还包括:步骤S70将数据缓存区清零,执行步骤S10。
具体的,本实施例中从SPI接口接收到的数据先要存入数据缓存区内,如果要接收的数据量大于数据缓存区容量,则需要通过数据缓存区多次缓存,分多次将要发送的数据通过I2C总线通道发送出去。
图2为本发明一种SPI接口转换I2C总线接口的方法的完整流程图。在本发明另一个改进的实施例中,除与上述实施例相同的部分之外,还包括,如图2所示,步骤S01设定数据缓存区的大小。
在本发明另一个改进的实施例中,除与上述实施例相同的部分之外,还包括,如图2所示,步骤S02将SPI接口设为主设备模式;步骤S03将I2C总线接口设为从设备模式。
在本发明另一个改进的实施例中,除与上述实施例相同的部分之外,还包括,如图2所示,步骤S04设置I2C总线接口的时钟频率。
图3是本发明一种SPI接口与I2C总线接口转换器的完整组成结构示意图。如图3所示,本发明提供一种SPI接口与I2C总线接口的转换器,包括:SPI接口1,与所述发送设备的SPI接口相连;数据缓存模块2,与所述转换器上的SPI接口1相连,接收SPI接口1收到的数据并进行缓存;判断模块3,与所述数据缓存模块2相连,判断所述数据缓存模块2接收的数据是否完整,以及所述数据缓存模块2是否已满;I2C通道选择模块4,与所述转换器上的SPI接口1相连,根据SPI接口1收到的指示选择相应的I2C总线通道启动;I2C接口5,与所述数据缓存模块2、I2C通道选择模块4相连,并与所述接收设备的I2C接口相连,根据I2C通道选择模块的选择,按照I2C接口的时钟频率,将数据缓存区内的数据发送出去。
对上述实施例进行改进,如图3所示,本发明还提供另一种SPI接口与I2C总线接口的转换器,包括:SPI接口1,与所述发送设备的SPI接口相连;数据缓存模块2,与所述转换器上的SPI接口1相连,接收SPI接口1收到的数据并进行缓存;判断模块3,与所述数据缓存模块2相连,判断所述数据缓存模块2接收的数据是否完整,以及所述数据缓存模块2是否已满;I2C通道选择模块4,与所述转换器上的SPI接口1相连,根据SPI接口1收到的指示选择相应的I2C总线通道启动;I2C接口5,与所述数据缓存模块2、I2C通道选择模块4相连,并与所述接收设备的I2C接口相连,根据I2C通道选择模块的选择,按照I2C接口的时钟频率,将数据缓存区内的数据发送出去;循环控制模块6,与所述数据缓存模块2相连,控制数据缓存区在数据发送完毕后清零,并使SPI接口1继续接收数据。
优选地,所述转换器为复杂可编程逻辑器件(CPLD);数据缓存模块2是复杂可编程逻辑器件(CPLD)内部开辟出的数据缓存区。
图4是本发明一种SPI接口与I2C总线接口的转换装置的电路图。如图4所示,U1是交换机等数据通信领域常用的CPU P1014,即具有至少一个SPI接口的发送设备;U2是常用的CPLD EPM240,即转换器;与U2相连的U3,即至少一个具有I2C接口的接收设备,也是I2C总线接口。3.3V电压经C1滤波后进入J1的第四脚,R1、R2、R3和J1组成JTAG电路,用以芯片的测试。另一组3.3V电压经C2滤波后进入OSC1的第一和第四脚,分别给晶体振荡器提供电源和使能信号,I2C总线接口的串行时钟线的时钟信号由OSC1提供。U2的电源和地引脚分别接3.3V电源和地。U2的IO45-IO48分别于CPU的SPI总线对应引脚相连。U2的IO68与CPU的中断引脚输入端IRQ_1相连。
对上述实施例进行改进,如图4所示,本发明还提供一种SPI接口与I2C总线接口的转换装置,包括,与所述转换器相连的时钟信号发生器,为所述转换器的I2C总线接口的串行时钟线提供时钟信号。
对上述实施例进行改进,如图4所示,本发明还提供一种SPI接口与I2C总线接口的转换装置,包括,具有至少一个SPI接口的发送设备,与所述转换器的SPI接口相连;至少一个具有I2C接口的接收设备,与所述转换器的I2C接口相连。
具体的,本实施例中的发送设备可以是拥有SPI接口的中央处理器(CPU),它是是一块超大规模的集成电路,它的主要功能是发送数据到转换器。
应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (8)

1.一种SPI接口转换I2C总线接口的方法,其特征在于,包括:
步骤S10:根据SPI接口的时钟频率,接收SPI接口发送的数据;
步骤S20:将接收到的数据存入数据缓存区内;
步骤S30:判断接收的数据是否完整;若是,则执行步骤S50;若否,则执行步骤S40;
步骤S40:判断数据缓存区是否已满;若是,则执行步骤S50;若否,则执行步骤S10;
步骤S50:接收SPI接口发送的指示选择相应的I2C总线通道启动;
步骤S60:根据I2C接口的时钟频率,将数据缓存区内的数据发送出去;
步骤S70:将数据缓存区清零,执行步骤S10。
2.如权利要求1所述的SPI接口转换I2C总线接口的方法,其特征在于,还包括:
步骤S01:设定数据缓存区的大小。
3.如权利要求1-2任一所述的SPI接口转换I2C总线接口的方法,其特征在于,还包括:
步骤S04:设置I2C总线接口的时钟频率。
4.如权利要求3所述的SPI接口转换I2C总线接口的方法,其特征在于,还包括:
步骤S02:将SPI接口设为主设备模式;
步骤S03:将I2C总线接口设为从设备模式。
5.一种SPI接口与I2C总线接口的转换器,其特征在于,所述转换器包括:
SPI接口,与发送设备的SPI接口相连;
数据缓存模块,与所述转换器上的SPI接口相连,接收SPI接口收到的数据并进行缓存;
判断模块,与所述数据缓存模块相连,判断所述数据缓存模块接收的数据是否完整,以及所述数据缓存模块是否已满;
I2C通道选择模块,与所述转换器上的SPI接口相连,根据SPI接口收到的指示选择相应的I2C总线通道启动;
I2C接口,与所述数据缓存模块、I2C通道选择模块相连,并与接收设备的I2C接口相连,根据I2C通道选择模块的选择,按照I2C接口的时钟频率,将数据缓存区内的数据发送出去;
循环控制模块,与所述数据缓存模块相连,控制数据缓存区在数据发送完毕后清零,并使SPI接口继续接收数据。
6.如权利要求5所述的SPI接口与I2C总线接口的转换器,其特征在于:
所述SPI接口与I2C总线接口的转换器为复杂可编程逻辑器件;
所述数据缓存模块是复杂可编程逻辑器件内部开辟出的数据缓存区。
7.一种SPI接口与I2C总线接口的转换装置,其特征在于,包括:
如权利要求5-6任一所述的SPI接口与I2C总线接口的转换器;以及
与所述SPI接口与I2C总线接口的转换器相连的时钟信号发生器,为所述SPI接口与I2C总线接口的转换器的I2C总线接口的串行时钟线提供时钟信号。
8.如权利要求7所述的SPI接口与I2C总线接口的转换装置,其特征在于,还包括:
具有至少一个SPI接口的发送设备,与所述转换器的SPI接口相连;
至少一个具有I2C接口的接收设备,与所述转换器的I2C接口相连。
CN201510714137.8A 2015-10-28 2015-10-28 一种spi接口转换i2c总线接口的方法及转换器 Active CN105335322B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510714137.8A CN105335322B (zh) 2015-10-28 2015-10-28 一种spi接口转换i2c总线接口的方法及转换器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510714137.8A CN105335322B (zh) 2015-10-28 2015-10-28 一种spi接口转换i2c总线接口的方法及转换器

Publications (2)

Publication Number Publication Date
CN105335322A CN105335322A (zh) 2016-02-17
CN105335322B true CN105335322B (zh) 2018-07-24

Family

ID=55285868

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510714137.8A Active CN105335322B (zh) 2015-10-28 2015-10-28 一种spi接口转换i2c总线接口的方法及转换器

Country Status (1)

Country Link
CN (1) CN105335322B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108255231B (zh) * 2016-12-28 2020-10-02 深圳市中兴微电子技术有限公司 一种数据采样方法和芯片
CN114036096B (zh) * 2021-11-04 2024-05-03 珠海一微半导体股份有限公司 一种基于总线接口的读控制器

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201123723A (en) * 2009-12-31 2011-07-01 Alcor Micro Corp I2C/SPI control interface circuitry, integrated circuit structure, and bus structure thereof
CN202167015U (zh) * 2011-08-19 2012-03-14 湖南文理学院 串行接口转换电路
CN103577368A (zh) * 2013-11-11 2014-02-12 东莞市泰斗微电子科技有限公司 一种基于spi协议的iic扩展通信方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6973598B2 (en) * 2002-01-28 2005-12-06 Dell Products L.P. Computer system with improved data capture system
JP5530269B2 (ja) * 2010-06-28 2014-06-25 ラピスセミコンダクタ株式会社 通信インタフェース装置及び通信方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201123723A (en) * 2009-12-31 2011-07-01 Alcor Micro Corp I2C/SPI control interface circuitry, integrated circuit structure, and bus structure thereof
CN202167015U (zh) * 2011-08-19 2012-03-14 湖南文理学院 串行接口转换电路
CN103577368A (zh) * 2013-11-11 2014-02-12 东莞市泰斗微电子科技有限公司 一种基于spi协议的iic扩展通信方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《基于CP2120的SPI与I2C总线接口转换电路设计》;段向东 等;《国外电子元器件》;20071205;第47-49、54页 *

Also Published As

Publication number Publication date
CN105335322A (zh) 2016-02-17

Similar Documents

Publication Publication Date Title
TW201710921A (zh) 在共同實體介面上之動態資料鏈結選擇
CN104518933B (zh) 在uart环路通信中自动设置id的方法
JP6538715B2 (ja) ハイブリッド仮想gpio
CN107273329B (zh) 虚拟gpio
US20110102053A1 (en) Method and soc for implementing time division multiplex of pin
CN103085487A (zh) 一种带自适应触点的成像盒芯片、成像盒及其自适应方法
CN105159860A (zh) Iic扩展系统及方法
CN104714908B (zh) 支持主从模式的spi接口
CN108604219B (zh) 具有最优传输等待时间的串行通信链路
CN108052473B (zh) 串行通信装置
CN105335322B (zh) 一种spi接口转换i2c总线接口的方法及转换器
CN104133799A (zh) 一种多网卡ncsi管理系统
JPH0678019A (ja) インターフェース装置
JP5332428B2 (ja) レベルシフト回路及びその方法
CN105281782A (zh) 通用串行器架构
CN208580391U (zh) 一种双通道数字中频处理板
CN106713094A (zh) 一种1394数据采集模块
CN206757602U (zh) 一种基于SoC支持多个SPI接口标准组的装置
CN108959156A (zh) 电路装置、电子设备、电缆束及数据传输方法
CN107239423A (zh) 一种基于扩展iic接口的装置
WO2005083577A2 (en) Integrated circuit with two different bus control units
CN105589821B (zh) 一种防止总线死锁的装置及方法
WO2019146397A1 (ja) 制御回路、通信装置、及び、通信システム
CN116541329A (zh) 一种数据传输方法、装置、设备及介质
CN207601784U (zh) 一种usb装置、接口驱动板及电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20201209

Address after: 313028 Industrial Park, balidian Town, Huzhou City, Zhejiang Province

Patentee after: HUZHOU FENGYUAN AGRICULTURAL EQUIPMENT MANUFACTURE Co.,Ltd.

Address before: 201616 No. 3666 Sixian Road, Songjiang District, Shanghai

Patentee before: Phicomm (Shanghai) Co.,Ltd.