The present disclosure relates to a communication device and a communication system.
A technique for performing serial communication between a SerDes device for a master device and a SerDes device for a slave device in a case of performing data communication between the master device and the slave device has been proposed.
In a case where the slave device receives data transmitted from the master device, an ACK signal indicating reception of the data is generally transmitted from the slave device to the master device. However, in a case where two SerDes devices are disposed between the master device and the slave device, the ACK signal passes through these SerDes devices. Therefore, it takes a considerable time from when the slave device transmits the ACK signal to when the master device receives the ACK signal.
In a case where a specification is set such that a new signal cannot be transmitted to the slave device until the master device receives the ACK signal from the slave device, there is a possibility that processing of the master device is delayed because it takes time to receive the ACK signal.
Therefore, the present disclosure provides a communication device and a communication system capable of efficiently performing data communication.
To solve the above-described problem, according to the present disclosure, a communication device is provided, which includes:
a LINK configured to perform protocol conversion of a signal from a Master and output the converted signal to a Slave SerDes, and perform protocol conversion of a signal from the Slave SerDes and output the converted signal to the Master, in which
the LINK is capable of alternatively selecting a first mode and a second mode when transmitting the signal from the Master to the Slave SerDes,
in the first mode, the LINK
repeats processing of converting a 1-byte signal transmitted from the Master into a signal of a first communication standard in units of the 1-byte signal, transmits the converted signal to the Slave SerDes, then receives a signal of the first communication standard including an ACK signal indicating an acknowledgement or a NACK signal indicating a negative acknowledgement, converts the received signal into a signal of a second communication standard, and transmits the converted signal to the Master, and
in the second mode, the LINK
transmits a signal including the ACK signal or the NACK signal to the Master each time receiving a multi-byte signal transmitted from the Master byte by byte,
collectively transmits converted signals to the Slave SerDes after the conversion of the multi-byte signal received from the Master is completed,
then receives and retains the signal of the first communication standard including the ACK signal or the NACK signal from the Slave SerDes, and
then converts the signal of the first communication standard into a signal of the second communication standard and transmits the converted signal to the Master in response to a readout request from the Master, and
the signal transmitted to the Slave SerDes includes command information indicating content transmitted from the Master, and the signal transmitted to the Master includes command information indicating content transmitted from the Slave SerDes.
The number of bytes of the signal transmitted to the Slave SerDes in the first mode may be two bytes or three bytes excluding clock frequency information and an error correction code.
In the first mode, the LINK may
transition to a first state when having received a signal including Start Condition from the Master,
convert the Start Condition into a signal of the first communication standard and transmit the converted signal to the Slave SerDes when having transitioned to the first state,
then, transition to a second state and hold a clock from the Master to a low level when having received signal including 1-byte address information of a final destination device from the Master while the LINK is in the first state,
convert the signal including address information into a signal of the first communication standard and transmit the converted signal to the Slave SerDes in the second state,
then, recognize write and transition to a third state in a case where a specific bit of the signal including address information is a first bit value when having received the signal including the ACK signal or the NACK signal from the Slave SerDes while the LINK is in the second state, and
convert the signal including the ACK signal or the NACK signal received from the Slave SerDes into a signal of the second communication standard and transmit the converted signal to the Master, and then release the hold of the low level of the clock from the Master in the third state.
In the first mode, the LINK may
transition to a fourth state when having received a signal including 1-byte write data from the Master while the LINK is in the third state,
convert the received signal into a signal of the first communication standard and transmit the converted signal to the Slave SerDes in the fourth state, and
then, convert the received signal into a signal of the second communication standard and transmits the converted signal to the Master when having received the signal including the ACK signal or the NACK signal from the Slave SerDes while the LINK is in the fourth state.
In the first mode, the LINK may
transition to a fifth state in a case of not receiving the signal including the ACK signal or the NACK signal within a predetermined period from the Slave SerDes while the LINK is in the second state or the fourth state, and
perform error processing in the fifth state.
In the first mode, the LINK may
transition to a first state when having received a signal including Start Condition or ReStart Condition from the Master,
convert the received signal including Start Condition or ReStart Condition into a signal of the first communication standard and transmit the converted signal to the Slave SerDes when having transitioned to the first state,
then, transition to a second state and hold a clock from the Master to a low level when having received signal including 1-byte address information of a final destination device from the Master while the LINK is in the first state,
convert the signal including address information into a signal of the first communication standard and transmit the converted signal to the Slave SerDes in the second state,
then, recognize read and transition to a sixth state in a case where a specific bit of the signal including address information is a second bit value when having received the signal including the ACK signal or the NACK signal from the Slave SerDes while the LINK is in the second state, and
convert the signal including the ACK signal or the NACK signal received from the Slave SerDes into a signal of the second communication standard and transmit the converted signal to the Master, and then release the hold of the low level of the clock from the Master in the sixth state.
In the first mode, the LINK may
transition to a seventh state when having received a signal including 1-byte readout data from the Slave SerDes while the LINK is in the sixth state,
convert the received signal into a signal of the second communication standard and transmit the converted signal to the Master in the seventh state, and
then, transition to the sixth state, and convert the received signal into a signal of the first communication standard and transmit the converted signal to the Slave SerDes when having received the signal including the ACK signal or the NACK signal from the Master while the LINK is in the seventh state.
In the first mode, the LINK may
transition to an eighth state in a case of not receiving readout data within a predetermined period from the Slave SerDes while the LINK is in the sixth state,
transition to the eighth state in a case of not receiving the ACK signal or the NACK signal within a predetermined period from the Master while the LINK is in the seventh state, and
avoid deadlock of an entire system including the communication device, the Master, and the Slave SerDes by performing error processing in the eighth state.
In the second mode, the LINK may
retain a received signal from when receiving a signal including Start Condition to when receiving a signal including Stop Condition from the Master, and transmit the signal including the ACK signal or the NACK signal to the Master for each byte of the received signal,
convert the received signal into a signal of the first communication standard, and transmit the converted signal to the Slave SerDes, and
receive and retain the signal including the ACK signal or the NACK signal from the Slave SerDes, and then, convert the signal from the Slave SerDes into a signal of the second communication standard and transmit the converted signal to the Master in response to a readout request from the Master.
The command information may include at least one of
first information for selecting the first mode or the second mode,
second information for alternatively selecting whether or not the Slave SerDes or the communication device generates a clock signal for transmitting and receiving data by the Slave SerDes or the communication device's own determination or to explicitly specify the clock signal to be used by the Slave SerDes or the communication device in a case where the first mode is selected,
third information for instructing whether or not data to be written or read is included in the case where the first mode is selected,
fourth information indicating whether or not the NACK signal has been received in the case where the first mode is selected,
fifth information indicating whether or not the ACK signal has been received in the case where the first mode is selected,
sixth information indicating whether or not Stop Condition instructing stop of information transmission is included in the case where the first mode is selected, or
a seventh information indicating whether or not Start Condition instructing start of information transmission or a Repeated Start Condition instructing restart of information transmission is included in the case where the first mode is selected.
The LINK may transmit a signal including the seventh information to the Slave SerDes, and then transmit a signal including address information of a final destination device to the Slave SerDes in the first mode.
The LINK may transmit a signal obtained by combining the seventh information and address information of a final destination device to the Slave SerDes in the first mode.
Each of the signal to the Slave SerDes and the signal to the Master may include at least one of an error correction code, data, clock frequency information, or information indicating a type of a command to be transmitted and received, in addition to the command information.
The signal to the Slave SerDes may include at least one of
final destination address information for identifying a final destination device of the signal transmitted from the Master,
sub-address information of the final destination device, or
data length information indicating a length of data transmitted from the Master.
The command information may include command format information defined in the first communication standard in a case where the second mode is selected, and
the command format information may include an error command format.
The command information may include data end determination condition information that designates a condition for end determination of the signal transmitted from the Master in a case where the second mode is selected.
The signal to the Slave SerDes and the signal from the Slave SerDes may include a command obtained by performing protocol conversion of a command of inter-integrated circuit (I2C) communication into the first communication standard.
The protocol conversion by the LINK may be protocol conversion of time division duplex (TDD).
According to the present disclosure, a communication device is provided, which includes:
a LINK configured to perform protocol conversion of a signal from a Master serDes and output the converted signal to a Slave, and perform protocol conversion of a signal from the Slave and output the converted signal to the Master SerDes, in which
the LINK is capable of alternatively selecting a first mode and a second mode when transmitting the signal from the Master SerDes to the Slave,
in the first mode, the LINK
repeats processing of converting a received signal into a signal of a second communication standard in units of the received signal when having received a signal of a first communication standard transmitted from the Master SerDes, transmitting the converted signal to the Slave, then receiving a signal of the second communication standard including an ACK signal indicating an acknowledgement or a NACK signal indicating a negative acknowledgement, and converting the received signal into a signal of the first communication standard and transmitting the converted signal to the Master SerDes,
in the second mode, the LINK
converts a received signal into a signal of the second communication standard and transmit the converted signal to the Slave byte by byte when having received a multi-byte signal of the first communication standard transmitted from the Master SerDes, and
receives and retains the signal of the second communication standard including the ACK signal or the NACK signal from the Slave each time transmitting the converted signal to the Slave byte by byte, and
transmits a signal of the first communication standard corresponding to the retained signal to the Master SerDes after completing the transmission of the signal from the Master SerDes to the Slave, and
the signal from the Master SerDes includes command information indicating content transmitted from the Master SerDes, and the signal from the Slave includes command information indicating content transmitted from the Slave.
According to the present disclosure, a communication system is provided, which includes:
a Master SerDes provided with a first LINK; and
a Slave SerDes provided with a second LINK, in which
the first LINK is capable of alternatively selecting a first mode and a second mode when transmitting a signal from the Master to the Slave SerDes,
in the first mode, the first LINK
repeats processing of converting a 1-byte signal transmitted from the Master into a signal of a first communication standard in units of the 1-byte signal and transmitting the converted signal to the Slave SerDes, then receiving a signal of the first communication standard including an ACK signal indicating an acknowledgement or a NACK signal indicating a negative acknowledgement transmitted from the Slave, and converting the received signal into a signal of a second communication standard and transmitting the converted signal to the Master,
in the second mode, the first LINK
transmits the signal including the ACK signal or the NACK signal to the Master each time receiving a multi-byte signal transmitted from the Master byte by byte,
collectively transmits converted signals to the Slave SerDes after the conversion of the multi-byte signals received from the Master is completed,
then receives and retains the signal of the first communication standard including the ACK signal or the NACK signal from the Slave SerDes, and
then converts the signal of the first communication standard into a signal of the second communication standard and transmits the converted signal to the Master in response to a readout request from the Master, and
the signal transmitted to the Slave SerDes includes command information indicating content transmitted from the Master, and the signal transmitted to the Master includes command information indicating content transmitted from the Slave SerDes, and
the second LINK is capable of alternatively selecting the first mode and the second mode when transmitting a signal from the Master SerDes to the Slave,
in the first mode, the second LINK
repeats processing of converting a signal of the first communication standard transmitted from the Master SerDes into a signal of the second communication standard in units of the received signal and transmitting the converted signal to the Slave, then receiving a signal of the second communication standard including an ACK signal indicating an acknowledgement or a NACK signal indicating a negative acknowledgement, converting the received signal into a signal of the first communication standard and transmitting the converted signal to the Master SerDes,
in the second mode, the second LINK
converts a received signal into a signal of the second communication standard when receiving a multi-byte signal of the first communication standard transmitted from the Master SerDes, and transmits the converted signal to the Slave byte by byte,
receives and retains the signal of the second communication standard including the ACK signal or the NACK signal from the Slave each time transmitting the converted signal to the Slave byte by byte, and
transmits a signal of the first communication standard corresponding to the retained signal to the Master SerDes after completing the transmission of the signal from the Master SerDes to the Slave, and
the signal from the Master SerDes includes command information indicating content transmitted from the Master SerDes, and the signal from the Slave includes command information indicating content transmitted from the Slave.
Hereinafter, embodiments of a communication device and a communication system 3 will be described with reference to the drawings. Hereinafter, principal components of the communication device and the communication system 3 will be mainly described below, but the communication device and the communication system 3 may include configuration parts and functions that are not illustrated or described. The following description does not exclude components or functions not illustrated or described.
The communication device in
The Master SerDes 7 and the Slave SerDes 13 are communicably connected to each other according to a predetermined communication standard (hereinafter referred to as a “communication standard X”). Examples of the predetermined communication standard X include, but are not limited to, FPD-Link III, A-phy, ASA, and the like. Each of the Master SerDes 7 and the Slave SerDes 13 corresponds to a communication device according to the present embodiment. In the present specification, the Master SerDes 7 may be referred to as a SerDes 1, and the Slave SerDes 13 may be referred to as a SerDes 2.
The Master 21 and the Master SerDes 7 are communicably connected to each other by, for example, inter-integrated circuit (I2C) communication. Note that the communication between the Master 21 and the Master SerDes 7 is not limited to the I2C communication, and may be communication using general purpose input/output (GPIO), for example.
Similarly, the Slave 22 and the Slave SerDes 13 are communicably connected to each other by, for example, the I2C communication. Note that the communication between the Slave 22 and the Slave SerDes 13 is not limited to the I2C communication, and may be communication using GPIO, for example.
In
The ECU 4 controls the entire communication system 3 and includes an I2C 4a. The ECU 4 receives an image signal from the Master SerDes 7 and performs the I2C communication with the Master SerDes 7 via the I2C 4a.
The SoC 5 performs, for example, image recognition and video processing, and includes an I2C 5a. The SoC 5 receives an image signal from the Master SerDes 7 and performs the I2C communication with the Master SerDes 7 via the I2C 5a.
The image sensor 12 captures an image, and includes an I2C 12a and a mem 19. The image sensor 12 outputs image data of the captured image to the Slave SerDes 13, and performs the I2C communication with the Slave SerDes 13 via the I2C 12a. In the present specification, the image sensor 12 may be referred to as a CMOS image sensor (CIS). The mem 19 can store pixel data captured by the image sensor 12, and can store data transmitted from the Master 21. In the present specification, the mem 19 may be referred to as a mem3.
The temperature sensor 14 measures a temperature of an arbitrary object (for example, the image sensor 12), and includes an I2C 14a. The temperature sensor 14 performs the I2C communication with the Slave SerDes 13 via the I2C 14a, and transmits temperature data and the like regarding the measured temperature to the Slave SerDes 13.
The Master SerDes 7 converts a format of a signal of an I2C protocol received from the Master 21 into a signal of a communication standard X protocol and transmits the signal to the Slave SerDes 13, and appropriately converts the format of the signal of the communication standard X protocol received from the Slave SerDes 13 to generate image data and an I2C protocol signal, and outputs the image data and the signal to the Master 21. The Master SerDes 7 includes a LINK 11, a forward receiver (Fw.Rx) 9, a reverse transmitter (Rv.Tx) 10, and an I2C 7a.
The LINK 11 converts the format of the signal of the I2C protocol received from the Master 21 via the I2C 7a into a signal of the communication standard X protocol, and transmits the signal to the Slave SerDes 13 via the Rv.Tx 10. Furthermore, the LINK 11 generates image data from the signal of the communication standard X protocol received from the Slave SerDes 13 via the Fw.Rx 9 and transmits the image data to the Master 21, or generates a signal of the I2C protocol including information other than the image data and outputs the signal to the Master 21 via the I2C 7a.
The Slave SerDes 13 converts the format of the signal of the I2C protocol and the image signal received from the Slave 22 into a signal of the communication standard X protocol and transmits the signal to the Master SerDes 7, and appropriately converts the format of the signal of the communication standard X protocol received from the Master SerDes 7 into a signal of the I2C protocol and outputs the signal to the Slave 22. The Slave SerDes 13 includes an I2C 13a, a LINK 17, a forward transmitter (Fw.Tx) 16, a reverse receiver (Rv.Rx) 15, and an I2C 13a.
The LINK 17 converts the format of the signal of the I2C protocol signal and the image data received from the Slave 22 via the I2C 13a into a signal of the communication standard X protocol, and transmits the signal to the Master SerDes 7 via Fw.Tx 16. Furthermore, the LINK 17 converts the signal of the communication standard X protocol received from the Master SerDes 7 via the Rv.Rx 15 into a signal of the I2C standard, and transmits the signal to the Slave 22 via the I2C 13a. At this time, the following problems 1) and 2) may occur.
1) In a case where the ECU 4 or the SoC 5 configuring the Master 21 controls the image sensor 12 or the temperature sensor 14 configuring the Slave 22 using the I2C communication, the Master 21 needs to receive an ACK signal or a NACK signal from the Slave 22 every time transmitting an information unit such as 1 byte. At this time, a propagation delay of the I2C communication via the Master SerDes 7 and the Slave SerDes 13 may be generally larger than a cycle of one clock of the I2C communication (a frequency of one clock is 400 kHz, 1 MHz, or the like). In this case, the Master SerDes 7 retains a clock (SCL) of the I2C protocol signal to a Low level until the ACK signal or the NACK signal from the Slave 22 is received from the Slave SerDes 13, the I2C protocol conversion is completed, and preparation for an output of the ACK signal or the NACK signal to the Master 21 via the I2C 7a becomes ready. After preparation of an output the ACK signal or the NACK signal transmitted by the Slave 22 to the Master 21 becomes ready, the Master SerDes 7 releases the Low level of the retained clock (SCL) of the I2C protocol signal. As a result, the Master 21 can restart the I2C communication, and can receive the ACK signal or the NACK signal. In the period in which the Master SerDes 7 retains the SCL at the Low level, the Master 21 cannot perform the I2C communication, which causes a problem that it takes time to transfer a command or communication with another Slave 22 connected to an I2C bus (for example, the temperature sensor 14 when waiting for the ACK signal or the NACK signal from the image sensor 12) cannot be performed.
2) Furthermore, it is favorable to allow various devices other than the image sensor 12 and the temperature sensor 14 to be connected to the Slave SerDes 13 as the Slaves 22. Each of these various Slaves 22 may have a possibility of having different I2C operation clocks. Therefore, the Slave SerDes 13 is assumed to perform the I2C communication with the various Slaves 22, and the I2C operation clock of the Slave 22 (an operation clock of the I2C communication between the Slave 22 and the Slave SerDes 13) may be set to be lower than necessary.
In
To solve the above-described 1), the communication system 3 in
Furthermore, to solve the above-described 2), in the communication system 3 in
The LINK 11 of
The LINK 17 of
The communication device (Master SerDes 7) in
The communication device (Slave SerDes 13) in
Each of the first output signal and the second external signal in
Slave_Adr may be arranged next to Cmd_mode, Sub_Adr may be arranged next to Slave_Adr, and Length may be arranged next to Sub_Adr.
Cmd_mode may include command format information Cmd_mode[2:0] that defines a command format on the communication standard X including a function to identify a Write command and a Read command. That is, Cmd_mode may include Cmd_mode[2:0] that defines a command format on a predetermined communication standard between the communication device and the second external device.
The Cmd_mode may include at least Cmd_mode[0]-Cmd_mode[7], and data end determination condition information Cmd_mode[7] may specify a condition for end determination of data transmitted from the first external device.
Each of the first output signal and the second external signal may further include communication frequency information CLK_value that specifies a communication frequency between the second external device and the final destination device.
The first output signal and the second external signal may include a command obtained by converting the protocol of a command of the inter-integrated circuit (I2C) communication into a predetermined communication standard between the communication device and the second external device.
The LINK 11 or 17 may transmit the ACK signal indicating an acknowledgement or the NACK signal indicating a negative acknowledgement to the first external device each time receiving each information unit constituting the first external signal from the first external device.
The LINK 11 or 17 includes a storage unit that stores a signal corresponding to the first external signal and a signal corresponding to the second external signal.
The LINK 11 or 17 may generate the first output signal after collectively performing protocol conversion for the first external signals received and stored in the storage unit when reception of the first external signals from the first external device is completed.
The protocol conversion by the LINK 11 or 17 may be protocol conversion compatible with time division duplex (TDD).
When the LINK 11 or 17 transmits the first output signal to the second external device and receives information indicating that the processing for the first output signal is completed from the second external device, the LINK may store a signal indicating processing completion in the storage unit.
The LINK 11 or 17 may release a storage area of the storage unit on the basis of a command from the first external device.
The LINK 11 or 17 may output processing completion information for the second external signal transmitted from the second external device to the first external device in response to a request signal from the first external device, or may output an interrupt request flag for performing interrupt processing for the first external device to the first external device.
The LINK 11 or 17 may receive the first external signal including output instruction information cmd_done instructing output of the first output signal and transmission end information P (STOP condition) indicating transmission end of the first external signal from the first external device.
In a case where a first value is received as the data end determination condition information specifying the condition for end determination of data transmitted from the first external device, the LINK 11 or 17 may recognize that the first external signal transmitted from the first external device has ended when transmission end information P (STOP condition) indicating transmission end of the first external signal is received.
In a case where a second value is received as the data end determination condition information specifying the condition for end determination of data transmitted from the first external device, the LINK 11 or 17 may recognize that the first external signal transmitted from the first external device has ended when the output instruction information instructing output of the first output signal and the transmission end information indicating transmission end of the first external signal are received regardless of the value of the data end determination condition information received thereafter.
The LINK 11 or 17 may release the storage area of the storage unit after transmitting the first output signal to the second external device.
The LINK 11 or 17 may perform at least one of outputting a signal obtained after performing the protocol conversion for the second output signal for the signal based on the second external signal stored in the storage unit to the first external device for each information unit, or receiving each information unit constituting the first external signal output from the first external device, a predetermined number of times or within a predetermined time.
The frame structure of
The structure of the container includes a Header, a Payload, and a Parity. The Header includes address information indicating a transmission destination of the Payload, and the like. The Payload is a main part of a signal to be transmitted and received. The Payload includes operations, administration, maintenance (OAM) for SerDes control in addition to a video signal. The Parity is a bit or a bit string for Payload error detection or error correction processing.
The Palyload includes information of CLK value, Cmd_mode, Slave Adr, length, data, and End of data. The CLK value is an operation clock of the Slave 22, that is, an SCL frequency used by the Slave SerDes 13 in the I2C communication with the Slave 22. Cmd_mode indicates content of a command transmitted from the Master 21. Slave Adr is address information for identifying the Slave 22. length is a length of data transmitted from the Master 21. End of data is an end position of data transmitted from the Master 21.
Note that, in a case where Cmd_mode is extended to two bytes, an upper one byte of Cmd_mode may be allocated to Cmd_ID. Cmd_ID is identification information for distinguishing and identifying a command transmitted from the Master 21.
In a case where data communication is performed between the Master 21 and the Slave 22 by the TDD scheme, a signal ratio of a signal Rv from the Master 21 to the Slave 22 and a signal ratio of a signal Fw from the Slave 22 to the Master 21 within one TDD cycle can be changed by changing the number of containers included in each frame structure. Note that the signal Rv and the signal Fw may have the same or different container sizes.
In the communication system according to the present embodiment, the I2C communication is performed between the Master 21 and the Master SerDes 7, and the I2C communication is also performed between the Slave SerDes 13 and the Slave 22. In the I2C communication, it is possible to select either a first mode (also referred to as Byte I2C mode) of receiving the ACK signal/NAK signal each time transmitting information of a predetermined number of bytes (for example, one byte or two bytes in a case of not transmitting an error correction code, or two bytes or three bytes in a case of transmitting the error correction code), or a second mode (Bulk I2C mode) of receiving the ACK signal/NAK signal each time transmitting bulk information that is a bulk of information of a plurality of bytes.
Meanwhile, in a case where the I2C communication is performed between the Master SerDes 7 and the Slave SerDes 13 by a frequency division duplexing (FDD) scheme, to transmit information to the Slave 22 as a final destination from the Master 21, the operation of receiving the ACK/NACK signal is repeated each time 1-byte data is transmitted, as illustrated in the timing chart of
Note that the signal transmitted to the Slave SerDes 13 includes command information indicating content transmitted from the Master 21, and the signal transmitted to the Master 21 includes information transmitted from the Slave SerDes 13.
Furthermore, in the Bulk I2C mode, as illustrated in
Meanwhile, in the Byte I2C mode, as illustrated in
Furthermore, in the Byte I2C mode, as illustrated in
The information of Cmd_mode in the frame structure illustrated in
Bit [4:0] is an I2C packet type that defines packetized I2C data. The bit [4] is information instructing whether or not data is data for Write or Read or other data, and may be referred to as third information in the present specification. 1 of the bit [4] indicates that a Write/Read data packet follows next. 0 of the bit [4] indicates that the Write/Read data packet is not present. The bit [3] is information indicating whether or not the NACK signal has been received, and may be referred to as fourth information in the present specification. 1 of the bit [3] indicates that the NACK signal has been received from the Slave 22 or the Master 21, and 0 indicates that the NACK signal has not been received. The bit [2] is information indicating whether or not the ACK signal has been received, and may be referred to as fifth information in the present specification. 1 of the bit [2] indicates that the ACK signal has been received from the Slave 22 or the Master 21, and 0 indicates that the ACK signal has not been received. The bit [1] is information indicating whether or not a STOP command is included, and may be referred to as sixth information in the present specification. 1 of the bit [1] indicates that the STOP command has been detected, and 0 indicates that the STOP command has not been detected. The bit [0] is information indicating whether or not a START/ReSTART command is included, and may be referred to as seventh information in the present specification. 1 of the bit [0] indicates that the START/ReSTART command has been detected, and 0 indicates that the START/ReSTART command has not been detected.
cmd_mode illustrated in
As illustrated in
Meanwhile, the Write command format and the Read response format include variable-length data WDATA or RDATA, but the length of WDATA or RDATA is a total value of lengthH and lenghL. Therefore, the position of End of Data can be specified from the values of lengthH and lengthL. For example, in a case where the Write command format is header of 7 bytes+WDATA is 64 bytes=71 bytes and the Read response format is header of 7 bytes+RDATA is 64 bytes=71 bytes, the total value of lengthH and lengthL is 64. Therefore, even if there is no EoD, the end position of each format can be specified.
The I2C condition format includes cmd_mode and CRC. The I2C command to be transmitted in the I2C condition format is START (S), ReSTART (Sr), STOP (P), and ACK/NACK. The I2C data format includes cmd_mode, Data, and CRC. The I2C command to be transmitted in the I2C data format is START (S), ReSTART (Sr), STOP (P), and ACK/NACK+data.
clk_value or cmd_id may be added to the command format of
Repeated_start is a start flag indicating that the signal of the I2C protocol continues. Specifically, Repeated_start corresponds to Sr in a combined format of I2C illustrated in
End of data in the I2C command transmitted on the communication standard X protocol indicates the P (STOP condition). In a case where Cmd_mode [4]=0 in the Bulk I2C mode, the case indicates that the signal of the I2C protocol from S (START condition) to P (STOP condition) is transmitted to the Slave SerDes 13.
cmd_done in the I2C command to be transmitted on the communication standard X protocol is a special command when the next data is 0xFF in the case of Cmd_mode [4]=1 in the Bulk I2C mode. cmd_done is information instructing transmission of one or more sets to the Slave SerDes 13, where signals of the I2C protocol from S (START condition) to P (STOP condition) is one set.
Rsv_command in the I2C command to be transmitted on the communication standard X protocol is Reserved and is not defined at present. The data in the I2C command indicates data to be written to the Slave 22 or data read from the Slave 22.
(Detailed Operation in Byte I2C Mode)
As illustrated in
cmd_mode in
Similarly,
The node1 and node2 transition to an initial state init when power is ON (state S1). When a START/ReSTART (S/Sr) command of the I2C protocol is received from the Master 21 in the initial state init, the node1 transitions to a START state ST (state S2). In the START state ST, the node1 converts the S/Sr (START/ReSTART) command of the I2C protocol received in the state S1 into a packet of the communication standard X in
When receiving data D from the Master 21 in the Start state ST, the node1 determines whether or not the data is a Slave address (state S3). In a case where the data is not a Slave address, the node1 returns to the state S1. In a case where the data is a Slave address, the node1 transitions to a Slave address state Sl_Addr (state S4). In the Slave address state Sl_Addr, the node1 instructs the Master 21 to perform clock stretching. The clock stretching means holding the clock from the Master 21 at a low level. During a clock stretching period, the Master 21 cannot transmit new information to the node1. Furthermore, in the Slave address state S1 Addr, the node1 converts the Slave address of the I2C protocol into a packet of the communication standard X and transmits the packet to the node2. When receiving the Slave address from the node1, the node2 transitions to a Slave address state Sl_Addr and transmits the Slave address converted into the I2C protocol to the Slave 22. When receiving the ACK/NACK signal from the Slave 22 in the Slave address state Sl_Addr, the node2 transitions to a Write state W, converts the ACK/NACK signal into the protocol of the communication standard X, and transmits the converted ACK/NACK signal to the node1.
When receiving the ACK/NACK signal from the node2 in the Slave address state Sl_Addr, the node1 transitions to the Write state W (state S5). In the Write state W, the node1 instructs the Master 21 to release the clock stretching, and converts the ACK/NACK signal from the node2 into the I2C protocol and transmits the ACK/NACK signal to the Master 21. When receiving the data D from the Master 21 in the Write state W, the node1 transitions to a Write data state WD (state S6). In this state, when returning the ACK/NACK signal to the Master 21, the state returns to the Write state W. When receiving the P (STOP) command from the Master 21 in the Write state W, the node1 transitions to an End state End (state S7). In the End state End, when the node1 converts the P (STOP) command of the I2C protocol into a packet of the communication protocol X, and transmits the packet to the node2, the state returns to the initial state init.
When receiving ACK or NACK from the Slave 22 when having received the Slave address including a Read bit and having transitioned to the Slave address state Sl_Addr in state S4, the node2 transitions to a Read state R (state S8). Thereafter, the node2 converts the ACK or NACK of the I2C protocol into a packet of the communication protocol X and transmits the packet to the node1. When receiving the data D from Slave in the Read state R, the state transitions to a Read data state RD (state S9). The node2 converts Read data into a packet of the I2C protocol of the communication protocol X and transmits the packet to the node1. When receiving an ACK/NACK packet from the node 2, the node1 transitions to the Read state R and transmits the ACK or NACK to the Master 21. Thereafter, when receiving a Read data packet, the node1 transitions to the Read data state RD and transmits the Read data the Master 21.
In a case where the ACK/NACK signal is not received within a time limit in the Read data state RD, it becomes timeout and the state transitions to a data error state (state S10). Similarly, also in a case where the data D from the Slave is not received within a time limit in the Read state R, it becomes timeout and the state transitions to the data error state of the state S10. When a dummy data signal is returned to the Master 21 in the data error state, the state returns to the Read state R of the state S8.
Meanwhile, in a case where the ACK/NACK signal from Slave is not received within the time limit in the Write data state WD in the state S6, it becomes timeout and the state transitions to an ACK error state a_err (state S11). In addition, when the ACK/NACK signal from Slave is not received within the time limit in the Slave address state Sl_Addr of the state S4, the state transitions to the ACK error state a_err of the state S11. When predetermined error processing is performed in the ACK error state a_err, the state returns to the state S1.
The state transition when the Master SerDes 7 performs write in the Byte I2C mode is summarized as follows. When receiving a signal including the Start Condition from the Master 21, LINK 11 in the Master SerDes 7 transitions to the Start state ST (first state). When transitioning to the Start state ST, the LINK 11 converts the Start Condition into a signal of the communication protocol X (first communication standard) and transmits the signal to the Slave SerDes 13. Thereafter, when receiving a signal including 1-byte address information (Slave address) of a final destination device from the Master 21 while being in the Start state ST, the LINK 11 transitions to the Slave address state Sl_Addr (second state) and holds a clock from the Master 21 to a low level. In the Slave address state Sl_Addr, the LINK 11 converts the signal including the address information into a signal of the communication protocol X and transmits the signal to the Slave SerDes 13. Thereafter, when receiving a signal including the ACK signal or the NACK signal from the Slave SerDes 13 while being in the Slave address state Sl_Addr, the LINK 11 recognizes write in a case where a specific bit of the signal including the address information is a first bit value and transitions to the Write state W (third state). In the Write state W, the LINK 11 converts the signal including the ACK signal or the NACK signal received from the Slave SerDes 13 into a signal of the I2C protocol (second communication standard) and transmits the signal to the Master 21, and then releases the hold of the low level of the clock from the Master 21.
Furthermore, when receiving a signal including 1-byte write data from the Master 21 while being in the Write state W, the LINK 11 transitions to the Write data state WD (fourth state). In the Write data state WD, the LINK 11 converts the received signal into a signal of the communication protocol X and transmits the signal to the Slave SerDes 13. Thereafter, when receiving the signal including the ACK signal or the NACK signal from the Slave SerDes 13 while being in the Write data state WD, the LINK 11 transitions to the Write state W, converts the received ACK/NACK signal into a signal of the I2C protocol, and transmits the signal to the Master 21.
Furthermore, in a case of not receiving the signal including the ACK signal or the NACK signal from the Slave 22 within a predetermined period while being in the Slave address state Sl_Addr or the Write data state WD, the LINK 11 transitions to the ACK error state a_err (fifth state) and performs error processing in the ACK error state a_err.
Meanwhile, the state transition when the Master SerDes 7 performs readout in the Byte I2C mode is summarized as follows. When receiving a signal including the Start Condition or ReStart Condition from the Master 21, the LINK 11 in the Master SerDes 7 transitions to the Start state ST. When transitioning to the Start state ST, the LINK 11 converts the received signal including the Start Condition or ReStart Condition into a signal of the communication protocol X and transmits the signal to the Slave SerDes 13. Thereafter, when receiving a signal including 1-byte address information of a final destination device from the Master 21 while being in the Start state ST, the LINK 11 transitions to the Slave address state Sl_Addr and holds a clock from the Master 21 to a low level. In the Slave address state Sl_Addr, the LINK 11 converts the signal including the address information into a signal of the communication protocol X and transmits the signal to the Slave SerDes 13. Thereafter, when receiving the signal including the ACK signal or the NACK signal from the Slave SerDes 13 while being in the Slave address state Sl_Addr, the LINK 11 recognizes readout in a case where a specific bit of the signal including the address information is a second bit value and transitions to the Read state R (sixth state). In the Read state R, the LINK 11 converts the signal including the ACK signal or the NACK signal received from the Slave SerDes 13 into a signal of the I2C protocol and transmits the signal to the Master 21, and then releases the hold of the low level of the clock from the Master 21.
Furthermore, when receiving a signal including 1-byte readout data from the Slave SerDes 13 while being in the Read state R, the LINK 11 transitions to the Read data state RD (seventh state). In the Read data state RD, the LINK 11 converts the received signal into a signal of the I2C protocol and transmits the signal to the Master 21. Thereafter, when receiving the signal including the ACK signal or the NACK signal from the Master 21 while being in the Read data state RD, the LINK 11 transitions to the Read state R, and converts the received signal into a signal of the communication protocol X and transmits the signal to the Slave SerDes 13.
Furthermore, in a case of not receiving the readout data within a predetermined period from the Slave SerDes 13 while being in the Read state R, the LINK 11 transitions to the data error state d_err (eighth state). Furthermore, in a case of not receiving the ACK signal or the NACK signal within a predetermined period from the Master 21 while being in the Read data state RD, the LINK 11 transitions to the data error state d_err. The LINK 11 avoids deadlock of the entire system including the communication device, the Master 21, and the Slave SerDes 13 by performing the error processing in the data error state d_err.
Meanwhile, the state transition of the Master SerDes 7 in the Bulk I2C mode is summarized as follows. The LINK 11 in the Master SerDes 7 holds received signals from when receiving the signal including the Start Condition from the Master 21 to when receiving the signal including the Stop Condition, and transmits the signal including the ACK signal or the NACK signal to the Master 21 for each byte of the received signal. The LINK 11 converts the received signal into a signal of the communication protocol X and transmits the converted signal to the Slave SerDes 13. The LINK 11 receives and holds, from the Slave SerDes 13, the signal including the ACK signal or the NACK signal from the Slave 22, and then converts the signal from the Slave SerDes 13 into a signal of the I2C protocol and transmits the signal to the Master 21 in response to a readout request from the Master 21.
As illustrated in
As illustrated in
Since the Master 21 can grasp that the RDATA has arrived after the timeout, it is possible to determine whether or not the RDATA after the timeout is dummy data or normal data by reading the err register of the node1 as necessary.
The detailed operation of the Byte I2C mode has been described above. Next, a detailed operation of the Bulk I2C mode will be described.
(Detailed Operation in Bulk I2C Mode)
Hereinafter, a case where Random Write is performed from the Master 21 to the Slave 22 will be described. When performing Random Write to the Slave 22, the Master 21 first transmits a command set to the Master SerDes 7 by I2C communication. The protocol of the I2C communication at the time of Random Write is illustrated in
The data in the I2C protocol transmitted from the Master 21 is saved in table1 in mem1 of the Master SerDes 7.
Cmd_mode of Sub_Adr [1] is 1-byte information indicating content of an instruction received by the Master SerDes 7 from the Master 21.
Slave Adr of Sub_Adr [2] in table1 of
Sub_adrH of Sub_Adr [3] is upper 1-byte information of an address indicating which Sub_adr of mem 19 (mem 3) in the image sensor 12 is to be accessed or which Sub_adr of mem 20 in the temperature sensor 14 is to be accessed.
Sub_adrL of Sub_Adr [4] is lower 1-byte information of an address indicating which Sub_adr of mem 19 (mem 3) in the image sensor 12 is to be accessed or which Sub_adr of mem 20 in the temperature sensor 14 is to be accessed.
LengthH of Sub_Adr [5] is upper 1-byte information of a data length of WDATA (Data [N−2:7]). LengthL of Sub_Adr [6] is lower 1-byte information of the data length of WDATA (Data [N−2:7]).
WDATA of Sub_Adr [N−2:7] is data to be written to the Slave 22. One byte of data is stored for each bit of Sub_Adr.
When P (STOP condition) is received from the Master 21, 0x9F is written in the End of Data of Sub_Adr [N−1]. As a default, an initial value such as 0x00 is written.
The Master SerDes 7 reads data in table1 in
In a case of Cmd_mode=0x00, “end determination for each End of data is set in “Cmd_mode [7]=0. Therefore, when receiving “End of data (0x9F)”, the LINK 11 of the Master SerDes 7 writes “End of data (0x9F)” in table1 of
In the case of Cmd_mode=0x80, at the stage where the End of data and cmd_done are written, the data of mem1 (table1 in
The Slave SerDes 13 extracts the I2C command packet from the received signal of the communication standard X protocol, and writes the I2C command packet into table3 in mem2. In
The Slave SerDes 13 performs protocol conversion for received data of Reverse link, and restores original saved data of mem1 in mem2. The Slave SerDes 13 determines restoration end of the I2C command packet in the restoration of the End of data.
When the End of data is written in table3 in mem2 illustrated in
(data)Cmd_mode(0x00) issues S (START condition), and generates a W (Write) command or a R (Read) command according to the value of Cmd_mode [0] after the next Sl_adr is issued.
(data)Sl_adr(0x02) indicates that “0x02” is designated as the above-described Sl_adr. Since “0x02”, the image sensor 12 has been selected.
(data)Sub_adrH(0x00) indicates that “0x00” is designated as a high-order bit of the address of mem3 (the target to be finally accessed) in the image sensor 12.
(data)Sub_adrL(0x00) indicates that “0x00” is designated as a low-order bit of the address of mem3 (the target to be finally accessed) in the image sensor 12. (data)WDATA×2 indicates data of 16 bytes.
The Slave 22 sequentially returns the ACK signal indicating that the signal has been normally received to the Slave SerDes 13 in the S I2C protocol (step S5).
Note that, while data is transmitted and received from the Slave SerDes 13 to the Slave 22 by the I2C communication, information similar to that in
The Slave SerDes 13 writes ACK in a case where Cmd_mode [6]=0 and all the signals returned from the Slave 22 are the ACK signals, and writes NACK in Sub_Adr=N in table3 in a case where there is one or more NACK signals.
The Slave SerDes 13 writes ACK in Sub_Adr=N in table3 in a case where Cmd_mode [6]=1 and all the signals returned from the Slave 22 are the ACK signals, and performs rewrite in a case where there is one or more NACK signals. In a case where the NACK signal is given again in the second time, NACK is written in Sub_Adr=N in table3.
As a method of generating ACK or NACK to be written to Sub_Adr=N in table3 in mem2, for example, a logical product of the ACK signal and the NACK signal returned from the Slave 22 may be obtained.
The Slave SerDes 13 performs protocol conversion for an I2C communication result with the Slave 22 into a signal of the communication standard X protocol, and transmits the signal to the Master SerDes 7 through the Packetized I2C on PHY (depend on the each PHY specification) forward channel (step S6). When the Slave SerDes 13 writes ACK or NACK in Sub_Adr=N in table3 in mem2, the Slave SerDes 13 reads table3 (0 to N in Sub_Adr) and transmits necessary information (in the present embodiment, Data [7:0] in a case where Sub_Adr is 2 and N, and Cmd_ID is also included in a case where Cmd_mode is extended to 2 bytes) to the Master SerDes 7. When the transmission is completed, the Slave SerDes 13 releases the storage area of mem2 illustrated in
Here, since mem1 and mem2 occupy the same memory area (Sub_Adr=0 to N−1), the Slave SerDes 13 knows Sub_Adr to be written next to mem1 (Sub_Adr that has a space in mem2 and in which ACK/NACK has been written). Furthermore, the Slave SerDes 13 understands that it is necessary to return 2 bytes (the I2C communication result with Slave adr that has performed the I2C communication) to the Master SerDes 7 in a case where the Slave SerDes itself has performed write in the Slave 22.
For example, if the “16-byte write to the Slave 22” requested to the Master SerDes 7 has been completed, End of Data (0x9F) and ACK (0x81) as a result thereof can be read. Note that, in the present example, polling is determined by reading 1 byte and seeing the result of End of Data, and reading ACK or NACK by reading 1 byte again. However, it may also be possible to read 2 bytes at a time and determine the polling result and the I2C communication result to the Slave 22. In a case where NACK is returned, the Master 21 can check whether or not the corresponding Slave 22 has transmitted NACK by reading Slave adr of Sub_adr (N+7).
When 0xFF is written to Sub_adr (N+10) in mem1, the Master SerDes 7 releases the used storage area of mem1 as termination processing of the request command. Alternatively, the storage area of mem1 may be released according to a write command for initializing the memory area used by the Master 21.
Block b1 in
More specifically, as illustrated in
Since this request command indicates the I2C command batch operation of Cmd_mode [2:0]=000 and Cmd_mode [7]=1, even if End of Data is saved in mem1, transfer to Slave SerDes 13 is not started. The subsequent operation of b2 is the same except that Slave_adr of b1 is changed to the temperature sensor 14 (Sl_adr=0x03). The last b3 indicates that Cmd_code [2]=1 is a special code, and the following Data indicates the special code. In this example, by continuously receiving special cmd_done (0xFF) indicating the end of the command and STOP condition (step S12), the Master SerDes 7 collectively transmits the received data (
Note that, in the present embodiment, in a case where the Master 21 sets Cmd_mode [7]=1, Cmd_mode [7]=0 should not be set until 0xFF is subsequently written to cmd_done.
In the Read operation, as illustrated in
Thereafter, as illustrated in the processing of the M I2C protocol in step S25 in
Hereinafter, a processing procedure of Random Read will be sequentially described with reference to
Every time receiving an information unit from the Master 21, the Master SerDes 7 returns the ACK signal to the Master 21 according to the S I2C protocol (step S21). Furthermore, the Master SerDes 7 also stores the received I2C command packet in mem1 (step S22).
It can be seen that the Slave SerDes 13 and the Slave 22 in
When the result of “16-bytes read to the Slave 22” requested by the Master 21 to the Master SerDes 7 is completed, the End of data (0x9F) and the resulting ACK (0x81) can be read. If the readout result of End of data is other than 0x9F, polling is continued. In the present example, polling determination is performed by seeing the result of End of data by reading 1 byte, and RDATA (16 bytes)+ACK/NACK is read by reading 17 bytes again. However, it may also be possible to read 18 bytes at a time and determine the polling result and the I2C communication result to the Slave 22. In a case where the result is NACK, the Master 21 can confirm whether or not the NACK is from the Slave 22 by reading Slave adr of Sub_Adr (15).
In
When End of data, or End of data and cmd_done are written in mem2, the Slave SerDes 13 performs the I2C protocol conversion for the data written in mem2 and performs the I2C communication with the Slave 22. In a case where current read is performed (in a case where Cmd_mode [3:0]=1001), Sub_adrH and Sub_adrL in mem2 illustrated in
It can be seen that the Slave SerDes 13 and the Slave 22 in
(Error Command Format)
In a case where the error command format is provided in the command format as illustrated in
As illustrated in
The first LINK can alternatively select a first mode of receiving the ACK signal indicating an acknowledgement or the NACK signal indicating a negative acknowledgement each time transmitting information of a predetermined number of bytes (for example, 1 byte or 2 bytes), or a second mode of receiving the ACK signal or the NACK signal each time transmitting bulk information that is a bulk of information of a plurality of bytes. The communication system in which each of the first output signal and the second external signal includes command information indicating content of a command transmitted from the first external device.
By configuring the communication system 3 as illustrated in
Between the Master SerDes 7 and the Slave SerDes 13, data communication can be performed at high speed by, for example, a TDD scheme or a frequency division duplexing (FDD) scheme.
As described above, in the present embodiment, the Master SerDes 7 and the Slave SerDes 13 are arranged between the Master 21 and the Slave 22, and various types of information can be serially transmitted at high speed between the Master SerDes 7 and the Slave SerDes 13 by using the communication standard X. The communication standard X may be the FDD scheme or the TDD scheme. Between the Master SerDes 7 and the Slave SerDes 13, it is possible to select either the Byte I2C mode (first mode) of receiving the ACK/NACK each time transmitting 1-byte or 2-byte information, or the Bulk I2C mode (second mode) of receiving the ACK/NAK signal each time transmitting the bulk information that is a bulk of information of a plurality of bytes. In the case of selecting the Byte I2C mode, it is possible to perform the I2C communication using the TDD scheme in a format close to the I2C communication using the FDD scheme. Furthermore, in the case of selecting the Bulk I2C mode, when the Master SerDes 7 receives the command transmitted from the Master 21 to the Slave 22, the Master SerDes 7 can return the ACK to the Master 21 by its own determination without waiting for the ACK from the Slave 22. Thereby, the Master 21 can quickly receive the ACK, and can quickly perform processing after receiving the ACK. That is, a period during which the Master 21 stretches the clock until receiving the ACK can be shortened, and the processing efficiency of the Master 21 can be improved.
Note that the present technology can also have the following configurations.
(1) A communication device including:
a LINK configured to perform protocol conversion of a signal from a Master and output the converted signal to a Slave SerDes, and perform protocol conversion of a signal from the Slave SerDes and output the converted signal to the Master, in which
the LINK is capable of alternatively selecting a first mode and a second mode when transmitting the signal from the Master to the Slave SerDes,
in the first mode, the LINK
repeats processing of converting a 1-byte signal transmitted from the Master into a signal of a first communication standard in units of the 1-byte signal, transmits the converted signal to the Slave SerDes, then receives a signal of the first communication standard including an ACK signal indicating an acknowledgement or a NACK signal indicating a negative acknowledgement, converts the received signal into a signal of a second communication standard, and transmits the converted signal to the Master, and
in the second mode, the LINK
transmits a signal including the ACK signal or the NACK signal to the Master each time receiving a multi-byte signal transmitted from the Master byte by byte,
collectively transmits converted signals to the Slave SerDes after the conversion of the multi-byte signal received from the Master is completed,
then receives and retains the signal of the first communication standard including the ACK signal or the NACK signal from the Slave SerDes, and
then converts the signal of the first communication standard into a signal of the second communication standard and transmits the converted signal to the Master in response to a readout request from the Master, and
the signal transmitted to the Slave SerDes includes command information indicating content transmitted from the Master, and the signal transmitted to the Master includes command information indicating content transmitted from the Slave SerDes.
(2) The communication device according to (1), in which a number of bytes of the signal transmitted to the Slave SerDes in the first mode is two bytes or three bytes excluding clock frequency information and an error correction code.
(3) The communication device according to (1) or (2), in which,
in the first mode, the LINK
transitions to a first state when having received a signal including Start Condition from the Master,
converts the Start Condition into a signal of the first communication standard and transmits the converted signal to the Slave SerDes when having transitioned to the first state,
then, transitions to a second state and holds a clock from the Master to a low level when having received signal including 1-byte address information of a final destination device from the Master while the LINK is in the first state,
converts the signal including address information into a signal of the first communication standard and transmits the converted signal to the Slave SerDes in the second state,
then, recognizes write and transitions to a third state in a case where a specific bit of the signal including address information is a first bit value when having received the signal including the ACK signal or the NACK signal from the Slave SerDes while the LINK is in the second state, and
converts the signal including the ACK signal or the NACK signal received from the Slave SerDes into a signal of the second communication standard and transmits the converted signal to the Master, and then releases the hold of the low level of the clock from the Master in the third state.
(4) The communication device according to (3), in which,
in the first mode, the LINK
transitions to a fourth state when having received a signal including 1-byte write data from the Master while the LINK is in the third state,
converts the received signal into a signal of the first communication standard and transmits the converted signal to the Slave SerDes in the fourth state, and
then, converts the received signal into a signal of the second communication standard and transmits the converted signal to the Master when having received the signal including the ACK signal or the NACK signal from the Slave SerDes while the LINK is in the fourth state.
(5) The communication device according to (4), in which,
in the first mode, the LINK
transitions to a fifth state in a case of not receiving the signal including the ACK signal or the NACK signal within a predetermined period from the Slave SerDes while the LINK is in the second state or the fourth state, and
performs error processing in the fifth state.
(6) The communication device according to (1) or (2), in which,
in the first mode, the LINK
transitions to a first state when having received a signal including Start Condition or ReStart Condition from the Master,
converts the received signal including Start Condition or ReStart Condition into a signal of the first communication standard and transmits the converted signal to the Slave SerDes when having transitioned to the first state,
then, transitions to a second state and holds a clock from the Master to a low level when having received signal including 1-byte address information of a final destination device from the Master while the LINK is in the first state,
converts the signal including address information into a signal of the first communication standard and transmits the converted signal to the Slave SerDes in the second state,
then, recognizes read and transitions to a sixth state in a case where a specific bit of the signal including address information is a second bit value when having received the signal including the ACK signal or the NACK signal from the Slave SerDes while the LINK is in the second state, and
converts the signal including the ACK signal or the NACK signal received from the Slave SerDes into a signal of the second communication standard and transmits the converted signal to the Master, and then releases the hold of the low level of the clock from the Master in the sixth state.
(7) The communication device according to (6), in which,
in the first mode, the LINK
transitions to a seventh state when having received a signal including 1-byte readout data from the Slave SerDes while the LINK is in the sixth state,
converts the received signal into a signal of the second communication standard and transmits the converted signal to the Master in the seventh state, and
then, transitions to the sixth state, and converts the received signal into a signal of the first communication standard and transmits the converted signal to the Slave SerDes when having received the signal including the ACK signal or the NACK signal from the Master while the LINK is in the seventh state.
(8) The communication device according to (7), in which,
in the first mode, the LINK
transitions to an eighth state in a case of not receiving readout data within a predetermined period from the Slave SerDes while the LINK is in the sixth state,
transitions to the eighth state in a case of not receiving the ACK signal or the NACK signal within a predetermined period from the Master while the LINK is in the seventh state, and
avoids deadlock of an entire system including the communication device, the Master, and the Slave SerDes by performing error processing in the eighth state.
(9) The communication device according to any one of (1) to (8), in which,
in the second mode, the LINK
retains a received signal from when receiving a signal including Start Condition to when receiving a signal including Stop Condition from the Master, and transmits the signal including the ACK signal or the NACK signal to the Master for each byte of the received signal,
converts the received signal into a signal of the first communication standard, and transmits the converted signal to the Slave SerDes, and
receives and retains the signal including the ACK signal or the NACK signal from the Slave SerDes, and then, converts the signal from the Slave SerDes into a signal of the second communication standard and transmits the converted signal to the Master in response to a readout request from the Master.
(10) The communication device according to any one of (1) to (9), in which
the command information includes at least one of
first information for selecting the first mode or the second mode,
second information for alternatively selecting whether or not the Slave SerDes or the communication device generates a clock signal for transmitting and receiving data by the Slave SerDes or the communication device's own determination or to explicitly specify the clock signal to be used by the Slave SerDes or the communication device in a case where the first mode is selected,
third information for instructing whether or not data to be written or read is included in the case where the first mode is selected,
fourth information indicating whether or not the NACK signal has been received in the case where the first mode is selected,
fifth information indicating whether or not the ACK signal has been received in the case where the first mode is selected,
sixth information indicating whether or not Stop Condition instructing stop of information transmission is included in the case where the first mode is selected, or
a seventh information indicating whether or not Start Condition instructing start of information transmission or a Repeated Start Condition instructing restart of information transmission is included in the case where the first mode is selected.
(11) The communication device according to (10), in which the LINK transmits a signal including the seventh information to the Slave SerDes, and then transmits a signal including address information of a final destination device to the Slave SerDes in the first mode.
(12) The communication device according to (10), in which the LINK transmits a signal obtained by combining the seventh information and address information of a final destination device to the Slave SerDes in the first mode.
(13) The communication device according to any one of (1) to (12), in which each of the signal to the Slave SerDes and the signal to the Master includes at least one of an error correction code, data, clock frequency information, or information indicating a type of a command to be transmitted and received, in addition to the command information.
(14) The communication device according to any one of (1) to (13), in which
the signal to the Slave SerDes includes at least one of
final destination address information for identifying a final destination device of the signal transmitted from the Master,
sub-address information of the final destination device, or
data length information indicating a length of data transmitted from the Master.
(15) The communication device according to any one of (1) to (14), in which
the command information includes command format information defined in the first communication standard in a case where the second mode is selected, and
the command format information includes an error command format.
(16) The communication device according to any one of (1) to (15), in which the command information includes data end determination condition information that specifies a condition for end determination of the signal transmitted from the Master in a case where the second mode is selected.
(17) The communication device according to any one of (1) to (16), in which the signal to the Slave SerDes and the signal from the Slave SerDes include a command obtained by performing protocol conversion of a command of inter-integrated circuit (I2C) communication into the first communication standard.
(18) The communication device according to (17), in which the protocol conversion by the LINK is protocol conversion of time division duplex (TDD).
(19) A communication device including:
a LINK configured to perform protocol conversion of a signal from a Master serDes and output the converted signal to a Slave, and perform protocol conversion of a signal from the Slave and output the converted signal to the Master SerDes, in which
the LINK is capable of alternatively selecting a first mode and a second mode when transmitting the signal from the Master SerDes to the Slave,
in the first mode, the LINK
repeats processing of converting a received signal into a signal of a second communication standard in units of the received signal when having received a signal of a first communication standard transmitted from the Master SerDes, transmitting the converted signal to the Slave, then receiving a signal of the second communication standard including an ACK signal indicating an acknowledgement or a NACK signal indicating a negative acknowledgement, and converting the received signal into a signal of the first communication standard and transmitting the converted signal to the Master SerDes,
in the second mode, the LINK
converts a received signal into a signal of the second communication standard and transmit the converted signal to the Slave byte by byte when having received a multi-byte signal of the first communication standard transmitted from the Master SerDes, and
receives and retains the signal of the second communication standard including the ACK signal or the NACK signal from the Slave each time transmitting the converted signal to the Slave byte by byte, and
transmits a signal of the first communication standard corresponding to the retained signal to the Master SerDes after completing the transmission of the signal from the Master SerDes to the Slave, and
the signal from the Master SerDes includes command information indicating content transmitted from the Master SerDes, and the signal from the Slave includes command information indicating content transmitted from the Slave.
(20) A communication system including:
a Master SerDes provided with a first LINK; and
a Slave SerDes provided with a second LINK, in which
the first LINK is capable of alternatively selecting a first mode and a second mode when transmitting a signal from the Master to the Slave SerDes,
in the first mode, the first LINK
repeats processing of converting a 1-byte signal transmitted from the Master into a signal of a first communication standard in units of the 1-byte signal and transmitting the converted signal to the Slave SerDes, then receiving a signal of the first communication standard including an ACK signal indicating an acknowledgement or a NACK signal indicating a negative acknowledgement transmitted from the Slave, and converting the received signal into a signal of a second communication standard and transmitting the converted signal to the Master,
in the second mode, the first LINK
transmits the signal including the ACK signal or the NACK signal to the Master each time receiving a multi-byte signal transmitted from the Master byte by byte,
collectively transmits converted signals to the Slave SerDes after the conversion of the multi-byte signals received from the Master is completed,
then receives and retains the signal of the first communication standard including the ACK signal or the NACK signal from the Slave SerDes, and
then converts the signal of the first communication standard into a signal of the second communication standard and transmits the converted signal to the Master in response to a readout request from the Master, and
the signal transmitted to the Slave SerDes includes command information indicating content transmitted from the Master, and the signal transmitted to the Master includes command information indicating content transmitted from the Slave SerDes, and
the second LINK is capable of alternatively selecting the first mode and the second mode when transmitting a signal from the Master SerDes to the Slave,
in the first mode, the second LINK
repeats processing of converting a signal of the first communication standard transmitted from the Master SerDes into a signal of the second communication standard in units of the received signal and transmitting the converted signal to the Slave, then receiving a signal of the second communication standard including an ACK signal indicating an acknowledgement or a NACK signal indicating a negative acknowledgement, converting the received signal into a signal of the first communication standard and transmitting the converted signal to the Master SerDes,
in the second mode, the second LINK
converts a received signal into a signal of the second communication standard when receiving a multi-byte signal of the first communication standard transmitted from the Master SerDes, and transmits the converted signal to the Slave byte by byte,
receives and retains the signal of the second communication standard including the ACK signal or the NACK signal from the Slave each time transmitting the converted signal to the Slave byte by byte, and
transmits a signal of the first communication standard corresponding to the retained signal to the Master SerDes after completing the transmission of the signal from the Master SerDes to the Slave, and
the signal from the Master SerDes includes command information indicating content transmitted from the Master SerDes, and the signal from the Slave includes command information indicating content transmitted from the Slave.
The aspects of the present disclosure are not limited to the above-described individual embodiments, but also include various modifications that can be conceived by those skilled in the art, and the effects of the present disclosure are not limited to the above-described content. That is, various additions, changes, and partial deletions are possible without departing from the conceptual idea and purpose of the present disclosure derived from the content defined in the claims and its equivalents.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2021/021436 | 6/4/2021 | WO |
Number | Date | Country | |
---|---|---|---|
63042229 | Jun 2020 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 17241614 | Apr 2021 | US |
Child | 17927249 | US |