CN114911743B - Spi从机设备、spi主机设备和相关的通信方法 - Google Patents

Spi从机设备、spi主机设备和相关的通信方法 Download PDF

Info

Publication number
CN114911743B
CN114911743B CN202210814585.5A CN202210814585A CN114911743B CN 114911743 B CN114911743 B CN 114911743B CN 202210814585 A CN202210814585 A CN 202210814585A CN 114911743 B CN114911743 B CN 114911743B
Authority
CN
China
Prior art keywords
sck
spi
bus
level
slave device
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
CN202210814585.5A
Other languages
English (en)
Other versions
CN114911743A (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 Jinghua Microelectronics Co ltd
Original Assignee
Hangzhou Jinghua Microelectronics 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 Jinghua Microelectronics Co ltd filed Critical Hangzhou Jinghua Microelectronics Co ltd
Priority to CN202210814585.5A priority Critical patent/CN114911743B/zh
Publication of CN114911743A publication Critical patent/CN114911743A/zh
Application granted granted Critical
Publication of CN114911743B publication Critical patent/CN114911743B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • 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/382Information transfer, e.g. on bus using universal interface adapter
    • 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/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本公开涉及一种SPI从机设备、SPI主机设备和相关的通信方法。SPI从机设备包括:一个MOSI管脚,适于经由MOSI总线与SPI主机设备的MOSI管脚连接;一个MISO管脚,适于经由MISO总线与SPI主机设备的MISO管脚连接;一个SCK管脚,适于经由SCK总线与SPI主机设备的SCK管脚连接,以及从机时钟模块,被配置为根据所述SPI从机设备的操作状态而选择性地设置所述SCK总线的电平状态,使得所述SPI主机设备根据所述SCK总线的电平状态确定是否与所述SPI从机设备通信。根据本公开能够实现SPI设备之间通信的完整性。

Description

SPI从机设备、SPI主机设备和相关的通信方法
技术领域
本公开的实施例总体上涉及通信接口,特别涉及SPI(Serial PeripheralInterface)设备。
背景技术
SPI设备支持高速、全双工、同步的通信总线并且因此广泛地应用于主机设备和从属设备之间的通信。
为了实现SPI主机设备和SPI从机设备之间的通信,传统SPI设备至少包括四根线,即MISO(Master Input Slave Output)、MOSI(Master Output Slave Input)、SCLK(SerialClock)、以及SS(Chip Select)。传统SPI主机设备和SPI从机设备之间的同步时钟信号由SPI主机设备进行控制,这导致SPI从机设备只能被动的接收数据,容易导致数据传输不完整。期望能够优化SPI设备之间的通信方式。
发明内容
本公开的实施例提供了一种SPI从机设备、SPI主机设备和相关的通信方法,旨在解决上述问题以及其他潜在的问题中的一个或多个。
根据本公开的第一方面,提供一种SPI从机设备。SPI从机设备包括:一个MOSI管脚,适于经由MOSI总线与SPI主机设备的MOSI管脚连接;一个MISO管脚,适于经由MISO总线与SPI主机设备的MISO管脚连接;一个SCK管脚,适于经由SCK总线与SPI主机设备的SCK管脚连接,以及从机时钟模块,被配置为根据所述SPI从机设备的操作状态而选择性地设置所述SCK总线的电平状态,使得所述SPI主机设备根据所述SCK总线的电平状态确定是否与所述SPI从机设备通信。
在一些实施例中,所述SPI从机设备包括:移位寄存器,被配置为存储经由所述MOSI总线和所述MISO总线发送和接收的通信数据;接收缓冲器,被配置为缓存由所述移位寄存器所接收的数据;发送缓冲器,被配置为缓存待由所述移位寄存器发送的数据。
在一些实施例中,所述SPI从机设备被配置为:确定所述接收缓冲器是否为空;响应于确定所述接收缓冲器为空,所述SCK总线被配置为第一电平;以及响应于确定所述接收缓冲器不为空,所述SCK总线被配置为第二电平。
在一些实施例中,所述SPI从机设备被配置为:确定所述发送缓冲器是否为空;响应于确定所述发送缓冲器为空,所述SCK总线被配置为第一电平;以及响应于确定所述发送缓冲器不为空,所述SCK总线被配置为第二电平。
在一些实施例中,所述从机时钟模块包括用于配置所述SCK总线的电平的控制电路。
在一些实施例中,所述控制电路包括:SCK输出支路,包括SCK输出端、反相器和同相三态门,所述反相器的输入与所述SCK输出端连接,所述反相器的输出与所述同相三态门的控制端连接,所述同相三态门的输入端连接至所述SCK输出端,所述同相三态门的输出端连接至所述SCK管脚;SCK输入支路,包括SCK输入端和同相缓冲器,所述同相缓冲器的输出端连接至所述SCK输入端,所述同相缓冲器的输入端连接至所述SCK管脚;以及钳位电阻,一端与电源或地连接,并且另一端连接至所述SCK管脚。
在一些实施例中,所述SPI从机设备不包括设备使能(SS)管脚。
根据本公开的第一方面,提供一种SPI主机设备。SPI主机设备包括:一个MOSI管脚,适于经由MOSI总线与SPI从机设备的MOSI管脚连接;一个MISO管脚,适于经由MISO总线与SPI从机设备的MISO管脚连接;一个SCK管脚,适于经由SCK总线与SPI从机设备的SCK管脚连接,以及主机时钟模块,被配置为根据所述SCK总线的电平状态而生成时钟控制信号,其中所述主机时钟模块被配置为:在所述SCK总线的电平状态为第一电平时,所述时钟控制信号允许所述主机时钟模块向所述SPI从机设备发送同步时钟信号,在所述SCK总线的电平状态为与所述第一电平不同的第二电平时,所述时钟控制信号阻止所述主机时钟模块向所述SPI从机设备发送同步时钟信号,所述SCK总线的电平状态根据所述SPI从机设备的操作状态而被选择性地配置。
在一些实施例中,所述主机时钟模块被配置为:响应于确定所述SCK总线的电平为所述第二电平,将所述时钟控制信号设置为所述第一电平;以及响应于确定所述SCK总线的电平为所述第一电平,将所述时钟控制信号设置为所述第二电平。
在一些实施例中,所述主机时钟模块包括用于生成所述时钟控制信号的控制电路。
在一些实施例中,所述控制电路包括:SCK输出支路,包括SCK输出端、反相器和同相三态门,所述反相器的输入与所述SCK输出端连接,所述反相器的输出与所述同相三态门的控制端连接,所述同相三态门的输入端连接至所述SCK输出端,所述同相三态门的输出端输出所述时钟控制信号;SCK输入支路,包括SCK输入端和同相缓冲器,所述同相缓冲器的输出端连接至所述SCK输入端,所述同相缓冲器的输入端连接至所述同相三态门的输出端;以及钳位电阻,一端与电源或地连接并且另一端连接至所述同相三态门的输出端。
在一些实施例中,所述SPI主机设备不包括设备使能(SS)管脚。
根据本公开的第三方面,提供一种用于SPI设备的通信方法。方法包括:基于SPI从机设备的操作状态,选择性地设置SCK总线为第一电平或第二电平之一,响应于确定所述SCK总线的电平状态为所述第一电平,允许所述SPI主机设备向所述SPI从机设备发送同步时钟信号;以及响应于确定所述SCK总线的电平状态为所述第二电平,阻止所述SPI主机设备向所述SPI从机设备发送同步时钟信号。
根据本公开实施例的SPI设备和通信方法中,SPI从机设备能够根据自身的状态选择性地设置SCK总线的电平状态;由此,SPI从机设备能够通过SCK总线向SPI主机设备提供关于自身操作状态的反馈,SPI主机设备进而根据SCK总线的电平状态决定是否发送用于SPI主机设备和SPI从机设备之间地时钟同步信号。由此,可通过SCK总线的配置,确保SPI主机设备和SPI从机设备之间数据通信的完整性和可靠性。
附图说明
通过参考附图阅读下文的详细描述,本公开的实施例的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例而非限制性的方式示出本公开的若干实施例。
图1示出根据本公开的实施例的SPI主机设备和SPI从机设备之间通信的结构示意图。
图2示出根据本公开实施例的控制电路的示意图。
图3示出根据本公开实施例的控制电路的示意图。
图4示出根据本公开实施例的SPI主机设备和SPI从机设备之间通信时序信号的示意图。
图5示出根据本公开实施例的用于SPI设备的通信方法的流程图。
在各个附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的优选实施例,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“上”、“下”、“前”、“后”等指示放置或者位置关系的词汇均基于附图所示的方位或者位置关系,仅为了便于描述本公开的原理,而不是指示或者暗示所指的元件必须具有特定的方位、以特定的方位构造或操作,因此不能理解为对本公开的限制。
如前所述,本公开的发明人在实际使用中常常发现SPI从属设备所接收的数据不完整,存在来自SPI主机设备的数据丢失的问题。发明人针对传统的SPI设备进行热忱研究发现,传统SPI主机设备和SPI从机设备之间的同步时钟信号由SPI主机设备进行控制。
换言之,SPI主机设备主控通信数据的发送时机,这意味着SPI从属设备只能被动地接收数据而不考虑SPI从属设备本身的状态。针对此,发明人提出了一种改进的通信方案,使得SPI从机设备能够选择性地设置同步时钟总线的电平状态,而不是由SPI主机设备单独控制控制;这使得,SPI从机设备能够通过同步时钟总线向SPI主机设备提供关于自身操作状态的反馈,进而提高SPI主机设备和SPI从机设备之间的通信性能。
下面结合附图详细说明根据本公开实施例的SPI主机设备和SPI从机设备以及相关联的通信方法。
图1示出根据本公开的实施例的SPI主机设备和SPI从机设备之间通信的结构示意图。在图示的实施例中,仅以一个SPI主机设备和一个SPI从机设备之间的通信示出了根据本公开实施例的通信架构,应当理解的是,这仅仅是示例性的。根据本公开实施例的发明构思可应用至一个SPI主机设备与多个SPI从机设备的之间的通信。
如图1所示,SPI主机设备100可包括:一个MOSI管脚,一个MISO管脚和一个SCK管脚。SPI主机设备100的MOSI管脚经由MOSI总线310与SPI从机设备200的MOSI管脚连接;SPI主机设备100的MISO管脚经由MISO总线320与SPI从机设备200的MISO管脚连接;SPI主机设备100的SCK管脚经由SCK总线330与SPI从机设备200的SCK管脚连接。
类似地,SPI从机设备200可包括一个MOSI管脚、一个MISO管脚和一个SCK管脚。SPI从机设备200的MOSI管脚经由MOSI总线310与SPI主机设备100的MOSI管脚连接;SPI从机设备200的MISO管脚经由MISO总线320与SPI主机设备100的MISO管脚连接;SPI从机设备200的SCK管脚经由SCK总线330与SPI主机设备100的SCK管脚连接。
在根据本公开实施例的SPI从机设备200中,如图1所示,SPI从机设备200还包括从机时钟模块240。根据本公开实施例的从机时钟模块240能够配置SCK总线330的状态,进而SCK总线330的状态通过向SPI主机设备200提供关于自身操作状态的反馈。SPI主机设备100可被配置为根据SCK总线330的状态而决定是否向SPI从机设备200发送数据。
在图示的实施例中,SPI从机设备200可包括配置单元244和同步单元242。配置单元244可被配置为根据SPI从机设备200的操作状态而选择性地向同步单元242输出状态指示信号,输出状态指示信号例如可包括高电平或低电平,通过高电平或低电平来标识SPI从机设备200的操作状态。
在一些实施例中,在SPI从机设备200被准备好接收数据(或处于待命状态时)的情况下,状态指示信号可为高电平;在SPI从机设备200未准备好接收数据(或处于忙活状态时)的情况下,状态指示信号可为低电平。这仅仅是示例性的,在其他实施例中,状态指示信号被相反地配置。例如,在SPI从机设备200被准备好接收数据(或处于待命状态时)的情况下,状态指示信号可为低电平;在SPI从机设备200未准备好接收数据(或处于忙活状态时)的情况下,状态指示信号可为高电平。只需要SPI从机设备200和SPI主机设备100采用相同的配置协议即可。同步单元242被配置为接收来自配置单元244的状态指示信号,并且基于状态指示信号来配置SCK总线330的电平状态。
在一些实施例中,如图1所示,SPI从机设备200包括:移位寄存器220、接收缓冲器210和发送缓冲器230。移位寄存器220被配置为存储经由MOSI总线310和MISO总线320发送和接收的通信数据。接收缓冲器210被配置为缓存由移位寄存器220所接收的数据。发送缓冲器230,被配置为缓存待由移位寄存器220发送的数据。
在一些实施例中,如图1所示,SPI主机设备100包括:移位寄存器120、接收缓冲器110和发送缓冲器130。移位寄存器120被配置为存储经由MOSI总线310和MISO总线320发送和接收的通信数据。接收缓冲器110被配置为缓存由移位寄存器120所接收的数据。发送缓冲器130,被配置为缓存待由移位寄存器120发送的数据。在一些实施例中,如图1所示,SPI从机设备200被配置为:确定接收缓冲器210是否为空;响应于确定接收缓冲器210为空,SCK总线330被配置为第一电平;以及响应于确定接收缓冲器210不为空,SCK总线330被配置为第二电平。由此,SPI从机设备200可方便地根据接收缓冲器210的状态来指示SPI从机设备200的操作状态。
在一些实施例中,如图1所示,SPI从机设备200被配置为:确定发送缓冲器230是否为空;响应于确定发送缓冲器230为空,SCK总线330被配置为第一电平;以及响应于确定发送缓冲器230不为空,SCK总线330被配置为第二电平。由此,SPI从机设备200可方便地根据接收缓冲器210的状态来指示SPI从机设备200的操作状态。
类似地,为了实现SPI从机设备200和SPI主机设备100之间的时钟同步,主机时钟模块140包括同步单元142。同步单元142被配置为根据SCK总线330的电平状态确定是否与SPI从机设备200通信。在一些实施例中,同步单元142被配置为根据所述SCK总线的电平状态而生成时钟控制信号。
在一些实施例中,在SCK总线330的电平状态为第一电平时,时钟控制信号允许主机时钟模块140向SPI从机设备200发送同步时钟信号;在SCK总线330的电平状态为与第一电平不同的第二电平时,时钟控制信号阻止主机时钟模块140向SPI从机设备200发送同步时钟信号。在一些实施例中,在第一电平为低电平时,时钟控制信号允许主机时钟模块140向SPI从机设备200发送同步时钟信号;在SCK总线330的电平状态为高电平时,时钟控制信号阻止主机时钟模块140向SPI从机设备200发送同步时钟信号。在一些实施例中,阻止发送同步时钟信号,例如可通过将时钟控制信号维持为高电平。这仅仅是示例性的,高低电平可以颠倒过来,只需要SPI从机设备200和SPI主机设备100采用相同的配置协议即可。
在一些实施例中,主机时钟模块140被配置为:响应于确定SCK总线330的电平为第二电平,将时钟控制信号设置为第一电平;以及响应于确定SCK总线330的电平为第一电平,将时钟控制信号设置为第二电平。由此,主机时钟模块140可以方便地根据SCK总线330的状态控制是否发送时钟同步信号。
在图示的实施例中,SPI主机设备100不包括设备使能(SS)管脚;SPI从机设备200不包括设备使能(SS)管脚。由此,只使用3个管脚,即可非常有效地同步SPI主机和SPI从机,同时可实现两者之间的通信。与传统SPI设备的四个管脚的方案相比,节省了硬件资源。
在一些实施例中,SCK总线可被实现为线与逻辑。在一些实施例中,线与逻辑可通过控制电路来实现。
图2示出了根据本公开实施例的开漏结构的示例。图2所示的开漏结构可被应用于SPI主机设备100和SPI从机设备200任一个的SCK管脚。
如图2所示,控制电路400包括:SCK输出支路和SCK输入支路。SCK输出支路包括SCK输出端SCK_o、反相器410和同相三态门420,反相器410的输入与SCK输出端SCK_o连接,反相器410的输出与同相三态门420的控制端连接,同相三态门420的输入端连接至SCK输出端SCK_o,同相三态门420的输出端连接至SCK管脚440。SCK输入支路包括SCK输入端SCK_i和同相缓冲器430,同相缓冲器430的输出端连接至SCK输入端SCK_i,同相缓冲器430的输入端连接至SCK管脚。控制电路400还可包括钳位电阻450。钳位电阻450的一端与电源VDD连接并且钳位电阻450的另一端连接至SCK管脚440。
在控制电路400被用在SPI从机设备200侧时,可通过同相三态门的控制端实现SCK管脚440(即SCK总线的电平配置)。类似地,在控制电路400被用在SPI主机设备100侧时,可通过同相三态门的控制端实现是否发送同步时钟信号,以实现SPI主机设备100和SPI从机设备200之间的通信所需的时钟同步。
图3示出了根据本公开实施例的控制电路400’的示例。图3所示的实施例与图2所示的实施例类似,不同之处在于,钳位电阻450的一端与地连接。由此,可提实现在SCK总线空闲为高电平时的SCK 管脚440的控制逻辑。
下面结合图4详细说明根据本公开实施例的SPI主机设备和SPI从机设备之间通信时序信号的示意图。在图4所示实施例中,如总线SCK所示,以高电平作为SPI设备的操作极性,而且作为示例,SPI设备在脉冲信号的例如上升沿执行数据读取操作。应当理解的是,这仅仅是示例性的,在一些实施例中,SPI设备可以低电平作为操作极性;在一些实施例中,SPI设备在脉冲信号的下降沿执行数据读取操作。下面以图4所示的实施例说明SPI主机设备和SPI从机设备之间通信过程示意图。
如图4所示,在时间t0处,从机SCK(或称为从机状态指示信号)指示为低电平,这可以表示为SPI从机设备未准备好用于通信(这例如,未准备好的状态可对应于SPI从机设备对发送或接收缓冲器中的数据进行处理的状态)。总线SCK(或称为总线时钟信号)基于从机SCK和主机SCK的“线与”逻辑而呈现为低电平。主机SCK(或称为主机时钟控制信号)指示为高电平。在该状态下,由于从机SCK(或称为从机状态指示信号)指示为低电平,因此SPI主机设备基于总线SCK而获悉SPI从机设备未准备好用于通信并且将SPI主机设备的主机SCK设置为高电平。
在时间t1处,从机SCK从低电平变为高电平,这可以表示为SPI从机设备从未准备好的状态改变至准备好的状态,可与SPI主机设备进行通信。相应地,总线SCK基于从机SCK和主机SCK的“线与”逻辑而改变为高电平。在该状态下,响应于总线SCK从低电平改变为高电平, SPI主机设备基于总线SCK的电平改变而获悉SPI从机设备已准备好用于通信,将高电平切换为脉冲同步信号。由此,在时间段t1和t2之间,SPI主机设备和SPI从机设备之间通过MOSI和MISO总线进行数据通信。
在时间t2处,从机SCK从高电平变为低电平,这可以表示为SPI从机设备从正常通信状态改变至未准备好的状态,此状态可指示SPI从机设备无法继续与SPI主机设备通信。相应地,总线SCK基于从机SCK和主机SCK的“线与”逻辑而从高电平改变为低电平。在该状态下,响应于总线SCK从高电平改变为低电平,SPI主机设备基于总线SCK的电平改变而获悉SPI从机设备无法继续进行通信,将脉冲同步信号切换为高电平。由此,从时间t2开始到后续时间t3之间,SPI主机设备和SPI从机设备之间无法通过MOSI和MISO总线进行数据通信。
在时间t3处,从机SCK从低电平重新变为高电平,这可以表示为SPI从机设备从未准备好的状态重新改变至准备好的状态,可重新与SPI主机设备进行通信。相应地,总线SCK基于从机SCK和主机SCK的“线与”逻辑而改变为高电平。在该状态下,响应于总线SCK从低电平改变为高电平, SPI主机设备基于总线SCK的电平改变而获悉SPI从机设备已重新准备好用于通信,将高电平切换为脉冲同步信号。由此,在时间段t3之后的时间,SPI主机设备和SPI从机设备之间通过MOSI和MISO总线进行数据通信。
由此,SPI从机设备能够根据自身的状态选择性地设置SCK总线的电平状态;由此,SPI从机设备能够通过SCK总线向SPI主机设备提供关于自身操作状态的反馈,SPI主机设备进而根据SCK总线的电平状态决定是否发送用于SPI主机设备和SPI从机设备之间地时钟同步信号。由此,可通过SCK总线的配置,确保SPI主机设备和SPI从机设备之间数据通信的完整性和可靠性。
图5示出根据本公开实施例的用于SPI设备的通信方法500的流程图。如图5所示,用于SPI设备的通信方法500可包括以下步骤。在步骤502处,基于SPI从机设备200的操作状态,选择性地设置SCK总线330为第一电平或第二电平之一。在步骤504处,响应于确定SCK总线330的电平状态为第一电平,允许SPI主机设备100向SPI从机设备200发送同步时钟信号。在步骤506处,响应于确定SCK总线330的电平状态为第二电平,阻止SPI主机设备100向SPI从机设备200发送同步时钟信号。
根据本公开实施例的通信方法,SPI从机设备能够根据自身的状态选择性地设置SCK总线的电平状态;SPI主机设备进而根据SCK总线的电平状态决定是否发送用于SPI主机设备和SPI从机设备之间地时钟同步信号。由此,可通过SCK总线的配置,确保SPI主机设备和SPI从机设备之间数据通信的完整性和可靠性。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (9)

1.一种SPI从机设备,包括:
一个MOSI管脚,适于经由MOSI总线与SPI主机设备的MOSI管脚连接;
一个MISO管脚,适于经由MISO总线与SPI主机设备的MISO管脚连接;
一个SCK管脚,适于经由SCK总线与SPI主机设备的SCK管脚连接,以及
从机时钟模块,被配置为根据所述SPI从机设备的操作状态而选择性地设置所述SCK总线的电平状态,使得所述SPI主机设备根据所述SCK总线的电平状态确定是否与所述SPI从机设备通信;
其中所述从机时钟模块包括用于配置所述SCK总线的电平的控制电路;
其中所述控制电路包括:
SCK输出支路,包括SCK输出端、反相器和同相三态门,所述反相器的输入与所述SCK输出端连接,所述反相器的输出与所述同相三态门的控制端连接,所述同相三态门的输入端连接至所述SCK输出端,所述同相三态门的输出端连接至所述SCK管脚;
SCK输入支路,包括SCK输入端和同相缓冲器,所述同相缓冲器的输出端连接至所述SCK输入端,所述同相缓冲器的输入端连接至所述SCK管脚;以及
钳位电阻,一端与电源或地连接,并且另一端连接至所述SCK管脚。
2.根据权利要求1所述的SPI从机设备,其中所述SPI从机设备包括:
移位寄存器,被配置为存储经由所述MOSI总线和所述MISO总线发送和接收的通信数据;
接收缓冲器,被配置为缓存由所述移位寄存器所接收的数据;
发送缓冲器,被配置为缓存待由所述移位寄存器发送的数据。
3.根据权利要求2所述的SPI从机设备,其中所述SPI从机设备被配置为:
确定所述接收缓冲器是否为空;
响应于确定所述接收缓冲器为空,所述SCK总线被配置为第一电平;以及
响应于确定所述接收缓冲器不为空,所述SCK总线被配置为第二电平。
4.根据权利要求2所述的SPI从机设备,其中所述SPI从机设备被配置为:
确定所述发送缓冲器是否为空;
响应于确定所述发送缓冲器为空,所述SCK总线被配置为第一电平;以及
响应于确定所述发送缓冲器不为空,所述SCK总线被配置为第二电平。
5.根据权利要求1-4中任一项所述的SPI从机设备,其中所述SPI从机设备不包括设备使能(SS)管脚。
6.一种SPI主机设备,包括:
一个MOSI管脚,适于经由MOSI总线与SPI从机设备的MOSI管脚连接;
一个MISO管脚,适于经由MISO总线与SPI从机设备的MISO管脚连接;
一个SCK管脚,适于经由SCK总线与SPI从机设备的SCK管脚连接,以及
主机时钟模块,被配置为根据所述SCK总线的电平状态而生成时钟控制信号,
其中所述主机时钟模块被配置为:在所述SCK总线的电平状态为第一电平时,所述时钟控制信号允许所述主机时钟模块向所述SPI从机设备发送同步时钟信号,在所述SCK总线的电平状态为与所述第一电平不同的第二电平时,所述时钟控制信号阻止所述主机时钟模块向所述SPI从机设备发送同步时钟信号,所述SCK总线的电平状态根据所述SPI从机设备的操作状态而被选择性地配置;
其中所述主机时钟模块包括用于生成所述时钟控制信号的控制电路;所述控制电路包括:
SCK输出支路,包括SCK输出端、反相器和同相三态门,所述反相器的输入与所述SCK输出端连接,所述反相器的输出与所述同相三态门的控制端连接,所述同相三态门的输入端连接至所述SCK输出端,所述同相三态门的输出端输出所述时钟控制信号;
SCK输入支路,包括SCK输入端和同相缓冲器,所述同相缓冲器的输出端连接至所述SCK输入端,所述同相缓冲器的输入端连接至所述同相三态门的输出端;以及
钳位电阻,一端与电源或地连接,并且另一端连接至所述同相三态门的输出端。
7.根据权利要求6所述的SPI主机设备,其中所述主机时钟模块被配置为:
响应于确定所述SCK总线的电平为所述第二电平,将所述时钟控制信号设置为所述第一电平;以及
响应于确定所述SCK总线的电平为所述第一电平,将所述时钟控制信号设置为所述第二电平。
8.根据权利要求6-7中任一项所述的SPI主机设备,其中所述SPI主机设备不包括设备使能(SS)管脚。
9.一种用于SPI设备的通信方法,包括:
基于SPI从机设备的操作状态,所述SPI从机设备包括从机时钟模块并且被配置为通过所述从机时钟模块选择性地设置SCK总线为第一电平或第二电平之一,其中述从机时钟模块包括用于配置所述SCK总线的电平的控制电路;其中所述控制电路包括:SCK输出支路,包括SCK输出端、反相器和同相三态门,所述反相器的输入与所述SCK输出端连接,所述反相器的输出与所述同相三态门的控制端连接,所述同相三态门的输入端连接至所述SCK输出端,所述同相三态门的输出端连接至SCK管脚;SCK输入支路,包括SCK输入端和同相缓冲器,所述同相缓冲器的输出端连接至所述SCK输入端,所述同相缓冲器的输入端连接至所述SCK管脚;以及钳位电阻,一端与电源或地连接,并且另一端连接至所述SCK管脚;
响应于确定所述SCK总线的电平状态为所述第一电平,允许SPI主机设备向所述SPI从机设备发送同步时钟信号;以及
响应于确定所述SCK总线的电平状态为所述第二电平,阻止所述SPI主机设备向所述SPI从机设备发送同步时钟信号。
CN202210814585.5A 2022-07-12 2022-07-12 Spi从机设备、spi主机设备和相关的通信方法 Active CN114911743B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210814585.5A CN114911743B (zh) 2022-07-12 2022-07-12 Spi从机设备、spi主机设备和相关的通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210814585.5A CN114911743B (zh) 2022-07-12 2022-07-12 Spi从机设备、spi主机设备和相关的通信方法

Publications (2)

Publication Number Publication Date
CN114911743A CN114911743A (zh) 2022-08-16
CN114911743B true CN114911743B (zh) 2022-10-25

Family

ID=82771821

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210814585.5A Active CN114911743B (zh) 2022-07-12 2022-07-12 Spi从机设备、spi主机设备和相关的通信方法

Country Status (1)

Country Link
CN (1) CN114911743B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115514592A (zh) * 2022-10-19 2022-12-23 通号通信信息集团上海有限公司 一种采用双spi和io中断替换ssi多从机的通信设备
CN117149695B (zh) * 2023-11-01 2024-02-27 北京紫光芯能科技有限公司 Spi从设备的时钟端口ilde态时钟极性的识别电路

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1174799A1 (fr) * 2000-07-21 2002-01-23 Alliance pour les Technologies de l'Informatique, ALITEC Composants programmables et systèmes pour des communications en full-duplex entre un maítre et plusieurs esclaves

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8156274B2 (en) * 2009-02-02 2012-04-10 Standard Microsystems Corporation Direct slave-to-slave data transfer on a master-slave bus
CN102096650B (zh) * 2009-12-09 2012-11-21 炬力集成电路设计有限公司 一种接口装置
CN102110070B (zh) * 2009-12-23 2013-02-20 北京中电华大电子设计有限责任公司 一种提高串行外围设备接口传输效率的实现方法
CN103678209B (zh) * 2012-09-18 2017-03-15 格科微电子(上海)有限公司 基于串行外围设备接口总线的数据传输方法和系统
US10140243B2 (en) * 2015-12-10 2018-11-27 Qualcomm Incorporated Enhanced serial peripheral interface with hardware flow-control
US10380061B2 (en) * 2017-12-26 2019-08-13 The United States Of America As Represented By The Administrator Of Nasa Dual I2C and SPI slave for FPGA and ASIC implementation
CN108446243B (zh) * 2018-03-20 2021-11-26 上海奉天电子股份有限公司 一种基于串行外设接口的双向通信方法与系统
CN110389924A (zh) * 2018-04-19 2019-10-29 大唐移动通信设备有限公司 一种串行总线装置及设置方法
US11550749B2 (en) * 2020-02-11 2023-01-10 Stmicroelectronics International N.V. Serial data interface with reduced loop delay
CN113726498A (zh) * 2020-10-26 2021-11-30 深圳市宏电技术股份有限公司 基于spi的双全工通信方法、主机、从机及存储介质
CN113836075B (zh) * 2021-09-22 2024-03-19 珠海华网科技有限责任公司 一种基于fpga平台的spi接口信号消除毛刺的方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1174799A1 (fr) * 2000-07-21 2002-01-23 Alliance pour les Technologies de l'Informatique, ALITEC Composants programmables et systèmes pour des communications en full-duplex entre un maítre et plusieurs esclaves

Also Published As

Publication number Publication date
CN114911743A (zh) 2022-08-16

Similar Documents

Publication Publication Date Title
CN114911743B (zh) Spi从机设备、spi主机设备和相关的通信方法
EP1213657A2 (en) Dual interface serial bus
EP2309395B1 (en) Method for realizing pins time share multiplexing and a system-on-a-chip
CN101911000B (zh) 用于连接电子装置的控制总线
EP0262429B1 (en) Data processor having a high speed data transfer function
US4451886A (en) Bus extender circuitry for data transmission
EP0772833B1 (en) Serial interface capable of operating in two different serial data transfer modes
EP0258872B1 (en) Serial data transfer system
US6339806B1 (en) Primary bus to secondary bus multiplexing for I2C and other serial buses
US7818604B2 (en) Pipelined clock stretching circuitry and method for I2C logic system
US6119183A (en) Multi-port switching system and method for a computer bus
US20100064083A1 (en) Communications device without passive pullup components
CN101636913B (zh) 使用串行i/o脉冲串选通的低功率串行器/解串器体系结构
US11928066B2 (en) I2C bridge device
US6693678B1 (en) Data bus driver having first and second operating modes for coupling data to the bus at first and second rates
EP3859542A1 (en) Spi broadcast mode
CN108920401B (zh) 多主多从的i2c通信方法、系统及节点设备
EP1071998B1 (en) High speed data bus driver
WO2005083577A2 (en) Integrated circuit with two different bus control units
EP1150466A2 (en) Halting data strobes on a source synchronous link and utilization of same to debug data capture problems
US20030053573A1 (en) Microcontroller having a transmission-bus-interface
CN114070666B (zh) 一种总线通讯接口电路及增强总线通讯效果的通信方法
CN117472837B (zh) 模式切换电路、方法、外扩连接器及PCIe板卡
AU670507B2 (en) Method and system for providing data hold time by synchronous random access memory during write operations
US6901472B2 (en) Data-processing unit with a circuit arrangement for connecting a first communications bus with a second communications bus

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant