SPI从设备和I2C从设备共用GPIO的方法、电路和电子设备技术

技术编号:21184392 阅读:31 留言:0更新日期:2019-05-22 15:02
一种SPI从设备和I2C从设备共用GPIO的方法、电路和电子设备,该方法包括:根据数据读写请求判断需要使用的总线模式为I2C总线模式或者SPI总线模式;如果为I2C总线模式,则通过第一接口向所述I2C从设备发送时钟信号,以及通过第二接口与所述I2C从设备传输数据;如果为SPI总线模式,则通过所述第一接口向所述SPI从设备发送时钟信号,以及通过所述第二接口向所述SPI从设备写入数据,和/或通过第三接口从所述SPI从设备读取数据。上述的方法和电子设备通过数据读写请求确定需要使用的总线模式,共用第一接口和第二接口以节省输入输出接口的数量,实现I2C总线和SPI总线模式的切换与互斥,具有输入输出接口线少的优点。

Method, Circuit and Electronic Equipment of Sharing GPIO between SPI Slave Equipment and I2C Slave Equipment

A method, circuit and electronic device for sharing GPIO between SPI slave device and I2C slave device includes: judging the bus mode to be used as I2C bus mode or SPI bus mode according to data read and write request; if it is I2C bus mode, transmitting clock signal to I2C slave device through the first interface, and transmitting data from I2C device through the second interface, such as; If it is a SPI bus mode, the clock signal is transmitted to the SPI slave device through the first interface, and the data is written to the SPI slave device through the second interface, and/or read from the SPI slave device through the third interface. The above method and electronic equipment determine the bus mode to be used by data read and write request, share the first interface and the second interface to save the number of input and output interfaces, realize the switch and mutual exclusion of I2C bus and SPI bus mode, and have the advantage of fewer input and output interface lines.

