通信设备、通信系统和通信方法

申请号 CN202180051040.7 申请日 2021-08-24 公开(公告)号 CN115956355A 公开(公告)日 2023-04-11
申请人 索尼半导体解决方案公司; 发明人 百代俊久; 山田顺也; 太田哲史;
摘要 [问题]通过不同通信方法的组合来进行高速串行通信。[解决手段]通信设备包括通信部,所述通信部通过一批数据 块 ,在预定通信协议的一个 帧 时段内将与时钟同步地从主设备发送的遵守SPI(串行外围 接口 )的串行 信号 组发送到通信对方设备,或者通过按照多个帧时段分割的多个数据块,将所述串行信号组发送到所述通信对方设备。
权利要求

1.一种通信设备,包括:
通信部,所述通信部通过一批数据,在预定通信协议的一个时段内将与时钟同步地从主设备发送的遵守SPI(串行外围接口)的串行信号组发送到通信对方设备,或者通过按照多个帧时段分割的多个数据块,将所述串行信号组发送到所述通信对方设备。
2.按照权利要求1所述的通信设备,还包括:
存储器,所述存储器保存与所述时钟同步地从所述主设备发送的遵守SPI的第一串行信号组,并且保存与所述时钟同步地发送自从设备的遵守SPI的第二串行信号组;
分组编码器,所述分组编码器将保存在所述存储器中的第一串行信号组转换为所述预定通信协议的第一分组;以及
分组解码器,所述分组解码器将从所述通信对方设备接收的所述预定通信协议的第二分组转换为第二串行信号组。
3.按照权利要求2所述的通信设备,其中
第一分组包括关于所述时钟的频率信息、关于所述时钟的极性信息以及关于所述时钟相对于遵守SPI的第一串行信号组的数据信号的相位信息。
4.按照权利要求2所述的通信设备,其中
第一分组包括指示在所述一个帧时段内包括所述一批数据块的信息,或者指示包括按照所述多个帧时段分割的多个数据块的信息。
5.按照权利要求4所述的通信设备,其中
在第一分组包括所述多个数据块的情况下,第一分组包括所述数据块的总数和关于所述数据块的分割位置的信息。
6.按照权利要求4所述的通信设备,其中
第一分组包括关于所述数据块的大小的信息。
7.按照权利要求2所述的通信设备,其中
第一分组包括指示所述数据块是有效还是无效的信息。
8.按照权利要求2所述的通信设备,其中
第一分组包括指示所述从设备的重置的信息。
9.按照权利要求2所述的通信设备,其中
第二分组包括指示所述从设备的操作状态的信息和来自所述从设备的中断信息中的至少一个。
10.按照权利要求9所述的通信设备,其中
在所述中断信息包含在第二分组中的情况下,以及在第二分组本身从所述通信对方设备到达所述存储器的情况下,所述存储器确定所述从设备已请求读出所述从设备的状态,并向所述主设备发送中断信号。
11.按照权利要求2所述的通信设备,其中
第一分组包括关于从设备选择信号的信息,从设备选择信号包含在遵守SPI的第一串行信号组中,并且依据其选择所述通信对方设备或所述从设备。
12.按照权利要求11所述的通信设备,其中
所述分组编码器将第一分组发送到作为目的地、通过所述从设备选择信号选择的所述通信对方设备或从设备。
13.按照权利要求2所述的通信设备,还包括:
移位寄存器,所述移位寄存器与所述时钟同步地将包含在第一串行信号组中的每个串行信号顺序地保存在所述存储器中,并且与所述时钟同步地将包含在第二串行信号组中的每个串行信号顺序地发送到所述主设备。
14.按照权利要求2所述的通信设备,其中
所述通信部在由所述预定通信协议确定的第一定时发送第一分组,并在由所述预定通信协议确定的第二定时接收第二分组。
15.按照权利要求2所述的通信设备,其中
当从所述主设备发送的从设备选择信号从第一逻辑变为第二逻辑时,所述分组编码器确定从所述主设备的第一串行信号组的发送已完成。
16.按照权利要求2所述的通信设备,其中
所述通信部通过按照TDD(时分双工)的通信协议,向和从所述通信对方设备发送和接收第一分组和第二分组。
17.一种通信设备,包括:
通信部,所述通信部与基于包含在从通信对方设备提供的分组中的时钟频率信息生成的时钟同步地,通过一批数据块在预定通信协议的一个帧时段内将发送自从设备的遵守SPI的串行信号组发送到通信对方设备,或者通过按照多个帧时段分割的多个数据块,将所述串行信号组发送到所述通信对方设备。
18.按照权利要求17所述的通信设备,还包括:
分组解码器,所述分组解码器将从所述通信对方设备接收的预定通信协议的第一分组转换为遵守SPI的第一串行信号组;
时钟生成器,所述时钟生成器基于包含在第一串行信号组中的时钟频率信息来生成所述时钟;
存储器,所述存储器与所述时钟同步地保存第一串行信号组,并且保存与所述时钟同步地发送自从设备的遵守SPI的第二串行信号组;以及
分组编码器,所述分组编码器将保存在所述存储器中的第二串行信号组转换为所述预定通信协议的第二分组。
19.按照权利要求18所述的通信设备,其中
第二分组包括指示包括要在第二串行信号组的一个帧时段内发送的一批数据块的信息,或者指示包括要按照个帧时段分割地发送的多个数据块的信息。
20.按照权利要求18所述的通信设备,其中
第二分组包括指示所述从设备是否处于不能接收第一串行信号组的忙碌状态的信息,以及指示在所述从设备接收的第一串行信号组中是否包含错误的信息。
21.按照权利要求18所述的通信设备,其中
第二分组包括中断信息,所述中断信息是使主设备读出所述从设备的状态的请求。
22.按照权利要求18所述的通信设备,还包括:
移位寄存器,所述移位寄存器将包含在第二串行信号组中的每个串行信号保存在所述存储器中,并将包含在第一串行信号组中的每个串行信号发送到所述从设备。
23.按照权利要求18所述的通信设备,其中
所述通信部在由所述预定通信协议确定的第一定时发送第二分组,并在由所述预定通信协议确定的第二定时接收第一分组。
24.按照权利要求18所述的通信设备,其中
所述通信部通过按照TDD(时分双工)的通信协议,向和从所述通信对方设备发送和接收第一分组和第二分组。
25.一种通信系统,包括:
通过预定通信协议发送和接收分组的第一通信设备和第二通信设备,其中第一通信设备包括第一通信部,第一通信部通过一批数据块,在预定通信协议的一个帧时段内将与时钟同步地从主设备发送的遵守SPI(串行外围接口)的第一串行信号组发送到第二通信设备,或者通过按照多个帧时段分割的多个数据块,将所述串行信号组发送到第二通信设备,并且
第二通信设备与基于包含在从第一通信设备提供的分组中的时钟频率信息生成的时钟同步地,通过一批数据块在预定通信协议的一个帧时段内将发送自从设备的遵守SPI的第二串行信号组发送到第一通信设备,或者通过按照多个帧时段分割的多个数据块,将所述串行信号组发送到第一通信设备。
26.按照权利要求25所述的通信系统,其中
第一通信设备包括
第一存储器,第一存储器保存与第一时钟同步地从所述主设备发送的第一串行信号组,并且保存与第一时钟同步地发送自从设备的第二串行信号组,
第一分组编码器,第一分组编码器将保存在第一存储器中的第一串行信号组转换为所述预定通信协议的第一分组,
第一分组解码器,第一分组解码器将从第二通信设备接收的所述预定通信协议的第二分组转换为第二串行信号组,以及
第一通信部,第一通信部在由所述预定通信协议确定的定时发送第一分组,并在由所述预定通信协议确定的定时接收第二分组,并且
第二通信设备包括
第二分组解码器,第二分组解码器将接收的第一分组转换为第一串行信号组,时钟生成器,所述时钟生成器基于包含在第一串行信号组中的时钟频率信息来生成第二时钟,
第二存储器,第二存储器与第二时钟同步地保存第一串行信号组,并且保存与第二时钟同步地发送自从设备的第二串行信号组,
分组编码器,所述分组编码器将保存在第二存储器中的第二串行信号组转换为第二分组,以及
第二通信部,第二通信部在由所述预定通信协议确定的定时发送第二分组,并在由所述预定通信协议确定的定时接收第一分组。
27.一种通信方法,包括:
通信部,所述通信部通过一批数据块,在预定通信协议的一个帧时段内将与时钟同步地从主设备发送的遵守SPI的串行信号组发送到通信对方设备,或者通过按照多个帧时段分割的多个数据块,将所述串行信号组发送到所述通信对方设备。

说明书全文

通信设备、通信系统和通信方法

技术领域

[0001] 本公开涉及通信设备、通信系统和通信方法。

背景技术

