CN103678209A - 基于串行外围设备接口总线的数据传输方法和系统 - Google Patents

基于串行外围设备接口总线的数据传输方法和系统 Download PDF

Info

Publication number
CN103678209A
CN103678209A CN201210347580.2A CN201210347580A CN103678209A CN 103678209 A CN103678209 A CN 103678209A CN 201210347580 A CN201210347580 A CN 201210347580A CN 103678209 A CN103678209 A CN 103678209A
Authority
CN
China
Prior art keywords
data
slave
main frame
sck
transfer clock
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.)
Granted
Application number
CN201210347580.2A
Other languages
English (en)
Other versions
CN103678209B (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.)
Galaxycore Shanghai Ltd Corp
Original Assignee
Galaxycore Shanghai Ltd Corp
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 Galaxycore Shanghai Ltd Corp filed Critical Galaxycore Shanghai Ltd Corp
Priority to CN201210347580.2A priority Critical patent/CN103678209B/zh
Publication of CN103678209A publication Critical patent/CN103678209A/zh
Application granted granted Critical
Publication of CN103678209B publication Critical patent/CN103678209B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Abstract

基于串行外围设备接口(SPI)总线的数据传输方法和系统,该方法在主机(M)与从机(S)之间双向串行传输数据,其中所述主机(M)提供传输时钟(SCK),其特征在于,该方法包括:当由所述主机(M)向所述从机(S)传输数据时,所述主机(M)利用所述传输时钟(SCK)的前半周期和后半周期交替选通所述主机(M)的输出数据并通过第一数据线(MOSI)发送至所述从机(S);以及当由所述从机(S)向所述主机(M)传输数据时,所述从机(S)接收由所述主机(M)提供的所述传输时钟(SCK),并利用所述传输时钟(SCK)的前半周期和后半周期交替选通所述从机(S)的输出数据并通过第二数据线(MISO)发送至所述主机(M)。

Description

