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的方法和电子设备,可以共用输入输出接口来连接SP ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。