Communication interface and method for seamless asymmetric communication over multilane communication link
A communication interface is used at a first end of a communication link and includes a number of communication lanes. The communication interface includes a logic configured to cooperate with another communication interface at a second end of the communication link to send data to the second end over the communication lanes. The logic is configured to store a communication lane status for an awake communication lane, and upon detecting that the communication lane status for the awake communication lane is changed to a first determined status: to stop sending data over the awake communication lane, change an asleep communication lane into a new awake communication lane, and inform the communication interface at the second end.
1 . A communication interface for use at a first end of a communication link comprising a number of communication lanes greater or equal to two, the communication interface comprising a buffer, a gate, and a processor, the processor configured to:
cooperate with another communication interface at a second end of the communication link to send data to the second end over one awake communication lane amongst the communication lanes, and to not sent data over at least one asleep communication lane amongst the communication lanes being in a sleep mode
store a communication lane status for the awake communication lane; and
upon detecting that the communication lane status for the awake communication lane has changed to a first determined status:
stop sending data over the awake communication lane;
change the asleep communication lane into a new awake communication lane;
inform the communication interface at the second end that the new awake communication lane will be used to send data; and
send data to the second end over the new awake communication lane
wherein, for each given communication lane amongst all awake communication lanes and all asleep communication lanes, the buffer is configured to receive data to be transmitted, over the given communication lane, to a corresponding buffer in the other communication interface at the second end, and the gate is configured to open or close an input in the buffer of the data to be transmitted over the given communication lane, to the corresponding buffer in the other communication interface at the second end, and
control the gate depending on the communication lane status of the given communication lane.
2 . The communication interface according to claim 1 , wherein the buffer is further configured to receive data transmitted over the given communication lane from the corresponding buffer in the other communication interface at the second end, the gate is further configured to open or close an output in the buffer of the data received over the given communication lane.
3 . The communication interface according to claim 1 , further configured to split a data frame into a number of subframes corresponding to a number of awake communication lanes, the data to be transmitted over the awake communication lanes being one of the number of subframes.
4 . The communication interface according to claim 1 , wherein the data to be transmitted over the awake communication lanes is a control message containing a control information to be used for controlling a working of a device located at the second end and connected to the other communication interface at the second end.
5 . The communication interface according to claim 1 , further configured to, upon detecting that the communication lane status for the awake communication lane has changed to a second determined status:
change the asleep communication lane into a new awake communication lane;
inform the other communication interface at the second end that the new awake communication lane will be used to send data; and
send data to the second end over the awake communication lane and over the new awake communication lane.
6 . A communication network comprising a first node at the first end of the communication link and a second node at the second end of the communication link, the first node and the second node each comprising a respective communication interface configured according to the communication interface of claim 1 .
7 . The communication network according to claim 6 , the communication network being an in-vehicle communication network.
8 . A method of communication over a communication link comprising a number of communication lanes greater or equal to two, and having a first end and a second end, the method comprising:
sending data from the first end to second end over one awake communication lane amongst the communication lanes, and not sending data over at least one asleep communication lane amongst the said communication lanes being in a sleep mode;
storing, at the first end, a communication lane status for the awake communication lane; and
detecting, at the first end, that the communication lane status for the awake communication lane has changed to a first determined status, and upon detecting, at the first end, that the communication lane status for the said awake communication lane has changed to the determined status:
stopping sending data over the awake communication lane;
changing the asleep communication lane into a new awake communication lane;
informing another communication interface at the second end that the new awake communication lane will be used to send data; and
sending data to the second end over the new awake communication lane; and
for each given communication lane amongst all awake communication lanes and all asleep communication lanes, inputting, in a buffer at the first end, data to be transmitted, over the given communication lane, to a corresponding buffer at the second end, and controlling a gate at the first end to open or close an input in the buffer of the data to be transmitted over the given communication lane, to the corresponding buffer at the second end, depending on the communication lane status of the given communication lane.
9 . The method according to claim 8 , further comprising receiving in the buffer at the first end, the data transmitted over the given communication lane from the corresponding buffer at the second end, and controlling the gate at the first end to open or close an output in the buffer of the data received over the given communication lane, depending on the communication lane status of the given communication lane.
10 . The method according to claim 8 , further comprising splitting, at the first end, a data frame into a number of subframes corresponding to a number of awake communication lanes, the data to be transmitted over the awake communication lanes being one of the subframes.
11 . The method according to claim 8 , wherein the data to be transmitted over the awake communication lanes is a control message containing a control information to be used for controlling a working of a device located at the second end and connected to the other communication interface at said second end.
12 . The method according to claim 8 , further comprising detecting, at the first end, that the communication lane status for the awake communication lane has changed to a second determined status, and upon detecting, at the first end, that the communication lane status for the awake communication lane has changed to the second determined status:
changing the asleep communication lane into a new awake communication lane;
informing the other communication interface at the second end that the new awake communication lane will be used to send data; and
sending data to the second end over the awake communication lane and over the new awake communication lane.
13 . A non-transitory computer-readable storage medium storing program code, which upon being executed by one or more processors, provide for performance of a method of communication over a communication link comprising a number of communication lanes greater or equal to two, and having a first end and a second end, the method comprising:
sending data from the first end to second end over one awake communication lane amongst the communication lanes, and not sending data over at least one asleep communication lane amongst the said communication lanes being in a sleep mode;
storing, at the first end, a communication lane status for the awake communication lane; and
detecting, at the first end, that the communication lane status for the awake communication lane has changed to a first determined status, and upon detecting, at the first end, that the communication lane status for the said awake communication lane has changed to the determined status:
stopping sending data over the awake communication lane;
changing the asleep communication lane into a new awake communication lane;
informing another communication interface at the second end that the new awake communication lane will be used to send data; and
sending data to the second end over the new awake communication lane; and
for each given communication lane amongst all awake communication lanes and all asleep communication lanes, inputting, in a buffer at the first end, data to be transmitted, over the given communication lane, to a corresponding buffer at the second end, and controlling a gate at the first end to open or close an input in the buffer of the data to be transmitted over the given communication lane, to the corresponding buffer at the second end, depending on the communication lane status of the given communication lane.
14 . The non-transitory computer-readable storage medium according to claim 13 , further storing instructions for receiving in the buffer at the first end, the data transmitted over the given communication lane from the corresponding buffer at the second end, and controlling the gate at the first end to open or close an output in the buffer of the data received over the given communication lane, depending on the communication lane status of the given communication lane.
15 . The non-transitory computer-readable storage medium according to claim 13 , further storing instructions for splitting, at the first end, a data frame into a number of subframes corresponding to a number of awake communication lanes, the data to be transmitted over the awake communication lanes being one of the subframes.
16 . The non-transitory computer-readable storage medium according to claim 13 , wherein the data to be transmitted over the awake communication lanes is a control message containing a control information to be used for controlling a working of a device located at the second end and connected to the other communication interface at said second end.
17 . The non-transitory computer-readable storage medium according to claim 13 , further storing instructions for detecting, at the first end, that the communication lane status for the awake communication lane has changed to a second determined status, and upon detecting, at the first end, that the communication lane status for the awake communication lane has changed to the second determined status:
changing the asleep communication lane into a new awake communication lane;
informing the other communication interface at the second end that the new awake communication lane will be used to send data; and
sending data to the second end over the awake communication lane and over the new awake communication lane.