一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

通信装置和通信系统的制作方法

2023-02-06 12:00:46 来源:中国专利 TAG:


1.本公开涉及通信装置和通信系统。


背景技术:

2.已经提出了一种在主设备与从设备之间进行数据通信的情况下,在主设备用serdes装置与从设备用serdes装置之间进行串行通信的技术。
3.现有技术文献
4.专利文献
5.专利文献1:日本专利申请公开号2011-239011


技术实现要素:

6.本发明要解决的问题
7.在从设备接收到从主设备发送来的数据的情况下,一般将表示接收到数据的ack信号从从设备发送至主设备。然而,在两个serdes装置配置在主设备与从设备之间的情况下,由于ack信号通过这些serdes装置,因此,从该从设备发送ack信号到主设备接收ack信号花费相当长的时间。
8.在主设备从从设备接收到ack信号之前不能向从设备发送新的信号的规定的情况下,由于ack信号的接收需要花费时间,所以主设备的处理有可能延迟。
9.因此,本公开提供一种能够高效地执行数据通信的通信装置和通信系统。
10.问题的解决方案
11.为了解决上述问题,根据本公开,提供了一种通信装置,包括:
12.link,用于将来自主设备的信号进行协议转换后输出给从serdes,将来自从serdes的信号进行协议转换后输出给主设备;
13.在从主设备向从serdes发送信号时,link能够从第一模式和第二模式中选择一个模式,
14.在第一模式中,link重复进行如下处理,
15.以从主设备发送的1字节信号为单位,将从所述主设备发送的1字节信号转换成第一通信标准的信号,将转换后的信号发送至从serdes,然后,接收包括表示肯定应答的ack信号或表示否定应答的nack信号的第一通信标准的信号,将接收到的信号转换成第二通信标准的信号,并且将转换后的信号发送至所述主设备,以及
16.在第二模式下,link
17.每当逐字节接收从主设备发送的多字节信号时,将包括ack信号或nack信号的信号发送至主设备,
18.对从主设备接收到的多字节信号完成转换后,统一发送给从serdes,
19.然后,从该从serdes接收包括ack信号或nack信号的第一通信标准的信号;并且
20.然后,响应于来自所述主设备的读出请求,将第一通信标准的信号转换成第二通
信标准的信号,并且将转换后的信号发送至主设备,并且
21.发送给从serdes的信号包括指示从主设备发送的内容的命令信息,发送给主设备的信号包括指示从该从serdes发送的内容的命令信息。
22.在第一模式下发送给从serdes的信号的字节数可以是两个字节或三个字节,不包括时钟频率信息和纠错码。
23.在第一模式下,link可以
24.当从主设备接收到包括开始条件的信号时,转换到第一状态,
25.当转换到第一状态时,将开始条件转换为第一通信标准的信号并将转换后的信号发送给从serdes,
26.然后,在link处于第一状态时,当从主设备接收到包括1字节的最终目的地设备的地址信息的信号时,转换到第二状态,并将来自主设备的时钟保持为低电平,
27.在第二状态下,将包括地址信息的信号转换为所述第一通信标准的信号,并将转换后的信号发送给从serdes,
28.然后,当在link处于第二状态时从该从serdes接收到的包括ack信号或nack信号的信号时,在包括该地址信息的信号的特定位为第一位值的情况下,识别写入并转换至第三状态,以及
29.在第三状态下,将从serdes接收到的包括ack信号或nack信号的信号转换成第二通信标准的信号并将转换后的信号发送给主设备,然后解除对来自主设备的时钟的低电平的保持。
30.在第一模式中,link可以
31.当在link处于第三状态时从主单元接收到包括1字节写入数据的信号时,转换到第四状态,
32.在第四状态下,将所接收的信号转换为第一通信标准的信号并将转换后的信号发送至从serdes,以及
33.然后,在link处于第四状态时,从该从serdes接收到包括ack信号或nack信号的信号时,将接收到的信号转换成第二通信标准的信号并发送给主设备。
34.在第一模式中,link可以
35.在link处于第二状态或第四状态的同时,在预定时间段内未从该从serdes接收到包括ack信号或nack信号的信号的情况下,转换到第五状态,以及
36.在第五状态下执行错误处理。
37.在第一模式中,link可以
38.当从主设备接收到包括开始条件或重新开始条件的信号时,转换到第一状态,
39.在转换到所述第一状态后,将所接收的包括开始条件或重新开始条件的信号转换成所述第一通信标准的信号,并将转换后的信号发送给所述从serdes,
40.然后,当link处于第一状态时,在从主设备接收到1字节的包括最终目的地设备的地址信息的信号时,转换到第二状态,并保持来自主设备的时钟为低电平,
41.在第二状态下,将包括地址信息的信号转换为所述第一通信标准的信号,并将转换后的信号发送给从serdes,
42.然后,当在link处于第二状态中时在从该从serdes接收到包括ack信号或nack信
号的信号时,在包括地址信息的信号的特定位为第二位值的情况下,识别读取并转换到第六状态,以及
43.在第六状态下,将从该从serdes接收到的包括ack信号或nack信号的信号转换为第二通信标准的信号,并将转换后的信号发送给主设备,然后解除对来自主设备的时钟的低电平的保持。
44.在第一模式中,link可以
45.在link处于第六状态时,在从该从serdes接收到包括1字节读出数据的信号时,转换到第七状态,
46.在第七状态下,将所接收的信号转换成第二通信标准的信号并将转换后的信号发送给主设备,以及
47.然后,当link处于第七状态时,在从主设备接收到包括ack信号或nack信号的信号后,转换到第六状态,并将接收到的信号转换为第一通信标准的信号,并将转后的信号发送给从serdes。
48.在第一模式下,link可以
49.在link处于第六状态时,在预定时间段内未从该从serdes接收到读出数据的情况下,转换到第八状态,
50.在link处于第七状态时,当在预定时段内未从主设备接收到ack信号或nack信号的情况下,转换到第八状态,以及
51.通过在第八状态中执行错误处理,避免包括通信装置、主设备以及从serdes的整个系统的死锁。
52.在第二模式中,link可以
53.从自主设备接收包括开始条件的信号到自主设备接收包括停止条件的信号期间,保持接收信号,并且针对接收信号的每个字节将包括ack信号或nack信号的信号发送到主设备,
54.将接收信号转换为第一通信标准的信号,并将转换后的信号发送给所述从serdes,以及
55.从serdes接收包括ack信号或nack信号的信号并对接收到的信号进行保持,然后,响应于来自所述主设备的读出请求,将来自从serdes的信号转换为第二通信标准的信号,并将转换后的信号发送给主设备。
56.命令信息可以包括以下中的至少一个:
57.用于选择第一模式或第二模式的第一信息,
58.第二信息,指示在选择了所述第一模式的情况下选择从serdes或所述通信装置是否根据所述从serdes或所述通信装置自身的判断来生成用于发送和接收数据的时钟信号,或者是否明确指定由所述从serdes或所述通信装置使用的时钟信号,
59.第三信息,指示在选择了所述第一模式的情况下是否包括要写入或读取的数据,
60.第四信息,指示在选择了所述第一模式的情况下是否已接收到所述nack信号,
61.第五信息,指示在选择了所述第一模式的情况下是否已接收到所述ack信号,
62.第六信息,指示选择了第一模式被选择的情况下是否包括指示停止信息传输的停止条件,以及
63.第七信息,指示在选择了所述第一模式的情况下是否包括指示开始信息传输的开始条件或指示重新开始信息传输的重复开始条件的。
64.在第一模式下,link可以在向从serdes发送包括第七信息的信号之中,向从serdes发送包括最终目的地设备的地址信息的信号。
65.在第一模式下,link可以将通过合并第七信息和最终目的地设备的地址信息获得的信号发送给从serdes。
66.去往从serdes的信号和去往主设备的信号中的每一者除命令信息之外还可包括纠错码、数据、时钟频率信息和指示待发送和接收的命令的类型的信息中的至少一者。
67.去往从serdes的信号可包括以下至少一个:
68.最终目的地地址信息,用于识别从所述主设备发送的所述信号的最终目的地设备,
69.最终目的地设备的子地址信息,以及
70.指示从主设备发送的数据的长度的数据长度信息。
71.命令信息在选择第二模式的情况下,可以包括在第一通信标准中定义的命令格式信息,并且
72.所述命令格式信息可以包括错误命令格式。
73.命令信息在选择第二模式的情况下,可以包括数据结束确定条件信息,该数据结束确定条件信息指定从主设备发送的信号的结束确定的条件。
74.去往从serdes的信号和来自从serdes的信号可包括通过执行集成电路间(i2c)通信的命令协议转换为第一通信标准而获得的命令。
75.link的协议转换可以是时分双工(tdd)的协议转换。
76.本发明提供了一种通信装置,包括:
77.link,被配置为对来自主serdes的信号进行协议转换,并将转换后的信号输出给从设备,将来自从设备的信号进行协议转换,并将转换后的信号输出给主serdes,其中,
78.link在将来自主serdes的信号向从设备发送时,能够选择第一模式和第二模式中的一个模式,
79.在第一模式下,link重复以下处理,
80.当接收到从所述主serdes发送的第一通信标准的信号时,以所述接收信号为单位,将接收信号转换成第二通信标准的信号,并将转换后的信号发送给所述从设备,然后接收包括表示肯定应答的ack信号或表示否定应答的nack信号的所述第二通信标准的信号,并将接收信号转换成所述第一通信标准的信号,并将转换后的信号发送给所述主serdes,
81.在第二模式下,link
82.当接收到从所述主serdes发送的第一通信标准的多字节信号时,将接收到的信号转换成所述第二通信标准的信号,并逐字节地将转换后的信号发送给所述从设备,以及
83.每当将转换后的信号逐字节地发送至从设备时,接收来自从设备的包括ack信号或nack信号的第二通信标准的信号并进行保持,以及
84.在将来自主serdes的信号从设备发送完成之后,将与所保持的信号对应的第一通信标准的信号发送至所述主serdes,以及
85.来自主serdes的信号包括指示从主serdes发送的内容的命令信息,来自从设备的
信号包括指示从该从设备发送的内容的命令信息。
86.本发明提供了一种通信系统,包括:
87.主serdes,具有第一link;以及
88.从serdes,具有第二link的,其中,
89.所述第一link在将来自从主设备的信号向从serdes发送时,能够选择第一模式和第二模式中的一个模式,
90.在第一模式下,第一link重复以下处理:
91.以从所述主设备发送的1字节信号为单位,将从主设备发送的1字节的信号转换为第一通信标准的信号,并将转换后的信号发送给从serdes,然后,接收包括指示肯定应答的ack信号或指示否定应答的nack信号的第一通信标准的信号,并将所接收的信号转换为第二通信标准的信号,并将转换后的信号发送至主设备,
92.在第二模式中,第一link
93.每当逐字节接收从主设备发送的多字节的信号时,将包括ack信号或nack信号的信号发送至主设备,
94.对从主设备接收到的多字节信号完成转换后,将转换后的信号统一发送至从serdes,
95.然后,从该从serdes接收包括ack信号或nack信号的第一通信标准的信号,并进行保持;并且
96.然后,响应于来自所述主设备的读出请求,将所述第一通信标准的信号转换成所述第二通信标准的信号,并且将转换后的信号发送至所述主设备,并且
97.发送给从serdes的信号包括表示从主设备发送的内容的命令信息,发送给主设备的信号包括指示从该从serdes发送的内容的命令信息,并且
98.所述第二link将来自主serdes的信号向从设备发送时,能够选择第一模式和第二模式中的一个模式,
99.在第一模式中,第二link重复以下处理:
100.当接收到从所述主serdes发送的所述第一通信标准的信号之后,以接收信号为单位转换为第二通信标准的信号,并将转换后的信号发送给从设备,然后接收包括表示肯定应答的ack信号或表示否定应答的nack信号的所述第二通信标准的信号,并将接收信号转换为所述第一通信标准的信号并发送给所述主serdes,
101.在第二模式下,第二link
102.当接收到从主serdes发送的第一通信标准的多字节信号时,将接收到的信号转换成第二通信标准的信号,并逐字节地将转换后的信号发送给从设备,
103.每当将转换后的信号逐字节地发生至从设备时,接收来自从设备的包括ack信号或nack信号的第二通信标准的信号并进行保持,以及
104.在将来自从所述主serdes的信号箱所述从设备发送完成之后,将与保持的信号对应的第一通信标准的信号发生至所述主serdes,以及
105.来自主serdes的信号包括指示从主serdes发送的内容的命令信息,来自从设备的信号包括指示从设备发送的内容的命令信息。
附图说明
106.图1是示出包括根据实施方式的通信装置的通信系统的示意性配置的框图。
107.图2是图1的通信系统的进一步体现的通信系统的框图。
108.图3是示出了在经由通用serdes装置在主设备与从设备之间通过i2c通信执行写入的情况下的分组的写入格式的示图。
109.图4为主serdes在主设备与从serdes之间进行i2c通信时的等效框图。
110.图5为从serdes进行从设备与主serdes之间的i2c通信时的等效框图。
111.图6为示出根据通信标准x协议的信号的帧结构的实例的示图。
112.图7是示出在随机写入时的i2c通信的协议的示图。
113.图8是在主设备和从设备之间以fdd方式进行i2c通信的时序图。
114.图9a是tdd方式下的批量i2c模式的时序图。
115.图9b是tdd方式下字节i2c模式的时序图。
116.图10a是示出批量i2c模式下的cmd_mode的实例的示图。
117.图10b是示出字节i2c模式中的cmd_mode的实例的示图。
118.图11a是示出当选择批量i2c模式时通过i2c通信发送和接收的命令格式的第一示例的示图。
119.图11b是示出当选择批量i2c模式时通过i2c通信发送和接收的命令格式的第二实例的示图。
120.图11c是示出在选择批量i2c模式时通过i2c通信发送和接收的命令格式的第三实例的示图。
121.图11d是用于描述计算图11c的第三实例中的数据的结束的位置的方法的示图。
122.图11e是示出当选择字节i2c模式时的命令格式的第一实例的示图。
123.图11f是示出了当选择字节i2c模式时的命令格式的第二实例的示图。
124.图12是示出要在通信标准x协议上传输的命令的类型和位串的示图。
125.图13a为示出在字节i2c模式下发送条件信息和从serdes自动生成时钟clk数的指令的情况下的cmd_mode的设置实例的示图.
126.图13b为示出在字节i2c模式下发送数据和从serdes自动生成时钟clk的数量的指令的情况下的cmd_mode的设置实例的示图;
127.图14a是示出在字节i2c模式下发送条件信息、数据以及从serdes生成的时钟clk的数量的指定的情况下的cmd_mode的设置实例1的示图。
128.图14b为示出在字节i2c模式下发送条件信息、数据以及从serdes生成的时钟clk的数量的指定的情况下的cmd_mode的设置实例2的示图。
129.图15a是示出在字节i2c模式下发送ack和数据的实例的示图。
130.图15b是示出在字节i2c模式下发送nack和stop命令的实例的示图。
131.图16是示出了在发生错误的情况下的cmd_mode的设置实例的示图。
132.图17为节点1的主serdes和节点2的从serdes的状态转换图。
133.图18是字节i2c模式下从serdes自动生成时钟clk的数量的基本写入模型的时序图。
134.图19是作为图18的写入操作1的变形例的写入操作2的时序图。
135.图20是用于在字节i2c模式下指定时钟clk的数量的基本写入操作3的时序图。
136.图21是作为图20的写入操作3的变形例的写入操作4的时序图。
137.图22是在i2c模式下从serdes自动生成时钟clk的数量的基本读取模型的时序图。
138.图23是作为图22的读取操作1的变形例的读取操作2的时序图。
139.图24是在不存在子地址的情况下的读取操作3的时序图。
140.图25是字节i2c模式中的err操作1的时序图。
141.图26是字节i2c模式中的err操作2的时序图。
142.图27为示出在批量i2c模式下在主设备与主serdes之间发送和接收的信号的示图。
143.图28是示出以批量i2c模式保存mem1中的表1中的数据的实例的示图。
144.图29为示出以批量i2c模式从serdes向从serdes根据通信标准x发送随机写入命令的处理的示图。
145.图30是示出在批量i2c模式下进行随机写入操作时的mem2中的表3的实例的示图。
146.图31为示出了在批量i2c模式下从serdes和从设备通过i2c通信发送和接收数据的处理的示图;
147.图32为示出了在批量i2c模式下从该从serdes向主serde使用通信协议x进行对随机写入命令的回复处理的示图;
148.图33是示出在批量i2c模式下对随机写入命令的存储区域释放之前的mem2的存储区域状态的示图。
149.图34为示出了在批量i2c模式下的主serdes的操作的示图;
150.图35为示出了在批量i2c模式下从该从serdes接收到针对随机写入命令的应答数据之后mem1中的状态表1的示图。
151.图36为示出在批量i2c模式下主设备对主serdes进行随机写入命令的轮询并且读取执行结果的情况下的处理的示图。
152.图37为示出在批量i2c模式下主设备对主serdes释放mem1的存储区域作为随机写入操作终止处理的信号的传输的示图。
153.图38是示出在批量i2c模式下对随机写入命令的存储区域释放之前的mem1中保存的数据的示图。
154.图39为示出了在批量i2c模式下以cmd_mode[7]=1进行批量命令传输的示图。
[0155]
图40是接续图39的示图。
[0156]
图41是示出了在批量i2c模式下以cmd_mode[7]=1进行批量命令传输时以mem1为单位的表1的保存数据的细节的示图。
[0157]
图42是示出批量i2c模式下的随机读取操作的示图。
[0158]
图43是示出在批量i2c模式下的随机读取操作时的mem1中的表1的保存数据的示图。
[0159]
图44为示出在批量i2c模式下从主serdes向从serdes使用通信协议x发送随机读取命令的处理的示图;
[0160]
图45是示出在批量i2c模式下进行随机读取操作时mem2中的表3的保存数据的示图。
[0161]
图46a是示出在批量i2c模式下从从serdes向从设备发送和接收随机读取命令的处理的示图。
[0162]
图46b是示出在随机读操作时的i2c通信协议的示图。
[0163]
图47是示出了在批量i2c模式下进行随机读取操作之后的mem2中的表3的保存数据的示图。
[0164]
图48为示出根据在批量i2c模式下从从serdes向主serdes根据通信标准x对读取命令的回复处理的示图。
[0165]
图49是示出当在批量i2c模式下接收到来自serdes对随机读取命令的应答时主serdes的处理的示图。
[0166]
图50为示出在批量i2c模式下在接收到来自serdes对随机读取命令的应答数据之后,mem1中的数据的一个实例的示图;
[0167]
图51为示出批量i2c模式下对主serdes进行随机读取命令的轮询并且读取执行结果的情况下的处理的示图。
[0168]
图52是示出在批量i2c模式下对随机读取命令的存储区域被释放之前的mem1中的表1的保存数据的实例的示图。
[0169]
图53a为示出了在批量i2c模式下执行当前读取的情况下在从serdes侧的处理的示图;
[0170]
图53b是示出在执行当前读取的情况下的i2c通信协议的示图。
[0171]
图54是示出在批量i2c模式下执行随机读取命令的情况下在mem2中的表3中保存数据的实例的示图。
[0172]
图55是批量i2c模式的正常状态下的读取操作的时序图。
[0173]
图56是示出在批量i2c模式下,在受限时段内ack/nack信号没有从从设备到达的实例的示图。
[0174]
图57为示出从serdes以批量i2c模式传输错误命令格式时,mem2中的表3的保存数据的示图。
[0175]
图58为示出在批量i2c模式下主serdes接收到错误命令格式时,mem1中的表1的保存数据的示图。
[0176]
图59是在批量i2c模式下读取时发生错误的情况下(以下称为读取错误情况2)的时序图。
[0177]
图60是示出了在读取错误情况2下节点1中包括的mem1中的表1的保存数据的示图。
[0178]
图61是示出在写入错误情况下节点1中包括的mem1中的表1的保存数据的示图。
[0179]
图62是根据本实施方式的通信系统的等效框图。
具体实施方式
[0180]
在下文中,将参考附图描述通信装置和通信系统3的实施方式。在下文中,下面将主要描述通信装置和通信系统3的主要部件,但是通信装置和通信系统3可以包括未示出或描述的配置部件和功能。以下描述不排除未示出或描述的组件或功能。
[0181]
图1是示出包括根据实施方式的通信装置的通信系统的示意性配置的框图,并且
图2是图1的通信系统的进一步具体化的通信系统的框图。图1和图2中的通信系统是例如作为adas(高级驾驶员辅助系统)的一部分的摄像机视频识别系统。
[0182]
图1和图2中的通信装置包括能够作为主设备(master)21操作的ecu4和soc5、能够作为从设备(slave)22操作的图像传感器12和温度传感器14、主serdes7和从serdes13。
[0183]
主serdes7和从serdes13按照预定的通信标准(以下称为“通信标准x”)可通信地连接。预定的通信标准x的实例包括但不限于fpd-link iii、a-phy、asa等。主serdes7和从serdes13相当于本实施例的通信装置。在本说明书中,主serdes7可称为serdes1,从serdes13可称为serdes2。
[0184]
主serdes7和主serdes7例如通过i2c(内部集成电路)通信以能够通信的方式连接。此外,主serdes7与主设备21之间的通信不限于i2c通信,例如也可以是gpio(通用输入/输出)的通信。
[0185]
同样,从从设备22和从serdes13例如通过i2c通信以可通信的方式连接。此外,从设备22与从serdes13之间的通信不限于i2c通信,例如也可以是gpio通信。
[0186]
在图1和图2中,将信息从从serdes13串行传输到主serdes7的传输路径6上的信号路径称为下行链路或正向信道,将信息从主serdes7串行传输到从serdes13的传输路径6上的信号路径称为上行链路或反向信道。
[0187]
ecu4控制整个通信系统3并且包括i2c4a。ecu4从主serdes7接收图像信号,并且经由i2c4a与主serdes7进行i2c通信。
[0188]
soc5进行图像识别、视频处理等,由i2c5a构成。soc5从主serdes7接收图像信号,并且经由i2c5a与主serdes7进行i2c通信。
[0189]
图像传感器12捕获图像,并且包括i2c12a和mem19。图像传感器12将拍摄到的图像的图像数据输出到从serdes13,并且经由i2c12a与从serdes13进行i2c通信。在本说明书中,图像传感器12可被称为cis(cmos图像传感器)。mem19可以存储由图像传感器12捕获的像素数据,并且可以存储从主设备21发送的数据。在本说明书中,mem19可以被称为mem3。
[0190]
温度传感器14测量任意物体(例如,图像传感器12)的温度,并且包括i2c14a。温度传感器14经由i2c14a与从serdes13之间进行i2c通信,将测定出的温度的温度数据等发送给从serdes13。
[0191]
主serdes7将从主serdes21接收到的i2c协议的信号格式转换为通信标准x协议的信号并发送到从serdes13,对从从serdes13接收到的通信标准x协议的信号进行适当格式转换,生成图像数据和i2c协议信号并输出到主serdes21。主serdes7包括link11、前向接收机(fwrx)9、反向发射机(rv.tx)10以及i2c7a。
[0192]
link11将经由i2c7a从主设备21接收到的i2c协议的信号格式转换为通信标准x协议的信号,经由rv.tx10发送给从serdes13。另外,link11根据经由fw.rx9从从serdes13接收到的通信标准x协议的信号,生成图像数据并发送到主设备21,或者生成包含该图像数据以外的信息的i2c协议的信号,经由i2c7a输出到主设备21。
[0193]
从从serdes13将从从设备22接收到的i2c协议的信号和图像信号格式转换为通信标准x协议的信号并发送到主serdes7,将从主serdes7接收到的通信标准x协议的信号适当地转换为i2c协议的信号并输出到从设备22。从serdes13包括i2c13a、link17、前向发射机(fwtx)16、反向接收机(rv.rx)15以及i2c13a。
[0194]
link17将经由i2c13a从从设备22接收到的i2c协议信号的信号以及图像数据的格式转换为通信标准x协议的信号,经由fw.tx16发送到主serdes7。而且,link17将通过rv.rx15从主serdes7接收到的通信标准x协议的信号转换为i2c标准的信号,并通过i2c13a发送给从设备22。此时,可能出现以下问题1)和2)。
[0195]
1)在配置主设备21的ecu4或soc5使用i2c通信控制配置从设备22的图像传感器12或温度传感器14的情况下,每次传输诸如1字节的信息单元时,主设备21需要从从设备22接收ack信号或nack信号。此时,经由主serdes7和从serdes13的i2c通信的传播延迟通常比i2c通信的一个时钟的周期(一个时钟的频率为400khz、1mhz等)大。在这种情况下,主serdes7将i2c协议信号的时钟(scl)保持为低电平,直到从从serdes13接收到来自从设备22的ack信号或nack信号,i2c协议转换完成,并且准备经由i2c7a向主设备21输出ack信号或nack信号。在从装置22发送到主装置21的ack信号或nack信号的输出准备就绪之后,主serdes7释放i2c协议信号的所保持时钟(scl)的低电平。结果,主设备21能够重新开始i2c通信,并且能够接收ack信号或者nack信号。在主serdes7将scl保持在低电平的时段中,主设备21不能执行i2c通信,这引起传输命令花费时间或不能进行与连接至i2c总线的另一从设备22(例如,当等待来自图像传感器12的ack信号或nack信号时的温度传感器14)的通信的问题。
[0196]
图3示出了在通过经由主serdes137和从serdes13从主机i2c(例如,主设备21)到远程i2c(例如,从设备22)的i2c通信执行写入的情况下的i2c通信。这里,主机i2c的scl低区间指示主serdes7将该scl保持在低电平,直到来自从设备22的ack信号或nack信号的输出准备就绪,并且指示主机i2c在该时段期间不能执行i2c通信。
[0197]
2)此外,允许图像传感器12和温度传感器14以外的各种设备作为从设备22连接至从serdes13是有利的。这些各种从设备22中的每个可具有具有不同i2c工作时钟的可能性。因此,假设从serdes13与各从设备22进行i2c通信,可以将从设备22的i2c工作时钟(从设备22与从serdes13之间的i2c通信的工作时钟)设定为低于所需。
[0198]
在图3中,如上所述,在从装置22的i2c工作时钟频率被设置为低于必要频率的情况下,该情况意味着远程i2c的i2c操作区间(图3中的远程i2c侧的scl低区间以外的区间)变长,这与主机i2c侧的scl低区间变长的问题相结合,进一步延长了完成i2c通信所需的时间。
[0199]
为了解决上述1),图1和图2中的通信系统3在主serdes7中设置存储设备(在图1中的mem11a),并且当主serdes7从主设备21中接收到1字节时,通信系统3将1字节存储在存储设备中,并且将ack信号或nack信号返回至主设备21中而不是从从设备22中。因此,主设备21能够缩短延伸的scl低时段。
[0200]
此外,为了解决上述2),在图1的通信系统3中,主设备21设置下面描述的clk_value(数据[0]),并且从serdes13以由clk_value(数据[0])指定的频率执行与从设备22的i2c通信。因此,从设备22和从serdes13可以以指定的频率实现i2c通信。
[0201]
图2的link11包括i2ccmd单元8和mem11a。i2ccmd单元8将表2存储在只读存储器(未示出)中,并且mem11a存储表1。mem11a是易失性存储器。在本说明书中,mem11a可以被称为mem1。link11在每次通过i2c7a接收到来自主设备21的1字节时,向mem11a的表1写入1字节,代替从设备22向主设备21返回ack信号或nack信号,当满足预定条件时(例如,当数据被
写入到数据结束时),读取表1并通过rv.tx10发送给从serdes13。此外,link11将经由fw.rx从从serdes13接收的信号写入mem11a的表1,读取该表1并经由i2c7a与主设备21进行i2c通信,并且在满足预定条件时(例如,当将数据写入到数据的结束时),将经由fw.rx9从从serdes13接收的由图像传感器12捕获的图像数据发送到主设备21。
[0202]
图2的link17包括i2ccmd单元18和mem17a。i2ccmd单元18将表2存储在只读存储器(未示出)中,并且mem17a存储表3。在本说明书中,mem17a可以被称为mem2。link17将经由rv.rx15从主serdes7接收的信号写入mem17a的表3中,并且在满足预定条件(例如,数据写入到数据结束)时,读取表3并且经由i2c13a将表3发送到从设备22。另外,link17在经由i2c13a与从属装置22之间进行i2c通信而接收信号时、或经由i2c13a从温度传感器14接收到转换为i2c协议的温度数据时,将接收到的数据写入到mem17a的表3中,在满足规定的条件(例如,写入数据的结束)时,读取表3并经由fw.tx16发送到主serdes7。
[0203]
图4为在图1和图2的通信系统3中,主serdes7在主设备21与从serdes13之间进行i2c通信时的等效方框图。在图4中,假设主serdes7是通信装置,主设备21是第一外部装置,并且从serdes13是第二外部装置。
[0204]
图4中的通信装置(主serdes7)基于来自第一外部装置(主设备21)的第一外部信号生成第一输出信号并且将第一输出信号输出至第二外部装置(从serdes13)。此外,通信装置(主serdes7)基于来自第二外部装置(从serdes13)的第二外部信号生成第二输出信号,并且将该第二输出信号输出至第一外部装置(主设备21)。
[0205]
图5为在图1和图2的通信系统3中从serdes13执行从设备22与主serdes7之间的i2c通信时的等效框图。在图5中,假设从serdes13是通信装置,从serdes22是第一外部装置,并且主serdes7是第二外部装置。
[0206]
图5中的通信装置(从serdes13)基于来自第一外部装置(从设备22)的第一外部信号生成第一输出信号并将第一输出信号输出至第二外部装置(主serdes7)。此外,通信装置(从serdes13)基于来自第二外部装置(主serdes7)的第二外部信号生成第二输出信号,并且将该第二输出信号输出至第一外部装置(从设备22)。
[0207]
图4和图5中的第一输出信号和第二外部信号中的每个包括指示从第一外部装置传送的命令的内容的命令信息cmd_mode、用于识别从第一外部装置传送的数据的最终目的地装置的最终目的地装置识别信息slave_adr、最终目的地装置的内部地址信息sub_adr、从第一外部装置传送的数据的数据长度信息长度和从第一外部装置传送的数据的数据结束位置信息。
[0208]
slave_adr可以被布置为紧挨着cmd_mode,sub_adr可以被布置为紧挨着slave_adr,并且长度可以被布置为紧挨着sub_adr。
[0209]
cmd_mode可包括定义关于通信标准x的命令格式的命令格式信息cmd_mode[2:0],通信标准x包括用于识别写入命令和读取命令的功能。也就是说,cmd_mode可以包括cmd_mode[2:0],其定义关于通信装置和第二外部设备之间的预定通信标准的命令格式。
[0210]
cmd_mode可以至少包括cmd_mode[0]-cmd_mode[7],并且数据结束确定条件信息cmd_mode[7]可以指定用于结束确定从第一外部设备发送的数据的条件。
[0211]
第一输出信号和第二外部信号中的每一个可以进一步包括指定第二外部设备与最终目的地设备之间的通信频率的通信频率信息clk_value。
[0212]
第一输出信号和第二外部信号可以包括通过将i2c(集成电路间)通信的命令的协议转换成通信装置与第二外部设备之间的预定通信标准而获得的命令。
[0213]
link11或者link17可以在每次从第一外部装置接收到构成第一外部信号的每个信息单元时,向第一外部装置发送表示肯定应答的ack信号或者表示否定应答的nack信号。
[0214]
link11或link17包括存储单元,该存储单元存储与第一外部信号相对应的信号和与第二外部信号相对应的信号。
[0215]
link11或link17可以在接收到第一外部设备发送的第一外部信号完成后,对存储单元接收并存储的第一外部信号统一进行协议转换后生成第一输出信号。
[0216]
link11或17的协议转换可以是与时分双工(tdd)兼容的协议转换。
[0217]
当link11或者link17向第二外部设备发送第一输出信号并且接收到来自第二外部设备的指示第一输出信号的处理完成的信息时,link可以将指示处理完成的信号存储在存储单元中。
[0218]
link11或者link17可以基于来自第一外部设备的命令释放存储单元的存储区域。
[0219]
link11或者link17可以响应于来自第一外部设备的请求信号而向第一外部设备输出从第二外部设备发送的第二外部信号的处理完成信息,或者可以向第一外部设备输出用于对第一外部设备执行中断处理的中断请求标志。
[0220]
link11或者link17可以从第一外部装置接收包括指示第一输出信号的输出的输出指示信息cmd_done和指示第一外部信号的发送端的发送端信息p(停止条件)的第一外部信号。
[0221]
在作为指定从第一外部装置发送的数据的结束判断的条件的数据结束判断条件信息而接收到第一值的情况下,link11或者link17可以在接收到指示第一外部信号的发送结束的发送结束信息p(停止条件)时识别出从第一外部装置发送的第一外部信号已经结束。
[0222]
在作为指定从第一外部装置发送的数据的结束判断的条件的数据结束判断条件信息而接收到第二值的情况下,link11或者link17可以在接收到指示第一输出信号的输出的输出指示信息和表示第一外部信号的发送结束的发送结束信息时,识别出从第一外部装置发送的第一外部信号已经结束,而与此后接收到的数据结束判断条件信息的值无关。
[0223]
link11或者link17可以在向第二外部设备发送第一输出信号后释放存储单元的存储区域。
[0224]
link11或者link17可以将对基于存储在存储单元中的第二外部信号的信号进行了针对第二输出信号的协议转换后得到的信号按照每个信息单位输出到第一外部设备,或者接收构成从第一外部设备输出的第一外部信号的每个信息单位中的至少一方也可以在预定次数或者在预定时间内进行。
[0225]
图6为示出在主serdes7与从serdes13之间发送并且接收的通信标准x协议的信号的帧结构的一个实例的示图;
[0226]
图6的帧结构包括在同步模式与奇偶性之间的多个容器。sync模式是用于使主serdes7和从serdes13的物理层同步的信号模式。多个容器包括例如大约二到一百个容器。包括在帧结构中的容器的数量根据信号传输状态而改变。奇偶校验是用于错误检测或纠错处理的位或位串。
[0227]
容器的结构包括报头、有效载荷和奇偶校验。报头包括指示有效载荷的发送目的地的地址信息等。有效载荷是要发送和接收的信号的主体部分。除了视频信号之外,有效载荷还包括用于serdes控制的操作、管理、维护(oam)。奇偶校验是用于有效载荷错误检测或纠错处理的位或位串。
[0228]
有效载荷包括clk值、cmd_mode、从设备adr、长度、数据和数据结束的信息。clk值为从设备22的工作时钟,即与从设备22进行i2c通信中从serdes13使用的scl频率。cmd_mode表示从主设备21发送的命令的内容。从设备adr是用于识别从设备22的地址信息。长度是从主设备21发送的数据的长度。数据的结束是从主机21发送的数据的结束位置。
[0229]
注意,在cmd_mode被扩展到两个字节的情况下,cmd_mode的高一个字节可以被分配给cmd_id。cmd_id是用于区分和识别从主设备21发送的命令的识别信息。
[0230]
在通过tdd方案在主设备21与从设备22之间进行数据通信的情况下,在一个tdd周期内从主设备21至从设备22的信号rv的信号比和从从设备22至主设备21的信号fw的信号比率可以通过改变包括在每个帧结构中的容器的数量而改变。注意,信号rv和信号fw可以具有相同或不同的容器大小。
[0231]
在本实施例的通信系统中,i2c通信在主设备21和主serdes7之间进行,i2c通信也在从serdes13和从设备22之间进行。在i2c通信中,可以选择每当发送预定数量的字节的信息(例如,在不发送纠错码的情况下为一个字节或两个字节,或者在发送纠错码的情况下为两个字节或三个字节)时接收ack信号/nak信号的第一模式(也称为字节i2c模式),或者每当发送作为多个字节的信息块的块信息时接收ack信号/nak信号的第二模式(批量i2c模式)。
[0232]
同时,在主serdes7与从serdes13之间,以频分双工(fdd)方式进行i2c通信的情况下,如图8的时序图所示,为了从主设备21发送将最终目的地作为从设备22的情况下,在每次传输1字节数据时重复接收ack/nack信号的操作。在fdd方式中,与tdd方式不同,不需要切换上行link和下行link,并且可以在任意定时从主设备21向从设备22或从从设备22向主设备21发送信息。
[0233]
图9a是tdd方式下的批量i2c模式的时序图,图9b是tdd方式下的字节i2c模式的时序图。在批量i2c模式下,如图9a所示,每当接收到从主设备21逐字节发送的多个字节的信号时,主serdes7将包括ack信号或nack信号的信号发送至主设备21。接着,主serdes7在完成从主设备21接收到的多个字节的信号的转换之后,将转换后的信号统一发送到从serdes13。这里,作为转换的具体方法,存在每当主serdes7从主设备21接收到1个字节的数据时,依次进行从i2c协议向通信协议x的转换的情况、以及从主设备21接收到多个字节的所有数据后,集中进行从i2c协议向通信协议x的转换的情况。之后,主serdes7接收并保持来自从serdes13的包括ack信号或nack信号的通信协议x(第一通信标准)的信号。之后,主serdes7响应于来自主serdes7的读出请求,将通信协议x的信号转换成i2c协议(第二通信标准)的信号,并且将该信号发送给主设备21。
[0234]
另外,发送给从serdes13的信号包含表示来自主设备21的内容的命令信息,发送给主设备21的信号包含来自从serdes13的信息。
[0235]
此外,在批量i2c模式下,如图9a所示,当接收到从主serdes7发送的通信协议x的多个字节的信号时,从serdes13将接收到的信号转换成i2c协议的信号,并且逐字节地将转
换后的信号发送给从设备22。每当转换后的信号被逐字节地发送到从设备22时,来自从设备22的包括ack信号或nack信号的i2c协议的信号被接收并被保留。在从主serdes7向从设备22的信号发送结束后,将与所保持的信号对应的通信协议x的信号发送给主serdes7。
[0236]
同时,在字节i2c模式下,如图9b所示,主serdes7将从主设备21发送的1字节信号以1字节信号为单位转换为第一通信标准的信号并将转换后的信号发送至从serdes13,然后接收从从serdes13发送的包括表示肯定应答的ack信号或表示否定应答的nack信号的第一通信标准的信号,并将接收到的信号转换为第二通信标准的信号并发送至主设备21。
[0237]
此外,在字节i2c模式下,如图9b所示,当从serdes13接收到从主serdes7发送的第一通信标准的信号时,以从serdes13接收到的信号为单位转换为第二通信标准的信号,并将转换后的信号发送给从设备22,然后接收从从设备22发送的包括表示肯定应答的ack信号或表示否定应答的nack信号的第二通信标准的信号,并将接收到的信号转换为第一通信标准的信号,并将该信号发送给主serdes7。
[0238]
图6所示的帧结构中的cmd_mode的信息在批量i2c模式和字节i2c模式之间不同。在本说明书中,cmd_mode可以被称为命令信息。cmd_mode例如是1字节的信息,并且在批量i2c模式和字节i2c模式之间每个位的信息不同。
[0239]
图10a是示出批量i2c模式下的cmd_mode的实例的示图。图10a中的cmd_mode的位[7]是上述模式选择,并且1表示字节i2c模式,并且0表示批量i2c模式。位[6]是指定在从侧i2c通信中接收到nack信号时是否执行重试的位,并且1表示重试并且0表示没有重试。位[5]是指示从serdes13在接入从设备22时接收到nack信号时的操作的位。1表示通过执行忽略nack的处理在写入的情况下继续输出写入的rawdata,并且0表示执行正常处理。位[4]表示i2c命令的批量传输模式。1表示数据的结束并且在cmd_done时发送。0表示针对每个数据结束做出结束确定并且执行传输。位[3]是从侧的i2c地址模式的选择。1表示没有偏移地址的当前位置的地址,0表示有偏移地址的当前位置的地址。位[2:0]是通信标准的i2c格式类型,x.111指示错误命令格式,110指示特殊命令格式,10x指示保留,011指示读取响应格式,010指示ack/nack格式,001指示读取命令格式,并且000指示写入命令格式。
[0240]
图10b是示出字节i2c模式下的cmd_mode的实例的示图。图10b中的cmd_mode的位[7]与图10a中的位[7]相同,并且在本说明书中可被称为第一信息。位[6:5]是时钟模式的选择,并且在本说明书中可被称为第二信息。时钟模式包括主serdes7为节点1,从serdes13为节点2的情况下,节点2自动生成时钟信号的模式和节点1代替节点2计算并通知节点2的使用时钟clk的周期数9/8/1的模式。11指示节点2生成包括ack/nack信号和数据的九个时钟信号。10表示节点2生成包括数据的八个时钟信号。01表示节点2生成包括ack/nack信号的一个时钟信号。00表示节点2自动生成9/8/1时钟信号。
[0241]
位[4:0]是定义分组i2c数据的i2c分组类型。位[4]是指示数据是否是用于写入或读取的数据或其他数据的信息,并且在本说明书中可以被称为第三信息。位[4]的1表示接着跟随写入/读取数据包。位[4]中的0表示不存在写入/读取数据包。位[3]是指示是否接收到nack信号的信息,并且在本说明书中可以被称为第四信息。位[3]中的1指示已经从从设备22或主设备21接收到nack信号,并且0指示还没有接收到nack信号。位[2]是指示是否已经接收到ack信号的信息,并且在本说明书中可以被称为第五信息。位[2]的1指示已经从从设备22或主设备21接收到ack信号,并且0指示还没有接收到ack信号。位[1]是指示是否包
括停止命令的信息,并且在本说明书中可以被称为第六信息。位[1]中的1指示已经检测到停止命令,并且0指示尚未检测到停止命令。位[0]是指示是否包括开始/重启命令的信息,并且在本说明书中可以被称为第七信息。位[0]的1指示已经检测到开始/重新开始命令,并且0指示尚未检测到开始/重新开始命令。
[0242]
图10a和图10b中示出的cmd_mode是示例,并且什么信息被分配给cmd_mode的每个位是任意的。此外,cmd_mode可具有2字节以上的字节长度。
[0243]
图11a是示出当选择批量i2c模式时在i2c通信中发送和接收的命令格式的第一示例的示图。如图11a所示,当选择批量i2c模式时,存在写入命令格式、读取命令格式、ack/nack命令格式、读取响应格式以及特殊命令格式。写入命令格式包括clk_value、cmd_mode、sl_adr、sub_adrh、sub_adrl、lengthh、lengthl、wdata和数据结束。除了不包括wdata之外,读取命令格式与写入命令格式相同。ack/nack命令格式包括clk_value、cmd_mode、master_adr、sub_adrh、sub_adrl、lengthh、lengthl、sl_adr、ack/nack和数据结束。通过在ack/nack命令格式中添加rdata来获得读取响应格式。特殊命令格式包括clk_value、cmd_mode、cmd_done和数据结束。
[0244]
图11b是示出当选择批量i2c模式时在i2c通信中发送和接收的命令格式的第二实例的示图。在图11b中所示的第二实例中,在图11a中所示的每个命令格式的结尾,在数据结束之后,添加作为纠错码的crc。此外,在图11b的第二实例中,新添加在图11a的第一实例中不存在的错误命令格式。错误命令格式包括clk_value、cmd_mode、数据结束和crc。下面将描述错误命令格式。
[0245]
图11a和图11b包括在每个命令格式的末端附近的数据结束(eod),但是可以省略eod。图11c是示出当选择批量i2c模式时通过i2c通信传输和接收的命令格式的第三实例的示图,其中,在图11a中,eod从各格式省略。即使在主serdes7和从serdes13内部使用eod的信息,即使在主serdes7和从serdes22之间的通信格式中没有eod,也可以在接收侧根据cmd_mode、lengthh和lengthl的信息来计算数据结束位置。
[0246]
图11d是用于描述计算图11c的第三实例中的数据的结束的位置的方法的示图。读取命令格式、ack/nack格式、特殊命令格式和错误命令格式中的每具有固定的字节长度。更具体地,读取命令格式是7字节,ack/nack格式是9字节,特殊命令格式是3字节,并且错误命令格式是2字节。因此,即使不存在end,也可以确定每个格式的结束位置。注意,ack/nack格式不必固定为9字节。可以附加在i2c通信期间接收的所有ack/nack。
[0247]
同时,写入命令格式和读取响应格式包括可变长度数据wdata或rdata,但是wdata或rdata的长度是lengthh和lengthl的总值。因此,可以根据lengthh和lengthl的值来指定数据结束的位置。例如,在写入命令格式是7字节的报头 wdata是64字节=71字节并且读取响应格式是7字节的报头 rdata是64字节=71字节的情况下,lengthh和lengthl的合计值是64。因此,即使不存在eod,也可以确定每个格式的结束位置。
[0248]
图11e是示出当选择字节i2c模式时的命令格式的第一实例的示图。如图11e所示,当选择字节i2c模式时,选择i2c条件格式或i2c数据格式。
[0249]
i2c条件格式包括cmd_mode和crc。以i2c状态格式发送的i2c命令是s(start)、sr(restart)、p(stop)和ack/nack。i2c数据格式包括cmd_mode、数据和crc。以i2c数据格式发送的i2c命令是s(start)、sr(restart)、p(stop)和ack/nack 数据。
[0250]
clk_value或cmd_id可被添加到图11e的命令格式。图11f是示出了当选择字节i2c模式时的命令格式的第二实例的示图。图11f中的第二实例示出了在图11e中的第一实例中紧挨在cmd_mode之前添加clk_value和cmd_id的实例。在图11f的第二实例中,是否将crc添加到各个格式的结尾是任意的。这同样适用于图11e的第一实例。
[0251]
图12是示出了在批量i2c模式中在通信标准x协议上传输的i2c命令的类型和位串的示图。在图12中,ack是肯定应答,表示处理正常完成的。nack是否定应答,表示处理没有正常结束。
[0252]
repeated_start是表示i2c协议的信号继续的开始标志。具体地,repeated_start对应于图7所示i2c组合格式的sr。sr是在开始从主设备21到主serdes7的i2c通信之后(在发出s(开始条件)之后)、在不结束i2c通信(不发出p(停止条件))而开始下一个i2c通信的情况下、在开始下一个i2c通信之前发出的标志。
[0253]
在通信标准x协议上传送的i2c命令中的数据结束指示p(停止条件)。在批量i2c模式中的cmd_mode[4]=0的情况下,该情况指示从s(开始条件)到p(停止条件)的i2c协议的信号被发送到从serdes13。
[0254]
要在通信标准x协议上传输的i2c命令中的cmd_done是在批量i2c模式中的cmd_mode[4]=1的情况下当下数据为0xff时的特殊命令。cmd_done是指示将一个或多个组传输至从serdes13的信息,其中,从s(开始条件)到p(停止条件)的i2c协议的信号为一组。
[0255]
通信标准x协议要传输的i2c命令中的rsv_command保留,目前不做限定。i2c命令中的数据表示要写入从设备22的数据或者从从设备22读取的数据。
[0256]
图12示出了将通过通信标准x协议传输的i2c命令由8位表示的实例,但是本实施方式不限于此,并且i2c命令可由9位以上表示。例如,在i2c命令由9位表示的情况下,在i2c协议的信号是“数据”的情况下,将msb侧的一位设置为“0”,并且在i2c协议的信号不是“数据”的情况下,将msb侧的一位设置为“1”,使得可以容易地确定i2c协议的信号是“数据”还是“数据”以外。
[0257]
(字节i2c模式中的详细操作)
[0258]
图13a和图13b为示出在作为节点2的从serdes13自动生成时钟clk的情况下的cmd_mode的设置实例的示图。图13a示出了在字节i2c模式下传输条件信息和用于从serdes13自动生成时钟clk的数量的指令的情况下的cmd_mode的设置实例。1字节数据的cmd_mode被设置为8’b1000_0001。根据图10b设置cmd_mode的每个位。在这些位中,位[7]=1表示字节i2c模式。位[6:5]=00指示节点2自动生成时钟clk。位[4]=0指示不包括数据。位[3]=0指示未接收到nack信号。位[2]=0指示未接收到ack信号。位[1]=0指示不包括stop命令。位[0]=1指示包括start命令。
[0259]
图13b示出了在字节i2c模式xia传输数据和从serdes13自动生成时钟clk的数量的指令的情况下的cmd_mode的设置实例。cmd_mode被设置为8’b1001_0000。在这些位中,位[7]=1表示字节i2c模式。位[6:5]=00指示节点2自动生成时钟clk。位[4]=1表示包括了数据。位[3]=0指示未接收到nack信号。位[2]=0指示未接收到ack信号。位[1]=0指示不包括stop命令。位[0]=0指示不包括start命令。
[0260]
如图13a和图13b所示,在字节i2c模式中,从主serdes7发送到从serdes13的信号的字节数为2字节或3字节,不包括时钟频率信息clk_value和纠错码crc。
[0261]
图14a和图14b为示出由作为节点2的主serdes7指示的周期数,由作为节点2的从serdes13手动生成时钟clk的实例的示图。图14a示出了在字节i2c模式下发送条件信息、数据以及从serdes生成的时钟clk的数量的指定的情况下的cmd_mode的设置例1。图14b示出了在字节i2c模式下发送条件信息、数据以及从serdes生成的时钟clk的数量的指定的情况下的cmd_mode的设置实例2。图14a中的cmd_mode被设置为8’b1000_0001。cmd_mode的位[6:5]=01指示节点2指示产生一个周期的时钟clk。位[4]=1表示包括了数据。其他位与在图13a中的那些相似。
[0262]
在图14b中的cmd_mode被设置为8’b1111_0001。cmd_mode的位[6:5]=11指示节点2指示产生9个周期的时钟clk。其他位与图14a中的那些相似。
[0263]
类似地,图15a示出了以字节i2c模式发送ack和数据的实例。
[0264]
图15b示出了在字节i2c模式下发送nack和stop命令的实例。
[0265]
图16是示出了在发生错误的情况下的cmd_mode的设置实例的示图。图16中的cmd_mode被设置为8’b1xx0_1111。cmd_mode的位[6:5]=xx表示不关心。设置位[3:0]=1111。如上所述,当cmd_mode的所有低4位变为1时,其指示在字节i2c模式的执行期间发生了错误。
[0266]
图17是作为节点1的主serdes7和作为节点2的从serdes13的状态转换图。节点1和节点2的状态基于图17所示的状态转移图而转换。图17的状态转换图示出在图9b的字节i2c模式期间的状态转换。要注意的是,在图9a中的批量i2c模式期间,从s(开始条件)到p(停止条件)集中发送和接收,因此,不需要考虑状态转换。在下文中,将参考图17描述在字节i2c模式期间节点1和节点2的状态的转换。
[0267]
节点1和节点2在电力接通时转移到初始状态init(状态s1)。在初始状态init中,当从主设备21接收到i2c协议的s/sr(开始/重新开始)命令时,节点1转移到开始状态st(状态s2)。在开始状态st中,节点1将在状态s1中接收的i2c协议的s/sr(开始/重新开始)命令转换成图13a中的通信标准x的分组,并且发送至节点2。当从节点1接收到s/sr(开始/重新开始)命令时,节点2转移到开始状态st,并且向从设备22发送被转换成i2c协议的s/sr(开始/重新开始)命令。
[0268]
当在开始状态st下从主设备21接收到数据d时,节点1判断数据是否是从地址(状态s3)。在数据不是从设备地址的情况下,节点1返回到状态s1。在数据是从地址的情况下,节点1转换到从地址状态sl_addr(状态s4)。在从地址状态sl_addr中,节点1指示主设备21执行时钟延长。时钟拉伸意味着将来自主时钟21的时钟保持在低电平。在时钟延长期间,主设备21不能向节点1发送新信息。并且在从设备地址状态sl_addrsl下,节点1将i2c协议的从设备地址转换成通信标准x的分组,并发送给节点2。当节点2接收到来自节点1的从设备地址时,转换到sl_addr状态,并将转换为i2c协议的从设备地址发送给从设备22。当在从设备地址状态sl_addr从从设备22接收到ack/nack信号时,节点2转变到写入状态w,将ack/nack信号转换成通信标准x的协议,并且向节点1发送转换后的ack/nack信号。
[0269]
当在从地址状态sl_addr从节点2接收到ack/nack信号时,节点1转换到写入状态w(状态s5)。在写入状态w下,节点1指示主设备21释放时钟扩展,并且将来自节点2的ack/nack信号转换成i2c协议,并且向主设备21发送ack/nack信号。当在写入状态w中从主设备21接收数据d时,节点1转换到写入数据状态wd(状态s6)。在这种状态下,当将ack/nack信号返回至主设备21时,状态返回至写状态w。在写入状态w下当从主设备21接收到p(stop)命令
时,节点1转换到结束状态end(状态s7)。在结束状态end下,当节点1将i2c协议的p(stop)命令转换成通信协议x的分组并且将该分组发送到节点2时,状态返回到初始状态init。
[0270]
当已接收到包括读取位的从设备地址并且将状态s4已经转变到从设备地址状态sl_addr时,从从设备22接收到ack或nack时,节点22转变到读取状态r(状态s8)。此后,节点2将i2c协议的ack或nack转换成通信协议x的分组并且将该分组发送到节点1。当在读取状态r下从从设备接收数据d时,状态转换到读取数据状态rd(状态s9)。节点2将读数据转换成通信协议x的i2c协议的分组并发送给节点1。当从节点2接收到ack/nack分组时,节点1转换到读取状态r并且向主设备21发送ack或nack。此后,当接收到读数据包时,节点1转换到读取数据状态rd并且将读取数据传输到主设别21。
[0271]
在读取数据状态rd下,在时间限制内未接收到ack/nack信号的情况下其变得超时,并且状态转移到数据错误状态(状态s10)。类似地,同样在读取状态r下在时间限制内未接收到来自从设备的数据d的情况下,其变得超时,状态转移到状态s10的数据错误状态。当在数据错误状态下伪数据信号返回至主设备21时,状态返回至状态s8的读取状态r。
[0272]
同时,在状态s6中,在写入数据状态wd下,在时间限制内未接收到来自从设备的ack/nack信号的情况下,其变得超时并且状态转变为ack错误状态a_err(状态s11)。此外,当在状态s4的从设备地址状态sl_addr中在时间限制内未接收到来自从设备的ack/nack信号时,状态转变为状态s11的ack错误状态a_err。当在ack错误状态a_err中执行预定错误处理时,状态返回状态s1。
[0273]
主serdes7以字节i2c模式进行写入时的状态转移总结如下。当从主serdes7接收到包括开始条件的信号时,主serdes7中的link11转变成开始状态st(第一状态)。link11在切换为开始状态st时,将开始条件转换为通信协议x(第一通信标准)的信号并向从serdes13发送。此后,当在开始状态st下,从主设备21接收到包括1字节的最终目的地设备的地址信息(从设备地址)的信号时,link11转换到从设备地址状态s1_addr(第二状态),并将来自主设备21的时钟保持为低电平。link11在从设备地址状态s1_addr下,将包含该地址信息的信号转换为通信协议x的信号并发送给从serdes13。此后,当处于从设备地址状态sl_addr下从从serdes13接收到包括ack信号或nack信号的信号时,link11在包括地址信息的信号的特定位为第一位值的情况下识别写入,并且转移到写入状态w(第三状态)。在写入状态w下,link 11将从从serdes13接收到的ack信号或nack信号等信号转换为i2c协议(第二通信标准)的信号发送给主设备21,然后解除主设备21对时钟低电平的保持。
[0274]
此外,当在写入状态w下从主设备21接收到包括1字节的写入数据的信号时,link 11转移到写入数据状态wd(第四状态)。在写入数据状态wd下,link 11将接收到的信号转换为通信协议x的信号并发送给从serdes13。之后,link 11在处于写入数据状态wd的状态下从从serdes13接收到包含ack信号或nack信号的信号时,向写入状态w转移,将接收到的ack/nack信号转换为i2c协议的信号,发送到主设备21。
[0275]
此外,在处于从设备地址状态s1_addr或写入数据状态wd时在预定时间段内未从从设备22接收到包括ack信号或nack信号的信号的情况下,link11转变到ack错误状态a_err(第五状态)并且在ack错误状态a_err下执行错误处理。
[0276]
同时,主serdes7以字节i2c模式进行读出时的状态转换概述如下。当从主设备21接收到包括开始条件或重新开始条件的信号时,主serdes7中的link 11转换至开始状态
st。link 11在切换为开始状态st时,将接收到的包含开始条件或者re开始条件的信号转换为通信协议x的信号并发送给从serdes13。之后,link11在处于开始状态st的同时从主设备21接收到包括1字节的最终目的地设备的地址信息的信号时,转变成从设备地址状态s1_addr,并将来自主设备21的时钟保持为低电平。link11在从设备地址状态s1_addr下,将包含该地址信息的信号转换为通信协议x的信号并发送给从serdes13。此后,当处于从设备地址状态sl_addr下从从serdes13接收到包括ack信号或nack信号的信号时,link11在包括地址信息的信号的特定位为第二位值的情况下识别读出,并且转移到读取状态r(第六状态)。在读取状态r,link11将从从serdes13接收到的ack信号或nack信号等信号转换成i2c协议的信号发送给主设备21,然后解除主设备21对时钟低电平的保持。
[0277]
另外,link11在读取状态r时从从serdes13接收到包含1字节的读出数据的信号时,转变为读数据状态rd(第七状态)。在读数据状态rd下,link11将接收到的信号转换为i2c协议的信号并发送给主设备21。之后,link11在处于读数据状态rd时当从主设备21接收到包含ack信号或nack信号的信号时,转变为读取状态r,转换为通信协议x的信号并发送给从serdes13。
[0278]
另外,link11在读状态r中在规定期间内未从serdes13接收到读取数据的情况下,转换为数据错误状态d_err(第八状态)。此外,在处于读数据状态rd时在预定时段内没有从主设备21接收到ack信号或nack信号的情况下,link11转变成数据错误状态d_err。link11通过在数据错误状态d_err下进行错误处理,避免了通信装置、主设备21和从serdes13等整个系统死锁。
[0279]
同时,主serdes7在批量i2c模式下的状态转换总结如下。主serdes7中的link11保持从主设备21接收到包含开始条件的信号起至接收到包含停止条件的信号为止的接收信号,并将包含ack信号或nack信号的信号在接收到的信号的每个字节中发送给主设备21。link11将接收到的信号转换为通信协议x的信号并发送给从serdes13。link11从从serdes13接收并保存来自从设备22的ack信号或nack信号,并根据主设备21的读出请求,将来自从serdes13的信号转换成i2c协议的信号发送给主设备21。
[0280]
图18是基本写入模型(在后文中称为写入操作1)的时序图,其中,在字节i2c模式下,从serdes自动生成时钟clk的数量。在写入操作1中,结点2接收来自结点1的信号,理解接收信号中的cmd_mode[6:5]=2’b00,并且自动生成时钟clk。节点2可以通过使用时钟clk向从设备22发送写入数据或接收来自从设备22的ack信号。
[0281]
如图18所示,当来自主设备21的从设备地址被发送至从设备22时,ack信号从从设备22返回至主设备21。接下来,当向从设备22发送来自主设备21的偏移地址时,ack信号从从设备22返回到主设备21。接下来,当来自主设备21的wdata被发送给从设备22时,ack信号从从设备22返回到主设备21。此后,wdata的发送和ack信号的返回以一个字节为单位重复,直到停止命令被发送为止。
[0282]
图19是作为图18的写入操作1的变形的写入操作2的时序图。在图18的写入操作1中,当结点1处于开始状态st时,开始命令被发送到结点2,但是在写入操作2中,当结点1处于从地址状态sl_addr时,开始命令和数据d被统一发送到结点2。因此,与图18的写入操作1相比,可以减少通信协议x的事务。
[0283]
图20是在字节i2c模式下指定时钟clk数的基本写入操作3的时序图。在图19的写
入操作3中,与写入操作1和2不同,结点1指定由结点2以cmd_mode使用的时钟clk的周期数的信息。在这种情况下,指定一个周期。节点2理解从节点1接收的信号cmd_mode[6:5]=2’b01,并且在针对从节点22的适当定时生成用于一个周期的ack的时钟clk。节点2使用时钟clk接收来自从设备22的ack信号。例如,在节点2的处理性能较低的情况下采用图20。节点1代替节点2计算时钟clk的必要周期数。
[0284]
图21是作为图20的写入操作3的变形的写入操作4的时序图。在图20的写入操作3中,当结点1处于开始状态st时,开始命令被发送到结点2,但是在写入操作4中,当结点1处于从地址状态sl_addr时,开始命令和数据d被统一发送到结点2。结果,与写入操作3相比,可以减少特定协议x的事务。
[0285]
图22是在字节i2c模式下从serdes自动生成时钟clk的数量的基本读取模型(在后文中称为读取操作1)的时序图。在读取操作1中,结点2接收来自结点1的信号,理解接收信号中的cmd_mode[6:5]=2’b00,并且自动生成时钟clk。结果,节点2使用由节点2自身生成的时钟clk,从从设备22接收ack信号或者接收rdata,并且向节点1发送rdata。
[0286]
如图22中所示,在读取操作1中,首先,从地址和偏移地址通过写入命令发送至从地址22,然后,发送与上次相同的从地址和读取命令。
[0287]
图23是作为图22的读取操作1的变形例的读取操作2的时序图。在读取操作2中,节点1指定与节点2以cmd_mode使用的时钟clk的周期数有关的信息。节点2理解从节点1接收的信号cmd_mode[6:5]=2’b01,并且在图23的c1中描述的cmd_mode中,在从节点22的适当定时生成用于一个周期的ack的时钟clk。节点2使用时钟clk接收来自从设备22的ack信号。节点2理解从被描述为c9的cmd_mode中的节点1接收的信号cmd_mode[6:5]=2’b11,并且在针对从设别22的适当定时处生成用于ack的时钟clk和用于rdata信号的九个周期。节点2使用时钟clk来从从设备22接收ack和rdata信号。如上所述,在图23中,由于结点2的处理性能低,所以结点1计算并提供结点2中使用的时钟clk的周期数的通知。
[0288]
图24是在不存在子地址的情况下的读取操作3的时序图。与读取操作1和2不同,读取操作3示出了在从地址之后不存在偏移地址的实例。在图22和图23中,从地址首先通过写命令传送,但是在读操作3中,从地址从开头通过读命令传送。当节点2将从地址发送到从设备22时,节点2接收从从设备22发送的ack信号和rdata,并将ack信号和rdata发送到节点1。节点1将ack信号和rdata从节点2发送到主节点21。在图24中表示为c8的cmd_mode中,结点2理解从结点1接收的信号cmd_mode[6:5]=2”b10,并且在对于从结点22的适当定时处生成rdata信号的时钟clk持续八个周期。时钟clk用于节点2以从从设备22接收rdata。
[0289]
图25是字节i2c模式下的err操作1的时序图。在来自从设备22的ack/nack信号在时间限制内没有到达的情况下执行err操作1。在ack/nack信号没有从从设备22到达节点2的情况下,其变得超时,并且节点1和节点2到期转变到ack_err状态a_err,执行错误处理,然后返回到初始状态init。当转换到ack_err状态a_err时,节点1向主设备21返回nack信号,并且向节点2传送err分组。此时,节点1可在err寄存器中登记节点1处于ack_err状态a_err。
[0290]
图26是字节i2c模式下的err操作2的时序图。在来自从设备22的rdata没有到达的情况下或者在rdata的一部分不足的情况下,执行err操作2。在rdata在时间期限内没有从从设备22到达节点2的情况下,或者在rdata的一部分不足的情况下,变为超时,节点1和节
点2转变成data_err状态d_err。当转换到data_err状态d_err时,节点1将伪rdata返回到主单元21,并将err分组传送到节点2。此时,节点11可将data_err状态d_err登记在err寄存器中。
[0291]
由于主设备21能够掌握超时后rdata已经到达,所以根据需要通过读取节点1的错误寄存器,能够判断超时后的rdata是伪数据还是正常数据。
[0292]
上面已经描述了字节i2c模式的详细操作。接下来,将描述批量i2c模式的详细操作。
[0293]
(批量i2c模式下的详细操作)
[0294]
在下文中,将描述从主设备21到从设备22执行随机写入的情况。当对从机22执行随机写入时,主机21首先通过i2c通信向主serdes7发送命令集。随机写入时的i2c通信的协议在上述图7中示出,并且主设备21根据该协议将命令集发送至主serdes7。
[0295]
图27为示出了在批量i2c模式中从主设备21到从设备22执行随机写入的情况下在主设备21与主serdes7之间发送和接收的信号的示图。在本说明书中,从主设备21到主serdes7的i2c协议的信号被称为mi2c协议。如图27所示,mi2c协议包括s(开始条件)、serdes1st_adr、w、mem1sub_adr、mem1sub_adr、i2c设置clk、cmd_mode、最终目标从设备adr、最终目标sub adrh、最终目标sub adrl、数据lengthl、数据lengthh、数据
×
2和p(停止条件)。下面将描述这些信息的细节。
[0296]
从主设备21发送的i2c协议的数据保存在主serdes7的mem1中的表1中。图28是示出在批量i2c模式下的mem1中的表1中保存的数据的实例的表格。在每个数据中,作为i2c设置时钟clk的设置值的clk_value被存储在由mi2c协议发送的sub_adr指示的mem1的地址中,之后,由mi2c协议发送的数据被存储在mem1的递增地址中。如上所述,clk_value是表示scl频率的1字节信息,从设备22以clk_value所指定的动作频率进行与从serdes13的i2c通信。
[0297]
sub_adr[1]的cmd_mode是表示由主serdes7从主设备21接收到的指令的内容的1字节信息。
[0298]
图28的表1中的sub_adr[2]的从adr是指示待写入或读取的从设备22的地址(例如,在图像传感器12的情况下为0
×
02)的1字节信息。
[0299]
sub_adr[3]的sub_adrh是指示图像传感器12中的mem19(mem3)的哪个sub_adr被访问或者温度传感器14中的mem20的哪个sub_adr被访问的地址的高1字节信息。
[0300]
sub_adr[4]的sub_adrl是指示访问图像传感器12中的mem19(mem3)的哪个sub_adr或访问温度传感器14中的mem20的哪个sub_adr的地址的较低1字节信息。
[0301]
sub_adr[5]的lengthh是wdata(数据[n-2:7])的数据长度的上位1字节信息。sub_adr[6]的lengthl是wdata的数据长度(数据[n-2:7])的下位1字节信息。
[0302]
sub_adr[n-2:7]的wdata是将被写入到从设备22的数据。对于sub_adr的每个位存储一个字节的数据。
[0303]
当从主设备21接收p(停止条件)时,在sub_adr[n-1]的数据结束中写入0
×
9f。作为默认,写入诸如0
×
00的初始值。
[0304]
图29为接续图27的示图,并且示出了根据通信标准x以批量i2c模式从主serdes7向从serdes13发送随机写入命令的处理。图29中的i2c协议和mem1(保存i2c命令包)(步骤
s1和s2)与图27中所描述的相同。
[0305]
主serdes7读取图28中的表1中的数据,将数据进行协议转换成通信标准x协议的信号,并且通过在phy上的数据包化i2c(取决于每个phy规范)转发通道,将信号传输给从serdes13(步骤s3)。
[0306]
在cmd_mode=0
×
00的情况下,在cmd_mode[7]=0“中设置每个数据结束的结束确定”。因此,当接收“数据结束(0
×
9f)”时,主serdes7的link11将“数据结束(0
×
9f)”写入图28的表1中,并且读取图28的表1并且经由rv.tx10将表1发送至从serdes13。
[0307]
在cmd_mode=0
×
80的情况下,在数据结束和cmd_done被写入的阶段,mem1的数据(图28中的表1)被统一转换成i2c命令并且经由rv.tx10被发送至从serdes13。
[0308]
从serdes13从接收到的通信标准x协议的信号中提取出i2c命令分组,写入mem2中的表3中。在图29中,这称为mem2(保存i2c命令包)(步骤s4)。图30是示出在批量i2c模式中的随机写入操作时的mem2中的表3的实例的示图。将具有与图28中的表1相同内容的信息写入表3中。
[0309]
从serdes13对接收到的反向链路数据进行协议转换,恢复mem2中保存的mem1的原始数据。从serdes13在数据的结束恢复中确定i2c命令分组的恢复结束。
[0310]
图31至图32为接续图29的示图,并且示出了通过i2c通信将数据从serdes13传输至从serdes22的处理。已经参考图29描述了图31和图32中的mem2(保存i2c命令分组)(步骤s4)。图31示出了在批量i2c模式下从serdes13和从设备22以i2c通信发送和接收数据的处理。
[0311]
当数据的结束被写入图30中示出的mem2中的表3中时,从serdes13读取表3并且将格式转换成i2c协议的信号,并且经由mi2c协议中的i2c13a将信号发送至从serdes22(步骤s5)。
[0312]
(数据)cmd_mode(0
×
00)发布s(开始条件),并且在发布下sl_adr之后根据cmd_mode[0]的值生成w(写入)命令或r(读去)命令。
[0313]
(数据)sl_adr(0
×
02)表示“0
×
02”被指定为上述sl_adr。自从“0
×
02”,图像传感器12已经被选择。(数据)sub_adrh(0
×
00)表示“0
×
00”被指定为图像传感器12中的mem3(最终访问的目标)的地址的高位。(数据)sub_adrl(0
×
00)表示“0
×
00”被指定为图像传感器12中的mem3(最终访问的目标)的地址的低位。(数据)wdata
×
2表示16字节的数据。
[0314]
从设备22通过si2c协议,将表示正常接收的ack信号依次返回给从serdes13(步骤s5)。
[0315]
应注意,当通过i2c通信从serdes13向从设备22发送和接收数据时,在mem2的表3中保存与在图30中相似的信息。
[0316]
从serdes13在cmd_mode[6]=0并且,当从设备22返回的所有信号是ack信号的情况下写入ack,并且在存在一个或多个nack信号的情况下,在表3中在sub_adr=n中写入nack。
[0317]
在cmd_mode[6]=1并且从从设备22返回的所有信号是ack信号的情况下,从serdes13将ack写入表3中的sub_adr=n,并且在存在一个或多个nack信号的情况下执行重写。在第二次再次给出nack信号的情况下,在表3中的sub_adr=n中写入nack。图33示出了在批量i2c模式下随机写入命令的存储区域的释放之前的mem2的存储区域状态,其中,从
serdes13和从设备22之间的i2c通信已经完成并且ack或nack已经被写入sub_adr=n中。
[0318]
作为生成要写入mem2中的表3中的sub_adr=n的ack或nack的方法,例如,可以获得从从设备22返回的ack信号和nack信号的逻辑积。
[0319]
图32为接续图31的示图,示出了采用批量i2c模式中的通信协议x执行从serdes13到主serdes7的随机写入命令的响应的处理。已经参考图31描述了图32中的si2c协议(步骤s5)。
[0320]
从serdes13将与从设备22之间的i2c通信结果进行协议转换,转换为通信标准x协议的信号,通过phy上的打包的i2c(根据每个phy规格)转发通道发送给主serdes7(步骤s6)。当从serdes13将ack或nack写入mem2中的表3中的sub_adr=n中时,从serdes13读取表3(sub_adr中的0至n)并且将必要信息(在本实施方式中,在sub_adr为2和n的情况下为数据[7:0],并且在cmd_mode扩展为2字节的情况下还包括cmd_id)发送至主serdes7。当发送完成时,从serdes13释放图33中所示的mem2的储存区域。
[0321]
在此,由于mem1和mem2占据相同的存储器区域(sub_adr=0至n-1),所以从serdes13知道在mem1旁边要写入的sub_adr(在mem2中具有空间并且已经写入ack/nack的sub_adr)。而且,在从serdes自身进行了从从设备22的写入的情况下,可知需要返回2字节(与进行了i2c通信的从设备adr的i2c通信结果)给主serdes7。
[0322]
图34为接续图32的示图,并且示出了主serdes7在批量i2c模式中的操作。参考图32描述了图34中的phy(取决于每个phy规范)前向信道上的分组i2c(步骤s6)。主serdes7从接收自从serdes13的通信标准x协议的信号中提取i2c命令分组,并将该i2c命令分组写入mem1中的表1中的sub_adr的n到n 9中。
[0323]
图35为示出了在批量i2c模式中在从serdes接收到从serdes到随机写入命令的应答数据之后的mem1中的表1的示图。由图32中的从serdes13中的i2c cmd单元生成的i2c命令分组保存在表1中的sub_adrn至n 6以及n 9中。此外,图35中的表1中的sub_adr n 7和n 8具有通过读取和传输mem2中的sub_adr(2)的sub_adr和sub_adr(n)的ack或nack获得的内容。
[0324]
图36为示出在主设备21在批量i2c模式下对主serdes7进行随机写入命令轮询并且读取执行结果的情况下的处理的示图。主设备21在mi2c协议中向主serdes7轮询请求命令结果(步骤s7)。主设备21轮询表1中的sub_adr=n 9,在0
×
9f的情况下读取sub_adr=n 8,并且确定ack或者nack。
[0325]
例如,如果已经完成向主serdes7请求的“16字节写入从设备22”,则可以读取作为其结果的数据结束(0
×
9f)和ack(0
×
81)。注意,在本实例中,轮询是通过读取1字节并且看到数据结束的结果并且通过再次读取1字节来读取ack或nack来确定的。然而,也可以一次读取2字节并且确定轮询结果和与从设备22的i2c通信结果。在返回nack的情况下,主设备21能够通过读取从设备adrsub_adr(n 7)来检查对应的从设备22是否已发送nack。
[0326]
图35是示出了mem1中保存数据的实例的表格。由于主serdes7本身将写入命令发送给主serdes7,所以主设备21知道主serdes7的mem1的接入点。类似地,由于主serdes7本身将数据存储在mem1中,所以主serdes7知道mem1的接入点。例如,在从装置22写入数据并且对其的应答是2b的情况下,报头是7字节 2字节 eod(1字节)=10字节,并且下sub_adr是n 10=34。
[0327]
图37为示出用于在批量i2c模式下主设备21对主serdes7释放mem1的存储区域作为随机写入操作终止处理的信号的传输的示图。图38为示出在对随机写入命令的存储区域释放之前在mem1中保存的数据的示图。在ack的情况下,如图38所示,主设备21执行mi2c协议处理、si2c协议处理和mem1(保存i2c命令包)处理以读取表1中的sub_adr=n 8,并且将表1中的sub_adr=n 10中的清除写入mem1中(步骤s8)。当该清除被写入主serdes7时,mem1中的表1的内存区域被释放。
[0328]
当mem1中的sub_adr(n 10)写入0
×
ff时,主serdes7释放mem1所使用的存储区域作为请求命令的终止处理。可替代地,可以根据用于初始化由主设备21使用的存储器区域的写命令来释放mem1的存储区域。
[0329]
图39至图41是示出了i2c命令批量传输操作的示图。图39和图40是示出在批量i2c模式下以cmd_mode[7]=1进行批量命令传输的示图。图41是示出了在批量i2c模式下以cmd_mode[7]=1进行批量命令传输时以mem1为单位的表1的保存数据的细节的示图。i2c命令批量传输操作是在cmd_mode[2:0]=000和cmd_mode[7]=1的情况下的写入操作。具体地,示出了主设备21向图像传感器12(s1_adr=0
×
02)和温度传感器14(s1_adr=0
×
03)中的每个共同写入8字节的数据的情况。
[0330]
图39中的块b1表示图像传感器12的8字节数据写入操作(s1_adr=0
×
02),并且块b2表示温度传感器14的8字节数据写入操作(s1_adr=0
×
03)。块b3通过cmd_done和p(停止条件)指示批操作的结束。
[0331]
更具体地,如图39和图40所示,首先,在b1的操作中,在mi2c协议中,主设备21向主serdes7发出请求与从设备22进行i2c通信的命令(步骤s11)。当从主serdes7接收到数据时,主serdes7根据s i2c协议在自身的定时返回ack(步骤s11)。由于该请求命令指示cmd_mode[2:0]=000和cmd_mode[7]=1的i2c命令批操作,所以即使将数据结束保存在mem1中,也不开始向从serdes13的传输。接下来,b2的操作是相同的,除了b1的slave_adr被改变为温度传感器14(s1_adr=0
×
03)。最后b3指示cmd_code[2]=1是特殊码,并且下面的数据指示特殊码。在该实例中,通过连续接收表示命令结束和停止条件的特殊cmd_done(0
×
ff)(步骤s12),主serdes7将保存在mem1中的接收数据(图41)作为i2c命令批量传输一起发送给从serdes13。
[0332]
注意,在本实施例中,在主设备21设置cmd_mode[7]=1的情况下,在随后将0
×
ff写入到cmd_done之前,不应设置cmd_mode[7]=0。
[0333]
图42至图52示出随机读取操作(在cmd_mode[3:0]=0001和[7]=0的情况下的读取操作)。随机读取操作在以下点上与随机写入操作实质上不同。
[0334]
在读取操作中,如图42至图45所示,首先,主设别21将读取请求写入主serdes7(图42至图43),并且主serdes7将读取请求写入从serdes13(图44至图45)。
[0335]
此后,如图46a和图47中的步骤s25中的mi2c协议的处理中所示,在利用“s”、“sl_adr”、“w”和“sub_adr”写入处理对象是图像传感器12的mem3之后,利用“sr”、“sl_adr”和“r”从处理对象进行读取。
[0336]
在下文中,将参考图42至图52顺序地描述随机读取的处理过程。图42示出了在批量i2c模式中,i2c命令分组从主设备21到主serdes7的传输过程。首先,如图42的步骤s21中所示,进行m i2c协议的处理。这里,主设备21向主serdes7发出用于请求与从设别22的i2c
通信的命令。从主设备21发送的命令集包括serdes1st_adr、mem1sub_adr、mem1sub_adr、i2c设置clk、cmd_mode、最终目标从设备adr、最终目标sub_adrh、最终目标sub_adr、数据lengthh、数据lengthl和p(停止条件)。
[0337]
每当从主设备21接收到信息单元时,主serdes7根据si2c协议将ack信号返回至主设备21(步骤s21)。此外,主serdes7还将接收到的i2c命令分组存储在mem1中(步骤s22)。图43是示出在批量i2c模式的随机读取操作时的mem1中的表1的保存数据的示图。如图43所示,(数据)clk_value、(数据)cmd_mode、(数据)sl_adr、(数据)sub_adrh、(数据)sub_adrl、(数据)length、(数据)lengthl和数据结束存储在mem1中。
[0338]
图44是接续图42的示图,示出了通过通信协议x在批量i2c模式从主serdes7向从serdes13传输随机读取命令的处理。主serdes7通过phy上的打包i2c(取决于每个phy规范)转发通道对mem1中的数据进行协议转换,并且将转换后的数据发送至从serdes13(步骤s23)。更具体地,当cmd_mode=0
×
00时,数据结束存储在mem1中,则对mem1中的数据统一进行i2c命令转换,转换后的数据通过备用链路发送给从serdes13。同时,当mem1中存储数据结束,并以cmd_mode=0
×
10写入cmd_done时,对mem1中的数据统一进行i2c命令转换,转换后的数据通过备用链路发送给从serdes13。从serdes13对接收到的备用链路的数据进行协议转换,并将原保存的mem1的数据保存在mem2中(步骤s24)。从serdes13判断i2c命令分组的恢复在数据的结束恢复的阶段已经结束。图45是示出以批量i2c模式进行随机读取操作时mem2中保存数据的实例的表格。
[0339]
图46a为接续图44的示图,并且示出了以批量i2c模式将随机读取命令从serdes13传输至从serdes22的处理。从serdes13按照mi2c协议向从设备22发送i2c命令分组(步骤s25)。从设备22按照接收到的各信息单元的si2c协议,将ack信号返回给从serdes13,并从sub_adrh和sub_adrl指定的地址依次将rdata发送给从serdes13。图47是示出了在批量i2c模式下进行随机读取操作后的mem2中的表3的保存数据的示图。如图47所示,从serdes13为每个字节向从设备22发送指示已经接收到rdata的ack信号,并且将来自从设备22的rdata存储在mem2中。
[0340]
可以看出,图46a中的从serdes13和从设备22在图46b中所示的随机读取操作时根据符合i2c通信协议的协议执行通信。
[0341]
图48为接续图46的示图,示出了根据通信标准x以批量i2c模式将读取命令从serdes13返回至主serdes7的处理。从serdes13通过phy(根据每个phy规范)转发通道上的分组i2c发送rdata(步骤s26)。更具体地,从serdes13转换与从设备22 数据结束的i2c通信结果(rdata,ack),并且在前向link中将转换结果发送到主serdes7。图47示出了随机读取操作之后mem2中的表3的保存数据。
[0342]
图49为接续图48示图,并且示出了当在批量i2c模式下接收到从serdes13对随机读取命令的响应时的主serdes7的处理。主serdes7对收到的正向链路数据进行协议转换,并将收到的i2c和从设备22之间的通信结果(ack/nack)等数据保存在mem1中。图50为示出在批量i2c模式下在从从serdes13接收到随机读取命令的应答数据之后,mem1中的数据的一个实例的示图。
[0343]
图51是示出在批量i2c模式下主设备21对主serdes7进行随机读取命令的轮询并且读取执行结果的情况下的处理的示图。主设备21在mi2c协议中向主serdes7轮询请求命
令结果(步骤s27)。主设备21不等待从属22侧的ack而在自身的定时进行轮询,主serdes7将ack或者rdata作为轮询结果返回给主设备21(步骤s27)。
[0344]
当完成由主设备21向主serdes7请求的“16字节读取至从设备22”的结果时,可以读取数据结束(0
×
9f)以及所产生的ack(0
×
81)。如果数据结束的读出结果不是0
×
9f,则继续轮询。在本例中,通过读取1字节来确认数据结束的结果,来进行轮询判定,通过再次读取17字节,来读取rdata(16字节) ack/nack。然而,也可以一次读取18字节并确定轮询结果和i2c通信结果给从设备22。在结果是nack的情况下,主设备21能够通过读取从设备adr sub_adr来确认nack是否来自从设备22(15)。
[0345]
图52是示出在批量i2c模式下对随机读取命令的存储区域被释放之前的mem1中的表1的保存数据的实例的示图。
[0346]
在图46a中,已经描述了从serdes13对于从设备22执行随机读取的处理。然而,如图53a所示,当从装置22中的mem3被首次访问时,必须执行随机读取,但是在第二次之后,可以执行当前读取。
[0347]
当mem2中写入数据结束,或者数据结束和cmd_done时,从serdes13对mem2中写入的数据进行i2c协议转换,并与从设备22进行i2c通信。在执行电流读取的情况下(在cmd_mode[3:0]=1001的情况下),未使用图54中所示的mem2中的sub_adrh和sub_adrl。因此,从从serdes13发送到从设备22的i2c命令协议减少了2字节。
[0348]
可以看出,图53a中的从serdes13和从设备22根据遵循图53b中所示的i2c通信协议的协议进行通信。
[0349]
(错误命令格式)
[0350]
在如上所述的图11b所示的命令格式中设置了错误命令格式的情况下,当选择批量i2c模式时,当发生错误时,执行错误命令格式的数据传输。图55是批量i2c模式的正常状态下的读取操作的时序图,图56是批量i2c模式中的读取期间发生错误的情况(下文中称为读取错误情况1)的时序图。
[0351]
如图55所示,在正常状态下,节点2向从设备22发送从设备地址和偏移地址,然后从从设备22接收rdata,并且向节点1发送rdata。图56示出了在节点2将偏移地址传输到从设备22之后,在受限时段内自从设备22未到达ack/nack信号的实例。在这种情况下,节点2在超时时强制终止与从设备22的通信,向节点1发送错误命令格式,并且执行初始化处理。主设备21通过读取由节点1接收的错误命令格式来确定在i2c通信期间已经发生了错误。
[0352]
图57为示出了作为批量i2c模式中的节点2的从serdes13发送错误命令格式时mem2中的表3的保存数据的示图。subadr[0:7]的读取命令格式的值与图45中的表3的值相同。图45中的表3中的subadr[8:n-1]具有读响应格式,而图57中的subadr[8:n-1]具有错误命令格式。虽然在图45的subadr[10:n-2]中写入rdata,但是图57的subadr[10:n-2]是不关心的。此外,在图57中的subadr[n-1]中写入错误命令格式的数据结束。
[0353]
图58为示出当主serdes7(即,批量i2c模式中的节点1)传输错误命令格式时,mem1中的表1的保存数据的示图。与图50中的表1相比,subadr[0:7]的读取命令格式的值相同。图50的表1中的subadr[8:n-1]具有读取响应格式,而图58中的subadr[8:n-1]具有错误命令格式。rdata在图45中被写入subadr[n-3:n-2],而图58中的subadr[n-3:n-2]是不关心的。由于在图58中的subadr[n-]中写入错误命令格式的数据结束,所以主设备21在正常操
作和错误操作时可执行相似的轮询处理。
[0354]
图59是在批量i2c模式中的读取期间发生错误的情况下的时序图(在下文中,读取错误情况2)。图59示出了无法将读取命令格式从节点1发送至节点2的情况。由于节点1不能在受限时间段内向节点2发送读取命令格式,所以节点1向节点2发送错误命令格式,从而提供已经发生错误的通知。主设备21通过读取节点1的错误命令格式来确定在i2c通信期间已经发生了错误。当接收错误命令格式时,节点2根据需要执行初始化处理。
[0355]
图60为示出在读取错误情况2中以节点1(主serdes7)的mem1为单位的表1的保存数据的示图。subadr[0:7]的读取命令格式与图50的表1中的subadr[0:7]的读取命令格式相同。虽然图50的subadr[8:n-1]具有读取响应格式,但是图60的subadr[8:n-1]具有错误命令格式。错误命令格式的subadr[10:n-2]是不关心的,并且错误命令格式的数据结束被写入subadr[n-1]中。因此,主设备21能够在正常状态和错误状态下执行类似的轮询处理。
[0356]
图61是示出在写入错误情况下包括在节点1中的mem1中的表1的保存数据的示图。subadr[0:n-1]的写入命令格式与图35的表1中的subadr[0:n-1]的写入命令格式相同。虽然图35的subadr[n:n 9]具有ack/nack格式,但是图61的subadr[n:n 9]具有错误命令格式。错误命令格式的subadr[n 2:n 8]是不关心的,并且错误命令格式的数据结束被写入subadr[n 9]中。因此,主设备21能够在正常状态和错误状态下执行类似的轮询处理。
[0357]
图62是根据本实施方式的通信系统3的等效框图。图62中的通信系统3在对应于主设备21的第一外部设备和对应于从设备22的第二外部设备之间执行数据通信时,在主设备21与从设备22之间设置主serdes7和从serdes13以中继主设备21与从设备22之间的数据通信。主serdes7具有第一link(link 11)。从serdes13具有第二link(link 17)。第一link根据来自主设备21的第一外部信号生成第一输出信号并输出至从serdes13,根据来自从serdes13的第二输出信号生成第三输出信号并输出至主设备21。第二link基于来自从设备22的第二外部信号生成第二输出信号并输出到主serdes7,基于来自主serdes7的第一输出信号生成第四输出信号并输出到从设备。
[0358]
第一link也可以选择在每次发送预定字节数(例如1字节或2字节)的信息时,接收表示肯定应答的ack信号或表示否定应答的nack信号的第一模式,或者选择在每次发送大量信息(即大量多个字节的信息)时接收ack信号或nack的第二模式。通信系统,其中,第一输出信号和第二外部信号中的每个包括指示从第一外部装置发送的命令的内容的命令信息。
[0359]
通过如图62所示配置通信系统3,可以在主设备21与从设备22之间高速执行数据通信。
[0360]
在主serdes7和从serdes13之间,数据通信可通过例如tdd方式或频分双工(fdd)方式来高速执行。
[0361]
如上所述,在本实施例中,在主设备21和从设备22之间配置主serdes7和从serdes13,在主serdes7和从serdes13之间利用通信标准x,能够高速串行传送各种信息。通信标准x可以是fdd方式或tdd方式。在主serdes7和从serdes13之间,能够选择每次发送1字节或2字节信息时接收ack/nack的字节i2c模式(第一模式)或每次发送作为多字节信息块的块信息时接收ack/nak信号的批量i2c模式(第二模式)。在选择字节i2c模式的情况下,能够以接近于使用fdd方式的i2c通信的格式使用tdd方式执行i2c通信。此外,在选择批量i2c
模式的情况下,当主serdes7接收到从主设备21发送到从设备22的命令时,主serdes7能够通过它自己的确定向主设备21返回ack,而无需等待来自从设备22的ack。因此,主设备21能够快速接收ack,并且能够在接收ack之后快速执行处理。即,可以缩短主设备21在接收ack之前使时钟拉伸的期间,并且可以提高主设备21的处理效率。
[0362]
应注意,本技术还可具有以下配置。
[0363]
(1)一种通信装置,包括:
[0364]
link,被配置为对来自主设备的信号进行协议转换,并将转换后的信号输出给从serdes,将来自从serdes的信号进行协议转换后,并将转换后的信号输出给主设备,其中,
[0365]
在从主设备向从serdes发送信号时,link能够从第一模式和第二模式中选择一个模式,
[0366]
在第一模式下,link重复进行如下处理,
[0367]
以从主设备发送的1字节信号为单位,将从所述主设备发送的1字节信号转换成第一通信标准的信号,将转换后的信号发送至所述从serdes,然后,接收包括表示肯定应答的ack信号或表示否定应答的nack信号的所述第一通信标准的信号,将接收到的信号转换成第二通信标准的信号,并且将转换后的信号发送至所述主设备,以及
[0368]
在第二模式中,link
[0369]
每当逐字节接收从主设备发送的多字节信号时,将包括ack信号或nack信号的信号发送至主,
[0370]
对从主设备接收到的多字节信号完成转换后,将转换后的信号统一发送给从serdes,
[0371]
然后,从所述从serdes接收包括ack信号或nack信号的第一通信标准的信号,并保持该第一通信标准的信号;并且
[0372]
然后,响应于来自所述主设备的读出请求,将所述第一通信标准的信号转换成所述第二通信标准的信号,并且将转换后的信号发送至所述主设备,并且
[0373]
发送给从serdes的信号包括指示从主设备发送的内容的命令信息,发送给主设备的信号包括指示从该从serdes发送的内容的命令信息。
[0374]
(2)根据(1)所述的通信装置,其中,在第一模式下发送给从serdes的信号的字节数是两个字节或三个字节,不包括时钟频率信息和纠错码。
[0375]
(3)根据(1)或(2)所述的通信装置,其中,
[0376]
在第一模式下,link
[0377]
当从主设备接收到包括开始条件的信号时,转换到第一状态,
[0378]
当转换到第一状态时,将开始条件转换为第一通信标准的信号并将转换后的信号发送给从serdes,
[0379]
然后,在link处于第一状态时,当从主设备接收到包括1字节的最终目的地设备的地址信息的信号时,转换到第二状态并将来自主设备的时钟保持为低电平,
[0380]
在所述第二状态下,将包括地址信息的信号转换为所述第一通信标准的信号,并将转换后的信号发送给从serdes,
[0381]
然后,当在link处于第二状态时从该从serdes接收到包括ack信号或nack信号的信号时,在包括地址信息的信号的特定位为第一位值的情况下,识别写入并转换至第三状
态,并且
[0382]
在第三状态下,将从该从serdes接收到的包括ack信号或nack信号的信号转换成第二通信标准的信号并将转换后的信号发送给主设备,然后解除对来自主设备的时钟的低电平的保持。
[0383]
(4)根据(3)所述的通信装置,其中,
[0384]
在第一模式下,link
[0385]
当在link处于第三状态时从主机接收到包括1字节写入数据的信号时,转换到第四状态,
[0386]
在第四状态下,将所接收的信号转换为第一通信标准的信号并将转换后的信号发送至处于从serdes,以及
[0387]
然后,当link处于第四状态时,从该从serdes接收到包括ack信号或nack信号的信号后,将接收到的信号转换成第二通信标准的信号并发送给主设备。
[0388]
(5)根据(4)所述的通信装置,其中,
[0389]
在第一模式中,link
[0390]
在link处于第二状态或第四状态的同时,在预定时间段内未从该从serdes接收到包括ack信号或nack信号的信号的情况下,转换到第五状态,以及
[0391]
在第五状态下执行错误处理。
[0392]
(6)根据(1)或(2)所述的通信装置,其中,
[0393]
在第一模式下,link
[0394]
当从主机接收到包括开始条件或re开始条件的信号时,转换到第一状态,
[0395]
在转换到第一状态后,将接收到的包括开始条件或者重开始条件的信号转换为第一通信标准的信号,并将转换后的信号发送给所述从serdes,
[0396]
然后,在link处于第一状态时,当从主设备接收到1字节的包括最终目的地设备的地址信息的信号时,转换到第二状态,并保持来自主机的时钟为低电平,
[0397]
在第二状态下,将所述包括地址信息的信号转换为所述第一通信标准的信号,并将转换后的信号发送给从serdes,
[0398]
然后,当在link处于第二状态中时,在从该从serdes接收到包括ack信号或nack信号的信号时,在包括地址信息的信号的特定位为第二位值的情况下,识别读取并转换到第六状态,并且
[0399]
在所述第六状态下,将从该从serdes接收到的包括ack信号或nack信号的信号转换成第二通信标准的信号并将转换后的信号发送给主设备,然后解除对来自主设备的时钟的低电平的保持。
[0400]
(7)根据(6)所述的通信装置,其中,
[0401]
在第一模式下,link
[0402]
当link处于第六状态时,从该从serdes接收到的包括1字节读出数据的信号时,转换到第七状态,
[0403]
在第七状态中将所接收的信号转换成第二通信标准的信号并将转换后的信号发送给主设备,以及
[0404]
然后,当link处于第七状态时,在从主设备接收到包括ack信号或nack信号的信号
后,转换到第六状态,并将接收到的信号转换为第一通信标准的信号,并将转换后的信号发送给从serdes。
[0405]
(8)根据(7)所述的通信装置,其中,
[0406]
在第一模式下,link
[0407]
在link处于第六状态时,在预定时间段内未从该从serdes接收到读出数据的情况下,转换到第八状态,
[0408]
在link处于第七状态时,在预定时间段内未从主设备接收到ack信号或nack信号的情况下,转换到第八状态,以及
[0409]
通过在第八状态中执行错误处理,避免包括该通信装置、主设备以及从serdes的整个系统的死锁。
[0410]
(9)根据(1)至(8)中任一项所述的通信装置,其中,
[0411]
在第二模式中,link
[0412]
从自主设备接收包括开始条件的信号到自主设备接收包括停止条件的信号期间,保持接收信号,并且针对接收信号的每个字节将包括ack信号或nack信号的信号发送到主设备,
[0413]
将接收到的信号转换为第一通信标准的信号,并将转换后的信号发送给所述从serdes,以及
[0414]
从该从serdes接收包括ack信号或nack信号的信号并对接收到的信号进行保持,然后,响应于来自主设备的读出请求,将来自从serdes的信号转换为第二通信标准的信号,并将转换后的信号发送给主设备。
[0415]
(10)根据(1)至(9)中任一项所述的通信装置,其中,
[0416]
所述命令信息包括以下至少一个:
[0417]
用于选择所述第一模式或所述第二模式的第一信息,
[0418]
第二信息,指示在选择了所述第一模式的情况下选择所述从serdes或所述通信装置是否根据所述从serdes或所述通信装置自身的判断来生成用于发送和接收数据的时钟信号,或者是否明确指定由所述从serdes或所述通信装置使用的时钟信号,
[0419]
第三信息,指示在选择了所述第一模式的情况下是否包括要写入或读取的数据,
[0420]
第四信息,指示在选择了所述第一模式的情况下是否已接收到所述nack信号,
[0421]
第五信息,指示在选择了所述第一模式的情况下是否已接收到所述ack信号,
[0422]
第六信息,指示在选择了第一模式的情况下是否包括指示停止信息传输的停止条件,以及
[0423]
第七信息,指示在选择了所述第一模式的情况下是否包括指示开始信息传输的开始条件或指示重新开始信息传输的重复开始条件。
[0424]
(11)根据(10)所述的通信装置,其中,在第一模式下,link在向从serdes发送包括第七信息的信号之后,向从serdes发送包括最终目的地设备的地址信息的信号。
[0425]
(12)根据(10)所述的通信装置,其中,在第一模式下,link在将通过组合第七信息和最终目的地装置的地址信息获得的信号发送至从serdes。
[0426]
(13)根据(1)至(12)中任一项所述的通信装置,其中,去往从serdes的信号和去往主设备的信号中的每一个除了命令信息之外还包括纠错码、数据、时钟频率信息和指示待
发送和接收的命令的类型的信息中的至少一者。
[0427]
(14)根据(1)至(13)中任一项所述的通信装置,其中,
[0428]
去往所述从serdes的信号包括以下至少之一:
[0429]
最终目的地地址信息,用于识别从所述主设备发送的所述信号的最终目的地设备,
[0430]
最终目的地设备的子地址信息,以及
[0431]
指示从主设备发送的数据的长度的数据长度信息。
[0432]
(15)根据(1)至(14)中任一项所述的通信装置,其中
[0433]
所述命令信息在选择了所述第二模式的情况下,包括在所述第一通信标准中定义的命令格式信息,以及
[0434]
所述命令格式信息包括错误命令格式。
[0435]
(16)根据(1)至(15)中任一项所述的通信装置,其中,命令信息在选择了所述第二模式的情况下,包括数据结束确定条件信息,数据结束确定条件信息指定从主装置传输的信号的结束确定的条件。
[0436]
(17)根据(1)至(16)中任一项所述的通信装置,其中,去往从serdes的信号和来自从serdes的信号包括通过将集成电路间(i2c)通信的命令协议转换为第一通信标准而获得的命令。
[0437]
(18)根据(17)所述的通信装置,其中,link的协议转换是时分双工(tdd)的协议转换。
[0438]
(19)一种通信装置,包括:
[0439]
link,被配置为对来自主serdes的信号进行协议,并将转换后的信号输出给从设备,以及对来自从设备的信号进行协议转换并转换后的信号输出给serdes,其中,
[0440]
link在将来自从主serdes的信号向从设备发送时,能够选择第一模式和第二模式中的一个模式,
[0441]
在第一模式下,link重复以下处理,
[0442]
当接收到从所述主serdes发送的第一通信标准的信号时,以接收信号为单位,将接收信号转换成第二通信标准的信号,并将转换后的信号发送给所述从设备,然后接收包括表示肯定应答的ack信号或表示否定应答的nack信号的所述第二通信标准的信号,并将接收信号转换成所述第一通信标准的信号,将所述转换后的信号发送给所述主serdes的处理,
[0443]
在第二模式中,link
[0444]
当接收到从主serdes发送的第一通信标准的多字节信号时,将接收到的信号转换成所述第二通信标准的信号,并逐字节地将转换后的信号发送给所述从设备,以及
[0445]
每当将转换后的信号逐字节地发送至从设备时,接收来自从设备的包括ack信号或nack信号的第二通信标准的信号并进行保持,以及
[0446]
在将来自所述主serdes的信号向所述从设备发送完成之后,将与所保持的信号对应的第一通信标准的信号发送至所述主serdes,以及
[0447]
来自主serdes的信号包括指示从该主serdes发送的内容的命令信息,来自从设备的信号包括指示从该从设备发送的内容的命令信息。
[0448]
(20)一种通信系统,包括:
[0449]
主serdes,具有第一link;以及
[0450]
从serdes,具有第二link,其中,
[0451]
所述第一link在将来自从主设备的信号向从serdes发送时,能够选择第一模式和第二模式中的一个模式,
[0452]
在第一模式下,第一link重复以下处理:
[0453]
以从该主设备发送的1字节信号为单位,将从该主设备发送的1字节信号转换为第一通信标准的信号,并将转换后的信号发送给从serdes,然后,接收从所述从设备发送的包括表示肯定应答的ack信号或表示否定应答的nack信号的第一通信标准的信号,并将所接收的信号转换为第二通信标准的信号,并且将转换后的信号发送至所述主设备,
[0454]
在第二模式下,第一link
[0455]
每当逐字节接收从该主设备发送的多字节信号时,将包括ack信号或nack信号的信号发送至主设备,
[0456]
对从主设备接收到的多字节信号完成转换后,将转换后的信号统一发送至从serdes,
[0457]
然后,从该从serdes接收包括ack信号或nack信号的第一通信标准的信号,并进行保持;并且
[0458]
然后,响应于来自所述主设备的读出请求,将所述第一通信标准的信号转换成所述第二通信标准的信号,并且将转换后的信号发送至所述主设备,并且
[0459]
发送给从serdes的信号包括指示主设备发送的内容的命令信息,发送给主设备的信号包括指示从该从serdes发送的内容的命令信息,并且
[0460]
所述第二link在将来自该主serdes的信号向从设备发送时,能够选择第一模式和第二模式中的一个模式,
[0461]
在第一模式下,第二link重复以下处理:
[0462]
当接收到从所述主serdes发送的所述第一通信标准的信号之后,以接收信号为单位转换为所述第二通信标准的信号,并将转换后的信号发送给所述从设备,然后接收包括表示肯定应答的ack信号或表示否定应答的nack信号的所述第二通信标准的信号,并将接收信号转换为所述第一通信标准的信号并发送给所述主serdes,
[0463]
在第二模式下,第二link
[0464]
当接收到从主serdes发送的第一通信标准的多字节信号时,将接收到的信号转换成第二通信标准的信号,并逐字节地将转换后的信号发送给从设备,
[0465]
每当将转换后的信号逐字节地发送至从设备时,接收来自从设备的包括ack信号或nack信号的第二通信标准的信号并进行保持,以及
[0466]
在将来自从所述主serdes的信号向所述从设备发送完成之后,将与所保持的信号对应的第一通信标准的信号发送至所述主serdes,以及
[0467]
来自主serdes的信号包括指示从主serdes发送的内容的命令信息,来自从设备的信号包括指示从设备发送的内容的命令信息。
[0468]
本公开的各方面不限于上述个别实施例,而是还包括可由本领域的技术人员想到的各种修改,并且本公开的效果不限于上述内容。即,在不背离从在权利要求及其等同物中
限定的内容获得的本公开的概念构思和目的的情况下,各种添加、改变和部分删除是可能的。
[0469]
符号说明
[0470]
1通信装置3通信系统4ecu4ai2c
[0471]
5soc5ai2c7主serdes8i2ccmd单元
[0472]
9fw.rx10rv.tx11link11amem
[0473]
12图像传感器12ai2c13从serdes14温度传感器
[0474]
17link19mem20mem21主设备22从设备。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献