[0002] 提出了一种在主设备(Master)用SerDes和从设备(Slave)用SerDes之间进行高速串行通信的技术(参见PTL 1)。
[0003] 在两个SerDes之间进行串行通信的情况下,例如使用FDD(频分双工)方法或TDD(时分双工)方法。在从一个SerDes发送到另一个SerDes的数据量显著不同于从所述另一个SerDes发送到所述一个SerDes的数据量的情况下,可以采用TDD方法,以使上行链路数据传输容量不同于下行链路数据传输容量。TDD方法是只能在一个方向上进行通信的半双工通信方法,因为不能同时进行上行链路通信和下行链路通信。
[0004] [引文列表]
[0005] [专利文献]
[0006] [PTL 1]日本专利公开No.2011‑239011发明内容
[0007] [技术问题]
[0008] 串行通信标准之一被称为SPI(串行外围接口)。SPI是能够同时进行上行链路通信和下行链路通信的全双工通信方法。在某种情况下,当上述两个SerDes分别与其他通信设备进行SPI通信时,SPI数据经由上述两个SerDes中的每个被发送到连接到与该SerDes自身连接的对方侧SerDes的通信设备。在这种情况下,如果假设这些SerDes通过TDD方法彼此通信的情况,则不能通过作为半双工通信方法的TDD方法来发送用于全双工通信方法的SPI数据。
[0009] 因此,本公开提供一种能够通过不同通信方法的组合,进行高速串行通信的通信设备、通信系统和通信方法。
[0010] [问题的解决方案]
[0011] 为了解决上述问题,本公开提供一种通信设备,所述通信设备包括通信部,所述通信部通过一批数据,在预定通信协议的一个时段内将与时钟同步地从主设备发送的遵守SPI(串行外围接口)的串行信号组发送到通信对方设备,或者通过按照多个帧时段分割的多个数据块,将所述串行信号组发送到所述通信对方设备。
[0012] 所述通信设备还可以包括存储器,所述存储器保存与所述时钟同步地从所述主设备发送的遵守SPI的第一串行信号组,并且保存与所述时钟同步地发送自从设备的遵守SPI的第二串行信号组,分组编码器,所述分组编码器将保存在所述存储器中的第一串行信号组转换为所述预定通信协议的第一分组,以及分组解码器,所述分组解码器将从所述通信对方设备接收的所述预定通信协议的第二分组转换为第二串行信号组。
[0013] 第一分组可以包括关于所述时钟的频率信息、关于所述时钟的极性信息以及关于所述时钟相对于遵守SPI的第一串行信号组的数据信号的相位信息。
[0014] 第一分组可以包括指示在所述一个帧时段内包括所述一批数据块的信息,或者指示包括按照所述多个帧时段分割的多个数据块的信息。
[0015] 在第一分组包括所述多个数据块的情况下,第一分组可以包括所述数据块的总数和关于所述数据块的分割位置的信息。
[0016] 第一分组可以包括关于所述数据块的大小的信息。
[0017] 第一分组可以包括指示所述数据块是有效还是无效的信息。
[0018] 第一分组可以包括指示所述从设备的重置的信息。
[0019] 第二分组可以包括指示所述从设备的操作状态的信息和来自所述从设备的中断信息中的至少一个。
[0020] 在所述中断信息包含在第二分组中的情况下,以及在第二分组本身从所述通信对方设备到达所述存储器的情况下,所述存储器可以确定所述从设备已请求读出所述从设备的状态,并向所述主设备发送中断信号。
[0021] 第一分组可以包括关于从设备选择信号的信息,从设备选择信号包含在遵守SPI的第一串行信号组中,并且依据其选择所述通信对方设备或所述从设备。
[0022] 所述分组编码器可以将第一分组发送到作为目的地,通过所述从设备选择信号选择的所述通信对方设备或从设备。
[0023] 所述通信设备还可以包括移位寄存器,所述移位寄存器与所述时钟同步地将包含在第一串行信号组中的每个串行信号顺序地保存在所述存储器中,并且与所述时钟同步地将包含在第二串行信号组中的每个串行信号顺序地发送到所述主设备。
[0024] 所述通信部可以在由所述预定通信协议确定的第一定时发送第一分组,并在由所述预定通信协议确定的第二定时接收第二分组。
[0025] 当从所述主设备发送的从设备选择信号从第一逻辑变为第二逻辑时,所述分组编码器可以确定从所述主设备的第一串行信号组的发送已完成。
[0026] 所述通信部可以通过按照TDD(时分双工)的通信协议,向和从所述通信对方设备发送和接收第一分组和第二分组。
[0027] 本公开提供一种通信设备,所述通信设备包括通信部,所述通信部与基于包含在从通信对方设备提供的分组中的时钟频率信息生成的时钟同步地,通过一批数据块在预定通信协议的一个帧时段内将发送自从设备的遵守SPI的串行信号组发送到通信对方设备,或者通过按照多个帧时段分割的多个数据块,将所述串行信号组发送到所述通信对方设备。
[0028] 所述通信设备还可以包括分组解码器,所述分组解码器将从所述通信对方设备接收的预定通信协议的第一分组转换为遵守SPI的第一串行信号组,时钟生成器,所述时钟生成器基于包含在第一串行信号组中的时钟频率信息来生成所述时钟,存储器,所述存储器与所述时钟同步地保存第一串行信号组,并且保存与所述时钟同步地发送自从设备的遵守SPI的第二串行信号组,以及分组编码器,所述分组编码器将保存在所述存储器中的第二串行信号组转换为所述预定通信协议的第二分组。
[0029] 第二分组可以包括指示包括要在第二串行信号组的一个帧时段内发送的一批数据块的信息,或者指示包括要按照多个帧时段分割地发送的多个数据块的信息。
[0030] 第二分组可以包括指示所述从设备是否处于不能接收第一串行信号组的忙碌状态的信息,以及指示在所述从设备接收的第一串行信号组中是否包含错误的信息。
[0031] 第二分组可以包括中断信息,所述中断信息是使主设备读出所述从设备的状态的请求。
[0032] 所述通信设备还可以包括移位寄存器,所述移位寄存器将包含在第二串行信号组中的每个串行信号保存在所述存储器中,并将包含在第一串行信号组中的每个串行信号发送到所述从设备。
[0033] 所述通信部可以在由所述预定通信协议确定的第一定时发送第二分组,并在由所述预定通信协议确定的第二定时接收第一分组。
[0034] 所述通信部可以通过按照TDD(时分双工)的通信协议,向和从所述通信对方设备发送和接收第一分组和第二分组。
[0035] 本公开提供一种通信系统,所述通信系统包括通过预定通信协议发送和接收分组的第一通信设备和第二通信设备,其中第一通信设备包括第一通信部,第一通信部通过一批数据块,在预定通信协议的一个帧时段内将与时钟同步地从主设备发送的遵守SPI(串行外围接口)的第一串行信号组发送到第二通信设备,或者通过按照多个帧时段分割的多个数据块,将所述串行信号组发送到第二通信设备,并且第二通信设备与基于包含在从第一通信设备提供的分组中的时钟频率信息生成的时钟同步地,通过一批数据块在预定通信协议的一个帧时段内将发送自从设备的遵守SPI的第二串行信号组发送到第一通信设备,或者通过按照多个帧时段分割的多个数据块,将所述串行信号组发送到第一通信设备。
[0036] 第一通信设备可以包括第一存储器,第一存储器保存与第一时钟同步地从所述主设备发送的第一串行信号组,并且保存与第一时钟同步地发送自从设备的第二串行信号组,第一分组编码器,第一分组编码器将保存在第一存储器中的第一串行信号组转换为所述预定通信协议的第一分组,第一分组解码器,第一分组解码器将从第二通信设备接收的所述预定通信协议的第二分组转换为第二串行信号组,以及第一通信部,第一通信部在由所述预定通信协议确定的定时发送第一分组,并在由所述预定通信协议确定的定时接收第二分组,并且第二通信设备可以包括第二分组解码器,第二分组解码器将接收的第一分组转换为第一串行信号组,时钟生成器,所述时钟生成器基于包含在第一串行信号组中的时钟频率信息来生成第二时钟,第二存储器,第二存储器与第二时钟同步地保存第一串行信号组,并且保存与第二时钟同步地发送自从设备的第二串行信号组,分组编码器,所述分组编码器将保存在第二存储器中的第二串行信号组转换为第二分组,以及第二通信部,第二通信部在由所述预定通信协议确定的定时发送第二分组,并在由所述预定通信协议确定的定时接收第一分组。
[0037] 本公开提供一种通信方法,所述通信方法包括通信部,所述通信部通过一批数据块,在预定通信协议的一个帧时段内将与时钟同步地从主设备发送的遵守SPI的串行信号组发送到通信对方设备,或者通过按照多个帧时段分割的多个数据块,将所述串行信号组发送到所述通信对方设备。附图说明
[0038] 图1是描述包括按照第一实施例的通信设备的通信系统的示例构成的框图
[0039] 图2是与SPI/主设备和SPI/从设备之间的SPI通信相关的部分的框图。
[0040] 图3描述SPI协议的基本信号波形图。
[0041] 图4是解释在图1的M_SerDes和S_SerDes之间进行的TDD方法的示图。
[0042] 图5是解释包含在ECP生成的传输分组中的信息的示图。
[0043] 图6是SPI/主设备与SPI/从设备进行的通信的时序图。
[0044] 图7A是图解说明SPI/主设备与SPI/从设备通信的处理过程的流程图
[0045] 图7B是作为图7A的延续的流程图。
[0046] 图8是示意描述通过上行链路和下行链路发送和接收的分组的示图。
[0047] 图9是多个帧重复在一个帧时段内传输分割数据的处理的情况的时序图。
[0048] 图10A是图解说明按照图9中的定时操作的通信系统的处理过程的流程图。
[0049] 图10B是作为图10A的延续的流程图。
[0050] 图10C是作为图10B的延续的流程图。
[0051] 图11是包括按照第三实施例的通信设备的通信系统的主要部分的框图。
[0052] 图12是包括按照图11的一个变形例的通信设备的通信系统的主要部分的框图。