基于串行外围设备接口总线的数据传输方法和系统
技术领域
本发明涉及一种数据传输方法和系统,尤其涉及一种基于串行外围设备接口(SPI)总线的数据传输方法和系统。
背景技术
串行外围设备接口SPI(serial peripheral interface)总线(以下简称“串行总线”或“SPI”)技术是Motorola公司推出的一种同步串行接口,用于主机(例如CPU)与各从机(例如各种外围设备或器件)进行全双工、同步串行通讯,在速度、通用性及成本方面的优势明显,得到广泛应用。
SPI可以同时发出和接收串行数据。它只需四条线就可以完成主机与各种外围器件的通讯,这四条线是:传输时钟线SCKL、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOSI、低电平有效从机选择线SSEL。
图1显示了传统的SPI总线的工作时序图,其中SPI总线是串行工作的,通常是发送端在时钟的上升沿发送数据,接收端在下降沿采样数据,或者是发送端在时钟的下降沿发送数据,接收端在上升沿采样数据。这种设计非常有利于接收端利用时钟沿采样数据,尤其是小规模集成电路。但是,随着发送端和接收端(尤其是各种从机)日益复杂,接收端内部通常具有自身的时钟域,因此,由于涉及到SCK时钟域与接收端内部时钟域之间的异步信号的同步问题,SPI传输方案在目前的应用中(例如具有嵌入式CPU的芯片的应用中)通常不直接使用SCK的边沿来对数据信号作锁存,而采用对SCK采样来判断SCK的时钟边沿,并在相应的SCK时钟边沿来采样数据。
随着对串行总线数据传输速率的要求日益提高,已经提出了各种提高串行总线传输速率的方案。其中,传统的提高串行总线传输速率的方案,是通过提高时钟频率或增加数据线宽度来完成的,然而,提高时钟速率会带来信号完整性问题,而增加数据线宽度则会占用更多引脚资源,均会给串行总线及其关联的系统的性能和成本带来不利影响。此外,在提高数据传输速率的前提下,如何在不增加额外的系统复杂度的情况下保证SCK时钟域与接收端内部时钟域之间的同步,也是需要解决的问题。
因此,如何在保持串行总线时钟频率不变,数据宽度不变的前提下,提高总线传输速率,以及实现SCK时钟域与接收端内部时钟域之间的异步信号的同步,是目前亟待解决的问题。
背景技术部分公开的信息只是为了加强对本发明的一般背景的理解,不应看作是对该信息构成本领域技术人员已知的相关技术的提示或任何形式的暗示。
发明内容
本发明的目的在于,在保持串行总线时钟频率不变,数据宽度不变的前提下,提高总线传输速率,避免了提高时钟频率带来的信号完整性问题或增加数据线宽度带来的占用更多引脚资源问题。
本发明的另一目的在于,在提高总线传输速率的基础上,保证SCK时钟域与接收端内部时钟域之间的异步信号的同步。
为达此目的,根据本发明的一方面,提出了一种基于串行外围设备接口(SPI)总线的数据传输方法,该方法在主机(M)与从机(S)之间双向串行传输数据,其中所述主机(M)提供传输时钟(SCK),其特征在于,该方法包括:当由所述主机(M)向所述从机(S)传输数据时,所述主机(M)利用所述传输时钟(SCK)的前半周期和后半周期交替选通所述主机(M)的输出数据并通过第一数据线(MOSI)发送至所述从机(S);以及当由所述从机(S)向所述主机(M)传输数据时,所述从机(S)接收由所述主机(M)提供的所述传输时钟(SCK),并利用所述传输时钟(SCK)的前半周期和后半周期交替选通所述从机(S)的输出数据并通过第二数据线(MISO)发送至所述主机(M)。该方法通过利用串行总线的传输时钟(SCK)的前半周期和后半周期同时传输数据来提高串行总线的传输速率。
优选地,当由所述主机(M)向所述从机(S)传输数据时,所述从机(S)判断所述传输时钟(SCK)的前半周期或后半周期是否到来,若是,则将从机的输入寄存器的数据更新为第一数据线(MOSI)上的当前数据,若否,则保持从机的输入寄存器的数据。也就是说,通过从机对传输时钟SCK的前半周期与后半周期分别进行判断,从而实现SCK时钟域与接收端内部时钟域之间的异步信号的同步。
优选地,判断所述传输时钟(SCK)的前半周期或后半周期是否到来包括:判断所述传输时钟(SCK)的当前采样电平是否与前次采样电平相同,如果相同,则将第一数据线(MOSI)上的当前数据锁存到从机(S)的输入寄存器;如果不相同,则将从机(S)的输入寄存器的数据移出,并将第一数据线(MOSI)上的当前数据锁存到从机(S)的输入寄存器。
优选地,当由所述主机(M)向所述从机(S)传输数据时,所述传输时钟(SCK)的前半周期和后半周期分别选通所述主机(M)中的输出寄存器的多位数据中的两路输出数据;以及当由所述从机(S)向所述主机(M)传输数据时,所述传输时钟(SCK)的前半周期和后半周期分别选通所述从机(S)的输出寄存器的多位数据中的两路输出数据。
优选地,所述传输时钟(SCK)通过其上升沿和下降沿,或者其高电平和低电平交替选通所述主机或所述从机的输出数据。
根据本发明的另一方面,提出了一种基于串行外围设备接口(SPI)总线的数据传输系统,该系统在主机(M)与从机(S)之间双向串行传输数据,其特征在于,该系统包括:
主机(M);该主机(M)提供传输时钟(SCK);
从机(S);
第一数据线(MOSI),将所述主机(M)发送的数据传送至所述从机(S);
第二数据线(MISO),将所述从机(S)发送的数据传送至所述主机(M);
时钟传输线(SCKL),将所述主机(M)提供的所述传输时钟(SCK)传输至所述从机(S);其中
当由所述主机(M)向所述从机(S)传输数据时,所述主机(M)利用所述传输时钟(SCK)的前半周期和后半周期交替选通所述主机(M)的输出数据并通过所述第一数据线(MOSI)发送至所述从机(S);
当由所述从机(S)向所述主机(M)传输数据时,所述从机(S)接收由所述主机(M)提供的所述传输时钟(SCK),并利用所述传输时钟(SCK)的前半周期和后半周期交替选通所述从机(S)的输出数据并通过所述第二数据线(MISO)发送至所述主机(M)。
优选地,所述主机(M)还包括第一选通器(MUX1),该第一选通器(MUX1)的两个输入端分别接收所述主机的两路输出数据,该第一选通器的输出端连接所述第一数据线(MOSI);其中,当由所述主机(M)向所述从机(S)传输数据时,所述传输时钟(SCK)的前半周期和后半周期交替选通所述第一选通器(MUX1)的两个输入端的数据至所述第一选通器的输出端。
优选地,所述从机(S)还包括第二选通器(MUX2),该第二选通器(MUX2)的两个输入端分别接收所述从机(S)的两路输出数据,该第二选通器的输出端连接所述第二数据线(MISO);其中,当由所述从机(S)向所述主机(M)传输数据时,所述传输时钟(SCK)的前半周期和后半周期交替选通所述第二选通器(MUX2)的两个输入端的数据至所述第二选通器的输出端。
优选地,当由所述主机(M)向所述从机(S)传输数据时,所述从机(S)判断所述传输时钟(SCK)的前半周期或后半周期是否到来,若是,则将从机的输入寄存器的数据更新为第一数据线(MOSI)上的当前数据,若否,则保持从机的输入寄存器的数据。
优选地,判断所述传输时钟(SCK)的前半周期或后半周期是否到来包括:判断所述传输时钟(SCK)的当前采样电平是否与前次采样电平相同,如果相同,则将第一数据线(MOSI)上的当前数据锁存到所述从机(S)的输入寄存器;如果不相同,则将所述从机(S)的输入寄存器数据移出,并将第一数据线(MOSI)上的当前数据锁存到所述从机(S)的输入寄存器。
优选地,所述主机(M)和所述从机(S)分别包括多个输出寄存器,当由所述主机(M)向所述从机(S)传输数据时,所述传输时钟(SCK)的前半周期和后半周期分别选通所述主机(M)的输出寄存器的多位数据中的两路输出数据;以及当由所述从机(S)向所述主机(M)传输数据时,所述传输时钟(SCK)的前半周期和后半周期分别选通所述从机(S)的输出寄存器的多位数据中的两路输出数据。
优选地,所述传输时钟(SCK)通过其上升沿和下降沿,或者其高电平和低电平交替选通所述主机或所述从机的输出数据。
本发明在不带来板级系统设计的变化的前提下,将串行总线的数据率提高了一倍,还可保证接收端内部时钟域与传输时钟域之间的同步。
根据本公开的方法和装置的其他特征和优点将在以下的并入本文的附图以及下文对本发明的详细描述中呈现或予以阐明,附图和对本发明的详细描述共同用于解释本发明的特定原理。
附图说明
应理解,附图没有必要按比例绘制,其呈现的是对描述本发明基本原理的各个特征的某种程度上的简化表示。这里公开的本发明特定的设计特征,包括例如特定的尺寸、方向、位置和形状,部分地由具体指定的应用和使用环境确定。
在附图中,所有附图中相同的附图标记指代本发明相同或等价的部分。
图1显示了传统的SPI总线的工作时序图;
图2是根据本发明的第一实施例的一种基于串行外围设备接口SPI总线的数据传输方法的示意图;
图3是根据本发明的第二实施例的一种基于串行外围设备接口SPI总线的数据传输方法的示意图;
图4是根据本发明的第四实施例的一种基于串行外围设备接口SPI总线的数据传输系统的示意图;
图5是根据本发明的第五实施例的一种基于串行外围设备接口SPI总线的数据传输系统的示意图;
图6是根据本发明的第六实施例的一种基于串行外围设备接口SPI总线的数据传输系统的示意图;
图7是根据本发明的第七实施例的一种基于串行外围设备接口SPI总线的数据传输系统的示意图;
图8是根据本发明的实施例的一种基于串行外围设备接口SPI总线的数据传输系统的工作时序图。
具体实施方式
下面将详细参考本发明的各实施例,其示例显示在附图和下文描述中。尽管结合示例性实施例描述了本发明,但应该理解,本说明书并未意欲将本发明限制于这些示例性实施例。相反,本发明不仅意欲覆盖这些示例性实施例,而且也覆盖包含在由所附权利要求书限定的本发明的实质和范围内的各种替代物、修改、等价物和其他实施例。
本发明的一方面,提出了一种基于串行外围设备接口SPI总线的数据传输方法,该方法利用串行总线的传输时钟(SCK)前半周期和后半周期,同时传输数据,以提高串行总线的数据率。以下通过各实施例,具体说明根据本发明的方法优选实施方式。
图2是根据本发明的第一实施例的一种基于串行外围设备接口SPI总线的数据传输方法的示意图,该方法在主机M与从机S之间双向串行传输数据,其中所述主机M提供传输时钟SCK,该实施例的方法包括:
当由所述主机M向所述从机S传输数据时,所述主机M利用所述传输时钟SCK的前半周期和后半周期交替选通所述主机M的输出数据并通过第一数据线MOSI发送至所述从机S;以及
当由所述从机S向所述主机M传输数据时,所述从机S接收由所述主机M提供的所述传输时钟SCK,并利用所述传输时钟SCK的前半周期和后半周期交替选通所述从机S的输出数据并通过第二数据线MISO发送至所述主机M。
与传统的仅利用传输时钟SCK的上升沿(或下降沿)传输数据,即在一个时钟周期内仅传输一个单位数据线宽度的数据的方案(如图1所示)不同,在本发明的该实施例中,利用的传输时钟的前半周期和后半周期作为发送端(主机或从机)的输出数据的选通信号,及当传输时钟前半周期到来时,选通并传输一路输出数据,当传输时钟后半周期到来时,选通并传输另一路输出数据,从而在一个时钟周期内传输两个单位数据线宽度的数据,由此将串行总线的传输速率提高了一倍。这里“单位数据线宽度”是指第一数据线和第二数据线各自的可并行传输的数据位数,例如1位、2位、4位及以上。
注意到,为了简明起见,在描述通过传输时钟SCK的前半周期和后半周期对输出数据进行选通时,图2所示的实施例采用“边沿选通”的方式描绘了传输时钟SCK、第一数据线MOSI和第二数据线MISO之间的时序关系,也就是说,在图2所示的实施例的时序图中,通过传输时钟SCK的上升沿和下降沿对输出数据进行选通,然而,在另一变形中,也可以通过传输时钟SCK的高电平和低电平对输出数据进行选通。也就是说,优选地,传输时钟SCK可通过其上升沿和下降沿,或者高电平和低电平交替选通主机或从机的输出数据。以上两种方式均属于通过传输时钟SCK的前半周期和后半周期对输出数据进行选通。
当主机与从机速度和复杂度低,尤其是从机没有内部时钟域与SCK时钟域进行同步的要求的应用场合下,图2所示的实施例的方法完全可以满足主机与从机之间的同步串行数据传输。然而,如果需要对从机的内部时钟域与SCK时钟域进行同步,则可进一步采用如图3所示的第二实施例的方法来实现。
图3显示了根据本发明的第二实施例的一种基于串行外围设备接口SPI总线的数据传输方法的示意图。在该第二实施例中,在图2所示的第一实施例的方法的基础上,当由所述主机M向所述从机S传输数据时,所述从机S判断所述传输时钟SCK的前半周期或后半周期是否到来,若是,则将从机的输入寄存器的数据更新为第一数据线MOSI上的当前数据,若否,则保持从机的输入寄存器的数据。
该第二实施例的目的,是为了保证从机接收主机发送的数据时,能够实现传输时钟SCK(以及所接收的数据)与从机内部时钟域的同步。应注意的是,当主机接收从机发送的数据时,由于传输时钟SCK本身就是由主机提供的,因此可自然实现同步,主机无需对传输时钟SCK的边沿进行判断。
判断所述传输时钟SCK的前半周期或后半周期是否到来的方法有很多,例如可以通过判断所述传输时钟SCK的当前采样电平是否与前次采样电平相同,如果相同,则将第一数据线MOSI上的当前数据锁存到从机S的输入寄存器;如果不相同,则将从机S的输入寄存器的数据移出,并将第一数据线MOSI上的当前数据锁存到从机S的输入寄存器。
在优选的第三实施例中,在第一或第二实施例的基础上,当由所述主机M向所述从机S传输数据时,所述传输时钟SCK的前半周期和后半周期分别选通所述主机M中的输出寄存器的多位数据中的两路输出数据;以及当由所述从机S向所述主机M传输数据时,所述传输时钟SCK的前半周期和后半周期分别选通所述从机S的输出寄存器的多位数据中的两路输出数据。
优选地,当主机与多个从机进行数据传输时,利用从机选择信号SSEL对所述多个从机进行选择。
本发明的另一方面,提出了一种基于串行外围设备接口SPI总线的数据传输系统,该系统利用串行总线的传输时钟SCK前半周期和后半周期,同时传输数据,以提高串行总线的数据率。以下通过各实施例,具体说明根据本发明的系统优选实施方式。
图4是根据本发明的第四实施例的一种基于串行外围设备接口SPI总线的数据传输系统,该系统在主机M与从机S之间双向串行传输数据,其特征在于,该系统包括:
主机M;该主机M提供传输时钟SCK;
从机S;
第一数据线MOSI,将所述主机M发送的数据传送至所述从机S;
第二数据线MISO,将所述从机S发送的数据传送至所述主机M;
时钟传输线SCKL,将所述主机M提供的所述传输时钟SCK传输至所述从机S;其中
当由所述主机M向所述从机S传输数据时,所述主机M利用所述传输时钟SCK的前半周期和后半周期交替选通所述主机M的输出数据并通过所述第一数据线MOSI发送至所述从机S;
当由所述从机S向所述主机M传输数据时,所述从机S接收由所述主机M提供的所述传输时钟SCK,并利用所述传输时钟SCK的前半周期和后半周期交替选通所述从机S的输出数据并通过所述第二数据线MISO发送至所述主机M。
优选地,传输时钟SCK可通过其上升沿和下降沿,或者高电平和低电平交替选通主机或从机的输出数据。
优选地,输出数据的选通可以通过选通器来实现。在图5所示的第五实施例中,所述主机M还优选地包括第一选通器MUX1,该第一选通器MUX1的两个输入端分别接收所述主机的两路输出数据,该第一选通器的输出端连接所述第一数据线MOSI;其中,当由所述主机M向所述从机S传输数据时,所述传输时钟SCK的前半周期和后半周期交替选通所述第一选通器MUX1的两个输入端的数据至所述第一选通器的输出端。
同样地,所述从机S还优选地包括第二选通器MUX2,该第二选通器MUX2的两个输入端分别接收所述从机S的两路输出数据,该第二选通器的输出端连接所述第二数据线MISO;其中,当由所述从机S向所述主机M传输数据时,所述传输时钟SCK的前半周期和后半周期交替选通所述第二选通器MUX2的两个输入端的数据至所述第二选通器的输出端。
图6所示的第六实施例应用于需要对从机的内部时钟域与SCK时钟域进行同步的应用场合下,其中优选地,当由所述主机M向所述从机S传输数据时,所述从机S判断所述传输时钟SCK的前半周期或后半周期是否到来,若是,则将从机的输入寄存器的数据更新为第一数据线MOSI上的当前数据,若否,则保持从机的输入寄存器的数据。
判断所述传输时钟SCK的前半周期或后半周期是否到来的方法很多,例如可判断所述传输时钟SCK的当前采样电平是否与前次采样电平相同,如果相同,则将第一数据线MOSI上的当前数据锁存到所述从机S的输入寄存器;如果不相同,则将所述从机S的输入寄存器数据移出,并将第一数据线MOSI上的当前数据锁存到所述从机S的输入寄存器。
在图7所示的第七实施例中,所述主机M和所述从机S分别优选地包括多个输出寄存器,当由所述主机M向所述从机S传输数据时,所述传输时钟SCK的上升沿和下降沿分别选通所述主机M的多个输出寄存器的两个输出;以及当由所述从机S向所述主机M传输数据时,所述传输时钟SCK的上升沿和下降沿分别选通所述从机S的多个输出寄存器的两个输出。此外可选地,当由所述主机M向所述从机S传输数据时,所述传输时钟SCK的前半周期和后半周期分别选通所述主机M的输出寄存器的多位数据中的两路输出数据;以及当由所述从机S向所述主机M传输数据时,所述传输时钟SCK的前半周期和后半周期分别选通所述从机S的输出寄存器的多位数据中的两路输出数据。
在一般的SPI实现方案中,主机或从机中通常包含一组或多组移位寄存器,移位寄存器的输入端(输入寄存器)接收由主机或从机接收的数据,同时其输出端(输出寄存器)将要发送的数据移位输出。因此,该第三实施例中输出寄存器既可以是一组移位寄存器中的输出寄存器,也可以是多组移位寄存器中的输出寄存器。例如,当主机或从机中包含一组深度为M位的移位寄存器时,传输时钟SCK可交替选通该M位数据中的两路输出数据,每路包含N位数据,其中N与第一和第二数据线的宽度相对应。当主机或从机中包含多组移位寄存器时,传输时钟SCK可交替选通其中两组移位寄存器的两路输出数据。然而,本发明旨在利用传输时钟的前半周期和后半周期交替选通并传输输出数据,因此并不局限于以移位寄存器作为数据输入输出机制的SPI实现方案,本发明也同样适用于以移位寄存器之外的其他方式实现数据输入输出机制的应用环境。
优选地,当主机与多个从机进行数据传输时,利用从机选择信号(SSEL)对所述多个从机进行选择。
图8显示了根据本发明的实施例的一种基于串行外围设备接口SPI总线的数据传输系统的工作时序图。从该图可以看出,本发明利用传输时钟SCK的前半周期和后半周期同时传输信号,将串行总线数据线提高了一倍。
上文为了描绘和描述的目的,呈现了本发明的特定示例性实施例。这些示例性实施例并非穷举的,或将本发明限制为公开的精确形式,明显地,根据上述教示的诸多修改和变化都是可行的。选择并描述这些示例性实施例是为了解释本发明的特定原理及其实际应用,从而使本领域技术人员制造并使用本发明的各个示例性实施例,及其各种替代物和修改。事实上本发明的范围由所附的权利要求书及其等价物限定。

