SPI通信控制电路及SPI芯片的制作方法

文档序号:20547668发布日期:2020-04-28 20:21阅读:371来源:国知局
SPI通信控制电路及SPI芯片的制作方法

本公开涉及数据处理领域,具体地,涉及一种spi通信控制电路及spi芯片。



背景技术:

传统的串行外设接口(setialperipheralinterface,spi)的通信时序如图1所示,其把通信时钟sclk做成同步使能信号,而且是以时钟极性cpol为0为例。图1中,pos_en为检测到通信时钟sclk上升沿的同步使能信号,neg_en为检测到通信时钟sclk下降沿的同步使能信号。当同步使能信号为高时,根据时钟极性cpol和时钟相位cpha来发送和接收数据。由于该方案需要把通信时钟sclk做成同步使能信号,因此会导致spi通信频率较低(最快为系统时钟的六分频),无法实现高速通信。



技术实现要素:

本公开的目的是提供一种spi通信控制电路及spi芯片,能够实现高速通信。

根据本公开的第一实施例,提供一种spi通信控制电路,该spi通信控制电路包括内部时钟产生电路,用于对spi通信时钟信号、时钟极性信号和时钟相位信号进行组合逻辑处理,得到第一内部时钟信号,所述第一内部时钟信号用于控制所述spi通信控制电路所属的设备的数据采样和发送,其中:在所述时钟极性信号和所述时钟相位信号的电平相同时,所述第一内部时钟信号与所述spi通信时钟信号的波形相同;在所述时钟极性信号与所述时钟相位信号的电平不同时,所述第一内部时钟信号与所述spi通信时钟信号的波形相反。

可选地,所述第一内部时钟信号的上升沿用于控制数据采样,所述第一内部时钟信号的下降沿用于控制数据发送。

可选地,所述内部时钟产生电路还用于对所述第一内部时钟信号和片选信号进行组合逻辑处理得到第二内部时钟信号,使得在所述时钟相位信号为固定电平期间,在所述片选信号表明从设备未被选中的情况下,所述第二内部时钟信号被固定为在下一个时钟沿到达前的电平;其中,所述第二内部时钟信号用于控制所述spi通信控制电路所属的设备的数据采样和发送。

可选地,所述内部时钟产生电路还用于对所述第一内部时钟信号和片选信号进行组合逻辑处理得到第二内部时钟信号,使得在所述时钟相位信号或所述时钟极性信号的电平发生改变、所述片选信号表明从设备未被选中的情况下,所述第二内部时钟信号用于根据所述时钟相位信号改变并控制spi主设备和从设备复位;其中,所述第二内部时钟信号用于控制所述spi通信控制电路所属的设备的数据采样和发送。

可选地,所述内部时钟产生电路包括第一非门、异或门和第一多路选择开关,其中:所述第一非门的输入端接收所述spi通信时钟信号,所述异或门的第一输入端接收所述时钟相位信号、第二输入端接收所述时钟极性信号,所述第一多路选择开关的第一输入端与所述第一非门的输出端连接,所述第一多路选择开关的第二输入端接收所述spi通信时钟信号,所述异或门的输出端与所述第一多路选择开关的选择输入端连接,所述第一多路选择开关的输出端输出所述第一内部时钟信号。

可选地,所述内部时钟产生电路还包括第二非门、与门、或门和第二多路选择开关,其中:所述第二非门的输入端接收片选信号,所述或门的第一输入端接收所述第一内部时钟信号、第二输入端接收所述片选信号,所述与门的第一输入端连接所述第一多路选择开关的输出端,所述与门的第二输入端连接所述第二非门的输出端,所述第二多路选择开关的第一输入端连接所述或门的输出端,所述第二多路选择开关的第二输入端连接所述与门的输出端,所述第二多路选择开关的选择输入端接收所述时钟相位信号,所述第二多路选择开关的输出端输出第二内部时钟信号。

根据本公开的第二实施例,提供一种spi芯片,包括根据本公开第一实施例所述的spi通信控制电路。

通过采用上述技术方案,由于在时钟极性信号和时钟相位信号的电平相同时,第一内部时钟信号与spi通信时钟信号的波形相同,在时钟极性信号与时钟相位信号的电平不同时,第一内部时钟信号与spi通信时钟信号的波形相反,因此,通过将第一内部时钟信号作为异步时钟使用,使得能够实现高速通信,例如最高通信频率为系统时钟的二分频。另外,通过如此设计,还能够将spi通信的四种工作模式整合成一种工作模式,简化spi的工作电路。

本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:

图1是现有spi通信的时序示意图。

图2是根据本公开一种实施例的spi通信控制电路的示意框图。

图3是根据本公开一种实施例的spi通信控制电路的时序示意图。

图4是根据本公开一种实施例的spi通信控制电路的又一时序示意图。

图5是根据本公开一种实施例的spi通信控制电路的示意电路图。

具体实施方式

以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。