【技术实现步骤摘要】
SPI从设备和I2C从设备共用GPIO的方法、电路和电子设备
本专利技术属于总线通信
,具体涉及一种SPI从设备和I2C从设备共用GPIO的方法和电子设备。
技术介绍
本部分的陈述仅仅是提供了与本专利技术公开相关的
技术介绍
信息,不必然构成在先技术。SPI(SerialPeripheralInterface串行外设接口)是一种串行同步通讯协议,由一个主设备和一个或多个从设备组成,主设备启动一个与从设备的同步通讯,从而完成数据的交换。SPI接口由SDI(串行数据输入),SDO(串行数据输出),SCK(串行移位时钟),CS(从使能信号)四种信号构成,CS决定了唯一的与主设备通信的从设备,如没有CS信号,则只能存在一个从设备,主设备通过产生移位时钟来发起通讯。通讯时,数据由SDO输出,SDI输入,数据在时钟信号的上升或下降沿由SDO输出,在紧接着的下降或上升沿由SDI读入,这样经过8/16次时钟的改变,完成8/16位数据的传输。I2C采用两接口通信,其中一根是串行数据接口(SDA),一根串行时钟接口(SCL),实现了双工的同步数据传输。I2C接口线少,控制方式简单,在主从通信中,可以有多个I2C总线器件同时接到I2C总线上,通过地址来识别通信对象。但是传输速率有限,不适合传输大量数据。现有总线通信过程中,需要分别使用不同的处理器的输入输出接口以分别连接I2C从设备和SPI从设备,导致需要配置的输入输出接口过多,电子设备的结构较为复杂。
技术实现思路
鉴于以上内容,有必要提供一种SPI从设备和I2C从设备共用GPIO的方法和电子设备,可以共用输入输出接口来连接SPI从设备和I2C从设备以降低需要配置的输入输出接口。一种SPI从设备和I2C从设备共用GPIO的方法,包括以下步骤:总线确定步骤:根据数据读写请求判断需要使用的总线模式为I2C总线模式或者SPI总线模式;I2C通信步骤:如果需要使用的总线模式为I2C总线模式,则通过第一接口向所述I2C从设备发送时钟信号,以及配合所述时钟信号通过第二接口与所述I2C从设备传输数据;SPI通信步骤:如果需要使用的总线模式为SPI总线模式,则通过所述第一接口向所述SPI从设备发送时钟信号,以及配合所述时钟信号通过所述第二接口向所述SPI从设备写入数据,和/或通过第三接口从所述SPI从设备读取数据。优选地,所述SPI通信步骤还包括:如果需要使用的总线模式为SPI总线模式,还包括通过第四接口向所述SPI设备发送使能信号以控制所述SPI设备进入工作状态。优选地,在所述I2C通信步骤和SPI通信步骤之前,还包括:总线状态判断步骤,包括:确定总线标志位为第一状态或者第二状态;如果所述总线标志位为第一状态,则延时等待;如果所述总线标志位为第二状态,则设置该总线标志为第一状态,以及,所述I2C传输步骤还包括:与所述I2C从设备传输数据之后,设置所述总线标志位为第一状态;所述SPI传输步骤还包括:与所述SPI从设备读取数据和写入数据之后,设置所述总线标志位为第一状态。优选地,所述I2C通信步骤还包括:如果总线标识为SPI标识,则设置所述总线标识为I2C标识,并且设置所述第一接口和第二接口为输出模式并且输出低电平,然后设置所述第一接口和第二接口为输入模式后,通过所述第一接口传输时钟信号和通过所述第二接口传输数据;所述SPI通信步骤还包括:如果总线标识为I2C标识,则设置所述总线标识为SPI标识,并且设置所述第一接口和第二接口为输出模式,然后通过所述第一接口发送时钟信号,以及通过所述第二接口向所述SPI从设备写入数据和/或通过第三接口从所述SPI从设备读取数据。优选地,根据时钟频率设置所述I2C通信步骤或所述SPI通信步骤中的时钟信号的频率以设置传输数据的读写速度。优选地,在所述判断步骤之前,还包括:初始化步骤:设置所述第一接口和第二接口为输出模式,设置所述第三接口为输入模式以及第四接口为输出模式。一种SPI从设备和I2C从设备共用GPIO的电路,包括:处理器,包括第一接口、第二接口和第三接口;I2C从设备,所述I2C从设备的时钟接口连接所述第一接口,数据接口连接所述第二接口,当需要使用的总线模式为I2C模式时,通过所述第一接口向所述I2C从设备发送时钟信号,以及配合所述时钟信号通过所述第二接口与所述I2C从设备传输数据;SPI从设备,所述SPI从设备的时钟接口连接所述第一接口,数据输入接口连接所述第二接口,以及数据输出接口连接所述第三接口;在需要使用的所述总线模式为SPI模式时,则通过所述第一接口向所述SPI从设备发送时钟信号,以及配合所述时钟信号通过所述第二接口向所述SPI从设备写入数据和/或通过第三接口从所述SPI从设备读取数据。优选地,所述处理器还包括第四接口,所述第四接口连接所述SPI从设备的使能端,在需要使用的所述总线模式为SPI模式时,通过所述第四接口向所述SPI设备发送使能信号以控制所述SPI设备进入工作状态。优选地,所述SPI从设备为闪存,所述I2C从设备为读写存储器,所述第一接口通过第一上拉电阻连接电源,以及所述第二接口通过第二上拉电阻连接所述电源。一种电子设备,包括上述的电路。相较于现有技术,上述的SPI从设备和I2C从设备共用GPIO的方法和电子设备通过数据读写请求确定需要使用的总线模式,利用SPI从设备和I2C从设备共用第一接口和第二接口以节省输入输出接口的数量,实现I2C总线和SPI总线模式的切换与互斥,具有输入输出接口线少,控制方式简化,器件封装形式小,通信速率提高的优点。附图说明为了更清楚地说明本专利技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是SPI从设备和I2C从设备共用GPIO的电路的结构示意图。图2是SPI从设备和I2C从设备共用GPIO的方法在一实施方式中的流程图。图3是SPI从设备和I2C从设备共用GPIO的方法在另一实施方式中的流程图。主要元件符号说明如下具体实施方式将结合上述附图进一步说明本专利技术。具体实施方式为了能够更清楚地理解本专利技术的上述目的、特征和优点,下面结合附图和具体实施方式对本专利技术进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施方式及实施方式中的特征可以相互组合。在下面的描述中阐述了很多具体细节以便于充分理解本专利技术,所描述的实施方式仅仅是本专利技术一部分实施方式,而不是全部的实施方式。基于本专利技术中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本专利技术保护的范围。除非另有定义,本文所使用的所有的技术和科学术语与属于本专利技术的
的技术人员通常理解的含义相同。本文中在本专利技术的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本专利技术。在本专利技术的各实施例中,为了便于描述而非限制本专利技术,本专利技术专利申请说明书以及权利要求书中使用的术语"连接"并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。图1是SPI从设备30和I2C从设备20共用GPIO的电路的结构示意图。如图1所示,该电路包括本文档来自技高网
...