Claims (12)

1.一种基于串行外围设备接口(SPI)总线的数据传输方法,该方法在主机(M)与从机(S)之间双向串行传输数据,其中所述主机(M)提供传输时钟(SCK),其特征在于,该方法包括:
当由所述主机(M)向所述从机(S)传输数据时,所述主机(M)利用所述传输时钟(SCK)的前半周期和后半周期交替选通所述主机(M)的输出数据并通过第一数据线(MOSI)发送至所述从机(S);以及
当由所述从机(S)向所述主机(M)传输数据时,所述从机(S)接收由所述主机(M)提供的所述传输时钟(SCK),并利用所述传输时钟(SCK)的前半周期和后半周期交替选通所述从机(S)的输出数据并通过第二数据线(MISO)发送至所述主机(M)。
2.根据权利要求1所述的数据传输方法,其特征在于,当由所述主机(M)向所述从机(S)传输数据时,所述从机(S)判断所述传输时钟(SCK)的前半周期或后半周期是否到来,若是,则将从机的输入寄存器的数据更新为第一数据线(MOSI)上的当前数据,若否,则保持从机的输入寄存器的数据。
3.根据权利要求2所述的数据传输方法,其特征在于,判断所述传输时钟(SCK)的前半周期或后半周期是否到来包括:判断所述传输时钟(SCK)的当前采样电平是否与前次采样电平相同,如果相同,则将第一数据线(MOSI)上的当前数据锁存到从机(S)的输入寄存器;如果不相同,则将从机(S)的输入寄存器的数据移出,并将第一数据线(MOSI)上的当前数据锁存到从机(S)的输入寄存器。
4.根据权利要求1所述的数据传输方法,其特征在于,当由所述主机(M)向所述从机(S)传输数据时,所述传输时钟(SCK)的前半周期和后半周期分别选通所述主机(M)中的输出寄存器的多位数据中的两路输出数据;以及
当由所述从机(S)向所述主机(M)传输数据时,所述传输时钟(SCK)的前半周期和后半周期分别选通所述从机(S)的输出寄存器的多位数据中的两路输出数据。
5.根据权利要求1-4中任意一项所述的数据传输方法,其特征在于,所述传输时钟(SCK)通过其上升沿和下降沿,或者其高电平和低电平交替选通所述主机或所述从机的输出数据。
6.一种基于串行外围设备接(SPI)总线的数据传输系统,该系统在主机(M)与从机(S)之间双向串行传输数据,其特征在于,该系统包括:
主机(M);该主机(M)提供传输时钟(SCK);
从机(S);
第一数据线(MOSI),将所述主机(M)发送的数据传送至所述从机(S);
第二数据线(MISO),将所述从机(S)发送的数据传送至所述主机(M);
时钟传输线(SCKL),将所述主机(M)提供的所述传输时钟(SCK)传输至所述从机(S);其中
当由所述主机(M)向所述从机(S)传输数据时,所述主机(M)利用所述传输时钟(SCK)的前半周期和后半周期交替选通所述主机(M)的输出数据并通过所述第一数据线(MOSI)发送至所述从机(S);
当由所述从机(S)向所述主机(M)传输数据时,所述从机(S)接收由所述主机(M)提供的所述传输时钟(SCK),并利用所述传输时钟(SCK)的前半周期和后半周期交替选通所述从机(S)的输出数据并通过所述第二数据线(MISO)发送至所述主机(M)。
7.根据权利要求6所述的系统,其特征在于,所述主机(M)还包括第一选通器(MUX1),该第一选通器(MUX1)的两个输入端分别接收所述主机的两路输出数据,该第一选通器的输出端连接所述第一数据线(MOSI);
其中,当由所述主机(M)向所述从机(S)传输数据时,所述传输时钟(SCK)的前半周期和后半周期交替选通所述第一选通器(MUX1)的两个输入端的数据至所述第一选通器的输出端。
8.根据权利要求6所述的数据传输系统,其特征在于,所述从机(S)还包括第二选通器(MUX2),该第二选通器(MUX2)的两个输入端分别接收所述从机(S)的两路输出数据,该第二选通器的输出端连接所述第二数据线(MISO);
其中,当由所述从机(S)向所述主机(M)传输数据时,所述传输时钟(SCK)的前半周期和后半周期交替选通所述第二选通器(MUX2)的两个输入端的数据至所述第二选通器的输出端。
9.根据权利要求6所述的数据传输系统,其特征在于,当由所述主机(M)向所述从机(S)传输数据时,所述从机(S)判断所述传输时钟(SCK)的前半周期或后半周期是否到来,若是,则将从机的输入寄存器的数据更新为第一数据线(MOSI)上的当前数据,若否,则保持从机的输入寄存器的数据。
10.根据权利要求9所述的数据传输系统,其特征在于,判断所述传输时钟(SCK)的前半周期或后半周期是否到来包括:判断所述传输时钟(SCK)的当前采样电平是否与前次采样电平相同,如果相同,则将第一数据线(MOSI)上的当前数据锁存到所述从机(S)的输入寄存器;如果不相同,则将所述从机(S)的输入寄存器数据移出,并将第一数据线(MOSI)上的当前数据锁存到所述从机(S)的输入寄存器。
11.根据权利要求6所述的数据传输系统,其特征在于,所述主机(M)和所述从机(S)分别包括多个输出寄存器,当由所述主机(M)向所述从机(S)传输数据时,所述传输时钟(SCK)的前半周期和后半周期分别选通所述主机(M)的输出寄存器的多位数据中的两路输出数据;以及
当由所述从机(S)向所述主机(M)传输数据时,所述传输时钟(SCK)的前半周期和后半周期分别选通所述从机(S)的输出寄存器的多位数据中的两路输出数据。
12.根据权利要求6-11中任意一项所述的数据传输系统,其特征在于,所述传输时钟(SCK)通过其上升沿和下降沿,或者其高电平和低电平交替选通所述主机或所述从机的输出数据。
CN201210347580.2A 2012-09-18 2012-09-18 基于串行外围设备接口总线的数据传输方法和系统 Active CN103678209B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210347580.2A CN103678209B (zh) 2012-09-18 2012-09-18 基于串行外围设备接口总线的数据传输方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210347580.2A CN103678209B (zh) 2012-09-18 2012-09-18 基于串行外围设备接口总线的数据传输方法和系统

