通信设备和通信系统的制作方法

专利2023-11-04  107



1.本公开涉及通信设备和通信系统。


背景技术:

2.已经提出了一种用于在主设备和从设备之间执行数据通信的情况下,在用于主设备的serdes设备和用于从设备的serdes设备之间执行串行通信的技术。
3.引用列表
4.专利文献
5.专利文献1:日本专利申请公开第2011-239011号


技术实现要素:

6.技术问题
7.在从设备接收从主设备发送的数据的情况下,从设备通常将指示接收的ack信号发送到主设备。在主设备和从设备之间设置两个serdes设备的情况下,ack信号通过这些serdes设备,因此,在从设备发送ack信号直到主设备接收到ack信号后花费相当长的时间。
8.如果主设备具有在来自从设备的ack信号到达之后才能向从设备发送新的信号的规范,则存在主设备的处理被延迟的可能性,因为需要花费时间来接收ack信号。
9.对此,本公开提供一种能够有效地执行数据通信的通信设备和通信系统。
10.问题的解决方案
11.为了实现上述目的,根据本公开,提供了一种通信设备,包括:link,基于来自第一外部设备的第一外部信号生成第一输出信号,将第一输出信号输出至第二外部设备,基于来自第二外部设备的第二外部信号生成第二输出信号,并且将第二输出信号输出至第一外部设备,其中,所述第一输出信号和所述第二外部信号中的每一个包括:命令信息,指示从第一外部设备发送的命令的内容;最终目的地设备标识信息,识别从第一外部设备发送的数据的最终目的地设备;内部地址信息,指示最终目的地设备的内部地址;数据长度信息,指示从第一外部设备发送的数据的长度;以及数据结束位置信息,指示从第一外部设备发送的数据的结束位置。
12.最终目的地设备标识信息可以紧邻着(next to,紧接着)命令信息;内部地址信息紧邻着最终目的地设备标识信息;并且数据长度信息可以紧邻着内部地址信息。
13.命令信息可以包括用于根据通信设备和第二外部设备之间的预定通信标准定义命令格式的命令格式信息。
14.命令信息可以包括数据结束确定条件信息,该数据结束确定条件信息用于指定用于确定从第一外部设备发送的数据的结束的条件。
15.第一输出信号和第二外部信号中的每一个可以进一步包括用于指定第二外部设备与最终目的地设备之间的通信频率的通信频率信息。
16.第一输出信号和第二外部信号中的每个可包括通过将i2c(集成电路间)通信的命
令协议转换成通信设备与第二外部设备之间的预定通信标准的命令而获得的命令。
17.在每次link从第一外部设备接收到构成第一外部信号的每个信息单位时,link可以向第一外部设备发送指示肯定应答的ack信号或指示否定应答的nack信号。
18.link可以包括存储单元,该存储单元存储与第一外部信号相对应的信号和与第二外部信号相对应的信号;并且在来自第一外部设备的第一外部信号的接收完成后,link可以对接收到的并存储在存储单元的第一外部信号统一进行协议转换,然后生成第一输出信号。
19.link执行的协议转换可以是与tdd(时分双工)兼容的协议转换。
20.link可以向第二外部设备发送第一输出信号,并且在从第二外部设备接收到指示对第一输出信号的处理已经完成的信息时,将指示处理完成的信号存储在存储单元中。
21.link可以基于来自第一外部设备的命令来释放存储单元的存储区域。
22.link可以响应于来自第一外部设备的请求信号,向第一外部设备输出从第二外部设备发送的第二外部信号的处理完成信息,或者向第一外部设备输出对第一外部设备执行中断处理的中断请求标志。
23.link可以自第一外部设备接收第一外部信号,该第一外部信号包括用于指示输出第一输出信号的输出指令信息和表示完成了第一外部信号的发送的发送结束信息。
24.在接收到第一值作为数据结束确定条件信息(该数据结束确定条件信息用于指定从第一外部设备发送的数据的结束的确定条件)并且然后接收到指示第一外部信号的发送结束的发送结束信息的情况下,link可以识别到从第一外部设备发送的第一外部信号已经结束。
25.在接收到第二值作为数据结束确定条件信息(该数据结束确定条件信息用于指定从第一外部设备发送的数据的结束的确定条件)并且然后接收到用于指示输出第一输出信号的输出指令信息和表示第一外部信号的发送结束的发送结束信息的情况下,link可以识别到从第一外部设备发送的第一外部信号已经结束,而不管在接收到第二值之后接收到的数据结束确定条件信息的值如何。
26.link可以向第二外部设备发送第一输出信号,然后释放存储单元的存储区域。
27.link可以以预定次数或在预定时间内执行以下各项中的至少一项:针对每个信息单位,将通过响应于基于存储在存储单元中的第二外部信号的信号对第二输出信号执行协议转换而获得的信号输出到所述第一外部设备;以及接收构成从第一外部设备输出的第一外部信号的每个信息单位。
28.根据本公开,提供了一种通信系统,包括:主serdes,包括第一link;和从serdes,包括第二link;所述第一link基于来自主serdes的第一外部信号生成第一输出信号,将所述第一输出信号输出至所述从serdes,基于来自所述从serdes的第二输出信号生成第三输出信号,并且将所述第三输出信号输出至所述主serdes;所述第二link基于来自从设备的第二外部信号生成所述第二输出信号,将所述第二输出信号输出至所述主serdes,基于来自所述主serdes的所述第一输出信号生成第四输出信号,并且将所述第四输出信号输出至所述从设备;并且所述第一输出信号、所述第二输出信号、所述第一外部信号和所述第二外部信号中的每一个包括:命令信息,指示从主设备发送的命令的内容;用于识别从设备的最终目的地设备标识信息;指示从设备的内部地址的内部地址信息;指示从所述主设备发送
的数据的长度的数据长度信息;以及指示从主设备发送的数据的结束位置的数据结束位置信息。
附图说明
29.[图1]是示出了根据实施方式的包括通信设备的通信系统的示意性配置的框图。
[0030]
[图2]是示出在通过经由通用serdes装置的主-从之间的i2c通信执行写入的情况下的数据包的写入格式的示图。
[0031]
[图3]是当主serdes执行主serdes与从serdes之间的i2c通信时的等效框图。
[0032]
[图4]为在从serdes执行从serdes与主serdes之间的i2c通信时的等效框图。
[0033]
[图5]是示出通信标准x协议的信号的帧结构的实例的示图。
[0034]
[图6]是示出了在随机写入期间的i2c通信的协议的示图。
[0035]
[图7]是示出了在主serdes与主serdes之间发送/接收的信号的示图。
[0036]
[图8]是示出存储在mem1中的表1中的数据的实例的示图。
[0037]
[图9]是示出了cmd_mode的一个字节中的每个位的含义的示图。
[0038]
[图10]是示出了以通信标准x协议传输的命令的类型和位串的示图。
[0039]
[图11]是示出根据通信标准x将随机写入命令从主serdes发送至从serdes的处理的示图。
[0040]
[图12]是示出在随机写入操作期间在mem2中的表3的实例的示图。
[0041]
[图13]是示出通过i2c通信将数据自从serdes传输至从设备的处理的示图。
[0042]
[图14]是示出根据通信协议x将对随机写入命令的响应自从serdes传输至主serdes的处理的示图。
[0043]
[图15]是示出在响应于随机写入命令释放存储区域之前的mem2的存储区域的状态的示图。
[0044]
[图16]是示出了主serdes的操作的示图。
[0045]
[图17]是示出在自从serdes接收对随机写入命令的响应数据之后,mem1中的状态表1的示图。
[0046]
[图18]是示出在主设备针对随机写入命令轮询主serdes并且读取执行结果的情况下的处理的示图。
[0047]
[图19]是示出从主设备向主serdes发送用于释放mem1的存储区域的信号作为完成随机写入操作的处理的示图。
[0048]
[图20]是示出在响应于随机写入命令释放存储区域之前在mem1中的存储的数据的示图。
[0049]
[图21]是示出了通过cmd_mode[7]=1的批量命令传输的示图。
[0050]
[图22]是跟随图21的示图。
[0051]
[图23]是示出在通过cmd_mode[7]=1的批量命令传输期间,mem1中的表1中的存储数据的细节的示图。
[0052]
[图24]是示出随机读取操作的示图。
[0053]
[图25]是示出在随机读取操作期间在mem1中的表1中的存储数据的示图。
[0054]
[图26]是示出了根据通信协议x将随机读取命令从主serdes传输至从serdes的处
理的示图。
[0055]
[图27]是示出随机读取操作期间在mem2中的表3中的存储数据的示图。
[0056]
[图28a]是示出将随机读取命令自从serdes传输至从设备的处理的示图。
[0057]
[图28b]是示出在随机读操作期间的i2c通信协议的示图。
[0058]
[图29]是示出随机读取操作之后在mem2中的表3中的存储数据的示图。
[0059]
[图30]是示出了根据通信标准x将对读取命令的响应自从serdes传输至主serdes的处理的示图。
[0060]
[图31]是示出当自从serdes接收对随机读取命令的响应时的主serdes的处理的示图。
[0061]
[图32]示出了在自从serdes接收对随机读取命令的响应数据之后,mem1中的数据的实例的示图。
[0062]
[图33]是示出在主设备针对随机读取命令轮询主serdes并且读取执行结果的情况下的处理的示图。
[0063]
[图34]是示出了在响应于随机读取命令释放存储区域之前在mem1中的表1中的存储数据的实例的示图。
[0064]
[图35a]是示出进行当前读取(current read)的情况下的处理的示图。
[0065]
[图35b]是示出在进行当前读取的情况下的i2c通信协议的示图。
[0066]
[图36]是示出了在执行当前读取的情况下mem2中的表3中的存储数据的实例的示图。
[0067]
[图37]是根据该实施方式的通信系统的等效框图。
具体实施方式
[0068]
在下文中,将参考附图描述通信设备和通信系统3的实施例。虽然下面将主要描述通信设备和通信系统3的主要组件,但是通信设备和通信系统3可以具有未示出或描述的组件或功能。以下描述不排除未示出或描述的组件或功能。
[0069]
图1是示出根据实施方式的包括通信设备1的通信系统3的示意性配置的框图。例如,图1中的通信系统3是作为adas(高级驾驶员辅助系统)的一部分的相机视频识别系统。图1中的通信系统3包括能够作为主设备21操作的ecu 4和soc 5;能够作为从设备22操作的图像传感器12和温度传感器14;主serdes 7和从serdes 13。主serdes 7和从serdes 13相互连接以能够按照规定的通信标准(以下称为“通信标准x”)进行通信。预定通信标准x的示例包括但不限于fpd-link iii和a-phy、asa。主serdes 7和从serdes 13中的每一个相当于根据本实施例的通信设备1。在本说明书中,有时将主serdes 7描述为serdes1,将从serdes 13描述为serdes2。
[0070]
主设备21和主serdes 7相互连接以便能够通过例如i2c(内部集成电路)通信进行通信。应注意,主设备21与主serdes 7之间的通信不限于i2c通信,并且可以是例如使用gpio(通用输入/输出)的通信。
[0071]
类似地,从设备22和从serdes 13彼此连接以便能够通过例如i2c通信进行通信。另外,从设备22与从serdes 13之间的通信不限于i2c通信,例如也可以是使用gpio的通信。
[0072]
ecu 4用于控制整个通信系统3并且包括i2c 4a。ecu 4从主serdes 7接收图像信
号,并且经由i2c 4a执行与主serdes 7的i2c通信。
[0073]
soc 5用于执行例如图像识别或视频处理,并且包括i2c 5a。soc 5从主serdes 7接收图像信号,并且经由i2c 5a与ecu 4和主serdes 7执行i2c通信。
[0074]
图像传感器12用于捕获图像并且包括i2c 12a和存储器19。图像传感器12将捕获的图像的图像数据输出到从serdes 13,并且经由i2c 12a与从serdes 13进行i2c通信。在本说明书中,在一些情况下,图像传感器12将被称为cis(cmos图像传感器)。存储器19能够存储通过图像传感器12捕获而获得的像素数据并且存储从主设备21传输的数据。在本说明书中,存储器19将被称为mem3。
[0075]
温度传感器14用于测量任意对象(例如,图像传感器12)的温度并且包括i2c 14a。温度传感器14经由i2c 14a与从serdes 13进行i2c通信,将测量出的温度等的温度数据发送到从serdes 13。
[0076]
主serdes 7将从主设备21接收的i2c协议的信号格式转换为通信标准x协议的信号,并将该转换后的信号发送至从serdes 13,将自从serdes 13接收的通信标准x协议的信号适当地进行格式转换,以生成i2c协议的图像数据或信号,并将该生成的图像数据或信号输出至主设备21。该主serdes 7包括link 11、正向接收机(fw.rx)9、反向发射机(rv.tx)10以及i2c 7a。
[0077]
link 11将经由i2c 7a从主设备21接收到的i2c协议的信号格式转换为通信标准x协议的信号,并经由rv.tx 10发送给从serdes 13。另外,link 11根据经由fw.rx 9自从serdes 13接收到的通信标准x协议的信号,生成图像数据并将图像数据发送到主设备21,或者生成包含图像数据以外的信息的i2c协议的信号,并经由i2c 7a将信号输出到主设备21。
[0078]
从serdes 13将自从设备22接收到的i2c协议的信号或图像信号格式转换为通信标准x协议的信号,并将转换的信号发送到主serdes 7,将从主serdes 7接收到的通信标准x协议的信号适当地格式转换为i2c协议的信号并将转换的信号输出到从设备22。该从serdes 13包括i2c 13a、link 17、正向发射机(fw.tx)16、反向接收机(rv.rx)15以及i2c 13a。
[0079]
link 17将经由i2c 13a自从设备22接收的i2c协议的信号或图像数据格式转换为通信标准x协议的信号,并且经由fw.tx16将转换后的信号发送至主serdes 7。此外,link 17将经由rv.rx15从主serdes 7接收的通信标准x协议的信号转换为i2c标准的信号,并且经由i2c 13a将转换后的信号发送至从设备22。此时,存在发生以下1)和2)问题的可能性。
[0080]
1)在构成主设备21的ecu 4或soc 5通过i2c通信控制构成从设备22的图像传感器12或温度传感器14的情况下,每当传输诸如一个字节的信息单位时,主设备21需要从从设备22接收ack信号或nack信号。此时,在一些情况下,经由主serdes 7和从serdes 13的i2c通信的传播延迟通常比i2c通信的一个时钟的周期(一个时钟的频率为400khz、1mhz等)大。在这种情况下,主serdes 7将i2c协议信号的时钟(scl)保持为低电平,直到自从serdes 13接收到来自从设备22的ack信号或nack信号,i2c协议转换结束,主serdes 7准备经由i2c 7a向主设备21输出ack信号或nack信号。主serdes 7在准备向主设备21输出由从设备22发送的ack信号或nack信号之后,主serdes 7释放i2c协议信号的时钟(scl)的保持的低电平。结果,主设备21能够恢复i2c通信并接收ack信号或nack信号。虽然主serdes 7将scl保持在
低电平,但是主设备21不能执行i2c通信。因此,会发生这样的问题,需要花费时间传输命令或者不能执行与连接到i2c总线的另一从设备22(例如,在来自图像传感器12的ack信号或nack信号等待的情况下的温度传感器14)通信。
[0081]
图2示出了在通过i2c通信经由主serdes 7和从serdes 13从主机i2c(例如,主设备21)执行对远程i2c(例如,从设备22)的写入的情况下的i2c通信。这里,主机i2c的scl低部分指示scl被保持在低电平,直到主serdes 7对自从设备22输出的ack信号或nack信号准备好,并且主机i2c在该时间期间不能执行i2c通信。
[0082]
2)进一步地,有利的是,不仅图像传感器12和温度传感器14而且各种装置均可作为从设备22连接至从serdes 13。存在各种从设备22具有不同的i2c操作时钟的可能性。因此,假设从serdes 13与各种从设备22进行i2c通信,在一些情况下,将从设备22的i2c操作时钟(从设备22与从serdes 13之间的i2c通信的操作时钟)设定得比需要的低。
[0083]
在图2中,如上所述,在从设备22的i2c操作时钟频率被设置为低于需要的频率的情况下,这意味着远程i2c的i2c操作部分(除了图2中的远程i2c侧的scl低部分之外的部分)变得更长,这进一步增加了完成i2c通信所需的时间以及主机i2c侧的scl低部分变得更长的问题。
[0084]
为了解决上述1),在图1的通信系统3中,主serdes 7设置有存储装置(图1中的存储器11a),在主serdes 7从主设备21接收一个字节的情况下,将该一个字节存储在存储装置中,并且代替从设备22将ack信号或nack信号返回至主设备21。因此,可以缩短由主设备21扩展的scl低的时段。
[0085]
进一步地,为了解决上述2),在图1的通信系统3中,主设备21设置下面描述的clk_value(data[0]),并且从设备22以由clk_value(data[0])指定的频率与从serdes 13执行i2c通信。因此,从设备22和从serdes 13可实现指定频率的i2c通信。
[0086]
图1中的link 11包括i2c cmd单元8和存储器11a。i2c cmd单元8将表2存储在rom(省略图示)中并且存储器11a存储表1。存储器11a是易失性存储器。在本说明书中,在某些情况下,存储器11a被称为mem1。在每次link 11经由i2c 7a从主设备21接收到一个字节时,该link 11将该一个字节写入存储器11a的表1,代替从设备22向主设备21返回ack信号或nack信号,在满足预定条件(例如,数据写入到数据结束)的情况下,读取表1,并且经由rv.tx 10将读取的数据发送到从serdes 13。此外,link 11将经由fw.rx从从serdes 13接收的信号写入存储器11a的表1,在满足预定条件(例如,写入数据直至数据结束)的情况下读取表1,并且经由i2c 7a与主设备21进行i2c通信,或者将通过图像传感器12拍摄而获得的并同时经由fw.rx9从从serdes 13接收的图像数据发送至主设备21。
[0087]
图1中的link 17包括i2c cmd单元18和存储器17a。i2c cmd单元18将表2存储在rom(省略图示)中,并且存储器17a存储表3。在本说明书中,在某些情况下,存储器17a被称为mem2。link 17将经由rv.rx 15从主serdes 7接收的信号写入存储器17a的表3中,在满足预定条件(例如,写入数据直至数据结束)的情况下读取表3,并且经由i2c 13a将读取的信号发送至从设备22。另外,在经由i2c 13a与从设备22进行i2c通信以经由i2c 13a从温度传感器14接收转换为i2c协议的信号或者温度数据的情况下,link 17将所接收到的信号、温度数据写入到存储器17a的表3中,在满足预定条件(例如,写入数据到数据结束)的情况下,读取表3,并经由fw.tx16将读取的信号或温度数据发送给主serdes 7。
[0088]
图3是图1中的通信系统3的主serdes 7在主设备21与从serdes 13之间进行i2c通信时的等效框图。在图3中,主serdes 7用作通信设备1,主设备21用作第一外部设备,并且从serdes 13用作第二外部设备。
[0089]
图3中的通信设备1(主serdes 7)基于来自第一外部设备(主设备21)的第一外部信号生成第一输出信号,并且将生成的第一输出信号输出至第二外部设备(从serdes 13)。此外,通信设备1(主serdes 7)基于来自第二外部设备(从serdes 13)的第二外部信号生成第二输出信号,并且将生成的第二输出信号输出至第一外部设备(主设备21)。
[0090]
图4为在图1中的通信系统3的从serdes 13在从设备22与主serdes7之间进行i2c通信时的等效框图。在图4中,从serdes 13用作通信设备1,从设备22用作第一外部设备,并且主serdes 7用作第二外部设备。
[0091]
图4中的通信设备1(从serdes 13)基于来自第一外部设备(从设备22)的第一外部信号生成第一输出信号,并且将生成的第一输出信号输出至第二外部设备(主serdes 7)。此外,通信设备1(从serdes 13)基于来自第二外部设备(主serdes 7)的第二外部信号生成第二输出信号,并且将生成的第二输出信号输出至第一外部设备(从设备22)。
[0092]
图3和图4中的第一输出信号和第二外部信号中的每个包括指示从第一外部设备发送的命令的内容的命令信息cmd_mode、用于识别从第一外部设备发送的数据的最终目的地设备的最终目的地设备标识信息slave_adr、最终目的地设备的内部地址信息sub_adr、从第一外部设备发送的数据的数据长度信息length、以及从第一外部设备发送的数据结束位置信息end of data。
[0093]
slave_adr可以紧邻于cmd_mode,sub_adr可以紧邻于slave_adr,并且length可以紧邻于sub_adr。
[0094]
cmd_mode可以包括用于定义根据通信标准x的命令格式的命令格式信息cmd_mode[2:0],其包括识别写入命令和读取命令的功能。即,cmd_mode可以包括用于根据通信设备1与第二外部设备之间的预定通信标准定义命令格式的cmd_mode[2:0]。
[0095]
cmd_mode可以至少包括cmd_mode[0]至cmd_mode[7],并且数据结束确定条件信息cmd_mode[7]可以指定用于从第一外部设备发送的数据的结束的确定条件。
[0096]
第一输出信号和第二外部信号中的每个可以进一步包括用于指定第二外部设备与最终目的地设备之间的通信频率的通信频率信息clk_value。
[0097]
第一输出信号和第二外部信号中的每个可以包括通过将i2c(内部集成电路)通信的命令协议转换成通信设备与第二外部设备之间的预定通信标准的命令而获得的命令。
[0098]
在每次相应的link从第一外部设备接收到构成第一外部信号的每个信息单位时,link 11和17可以向第一外部设备发送指示肯定应答的ack信号或指示否定应答的nack信号。
[0099]
link 11和17可以各自包括存储单元,该存储单元存储与第一外部信号相对应的信号和与第二外部信号相对应的信号。
[0100]
link 11和17各自可以在完成从第一外部设备接收第一外部信号的情况下,对已经接收并存储在存储单元中的第一外部信号统一执行协议转换,然后生成第一输出信号。
[0101]
link 11和17执行的协议转换可以是与tdd(时分双工)兼容的协议转换。
[0102]
link 11和17可以各自将第一输出信号发送到第二外部设备,并且当从第二外部
设备接收到指示对第一输出信号的处理已经完成的信息时,将指示该处理完成的信号存储在存储单元中。
[0103]
link 11和17可以各自基于来自第一外部设备的命令来释放存储单元的存储区域。
[0104]
link 11和17可以各自响应于来自第一外部设备的请求信号向第一外部设备输出对从第二外部设备发送的第二外部信号的处理完成信息,或者向第一外部设备输出用于对第一外部设备执行中断处理的中断请求标志。
[0105]
link 11和17可以各自从第一外部设备接收第一外部信号,第一外部信号包括用于指示第一输出信号的输出的输出指令信息cmd_done和表示第一外部信号的发送结束的发送结束信息p(停止条件)。
[0106]
link 11和17也可以在接收到作为用于指定对从第一外部设备发送的数据的结束进行确定的条件的数据结束确定条件信息的第一值且然后接收到表示完成了第一外部信号的发送的发送结束信息p(停止条件)的情况下,识别出从第一外部设备发送的第一外部信号已结束。
[0107]
link 11和17可以各自在接收到作为用于指定从第一外部设备发送的数据的结束的条件的数据结束确定条件信息的第二值以及然后接收到指示第一输出信号的输出的输出指令信息以及表示第一外部信号的发送结束的发送结束信息之后,识别出从第一外部设备发送的所述第一外部信号已经结束,而不管在接收所述第二值之后接收到的数据结束确定条件信息的值如何。
[0108]
link 11和17可以各自将第一输出信号发送至第二外部设备,然后释放存储单元的存储区域。
[0109]
link 11和17可以各自对针对每个信息单位通过响应于基于存储在存储单元中的第二外部信号的信号而对第二输出信号执行协议转换所获得的信号的输出到第一外部设备、以及接收构成从第一外部设备输出的第一外部信号的每个信息单位中的至少一者,执行预定次数或在预定时间内执行。
[0110]
图5为示出在主serdes 7与从serdes 13之间传输/接收的通信标准x协议的信号的帧结构的实例的示图。
[0111]
图5中的帧结构包括在sync(同步)模式与奇偶校验之间的多个容器。sync模式是用于使主serdes 7和从serdes 13的物理层同步的信号模式。多个容器包括例如大约2至100个容器。根据信号传输状态,包括在帧结构中的容器的数量改变。奇偶校验是用于错误检测或错误校正处理的位或位串。
[0112]
容器的结构包括报头、有效载荷、以及奇偶校验。报头包括指示有效载荷的传输目的地的地址信息等。有效载荷是要发送/接收的信号的主体。除了视频信号之外,有效载荷还包括用于serdes控制的oam(操作、管理、维护)。奇偶校验是用于有效载荷的错误检测或错误校正处理的位或位串。
[0113]
有效载荷包括clk值、cmd_mode、slave adr、length、数据data以及end of data的各种信息。clk值指示从设备22的操作时钟,即,从serdes13用于与从设备22进行i2c通信的scl频率。cmd_mode指示从主设备21发送的命令的内容。slave adr是用于识别从设备22的地址信息。长度表示从主设备21发送的数据的长度。end of data是从主设备21发送的数据
的结束位置。
[0114]
注意,在cmd_mode被扩展到两个字节的情况下,cmd_mode的前一个字节可以被分配给cmd_id。cmd_id是用于区分和识别从主设备21发送的命令的识别信息。
[0115]
在通过tdd方法在主设备21与从设备22之间执行数据通信的情况下,在一个tdd周期中从主设备21至从设备22的信号rv的信号比和从从设备22至主设备21的信号fw的信号比可以通过改变包括在各个帧结构中的容器的数量而改变。注意,信号rv和信号fw可以具有相同或不同的容器大小。
[0116]
接下来,将描述从主设备21到从设备22执行随机写入的情况。在主设备21对从设备22执行随机写入的情况下,主设备21通过i2c通信向主serdes 7发送命令集。当执行随机写入时的i2c通信的协议在图6中示出。根据该协议,主设备21将命令集发送给主serdes 7。
[0117]
图7为示出在主设备21与主serdes 7之间发送/接收的信号的示图。在本说明书中,从主设备21到主serdes 7的i2c协议的信号被称为m i2c协议(m2serdes)。如图7所示,m i2c协议包括s(开始条件)、serdes1st_adr、w、mem1sub_adr、mem1sub_adr、i2c设置clk、cmd_mode、最终对象slave adr、最终对象sub adrh、最终对象sub adrl、data lengthh、data lengthl、datax2和p(停止条件)。下面将描述这些信息的细节。
[0118]
从主设备21传输的i2c协议中的数据存储在主serdes 7的mem1中的表1中。图8是示出存储在mem1中的表1中的数据的实例的示图。对于每个数据,表示i2c设置时钟clk的设置值的clk_value存储在由m i2c协议发送的sub_adr表示的mem1的地址中,并且随后由m i2c协议发送的数据存储在mem1的地址中,分别递增。clk_value是1字节的信息,表示上述scl频率,从设备22以clk_value所指定的操作频率与从serdes 13进行i2c通信。
[0119]
sub_adr[1]的cmd_mode是一个字节的信息,表示主serdes 7从主设备21接收的命令的内容。图9是示出cmd_mode的一个字节中的每个位的含义的示图。cmd_mode的一个字节的低三位[2:0]根据位串的值指示以下信息。000指示写入命令的传输格式。001指示读取命令的传输格式。010指示ack/nack信号的传输格式。011指示读取或响应的传输格式。1xx指示特殊命令的传输格式,并且操作由在cmd_mode之后发送的一个字节的数据的值确定。在本实施例中,通过写入指示如下所述的被定义为特殊命令的cmd_done的0xff,指示如下所述执行cmd_done的批量传输。
[0120]
在cmd_mode[3]是0的情况下,其指示随机位置。例如,在从设备22是图像传感器12的情况下,其指示对图像传感器12中的mem3的任意sub_adr或温度传感器14中的存储器的任意sub_adr的(随机)访问。
[0121]
在cmd_mode[3]是1的情况下,其指示当前位置。即,其表示对写入或读取存储器的最后的sub_adr+1的“顺序”访问,例如,当在目标从设备22是图像传感器12的情况下对图像传感器12中的mem3最终写入或读取的sub_adr由“m”表示时,“m+1”。
[0122]
cmd_mode[4]被保留,此时不再指定。
[0123]
在cmd_mode[6]是0的情况下,其表示正常。在cmd_mode[6]是1的情况下,其表示重试。此时,指示从设备22在从serdes 13接收到来自从设备22的nack信号的情况下,重传写或读命令集。
[0124]
在cmd_mode[7]是0的情况下,其指示接收到end of data的结束确定p(停止条件)的情况下,指示确定从主设备21发送的i2c协议的信号已经结束。在cmd_mode[7]是1的情况
下,其指示利用end of data和cmd_done来确定结束。更具体地说,其指示在接收到cmd_done之后接收到p(停止条件)的情况下,确定从主设备21发送的i2c协议的信号已经结束。
[0125]
图8中的表1中的sub_adr[2]的slave adr是一个字节的信息,其指示待写入或读取的从设备22的地址(例如,在图像传感器12的情况下为0x02)。
[0126]
sub_adr[3]的sub_adrh是地址的上位一个字节的信息,其指示访问了图像传感器12中的存储器19(mem3)的哪个sub_adr或者访问了温度传感器14中的存储器20的哪个sub_adr。
[0127]
sub_adr[4]的sub_adrl是该地址的下位一个字节的信息,其指示图像传感器12中的存储器19(mem3)的哪个sub_adr被访问或者温度传感器14中的存储器20的哪个sub_adr被访问。
[0128]
sub_adr[5]的lengthh是wdata的数据长度(data[n-2:7])的上位一个字节的信息。sub_adr[6]的lengthl为wdata(data[n-2:7])的数据长度的下位一个字节的信息。
[0129]
sub_adr[n-2:7]的wdata是待写入从设备22的数据或者待从从设备22读取的数据。对于sub_adr的每个位存储一个字节的数据。
[0130]
在从主设备21接收p(停止条件)的情况下,0x9f被写入sub_adr[n-1]的end of data。作为默认值,已经写入诸如0x00的初始值。
[0131]
图10是示出根据通信标准x协议传输的i2c命令的类型和位串的示图。在图10中,ack是肯定应答并且表示处理已经正常完成。nack是否定应答并且指示处理没有被正常完成。
[0132]
repeated_start是指示i2c协议的信号继续的开始标志。具体而言,相当于图6所示的i2c组合形式的sr。这是之前发出的标志,在开始从主设备21到主serdes 7的i2c通信(开始s(开始条件))并且然后在未结束i2c通信(未发出p(停止条件))时开始下一i2c通信的情况下,开始下一i2c通信。
[0133]
根据通信标准x协议传输的i2c命令中的数据结束指示p(停止条件)。在cmd_mode[7]=0的情况下,表示从s(开始条件)到p(停止条件)的i2c协议的信号被发送到从serdes 13。
[0134]
根据通信标准x协议传输的i2c命令中的cmd_done是cmd_mode[7]=1并且下一数据为oxff的情况下的特殊命令。cmd_done是用于指示将一个或多个组发送到从serdes 13的信息,一组是从s(开始条件)到p(停止条件)的i2c协议的信号。
[0135]
根据通信标准x协议传输的i2c命令中的rsv_command被保留并且此时不被指定。i2c命令中的数据表示要写入从设备22的数据或者要从设备22读取的数据。
[0136]
虽然根据通信标准x协议传输的i2c命令由8位表示的实例已在图10中示出,但是本公开不限于此,并且i2c命令可由9位或更多位表示。例如,在i2c命令由九位表示的情况下,通过在i2c协议的信号是“data”时将msb侧的一位设置为“0”,并且在i2c协议的信号是“data”以外时将msb侧的一位设置为“1”,可以容易地确定i2c协议的信号是“data”还是其他。
[0137]
在本说明书中,每个设备的地址作为实例被分配如下,作为图1中的通信系统3中的主设备21和从设备22之间的数据通信的前提条件。ecu 4的地址是0x00,soc 5的地址是0x01,主serdes 7的地址是0x10,从serdes 13的地址是0x11,图像传感器12的地址是0x02,
温度传感器14的地址是0x03。
[0138]
在本说明书中,将i2c协议的信号从主设备21传输至主serdes 7被称为m i2c协议(m2serdes)(步骤s1)。如图7所示,m i2c协议(m2serdes)中的s(开始条件)表示从主设备21到从设备22的i2c协议信号的开始。i2c协议指定“s”、“s1_adr”、“w(写入)或r(读取)”和“sub_adr”按顺序发送。
[0139]
serdes1st_adr(sl_adr(0x10))意指将作为主serdes 7的地址的0x10指定为地址。w表示写入命令。
[0140]
mem1 sub_adr(sub_adr(0x00))指示指定“0x00”作为存储器11a的sub_adr的高位。
[0141]
mem1 sub_adr(sub_adr(0x00))是用于将“0x00”指定为存储器11a的sub_adr的低位的信息。即,其指示主设备21指定访问存储器11a的“0x0000”。
[0142]
i2c设置clk(data(0x04))指示指定“0x04(400khz)”作为clk_value。
[0143]
cmd_mode(data(0x00))指示指定cmd_mode[7:0]=0x00。
[0144]
最后的slave adr(data(0x02))指示指定“0x02”作为目标从设备22的地址。因为它是“0x02”,所以它指示主设备21已经选择了图像传感器12。
[0145]
最终对象sub_adrh(data(0x00))指示指定“0x00”作为图像传感器12中的mem3(最终访问)的sub_adr的高位。
[0146]
最终对象sub_adrl(data(0x00))指示将“0x00”指定为图像传感器12中的mem3的sub_adr(最终被访问)的较低位。即,其指示主设备21已经指定访问mem3的“0x0000”。
[0147]
data lengthh(data(0x00))指示指定“0x00”作为表示后续数据的数据长度的值的高位。
[0148]
data lengthl(data(0x10))表示指定“0x10”作为表示后续数据的数据长度的值的低位。即,length[15:0]=0x0010,其指示主设备21已经指定16个字节。
[0149]
(data
×
2):传输16字节的数据。
[0150]
p(停止条件)指示阐明从主设备21到从设备22的i2c协议的信号已经结束。
[0151]
与从主设备21到主serdes 7的m i2c协议的数据发送并行地,主serdes 7开始将存储在图8所示的存储器11a中的表1的信息发送到从serdes 13并且根据s i2c协议(serdes2m)将ack信号发送到主设备21(步骤s1)。每当主serdes 7从主设备21接收到构成i2c协议的信号的每个字节时,主serdes 7向主设备21返回ack信号。
[0152]
对于主设备21,由主serdes 7扩展的scl低时段可以被缩短,因为ack信号被立即返回。然而,scl低时段具有下限并且不能被设置为零。这是因为scl低表示scl(i2c时钟信号)为低的时段并且如果scl低小于下限则该scl不能用作i2c时钟信号。
[0153]
主serdes 7将基于从主设备21到主serdes 7的i2c协议的信号的信号(即,从主设备21传输至主serdes 7的i2c协议信号)写入图8中的表1中。例如,主serdes 7将下列数据转换信息写入图8中的表1中。这将被称为mem1(保存i2c命令封包)(步骤s2)。
[0154]
关于(data)clk_value(0x04),“0x04(400khz)”被写为clk_value。关于(data)cmd_mode(0x00),写入cmd_mode[7:0]=0x00。关于(data)sl_adr(0x02),“0x02”被写为目标从设备22的地址。因为它是“0x02”,所以已经选择了图像传感器12。关于(data)sub_adrh(0x00),“0x00”被写为图像传感器12中的mem3(最终被访问)的sub_adr的高位。关于(data)
sub_adrl(0x00),“0x00”被写为图像传感器12中的mem3(最终被访问)的sub_adr的低位。关于(data)lengthh(0x00),“0x00”被写为表示后续数据的数据长度的值的高位。关于(data)lengthl(0x10),“0x10”被写为表示后续数据的数据长度的值的低位。例如,长度[15:0]=0x0010,并且是16个字节被写入。关于(data)wdata
×
2,写入16字节的数据。关于数据的结束,写入“0x9f”。
[0155]
图11是接着图7的示图,示出了根据通信标准x从主serdes 7向从serdes 13传输随机写入命令的处理。图11中的s i2c协议(sedes2m)和mem1(保存i2c命令封包)(步骤s1和s2)与在图7中描述的那些相同。
[0156]
主serdes 7读取图8中的表1的数据,将所读取的数据协议转换成通信标准x协议的信号,并且将所获得的信号经由phy正向信道上的封装i2c(取决于每个phy规范)传输至从serdes 13(步骤s3)。
[0157]
在cmd_mode=0x00的情况下,cmd_mode[7]=0,其指示“确定每个end of data的结束”。因此,在接收“end of data(0x9f)”时,主serdes 7的link 11将“end of data(0x9f)”写入图8中的表1,读取图8中的表1,并且将读取的数据经由rv.tx 10发送至从serdes 13。
[0158]
在cmd_mode=0x80的情况下,当写入end of data和cmd_done时,mem1中的数据(图8中的表1)被统一进行i2c命令转换,并且经由rv.tx10传输至从serdes 13。
[0159]
从serdes 13从接收到的通信标准x协议的信号中提取i2c命令封包,并将提取的i2c命令封包写入mem2中的表3中。在图11中,这称为mem2(保存i2c命令封包)(步骤s4)。图12是示出在随机写入操作期间mem2中的表3的实例的示图。与图8中的表1具有相同内容的信息被写入表3中。
[0160]
从serdes 13对接收到的反向链路的数据进行协议转换,在mem2中恢复原先存储的存储器的数据。从serdes 13通过数据的结束恢复确定i2c命令封包的恢复结束。
[0161]
图13是跟随图11的示图,并且示出了通过i2c通信将数据从从serdes13传输至从设备22的处理。图11中的mem2(保存i2c命令封包)(步骤s4)是图11中所描述的存储器。
[0162]
在将数据的结束写入图12所示的mem2中的表3时,从serdes 13读取表3,将读取的数据格式转换为i2c协议的信号,并且根据m i2c协议(sedes2slave)经由i2c 13a将获取的信号传输至从设备22(步骤s5)。
[0163]
关于(data)cmd_mode(0x00),发布s(开始条件),并且根据发布下一个sl_adr之后的cmd_mode[0]的值生成w(写入)命令或r(读取)命令。
[0164]
(data)sl_adr(0x02)指示指定“0x02”作为上述s1_adr。因为它是“0x02”,所以已经选择了图像传感器12。(data)sub_adrh(0x00)指示指定“0x00”作为图像传感器12中的mem3(最终被访问)的地址的高位。(data)sub_adrl(0x00)指示指定“0x00”作为图像传感器12中的mem3(最终被访问)的地址的低位。(data)wdata
×
2表示16字节的数据。
[0165]
从设备22根据s i2c协议(slave2serdes),依次向从serdes 13返回表示信号被正常接收的ack信号(步骤s5)。
[0166]
应注意,当从serdes 13通过i2c通信将数据传输至从设备22时,与图12中相似的信息存储在mem2中的表3中。
[0167]
在cmd_mode[6]=0并且从从设备22返回的所有信号是ack信号的情况下并且在所
有信号包括一个或多个nack信号的情况下,从serdes13将ack和nack分别写入表3的sub_adr=n。
[0168]
在cmd_mode[6]=1并且从从设备22返回的所有信号是ack信号的情况下,从serdes 13将ack写入表3的sub_adr=n,并且在所有信号包括一个或多个nack信号的情况下,执行重写。在第二次也接收到nack信号的情况下,从serdes 13将nack写入表3的sub_adr=n。图15示出了在响应于随机写入命令释放存储区域之前的mem2的存储区域状态,其中,在完成从serdes 13与从设备22之间的i2c通信之后已经将ack或nack写入sub_adr=n。
[0169]
作为生成要写入mem2中的表3的sub_adr=n的ack或nack的方法,例如,可以采用从设备22返回的ack信号和nack信号的逻辑积。
[0170]
图14是跟随图13的示图,并且示出了根据通信协议x将对随机写入命令的响应从从serdes 13发送至主serdes 7的处理。图14(步骤s5)中的s i2c协议(slave2serdes)是图13中所述的协议。
[0171]
从serdes 13将与从设备22的i2c通信的结果协议转换为通信标准x协议的信号,并将得到的信号通过phy正向信道上的封装i2c(取决于各phy规范)传输至主serdes 7(步骤s6)。在将ack或nack写入mem2中的表3的sub_adr=n时,从serdes 13读取表3(从sub_adr的0到n)并且将必要信息(在sub_adr为2的情况下为data[7:0],并且在本实施例中为n,在cmd_mode被扩展为两个字节的情况下还包括cmd_id)传输至主serdes 7。在完成传输之后,从serdes 13释放在图15中所示的mem2的存储区域。
[0172]
这里,由于mem1和mem2占据相同的存储器区域(sub_adr=0至n-1),所以从serdes 13知道接下来要写入存储器1的sub_adr(在mem2中为空,并且已经写入ack/nack)。进一步,从serdes 13理解到在从serdes 13自身对从设备22进行写入的情况下,需要将2个字节(进行了i2c通信的slave adr以及i2c通信的结果)返回给主serdes 7。
[0173]
图16是图14之后的示图,示出了主serdes 7的操作。图16中的phy(取决于每个phy规范)正向信道上的封装i2c(步骤s6)是图14中描述的一个。主serdes 7从自从serdes 13接收的通信标准x协议的信号中提取i2c命令封包,并将提取的i2c命令封包写入mem1中的表1的sub_adr的n~n+9中。
[0174]
图17是示出在从从serdes接收用于随机写入命令的响应数据之后,mem1中的表1的示图。由图14中的从serdes 13中的i2c cmd单元生成的i2c命令封包存储在表1的sub_adr的n至n+6以及n+9中。此外,mem2中的sub_adr(2)的slave adr和已经读取和转移的sub_adr(n)的ack或nack的内容存储在图17中的表1的sub_adr的n+7和n+8中。
[0175]
图18是示出在主设备21针对随机写入命令轮询主serdes 7并读取执行结果的情况下的处理的示图。主设备21根据m i2c协议(m2serdes)向serdes1轮询请求命令结果(步骤s7)。主设备21轮询表1中的sub_adr=n+9并且在其是0x9f的情况下,读取sub_adr=n+8以确定其是否是ack/nack。
[0176]
例如,在已经完成对请求主serdes 7的从设备22的16字节写入的情况下,可以读取end of data(0x9f)和作为其结果的ack(0x81)。注意,虽然在该实例中通过读取一个字节来指示end of data的结果以确定轮询,并且通过再次读取一个字节来读取ack或nack,但是可以通过一次读取两个字节来确定轮询结果和与从设备22的i2c通信的结果。如果返回nack,则从设备22能够通过读取sub_adr(n+7)的slave adr来检查该nack是否由相应的
从设备22发送。
[0177]
图17是示出了mem1中存储的数据的实例的示图。由于主设备21本身已经向主serdes 7发出写入命令,所以主设备21知道主serdes 7的mem1的接入点。类似地,由于主serdes 7本身将数据存储在mem1中,所以主serdes 7知道mem1的接入点。例如,在已经对从设备22执行写入并且响应是2b的情况下,报头是7字节+2b字节+eod(1字节)=10字节并且下一个sub_adr是n+10=34。
[0178]
图19是示出了将用于释放mem1的存储区域的信号从主设备21传输至主serdes 7作为完成随机写入操作的处理的示图。图20是示出在响应于随机写入命令释放存储区域之前在mem1中存储的数据的示图。主设备21执行m i2c协议处理、s i2c协议处理以及mem1(保存i2c命令封包)处理,读取表1的sub_adr=n+8,并且在是ack的情况下,将清除clear写入如图20所示的mem1中的表1的sub_adr=n+10(步骤s8)。在写入该clear的情况下,主serdes 7释放存储器1中的表1的存储器区域。
[0179]
在将0xff写入mem1内的sub_adr(n+10)的情况下,主serdes 7释放已经使用的mem1的存储区域,作为完成请求命令的处理。可替代地,可以根据用于初始化由主设备21使用的存储区域的写命令来释放mem1的存储区域。
[0180]
图21至图23各自是示出i2c命令批量传输操作的示图。图21和图22均为示出通过cmd_mode[7]=1的批量命令传输的示图。图23是示出在通过cmd_mode[7]=1的批量命令传输期间,mem1中的表1的存储数据的细节的示图。i2c命令批量传输操作是在cmd_mode[2:0]=000和cmd_mode[7]=1的情况下的写入操作。具体地,示出了主设备21将八个字节的数据统一地写到图像传感器12(sl_adr=0x02)和温度传感器14(sl_adr=0x03)的情况。
[0181]
图21中的块b1指示对图像传感器12的八个字节的数据的写入操作(s1_adr=0x02),并且块b2指示对温度传感器14的八个字节的数据的写入操作(s1_adr=0x03)。块b3通过cmd_done和p(停止条件)来指示批量操作的结束。
[0182]
更具体地,如图21和图22所示,作为b1的操作,主设备21发出用于请求主serdes 7首先根据m i2c协议(m2serdes)执行与从设备22的i2c通信的命令(步骤s11)。当从主设备21接收到数据时,主serdes 7根据s i2c协议在自身的定时返回ack(步骤s11)。
[0183]
由于该请求命令指示cmd_mode[2:0]=000和cmd_mode[7]=1的i2c命令批量操作,所以即使end of data被存储在mem1中,也不开始到从serdes 13的传输。b2的后续操作与b1的操作相同,只是slave_adr是温度传感器14(sl_adr=0x03)。
[0184]
最后b3指示其是具有cmd_code[2]=1的特殊码,并且后续data指示特殊码。在该实例中,通过连续接收表示命令结束和停止条件的特殊cmd_done(0xff)(步骤s12),主serdes 7将存储在mem1中的接收数据(图23)作为i2c命令批量传输一起发送给从serdes 13。
[0185]
注意,在本实施例中,在主设备21已设置cmd_mode[7]=1的情况下,cmd_mode[7]=0不能被设置,直到0xff被写入之后的cmd_done。
[0186]
图24至图34分别示出了随机读取操作(在cmd_mode[3:0]=0001和[7]=0的情况下的读取操作)。随机读取操作在以下几点与随机写入操作有很大不同。
[0187]
在读取操作中,如图24至图27所示,主设备21首先将读取请求写入主serdes 7(图24和图25),并且主serdes 7将该读取请求写入从serdes13(图26和图27)。
[0188]
此后,如图28a和图29的步骤s25中的m i2c协议(sedes2slave)的处理所示,通过“s”、“sl_adr”、“w”和“sub_adr”执行处理目标为图像传感器12的mem3的写入,然后,通过“sr”、“sl_adr”和“r”从处理目标进行读取。
[0189]
在下文中,将基于图24至图34按顺序描述随机读取的处理过程。图24示出了将i2c命令封包从主设备21传输至主serdes 7的过程。首先,如图24的步骤s21中所示,执行m i2c协议(m2serdes)的处理。这里,主设备21发出用于请求主serdes 7与从设备22进行i2c通信的命令。从主设备21发送的命令集包括serdes1st_adr、mem1 sub_adr、mem1 sub_adr、i2c设置clk、cmd_mode、最终对象slave adr、最终对象sub_adrh、最终对象sub_adr、data lengthh、data lengthl和p(停止条件)。
[0190]
每次从主设备21接收到信息单位时,主serdes 7根据s i2c协议(serdes2m)将ack信号返回至主设备21(步骤s21)。此外,主serdes7将所接收的i2c命令封包存储在mem1中(步骤s22)。如图25所示,mem1存储(数据)clk_value、(数据)cmd_mode、(数据)s1_adr、(数据)sub_adrh、(数据)sub_adrl、(数据)长度length、(数据)lengthl以及end of data。
[0191]
图26为跟随图24的示图,并且示出了根据通信协议x将随机读取命令从主serdes 7传输至从serdes 13的处理。主serdes 7通过phy(根据每个phy规范)正向信道上的封装i2c协议转换mem1中的数据,并将转换后的数据发送给从serdes 13(步骤s23)。更具体地,在通过cmd_mode=0x00将end of data存储在mem1中的情况下,mem1中的多条数据被统一进行i2c命令转换并且通过预留链路传输至从serdes 13。同时,在通过cmd_mode=0x10将end of data存储在mem1中并且写入cmd_done的情况下,mem1中的多条数据被统一进行i2c命令转换并且通过预留链路传输至从serdes 13。从serdes 13协议转换所接收到的预留链路的数据,并将mem1原有的存储数据存储在mem2中(步骤s24)。在end of data恢复时,从serdes 13确定i2c命令封包恢复完成。图27是示出mem2中存储的数据的实例的示图。
[0192]
图28a是接着图26的示图,示出了将随机读取命令从从serdes 13传输至从设备22的处理。从serdes 13根据m i2c协议(serdes2slave)向从设备22发送i2c命令封包(步骤s25)。从设备22根据s i2c协议(slave2serdes)向从serdes13返回各接收的信息单位的ack信号,并从sub_adrh和sub_adrl指定的地址开始依次向从serdes 13发送rdata。如图29所示,从serdes 13针对每个字节向从设备22发送指示已经接收到rdata的ack信号,并将来自从设备22的rdata存储在mem2中。
[0193]
可以看出,在图28b所示的随机读取操作期间,图28a中的从serdes13和从设备22根据符合i2c通信协议的协议彼此通信。
[0194]
图30为接着图28的示图,并且示出了根据通信标准x将读取命令从从serdes 13返回至主serdes 7的处理。从serdes 13通过phy(根据每个phy规范)正向信道上的封装i2c发送rdata(步骤s26)。具体而言,从serdes 13将与从设备22的i2c通信的结果(rdata,ack)+end of data进行转换,并将获得数据通过正向链路发送到主serdes 7。图29示出了在随机读取操作之后mem2中的表3的存储数据。
[0195]
图31为在图30之后的示图,并且示出了当从serdes 13接收到对随机读取命令的响应时的主serdes7的处理。主serdes 7协议转换所接收的正向链路的数据并且将所接收的包括与从设备22的i2c通信的结果(ack/nack)的数据存储在mem1中。图32示出了在从从serdes 13接收到对随机读取命令的响应数据之后,mem1中的数据的实例的示图。
[0196]
图33是示出在主设备21向主serdes 7轮询随机读取命令并且读取执行结果的情况下的处理的示图。主设备21根据m i2c协议(m2serdes)向主serdes 7轮询请求命令结果(步骤s27)。主设备21在自身的定时向主设备21返回ack,而不等待从设备22侧的ack(步骤s27)。
[0197]
在由主设备21请求主serdes 7的“读取16字节至从设备22”的结果已经完成的情况下,可以读取end of data(0x9f)和作为其结果的ack(0x81)。如果数据end of data的结果不是0x9f,则继续轮询。虽然在该实例中通过读取一个字节来参考end of data的结果以确定轮询并且通过17字节读取来再次读取rdata(16字节)+ack/nack,但是可以通过一次读取18字节来确定轮询结果和与从设备22的i2c通信的结果。如果结果是nack,则主设备21能够通过读取sub_adr(15)的slave adr来检查是否由对应的从设备22发送nack。
[0198]
图34是示出了响应于随机读取命令释放存储区域之前的mem1中的表1的存储数据的实例的示图。关于从从设备22读取16字节,因为报头(7字节)+sl_adr(1字节+rdata(16字节)+a(1字节)+end of data(1字节))=26字节,所以下一个sub_adr是n=34,因为使用sub_adr=8~33。
[0199]
图19是示出将用于释放mem1的存储区域的信号从主设备21传输至主serdes 7作为完成随机读取操作的处理的示图。主设备21根据m i2c协议(m2serdes)完成请求命令结果的读取,并且发出主serdes 7的清除处理命令(步骤s28)。在向mem1 sub_adr(n)写入0xff的情况下,主serdes 7可以释放已经使用的mem1的区域,作为完成请求命令的处理。可替代地,主设备21可以发出用于初始化由主设备21使用的存储器区域的写命令。
[0200]
图34是示出mem1中的表1的存储数据的实例的示图。clear被写到sub_adr(n)。图35a是示出进行当前读取的情况下的处理的示图。图35b是示出在进行当前读取的情况下的i2c协议的示图。图36是示出了在执行当前读取的情况下mem2中的表3的存储数据的实例的示图。
[0201]
虽然在图28a中描述了从serdes 13对从设备22执行随机读取的处理,但是当如图35a所示首先访问从设备22中的mem3时,需要始终执行随机读取,但是可以在第二时间和随后的时间执行当前读取。
[0202]
当end of data或者end of data和cmd_done被写入mem2时,从serdes13将写入到mem2的数据进行i2c协议转换,并与从设备22进行i2c通信。在执行当前读取的情况下(在cmd_mode[3:0]=1001的情况下),未使用图36中所示的mem2中的sub_adrh和sub_adrl。因此,从从serdes13发送到从设备22的i2c命令协议减少了2个字节。
[0203]
可见,图35a所示的从serdes 13和从设备22根据符合图35b所示的i2c通信协议的协议进行通信。
[0204]
如上所述,在本实施例中,在主设备21与从设备22之间进行数据通信,并且主设备21与从设备22之间设置有主serdes 7和从serdes 13的情况下,当主serdes 7接收到主设备21发送给从设备22的命令时,主serdes 7通过自身的确定将ack返回给主设备21,而无需等待来自从设备22的ack。结果,主设备21能够快速接收ack并且在接收ack之后快速执行处理。即,主设备21能够缩短在接收ack之前延长时钟的时段,并且可以提高主设备21的处理效率。
[0205]
图37是根据该实施方式的通信系统3的等效框图。在图37中的通信系统3中,在对
应于主设备21的第一外部设备与对应于从设备22的第二外部设备之间进行数据通信的情况下,主serdes 7和从serdes 13设置在主设备21与从设备22之间以中继主设备21与从设备22之间的数据通信。主serdes 7包括第一link(link 11)。从serdes 13包括第二link(link 17)。第一link根据来自主设备21的第一外部信号生成第一输出信号,并将所生成的第一输出信号输出至从serdes 13,根据来自从serdes 13的第二输出信号生成第三输出信号,并将所生成的第三输出信号输出至主设备21。第二link基于来自从设备22的第二外部信号生成第二输出信号,将生成的第二输出信号输出到主serdes 7,基于来自主serdes 7的第一输出信号生成第四输出信号,将生成的第四输出信号输出到从设备。
[0206]
第一输出信号、第二输出信号、第一外部信号和第二外部信号中的每个包括指示从主设备21发送的命令的内容的cmd_mode、用于识别从设备22的slave_adr、从设备22的内部地址信息sub_adr、从主设备21发送的数据的数据长度length、从主设备21发送的数据的结束位置end of data。
[0207]
通过配置如图37所示的通信系统3,可以高速执行主设备21与从设备22之间的数据通信。
[0208]
主serdes 7和从serdes 13之间可以通过tdd方法或fdd(频分双工)等进行高速的数据通信。
[0209]
应注意的是,本技术可以采取以下配置。
[0210]
(1)一种通信设备,包括:
[0211]
link,基于来自第一外部设备的第一外部信号生成第一输出信号,将第一输出信号输出至第二外部设备,基于来自第二外部设备的第二外部信号生成第二输出信号,并且将第二输出信号输出至第一外部设备,其中,
[0212]
第一输出信号和第二外部信号中的每一个包括:
[0213]
指示从第一外部设备发送的命令的内容的命令信息;
[0214]
最终目的地设备标识信息,用于识别从第一外部设备发送的数据的最终目的地设备;
[0215]
指示最终目的地设备的内部地址的内部地址信息;
[0216]
指示从第一外部设备传输的数据的长度的数据长度信息;并且
[0217]
指示从第一外部设备发送的数据的结束位置的数据结束位置信息。
[0218]
(2)根据(1)所述的通信设备,其中,
[0219]
最终目的地设备标识信息紧邻于命令信息,内部地址信息紧邻于最终目的地设备标识信息;并且数据长度信息紧邻于内部地址信息。
[0220]
(3)根据(1)或(2)所述的通信设备,其中,
[0221]
命令信息包括用于根据通信设备和第二外部设备之间的预定通信标准定义命令格式的命令格式信息。
[0222]
(4)根据(1)至(3)中任一项所述的通信设备,其中,
[0223]
命令信息包括数据结束确定条件信息,数据结束确定条件信息用于指定用于确定从第一外部设备发送的数据的结束的条件。
[0224]
(5)根据(1)至(4)中任一项所述的通信设备,其中,
[0225]
第一输出信号和第二外部信号中的每个进一步包括用于指定第二外部设备与最
终目的地设备之间的通信频率的通信频率信息。
[0226]
(6)根据(1)至(5)中任一项所述的通信设备,其中,
[0227]
第一输出信号和第二外部信号中的每个包括通过将i2c(内部集成电路)通信的命令协议转换为通信设备和第二外部设备之间的预定通信标准的命令所获得的命令。
[0228]
(7)根据(1)至(6)中任一项所述的通信设备,其中,
[0229]
在每次link接收到构成来自第一外部设备的第一外部信号的各信息单位时,link向第一外部设备发送指示肯定应答的ack信号或指示否定应答的nack信号。
[0230]
(8)根据(1)至(7)中任一项所述的通信设备,其中,
[0231]
link包括存储单元,存储单元存储与第一外部信号对应的信号和与第二外部信号对应的信号;并且
[0232]
在来自第一外部设备的第一外部信号的接收完成后,link对接收到并存储在存储单元的第一外部信号统一进行协议转换并然后生成第一输出信号。
[0233]
(9)根据(8)所述的通信设备,其中,
[0234]
link进行的协议转换是与tdd(时分双工)兼容的协议转换。
[0235]
(10)根据(8)或(9)所述的通信设备,其中,
[0236]
link向第二外部设备发送第一输出信号,并在从第二外部设备接收到指示对第一输出信号的处理完成的信息时,将指示处理完成的信号存储在存储单元中。
[0237]
(11)根据(8)至(10)中任一项所述的通信设备,其中,
[0238]
link根据来自第一外部设备的命令释放存储单元的存储区域。
[0239]
(12)根据(1)至(11)中任一项所述的通信设备,其中,
[0240]
响应于来自第一外部设备的请求信号,link将从第二外部设备发送的第二外部信号的处理完成信息输出到第一外部设备,或者对第一外部设备进行中断处理,并输出至第一外部设备。
[0241]
(13)根据(1)至(12)中任一项所述的通信设备,其中,
[0242]
link从第一外部设备接收第一外部信号,该第一外部信号包括用于指示输出第一输出信号的输出指令信息和指示第一外部信号发送结束的发送结束信息。
[0243]
(14)根据(1)至(13)中任一项所述的通信设备,其中,
[0244]
在接收到第一值作为指定从第一外部设备发送的数据的结束的确定条件的数据结束确定条件信息且然后接收到指示第一外部信号的发送结束的发送结束信息时,link识别出第一外部设备发送的第一外部信号已结束。
[0245]
(15)根据(1)至(14)中任一项所述的通信设备,其中,
[0246]
在接收到第二值作为用于指定从第一外部设备发送的数据的结束的确定条件的数据结束确定条件信息并然后接收到用于指示第一输出信号的输出的输出指令信息和表示第一外部信号的发送结束的发送结束信息时,link识别出从第一外部设备发送的第一外部信号已经结束,而不管在接收到第二值之后接收到的数据结束确定条件信息的值如何。
[0247]
(16)根据(8)或(9)所述的通信设备,其中,
[0248]
link将第一输出信号发送给第二外部设备,然后释放存储单元的存储区域。
[0249]
(17)根据(8)至(11)或(16)所述的通信设备,其中,
[0250]
link以预定次数或在预定时间内执行以下中的至少一者:
[0251]
针对每个信息单位,将通过响应于基于存储在存储单元中的第二外部信号的信号对第二输出信号执行协议转换而获得的信号输出到第一外部设备;并且
[0252]
接收从第一外部设备输出的构成第一外部信号的每个信息单位。
[0253]
(18)一种通信系统,包括:
[0254]
主serdes,包括第一link;和
[0255]
从serdes,包括第二link;
[0256]
第一link基于来自主设备的第一外部信号生成第一输出信号,将第一输出信号输出至从serdes,基于来自从serdes的第二输出信号生成第三输出信号,并且将第三输出信号输出至主设备;
[0257]
第二link基于来自从设备的第二外部信号生成第二输出信号,将第二输出信号输出至主serdes,基于来自主serdes的第一输出信号生成第四输出信号,并且将第四输出信号输出至从设备;并且
[0258]
第一输出信号、第二输出信号、第一外部信号和第二外部信号中的每一个包括:
[0259]
指示从主设备发送的命令的内容的命令信息;
[0260]
用于识别从设备的最终目的地设备标识信息;
[0261]
指示从设备的内部地址的内部地址信息;
[0262]
指示从主设备传输的数据的长度的数据长度信息;并且
[0263]
指示从主设备发送的数据的结束位置的数据结束位置信息。
[0264]
本公开的各方面不限于上述各个的实施例,并且包括本领域技术人员可以想到的各种修改,并且本公开的效果也不限于上述内容。即,在不背离从在权利要求及其等同物中规定的内容获得的本公开的概念构思和实质的情况下,各种添加、修改、以及部分删除是可能的。
[0265]
参考标号列表
[0266]
1通信设备,3通信系统,4ecu,4a i2c,5soc,5a i2c,7主serdes,8i2c cmd单元,9fw.rx,10rv.tx,11link,11a存储器,12图像传感器,12a i2c,13从serdes,14温度传感器,17link,19存储器,20存储器,21主设备,22从设备。

技术特征:
1.一种通信设备,包括:link,基于来自第一外部设备的第一外部信号生成第一输出信号,将所述第一输出信号输出至第二外部设备,基于来自所述第二外部设备的第二外部信号生成第二输出信号,并且将所述第二输出信号输出至所述第一外部设备;其中,所述第一输出信号和所述第二外部信号中的每一个包括:命令信息,指示从所述第一外部设备发送的命令的内容;最终目的地设备标识信息,识别从所述第一外部设备发送的数据的最终目的地设备;内部地址信息,指示所述最终目的地设备的内部地址;数据长度信息,指示从所述第一外部设备发送的所述数据的长度;以及数据结束位置信息,指示从所述第一外部设备发送的所述数据的结束位置。2.根据权利要求1所述的通信设备,其中,所述最终目的地设备标识信息紧邻于所述命令信息,所述内部地址信息紧邻于所述最终目的地设备标识信息;并且所述数据长度信息紧邻于所述内部地址信息。3.根据权利要求1所述的通信设备,其中,所述命令信息包括用于根据所述通信设备和所述第二外部设备之间的预定通信标准定义命令格式的命令格式信息。4.根据权利要求1所述的通信设备,其中,所述命令信息包括数据结束确定条件信息,所述数据结束确定条件信息指定从所述第一外部设备发送的所述数据的结束的确定条件。5.根据权利要求1所述的通信设备,其中,所述第一输出信号和所述第二外部信号中的每个进一步包括通信频率信息,所述通信频率信息指定所述第二外部设备与所述最终目的地设备之间的通信频率。6.根据权利要求1所述的通信设备,其中,第一输出信号和第二外部信号中的每个包括通过将i2c(内部集成电路)通信的命令协议转换为所述通信设备和啊啊第二外部设备之间的预定通信标准的命令所获得的命令。7.根据权利要求1所述的通信设备,其中,在每次所述link接收到构成来自所述第一外部设备的所述第一外部信号的各信息单位时,link向所述第一外部设备发送指示肯定应答的ack信号或指示否定应答的nack信号。8.根据权利要求1所述的通信设备,其中,所述link包括存储单元,所述存储单元存储与所述第一外部信号对应的信号和与所述第二外部信号对应的信号;并且在来自所述第一外部设备的所述第一外部信号的接收完成后,所述link将接收到的并存储在所述存储单元的所述第一外部信号统一进行协议转换并然后生成所述第一输出信号。9.根据权利要求8所述的通信设备,其中,所述link进行的协议转换是与tdd(时分双工)兼容的协议转换。10.根据权利要求8所述的通信设备,其中,所述link向所述第二外部设备发送所述第一输出信号,并在从所述第二外部设备接收
到指示对所述第一输出信号的处理完成的信息时,将指示所述处理完成的信号存储在所述存储单元中。11.根据权利要求8所述的通信设备,其中,所述link根据来自所述第一外部设备的命令释放所述存储单元的存储区域。12.根据权利要求1所述的通信设备,其中,响应于来自所述第一外部设备的请求信号,所述link向所述第一外部设备输出来自所述第二外部设备的所述第二外部信号的处理完成信息,或向所述第一外部设备输出用于对所述第一外部设备进行中断处理的中断请求标志。13.根据权利要求1所述的通信设备,其中,所述link从所述第一外部设备接收所述第一外部信号,所述第一外部信号包括用于指示输出所述第一输出信号的输出指令信息和表示所述第一外部信号的发送结束的发送结束信息。14.根据权利要求1所述的通信设备,其中,在接收到第一值作为指定从所述第一外部设备发送的所述数据的结束的确定条件的数据结束确定条件信息且然后接收到所述第一外部信号的发送结束的发送结束信息时,所述link识别出从所述第一外部设备发送的所述第一外部信号已结束。15.根据权利要求1所述的通信设备,其中,在接收到第二值作为用于指定从所述第一外部设备发送的所述数据的结束的确定条件的数据结束确定条件信息,并然后接收到用于指示所述第一输出信号的输出的输出指令信息和表示所述第一外部信号的发送结束的发送结束信息时,所述link识别出从所述第一外部设备发送的所述第一外部信号已经结束,而不管在接收到上述第二值之后接收到的所述数据结束确定条件信息的值如何。16.根据权利要求8所述的通信设备,其中,所述link将所述第一输出信号发送给所述第二外部设备,然后释放所述存储单元的存储区域。17.根据权利要求8所述的通信设备,其中,所述link以预定次数或在预定时间内执行以下中的至少一者:针对每个信息单位,将通过响应于基于存储在所述存储单元中的所述第二外部信号的信号对所述第二输出信号执行协议转换所获得的信号输出到所述第一外部设备;并且接收构成从所述第一外部设备输出的所述第一外部信号的每个信息单位。18.一种通信系统,包括:主serdes,包括第一link;和从serdes,包括第二link;其中,所述第一link基于来自主设备的第一外部信号生成第一输出信号,将所述第一输出信号输出至所述从serdes,基于来自所述从serdes的第二输出信号生成第三输出信号,并且将所述第三输出信号输出至所述主设备;所述第二link基于来自从设备的第二外部信号生成所述第二输出信号,将所述第二输出信号输出至所述主serdes,基于来自所述主serdes的所述第一输出信号生成第四输出信号,并且将所述第四输出信号输出至所述从设备;并且
所述第一输出信号、所述第二输出信号、所述第一外部信号和所述第二外部信号中的每一个包括:命令信息,指示从所述主设备发送的命令的内容;最终目的地设备标识信息,识别所述从设备;内部地址信息,指示所述从设备的内部地址;数据长度信息,指示从所述主设备发送的数据的长度;以及数据结束位置信息,指示从所述主设备发送的所述数据的结束位置。

技术总结
[问题]为了有效地执行数据通信。[解决方案]一种通信设备包括:LINK,基于来自第一外部设备的第一外部信号生成第一输出信号,将第一输出信号输出至第二外部设备;基于来自第二外部设备的第二外部信号生成第二输出信号,并且将第二输出信号输出至第一外部设备。第一输出信号和第二外部信号中的每一个包括指示从第一外部设备发送的命令的内容的命令信息;最终目的地设备标识信息,识别从第一外部设备发送的数据的最终目的地设备;内部地址信息,指示最终目的地设备的内部地址;数据长度信息,指示从第一外部设备发送的数据的长度;以及数据结束位置信息,指示从第一外部设备发送的数据的结束位置。的结束位置。的结束位置。


技术研发人员:平间孝廉 山田顺也 高桥宏雄 百代俊久
受保护的技术使用者:索尼半导体解决方案公司
技术研发日:2021.03.11
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-6151.html

最新回复(0)