图2示出根据本公开一种实施例的spi通信控制电路的示意框图,该spi通信控制电路1包括内部时钟产生电路11,用于对spi通信时钟信号sclk、时钟极性信号cpol和时钟相位信号cpha进行组合逻辑处理,得到第一内部时钟信号sclk_comb,第一内部时钟信号sclk_comb用于控制spi通信控制电路所属的设备的数据采样和发送,其中:在时钟极性信号cpol和时钟相位信号cpha的电平相同时,第一内部时钟信号sclk_comb与spi通信时钟信号sclk的波形相同;在时钟极性信号cpol与时钟相位信号cpha的电平不同时,第一内部时钟信号sclk_comb与spi通信时钟信号sclk的波形相反。

根据本公开实施例的spi通信控制电路1可以被应用于spi通信的主设备中,也可以被应用于spi通信的从设备中,以便提供主设备或者从设备发送数据和接收数据的内部时钟,也即例如,在spi通信处于主机模式的情况下,从设备从外部接收的通信时钟仍然是spi通信时钟信号sclk。

通过采用上述技术方案,由于首先对spi通信时钟信号sclk、时钟极性信号cpol和时钟相位信号cpha进行组合逻辑处理得到第一内部时钟信号sclk_comb,使得在时钟极性信号cpol和时钟相位信号cpha的电平相同时,第一内部时钟信号sclk_comb与spi通信时钟信号sclk的波形相同,在时钟极性信号cpol与时钟相位信号cpha的电平不同时,第一内部时钟信号sclk_comb与spi通信时钟信号sclk的波形相反,然后利用该第一内部时钟信号sclk_comb控制数据发送和接收,例如,第一内部时钟信号sclk_comb的上升沿用于控制数据采样,第一内部时钟信号sclk_comb的下降沿用于控制数据发送,当然第一内部时钟信号sclk_comb的上升沿用于控制数据发送、第一内部时钟信号sclk_comb的下降沿用于控制数据接收也是可行的。因此,通过将第一内部时钟信号sclk_comb作为异步时钟使用,使得能够实现高速通信,例如最高通信频率为系统时钟的二分频。另外,通过如此设计,还能够将spi通信的四种工作模式整合成一种工作模式,简化spi的工作电路。

图3示出了根据本公开实施例的spi通信控制电路1的第一内部时钟信号sclk_comb的时序示意图。从图3可以看出,在时钟极性信号cpol和时钟相位信号cpha同时为低电平或者高电平时,spi通信时钟信号sclk与第一内部时钟信号sclk_comb的波形相同,在时钟极性信号cpol和时钟相位信号cpha的电平不相同时,例如时钟极性信号cpol为高电平而时钟相位信号cpha为低电平或者时钟极性信号cpol为低电平而时钟相位信号cpha为高电平,则spi通信时钟信号sclk与第一内部时钟信号sclk_comb的波形相反。

而且,从图3中还可以看出,在时钟极性信号cpol从低电平切换到高电平时,如果在此时spi处于主机模式下,而且发送到外部从设备的spi通信时钟信号sclk产生一个从低电平到高电平的跳变,则从设备有可能会错误工作。所以,为了避免这种情况发生,需要在此时将片选信号cs_n设置为不选中从设备的电平。也即,如果片选信号cs_n为高电平时从设备不被选中,那么在上面描述的情况下,就需要使得片选信号cs_n拉高为高电平。另外,需要说明的是,在本公开的实施例中,默认片选信号cs_n为高电平时不选中从设备。

因此,在一种实施方式中,内部时钟产生电路11还用于对第一内部时钟信号sclk_comb和片选信号cs_n进行组合逻辑处理得到第二内部时钟信号sclk_comb_1,使得在时钟相位信号cpha为固定电平期间,在片选信号表明从设备未被选中的情况下,第二内部时钟信号sclk_comb_1被固定为在下一个时钟沿到达前的电平,例如,下一个时钟沿是采样,则第二内部时钟信号sclk_comb_1固定使用上升沿采样,则片选信号cs_n高电平屏蔽期间,第二内部时钟信号sclk_comb_1被固定在低电平;如果下一个时钟沿是发送,第二内部时钟信号sclk_comb_1固定使用下降沿发送,则片选信号cs_n高电平屏蔽期间,第二内部时钟信号sclk_comb_1被固定在高电平。而且,第二内部时钟信号sclk_comb_1用于控制spi通信控制电路所属的设备的数据采样和发送。需要说明的是,与第一内部时钟信号sclk_comb类似,第二内部时钟信号sclk_comb_1也是内部时钟,而且,在通过组合逻辑处理得到第二内部时钟信号sclk_comb_1之后,是由第二内部时钟信号sclk_comb_1而非第一内部时钟信号sclk_comb来控制数据的接收和发送。

图4示出了第二内部时钟信号sclk_comb_1的时序示意图。从图4中可以看出,当时钟相位信号cpha为固定值时,片选信号cs_n为高电平时,第二内部时钟信号sclk_comb_1输出被固定在下一个时钟沿到达前的电平,也即如图4中所示的“屏蔽多余时钟信号”,实现了低功耗设计。