Publications (2)

Publication Number Publication Date
CN103678209A true CN103678209A (zh) 2014-03-26
CN103678209B CN103678209B (zh) 2017-03-15

Family

ID=50315827

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210347580.2A Active CN103678209B (zh) 2012-09-18 2012-09-18 基于串行外围设备接口总线的数据传输方法和系统

Country Status (1)

Country Link
CN (1) CN103678209B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104978293A (zh) * 2014-04-02 2015-10-14 宏正自动科技股份有限公司 非对称双向传输装置及其切换系统
CN104991876A (zh) * 2015-06-19 2015-10-21 福建星网锐捷网络有限公司 一种串行总线控制方法及装置
CN105099644A (zh) * 2014-04-23 2015-11-25 小米科技有限责任公司 半双工通信方法及相关装置
CN107683445A (zh) * 2015-06-16 2018-02-09 瑟兰尼卡生物电子有限公司 通过共同的互连方案使用多个串行协议的多重感测
CN108446243A (zh) * 2018-03-20 2018-08-24 上海奉天电子股份有限公司 一种基于串行外设接口的双向通信方法与系统
CN110955625A (zh) * 2019-11-22 2020-04-03 上海麦腾物联网技术有限公司 一种基于spi的全双工实时通信的方法及装置
WO2020118950A1 (zh) * 2018-12-10 2020-06-18 北京集创北方科技股份有限公司 用于串行通信的从设备及方法
CN112559426A (zh) * 2020-12-15 2021-03-26 广州智慧城市发展研究院 数据传输方法、接口电路以及装置
CN114911743A (zh) * 2022-07-12 2022-08-16 杭州晶华微电子股份有限公司 Spi从机设备、spi主机设备和相关的通信方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1588337A (zh) * 2004-09-15 2005-03-02 北京中星微电子有限公司 串行通信总线外部设备接口
CN101067804A (zh) * 2007-05-29 2007-11-07 山东大学 一种高速可配置扩展spi总线及其工作方法
CN101196866A (zh) * 2006-07-06 2008-06-11 旺宏电子股份有限公司 Spi总线至少一管脚每半脉冲周期传输一比特的方法及装置
CN101681326A (zh) * 2007-05-25 2010-03-24 罗伯特.博世有限公司 在主从装置之间传输数据的方法
CN102023945A (zh) * 2009-09-22 2011-04-20 鸿富锦精密工业(深圳)有限公司 基于串行外围设备接口总线的设备及其数据传输方法
CN203054827U (zh) * 2012-09-18 2013-07-10 格科微电子(上海)有限公司 基于串行外围设备接口总线的数据传输系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1588337A (zh) * 2004-09-15 2005-03-02 北京中星微电子有限公司 串行通信总线外部设备接口
CN101196866A (zh) * 2006-07-06 2008-06-11 旺宏电子股份有限公司 Spi总线至少一管脚每半脉冲周期传输一比特的方法及装置
CN101681326A (zh) * 2007-05-25 2010-03-24 罗伯特.博世有限公司 在主从装置之间传输数据的方法
CN101067804A (zh) * 2007-05-29 2007-11-07 山东大学 一种高速可配置扩展spi总线及其工作方法
CN102023945A (zh) * 2009-09-22 2011-04-20 鸿富锦精密工业(深圳)有限公司 基于串行外围设备接口总线的设备及其数据传输方法
CN203054827U (zh) * 2012-09-18 2013-07-10 格科微电子(上海)有限公司 基于串行外围设备接口总线的数据传输系统

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104978293B (zh) * 2014-04-02 2018-05-29 宏正自动科技股份有限公司 非对称双向传输装置及其切换系统
CN104978293A (zh) * 2014-04-02 2015-10-14 宏正自动科技股份有限公司 非对称双向传输装置及其切换系统
CN105099644A (zh) * 2014-04-23 2015-11-25 小米科技有限责任公司 半双工通信方法及相关装置
CN105099644B (zh) * 2014-04-23 2020-03-17 小米科技有限责任公司 半双工通信方法及相关装置
CN107683445B (zh) * 2015-06-16 2021-04-27 瑟兰尼卡生物电子有限公司 通过共同的互连方案使用多个串行协议的多重感测
CN107683445A (zh) * 2015-06-16 2018-02-09 瑟兰尼卡生物电子有限公司 通过共同的互连方案使用多个串行协议的多重感测
CN104991876B (zh) * 2015-06-19 2018-11-09 福建星网锐捷网络有限公司 一种串行总线控制方法及装置
CN104991876A (zh) * 2015-06-19 2015-10-21 福建星网锐捷网络有限公司 一种串行总线控制方法及装置
CN108446243A (zh) * 2018-03-20 2018-08-24 上海奉天电子股份有限公司 一种基于串行外设接口的双向通信方法与系统
CN108446243B (zh) * 2018-03-20 2021-11-26 上海奉天电子股份有限公司 一种基于串行外设接口的双向通信方法与系统
WO2020118950A1 (zh) * 2018-12-10 2020-06-18 北京集创北方科技股份有限公司 用于串行通信的从设备及方法
KR20200074917A (ko) * 2018-12-10 2020-06-25 칩원 테크놀로지(베이징) 컴퍼니 리미티드 직렬 통신을 위한 슬레이브 디바이스 및 방법
KR102289930B1 (ko) 2018-12-10 2021-08-17 칩원 테크놀로지(베이징) 컴퍼니 리미티드 직렬 통신을 위한 슬레이브 디바이스 및 방법
CN110955625A (zh) * 2019-11-22 2020-04-03 上海麦腾物联网技术有限公司 一种基于spi的全双工实时通信的方法及装置
CN112559426A (zh) * 2020-12-15 2021-03-26 广州智慧城市发展研究院 数据传输方法、接口电路以及装置
CN114911743A (zh) * 2022-07-12 2022-08-16 杭州晶华微电子股份有限公司 Spi从机设备、spi主机设备和相关的通信方法