具体实施方式

[0053] 在下文中,将参考附图说明通信设备、通信系统和通信方法的实施例。下面将主要说明通信设备、通信系统和通信方法的重要组成部分,但是通信设备、通信系统和通信方法可以包括未描述或说明的任何其他组成部分或功能。以下的说明并不意图排除未描述或说明的任何其他组成部分或功能。
[0054] (第一实施例)
[0055] 图1是描述包括按照第一实施例的通信设备1a和1b的通信系统2的示意构成的框图。图1的通信系统2包括SPI/主设备11、主设备SerDes(M_SerDes)31、SPI/从设备12和从设备SerDes(S_SerDes)41。M_SerDes 31对应于通信设备1a,而S_SerDes 41对应于通信设备1b。
[0056] SPI/主设备11和M_SerDes 31进行遵守SPI的串行通信(在下文中,有时称为SPI通信)。类似地,SPI/从设备12和S_SerDes 41进行遵守SPI的串行通信(SPI通信)。M_SerDes 31和S_SerDes 41通过TDD方法进行高速串行通信。在图1中,从M_SerDes 31到S_SerDes41的信号传输路径和从S_SerDes 41到M_SerDes 31的信号传输路径分别被称为上行链路和下行链路。在SPI通信中,通过符合SPI标准的协议(在下文中称为SPI协议)进行串行通信。
另外,在本说明书中,通过SPI通信发送和接收的串行数据可以被称为SPI数据。
[0057] 如后所述,M_SerDes 31包括通信部(DLL 31‑4),通信部(DLL 31‑4)通过一批数据块,在预定通信协议的一个帧时段内将与时钟同步地从主设备(SPI_Master 11)发送的遵守SPI(串行外围接口)的串行信号组发送到通信对方设备(S_SerDes 41),或者通过按照多个帧时段分割的多个数据块,将所述遵守SPI的串行信号组发送到通信对方设备(S_SerDes 41)。另外,S_SerDes 41包括通信部(DLL 41‑4),通信部(DLL 41‑4)与基于包含在由通信对方设备(M_SerDes 31)提供的分组中的时钟频率信息生成的时钟同步地,通过一批数据块在预定通信协议的一个帧时段内将发送自从设备(SPI_Slave 12)的遵守SPI的串行信号组发送到通信对方设备(M_SerDes 31),或者通过按照多个帧时段分割的多个数据块,将所述遵守SPI的串行信号组发送到通信对方设备(M_SerDes 31)。
[0058] 图2是与SPI/主设备11和SPI/从设备12之间的SPI通信相关的部分的框图。应注意的是,为了简化说明,图2描述了其中在SPI/主设备11和SPI/从设备12之间直接进行遵守SPI的串行通信的例子。
[0059] 如图2中所示,SPI/主设备11包括移位寄存器11‑1和缓冲器/存储器11‑2。类似地,SPI/从设备12包括移位寄存器12‑1和缓冲器/存储器12‑2。
[0060] 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中的数据。
[0061] 图3描述SPI协议的基本信号波形图。在SPI协议中,当从SPI/主设备11输出的从设备选择器信号(CS信号)空闲时(图3中的高电平)的SCK的极性,和当CS信号处于活动状态时(图3中的低电平)数据被存的时钟(SCK)的边缘(上升缘或下降缘)的组合有四种。这四种组合被称为SPI模式。SPI/主设备11可以任意地从这四种SPI模式中选择一种。SPI/主设备11已知SPI/从设备可以支持的SPI模式,因此需要选择与可支持的模式对应的模式。
[0062] 图3A~3D是四种SPI模式的信号波形图。在图3A中所示的SPI模式=0中,当CS信号空闲时,SCK为低电平,并且在SCK上升时,数据被保持。在图3B中所示的SPI模式=1中,当CS信号空闲时,SCK为低电平,并且在SCK下降时,数据被保持。在图3C中所示的SPI模式=2中,当CS信号空闲时,SCK为高电平,并且在SCK下降时,数据被保持。在图3D中所示的SPI模式=3中,当CS信号空闲时,SCK为高电平,并且在SCK上升时,数据被保持。
[0063] SPI协议没有定义SCK的频率,并且对于进行SPI通信的相应设备来说SCK的频率不同。SPI/主设备11为进行SPI通信的每个设备选择SCK的频率。因此,SPI/设备11需要预先知道进行SPI通信的每个设备能够支持的SCK频率。
[0064] 在下文中,将说明使用SPI协议的通信方法。在图2的例子中,在SPI/主设备11和SPI/从设备12之间进行使用SPI协议的通信。连接到SPI/主设备11的SPI/从设备12的数量可以是一个或多个。在两个或更多的SPI/从设备12连接到SPI/主设备11的情况下,SPI/主设备11具有与相应SPI/从设备12对应的多个CS信号,并且使用对应的CS信号来选择想要与之通信的从设备,从而可以进行与该从设备的通信。SPI/主设备11用于选择要通信的SPI/从设备12的CS信号包含在SPI控制信息中,如后所述。SPI/主设备11将包括SPI控制信息的SPI数据发送到M_SerDes 31。
[0065] 在进行SPI通信的情况下,SPI/主设备11激活连接到想要与之通信的SPI/从设备12的CS信号(在图3A~3D中为低电平)。在本说明书中,在一些情况下,使有效(asserting)指的是使任意信号进入活动状态,而使无效(deasserting)指的是使任意信号进入空闲状态。
[0066] SPI/主设备11和SPI/从设备12分别将要传送的数据从缓冲器/存储器11‑2和12‑2传送到移位寄存器11‑1和12‑1。SPI/主设备11生成SCK,并将该SCK不仅提供给移位寄存器11‑1,而且提供给SPI/从设备12的移位寄存器12‑1。移位寄存器11‑1和12‑1分别通过SCK的切换将保持的数据移位1位。作为按移位寄存器11‑1和12‑1的级数的SCK切换的结果,移位寄存器11‑1和12‑1中的数据被替换。随后,SPI/主设备11使CS信号进入空闲状态(在图3A~
3D中为高电平)。通过将移位寄存器11‑1和12‑1中的当前数据传送到缓冲器/存储器11‑2和
12‑2,SPI/主设备11和SPI/从设备12可以从缓冲器/存储器11‑2和12‑2获得数据。然后,结束SPI通信。
[0067] 虽然图2描述了在SPI/主设备11和SPI/从设备12之间直接进行SPI通信的例子,但是图1描述了在SPI/主设备11和M_SerDes 31之间布置M_SerDes 31和S_SerDes 41。在图1中,SPI/主设备11和M_SerDes 31进行SPI通信,M_SerDes 31和S_SerDes 41通过TDD方法相互进行串行通信,SPI/从设备12和S_SerDes 41相互进行SPI通信。
[0068] 图4是说明在图1的M_SerDes 31和S_SerDes 41之间进行的TDD方法的示图。在图4中,描述了图1中所示的SPI/主设备11和SPI/从设备12的简化内部构成。另外,图4描述了其中外围设备32和42分别连接到M_SerDes 31和S_SerDes 41的例子。
[0069] M_SerDes 31和S_SerDes 41例如经由长度为几米到十多米的缆线103彼此连接。经由缆线103,在M_SerDes 31和S_SerDes 41之间进行高速串行通信。应注意的是,两个或更多的设备可以与M_SerDes 31进行串行通信。在这种情况下,这些设备中的每个具有与图
4中的S_SerDes 41类似的构成。另外,可以设置具有与图4中的M_SerDes 31和S_SerDes 41类似的构成的多对设备,从而每对进行高速串行通信。图4中的M_SerDes 31和S_SerDes 41例如适用于用于发送和接收大量数据的各种各样的用途,比如车载相机模块。
[0070] M_SerDes 31和S_SerDes 41通过TDD方法进行高速串行通信。在图4的右下部描述了TDD方法中的定时和频带。在TDD方法中,如在图4的右侧所示,在一个TDD周期内时间上不彼此重叠地设置上行链路信号传输时段和下行链路信号传输时段。图4中的TDD时序图图解说明其中从M_SerDes 31到S_SerDes 41的上行链路信号(称为上行链路)的信号传输时段过度地小于从S_SerDes 41到M_SerDes31的下行链路信号(称为下行链路)的信号传输时段的例子,即,其中上行链路的信号比过度地小于下行链路的信号比的例子。例如,在将S_SerDes 41中的传感器所拍摄的视频信号发送到M_SerDes 31的情况下,信号比变为如在图4的TDD时序图中图解所示的比率。
[0071] 在图4的右侧描述了在TDD方法中用于上行链路信号传输的频带和用于下行链路信号传输的频带。如图4中所示,在TDD方法中,上行链路信号传输和下行链路信号传输的频带大部分彼此重叠。例如,在将S_SerDes 41中的传感器拍摄的视频信号发送到M_SerDes 31的情况下,由于其信号量大的下行链路信号传输需要比上行链路信号传输更宽的频带,因此下行链路信号传输通过包括用于上行链路信号传输的频带的更宽频带来执行。由于在TDD方法中,下行链路信号传输时段不与上行链路信号传输时段重叠,因此不需要用于分离这些信号的回波消除电路
[0072] 通过TDD方法执行信号传输是按照本实施例的M_SerDes 31和S_SerDes 41的先决条件。然而,在一些情况下,M_SerDes 31和S_SerDes 41也可以通过FDD方法执行信号传输。在图4的左下部中描述了FDD方法中的定时和频带。在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周期的整体来执行。
[0073] 此外,在FDD方法中,其信号量大的上行链路信号传输通过使用高频侧的宽频带来执行。其信号量小的下行链路信号传输通过使用低频侧的窄频带来进行。在图4的左下部例子中,为了提高使用频率的效率,用于上行链路信号传输的频带和用于下行链路信号传输的频带部分彼此重叠。归因于该重叠部分,需要回波消除电路。回波消除电路被配置为高度精确地分离上行链路信号和下行链路信号。
[0074] 下面,将给出一个例子,其中通过TDD方法在M_SerDes 31和S_SerDes 41之间进行高速串行通信,M_SerDes 31与SPI/主设备11进行遵守SPI的串行通信,而S_SerDes 41与SPI/从设备12进行遵守SPI的串行通信。
[0075] 由于在M_SerDes 31和S_SerDes 41之间进行不是通过SPI而是通过TDD方法的串行通信,因此需要在M_SerDes 31和S_SerDes 41中进行协议转换。此外,通过TDD方法的串行通信是半双工通信方法,而通过SPI的串行通信是全双工通信方法。于是,在TDD方法中,不能在不变的定时发送和接收从SPI/主设备11或SPI_Slave从设备提供的数据。
[0076] 下面将详细说明图1中的通信系统2的构成。图1中的SPI/主设备11除了如图4中所示包括移位寄存器11‑1和缓冲器/存储器11‑2之外,还包括控制器11‑3和SCK生成器11‑4。
[0077] 控制器11‑3通过M_CSn引脚向M_SerDes 31提供用于激活SPI通信的从设备选择信号(CS信号)。按与SPI/主设备11进行SPI通信的设备的数量提供CS信号。例如,在图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。
[0078] 控制器11‑3控制SCK生成器11‑4的操作。SCK生成器11‑4在CS信号任意之一处于活动状态时输出SCK。移位寄存器11‑1与SCK同步地进行移位操作。
[0079] 控制器11‑3根据从M_SerDes 31提供的中断信号M_INT,检测到SPI/从设备12输出了中断信号S_INT。中断信号M_INT是用于使控制器11‑3开始下一帧的SPI通信的触发。或者,在要从控制器11‑3发送SPI数据的情况下,也类似地开始SPI通信(后面说明的图6中的M_CSn(1)的时间t5)
[0080] M_SerDes 31连接到SPI/主设备11。M_SerDes 31包括用于按照SPI协议与SPI/主设备11进行数据通信的SPI块31‑1。SPI块31‑1包括移位寄存器31‑1‑1和缓冲器/存储器31‑1‑2。当SPI/主设备11的控制器11‑3激活对于M_SerDes 31的CS信号,并且SCK生成器41‑1‑3输出SCK时,移位寄存器31‑1‑1与SCK同步地输出SPI数据,并且SPI数据通过MISO引脚被提供给SPI/主设备11。此外,与SCK同步,移位寄存器31‑1‑1取回通过MOSI引脚从SPI/主设备
11输出的SPI数据。
[0081] 当CS信号进入空闲状态时,控制器11‑3使SCK生成器11‑4停止输出SCK。结果,保持紧接在SCK的停止之前的移位寄存器31‑1‑1的状态。
[0082] 当CS信号进入空闲状态时,M_SerDes 31中的SPI块31‑1将移位寄存器31‑1‑1中的所有数据传送到缓冲器/存储器31‑1‑2。结果,结束按照SPI协议的从SPI/主设备11到M_SerDes 31的数据传输处理。
[0083] 应注意的是,M_SerDes 31中的从移位寄存器31‑1‑1到缓冲器/存储器31‑1‑2的数据传送取决于SPI/主设备11想要传送的数据量和移位寄存器31‑1‑1的数据容量。于是,在CS信号的活动状态期间,移位寄存器31‑1‑1中的数据有可能溢出的情况下,移位寄存器31‑1‑1中的数据在溢出之前被传送到缓冲器/存储器31‑1‑2。因而,可以防止数据的遗漏。
[0084] 此外,M_SerDes 31包括分组编码器(ECP)31‑2、分组解码器(DCP)31‑3、DLL 31‑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。
[0085] 图1中的S_SerDes 41连接到SPI/从设备12。S_SerDes 41包括用于按照SPI协议与SPI/从设备12发送和接收数据的SPI块41‑1。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数据,并且SPI数据通过S_MOSI引脚被提供给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_SerDes 41的ECP 41‑2将保存在缓冲器/存储器41‑1‑2中的SPI数据转换为符合TDD方法的分组(SPI分组)。DLL 41‑4通过将ECP 41‑2生成的SPI分组与除SPI分组以外的其他传输分组进行组合来生成上行链路分组。PHY 41‑5通过上行链路将上行链路分组发送到S_SerDes 41。
[0086] 图5是说明包含在ECP 31‑2和41‑2生成的传输分组中的信息的示图。对于图5中的传输分组中的每个信息单元,标识符号、信息名称、在用于从SPI/主设备11到SPI/从设备12的数据传输的传输分组中的功能、在用于从SPI/从设备12到SPI/主设备11的数据传输的传输分组中的功能、以及描述彼此关联。
[0087] C‑1是由SPI/主设备11作为命令发出的传输模式。SPI/主设备11使用包括在从SPI/从设备12提供的分组中的传输模式来监视状态。当C‑1为0时,在TDD的一个帧时段内发送一批数据块。当C‑1为1时,发送按照多个帧时段分割的多个数据块。
[0088] C‑2是由SPI/主设备11作为命令发出的从设备选择器信号(CSn信号)。SPI/主设备11使用包括在从SPI/从设备12提供的分组中的CSn信号来监视状态。通过CSn信号,SPI/主设备11选择想要与之通信的SPI/从设备12。通过CSn信号,不仅可以选择每个SPI/从设备
12,而且可以选择SerDes(M_SerDes 31或S_SerDes 41)。
[0089] C‑3是由SPI/主设备11作为命令发出的SCK频率。SPI/主设备11使用包括在从SPI/从设备12提供的分组中的SCK频率来监视状态。为SPI/主设备11提供C‑3以指定SPI/从设备12侧的SCK频率。
[0090] C‑4是由SPI/主设备11作为命令发出的SPI模式。SPI/主设备11使用包括在从SPI/从设备12提供的分组中的SPI模式来监视状态。例如,当C‑4为0时,选择在图3A中图解说明的模式=0。当C‑4为1时,选择在图3B中图解所示的模式=1。当C‑4为2时,选择在图3C中图解所示的模式=2。当C‑4为3时,选择在图3D中图解所示的模式=3。
[0091] C‑5是由SPI/主设备11作为信息提供的数据块DB的总数。SPI/主设备11使用包括在从SPI/从设备12提供的分组中的DB的总数来监视状态。当C‑1为0时(当发送分割的DB时),C‑5为1。SPI/从设备12返回在开始SPI通信之后接收到的DB的数量。
[0092] C‑6是由SPI/主设备11作为信息提供的当前数据块DB的位置。C‑6不包括在从SPI/从设备12提供的分组中。为0的C‑6指示无效信息。在C‑1为0的情况下,C‑6为0。为1的C‑6指示头部的分割数据。为2的C‑6指示除头部和结尾的分割数据以外的分割数据。为3的C‑6指示结尾的分割数据。
[0093] C‑7是由SPI/主设备11和SPI/从设备12作为信息提供的当前数据块DB的状态。为0的C‑7指示虚拟数据,为1的C‑7指示为有效数据。
[0094] C‑8是由SPI/主设备11作为信息提供的数据块DB的大小。SPI/主设备11使用包括在从SPI/从设备12提供的分组中的数据传输大小来监视状态。C‑8以字节为单位指示数据传输大小。最大大小为511字节。
[0095] C‑9是SPI/从设备12的中断信息,它不包括在由SPI/主设备11发送的分组中,而是包括在由SPI/从设备12发送的分组中的中断标志。为0的C‑9指示没有中断。为1的C‑9指示有中断。
[0096] C‑10是SPI/从设备12侧的操作状态,它不包括在由SPI/主设备11发送的分组中,而是包括在从SPI/从设备12提供的分组中。为0的C‑10指示正常状态。为1的C‑10指示忙碌状态(DCP 31‑3不为空),为2的C‑10指示发生错误(SPI数据已损坏)。
[0097] C‑11是SPI块41‑1的重置,并且由SPI/主设备11作为命令发出。C‑11不包括在从SPI/从设备12提供的分组中。当C‑11为0时,不进行重置。当C‑11为1时,S_SerDes 41的SPI块41‑1被重置。
[0098] D‑1是与上述C‑1~C‑11一起发送的SPI数据。由SPI/主设备11发送的SPI数据通过M_MOSI引脚输出。由SPI/从设备12发送的SPI数据通过S_MISO引脚输出。
[0099] E‑1是与C‑1~C‑11和D‑1一起发送的CRC。E‑1包括在要由SPI/主设备11发送的SPI数据和要由SPI/从设备12发送的SPI数据中。CRC用于检测控制数据C‑1~C‑11和SPI数据中的错误。
[0100] 图6是SPI/主设备11与SPI/从设备12的通信的时序图,图7A和图7B是分别图解说明SPI/主设备11与SPI/从设备12进行通信的处理过程的流程图。图8是示意地描述通过上行链路和下行链路发送和接收的分组的示图。图6~图8分别描述了在TDD的一个帧时段内发送和接收一批数据块的处理过程。
[0101] 首先,SPI/主设备11生成由M_SerDes 31的ECP 31‑2和DCP31‑3使用的SPI控制信息,并将SPI控制信息发送到M_SerDes 31(步骤S1~步骤S4,时间t1~t4)。SPI控制信息例如包括SPI传输模式、SCK频率信息、SPI模式以及SPI通信期间的数据块DB的大小和数量。SPI/主设备11初步将SPI控制信息保存在缓冲器/存储器11‑2中。
[0102] 为了与M_SerDes 31进行SPI通信,SPI/主设备11的控制器11‑3使M_CSn(0)进入活动状态(低)(使有效)(步骤S1,时间t1)。
[0103] SPI/主设备11的控制器11‑3控制SCK生成器11‑4输出时钟M_SCK(步骤S2,时间t2)。与时钟M_SCK同步,保存在缓冲器/存储器11‑2中的SPI控制信息被顺序读出并传送到移位寄存器11‑1。作为SPI控制信息,传送传输模式、SCK频率信息、SPI模式、传输数据大小、数据块的数量等。与时钟M_SCK同步,移位寄存器11‑1顺序输出SPI控制信息(步骤S2~S3,时间t2~t3)。SPI控制信息通过M_MOSI引脚输入到M_SerDes 31。与M_SCK同步,M_SerDes 31的移位寄存器31‑1‑1取回从SPI/主设备11提供的SPI控制信息。
[0104] 与取回从SPI/主设备11提供的SPI控制信息并行,移位寄存器31‑1‑1将保持在移位寄存器31‑1‑1中的数据与M__SCK同步地通过M_MISO引脚发送到SPI/主设备11。该数据是无效的,在图6中的时间t2~t3用虚线指示。SPI/主设备11接收该数据,然后丢弃该数据。
[0105] 在从SPI/主设备11的数据传送完成之后,SPI/主设备11的控制器11‑3使SCK生成器11‑4停止生成M_SCK,并使M_CSn(0)无效为空闲状态(步骤S4,时间t4)。当M_SCK停止时,M_SerDes 31的移位寄存器31‑1‑1将从SPI/主设备11提供的保持的SPI控制信息传送到缓冲器/存储器31‑1‑2。
[0106] M_SerDes 31的缓冲器/存储器31‑1‑2将从SPI/主设备11提供的SPI控制信息传送到ECP 31‑2。ECP 31‑2将该SPI控制信息转换为SPI分组。
[0107] 随后,为了进行向SPI/从设备12的数据传输,SPI/主设备11将SPI数据发送到M_SerDes 31。具体地,SPI/主设备11的控制器11‑3使对应于SPI/从设备12的M_CSn(1)从空闲状态进入活动状态(使无效)(步骤S5,时间t5)。
[0108] 此外,控制器11‑3使SCK生成器11‑4输出M_SCK(步骤S6,时间t6)。缓冲器/存储器11‑2读出要发送到SPI/从设备12的数据的传输数据大小,并将读出的数据输入到移位寄存器11‑1。与M_SCK同步,移位寄存器11‑1通过M_MOSI引脚顺序地输出给SPI/从设备12的数据(步骤S7,时间t7)。
[0109] M_SerDes 31的移位寄存器31‑1‑1与SCK同步地将从SPI/主设备11输出的数据顺序取回到移位寄存器31‑1‑1中。在完成传输数据大小的数据的传送时,SPI/主设备11的控制器11‑3使SCK生成器11‑4停止输出M_SCK(步骤S8,时间t8)。然后,SPI/主设备11的控制器11‑3使M_CSn(1)进入空闲状态(使无效),并且结束SPI通信(步骤S9,时间t9)。
[0110] 当M_SCK停止时,M_SerDes 31将保持在移位寄存器31‑1‑1中的数据传送到缓冲器/存储器31‑1‑2。缓冲器/存储器31‑1‑2将从移位寄存器31‑1‑1传送的数据传送到ECP 31‑2。ECP 31‑2生成数据,该数据包括作为在时间t1~t3进行的通信的结果而接收的SPI控制信息、对于SPI/从设备12的CS信号(M_CSn(1))、以及给SPI/从设备12的数据。ECP 31‑2通过向生成的数据添加指示分组有效的标志来生成传输分组。
[0111] ECP 31‑2将生成的传输分组作为图8中所示的SPI分组51发送到DLL 31‑4。DLL 31‑4通过将从ECP 31‑2发送的SPI分组51和其他传输分组进行组合来生成上行链路分组
52,并将上行链路分组52输出到PHY层块31‑5。PHY层块31‑5按照与TDD相应的上行链路输出定时,将所接收的上行链路分组52输出到缆线103(步骤S10,时间t10)。
[0112] S_SerDes 41通过TDD方法与M_SerDes 31通信,并且还与SPI/从设备12进行SPI通信。S_SerDes 41的PHY层块41‑5经由缆线103接收从M_SerDes 31发送的上行链路分组,并将上行链路分组输出到链路层块(DLL)41‑4。
[0113] S_SerDes 41的链路层块41‑4从上行链路分组中提取包含SPI数据的SPI分组,并将SPI分组输出到分组解码器(DCP)41‑3。基于包含在所接收的SPI分组中的CSn信息(C‑2),DCP 41‑3检测到SPI/从设备12是SPI通信对象。然后,为了开始与SPI/从设备12的SPI通信,控制器41‑1‑4基于包含在SPI分组中的传输模式信息(C‑1),检测到已经完全发送了SPI数据,并且基于SPI数据的数量(C‑5)和SPI数据大小(C‑8),获得进行一次SPI通信所需的SCK周期的数量,然后使从设备选择信号S_CS进入活动状态(使有效)(步骤S11,时间t11)。
[0114] 接下来,S_SerDes 41的控制器41‑1‑4获得包含在SPI分组中的SCK频率信息(C‑3),并通过获得的频率使SCK生成器41‑1‑3输出S_SCK(步骤S12,时间t12)。此时,S_CS和SCK之间的相位关系遵循SPI分组中的SPI模式(C‑4)。因而,使S_SerDes 41可以向SPI/从设备
12传送SPI数据。要传送到SPI/从设备12的数据是SPI分组(D‑1),并且保存在缓冲器/存储器41‑1‑2中。
[0115] S_SerDes 41的移位寄存器41‑1‑1按照由SCK生成器41‑1‑3提供的SCK,通过S_MOSI引脚顺序输出从缓冲器/存储器41‑1‑2传送的SPI数据(步骤S13,时间t13)。与此并行,要从SPI/从设备12输出到S_MISO引脚的SPI数据被保存在移位寄存器41‑1‑1中,然后在适当的定时被传送到缓冲器/存储器41‑1‑2。
[0116] SPI/从设备12与S_SCK同步地将来自S_SerDes 41的S_MOSI引脚的SPI数据顺序取回到移位寄存器12‑1中,并且进一步通过S_MISO引脚顺序地输出保持在移位寄存器12‑1中的数据(步骤S14,时间t14)。
[0117] 在驱动S_SCK达到定义的SPI数据大小(C‑8)之后,控制器(41‑1‑4)停止SCK并使S_CS返回空闲状态(使无效),以便结束SPI通信(步骤S15,时间t15)。与此并行,SPI/从设备12在从S_SerDes 41的S_MOSI引脚接收SPI数据时,在适当的定时将从S_MOSI引脚发送的SPI数据传送到缓冲器/存储器12‑2,从而最终完成来自SPI/主设备11的数据接收。
[0118] 缓冲器/存储器41‑1‑2将从SPI/从设备12接收的SPI数据传送到分组编码器(ECP)41‑2,以便将SPI数据发送到SPI/主设备11。ECP41‑2将接收到的SPI数据和由ECP 41‑2从SPI分组获得的SPI控制信息添加到SPI分组53中。另外,ECP 41‑2将在图5中图解所示的指示SPI/从设备12的操作状态的信息(C‑10)和CRC(E‑1)添加到SPI分组中。
[0119] 此外,在SPI/从设备12输出中断信号(C‑9)的情况下,ECP 41‑2还将关于中断信号的信息添加到SPI分组53中。在这种情况下,从SPI/从设备12提供的SPI数据不通过SPI分组53来发送。提供中断信号的原因在于在SPI协议中,CS信号和SCK仅由SPI/主设备11控制。因此,SPI/从设备12不能主动输出任何数据。因而,SPI/从设备12输出中断信号以等待来自SPI/主设备11的命令。
[0120] 链路层块(DLL)41‑4通过组合从ECP 41‑2接收的SPI分组53和其他传输分组,生成下行链路分组54,并将下行链路分组54输出到PHY层块41‑5。PHY层块41‑5按照下行链路输出定时将接收的下行链路分组54输出到缆线103(步骤S16,时间t16)。
[0121] M_SerDes 31的PHY层块31‑5接收包括从SPI/从设备12提供并从S_SerDes 41输出的SPI分组53的下行链路分组,并将下行链路分组输出到DLL 31‑4。DLL 31‑4从接收到的下行链路分组54中提取SPI分组53,并将SPI分组53输出到分组解码器(DCP)31‑3。
[0122] 当从主设备11接收SPI数据O_DB#1时,M_SerDes 31的DCP31‑3同时接收包括要发送到主设备11的I_DB#1的分组,并将该分组存储在缓冲器/存储器31‑1‑2中。为了指示从SPI/从设备12返回了有效的SPI数据I_DB#1,缓冲器/存储器31‑1‑2使中断信号M_INT有效(步骤S17,时间t17)。在接收到中断信号M_INT之后,SPI/主设备11的控制器11‑3开始SPI通信以从M_SerDes 31读出从SPI/从设备12提供的SPI数据,并激活M_CSn(1)(使有效)(步骤S18,时间t18)。
[0123] SPI/主设备11的控制器11‑3控制SCK生成器11‑4输出M_SCK(11‑10‑2)(步骤S19,时间t19)。与SCK同步,移位寄存器11‑1按在帧#1中定义的传输数据大小(c‑8),从M_MISO引脚顺序取回数据。此时,M_SerDes 31的缓冲器/存储器31‑1‑2在适当的定时将从SPI/从设备12提供的数据传送到移位寄存器31‑1‑1,并且移位寄存器31‑1‑1如前所述与SCK生成器11‑4同步地顺序输出数据。输出的数据通过M_MIS0引脚取回(步骤S20,时间t20)。与此并行,SPI/主设备11从缓冲器/存储器11‑2读出接下来要传送到SPI/从设备12的SPI数据,将SPI数据保存在移位寄存器11‑1中,并通过M_MOSI引脚从移位寄存器11‑1顺序输出该SPI数据(步骤S21,时间t21)。在读出所需的数据之后,缓冲器/存储器31‑1‑2将中断信号M_INT恢复为空闲状态(使无效)(步骤S22,时间t22)。
[0124] 作为迄今为止说明的操作的结果,完成SPI/主设备11和SPI/从设备12之间的SPI数据的传送。上述一系列操作被重复与必要的SPI数据的传送次数相同的次数(步骤S23,时间t23)。
[0125] 当读出来自SPI/从设备12的最后的SPI数据时,SPI/主设备11使M_CSn(1)有效以便输出虚拟数据(步骤S24,时间t24)。该虚拟数据是不需要传送到SPI从设备的无效数据。于是,该虚拟数据被丢弃,而不是从M_SerDes 31中的移位寄存器31‑1‑1传送到缓冲器/存储器31‑1‑2(步骤S25,时间t25)。从SPI/从设备12提供的最后数据通过M_MISO引脚从M_SerDes 31的移位寄存器31‑1‑1输出,并被取回到SPI/主设备11的移位寄存器11中(步骤S26,时间t26)。
[0126] 在第一实施例中,以上述方式,在TDD方法的一个帧时段内,通过SPI通信从SPI/主设备11向M_SerDes 31发送的一批数据可以通过上行链路发送到S_SerDes 41,并且通过SPI通信从SPI/从设备12向S_SerDes 41发送的一批数据可以通过下行链路发送到M_SerDes31。因而,将作为全双工通信的SPI通信和作为半双工通信的TDD通信组合在一起,并且可以经由M_SerDes 31和S_SerDes 41进行SPI/主设备11和SPI/从设备12之间的串行通信。
[0127] (第二实施例)
[0128] 在第二实施例中,按照TDD方法中的多个帧时段分割要通过SPI通信发送和接收的数据。
[0129] 按照第二实施例的通信系统2具有与图1相似的构成。然而,在要从SPI/主设备11发送到M_SerDes 31的SPI控制信息方面存在差异。
[0130] 图9是多帧地重复在每个帧时段内发送分割数据的处理的情况的时序图。图10A、图10B和图10C是分别图解说明按照图9中图解所示的定时操作的通信系统2的处理过程的流程图。
[0131] 在与图7中的步骤S1~S8(时间t1~t8)相似的图10A中的步骤S31~S38(时间t31~t38),SPI/主设备11生成SPI控制信息,并在M_SerDes 31的ECP 31‑2和DCP 31‑3中设定SPI控制信息。在基本上与图7A和图7B中相似的步骤S39及之后的处理操作中,在图9、图10A、图10B和图10C中,要在一个SPI帧中发送的数据被分割为多个,从而每个分割数据在TDD的一个帧时段内发送。在TDD的一个帧时段内发送的信号被称为TDD突发信号。
[0132] 直到SPI帧中的所有分割数据的传送完成为止,SPI/主设备11和M_SerDes 31之间的从设备选择信号M_CSn(1)的活动状态以及S_SerDes 41和SPI/从设备12之间的从设备选择信号S_CS的活动状态被保持。
[0133] SPI/主设备11使CS信号(M_CSn(1))有效,以开始SPI数据的传送(步骤S35,时间t35)。SPI/主设备11使SCK生成器11‑4输出M_SCK以便发送一个分割数据(数据块DB)(步骤S36,时间t36)。
[0134] 随后,SPI/主设备11与SCK同步地顺序从移位寄存器11‑1输出SPI数据,并且通过M_MOSI引脚输出SPI数据(步骤S37,时间t37)。此外,SPI/主设备11将与作为通信对象的SPI/从设备12对应的CS信号输出到M_SerDes 31(步骤S38,时间t38)。随后,M_SerDes 31的ECP 31‑2生成包括SPI数据和CS信号的分组(步骤S39,时间t39)。PHY层块31‑5组合该分组和其他传输分组,从而生成上行链路分组。该上行链路分组通过上行链路发送到S_SerDes 41。
[0135] SPI/主设备11继续使CS信号有效,直到发送了所有分割数据为止(步骤S40,时间t40)。SPI/主设备11停止从SCK生成器11‑4输出M_SCK,直到发送下一个分割数据为止(步骤S41,时间t41)。
[0136] S_SerDes 41从接收的分组获得CS信号和SPI数据,并使S_CS有效(步骤S42,时间t42)。S_SerDes 41的控制器41‑1‑4使SCK生成器41‑1‑3输出S_SCK(步骤S43,时间t43)。S_SerDes 41将接收的分组中的SPI数据临时保存在缓冲器/存储器41‑1‑2中,然后将SPI数据传送到移位寄存器41‑1‑1。移位寄存器41‑1‑1与S_SCK同步地顺序输出数据。所输出的数据通过S_MOSI引脚输入到SPI/从设备12(步骤S44,时间t44)。此外,与S_SCK同步地从SPI/从设备12的移位寄存器12‑1输出的数据通过S_MISO引脚输入到S_SerDes 41(步骤S45,时间t45)。
[0137] S_SerDes 41的DLL 41‑4生成包含从S_MISO引脚提供的数据的传输分组。PHY层块41‑5在通过TDD方法确定的定时将该传输分组发送到下行链路(步骤S46,时间t46)。
[0138] M_SerDes 31的DLL 31‑4将包含在从S_SerDes 41发送的传输分组中的SPI分组发送到DCP 31‑3。DCP 31‑3接收包括在从主设备11接收SPI数据0_DB#1的同时发送到主设备11的I_DB#1的分组,并将该分组保存在缓冲器/存储器31‑1‑2中。为了指示从SPI/从设备12返回有效的SPI数据I_DB#1,缓冲器/存储器31‑1‑2使中断信号M_INT有效(步骤S47,时间t47)。
[0139] 当检测到已使M_INT有效时,SPI/主设备11使SCK生成器11‑4输出M_SCK(步骤S48,时间t48)。缓冲器/存储器11‑2将接下来要发送的数据传送到移位寄存器11‑1,移位寄存器11‑1与M_SCK同步地通过M_MISO引脚输出SPI数据(步骤S49、时间t49)。与此并行,通过M_MISO引脚从M_SerDes 31输出的数据被取回到移位寄存器11‑1中(步骤S50,时间t50)。
[0140] 在读出从M_SerDes 31提供的所有数据之后,SPI/主设备11将M_INT恢复为空闲状态(使无效)(步骤S51,时间t51)。
[0141] S_SerDes 41维持S_CS的活动状态(使有效),直到发送了所有的分割数据为止(步骤S52,时间t52)。此外,从S_SerDes 41的SCK生成器41‑1‑3的S_SCK的输出被停止,直到从M_SerDes 31发送下一个SPI数据为止(步骤S53,时间t53)。
[0142] 之后,重复步骤S40~S53的处理操作(步骤S54,时间t54)。当M_SerDes 31通过上行链路发送最后的分割分组时(步骤S55,时间t55),S_SerDes 41输出S_SCK(步骤S56,时间t56)。然后,S_SerDes 41通过S_MOSI引脚输出SPI数据(步骤S57,时间t57),并进一步通过S_MISO引脚接收来自SPI/从设备12的最后的SPI数据(步骤S58,时间t58)。
[0143] 在接收到最后的SPI数据之后,S_SerDes 41使S_CS进入空闲状态(使无效)(步骤S59,时间t59)。另外,S_SerDes 41通过下行链路将包括最后的SPI数据的传输分组发送到M_SerDes 31(步骤S60,时间t60)。
[0144] 类似于步骤S47,M_SerDes 31使M_INT进入活动状态(步骤S61,时间t61)。此外,M_SerDes 31使SPI/主设备11的SCK生成器11‑4输出M_SCK(步骤S62,时间62)。与M_SCK同步,通过M_MISO引脚从移位寄存器31‑1‑1输出的数据被取回到SPI/主设备11的移位寄存器11‑1中(步骤S63~S64,时间t63~t64)。在取回所有数据之后,SPI/主设备11使CS信号进入空闲状态(步骤S65,时间t65)。在步骤S63从移位寄存器11‑1输出的数据被丢弃(步骤S66,时间t66),因为该数据是虚拟数据。
[0145] 于是,在第二实施例中,通过将从SPI/主设备11通过SPI通信向M_SerDes 31发送的一批数据分割成多个而获得的分割数据可以在TDD方法的多个帧时段中,通过上行链路发送到S_SerDes 41,并且通过分割从SPI/从设备12通过SPI通信向S_SerDes 41发送的一批数据而获得的分割数据可以在TDD方法的多个帧时段中,通过下行链路发送到M_SerDes 31。
[0146] (第三实施例)
[0147] 在第三实施例中,SPI/主设备11与多个SPI/从设备12进行串行通信。
[0148] 图11是包括按照第三实施例的通信设备的通信系统2的主要部分的框图。图11描述了S_SerDes 41和多个SPI/从设备12。每个SPI/从设备12和M_SerDes 31的内部构成与图1中的相似,因此在图11中被省略。另外,图11中与图1中相同的组成部分用相同的附图标记表示。
[0149] SPI/主设备11通过使用发送到M_SerDes 31的SPI控制信息,指定要与之通信的SPI/从设备12的CSn信号。S_SerDes 41的控制器41‑1‑4激活由SPI/主设备11指定的CSn信号。图11描述了其中两个SPI/从设备12_1和12_2连接到S_SerDes 41的例子。
[0150] 在期望与SPI/从设备12_1的数据通信的情况下,SPI/主设备11将SPI控制信号中的CSn信号设定为CS1。因而,S_SerDes 41的控制器41‑1‑4使用于输出CS1信号的S_CS1引脚进入活动状态。从S_CS1引脚发送的CS1信号被输入到SPI/从设备12_1。于是,SPI/从设备12_1与从S_SerDes 41提供的S_SCK同步地接收SPI数据,并且与S_SCK同步地将SPI数据发送到S_SerDes 41。
[0151] 此外,在期望与SPI/从设备12_2的数据通信的情况下,SPI/主设备11将SPI控制信号中的CSn信号设定为CS2。因而,S_SerDes 41的控制器41‑1‑4使用于输出CS2信号的S_CS2引脚进入活动状态。从S_CS2引脚发送的CS2信号被输入到SPI/从设备12_2。于是,SPI/从设备12_2与从S_SerDes 41提供的S_SCK同步地接收SPI数据,并且与S_SCK同步地将SPI数据到S_SerDes 41。
[0152] 图11中的通信系统2描述了其中SPI/主设备11通过使用包含在SPI控制信号中的CSn信号,指定要与之通信的SPI/从设备12的例子。然而,如图12中所示,多个SPI/从设备12可以连接成菊花链。
[0153] 图12是包括按照图11的一个变形例的通信设备的通信系统2的主要部分的框图。在图12中描述了能够同时与SPI/主设备11进行串行通信的两个SPI/从设备12。然而,三个或更多的SPI/从设备12可被配置为同时与SPI/主设备11进行串行通信。
[0154] 图12中的两个SPI/从设备12_1和12_2的相应移位寄存器12‑1彼此是菊花链式连接的。与SCK同步地从SPI/从设备12_2的移位寄存器12‑1的MSB输出的数据被输入到SPI/从设备12_1的移位寄存器12‑1的LSB,并且进一步地,从MSB输出的数据通过SPI通信发送到S_SerDes 41。
[0155] 图12中的通信设备需要重复图6中的步骤S24~S26,重复的次数与SPI/从设备12的数量相同。
[0156] 于是,在第三实施例中,SPI/主设备11通过使用包含在SPI控制信息中的相应CSn信号来指定SPI/从设备12,从而可以进行与多个SPI/从设备12的双向串行通信。此外,如果多个SPI/从设备12是菊花链式连接的,则SPI/主设备11可以同时与多个SPI/从设备12进行串行通信。
[0157] 应注意的是,本技术可以具有以下构成。
[0158] (1)一种通信设备,包括:
[0159] 通信部,所述通信部通过一批数据块,在预定通信协议的一个帧时段内将与时钟同步地从主设备发送的遵守SPI(串行外围接口)的串行信号组发送到通信对方设备,或者通过按照多个帧时段分割的多个数据块,将所述串行信号组发送到所述通信对方设备。
[0160] (2)按照(1)所述的通信设备,还包括:
[0161] 存储器,所述存储器保存与所述时钟同步地从所述主设备发送的遵守SPI的第一串行信号组,并且保存与所述时钟同步地发送自从设备的遵守SPI的第二串行信号组;
[0162] 分组编码器,所述分组编码器将保存在所述存储器中的第一串行信号组转换为所述预定通信协议的第一分组;以及
[0163] 分组解码器,所述分组解码器将从所述通信对方设备接收的所述预定通信协议的第二分组转换为第二串行信号组。
[0164] (3)按照(2)所述的通信设备,其中
[0165] 第一分组包括关于所述时钟的频率信息、关于所述时钟的极性信息以及关于所述时钟相对于遵守SPI的第一串行信号组的数据信号的相位信息。
[0166] (4)按照(2)或(3)所述的通信设备,其中
[0167] 第一分组包括指示在所述一个帧时段内包括所述一批数据块的信息,或者指示包括按照所述多个帧时段分割的多个数据块的信息。
[0168] (5)按照(4)所述的通信设备,其中
[0169] 在第一分组包括所述多个数据块的情况下,第一分组包括所述数据块的总数和关于所述数据块的分割位置的信息。
[0170] (6)按照(4)或(5)所述的通信设备,其中
[0171] 第一分组包括关于所述数据块的大小的信息。
[0172] (7)按照(2)~(6)任意之一所述的通信设备,其中
[0173] 第一分组包括指示所述数据块是有效还是无效的信息。
[0174] (8)按照(2)~(7)任意之一所述的通信设备,其中
[0175] 第一分组包括指示所述从设备的重置的信息。
[0176] (9)按照(2)~(8)任意之一所述的通信设备,其中
[0177] 第二分组包括指示所述从设备的操作状态的信息和来自所述从设备的中断信息中的至少一个。
[0178] (10)按照(9)所述的通信设备,其中
[0179] 在所述中断信息包含在第二分组中的情况下,以及在第二分组本身从所述通信对方设备到达所述存储器的情况下,所述存储器确定所述从设备已请求读出所述从设备的状态,并向所述主设备发送中断信号。
[0180] (11)按照(2)~(10)任意之一所述的通信设备,其中
[0181] 第一分组包括关于从设备选择信号的信息,从设备选择信号包含在遵守SPI的第一串行信号组中,并且依据其选择所述通信对方设备或所述从设备。
[0182] (12)按照(11)所述的通信设备,其中
[0183] 所述分组编码器将第一分组发送到作为目的地,通过所述从设备选择信号选择的所述通信对方设备或从设备。
[0184] (13)按照(2)~(12)任意之一所述的通信设备,还包括:
[0185] 移位寄存器,所述移位寄存器与所述时钟同步地将包含在第一串行信号组中的每个串行信号顺序地保存在所述存储器中,并且与所述时钟同步地将包含在第二串行信号组中的每个串行信号顺序地发送到所述主设备。
[0186] (14)按照(2)~(13)任意之一所述的通信设备,其中
[0187] 所述通信部在由所述预定通信协议确定的第一定时发送第一分组,并在由所述预定通信协议确定的第二定时接收第二分组。
[0188] (15)按照(2)~(14)任意之一所述的通信设备,其中
[0189] 当从所述主设备发送的从设备选择信号从第一逻辑变为第二逻辑时,所述分组编码器确定从所述主设备的第一串行信号组的发送已完成。
[0190] (16)按照(2)~(15)任意之一所述的通信设备,其中
[0191] 所述通信部通过按照TDD(时分双工)的通信协议,向和从所述通信对方设备发送和接收第一分组和第二分组。
[0192] (17)一种通信设备,包括:
[0193] 通信部,所述通信部与基于包含在从通信对方设备提供的分组中的时钟频率信息生成的时钟同步地,通过一批数据块在预定通信协议的一个帧时段内将发送自从设备的遵守SPI的串行信号组发送到通信对方设备,或者通过按照多个帧时段分割的多个数据块,将所述串行信号组发送到所述通信对方设备。
[0194] (18)按照(17)所述的通信设备,还包括:
[0195] 分组解码器,所述分组解码器将从所述通信对方设备接收的预定通信协议的第一分组转换为遵守SPI的第一串行信号组;
[0196] 时钟生成器,所述时钟生成器基于包含在第一串行信号组中的时钟频率信息来生成所述时钟;
[0197] 存储器,所述存储器与所述时钟同步地保存第一串行信号组,并且保存与所述时钟同步地发送自从设备的遵守SPI的第二串行信号组;以及
[0198] 分组编码器,所述分组编码器将保存在所述存储器中的第二串行信号组转换为所述预定通信协议的第二分组。
[0199] (19)按照(18)所述的通信设备,其中
[0200] 第二分组包括指示包括要在第二串行信号组的一个帧时段内发送的一批数据块的信息,或者指示包括要按照多个帧时段分割地发送的多个数据块的信息。
[0201] (20)按照(18)或(19)所述的通信设备,其中
[0202] 第二分组包括指示所述从设备是否处于不能接收第一串行信号组的忙碌状态的信息,以及指示在所述从设备接收的第一串行信号组中是否包含错误的信息。
[0203] (21)按照(18)~(20)任意之一所述的通信设备,其中
[0204] 第二分组包括中断信息,所述中断信息是使主设备读出所述从设备的状态的请求。
[0205] (22)按照(18)~(21)任意之一所述的通信设备,还包括:
[0206] 移位寄存器,所述移位寄存器将包含在第二串行信号组中的每个串行信号保存在所述存储器中,并将包含在第一串行信号组中的每个串行信号发送到所述从设备。
[0207] (23)按照(18)~(22)任意之一所述的通信设备,其中
[0208] 所述通信部在由所述预定通信协议确定的第一定时发送第二分组,并在由所述预定通信协议确定的第二定时接收第一分组。
[0209] (24)按照(18)~(23)任意之一所述的通信设备,其中
[0210] 所述通信部通过按照TDD(时分双工)的通信协议,向和从所述通信对方设备发送和接收第一分组和第二分组。
[0211] (25)一种通信系统,包括:
[0212] 通过预定通信协议发送和接收分组的第一通信设备和第二通信设备,其中[0213] 第一通信设备包括第一通信部,第一通信部通过一批数据块,在预定通信协议的一个帧时段内将与时钟同步地从主设备发送的遵守SPI(串行外围接口)的第一串行信号组发送到第二通信设备,或者通过按照多个帧时段分割的多个数据块,将所述串行信号组发送到第二通信设备,并且
[0214] 第二通信设备与基于包含在从第一通信设备提供的分组中的时钟频率信息生成的时钟同步地,通过一批数据块在预定通信协议的一个帧时段内将发送自从设备的遵守SPI的第二串行信号组发送到第一通信设备,或者通过按照多个帧时段分割的多个数据块,将所述串行信号组发送到第一通信设备。
[0215] (26)按照(25)所述的通信系统,其中
[0216] 第一通信设备包括
[0217] 第一存储器,第一存储器保存与第一时钟同步地从所述主设备发送的第一串行信号组,并且保存与第一时钟同步地发送自从设备的第二串行信号组,
[0218] 第一分组编码器,第一分组编码器将保存在第一存储器中的第一串行信号组转换为所述预定通信协议的第一分组,
[0219] 第一分组解码器,第一分组解码器将从第二通信设备接收的所述预定通信协议的第二分组转换为第二串行信号组,以及
[0220] 第一通信部,第一通信部在由所述预定通信协议确定的定时发送第一分组,并在由所述预定通信协议确定的定时接收第二分组,并且
[0221] 第二通信设备包括
[0222] 第二分组解码器,第二分组解码器将接收的第一分组转换为第一串行信号组,[0223] 时钟生成器,所述时钟生成器基于包含在第一串行信号组中的时钟频率信息来生成第二时钟,
[0224] 第二存储器,第二存储器与第二时钟同步地保存第一串行信号组,并且保存与第二时钟同步地发送自从设备的第二串行信号组,
[0225] 分组编码器,所述分组编码器将保存在第二存储器中的第二串行信号组转换为第二分组,以及
[0226] 第二通信部,第二通信部在由所述预定通信协议确定的定时发送第二分组,并在由所述预定通信协议确定的定时接收第一分组。
[0227] 一种通信方法,包括:
[0228] 通信部,所述通信部通过一批数据块,在预定通信协议的一个帧时段内将与时钟同步地从主设备发送的遵守SPI的串行信号组发送到通信对方设备,或者通过按照多个帧时段分割的多个数据块,将所述串行信号组发送到所述通信对方设备。
[0229] 本公开的各个方面不限于上述实施例,还包括本领域技术人员可以想到的各种修改。本公开的效果也不限于上述公开内容。即,在从权利要求中的定义及其等同物导出的本公开的概念思想和目的内,可以进行各种添加、改变和部分删除。
[0230] [附图标记列表]
[0231] 1a:通信设备
[0232] 1b:通信设备
[0233] 2:通信系统
[0234] 11:SPI/主设备
[0235] 11‑1:顺序移位寄存器
[0236] 11‑1:移位寄存器
[0237] 11‑2:缓冲器/存储器
[0238] 11‑3:控制器
[0239] 11‑4:SCK生成器
[0240] 12:SPI/从设备
[0241] 12‑1:移位寄存器
[0242] 12‑2:缓冲器/存储器
[0243] 31:M_SerDes
[0244] 31‑1:SPI块
[0245] 31‑1‑1:移位寄存器
[0246] 31‑1‑2:缓冲器/存储器
[0247] 31‑3:分组解码器(DCP)
[0248] 31‑5:PHY层块
[0249] 32:外围设备
[0250] 41:S_SerDes
[0251] 41‑1:SPI块
[0252] 41‑1‑1:移位寄存器
[0253] 41‑1‑2:缓冲器/存储器
[0254] 41‑1‑3:SCK生成器
[0255] 41‑1‑4:控制器
[0256] 41‑2:分组编码器(ECP)
[0257] 41‑3:分组解码器(DCP)
[0258] 41‑4:链路层块(DLL)
[0259] 41‑5:PHY层块
[0260] 42:外围设备
[0261] 51:SPI分组
[0262] 52:上行链路分组
[0263] 53:SPI分组
[0264] 54:下行链路分组
[0265] 103:缆线
QQ群二维码
意见反馈