【技术保护点】
1.一种SPI从设备和I2C从设备共用GPIO的方法,其特征在于,包括以下步骤:总线确定步骤:根据数据读写请求判断需要使用的总线模式为I2C总线模式或者SPI总线模式;I2C通信步骤:如果需要使用的总线模式为I2C总线模式,则通过第一接口向所述I2C从设备发送时钟信号,以及配合所述时钟信号通过第二接口与所述I2C从设备传输数据;SPI通信步骤:如果需要使用的总线模式为SPI总线模式,则通过所述第一接口向所述SPI从设备发送时钟信号,以及配合所述时钟信号通过所述第二接口向所述SPI从设备写入数据,和/或通过第三接口从所述SPI从设备读取数据。

【技术特征摘要】
1.一种SPI从设备和I2C从设备共用GPIO的方法,其特征在于,包括以下步骤:总线确定步骤:根据数据读写请求判断需要使用的总线模式为I2C总线模式或者SPI总线模式;I2C通信步骤:如果需要使用的总线模式为I2C总线模式,则通过第一接口向所述I2C从设备发送时钟信号,以及配合所述时钟信号通过第二接口与所述I2C从设备传输数据;SPI通信步骤:如果需要使用的总线模式为SPI总线模式,则通过所述第一接口向所述SPI从设备发送时钟信号,以及配合所述时钟信号通过所述第二接口向所述SPI从设备写入数据,和/或通过第三接口从所述SPI从设备读取数据。2.如权利要求1所述的SPI从设备和I2C从设备共用GPIO的方法,其特征在于,所述SPI通信步骤还包括:如果需要使用的总线模式为SPI总线模式,还包括通过第四接口向所述SPI设备发送使能信号以控制所述SPI设备进入工作状态。3.如权利要求1所述的SPI从设备和I2C从设备共用GPIO的方法,其特征在于,在所述I2C通信步骤和SPI通信步骤之前,还包括:总线状态判断步骤,包括:确定总线标志位为第一状态或者第二状态;如果所述总线标志位为第一状态,则延时等待;如果所述总线标志位为第二状态,则设置该总线标志为第一状态,以及,所述I2C传输步骤还包括:与所述I2C从设备传输数据之后,设置所述总线标志位为第一状态;所述SPI传输步骤还包括:与所述SPI从设备读取数据和写入数据之后,设置所述总线标志位为第一状态。4.如权利要求1所述的SPI从设备和I2C从设备共用GPIO的方法,其特征在于,所述I2C通信步骤还包括:如果总线标识为SPI标识,则设置所述总线标识为I2C标识,并且设置所述第一接口和第二接口为输出模式并且输出低电平,然后设置所述第一接口和第二接口为输入模式后,通过所述第一接口传输时钟信号和通过所述第二接口传输数据;所述SPI通信步骤还包括:如果总线标识为I2C标识,则设置所述总线标识为SPI标识,并且设置所述第一接口和第二接口为输出模式,然后通过所述第...

【专利技术属性】
技术研发人员:李金
申请(专利权)人:深圳市度申科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1