CN117178517A - 通信装置、通信系统和通信方法 - Google Patents
通信装置、通信系统和通信方法 Download PDFInfo
- Publication number
- CN117178517A CN117178517A CN202280025204.3A CN202280025204A CN117178517A CN 117178517 A CN117178517 A CN 117178517A CN 202280025204 A CN202280025204 A CN 202280025204A CN 117178517 A CN117178517 A CN 117178517A
- Authority
- CN
- China
- Prior art keywords
- spi
- communication
- data
- data blocks
- master 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.)
- Pending
Links
- 230000006854 communication Effects 0.000 title claims abstract description 364
- 238000004891 communication Methods 0.000 title claims abstract description 364
- 238000000034 method Methods 0.000 title claims description 57
- 230000004044 response Effects 0.000 claims abstract description 16
- 238000012546 transfer Methods 0.000 claims description 15
- 230000002093 peripheral effect Effects 0.000 claims description 13
- 230000001360 synchronised effect Effects 0.000 claims description 3
- 239000000872 buffer Substances 0.000 description 65
- 230000015654 memory Effects 0.000 description 65
- 230000008054 signal transmission Effects 0.000 description 29
- 238000012545 processing Methods 0.000 description 28
- 230000005540 biological transmission Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 11
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000005538 encapsulation Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 235000015429 Mirabilis expansa Nutrition 0.000 description 3
- 244000294411 Mirabilis expansa Species 0.000 description 3
- 235000013536 miso Nutrition 0.000 description 3
- 238000011144 upstream manufacturing Methods 0.000 description 3
- 230000007175 bidirectional communication Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
[问题]通过将不同的通信系统与简单的硬件配置组合来执行串行通信。[解决方案]一种通信装置,包括:通信单元,将用于识别数据块的识别信息添加到包括符合SPI并与时钟同步地从主设备传输的串行信号组的数据块的集合中,并且在预定的通信协议的一个帧周期内将集合传输至对方通信装置,或者在多个帧的周期内将用于识别多个数据块中的每一个的识别信息添加到各自包括串行信号组的一部分的数据块中,并且将数据块传输至对方通信装置;以及存储单元,在依次存储从主设备传输的预定数量的一个或多个数据块之后,响应于来自主设备的预定数量的数据块,输出已经从对方通信装置传输并存储的数据块以传输至主设备。
Description
技术领域
本公开涉及通信装置、通信系统和通信方法。
背景技术
已经提出了在用于主设备的SerDes与用于从设备的SerDes之间执行高速串行通信的技术(见专利文献1)。
例如,在两个SerDes之间执行串行通信的情况下,使用频分双工(FDD)方法或时分双工(TDD)方法。在从一个SerDes传输至另一个SerDes的数据量与从另一个SerDes传输至一个SerDes的数据量之间存在较大差异的情况下,可以想到采用TDD方法以使上行方向和下行方向之间的数据传输容量产生差异。TDD方法是不能同时执行上行方向和下行方向上的通信,并且仅能够执行一个方向上的通信的半双工通信方法。
引用列表
专利文献
专利文献1:日本专利申请2011-239011
发明内容
本发明要解决的问题
串行通信标准之一被称为串行外围接口(SPI)。SPI是一种可以同时执行上行链路和下行链路通信的全双工通信方法。通常,在SPI通信中,SPI主设备装置(在下文中,称为主设备)和SPI从设备装置(在下文中,称为从设备)直接连接以执行数据通信。另一方面,可经由称为SerDes的用于远距离传输的串行通信装置在主设备和从设备之间执行SPI通信。在这种系统中,主设备和主设备SerDes之间可以进行SPI通信,从设备和从设备SerDes之间可以进行SPI通信,主设备SerDes和从设备SerDes之间可以通过TDD方法或FDD方法进行串行通信。
在该情况下,由于主设备无法获知主设备SerDes与从设备SerDes之间的串行通信是否完成,因此,例如考虑如下方法:从主设备SerDes向主设备传输中断信号,以向主设备通知与从设备SerDes的串行通信完成。
然而,当在主设备和主设备SerDes之间传输和接收中断信号时,需要在主设备和主设备SerDes中提供用于中断信号的引脚。此外,需要在主设备SerDes内部设置中断信号生成电路。以此方式,中断信号可引起复杂的硬件配置。
因此,本公开提供能够通过将不同的通信方法与简单的硬件配置组合来执行串行通信的通信装置、通信系统和通信方法。
问题的解决方案
为了解决上述问题,本公开提供了一种通信装置,包括:通信单元,该通信单元将用于识别数据块的识别信息添加到具有串行信号组的数据块的集合中,该串行信号组与时钟同步地从主设备传输并符合串行外围接口(SPI);以及在预定的通信协议的一个帧周期内将数据块传输至通信对方装置,或者将用于识别多个数据块中的每一个的识别信息添加到具有串行信号组的每个部分的多个数据块中,以及在多个帧周期内将数据块传输至通信对方装置;以及
存储单元,依次存储从主设备传输的预定数量的一个或多个数据块,然后响应于来自主设备并存储在其中的预定数量的数据块,经由通信对方装置输出从从设备传输的数据块,以将数据块传输至主设备。
可以在预定数量的帧周期内将预定数量的数据块传输至通信对方装置。
预定数量的数据块可以是与包括在从主设备传输的串行信号组中的数据块的总数信息相对应的预定数量的连续数据块。
第一计数器,基于在主设备和从设备之间共享的参考时钟测量帧周期的长度,以及
第二计数器,可以设置对从主设备传输的数据块的数量进行计数,并且
存储单元可在与第一计数器和第二计数器的计数值相应的时刻依次存储预定数量的数据块,然后从通信对方装置输出所存储的数据块。
参考时钟可以是由汽车串行器/解串器联盟(ASA)标准定义的频率的时钟,并且
第二计数器可与包括在符合SPI的串行信号组中的时钟同步地执行计数操作。
第一周期可以等于或长于第二周期,第一周期是从主设备传输的预定数量的数据块被存储在存储单元中的周期,第二周期是通信单元将包括数据块的数据包传输至通信对方装置的周期。
第二周期可以比第一周期的一半周期长。
通信单元可以在从主设备传输的数据块存储在存储单元中之后,在经过第二周期之后的帧周期中,将存储在存储单元中的数据块传输至通信对方装置。
通信单元也可以在将从主设备传输的数据块存储到存储单元之后,在经过第二周期之前的帧周期内,将存储在存储单元中的数据块传输至通信对方装置。
在要传输至通信对方装置的数据块未准备就绪的情况下,通信单元可停止将数据块传输至通信对方装置,直到下一帧周期。
在来自通信对方装置的数据块没有到达来自主设备的数据块的情况下,存储单元可以停止存储新的数据块,直到下一帧周期。
还可以包括移位寄存器,该移位寄存器在每个第一周期将从主设备传输的预定数量的数据块依次存储在存储单元中,然后在每个第一周期从存储单元中依次读取从通信对方装置传输并存储在存储单元中的数据块,并将该数据块传输至主设备。
移位寄存器可以从存储在存储单元中的通信对方装置依次读取数据块并将数据块传输至主设备,而不将指示来自通信对方装置的数据块已经到达的中断信号传输至主设备。
通信单元可以使用根据时分双工(TDD)的通信协议在帧周期内的不同周期中将数据块从主设备传输至通信对方装置并且从通信对方装置接收数据块。
本公开提供一种通信系统,还包括利用预定的通信协议传输和接收数据包的第一通信装置和第二通信装置,
其中,第一通信装置包括:
第一通信单元,将用于识别数据块的识别信息添加到具有串行信号组的数据块的集合中,串行信号组与时钟同步地从主设备传输并符合串行外围接口(SPI);以及在预定的通信协议的一个帧周期内将数据块传输至第二通信装置,或者将用于识别多个数据块中的每一个的识别信息添加到具有串行信号组的每个部分的多个数据块,以及在多个帧周期中将数据块传输至第二通信装置;以及
第一存储单元,依次存储从主设备传输的预定数量的一个或多个数据块,然后响应于来自主设备的预定数量的数据块存储经由第二通信装置从从设备传输的数据块,以及
第二通信装置包括第二通信单元,第二通信单元在至少一个帧周期内将响应于从第一通信单元传输的预定数量的数据块从从设备传输的数据块传输至第一通信装置。
第一通信装置还可以包括第一移位寄存器,第一移位寄存器将从主设备传输的预定数量的数据块依次存储在第一存储单元中,并且然后从第一存储单元依次读取从第二通信装置传输并且存储在第一存储单元中的数据块并且将数据块传输至主设备,并且
第二通信装置还可以包括:
第二存储单元,存储从第一通信单元传输的预定数量的数据块,并且还存储从从设备传输的数据块;以及
第二移位寄存器,将从第一通信单元传输的预定数量的数据块依次存储在第二存储单元中,从第二存储单元依次读取从从设备传输并存储在第二存储单元中的数据块,并且经由第二通信单元将数据块传输至第一通信单元。
在不存在要存储在第二存储单元中的数据块或不存在要传输至第一通信单元的数据块的情况下,第二移位寄存器可以停止移位操作。
在第二通信单元接收要存储在第二存储单元中的数据块的情况下,可以包括时钟生成器,该时钟生成器生成使第二移位寄存器执行移位操作的时钟。
该时钟可以与包括在符合从主设备传输至第一通信装置的SPI的串行信号组中的串行时钟同步。
本公开提供了一种通信方法,包括:
将用于识别数据块的识别信息添加到具有与时钟同步地从主设备传输并符合串行外围接口(SPI)的串行信号组的数据块的集合中,以及在预定的通信协议的一个帧周期内将数据块传输至通信对方装置,或者在具有串行信号组的每个部分的多个数据块中添加用于识别多个数据块中的每一个的识别信息并在多个帧周期内将数据块传输至通信对方装置的步骤;以及
将从主设备传输的预定数量的一个或多个数据块依次存储在存储单元中,然后响应于来自主设备的预定数量的数据块读取经由通信对方装置从从设备传输并存储在存储单元中的数据块,以向主设备传输数据块的步骤。
附图说明
图1是示出根据本公开的通信系统的基本配置的框图。
图2是与SPI/主设备和SPI/从设备之间的SPI通信相关的部分的框图。
图3是SPI协议的基本信号波形图。
图4是示出在图1中的M_SerDes与S_SerDes之间执行的TDD方法的示图。
图5是图1中的通信系统的时序图。
图6A是示出在图1中的通信系统的处理操作的流程图。
图6B是图6A之后的流程图。
图7是图5的变形例的时序图。
图8是示出根据第一实施方式的通信系统的示意性配置的框图。
图9是示出在图8中的M_SerDes中的每个单元的信号流的示图;
图10是用于描述包括在由M_SerDes中的ECP和S_SerDes中的ECP生成的传输数据包中的信息的示图。
图11是根据第一实施方式的通信系统的时序图。
图12A是根据第一实施方式的通信系统的流程图。
图12B是图12A之后的流程图。
图13是图11的变形例的时序图。
图14是根据第二实施方式的通信系统的时序图。
图15A是示出根据第二实施方式的通信系统的处理操作的流程图。
图15B是图15A之后的流程图。
具体实施方式
在下文中,将参考附图描述通信装置、通信系统和通信方法的实施方式。尽管下面将主要描述通信装置、通信系统和通信方法的主要配置,但是通信装置、通信系统和通信方法可以具有未示出或未描述的配置和功能。以下描述不排除未示出或未描述的配置和功能。
(基本配置)
图1是示出根据本公开的通信系统2的基本配置的框图。图1中的通信系统2包括SPI/主设备11、主设备SerDes(M_SerDes 31)31、SPI/从设备12以及从设备SerDes(S_SerDes)41。其中,M_SerDes 31对应于通信装置1a,并且S_SerDes 41对应于通信装置1b。
SPI/主设备11和M_SerDes 31执行符合SPI的串行通信(在下文中可称为SPI通信)。类似地,SPI/从设备12和S_SerDes 41执行符合SPI的串行通信(SPI通信)。M_SerDes31和S_SerDes 41通过TDD方法执行高速串行通信。在图1中,从M_SerDes 31到S_SerDes 41的信号传输路径称为上行链路(UP Link),并且从S_SerDes 41到M_SerDes 31的信号传输路径称为下行链路(Down Link)。在SPI通信中,通过符合SPI标准的协议(下文称为SPI协议)进行串行通信。此外,在本说明书中,通过SPI通信传输和接收的串行数据可被称为SPI数据。M_SerDes 31和S_SerDes41执行符合例如汽车串行器/解串器联盟(ASA)标准的高速串行通信。
如后所述,M_SerDes 31包括通信单元(DLL 31-4),该通信单元在预定的通信协议的一个帧周期内,将与时钟同步地从主设备(SPI/主设备11)传输并符合串行外围接口(SPI)的串行信号组作为数据块的集合传输至通信对方装置(S_SerDes 41),或者将串行信号组作为根据多个帧周期被划分的多个数据块传输至通信对方装置(S_SerDes 41)。
此外,S_SerDes 41包括通信单元(DLL 41-4),该通信单元在预定的通信协议的一个帧周期内将从从设备(SPI/从设备12)传输的符合SPI的串行信号组作为数据块的集合传输至通信对方装置(M_SerDes 31),或者将串行信号组作为根据多个帧周期被划分的多个数据块传输至通信对方装置(M_SerDes 31),与基于来自通信对方装置(M_SerDes 31)的数据包中包括的时钟频率信息所生成的时钟同步。
图2是与SPI/主设备11和SPI/从设备12之间的SPI通信相关的部分的框图。应注意,图2示出SPI/主设备11和SPI/从设备12直接执行符合SPI的串行通信以简化描述的示例。
如图2所示,SPI/主设备11具有移位寄存器11-1和缓冲器/存储器11-2。类似地,SPI/从设备12具有移位寄存器12-1和缓冲器/存储器12-2。
SPI/从设备12中的移位寄存器12-1与从SPI/主设备11提供的时钟SCK同步操作。SPI/主设备11中的移位寄存器11-1与SCK同步地从最高有效位(MSB)侧依次输出串行数据。输出的串行数据通过MOSI引脚输入到SPI/从设备12中的移位寄存器12-1的最低有效位(LSB)侧。从SPI/从设备12中的移位寄存器12-1的MSB侧输出的串行数据经由MISO引脚被输入到SPI/主设备11中的移位寄存器11-1的LSB侧。由SPI/主设备11中的移位寄存器11-1保持的数据可被存储在缓冲器/存储器11-2中。此外,移位寄存器11-1可以保持存储在缓冲器/存储器11-2中的数据。类似地,由SPI/从设备12中的移位寄存器12-1保持的数据可被存储在缓冲器/存储器12-2中。此外,移位寄存器12-1可以保持存储在缓冲器/存储器12-2中的数据。
图3是SPI协议的基本信号波形图。在SPI协议中,存在当SPI/主设备11输出的从属选择信号(CS信号)空闲时的SCK的极性(图3中的高电平)和当CS信号进入激活状态时锁存数据的时钟(SCK)的边缘(上升边缘或下降边缘)(图3中的低电平)的四个组合。这四个组合被称为SPI模式。SPI/主设备11可以任意地选择四个SPI模式中的一个。SPI/主设备11预先知道SPI/从设备12能够支持的SPI模式,需要选择与之对应的模式。
图3的A至图3的D是四个SPI模式的信号波形图。在图3的A中所示的SPI模式=0中,当CS信号空闲时SCK为低,并且当SCK上升时保持数据。在图3的B所示的SPI模式=1中,当CS信号空闲时SCK为低,并且当SCK下降时保持数据。在图3的C中示出的SPI模式=2中,当CS信号空闲时SCK为高,并且当SCK下降时保持数据。在图3的D中示出的SPI模式=3中,当CS信号空闲时SCK为高,并且当SCK上升时保持数据。
由于SCK的频率在SPI协议中没有被定义并且对于执行SPI通信的每个单独的装置而不同,所以SPI/主设备11为执行SPI通信的每个单独的装置选择SCK的频率。因此,SPI/主设备11需要预先知道执行SPI通信的每个装置能够支持的SCK频率。
在下文中,将描述使用SPI协议的通信方法。在图2的示例中,在SPI/主设备11与SPI/从设备12之间执行基于SPI协议的通信。一个或多个SPI/从设备12可以连接至SPI/主设备11。在多个SPI/从设备12连接至SPI/主设备11的情况下,SPI/主设备11具有对应于多个SPI/从设备12的多个CS信号,并且可以通过利用相应的CS信号选择待通信的从设备来执行通信。SPI/主设备11选择与其通信的SPI/从设备12的CS信号如后述那样包含在SPI控制信息中。SPI/主设备11将SPI控制信息包括在SPI数据中并且将SPI数据传输至M_SerDes31。
在执行SPI通信的情况下,SPI/主设备11将连接至要通信的SPI/从设备12的CS信号设置为激活状态(图3的A至图3的D中的低)。在本说明书中,将不同信号设置为激活状态可以被称为断言(assertion),并且将不同信号设置为空闲状态可以被称为去断言(deassertion)。
SPI/主设备11和SPI/从设备12从各自的缓冲器/存储器11-2和12-2向移位寄存器11-1和12-1传输要传输的数据。SPI/主设备11产生SCK并提供给自身的移位寄存器11-1,同时也将SCK提供给SPI/从设备12中的移位寄存器12-1。每个移位寄存器11-1和12-1通过SCK的切换将保持的数据移位1位。当SCK切换移位寄存器11-1和12-1的级数时,切换移位寄存器11-1和12-1的数据。此后,SPI/主设备11使CS信号转变成空闲状态(图3的A至图3的D中的高)。SPI/主设备11和SPI/从设备12可以通过将此时的移位寄存器11-1和12-1的数据传送至缓冲器/存储器11-2和12-2来从缓冲器/存储器11-2和12-2获取数据,从而终止SPI通信。
图2示出SPI/主设备11和SPI/从设备12直接进行SPI通信的示例,但是在图1中,M_SerDes 31和S_SerDes 41设置在SPI/主设备11和SPI/从设备12之间。在图1中,SPI/主设备11和M_SerDes 31执行SPI通信,M_SerDes 31和S_SerDes 41通过TDD方法执行串行通信,并且SPI/从设备12和S_SerDes 41执行SPI通信。
图4为示出在图1中的M_SerDes 31与S_SerDes 41之间执行的TDD方法的示图。图4示出图1中示出的SPI/主设备11和SPI/从设备12的简化的内部配置。而且,图4示出外围装置32和42分别连接至M_SerDes 31和S_SerDes 41的示例。
M_SerDes 31和S_SerDes 41通过例如几米到十几米的电缆103彼此连接。通过该电缆103,M_SerDes 31和S_SerDes 41执行高速串行通信。而且,可设置均包括具有与图4中的M_SerDes 31和S_SerDes 41的配置相似的配置的两个装置的多个组,并且每组可执行高速串行通信。图4中的M_SerDes 31和S_SerDes 41可广泛应用于传输和接收大量数据的应用,例如,车载相机模块。
M_SerDes 31和S_SerDes 41通过TDD方法执行高速串行通信。TDD方法的时刻和频带在图4的右下方示出。在TDD方法中,如图4的右侧所示,设置上行方向上的一个信号传输周期和下行方向上的一个信号传输周期,使得在一个TDD周期内彼此不在时间上重叠。图4中的TDD时序图的示例示出从M_SerDes 31到S_SerDes 41的上行方向的信号(称为上行链路)的信号传输周期非常短于从S_SerDes 41到M_SerDes 31的下行方向的信号(称为下行链路)的信号传输周期的示例,即,上行链路的信号比非常小于下行链路的信号比的示例。例如,在S_SerDes 41中的传感器捕获的视频信号被传输至M_SerDes 31的情况下,信号比如图4的TDD时序图所示。
在图4的右侧,示出TDD方法中用于上行链路的信号传输的频带和用于下行链路的信号传输的频带。如图所示,在TDD方法中,在上行链路信号传输和下行链路信号传输中,频带的一部分重叠。例如,在将由S_SerDes 41中的传感器捕获的视频信号传输至M_SerDes31的情况下,具有较大信号量的下行方向上的下行链路信号传输需要比上行方向上的上行链路信号传输更宽的频带,因此,使用包括用于上行方向上的上行链路信号传输的频带更宽的频带执行。在TDD方法中,由于下行方向上的下行链路中的信号传输周期不与上行方向上的上行链路中的信号传输周期重叠,因此不需要用于分离两个信号的回波消除电路。
假设根据本实施方式的M_SerDes 31和S_SerDes 41通过TDD方法执行信号传输,但是在某些情况下,可通过FDD方法执行信号传输。FDD方法的时刻和频带在图4的右下方示出。在FDD方法中,用于从M_SerDes31到S_SerDes 41的信号传输的频带不同于用于从S_SerDes 41到M_SerDes 31的信号传输的频带。因此,能够在相同的时刻执行从M_SerDes 31到S_SerDes 41的信号传输和从S_SerDes 41到M_SerDes 31的信号传输,并且能够使用一个FDD周期内的整个周期来执行上行方向的信号传输和下行方向的信号传输。
此外,在FDD方法中,使用高频侧上的宽频带来执行信号量大的上行方向的信号传输。使用低频侧的窄频带来执行信号量少的下行方向的信号传输。在图4的左下示例中,为了提高频率的利用效率,在上行方向上的信号传输中使用的频带与在下行方向上的信号传输中使用的频带部分重叠。此外,如图4的左下部所示,时域中的上行方向上的信号传输部分和下行方向上的信号传输部分彼此完全重叠。这些重叠的存在需要回波消除电路。回波消除电路是精确地分离上行方向的信号和下行方向的信号的电路。
在TDD双向通信方法中,与FDD双向通信不同,需要传输全双工通信方法的信号,其中,与SCK同步,在主设备和SPI从设备之间同时交换数据,在半双工通信方法中,其中,通信装置之间的上行信号(上行链路)和下行信号(下行链路)在每个分配时间切换时执行通信,具体地,SPI主设备11必须使用一些装置知道并且读取来自从设备侧的读取信号(图3中的MISO)经由S_SerDes 41到达M_SerDes 31。
在图4中,当从SPI/从设备12读取的数据S_MISO经由S_SerDes 41和电缆103到达M_SerDes 31中的缓冲器/存储器31-1-2时,缓冲器/存储器31-1-2通过中断信号M_INT 11-11将读取数据S_MISO的到达通知给SPI/主设备11,已经接收到通知的SPI/主设备11将M_SCK(即,SPI时钟)供应至M_SerDes 31,并且与M_SCK同步地从移位寄存器31-1-1中读取M_MISO数据。然而,在该方法中,需要中断信号M_INT,并且因此需要专用信号引脚,这导致成本增加。
在下文中,将描述以下示例:M_SerDes 31和S_SerDes 41通过TDD方法执行高速串行通信,并且M_SerDes 31与SPI/主设备11执行符合SPI的串行通信,并且S_SerDes 41与SPI/从设备12执行符合SPI的串行通信。
由于在M_SerDes 31与S_SerDes 41之间执行基于TDD方法而不是SPI的串行通信,所以需要在M_SerDes 31与S_SerDes 41内执行协议转换。另外,SPI的串行通信是全双工的通信方式,而TDD方式的串行通信是半双工的通信方式,因此来自SPI/主设备11和SPI_从设备的数据无法以原来的时刻通过TDD方式进行收发。
在下文中,将详细描述图1中的通信系统2的配置。如图4所示,除了移位寄存器11-1和缓冲器/存储器11-2之外,图1中的SPI/主设备11还包括控制器11-3和SCK生成器11-4。
控制器11-3经由M_CSn引脚将用于激活SPI通信的从属选择信号(CS信号)供应至M_SerDes 31。CS信号被设置为与执行与SPI/主设备11的SPI通信的装置的数量一样多。例如,在图1中,不同的M_CSn引脚被分配给M_SerDes 31、S_SerDes 41以及SPI/从设备12。在本说明书中,输出从SPI/主设备11输出的CS信号的引脚可被称为M_CSn(x)。例如,M_CSn(0)被分配给M_SerDes 31,并且M_CSn(1)被分配给SPI/从设备12。
控制器11-3控制SCK生成器11-4的操作。SCK生成器11-4在任何CS信号处于激活状态时输出SCK。移位寄存器11-1与SCK同步地执行移位操作。
控制器11-3通过来自M_SerDes 31的中断信号M_INT检测出SPI/从设备12输出了中断信号S_INT,以该中断信号M_INT为触发开始下一帧的SPI通信。可替换地,在控制器11-3本身想要传输SPI数据的情况下,类似地开始SPI通信(如后面描述的图5中的M_CSn(1)的时间t1)。
M_SerDes 31连接至SPI/主设备11。M_SerDes 31具有SPI块31-1,以便根据SPI协议与SPI/主设备11执行数据通信。类似地,SPI块31-1具有移位寄存器31-1-1和缓冲器/存储器31-1-2。当SPI/主设备11中的控制器11-3激活与M_SerDes 31相对应的CS信号并且SCK生成器11-4输出SCK时,移位寄存器31-1-1与SCK同步地输出SPI数据并且经由MISO引脚将SPI数据提供给SPI/主设备11。此外,移位寄存器31-1-1与SCK同步地经由MOSI引脚获取从SPI/主设备11输出的SPI数据。
当CS信号进入空闲状态时,控制器11-3使SCK生成器11-4停止SCK的输出。因此,移位寄存器31-1-1保持紧接在SCK停止之前的状态。
当CS信号转变成空闲状态时,M_SerDes 31中的SPI块31-1将移位寄存器31-1-1中的所有数据传送至缓冲器/存储器31-1-2。因此,通过SPI协议从SPI/主设备11到M_SerDes31的数据传送过程结束。
要注意的是,从M_SerDes 31中的移位寄存器31-1-1到缓冲器/存储器31-1-2的数据传输取决于SPI/主设备11希望传输的数据量以及移位寄存器31-1-1的数据容量。因此,在当CS信号处于激活状态时移位寄存器31-1-1中的数据可能溢出的情况下,通过在溢出之前将移位寄存器31-1-1中的数据传输至缓冲器/存储器31-1-2可以防止数据遗漏。
此外,M_SerDes 31包括数据包编码器(ECP)31-2、数据包解码器(DCP)31-3、DLL31-4和PHY层块(PHY)31-5。M_SerDes 31中的ECP 31-2将存储在缓冲器/存储器31-1-2中的SPI数据转换成符合TDD方法的数据包(SPI数据包)。DLL 31-4将由ECP 31-2生成的SPI数据包与除了SPI数据包之外的其他传输数据包进行组合以生成上行链路数据包。PHY 31-5经由上行链路将上行链路包传输至S_SerDes 41。
图1中的S_SerDes 41连接至SPI/从设备12。S_SerDes 41具有SPI块41-1,以便根据SPI协议向SPI/从设备12传输数据和从SPI/从设备12接收数据。SPI块41-1包括控制器(CNTR)41-1-4、SCK生成器41-1-3、移位寄存器41-1-1以及缓冲器/存储器41-1-2。控制器41-1-4基于来自SPI/主设备11的SPI控制信息来控制从SCK生成器41-1-3输出的SCK的时刻和频率。当控制器41-1-4激活与SPI/从设备12对应的CS信号并且SCK生成器41-1-3输出SCK时,移位寄存器41-1-1与SCK同步地输出SPI数据并且经由S_MOSI引脚将SPI数据提供至SPI/从设备12。此外,经由S_MISO引脚从SPI/从设备12输出的SPI数据与SCK同步地被输入到移位寄存器41-1-1。另外,S_SerDes 41包括数据包编码器(ECP)41-2、数据包解码器(DCP)41-3、DLL 41-4和PHY层块(PHY)41-5。S_SerDes41中的ECP 41-2将存储在缓冲器/存储器41-1-2中的SPI数据转换成符合TDD方法的数据包(SPI数据包)。DLL 41-4将由ECP 41-2生成的SPI数据包与除了SPI数据包之外的其他传输数据包进行组合以生成下行链路数据包。PHY 41-5经由下行链路将下行链路数据包传输至M_SerDes 31。
图5是图1中的通信系统2的时序图。在图5中,当M_SerDes 31和S_SerDes 41通过TDD方法执行串行通信时的TDD突发周期是TB,并且TDD的一个帧周期是L。并且,SPI数据块的长度为D。SPI数据块由N个字节的SPI数据配置,所有N个字节的数据作为1-TDD突发信号传输。1-TDD突发信号是在一个TDD突发周期TB中传输的串行信号。
上行链路数据包和下行链路数据包中的每一个作为一个TDD突发信号在一个TDD突发周期中被传输。图5的示例示出一个示例,其中,在TDD的一个帧周期中存在四个TDD突发周期,并且在一个TDD突发周期中传输包括SPI数据块的一个TDD突发信号(上行链路数据包)。
为了将从SPI/主设备11传输的所有SPI数据传输至SPI/从设备12,在TDD突发周期中分配的SPI的传输时隙的传输容量需要等于或大于SPI数据的传输容量。因此,SPI数据的块长度D与传输SPI数据的TDD突发信号的周期L之间的关系需要满足D≥L。
产生SPI数据的时刻与TDD突发信号无关,因为SPI/主设备11根据其自身的应用的便利性确定时刻。
因此,如果L相对于D太短,即,如果用于传输SPI数据的TDD突发的分配数量太大,则不传输SPI数据的TDD突发的数量增加,并且浪费了整个传输容量。因此,SPI数据块时间长度D与传输SPI数据的TDD突发信号的周期L之间的关系优选满足D≥L>D/2。
图6A和图6B是示出图1中的通信系统2的处理操作的流程图。在下文中,将参考图5的时序图基于图6A和图6B的流程图描述图1的通信系统2的操作。
首先,SPI/主设备11断言芯片选择信号CS(M_CS)以开始SPI通信(步骤S1,时间t1),并且开始用于SPI通信的SCK(M_SCK)的时钟输出(步骤S2,时间t2)。
SPI/主设备11将要与M_SCK同步传输的N个字节SPI数据块(O_DB#1)输出至M_SerDes 31(步骤S3,时间t3)。M_SerDes 31将所接收的SPI数据块(O_DB#1)临时保持在缓冲器/存储器31-1-2中(步骤S4,时间t4)。缓冲器/存储器31-1-2不传输SPI数据块(O_DB#1),而是在分配用于传输DLL 31-4调度的SPI数据的上行链路的第一TDD突发周期期间保持原样。提供该保持时间以产生最小延迟时间L,用于经由M_SerDes 31和S_SerDes 41从SPI/主设备11向SPI/主设备11连续地读取和写入与SPI/从设备12之间的SPI数据。延迟时间L与TDD的一个帧周期L相同。
缓冲器/存储器31-1-2保持SPI数据块(O_DB#1),并且然后经由在为传输第二最近的SPI数据而分配的上行链路的TDD突发周期期间执行用于传输SPI数据的封装处理的数据包编码器31-2传输封装的SPI数据块(O_DB#1)(步骤S5,时间t5)。在封装的SPI信息中,描述了指示SPI数据配置有多少块的信息。图5示出传输包括四个SPI数据块的数据包的示例。M_SerDes 31通过电缆103将上行链路数据包传输至S_SerDes 41。
S_SerDes 41经由PHY 41-5和DLL 41-4对包括接收的SPI数据块(O_DB#1)的上行链路数据包进行解码,并且将SPI数据包(SPI数据的数据包)传输至数据包解码器41-3(步骤S6,时间t6)。数据包解码器41-3对SPI数据包进行解码,并且将经解码的SPI数据块(O_DB#1)传递至SPI块41-1。
S_SerDes 41中的SPI块41-1的控制器41-1-4断言CS(S_CS),以指示SPI/从设备12开始用于传输SPI数据块(O_DB#1)的SPI通信(步骤S7,时间t7)。
S_SerDes 41的SPI块41-1使SPI/从设备12开始用于传输SPI数据块(O_DB#1)的SPI的SCK(S_SCK)的时钟输出(步骤S8,时间t8)。S_SCK的频率与SPI/主设备11侧上的SCK(M_SCK)相同。
S_SerDes 41的SPI块41-1与S_SCK同步地将N个字节的SPI数据块(0_DB#1)输出至SPI/从设备12(步骤S9,时间t9)。
SPI/从设备12使SPI读取数据(I_DB#1)与S_SCK(S_SCK)同时同步,并且输出与写入数据(O_DB#1)相同的N个字节(步骤S10,时间t10)。
S_SerDes 41将所接收的N个字节SPI读取数据(I_DB#1)临时保存在缓冲器/存储器41-1-2中(步骤S11,时间t11)。缓冲器/存储器41-1-2保持N个字节的SPI数据块(I_DB#1),并且然后经由在为传输由DLL 41-4调度的第一SPI数据而分配的下行链路的TDD突发周期期间执行用于传输SPI数据的封装处理的数据包编码器41-2传输封装的SPI数据块(I_DB#1)。S_SerDes 41通过电缆103将下行链路数据包传输至M_SerDes31。
M_SerDes 31经由PHY 31-5和DLL 31-4对包括所接收的SPI数据块(I_DB#1)的下行链路数据包进行解码,并且将SPI数据包提供给数据包解码器31-3(步骤S12,时间t12)。数据包解码器31-3对SPI数据包进行解码,并且将经解码的SPI数据块(I_DB#1)传递至SPI块31-1。
当接收到解码的SPI数据块(I_DB#1)时,M_SerDes 31的SPI块31-1中的缓冲器/存储器31-1-2断言中断信号M_INT,该中断信号指示存在要传输至SPI/主设备11的有效SPI数据(步骤S13,时间t13)。该中断信号M_INT被传输至SPI/主设备11。
当在输出SPI数据块(O_DB#1)之后接收到中断信号M_INT时,SPI/主设备11继续与M_SCK同步地每N个字节输出要传输的剩余SPI数据(步骤S14,时间t14)。图5的示例示出数据继续被输出至SPI数据块(O_DB#4)。M_SerDes 31和S_SerDes 41针对每个N个字节SPI数据块(O_DB#X)重复上述步骤S5至S14中的处理。
当从M_SerDes 31接收到指示存在有效SPI数据的中断信号M_INT时,SPI/主设备11执行N个字节的SCK(M_SCK)的时钟输出,以读取SPI数据块(I_DB#1)(步骤S15,时间t15)。
在图5的示例中,由于写入的SPI数据为4N个字节,所以输出虚拟SPI数据块(O_DB#5)以读取读取的SPI数据块(I_DB#1),但是该虚拟SPI数据块(O_DB#5)未传输至S_SerDes41(步骤S16,时间t16)。
SPI/主设备11通过SCK(M_SCK)输出虚拟SPI数据块(O_DB#5)并且从SPI/从设备12读取读取的数据(I_DB#1)(步骤S17,时间t17)。通过上述操作完成从SPI/主设备11到SPI/从设备12的N个字节SPI数据的写入和读取。
在接收到SPI数据包中描述的块数(图5中的四个块)的SPI数据之后,S_SerDes 41的SPI块41-1中的控制器41-1-4停止S_SCK的时钟输出,以向SPI/从设备12指示SPI通信结束(时间T18,时间t18)。此外,去断言S_CS结束S_SerDes 41与SPI/从设备12之间的SPI通信(步骤S19,时间t19)。
S_SerDes 41对从SPI/从设备12接收到的四个块的SPI读取数据(I_DB#X)执行与步骤S11中相同的处理,并且经由下行链路将SPI读取数据传输至M_SerDes 31(步骤S20,时间t20)。
M_SerDes 31对接收到的SPI数据块(I_DB#2至#4)执行与步骤S12和S13中相同的处理(步骤S21,时间t21)。
当从M_SerDes 31接收到指示存在有效SPI数据的中断信号M_INT时,SPI/主设备11执行N个字节的SCK(M_SCK)的时钟输出,以读取作为最后块的SPI数据块(I_DB#4)(步骤S22,时间t22)。
在SPI/主设备11中的控制器11-3接收期望数量的块(在图5中,四个块)的SPI数据之后,M_SCK停止时钟输出以向M_SerDes 31指示SPI通信结束(步骤S23,时间t23)。此外,去断言M_CSn(1)结束SPI/主设备11与M_SerDes 31之间的SPI通信(步骤S24,时间t24)。
在SPI/主设备11开始SPI通信的时间t2与在图5中示出的被分配用于传输SPI数据的TDD突发周期的生成时刻(时间t5)之间的关系中,SPI读取数据(I_DB#1)从SPI/从设备12对SPI数据块(O_DB#1)返回SPI/主设备11后由SPI/主设备11写入SPI/从设备12,SPI/主设备11可读取SPI读取数据的时刻在5个SPI数据块之后(时间t16,O_DB#5)。
图7是图5的变形例的时序图。图7示出SPI数据的通信开始时间t2与首先传输SPI数据的TDD突发周期的时间t5之间的相位关系不同于图5中的相位关系的示例。
在图7的情况下,在相对于由SPI/主设备11写到SPI/从设备12中的SPI数据块(O_DB#1)返回从SPI/从设备12到SPI/主设备11的SPI读取数据(I_DB#1)之后,SPI/主设备11可读取SPI读取数据的时刻是在六个SPI数据块((16),O_DB#6)之后。
如图5和图7所示,SPI/主设备11可从SPI/从设备12读取SPI读取数据的时刻根据SPI数据通信开始时刻和TDD突发时刻之间的关系而不同。因此,M_SerDes 31需要用于向SPI/主设备11指示来自SPI/从设备12的SPI数据已经到达的中断信号(图1中的M_INT)。
然而,如上所述,由于中断信号需要物理引脚,因此中断信号可能导致如上所述的成本增加。以下所示的第一实施方式和第二实施方式的通信系统2的特征在于,不需要中断信号,而学习SPI/主设备11从SPI/从设备12接收数据的时刻,将下SPI数据传输至M_SerDes31。
(第一实施方式)
图8是示出根据第一实施方式的通信系统2的示意性配置的框图。在图8中,与在图1中的配置相同的配置由相同的参考标号表示,并且以下将主要描述差异。图8的通信系统2包括与图1相似配置的SPI/主设备11、M_SerDes 31、S_SerDes 41以及SPI/从设备12。除了图1中的M_SerDes 31的内部配置之外,图8中的通信系统2中的M_SerDes 31还包括精确时基(PTB)计数器(第一计数器)31-6以及实时计数器(RTC)(第二计数器)31-7。
PTB计数器31-6根据在通信系统2内的M_SerDes 31与S_SerDes 41之间共享的时间信息PTB,测量TDD循环周期(帧周期)。RTC 31-7对由SPI/主设备11提供的SCK进行计数,并测量从SPI/从设备12读取SPI数据的时刻。
图8中的M_SerDes 31基于由PTB计数器31-6计数的数量和由RTC 31-7计数的数量,控制将存储在缓冲器/存储器31-1-2中的来自SPI/主设备11的数据块传输至DLL 31-4的时刻和将存储在缓冲器/存储器31-1-2中的来自SPI/从设备12的数据块传输至SPI/主设备11的时刻。即,缓冲器/存储器31-1-2在对应于PTB计数器31-6和RTC计数器31-7的计数值的时刻存储来自SPI/主设备11的预定数量的数据块,然后从SPI/从设备12输出所存储的数据块。
图8示出一个示例,其中,S_SerDes 41和SPI/从设备12是单独的装置,但是,S_SerDes 41和SPI/从设备12可以整合到一个装置中。在这种情况下,SPI协议信号被视为集成设备的内部信号。
图8中的M_SerDes 31中的缓冲器/存储器31-1-2在从SPI/主设备11传输的预定数量的一个或多个帧周期中存储预定数量的数据块,然后,输出从SPI/从设备12传输的所存储的数据块,以传输至SPI/主设备11。数据块的预定数量是例如与包括在从SPI/主设备11传输的串行信号组中的数据块的总数信息(稍后描述的图10中的c-5)对应的连续数据块的预定数量(例如,4)。
在从SPI/主设备11传输的数据块被存储在缓冲器/存储器31-1-2中之后经过第二周期之后的帧周期中,图8中的M_SerDes 31中的DLL 31-4将存储在缓冲器/存储器31-1-2中的数据块传输至S_SerDes 41。第二周期是一个TDD帧周期L。
图8中的M_SerDes 31中的移位寄存器31-1-1每隔第一周期将从SPI/主设备11传输的预定数量的数据块依次存储在缓冲器/存储器31-1-2中,并且然后每隔第一周期从缓冲器/存储器31-1-2中依次读取从S_SerDes 41传输并且存储在缓冲器/存储器31-1-2中的数据块,并且将数据块传输至SPI/主设备11。第一周期为SPI数据块的长度D。
移位寄存器31-1-1依次从存储在缓冲器/存储器31-1-2中的S_SerDes41中读取数据块并且将该数据块传输至SPI/主设备11,而不将指示来自S_SerDes 41的数据块已经到达的中断信号传输至SPI/主设备11。
如上所述,在图8的通信系统2中,当M_SerDes 31从SPI/从设备12接收SPI数据时,所接收的数据可从M_SerDes 31传输至SPI/主设备11,而不将中断信号M_INT传输至SPI/主设备11。因此,中断信号M_INT是不必要的,这可简化SPI/主设备11与M_SerDes 31之间的数据传输和接收过程。
图9为示出在图8中的M_SerDes 31中的每个单元的信号流的示图。如图9所示,RTC31-7通过从SPI/主设备11提供的SCK执行计数操作,RTC 31-7的计数值被传输至缓冲器/存储器31-1-2。RTC 31-7的计数操作由存储在缓冲器/存储器31-1-2中的数据来控制。
PTB计数器31-6测量TDD周期L。PTB计数器31-6的准确度非常高,并且例如,可以通过250MHz的时钟(在下文中,PTB时钟)精确地测量TDD周期L。PTB时钟是由ASA标准定义的频率(例如,250MHz)的时钟。
图10是用于描述包括在由M_SerDes 31中的ECP 31-2和S_SerDes 41中的ECP 41-2生成的传输数据包中的信息的图。在图10中,标识符号、信息名称、用于执行从SPI/主设备11到SPI/从设备12的数据传输的传输数据包中的功能、用于执行从SPI/从设备12到SPI/主设备11的数据传输的传输数据包中的功能、以及描述与传输数据包中的每条信息相关联。
C-1是传输模式,并且由SPI/主设备11指示作为命令。包括在来自SPI/从设备12的数据包中的传输模式被SPI/主设备11用来监视状态。如果C-1为0,则在TDD的一个帧周期内传输数据块集合。如果C-1是1,则传输根据多个帧周期被划分的多个数据块。
C-2是从属选择信号(CSn信号),并且由SPI/主设备11指示作为命令。包括在来自SPI/从设备12的数据包中的CSn信号被SPI/主设备11用于监视状态。CSn信号是用于选择SPI/主设备11想要与之通信的SPI/从设备12的信号。在CSn信号中,不仅可以选择单独的SPI/从设备12,而且可以选择SerDes(M_SerDes 31或S_SerDes 41)。
C-3是SCK频率,并且由SPI/主设备11指示作为命令。包括在来自SPI/从设备12的数据包中的SCK频率由SPI/主设备11用于监视状态。在C-3中,SPI/主设备11指定SPI/从设备12侧上的SCK频率。
C-4是SPI模式,并且由SPI/主设备11指示作为命令。包括在来自SPI/从设备12的数据包中的SPI模式被SPI/主设备11用来监视状态。例如,如果C-4为0,则在图3的A中选择模式=0,如果为1,则在图3的B中选择模式=1,如果为2,则在图3的C中选择模式=2,并且如果为3,则在图3的D中选择模式=3。
C-5是数据块DB的总数,并且由SPI/主设备11作为信息提供。包括在来自SPI/从设备12的数据包中的DB的总数由SPI/主设备11用于监控状态。如果C-1是0(在划分DB的传输时),C-5是1。SPI/从设备12在SPI通信开始后返回所接收的DB的数量。
C-6是数据块DB的当前位置,并由SPI/主设备11作为信息提供。其不包括在来自SPI/从设备12的数据包中。如果C-6为0,则表明该信息无效。在C-1是0的情况下,它是0。如果C-6是1,则其指示头部划分数据。如果是2,则表示除头部和最终划分数据之外的划分数据。如果是3,表示最终的划分数据。
C-7是数据块DB的当前状态,由SPI/主设备11和SPI/从设备12两者作为信息提供。如果C-7为0,则表示该数据为虚拟数据,如果C为1,则表示该数据为有效数据。
C-8是数据块DB的大小并且由SPI/主设备11作为信息提供。包括在来自SPI/从设备12的数据包中的数据传输大小由SPI/主设备11用于监视状态。C-8以字节为单位表示数据传输大小,其最大尺寸为511字节。
C-9为SPI/从设备12的中断信息,为SPI/主设备11传输过来的数据包中不包含中断标志,为SPI/从设备12传输过来的数据包中包含的中断标志。如果C-9为0,则表示没有中断,如果C为1,则表示有中断。
C-10是SPI/从设备12侧的操作状态,并不包含在SPI/主设备11传输的数据包中,而是包含在来自SPI/从设备12的数据包中。如果C-10是0,则其指示正常状态,并且如果C是1,则其指示忙碌(DCP 31-3不是空的,并且如果C是2,则其指示已经发生了错误(SPI数据被损坏))。
C-11是SPI块41-1的重置,并且由SPI/主设备11指示作为命令。其不包括在SPI/从设备12的数据包中。如果C-11是0,则不执行重置,并且如果是1,则重置S_SerDes 41的SPI块41-1。
C-12为当前数据块的个数。在从M_SerDes 31向S_SerDes 41传输数据包的情况下,M_SerDes 31为每个数据包分配ID号。在从S_SerDes 41向M_SerDes 31传输数据包的情况下,S_SerDes 41向每个数据包分配与从M_SerDes 31接收的数据包的ID号相同的ID号。
D-1表示与上述C-1至C-12一起传输的SPI数据,并且由SPI/主设备11传输的SPI数据从M_MOSI引脚输出,并且由SPI/从设备12传输的SPI数据从S_MISO引脚输出。
E-1是与上述C-1至C-12和D-1一起传输的CRC,并且被包括在从SPI/主设备11传输的SPI数据和从SPI/从设备12传输的SPI数据中。CRC用于控制数据C-1至C-12和SPI数据的错误检测。
图11是根据第一实施方式的通信系统2的时序图。图12A和图12B是根据第一实施方式的通信系统2的流程图。在下文中,将参考图11基于图12A和图12B描述根据第一实施方式的通信系统2的处理操作。
SPI/主设备11断言CS(M_CS)以开始SPI通信(步骤S31,时间t31)。接下来,SPI/主设备11开始SPI的SCK(M_SCK)的时钟输出(步骤S32,时间t32)。
SPI/主设备11将有待与SCK同步传输的N个字节SPI数据块(O_DB#1)输出至M_SerDes 31(步骤S33,时间t33)。与此并行地,读取来自M_SerDes 31的数据,但是由于SPI/主设备11认识到在第五SPI数据块之后获得来自SPI/从设备12的有效读取数据,因此丢弃多达第五的SPI数据块。以这种方式,SPI数据块的丢弃继续直到第五SPI数据块(O_DB#5)。
M_SerDes 31将从SPI/主设备11接收的SPI数据块(O_DB#1)临时保持在缓冲器/存储器31-1-2中(步骤S34,时间t34)。
PTB计数器31-6从缓冲器/存储器31-1-2将最后数据存储在SPI数据块(O_DB#1)中的时间点(图9中的31-a)开始使用PTB时钟测量时间宽度L(步骤S35,时间t35)。
在步骤S35中测量的时间宽度L已经过去之后(图9中的31-c),缓冲器/存储器31-1-2将第一SPI数据块(O_DB#1)输出至ECP 31-2,以便在分配用于传输SPI数据块的上行链路的TDD突发周期期间传输SPI数据(步骤S36,图9中的时间t36、31-e)。ECP 31-2基于在执行步骤S31的过程之前对从SPI/主设备11接收到的SPI数据进行分组的信息对SPI数据块(0_DB#1)进行分组,并且将分组的SPI数据块输出至DLL 31-4。在这种情况下,用于指示包括有效SPI数据的标志(稍后描述的图10中的C-7)被设置为有效。分组的SPI数据块(O_DB#1)作为上行链路数据包经由DLL 31-4和PHY 31-5输出至电缆103。
S_SerDes 41经由PHY 41-5和DLL 41-4解码包括接收的SPI数据块(O_DB#1)的上行链路数据包,并且将SPI数据包提供给数据包解码器41-3(步骤S37,时间t37)。数据包解码器41-3对SPI数据包进行解码,并且将经解码的SPI数据块(O_DB#1)传递至SPI块41-1。
S_SerDes 41的SPI块41-1中的控制器41-1-4断言CS(S_CS),以指示用于将SPI数据块(O_DB#1)传输至SPI/从设备12的SPI通信开始(步骤S38,时间t38)。通过SPI数据包中包含的SPI传输模式、SPI数据块的数据大小(N个字节)和一个SPI通信中包含的SPI数据块的数量信息来确定断言多长时间。
S_SerDes 41的SPI块41-1使SPI/从设备12开始用于传输SPI数据块(O_DB#1)的SPI的SCK(S_SCK)的时钟输出(步骤S39,时间t39)。使用包括在SPI数据包中的SCK频率信息对其进行再现,并且该SCK频率信息具有与SPI/主设备11侧上的SCK(M_SCK)相同的频率。
S_SerDes 41的SPI块41-1与S_SCK同步地将N个字节的SPI数据块(O_DB#1)输出至SPI/从设备12(步骤S40,时间t40)。此时,SPI模式是通过包括在SPI数据包中的SPI模式信息来确定的。
SPI/从设备12使SPI读取数据(I_DB#1)与SCK(S_SCK)同时同步,并且从SPI/主设备11输出与写入数据(O_DB#1)相同的N个字节(步骤S41,时间t41)。
S_SerDes 41将所接收的N个字节SPI读取数据(I_DB#1)临时保存在缓冲器/存储器41-1-2中(步骤S42,时间t42)。缓冲器/存储器41-1-2保持N个字节SPI数据块(I_DB#1),并且然后经由数据包编码器41-2生成包括封装的SPI数据的下行链路数据包(I_DB#1),该数据包编码器在为传输由DLL(图8中的DLL 41-4)调度的第一SPI数据而分配的下行链路的TDD突发周期期间执行用于传输SPI数据的封装处理。S_SerDes41通过电缆103将下行链路数据包传输至M_SerDes 31。
M_SerDes 31经由PHY 31-5和DLL 31-4对包括所接收的SPI数据块(I_DB#1)的下行链路数据包进行解码,并且将经解码的SPI数据包提供给数据包解码器31-3。数据包解码器31-3解码SPI数据包并且将解码的SPI数据块(I_DB#1)传送至SPI块31-1(步骤S43,图9中的时间t43、31-f)。
SPI块31-1中的缓冲器/存储器31-1-2临时保持SPI数据块(I_DB#1)(步骤S44,时间t44)。
RTC 31-7(图8中的RTC 31-7)从缓冲器/存储器31-1-2将最后数据记录在SPI数据块(O_DB#1)中的时间点(图9中的31-a)开始使用SCK时钟测量时间宽度4D(步骤S45,时间t45)。
缓冲器/存储器31-1-2开始与SCK同步地输出N个字节SPI数据块(O_DB#1),从由RTC 31-7使用SCK时钟测量时间宽度4D的下一SCK时钟开始,即,由SPI/主设备11输出的SPI写入数据(O_DB#6)的输出开始时间点31-g(步骤S46,时间t46)。
SPI/主设备11与SCK同步地从SPI/从设备12依次读取N个字节的SPI数据块(I_DB#1)(步骤S47,时间t47)。
SPI/主设备11同时输出写入数据(O_DB#6),但是由于M_SerDes 31在步骤S31之前执行的处理中识别要在该SPI通信中传输的SPI数据块的数量(在该示例中为4),所以丢弃这些SPI数据块,而不执行在写入数据(O_DB#5)之后输出SPI数据块的处理(步骤S48,时间t48)。
在目前的处理中,SPI/主设备11完成将第一SPI数据块(O_DB#1)写入SPI/从设备12以及从SPI/从设备12对应地读取SPI数据块(I_DB#1),而无需使用中断信号。
在第一SPI数据块(O_DB#1)之后,SPI/主设备11输出下一个SPI数据块(O_DB#2),并且依次输出要传输的SPI数据块(步骤S49,时间t49)。
然而,传输至SPI/从设备12的SPI数据块高达(O_DB#4),并且此后是伴随从SPI/从设备12读取SPI数据块的处理的虚拟数据。
M_SerDes 31将所接收的SPI数据块(0_DB#2)临时保持在缓冲器/存储器31-1-2中(步骤S50,时间t50)。
缓存/存储器31-1-2在保持SPI数据块(0_DB#2)之后,在为了传输最先到达的SPI数据而分配的上行链路的TDD脉冲期间,向ECP 31-2输出SPI数据块(0_DB#2)并传输SPI数据(步骤S51,时间t51)。
这里,不需要如在步骤S35中的等待时间L。ECP 31-2基于在步骤S31的处理之前预先接收到的对SPI数据进行数据包的信息对SPI数据块(0_DB#2)进行数据包,并且将分组的SPI数据块输出至DLL 31-4。分组的SPI数据块(O_DB#2)作为上行链路数据包经由DLL 31-4和PHY 31-5输出至电缆103(步骤S52,时间t52)。对剩余的SPI写入数据块(O_DB#3、#4)依次执行相同的处理。
依次对SPI数据块(O_DB#2、#3、#4)和(I_DB#2、#3、#4)执行从步骤S40至步骤S52的处理(步骤S53,时间t53)。
在接收到SPI数据包中描述的块(在该示例中为四个块)的SPI数据之后,S_SerDes41的SPI块41-1中的控制器41-1-4停止S_SCK的时钟输出,以向SPI/从设备12指示SPI通信结束(步骤S54,时间t54)。
此外,S_SerDes 41通过去断言S_CS来结束S_SerDes 41与SPI/从设备12之间的SPI通信(步骤S55,时间t55)。
SPI/主设备11执行SCK的时钟输出直到五个SPI数据块的数量(在该示例中为4+5=9),这五个SPI数据块是与SPI通信开始时刻和TDD突发之间的相位关系无关的处理延迟时间,添加至从SPI/从设备12读取的SPI数据块的数量(在该示例中为4),并且继续读取处理直到SPI数据块(I_DB#4),并且在读取结束之后,去断言M_CS以结束SPI通信(步骤S56,时间t56)。
通过上述处理操作,能够在不使用中断信号的情况下经由M_SerDes31和S_SerDes41执行SPI/主设备11和SPI/从设备12之间的SPI通信。
图13是根据图11的变形例的时序图。图13示出SPI通信开始时刻与TDD突发信号的时序之间的关系不同于图11中的示例。
与图11相似,在步骤S35中,当SPI通信开始时的SPI数据块(O_DB#1)传输至TDD突发信号的上行链路时,从由PTB计数器31-6将SPI数据块(O_DB#1)保持在缓冲器/存储器31-1-2中的时间开始对时间宽度L进行计数,在分配给后续SPI数据的TDD突发周期中,在上行链路数据包中传送SPI数据,从相同的起始点测量SCK时钟,在对时间4D进行计数之后,读取来自SPI/从设备12的第一读取数据,使得SPI/主设备11能够在不使用中断信号的情况下正确地读取SPI数据。图13中的数字及其描述与图11中的那些相同,因此将省略其描述。
如上所述,在第一实施方式中,在SPI/主设备11向M_SerDes 31传输四个SPI数据块之后,M_SerDes 31从SPI/从设备12接收从S_SerDes 41传输的包括响应数据的数据包,并且向SPI/主设备11传输对应的SPI数据块。因此,即使没有来自M_SerDes 31的中断信号,SPI/主设备11也能够在来自SPI/从设备12的响应数据到达时预先学习,并且能够正确地接收该响应数据。因此,在SPI/主设备11与M_SerDes 31之间不需要传输和接收中断信号,并且不需要用于中断信号的引脚,这允许降低成本。
(第二实施方式)
在第一实施方式中,当在TDD突发周期期间在上行链路数据包中传送SPI通信开始时的SPI数据块(O_DB#1)时,由PTB计数器31-6从SPI数据块(O_DB#1)被保持在缓冲器/存储器31-1-2中时开始对时间宽度L进行计数,并且在时间宽度L过去之后,在上行链路数据包中依次传送随后的SPI数据。此外,RTC 31-7从相同的起始点开始测量SCK时钟以对时间4D进行计数,然后读取来自SPI/从设备12的第一读取数据。因此,SPI/主设备11不使用中断信号就能够正确地读取SPI数据,但另一方面,在从M_SerDes 31向S_SerDes 41传输数据之前产生处理延迟时间L,使SPI数据从SPI/主设备11到达SPI/从设备12延迟。
下面描述的根据第二实施方式的通信系统2的特征在于,在M_SerDes31从SPI/主设备11接收到SPI数据块之后,该SPI数据块被数据包并且传输至S_SerDes 41,而不等待直到经过处理延迟时间L。
根据第二实施方式的通信系统2具有与在图8中的块配置相似的块配置。根据第二实施方式的M_SerDes 31中的DLL 31-4在从SPI/主设备11传输的数据块被存储在缓冲器/存储器31-1-2中之后经过第二周期之前的帧周期中,将存储在缓冲器/存储器31-1-2中的数据块传输至S_SerDes 41。在向S_SerDes 41传输的数据块未准备就绪的情况下,DLL 31-3停止向S_SerDes 41传输数据,直到下一帧周期。在来自S_SerDes 41的数据块未到达来自SPI/主设备11的数据块的情况下,缓冲器/存储器31-1-2停止存储新的数据块,直到下一个帧周期。
图14是根据第二实施方式的通信系统2的时序图。图15A和图15B是示出根据第二实施方式的通信系统2的处理操作的流程图。在下文中,将参考图14基于图15A和图15B描述根据第二实施方式的通信系统2的处理操作。
SPI/主设备11断言CS(M_CS)以开始SPI通信。(步骤S61,时间t61)。SPI/主设备11开始SPI的SCK的时钟输出(步骤S62,时间t62)。
SPI/主设备11将有待与SCK同步传输的N个字节SPI数据块(O_DB#1)输出至M_SerDes 31(步骤S63,时间t63)。同时,从M_SerDes31中读取数据。由于SPI/主设备11识别出来自SPI/从设备12的有效读取数据是在传输5个SPI数据块之后获得的,因此丢弃来自M_SerDes 31的读取数据。读取数据的丢弃连续执行一段时间直到传输第五SPI数据块(O_DB#5)。
M_SerDes 31将所接收的SPI数据块(O_DB#1)临时保持在缓冲器/存储器31-1-2中(步骤S64,时间t64)。
在将最后的数据保持在SPI数据块(O_DB#1)中之后,缓冲器/存储器31-1-2在被分配用于传输SPI数据的上行链路的第一传入TDD突发周期期间将SPI数据块(O_DB#1)输出至ECP 31-2以传输SPI数据块(O_DB#1)(步骤S65,图9中的时间t65、31-e)。
ECP 31-2根据分组在步骤S61的处理之前预先接收的SPI数据的信息以基于图10的格式分组SPI数据块(O_DB#1),并且将分组的SPI数据块输出至DLL 31-4。在这种情况下,用于指示包括有效SPI数据的标志(图10中的C-7)被设置为有效。分组的SPI数据块(O_DB#1)作为上行链路数据包经由DLL 31-4和PHY 31-5输出至电缆103。
S_SerDes 41经由PHY 41-5和DLL 41-4对包括接收的SPI数据块(O_DB#1)的上行链路数据包进行解码,并且将SPI数据包提供给数据包解码器41-3(步骤S66,时间t66)。数据包解码器41-3对SPI数据包进行解码,并且将经解码的SPI数据块(O_DB#1)传递至SPI块41-1。
S_SerDes 41的SPI块41-1中的控制器41-1-4断言CS(S_CS),以指示用于将SPI数据块(O_DB#1)传输至SPI/从设备12的SPI通信开始(步骤S67,时间t67)。通过包括在SPI数据包中的SPI传输模式、SPI数据块的数据大小(N个字节)以及在一个SPI通信中使用的SPI数据块的数量的信息确定断言多长时间。
S_SerDes 41的SPI块41-1使SPI/从设备12开始用于传输SPI数据块(O_DB#1)的SPI的SCK(S_SCK)的时钟输出(步骤S68,时间t68)。使用包括在SPI数据包中的SCK频率信息对其进行再现,并且该SCK频率信息具有与SPI/主设备11侧上的SCK(M_SCK)相同的频率。
S_SerDes 41的SPI块41-1与S_SCK同步地将N个字节的SPI数据块(0_DB#1)输出至SPI/从设备12(步骤S69,时间t69)。此时,SPI模式是通过包括在SPI数据包中的SPI模式信息来确定的。
SPI/从设备12使SPI读取数据(I_DB#1)与SCK(S_SCK)同时同步,并且输出与写入数据(O_DB#1)相同的N个字节(步骤S70,时间t70)。
S_SerDes 41将所接收的N个字节SPI读取数据(I_DB#1)临时保存在缓冲器/存储器41-1-2中(步骤S71,时间t71)。缓冲器/存储器41-1-2保持N个字节SPI数据块(I_DB#1),并且然后经由数据包编码器41-2传输封装的SPI数据包(I_DB#1),该数据包编码器在为传输由DLL(图8中的DLL 41-4)调度的SPI数据而分配的第一传入下行链路的TDD突发周期期间执行用于传输SPI数据的封装处理。S_SerDes 41通过电缆103将下行链路数据包传输至M_SerDes 31。
M_SerDes 31经由PHY 31-5和DLL 31-4对包括所接收的SPI数据块(I_DB#1)的下行链路数据包进行解码,并且将SPI数据包提供给数据包解码器31-3(步骤S72,时间t72)。数据包解码器31-3解码SPI数据包并且将解码的SPI数据块(I_DB#1)传送至SPI块31-1(图9中的31-f)。
SPI块31-1中的缓冲器/存储器31-1-2临时保持SPI数据块(I_DB#1)(步骤S73,时间t73)。
RTC 31-7使用自缓冲器/存储器31-1-2记录SPI数据块的最后数据(O_DB#1)(图9中的31-a)的时间点的SCK时钟测量时间宽度4D(步骤S74,时间t74)。
缓冲器/存储器31-1-2从RTC 31-7使用SCK时钟测量时间宽度4D的下一SCK时钟(即,由SPI/主设备11输出的SPI写入数据(O_DB#6)的输出开始时间点(31-g))开始,开始与SCK同步地输出N个字节SPI数据块(O_DB#1)(步骤S75,时间t75)。
SPI/主设备11与SCK同步地从SPI/从设备12以N个字节依次读取SPI数据块(I_DB#1)(步骤S76,时间t76)。
SPI/主设备11同时输出写入数据(O_DB#6)。由于M_SerDes 31在步骤S61之前执行的处理程序中识别要在该SPI通信中传输的SPI数据块的数量(在该示例中为4个),所以在写入数据(O_DB#5)之后不执行用于输出SPI数据块的处理而丢弃那些SPI数据块(步骤S77,时间t77)。
在至此的处理过程中,SPI/主设备11完成将第一SPI数据块(O_DB#1)写入SPI/从设备12,并从SPI/从设备12读取SPI数据块(I_DB#1),而无需使用中断信号。
在第一SPI数据块(O_DB#1)之后,SPI/主设备11输出下一个SPI数据块(O_DB#2),并且依次输出要传输的SPI数据块(步骤S78,时间t78)。然而,传输至SPI/从设备12的SPI数据块高达(O_DB#4),并且此后是用于从SPI/从设备12读取读取的数据块的伴随处理的虚拟数据。此后,对每个SPI数据块(O_DB#2,3,4)执行与步骤S63至S78中相同的处理。在第二实施方式中,从SPI/主设备11传输的第一SPI数据块(O_DB#1)在M_SerDes 31中不产生处理延迟时间L的情况下被传输,因此需要以下不同的处理。
缓冲器/存储器31-1-2暂时保持从SPI/主设备11依次输入的SPI数据块(I_DB#X),并且将SPI数据块(I_DB#X)输出至被分配为经由ECP 31-2传输SPI数据的上行链路,但是由于SPI数据(在这种情况下为O_DB#3)在上行链路的TDD突发周期的时刻未完全累积在缓冲器/存储器31-1-2中,ECP 31-2使指示不包括SPI数据的标志(图10中的C-7)无效以输出至DLL 31-4(步骤S79),时间t79)。DLL 31-4和PHY 31-5将不包括SPI数据的SPI数据包作为上行链路数据包输出至电缆103。
当S_SerDes 41分析所接收的与DCP 41-3的上行链路的SPI数据包并且检测到空标志(图10中的C-7无效)以发现不包括SPI数据时,其将该信息传输至SPI块41-1中的控制器41-1-4,并且控制器41-1-4停止SCK生成器41-1-3的操作并且停止SCK时钟的输出(步骤S80,时间t80)。因此,S_SerDes 41与SPI/从设备12之间的SPI通信暂时停止。
当接收包括SPI数据块(O_DB#3)的上行链路数据包时,S_SerDes 41通过DCP41-3的分析识别出包括SPI数据,重新开始SPI通信,并且将该信息传输至SPI块41-1中的控制器41-1-4(步骤S81,时间t81)。
控制器41-1-4重新开始SCK生成器41-1-3的操作,并且开始SCK的时钟输出(步骤S82,时间t82)。
针对SPI数据块(O_DB#3、#4)和(I_DB#3、#4)中的每一个顺序执行步骤S69至S78的处理(步骤S83,时间t83)。
在接收到SPI数据包中描述的块数(在该示例中为四个块)的SPI数据之后,S_SerDes 41的SPI块41-1中的控制器41-1-4停止S_SCK的时钟输出,以向SPI/从设备12通知SPI通信的结束(步骤S84,时间t84)。
此外,去断言S_CS结束S_SerDes 41与SPI/从设备12之间的SPI通信(步骤S85,时间t85)。
SPI/主设备11执行SCK的时钟输出直到五个SPI数据块(在该示例中为4+5=9)的数量(在该示例中为4+5=9),这是与SPI通信开始时刻和TDD突发周期之间的相位关系无关的处理延迟时间,添加至从SPI/从设备12读取的SPI数据块的数量(在该示例中为4),并且继续读取处理直到SPI数据块(I_DB#4),并且在读取结束之后,去断言M_CS以结束SPI通信(步骤S86,时间t86)。
如上所述,在TDD的帧周期L过去之前,从SPI/主设备11接收到SPI数据块的M_SerDes 31将包括接收到的SPI数据块的上行链路数据包传输至S_SerDes 41。因此,来自SPI/主设备11的SPI数据块可以快速地传输至SPI/从设备12。因为在来自M_SerDes 31的上行链路数据包未到达的情况下,S_SerDes 41不向移位寄存器提供时钟,所以可以根据上行链路数据包从M_SerDes 31到达的时刻来操作移位寄存器,这允许降低功耗。
应注意,本技术可具有以下配置。
(1)一种通信装置,包括:
通信单元,通信单元将用于识别数据块的识别信息添加到具有串行信号组的数据块组,串行信号组与时钟同步地从主设备传输并符合串行外围接口(SPI),以及在预定的通信协议的一个帧周期内将数据块传输至通信对方装置,或者将用于识别多个数据块中的每一个的识别信息添加到具有串行信号组的每个部分的多个数据块,以及在多个帧周期内将数据块传输至通信对方装置;以及
存储单元,依次存储从主设备传输的一个或多个预定数量的数据块,然后响应于来自主设备的并存储在其中的预定数量的数据块,经由通信对方装置输出从从设备传输的数据块,以将数据块传输至主设备。
(2)根据(1)的通信装置,其中,预定数量的数据块在预定数量的帧周期内被传输至通信对方装置。
(3)根据(1)或(2)的通信装置,其中,预定数量的数据块是与包括在从主设备传输的串行信号组中的数据块的总数信息相对应的预定数量的连续数据块。
(4)根据(1)至(3)中任一项的通信装置,还包括:
第一计数器,基于在主设备和从设备之间共享的参考时钟测量帧周期的长度;以及
第二计数器,对从主设备传输的数据块的数量进行计数,
其中,存储单元在与第一计数器和第二计数器的计数值对应的时刻依次存储预定数量的数据块,然后从通信对方装置输出所存储的数据块。
(5)根据(4)的通信装置,
其中,参考时钟是由汽车串行器/解串器联盟(ASA)标准定义的频率的时钟,并且
第二计数器可与包括在符合SPI的串行信号组中的时钟同步地执行计数操作。
(6)根据(1)至(5)中任一项的通信装置,其中,第一周期等于或大于第二周期,第一周期是从主设备传输的预定数量的数据块存储在存储单元中的周期,第二周期是通信单元将包括数据块的包传输至通信对方装置的周期。
(7)根据(6)的通信装置,其中,第二周期比第一周期的一半周期长。
(8)根据(6)或(7)的通信装置,其中,在从主设备传输的数据块被存储在存储单元中之后经过第二周期之后的帧周期中,通信单元将存储在存储单元中的数据块传输至通信对方装置。
(9)根据(6)或(7)的通信装置,其中,在从主设备传输的数据块被存储在存储单元中之后,在第二周期过去之前的帧周期中,通信单元将存储在存储单元中的数据块传输至通信对方装置。
(10)根据(9)的通信装置,其中,在要传输至通信对方装置的数据块未准备就绪的情况下,通信单元停止将数据块传输至通信对方装置直到下一帧周期。
(11)根据(10)的通信装置,其中,在来自通信对方装置的数据块未从主设备到达数据块的情况下,存储单元停止存储新的数据块直到下一帧周期。
(12)根据(6)至(11)中任一项的通信装置,还包括移位寄存器,移位寄存器每隔第一周期将从主设备传输的预定数量的数据块依次存储在存储单元中,然后每隔第一周期从存储单元依次读取从通信对方装置传输并存储在存储单元中的数据块,并将数据块传输至主设备。
(13)根据(12)的通信装置,其中,移位寄存器依次从存储在存储单元中的通信对方装置读取数据块并将数据块传输至主设备,而不将指示来自通信对方装置的数据块已经到达的中断信号传输至主设备。
(14)根据(1)至(13)中任一项的通信装置,其中,通信单元在帧周期内的不同周期中使用与通信对方装置的时分双工(TDD)的通信协议将数据块从主设备传输至通信对方装置并且从通信对方装置接收数据块。
(15)一种通信系统,包括使用预定的通信协议传输和接收数据包的第一通信装置和第二通信装置,
其中,第一通信装置包括:
第一通信单元,将用于识别数据块的识别信息添加到具有串行信号组的数据块组,串行信号组与时钟同步地从主设备传输并符合串行外围接口(SPI);以及在预定的通信协议的一个帧周期内将数据块传输至第二通信装置,或者将用于识别多个数据块中的每一个的识别信息添加到具有串行信号组的每个部分的多个数据块,以及在多个帧周期中将数据块传输至第二通信装置;以及
第一存储单元,依次存储从主设备传输的一个或多个预定数量的数据块,然后响应于来自主设备的预定数量的数据块存储经由第二通信装置从从设备传输的数据块,以及
第二通信装置包括第二通信单元,第二通信单元在至少一个帧周期内将响应于从第一通信单元传输的预定数量的数据块从从设备传输的数据块传输至第一通信装置。
(16)根据(15)的通信系统,
其中,第一通信装置还包括第一移位寄存器,第一移位寄存器将从主设备传输的预定数量的数据块依次存储在第一存储单元中,并且然后从第一存储单元依次读取从第二通信装置传输并存储在第一存储单元中的数据块,并且将数据块传输至主设备,以及
第二通信装置还包括:
第二存储单元,存储从第一通信单元传输的预定数量的数据块,并且还存储从从设备传输的数据块;以及
第二移位寄存器,将从第一通信单元传输的预定数量的数据块依次存储在第二存储单元中,从第二存储单元依次读取从从设备传输并存储在第二存储单元中的数据块,并且经由第二通信单元将数据块传输至第一通信单元。
(17)根据(16)的通信系统,其中,第二移位寄存器在没有将要存储在第二存储单元中的数据块或没有将要传输至第一通信单元的数据块的情况下停止移位操作。
(18)根据(17)的通信系统,还包括:时钟生成器,在第二通信单元接收要存储在第二存储单元中的数据块的情况下,时钟生成器生成使第二移位寄存器执行移位操作的时钟。
(19)根据(18)的通信系统,其中,时钟与包括在符合从主设备传输至第一通信装置的SPI的串行信号组中的串行时钟同步。
(20)一种通信方法,包括:
将用于识别数据块的识别信息添加到具有与时钟同步地从主设备传输并符合串行外围接口(SPI)的串行信号组的数据块组中,以及在预定的通信协议的一个帧周期内将数据块传输至通信对方装置,或者在具有串行信号组的每个部分的多个数据块中添加用于识别多个数据块中的每一个的识别信息并在多个帧周期内将数据块传输至通信对方装置的步骤;以及
将从主设备传输的一个或多个预定数量的数据块依次存储在存储单元中,然后响应于来自主设备的预定数量的数据块读取从从设备经由通信对方装置传输并且存储在存储单元中的数据块,以向主设备传输数据块的步骤。
本公开的各方面不限于上述各个实施方式,而是包括可由本领域技术人员想到的各种修改,并且本公开的效果不限于上述内容。即,在不背离从在权利要求及其等同中限定的内容获得的本公开的概念构思和精神的情况下,可进行各种添加、修改、以及部分删除。
参考符号列表
1a 通信装置
1b 通信装置
2 通信系统
11SPI/主设备
11-1移位寄存器
11-2缓冲器/存储器
11-3控制器
11-4SCK生成器
12-1移位寄存器
12-2缓冲器/存储器
31M_SerDes
31-1SPI块
31-1-1移位寄存器
31-1-2缓冲器/存储器
31-2 数据包编码器
31-3 数据包解码器
31-5PHY
31-6PTB计数器
31-7RTC计数器
32外围装置
41S_SerDes
41-1SPI块
41-1-1移位寄存器
41-1-2缓冲器/存储器
41-1-3SCK生成器
41-1-4控制器
41-2 数据包编码器
41-3 数据包解码器
41-5PHY
103电缆
Claims (20)
1.一种通信装置,包括:
通信单元,将用于识别数据块的识别信息添加到具有串行信号组的数据块的集合中,所述串行信号组与时钟同步地从主设备传输并符合串行外围接口SPI,并且所述通信单元在预定的通信协议的一个帧周期内将所述数据块传输至通信对方装置,或者将用于识别多个数据块中的每一个的识别信息添加到具有所述串行信号组的每个部分的多个所述数据块中,并且在多个帧周期中将所述数据块传输至所述通信对方装置;以及
存储单元,依次存储从所述主设备传输的预定数量的一个或多个数据块,然后响应于来自所述主设备并存储在所述存储单元中的所述预定数量的数据块,经由所述通信对方装置输出从从设备传输的数据块,以将所述数据块传输至所述主设备。
2.根据权利要求1所述的通信装置,其中,在预定数量的帧周期中将所述预定数量的数据块传输至所述通信对方装置。
3.根据权利要求1所述的通信装置,其中,所述预定数量的数据块是与从所述主设备传输的所述串行信号组中包括的数据块的总数信息相对应的预定数量的连续数据块。
4.根据权利要求1所述的通信装置,还包括:
第一计数器,基于在所述主设备与所述从设备之间共享的参考时钟测量所述帧周期的长度;以及
第二计数器,对从所述主设备传输的所述数据块的数量进行计数,
其中,所述存储单元在与所述第一计数器和所述第二计数器的计数值相对应的时刻依次存储所述预定数量的数据块,然后从所述通信对方装置输出所存储的数据块。
5.根据权利要求4所述的通信装置,
其中,所述参考时钟是由汽车串行器/解串器联盟ASA标准定义的频率的时钟,并且
所述第二计数器与符合所述SPI的串行信号组中包括的时钟同步地执行计数操作。
6.根据权利要求1所述的通信装置,其中,第一周期等于第二周期或比所述第二周期长,所述第一周期是从所述主设备传输的所述预定数量的数据块被存储在所述存储单元中的周期,所述第二周期是所述通信单元将包括所述数据块的数据包传输至所述通信对方装置的周期。
7.根据权利要求6所述的通信装置,其中,所述第二周期比所述第一周期的一半周期长。
8.根据权利要求6所述的通信装置,其中,所述通信单元在从所述主设备传输的所述数据块被存储在所述存储单元中之后,在经过所述第二周期之后的所述帧周期中,将存储在所述存储单元中的所述数据块传输至所述通信对方装置。
9.根据权利要求6所述的通信装置,其中,所述通信单元在从所述主设备传输的所述数据块被存储在所述存储单元中之后,在经过所述第二周期之前的所述帧周期中,将存储在所述存储单元中的所述数据块传输至所述通信对方装置。
10.根据权利要求9所述的通信装置,其中,在要传输至所述通信对方装置的所述数据块未准备就绪的情况下,所述通信单元停止将所述数据块传输至所述通信对方装置,直到下一帧周期。
11.根据权利要求10所述的通信装置,其中,在来自所述通信对方装置的所述数据块没有到达来自所述主设备的所述数据块的情况下,所述存储单元停止存储新的数据块,直到下一帧周期。
12.根据权利要求6所述的通信装置,还包括:移位寄存器,在每个第一周期将从所述主设备传输的所述预定数量的数据块依次存储在所述存储单元中,然后在每个第一周期从所述存储单元中依次读取从所述通信对方装置传输并存储在所述存储单元中的数据块,并将所述数据块传输至所述主设备。
13.根据权利要求12所述的通信装置,其中,所述移位寄存器在不将指示来自所述通信对方装置的数据块已经到达的中断信号传输至所述主设备的情况下,依次读取存储在所述存储单元中的来自所述通信对方装置的数据块并将所述数据块传输至所述主设备。
14.根据权利要求1所述的通信装置,其中,所述通信单元使用与所述通信对方装置的根据时分双工TDD的通信协议,在所述帧周期内的不同周期中,将数据块从所述主设备传输至所述通信对方装置并从所述通信对方装置接收数据块。
15.一种通信系统,包括:第一通信装置和第二通信装置,所述第一通信装置和所述第二通信装置以预定的通信协议传输和接收数据包,
其中,所述第一通信装置包括:
第一通信单元,将用于识别数据块的识别信息添加到具有串行信号组的数据块的集合中,所述串行信号组与时钟同步地从主设备传输并符合串行外围接口SPI,并且所述第一通信单元在预定的通信协议的一个帧周期内将所述数据块传输至所述第二通信装置,或者将用于识别多个数据块中的每一个的识别信息添加到具有所述串行信号组的每个部分的多个所述数据块中,并且在多个帧周期中将所述数据块传输至所述第二通信装置;以及
第一存储单元,依次存储从所述主设备传输的预定数量的一个或多个数据块,然后响应于来自所述主设备的所述预定数量的数据块经由所述第二通信装置存储从从设备传输的数据块,并且
所述第二通信装置包括第二通信单元,所述第二通信单元在至少一个所述帧周期内响应于从所述第一通信单元传输的预定数量的数据块,将从所述从设备传输的数据块传输至所述第一通信装置。
16.根据权利要求15所述的通信系统,
其中,所述第一通信装置还包括第一移位寄存器,所述第一移位寄存器将从所述主设备传输的所述预定数量的数据块依次存储在所述第一存储单元中,然后从所述第一存储单元中依次读取从所述第二通信装置传输并存储在所述第一存储单元中的数据块,并将所述数据块传输至所述主设备,并且
所述第二通信装置还包括:
第二存储单元,存储从所述第一通信单元传输的所述预定数量的数据块,并且还存储从从设备传输的数据块;以及
第二移位寄存器,将从所述第一通信单元传输的所述预定数量的数据块依次存储在所述第二存储单元中,从所述第二存储单元中依次读取从所述从设备传输并存储在所述第二存储单元中的数据块,并经由所述第二通信单元将所述数据块传输至所述第一通信单元。
17.根据权利要求16所述的通信系统,其中,所述第二移位寄存器在所述第二存储单元中不存在要存储的数据块或者不存在要传输至所述第一通信单元的数据块的情况下,停止移位操作。
18.根据权利要求17所述的通信系统,还包括:时钟生成器,在所述第二通信单元接收要存储在所述第二存储单元中的数据块的情况下,所述时钟生成器生成使所述第二移位寄存器执行移位操作的时钟。
19.根据权利要求18所述的通信系统,其中,所述时钟与从所述主设备传输至所述第一通信装置并符合所述SPI的串行信号组中包括的串行时钟同步。
20.一种通信方法,包括:
将用于识别数据块的识别信息添加到具有串行信号组的数据块的集合中,所述串行信号组与时钟同步地从主设备传输并符合串行外围接口SPI,并且在预定的通信协议的一个帧周期内将所述数据块传输至通信对方装置,或者将用于识别多个数据块中的每一个的识别信息添加到具有所述串行信号组的每个部分的多个所述数据块中,并且在多个帧周期中将所述数据块传输至所述通信对方装置的步骤;以及
将从所述主设备传输的预定数量的一个或多个数据块依次存储在存储单元中,然后响应于来自所述主设备并存储在所述存储单元中的所述预定数量的数据块,经由所述通信对方装置读取从从设备传输的数据块,以将所述数据块传输至所述主设备的步骤。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163171745P | 2021-04-07 | 2021-04-07 | |
US63/171,745 | 2021-04-07 | ||
US17/713,534 | 2022-04-05 | ||
US17/713,534 US11960434B2 (en) | 2021-04-07 | 2022-04-05 | Communication device, communication system, and communication method for transmitting data blocks including signal groups conforming to a serial peripheral interface |
PCT/JP2022/017149 WO2022215701A1 (ja) | 2021-04-07 | 2022-04-06 | 通信装置、通信システム及び通信方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117178517A true CN117178517A (zh) | 2023-12-05 |
Family
ID=83509285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280025204.3A Pending CN117178517A (zh) | 2021-04-07 | 2022-04-06 | 通信装置、通信系统和通信方法 |
Country Status (6)
Country | Link |
---|---|
US (2) | US11960434B2 (zh) |
EP (1) | EP4322451A4 (zh) |
JP (1) | JPWO2022215701A1 (zh) |
KR (1) | KR20230162622A (zh) |
CN (1) | CN117178517A (zh) |
WO (1) | WO2022215701A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118400066A (zh) * | 2023-02-28 | 2024-07-26 | 比亚迪股份有限公司 | 基于spi的数据传输方法、芯片、控制器及存储介质 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102008062865B4 (de) * | 2008-05-30 | 2016-09-22 | Continental Teves Ag & Co. Ohg | Serial-Peripheral-Interface-Schnittstelle mit verminderter Verbindungsleitungsanzahl |
DE102009046995A1 (de) * | 2008-11-21 | 2010-05-27 | Continental Teves Ag & Co. Ohg | Datenübertragungsprotokoll |
JP2011039931A (ja) | 2009-08-17 | 2011-02-24 | Sony Corp | 信号処理装置、及び信号伝送方法 |
JP5535753B2 (ja) | 2010-05-06 | 2014-07-02 | 株式会社日立国際電気 | 無線基地局装置 |
GB2512928B (en) * | 2013-04-12 | 2016-01-06 | Protean Electric Ltd | A control system for an electric motor |
KR101630599B1 (ko) * | 2015-02-16 | 2016-06-16 | 주식회사 이노와이어리스 | 시스템 성능 향상을 위한 제어 로직을 구비한 직렬 주변기기 인터페이스 및 그 구동 방법 |
US10146727B2 (en) | 2015-04-14 | 2018-12-04 | Qualcomm Incorporated | Enhanced virtual GPIO with multi-mode modulation |
US10140242B2 (en) * | 2015-09-10 | 2018-11-27 | Qualcomm Incorporated | General purpose input/output (GPIO) signal bridging with I3C bus interfaces and virtualization in a multi-node network |
KR102447016B1 (ko) * | 2017-11-01 | 2022-09-27 | 삼성디스플레이 주식회사 | 디스플레이 구동 집적 회로, 디스플레이 시스템, 및 디스플레이 구동 집적 회로의 구동 방법 |
AU2019380877B2 (en) * | 2018-11-16 | 2024-09-12 | Alexander Phillip DAVIES | A method of communication between nodes in a network |
-
2022
- 2022-04-05 US US17/713,534 patent/US11960434B2/en active Active
- 2022-04-06 JP JP2023513027A patent/JPWO2022215701A1/ja active Pending
- 2022-04-06 US US18/547,646 patent/US20240303215A1/en active Pending
- 2022-04-06 KR KR1020237033268A patent/KR20230162622A/ko unknown
- 2022-04-06 EP EP22784683.9A patent/EP4322451A4/en active Pending
- 2022-04-06 WO PCT/JP2022/017149 patent/WO2022215701A1/ja active Application Filing
- 2022-04-06 CN CN202280025204.3A patent/CN117178517A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220327089A1 (en) | 2022-10-13 |
KR20230162622A (ko) | 2023-11-28 |
EP4322451A4 (en) | 2024-09-25 |
US11960434B2 (en) | 2024-04-16 |
JPWO2022215701A1 (zh) | 2022-10-13 |
EP4322451A1 (en) | 2024-02-14 |
US20240303215A1 (en) | 2024-09-12 |
WO2022215701A1 (ja) | 2022-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6345052B1 (en) | Method and apparatus for the reliable transition of status signals from an interface device when using a localized sampling architecture | |
US20040015666A1 (en) | Method and apparatus for asynchronous read control | |
US7107393B1 (en) | Systems and method for transferring data asynchronously between clock domains | |
US20240330233A1 (en) | Communication device, communication system, and communication method | |
JP2004521426A (ja) | バスサイクル毎に選択可能な数のデータワードの読み出し及び/又は書き込みを行うことができるファーストイン・ファーストアウトバッファ | |
CN116830520A (zh) | 通信装置、通信系统和通信方法 | |
US6516420B1 (en) | Data synchronizer using a parallel handshaking pipeline wherein validity indicators generate and send acknowledgement signals to a different clock domain | |
CN117178517A (zh) | 通信装置、通信系统和通信方法 | |
CN103490995B (zh) | 报文发送方法和装置 | |
EP3671720B1 (en) | Real-time on-chip data transfer system | |
CN115766332A (zh) | 串行通信装置、串行通信系统及串行通信方法 | |
RU175049U9 (ru) | УСТРОЙСТВО КОММУНИКАЦИОННЫХ ИНТЕРФЕЙСОВ SpaceWire | |
CN1856835A (zh) | 同步的ram存储电路 | |
JP2000021081A (ja) | 音声データ送受信装置および音声データ送受信システム | |
US20090232266A1 (en) | Signal processing device | |
CN117640783B (zh) | 一种数据传输方法、系统、电子设备以及可读介质 | |
CN117827700A (zh) | 信号接收装置、接收方法及芯片 | |
EP2515226A1 (en) | An arrangement | |
CN115599732A (zh) | 一种采用usb3.0多通道同步采集数据的装置及方法 | |
CN118734757A (zh) | 基于fpga的ddr物理层接口电路及其控制方法 | |
JP2002094550A (ja) | 非同期パケットデータ多重化回路 | |
JPH0656997B2 (ja) | エラステイツクバツフア回路 | |
JPH08298494A (ja) | フレーム位相乗り換え方法、フレーム位相乗り換え回路およびポインタ処理回路 | |
KR20030073577A (ko) | 유토피아 인터페이스 장치 | |
JPH05252148A (ja) | クロック乗換回路 |
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 |