在一种实施方式中,在时钟相位信号cpha或时钟极性信号cpol的电平发生改变、片选信号cs_n表明从设备未被选中的情况下,第二内部时钟信号sclk_comb_1根据所述时钟相位信号cpha改变并控制spi主设备和从设备复位,也即在片选信号cs_n拉高时,表明spi主设备和从设备均处于非工作状态,第二内部时钟信号sclk_comb_1根据所述时钟相位信号cpha改变,此时第二内部时钟信号sclk_comb_1不能使得spi通信执行。图4所示的时序图中也示出了这样的情况。如图4所示,在时钟极性信号cpol或时钟相位信号cpha发生电平切换(例如从高电平切换到低电平,或者从低电平切换到高电平)时,第一内部时钟信号sclk_comb会产生跳变(如图4中的虚线椭圆形符号处所示)。与现有将spi通信时钟信号sclk用作数据发送和接收的控制时钟的方案相比,第一内部时钟信号sclk_comb的跳变会导致多一次采样或发送数据,也即虚线椭圆形符号处是多余的时钟沿。因此,为了解决时钟有多余的时钟沿问题,片选信号cs_n被用作了复位信号,使得在出现上述的第一内部时钟信号sclk_comb跳变情况时,spi不工作。

如图4所示,当需要更改时钟相位信号cpha或时钟极性信号cpol的值时,需要首先将片选信号cs_n拉高以使得从设备不被选中,使spi芯片处于复位状态,这样不管第二内部时钟信号sclk_comb_1如何跳变,spi主设备和从设备都不工作,因此不会对spi通信造成影响作。也即,在片选信号cs_n被拉高而使得从设备不被选中期间,可以随时切换时钟相位信号cpha和时钟极性信号cpol的高低电平。

图5示出根据本公开一种实施例的spi通信控制电路的电路示意图。如图5所示,内部时钟产生电路11包括第一非门110、异或门111和第一多路选择开关112,其中:第一非门110的输入端接收spi通信时钟信号sclk,异或门111的第一输入端接收时钟相位信号cpha、第二输入端接收时钟极性信号cpol,第一多路选择开关112的第一输入端与第一非门110的输出端连接,第一多路选择开关112的第二输入端接收spi通信时钟信号sclk,异或门111的输出端与第一多路选择开关112的选择输入端连接,第一多路选择开关112的输出端输出第一内部时钟信号sclk_comb。

仍然参考图5,内部时钟产生电路还包括第二非门113、与门114、或门115和第二多路选择开关116,其中:第二非门113的输入端接收片选信号,或门115的第一输入端接收第一内部时钟信号sclk_comb、第二输入端接收片选信号,与门114的第一输入端连接第一多路选择开关112的输出端,与门114的第二输入端连接第二非门113的输出端,第二多路选择开关116的第一输入端连接或门115的输出端,第二多路选择开关116的第二输入端连接与门114的输出端,第二多路选择开关116的选择输入端接收时钟相位信号cpha,第二多路选择开关116的输出端输出第二内部时钟信号sclk_comb_1。

图5中,sclk为spi芯片的通信时钟信号sclk传输到本公开的spi通信控制电路1的输入端;cs_n为spi芯片的片选信号cs_n端口传输到本公开的spi通信控制电路1的输入端;sclk_comb_1为本公开的spi通信控制电路1的输出端,用作内部时钟;spi芯片在主机模式下,发送到spi芯片输入输出端口(input/output,io)的通信时钟为sclk。

接下来描述图5所示的电路的工作原理。

当时钟极性信号cpol为低电平、时钟相位信号cpha为高电平时,第一内部时钟信号sclk_comb与spi通信时钟信号sclk的波形相反;当时钟极性信号cpol为高电平、时钟相位信号cpha为高电平时,第一内部时钟信号sclk_comb与spi通信时钟信号sclk的波形一致;当时钟极性信号cpol为低电平、时钟相位信号cpha为低电平时,第一内部时钟信号sclk_comb与spi通信时钟信号sclk波形一致;当时钟极性信号cpol为高电平、时钟相位信号cpha为低电平时,第一内部时钟信号sclk_comb与spi通信时钟信号sclk的波形相反。

另外,在时钟极性信号cpol或时钟相位信号cpha发生电平切换时,片选信号cs_n被用作复位信号,使得spi不工作,也即此时可以任意切换时钟极性信号cpol和时钟相位信号cpha的值,但spi数据输入输出维持不变。

而且,在多从设备的spi系统中,为了节省功耗,当图5所示的电路被应用于从设备中时,当片选信号cs_n表明从设备未被选中时,不接收多余的通信时钟。也即,当片选信号cs_n表明从设备未被选中时,第二内部时钟信号sclk_comb_1使得spi处于复位状态,同时外部spi通信时钟信号sclk不会输入到spi内部电路,此时可任意更改时钟极性信号cpol和时钟相位信号cpha的值,spi不工作,节省了芯片功耗。

根据本公开的又一实施例,提供一种spi芯片,包括根据本公开实施例的spi通信控制电路1。

以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。

此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1