Also Published As

Publication number Publication date
CN103678209B (zh) 2017-03-15

Similar Documents

Publication Publication Date Title
CN103678209A (zh) 基于串行外围设备接口总线的数据传输方法和系统
CN102420736B (zh) 用于传输数据的方法
CN102868584B (zh) 一种采用串行通信接口的同步时分多路复用总线通信方法
US8195857B2 (en) Coupling devices, system comprising a coupling device and method for use in a system comprising a coupling device
CN102819512A (zh) 一种基于spi的全双工通信装置及其方法
US8006008B2 (en) Apparatus and method for data processing having an on-chip or off-chip interconnect between two or more devices
CN102231143A (zh) 一种安全可复用spi外围接口电路
CN108111382A (zh) 基于i3c总线的通信装置及其通信方法
CN102263634A (zh) 外围单元、与其交换数据的控制单元和数据交换的方法
CN110334046A (zh) 一种spi全双工的通信方法、装置及系统
CN108073539A (zh) 一种mipi接口的d-phy电路
CN102722462A (zh) 一种同步通信装置及其控制方法
CN102147785A (zh) 串行数据接收器电路装置和串行数据接收方法
CN105045746A (zh) 一种接口扩展装置
CN205038640U (zh) 一种解决spi总线通信延时的spi设备
CN108920401B (zh) 多主多从的i2c通信方法、系统及节点设备
CN203054827U (zh) 基于串行外围设备接口总线的数据传输系统
CN101179372A (zh) 数字通信系统的链路帧同步系统及方法
CN103077144A (zh) 一种确保数据完整的spi通讯接口及其通讯方法
CN105049439A (zh) 一种基于协议配置的机车显示设备数据通信方法
CN102110070B (zh) 一种提高串行外围设备接口传输效率的实现方法
CN107370651A (zh) 一种spi从机之间的通信方法
CN118828419A (zh) 主通信集成电路、通信系统及使用主通信集成电路的通信方法
CN102541788A (zh) Apb桥以及利用apb桥执行读取或写入的方法
CN103577368A (zh) 一种基于spi协议的iic扩展通信方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant