The present disclosure relates to a communication apparatus and a communication system.
A technology for performing, when data communication is performed between a master apparatus and a slave apparatus, serial communication between a SerDes apparatus for the master apparatus and a SerDes apparatus for the slave apparatus has been proposed.
In the case where the slave apparatus receives data transmitted from the master apparatus, it is common for the slave apparatus to transmit, to the master apparatus, an ACK signal indicating that the data has been received.
In the case where two SerDes apparatuses are located between the master apparatus and the slave apparatus, since the ACK signal passes through these SerDes apparatuses, it takes a considerable amount of time for the master apparatus to receive the ACK signal after the slave apparatus transmits the ACK signal.
In the case where the specification is such that a new signal cannot be transmitted to the slave apparatus until the master apparatus receives the ACK signal from the slave apparatus, it takes time to receive the ACK signal, which may delay the processing of the master apparatus.
In this regard, the present disclosure provides a communication apparatus and a communication system capable of efficiently performing data communication.
In order to achieve the above-mentioned object, in accordance with the present disclosure, there is provided a communication apparatus including:
a LINK for performing protocol-conversion on a signal from a Master and outputting the converted signal to a Slave SerDes and for performing protocol-conversion on a signal from the Slave SerDes and outputting 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
in the second mode, the LINK
a signal to be transmitted to the Slave SerDes includes command information indicating content transmitted from the Master, and
a signal to be transmitted to the Master includes command information indicating content transmitted from the Slave SerDes.
The number of bytes of the signal to be transmitted to the Slave SerDes in the first mode may be one of 2 bytes and 3 bytes except for clock frequency information and error correction code.
In the first mode, the LINK may
transition to a first state upon receiving a signal including a Start Condition from the Master,
convert, when transitioning to the first state, the Start Condition into a signal of the first communication standard and transmits the obtained signal to the Slave SerDes,
then, transition to a second state upon receiving, in the first state, a signal including address information of a final destination apparatus of one byte from the Master, and hold a clock from the Master at a low level,
convert, in the second state, a signal including the address information into a signal of the first communication standard and transmit the obtained signal to the Slave SerDes,
then, upon receiving, in the second state, a signal including one of the ACK signal and the NACK signal from the Slave SerDes, recognize, where a specific bit of the signal including the address information has a first bit value, the specific bit as writing and transition to a third state, and
convert, in the third state, the signal including one of the ACK signal and the NACK signal received from the Slave SerDes into a signal of the second communication standard, transmit the obtained signal to the Master, and then, release the holding of the low level of the clock from the Master.
In the first mode, the LINK may
transition to a fourth state upon receiving, in the third state, a signal including writing data of one byte from the Master,
convert, in the fourth state, the received signal into a signal of the first communication standard, and transmit the obtained signal to the Slave SerDes, and
then, upon receiving, in the fourth state, a signal including one of the ACK signal and the NACK signal from the Slave SerDes, convert the received signal into a signal of the second communication standard and transmit the obtained signal to the Master.
In the first mode, the LINK may
transition to a fifth state where the signal including one of the ACK signal and the NACK signal is not received from the Slave SerDes within a predetermined time period in one of the second state and the fourth state, and
perform error processing in the fifth state.
In the first mode, the LINK may
transition to the first state upon receiving a signal including one of a Start Condition and a ReStart Condition from the Master,
convert, when transitioning to the first state, the signal including one of the Start Condition and the ReStart Condition into a signal of the first communication standard and transmit the obtained signal to the Slave SerDes,
then, transition to the second state upon receiving, in the first state, a signal including address information of a final destination apparatus of one byte from the Master, and hold a clock from the Master at a low level,
convert, in the second state, a signal including the address information into a signal of the first communication standard and transmit the obtained signal to the Slave SerDes,
then, upon receiving, in the second state, a signal including one of the ACK signal and the NACK signal from the Slave SerDes, recognize, where a specific bit of the signal including the address information has a second bit value, the specific bit as reading and transition to a sixth state, and
convert, in the sixth state, the signal including one of the ACK signal and the NACK signal received from the Slave SerDes into a signal of the second communication standard, transmit the obtained signal to the Master, and then, release the holding of the low level of the clock from the Master.
In the first mode, the LINK may
transition to a seventh state upon receiving, in the sixth state, a signal including reading data of one byte from the Slave SerDes,
convert, in the seventh state, the received signal into a signal of the second communication standard, and transmit the obtained signal to the Master, and
then, transition to the sixth state upon receiving, in the seventh state, a signal including one of the ACK signal and the NACK signal from the Master, convert the received signal into a signal of the first communication standard, and transmit the obtained signal to the Slave SerDes.
In the first mode, the LINK may
transition to an eighth state where the reading data is not received from the Slave SerDes within the predetermined time period in the sixth state,
transition to the eighth state where the one of the ACK signal and the NACK signal is not received from the Master within the predetermined time period in the seventh state, and
perform error processing in the eighth state to avoid deadlock of an entire system including the communication apparatus, the Master, and the Slave SerDes.
In the second mode, the LINK may
hold the received signal from when receiving the signal including the Start Condition to when receiving a signal including a Stop Condition, and transmit a signal including one of the ACK signal and the NACK signal to the Master byte by 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 a signal including one of the ACK signal and the NACK signal from the Slave SerDes and holds the received signal, then convert, in accordance with a reading request from the Master, the signal from the Slave SerDes into a signal of the second communication standard, and transmit the obtained signal to the Master.
The command information may include at least one of
first information for selecting one of the first mode and the second mode,
second information for alternatively selecting, where the first mode is selected, whether one of the Slave SerDes and the communication apparatus generates a clock signal for transmitting and receiving data by its own determination or one of the Slave SerDes and the communication apparatus explicitly designates the clock signal to be used,
third information indicating, where the first mode is selected, whether or not one of writing data and reading data is included,
fourth information indicating, where the first mode is selected, whether or not the NACK signal is received,
fifth information indicating, where the first mode is selected, whether or not the ACK signal is received,
sixth information indicating, where the first mode is selected, whether or not a Stop Condition instructing to stop transmission of information is included, or
seventh information indicating, where the first mode is selected, whether or not one of a Start Condition instructing to start transmission of information and a Repeated Start Condition instructing to resume transmission of information is included.
In the first mode, the LINK may transmit the signal including the seventh information to the Slave SerDes, and then transmit the signal including the address information of the final destination apparatus to the Slave SerDes.
In the first mode, the LINK may transmit a signal obtained by combining the seventh information and the address information of the final destination apparatus to the Slave SerDes.
Each of the signal to the Slave SerDes and the signal to the Master may include, in addition to the command information, 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.
The signal to the Slave SerDes may include at least one of
final destination address information for identifying the final destination apparatus of the signal transmitted from the Master,
sub-address information of the final destination apparatus, or
data-length information indicating a length of data transmitted from the Master.
The command information may include, where the second mode is selected, command-format information defined by the first communication standard, and
the command-format information may include an error command format.
The command information may include, where the second mode is selected, data-end-determination-condition information for specifying a condition for determining an end of the signal transmitted from the Master.
Each of the signal to the Slave SerDes and the signal from the Slave SerDes may include a command obtained by performing protocol conversion on a command of I2C (Inter-Integrated Circuit) communication into a command of the first communication standard.
The protocol conversion by the LINK may be protocol conversion of TDD (Time Division Duplex).
In accordance with the present disclosure, there is provided a communication apparatus, including:
a LINK for performing protocol-conversion on a signal from a Master SerDes and outputting the converted signal to a Slave and for performing protocol-conversion on a signal from the Slave and outputting 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
in the second mode, the LINK
a signal from the Master SerDes includes command information indicating content transmitted from the Master SerDes, and
a signal from the Slave includes command information indicating content transmitted from the Slave.
In accordance with the present disclosure, there is provided a communication system, including:
a Master SerDes that includes a first LINK; and
a Slave SerDes that includes a second LINK, in which
the first LINK is capable of alternatively selecting a first mode and a second mode when transmitting the signal from a Master to the Slave SerDes,
in the first mode, the first LINK
in the second mode, the first LINK
a signal to be transmitted to the Slave SerDes includes command information indicating content transmitted from the Master,
a signal to be transmitted to the Master includes command information indicating content transmitted from the Slave SerDes,
the second 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 second LINK
in the second mode, the second LINK
a signal from the Master SerDes includes command information indicating content transmitted from the Master SerDes, and
a signal from the Slave includes command information indicating content transmitted from the Slave.
These and other objects, features and advantages of the present disclosure will become more apparent in light of the following detailed description of best mode embodiments thereof, as illustrated in the accompanying drawings.
Hereinafter, an embodiment of a communication apparatus and a communication system 3 will be described with reference to the drawings. Although the main components of the communication apparatus and the communication system 3 will be mainly described below, there may be components and functions not shown or described in the communication apparatus and the communication system 3. The following description does not exclude components or functions not shown or described.
The communication apparatus shown in
The Master SerDes 7 and the Slave SerDes 13 are connected to each other so as to be capable of communicating with each other over a predetermined communication standard (hereinafter, referred to as the “communication standard X”). Examples of the predetermined communication standard X include, but are not limited to, FPD-Link III, A-phy, and ASA. Each of the Master SerDes 7 and the Slave SerDes 13 corresponds to the communication apparatus according to this embodiment. In this specification, the Master SerDes 7 is referred to as the SerDes 1, and the Slave SerDes 13 is referred to as the SerDes 2 in some cases.
The Master 21 and the Master SerDes 7 are connected to each other so as to be capable of communicating with each other through, for example, I2C (Inter-Integrated Circuit) communication. Note that the communication between the Master 21 and the Master SerDes 7 is not limited to the I2C communication, and may be, for example, communication using GPIO (General Purpose Input/Output).
Similarly, the Slave 22 and the Slave SerDes 13 are connected to each other so as to be capable of communicating with each other through, for example, 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, for example, communication using GPIO.
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 I2C communication with the Master SerDes 7 via the I2C 4a.
The SoC 5 performs, for example, image recognition or video processing, and includes an I2C 5a. The SoC 5 receives an image signal from the Master SerDes 7 and performs 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 I2C communication with the Slave SerDes 13 through the I2C 12a. In this specification, the image sensor 12 is referred to as the CIS (CMOS image sensor) in some cases. The mem 19 is capable of storing pixel data obtained by capturing by the image sensor 12 or storing data transmitted from the Master 21. In this specification, the mem 19 is referred to as the mem 3 in some cases.
The temperature sensor 14 measures the temperature of an arbitrary target (e.g., the image sensor 12) and includes an I2C 14a. The temperature sensor 14 performs I2C communication with the Slave SerDes 13 via the I2C 14a, and transmits temperature data relating to the measured temperature, or the like to the Slave SerDes 13.
The Master SerDes 7 converts the signal of the I2C protocol received from the Master 21 into a signal of the communication standard X protocol, transmits the converted signal to the Slave SerDes 13, and appropriately performs format conversion on the signal of the communication standard X protocol received from the Slave SerDes 13 to generate image data or a signal of the I2C protocol, and outputs the generated data or signal to the Master 21. This 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 performs format conversion on 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 converted signal to the Slave SerDes 13 via the Rv.Tx 10. Further, 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 generated data to the Master 21, or generates a signal of the I2C protocol including information other than image data and outputs the generates signal to the Master 21 via the I2C 7a.
The Slave SerDes 13 performs format conversion on the signal of the I2C protocol or the image signal received from the Slave 22 into a signal of the communication standard X protocol and transmits the converted signal to the Master SerDes 7, and appropriately performs format conversion on the signal of the communication standard X protocol received from the Master SerDes 7 into a signal of the I2C protocol and outputs the converted signal to the Slave 22. This Slave SerDes 13 includes a LINK 17, a forward transmitter (Fw.Tx) 16, a reverse receiver (Rv.Rx) 15, and an I2C 13a.
The LINK 17 performs format conversion on the signal of the I2C protocol or the image data received from the Slave 22 via the I2C 13a into a signal of the communication standard X protocol and transmits the converted signal to the Master SerDes 7 via the Fw.Tx 16. Further, 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 converted signal to the Slave 22 via the I2C 13a. At this time, there is a possibility that the following problems 1) and 2) occur.
1) In the case where the ECU 4 or the SoC 5 constituting the Master 21 uses I2C communication to control the image sensor 12 or the temperature sensor 14 constituting the Slave 22, the Master 21 needs to receive an ACK signal or a NACK signal from the Slave 22 every time the Master 21 transmits information in units of one byte or the like. In this case, the propagation delay of I2C communication via the Master SerDes 7 and the Slave SerDes 13 is generally larger than the period of one clock of I2C communication (e.g., 400 kH or 1 MHz for a frequency of one clock) in some cases. In this case, the Master SerDes 7 receives, from the Slave SerDes 13, the ACK signal or the NACK signal from the Slave 22 and holds the clock (SCL) of the I2C protocol signal at a Low level until the I2C protocol conversion is completed and it is ready to output the ACK signal or the NACK signal to the Master 21 via the I2C 7a. The Master SerDes 7 releases the held Low level of the clock (SCL) of the I2C protocol signal after it is ready to output the ACK signal or the NACK signal transmitted from the Slave 22 to the Master 21. As a result, the Master 21 is capable of resuming I2C communication and receiving the ACK signal or the NACK signal. Since the Master 21 cannot perform I2C communication while the Master SerDes 7 holds the SCL at the Low level, problems that it takes time to transfer a command and communication with another Slave 22 (e.g., the temperature sensor 14 in the case of standing by for the ACK signal or the NACK signal from the image sensor 12) connected to an I2C bus cannot be performed occur.
2) Further, it is favorable that various devices other than the image sensor 12 and the temperature sensor 14 can be connected as the Slave 22 to the Slave SerDes 13. The various Slaves 22 may have different I2C operation clocks. For this reason, the Slave SerDes 13 is assumed to perform I2C communication with the various Slaves 22, and the I2C operation clock of the Slave 22 (operation clock of I2C communication between the Slave 22 and the Slave SerDes 13) is set lower than required in some cases.
In
The communication system 3 shown in
Further, in order to solve the above-mentioned 2), in the communication system 3 shown in
The LINK 11 shown in
The LINK 17 shown in
The communication apparatus (the Master SerDes 7) shown in
The communication apparatus (the Slave SerDes 13) shown in
Each of the first output signal and the second external signal in
Slave_Adr may be placed next to Cmd_mode, Sub_Adr may be placed next to Slave_Adr, and Length may be placed next to Sub_Adr.
Cmd_mode may include command format information Cmd_mode [2:0] that defines the command format on the communication standard X, which has the function of identifying a Write command and a Read command. That is, Cmd_mode may include Cmd_mode [2:0] that defines the command format on the predetermined communication standard between the communication apparatus and the second external apparatus.
Cmd_mode may include at least Cmd_mode [0]-Cmd_mode [7], and the data-end-determination-condition information Cmd_mode [7] may specify a condition for determining the end of data transmitted from the first external apparatus.
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 apparatus and the final destination apparatus.
The first output signal and the second external signal may include a command obtained by protocol-converting a command of I2C (Inter-Integrated Circuit) communication into a predetermined communication standard between the communication apparatus and the second external apparatus.
The LINKs 11 and 17 may transmit, every time the LINKs 11 and 17 receive each information unit constituting the first external signal from the first external apparatus, an ACK signal indicating an affirmative response or a NACK signal indicating a negative response to the first external apparatus.
The LINKs 11 and 17 may have a storage unit that stores a signal corresponding to the first external signal and a signal corresponding to the second external signal, and
the LINKs 11 and 17 may collectively perform, when the reception of the first external signal from the first external apparatus is completed, protocol conversion on the first external signal received and stored in the storage unit and generate the first output signal.
The protocol conversion performed by the LINKs 11 and 17 may be protocol conversion corresponding to TDD (Time Division Duplex).
The LINKs 11 and 17 may transmit the first output signal to the second external apparatus, and store, when receiving information indicating that the processing for the first output signal is completed from the second external apparatus, the signal indicating the processing completion in the storage unit.
The LINKs 11 and 17 may release the storage area of the storage unit on the basis of a command from the first external apparatus.
The LINKs 11 and 17 may output the processing completion information for the second external signal transmitted from the second external apparatus in response to a request signal from the first external apparatus, or output, to the first external apparatus, an interrupt request flag for performing interrupt processing on the first external apparatus.
The LINKs 11 and 17 may receive, from the first external apparatus, a first external signal including output instruction information cmd_done for instructing to output the first output signal and transmission-stopping information P (STOP condition) indicating the transmission stopping of the first external signal.
The LINKs 11 and 17 may recognize, in the case where a first value is received as the data-end-determination-condition information for specifying the condition for end determination of the data transmitted from the first external apparatus, that the first external signal transmitted from the first external apparatus has ended when the transmission-stop information P (STOP condition) indicating the transmission stopping of the first external signal.
The LINKs 11 and 17 may recognize, in the case where a second value is received as the data-end-determination-condition information for specifying the condition for end determination of the data transmitted from the first external apparatus, that the first external signal transmitted from the first external apparatus has ended regardless of the value of the data-end-determination-condition information to be received thereafter, when the output instruction information for instructing to output the first output signal and the transmission-stopping information indicating the transmission stopping of the first external signal are received.
The LINKs 11 and 17 may release the storage area of the storage unit after transmitting the first output signal to the second external apparatus.
The LINKs 11 and 17 may perform, a predetermined number of times or within a predetermined time, at least one of outputting the signal obtained by performing the protocol conversion for the second output signal on the signal based on the second external signal stored in the storage unit to the first external apparatus for each information unit or receiving the respective information units constituting the first external signal output from the first external apparatus.
The frame structure shown in
The container structure include a Header, a Payload, and a Parity. The Header includes, for example, address information indicating the destination of the Payload. The Payload is the main body of the signal to be transmitted and received. The Payload includes an OAM (Operations, Administration, Maintenance) for SerDes control in addition to a video signal. The Parity is a bit or bit string for error detection or error correction of the Payload.
The Payload includes pieces of information of CLK value, Cmd_mode, Slave Adr, length, data, and End of data. The CLK value represents the operation clock of the Slave 22, i.e., the SCL frequency that the Slave SerDes 13 uses in I2C communication with the Slave 22. The Cmd_mode represents the content of the command transmitted from the Master 21. The Slave Adr represents address information for identifying the Slave 22. The length represents the length of data transmitted from the Master 21. The End of data represents the end position of the data transmitted from the Master 21.
Note that in the case where the Cmd_mode is extended to two bytes, the upper one byte of the Cmd_mode may be assigned to Cmd_ID. The Cmd_ID represents identification information used to distinguish and identify the command transmitted from the Master 21.
In the case of performing data communication between the Master 21 and the Slave 22 using the TDD method, changing the signal ratio of a signal Rv from the Master 21 to the Slave 22 within one TDD cycle and the signal ratio of a signal Fw from the Slave 22 to the Master 21 can be realized by changing the number of containers included in each frame structure. Note that the size of the container may be the same or different between the signal Rv and the signal Fw.
In the communication system according to this embodiment, I2C communication is performed between the Master 21 and the Master SerDes 7, and I2C communication is performed also between the Slave SerDes 13 and Slaver 22. In the I2C communication, one of a first mode (referred to also as the Byte I2C mode) for receiving an ACK signal/NAK signal every time a predetermined number of bytes (e.g., 1 byte or 2 bytes in the case where an error correction code is not transmitted, or 2 bytes or 3 bytes in the case where an error correction code is transmitted) of information is transmitted and a second mode (Bulk I2C mode) for receiving an ACK signal/NAK signal every time bulk information, which is a bulk of a plurality of bytes of information, is transmitted can be selected.
Meanwhile, in the case of performing I2C communication between the Master SerDes 7 and the Slave SerDes 13 using the FDD (Frequency Division Duplexing) method, in order to transmit, from the Master 21, information whose final destination is the Slave 22, as shown in the timing chart of
Note that the signal to be transmitted to the Slave SerDes 13 includes command information indicating the content transmitted from the Master 21, and the signal to be transmitted to the Master 21 includes information transmitted from the Slave SerDes 13.
Further, in the Bulk I2C mode, as shown in
Meanwhile, in the Byte I2C mode, as shown in
Further, in the Byte I2C mode, as shown in
Between the Bulk I2C mode and the Byte I2C mode, the information of Cmd_mode in the frame structure shown in
The bits [4:0] indicate the I2C packet type for defining the packetized I2C data. The bit [4] indicates information for instructing whether it is data for Write or Read or other data, and is referred to herein as the third information in some cases. The value 1 of the bit [4] indicates that a Write/Read data packet follows next. The value 0 of the bit [4] indicates that there are no Write/Read data packets. The bit [3] indicates information indicating whether or not a NACK signal has been received, and is referred to herein as the fourth information in some cases. The value 1 of the bit [3] indicates that a NACK signal has been received from the Slave 22 or the Master 21, and 0 indicates that no NACK signal has been received. The bit [2] indicates information indicating whether or not an ACK signal has been received and is referred to herein as the fifth information in some cases. The value 1 of the bit [2] indicates that an ACK signal has been received from the Slave 22 or the Master 21, and 0 indicates that no ACK signal has been received. The bit [1] indicates information indicating whether or not a STOP command is included, and is referred to herein as the sixth information in some cases. The value 1 of the bit [1] indicates that a STOP command has been detected, and 0 indicates that no STOP command has been detected. The bit [0] indicates information indicating whether or not a START/ReSTART command is included, and is referred to herein as the seventh information in some cases. The value 1 of the bit [0] indicates that a START/ReSTART command has been detected, and 0 indicates that no START/ReSTART command has been detected.
The cmd_mode shown in
In
Meanwhile, the Write command format and the Read response format include WDATA or RDATA that is data having a variable length, but the length of WDATA or RDATA is the sum of lengthH and lengthL. For this reason, the position of End of Data can be specified from the value of lengthH and lengthL. For example, in the case where the Write command format has header 7 bytes+WDATA 64 bytes=71 bytes and the Read response format has header 7 bytes+RDATA 64 bytes=71 bytes, the sum of lengthH and lengthL is 64, so the end position of each format can be specified without EoD.
The I2C condition format includes cmd_mode and CRC. The I2C commands transmitted in the I2C condition format are S (START), Sr (ReSTART), P (STOP), and ACK/NACK. The I2C data format includes cmd_mode, Data, and CRC. The I2C commands transmitted in the I2C data format are S (START), Sr (ReSTART), P (STOP), and ACK/NACK+data.
Clk_value or cmd_id may be added to the command format shown in
Repeated_start represents a start flag indicating that the signal of the I2C protocol continues. Specifically, the Repeated_start corresponds to Sr in the combined format of I2C shown in
End of data in the I2C command transmitted over the communication standard X protocol indicates P (STOP condition). In the case where Cmd_mode [4]=0 in the Bulk I2C mode, it 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 transmitted over the communication standard X protocol is a special command in the case where the following data is 0xFF when Cmd_mode [4]=1 in the Bulk I2C mode. Cmd_done represents information for instructing to transmit, to the Slave SerDes 13, one or more sets, each of the sets including the signal of the I2C protocol from S (START condition) to P (STOP condition).
Rsv_command in the I2C command transmitted over the communication standard X protocol represents Reserved, and is not specified in the present time point. The data in the I2C command indicates the data to be written to the Slave 22 or the data read from the Slave 22.
(Detailed Operation of Byte I2C Mode)
As shown in
The cmd_mode shown in
Similarly,
The node 1 and the node 2 enter the initial state init when a power source is turned on (state S1). When an S/Sr (START/ReSTART) command of the I2C protocol from the Master 21 is received in the initial state init, the node 1 transitions to a START state ST (state S2). In the START state ST, node 1 converts the S/Sr (START/ReSTART) command of the I2C protocol received in the state S1 into a packet of the communication standard X shown in
When the node 1 receives, in the Start state ST, data D from the Master 21, the node 1 determines whether or not the received data is Slave address (state S3). If the received data is not Slave address, the state returns to the state S1. If the received data is Slave address, the state transitions to a Slave address state Sl_Addr (state S4). The node 1 instructs, in the Slave address state Sl_Addr, the Master 21 to perform clock stretch. The clock stretch means holding the clock from the Master 21 at a low level. During the clock stretch period, the Master 21 is unable to transmit new information to the node 1. Further, in the Slave address state Sl_Addr, the node 1 converts the Slave address of the I2C protocol into a packet of the communication standard X and transmits the obtained packet to the node 2. When the node 2 receives Slave address from the node 1, the node 2 transitions to the Slave address state Sl_Addr and transmits the Slave address converted into the I2C protocol to the Slave 22. When the node 2 receives, in the Slave address state Sl_Addr, an ACK/NACK signal from the Slave 22, the node 2 transitions to a Write state W, converts the ACK/NACK signal into the protocol of the communication standard X, and transmits the obtained signal to the node 1.
When the node 1 receives, in the Slave address state Sl_Addr, an ACK/NACK signal from the node 2, the node 1 transitions to the Write state W (State S5). In the Write state W, the Master 21 is instructed to release the clock stretch, and the ACK/NACK signal from the node 2 is converted into the I2C protocol and transmitted to the Master 21. When the node 1 receives, in the Write state W, the data D from the Master 21, the node 1 transitions to a Write data state WD (state S6). In this state, when the ACK/NACK signal is returned to the Master 21, the state returns to the Write state W. When the node 1 receives, in the Write state W, the P (STOP) command from the Master 21, the node 1 transitions to an end state End (state S7). When the P (STOP) command of the I2C protocol is converted into a packet of the communication protocol X and transmitted to the node 2 in the end state End, the state returns to the initial state init.
When the node 2 receives Slave address including a Read bit and transitions to the Slave address state Sl_Addr of the state S4 and receives ACK or NACK from the Slave 22, the node 2 transitions to a Read state R (state S8). After that, the node 2 converts ACK or NACK of the I2C protocol into a packet of the communication protocol X and transmits the obtained packet to the node 1. When the data D from the Slave is received in the Read state R, the state transitions to a Read data state RD (state S9). The node 2 translates the Read data into a packet of the I2C protocol of the communication protocol X and transmits the obtained packet to the node 1. When the node 1 receives an ACK/NACK packet from the node 2, the node 1 transitions to the Read state R and transmits ACK or NACK to the Master 21. After that, when the Read data packet is received, the state transitions to the Read data state RD, and the Read data is transmitted to the Master 21.
In the case where no ACK/NACK signal is received within the limited time in the Read data state RD, the time is over, and the state transitions to a data error state (state S10). Similarly, also in the case where the data D from the Slave is not received within the limited time in the Read state R, the time is over, and the state transitions to the data error state of the state S10. In the case where 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 the case where no ACK/NACK signal from the Slave is received within the limited time in the Write data state WD of the state S6, the time is over, and the state transitions to an ACK error state a_err (state S11). Further, also in the case where no ACK/NACK from the Slave is received within the limited time in the Slave address state Sl_Addr of the state S4, the state transitions to the ACK error state a_err in the state S11. When predetermined error processing is performed in the ACK error state a_err, the processing returns to the state S1.
The state transitions when the Master SerDes 7 writes the Byte I2C mode are summarized as follows. When the LINK 11 in the Master SerDes 7 transitions to the Start state ST (first state) when the LINK 1 receives, from the Master 21, a signal including Start Condition. 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 converted signal to the Slave SerDes 13. After that, when the LINK 11 receives, in the Start state ST, a signal including address information of the final destination apparatus of one byte (Slave address) from the Master 21, the LINK 11 transitions to the Slave address state Sl_Addr (second state) and holds the clock from the Master 21 at a low level. In the Slave address state Sl_Addr, the LINK 11 converts a signal including the address information into a signal of the communication protocol X and transmits the converted signal to the Slave SerDes 13. After that, when the LINK 11 receives, in the Slave address state Sl_Addr, a signal including the ACK signal or NACK signal from the Slave SerDes 13, the LINK 11 recognizes, in the case where a specific bit of the signal including the address information has a first bit value, the specific bit as writing 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 NACK signal received from the Slave SerDes 13 into the signal of the I2C protocol (second communication standard) and transmits the converted signal to the Master 21, and then releases the holding of the low level of the clock from the Master 21.
Further, when the LINK 11 receives, in the Write state W, a signal including one byte of write data from the Master 21, 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 converted signal to the Slave SerDes 13. After that, when the LINK 11 receives, in the Write data state WD, a signal including the ACK signal or the NACK signal from the Slave SerDes 13, 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 converted signal to the Master 21.
Further, in the case where the LINK 11 receives, in the Slave address state Sl_Addr or the Write data state WD, no signal including an ACK signal or a NACK signal from the Slave 22 within a predetermined time period, 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 transitions when the Master SerDes 7 reads the Byte I2C mode are summarized as follows. When the LINK 11 in the Master SerDes 7 receives a signal including Start Condition or ReStart Condition from the Master 21, the LINK 11 transitions to the Start state ST. When transitioning to the Start state ST, the LINK 11 converts a signal including the received Start Condition or ReStart Condition into a signal of the communication protocol X and transmits the converted signal to the Slave SerDes 13. After that, when the LINK 11 receives, in the Start state ST, a signal including address information of the final destination apparatus of one byte from the Master 21, the LINK 11 transitions to the Slave address state Sl_Addr and holds the clock from the Master 21 at 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 converted signal to the Slave SerDes 13. After that, when the LINK 11 receives, in the Slave address state Sl_Addr, a signal including an ACK signal or a NACK signal from the Slave SerDes 13, the LINK 11 recognizes, in the case where a specific bit of the signal including the address information has a second bit value, the specific bit as reading 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 NACK signal received from the Slave SerDes 13 into a signal of the I2C protocol, transmits the converted signal to the Master 21, and then releases the holding of the low level of the clock from the Master 21.
Further, when the LINK 11 receives, in the Read state R, a signal including one byte of reading data from the Slave SerDes 13, the LINK 11 transitions to the Read data state RD (the 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 converted signal to the Master 21. After that, when the LINK 11 receives, in the Read data state RD, a signal including an ACK signal or a NACK signal from the Master 21, the LINK 11 transitions to the Read state R, converts the received signal into a signal of the communication protocol X, and transmits the converted signal to the Slave SerDes 13.
Further, when the LINK 11 receives, in the Read state R, no reading data from the Slave SerDes 13 within a predetermined time period, the LINK 11 transitions to the data error state d_err (eighth state). In the case where the LINK 11 receives, in the Read data state RD, no ACK signal or NACK signal from the Master 21 within a predetermined time period, transitions to the data error state d_err. The LINK 11 performs error processing in the data error state d_err to avoid deadlock of the entire system including the communication apparatus, the Master 21, and the Slave SerDes 13.
Meanwhile, the state transitions of the Master SerDes 7 in the Bulk I2C mode are summarized as follows. The LINK 11 in the Master SerDes 7 holds the received signal from when receiving the signal including Start Condition to when receiving the signal including Stop Condition from the Master 21, and transmits the signal including the ACK signal or 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, from the Slave SerDes 13, the signal including the ACK signal or NACK signal from the Slave 22, holds the received signal, then converts the signal from the Slave SerDes 13 into a signal of the I2C protocol in response to a read request from the Master 21, and transmits the converted signal to the Master 21.
As shown in
As shown in
Since the Master 21 is capable of recognizing that RDATA has been received after the time is over, the Master 21 is capable of determining, by reading the err register of the node 1 as necessary, whether the RDATA after the time is over is dummy data or normal data.
The above is the detailed operation of the Byte I2C mode. Subsequently, the detailed operation of the Bulk I2C mode will be described.
(Detailed Operation of Bulk I2C Mode)
Hereinafter, a case where the Random Write is performed from the Master 21 to the Slave 22 will be described. In the case where the Master 21 performs Random Write to the Slave 22, the Master 21 transmits a command set to the Master SerDes 7 via I2C communication first. The I2C communication protocol at the time of Random Write is as shown in
The data in the I2C protocol transmitted from the Master 21 is stored in the table 1 in the mem 1 of the Master SerDes 7.
Cmd_mode of Sub_Adr [1] is one byte of information indicating the content of the command received from the Master 21 by the Master SerDes 7.
Slave Adr of Sub_Adr [2] in the table 1 of
Sub_adrH of Sub_Adr [3] is the upper one byte of information of the address indicating which Sub_adr of the mem 19 (mem 3) in the image sensor 12 is accessed or which Sub_adr of a mem 20 in the temperature sensor 14 is accessed.
Sub_adrL of Sub_Adr [4] is the lower one byte of information of the address indicating which Sub_adr of the mem 19 (mem 3) in the image sensor 12 is accessed or which Sub_adr of the mem 20 in the temperature sensor 14 is accessed.
LengthH of Sub_Adr [5] is the upper one byte of information of the data length of WDATA (Data[N−2:7]). LengthL of Sub_Adr [6] is the lower one byte of 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.
As End of Data of Sub_Adr [N−1], 0x9F is written when P (STOP condition) is received from the Master 21. An initial value such as 0x00 has been written at default.
The Master SerDes 7 reads the data of the table 1 shown in
In the case where Cmd_mode=0x00, Cmd_mode [7]=0, which indicates “end determination for each End of data”. For this reason, when the LINK 11 of the Master SerDes 7 receives “End of data (0x9F)”, the LINK 11 writes “End of data (0x9F)” to the table 1 shown in
In the case where Cmd_mode=0x80, when End of data and cmd_done are written, the data in the mem 1 (the table 1 shown in
The Slave SerDes 13 extracts the I2C command packet from the received signal of the communication standard X protocol and writes it to the table 3 in the mem 2. This is called the mem 2 (Save I2C command Packet) in
The Slave SerDes 13 performs protocol-conversion on the received data of Reverse link and restores the original stored data of the mem 1 in the mem 2. The Slave SerDes 13 determines that the I2C command packet has been restored by the restoration of End of data.
When the Slave SerDes 13 writes End of data to the table 3 in the mem 2 shown in
(data) Cmd_mode (0x00) indicates that S (START condition) is issued and a W (Write) command or R (Read) command is generated in accordance with the value of Cmd_mode [0] after the next Sl_adr is issued.
(data) Sl_adr (0x02) indicates that “0x02” is specified as the Sl_adr described above. Since “0x02” is specified, the image sensor 12 is selected. (data) Sub_adrH (0x00) indicates that “0x00” is specified as the higher bits of the address of the mem 3 (the target to be accessed finally) in the image sensor 12. (data) Sub_adrL (0x00) indicates that “0x00” is specified as the lower bits of the address of the mem 3 (the target to be accessed finally) in the image sensor 12. (data) WDATA×2 indicates 16 bytes of data.
The Slave 22 sequentially returns an ACK signal, which indicates that the signal has been normally received, to the Slave SerDes 13 over the S I2C protocol (Step S5).
Note that while data is transmitted and received from the Slave SerDes 13 to the Slave 22 through I2C communication, the same information as that shown in
The Slave SerDes 13 writes ACK to Sub_Adr=N in the table 3 in the case where Cmd_mode [6]=0 and all signals returned from the Slave 22 are ACK signals, and writes NACK to Sub_Adr=N in the table 3 in the case where there is/are one or more NACK signal(s).
The Slave SerDes 13 writes ACK to Sub_Adr=N in the table 3 in the case where Cmd_mode [6]=1 and all signals returned from the Slave 22 are ACK signals, and performs rewriting in the case where there is/are one or more NACK signal(s). In the case where the second signal is also a NACK signal, NACK is written to Sub_Adr=N in the table 3.
As a method of generating ACK or NACK to be written to Sub_Adr=N of the table 3 in the mem 2, for example, the logical product of the ACK signal and the NACK signal returned from the Slave 22 may be taken.
The Slave SerDes 13 performs protocol-conversion on the I2C communication result with the Slave 22 into a signal of the communication standard X protocol, and transmits the obtained signal to the Master SerDes 7 by the Packetized I2C on PHY (depend on the each PHY specification) forward channel (Step S6). When the Slave SerDes 13 writes ACK or NACK to Sub_Adr=N of the table 3 in the mem 2, the Slave SerDes 13 reads the table 3 (from 0 to N in Sub_Adr) and transmits necessary information (in this embodiment, Data [7:0] in the case where Sub_Adr is 2 and N, including Cmd_ID in the 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 the mem 2 shown in
Here, since the mem 1 and the mem 2 occupy the same memory area (Sub_Adr=0 to N−1), the Slave SerDes 13 knows Sub_Adr (which is free in the mem 2 and ACK/NACK has been written to) of the mem 1 to be written next. Further, the Slave SerDes 13 understands that in the case where the Slave SerDes 13 has performing writing on the Slave 22, there is a need to return two bytes (Slave adr that I2C communication has been performed and the result of I2C communication) to the Master SerDes 7.
For example, if “16-byte write to the Slave 22” requested by the Master SerDes 7 is completed, End of Data (0x9F) and the resulting ACK (0x81) can be read. Note that in this example, the determination of polling by referring to the result of End of Data is performed by one-byte reading, and ACK or NACK is read by one-byte reading again. However, the polling result and the I2C communication result to the Slave 22 may be determined by two-bytes reading at a time. If NACK is returned, the Master 21 is capable of checking, by reading Slave adr of Sub_adr (N+7), whether the corresponding Slave 22 has transmitted the NACK.
When 0xFF is written to Sub_adr (N+10) in the mem 1, the Master SerDes 7 releases the storage area of the mem 1 that has been used, as the finishing processing of the request command. Alternatively, in accordance with the write command for initializing the memory area used by the Master 21, the storage area of the mem 1 may be released.
In
More specifically, as shown in
Since this request command indicates the I2C command batch operation of Cmd_mode [2:0]=000 and Cmd_mode [7]=1, the transfer to the Slave SerDes 13 is not started even if End of Data is stored in the mem 1. The subsequent operation of b2 is the same except that the Slave_adr of b1 differs from the temperature sensor 14 (Sl_adr=0x03). The final b3 indicates that Cmd_code [2]=1 is a special code, and the subsequent Data indicates a special code. In this example, by continuously receiving the special cmd_done (0xFF) and STOP condition indicating the end of the command (Step S12), the Master SerDes 7 collectively transmits the received data (
Note that in this embodiment, in the case where Cmd_mode [7]=1 is set by the Master 21, Cmd_mode [7]=0 must not be set until 0xFF is written to cmd_done thereafter.
As shown in
After that, as shown in the processing of the M I2C protocol in Step S25 of
The processing procedure of the Random Read will be described below in order on the basis of
Every time the Master SerDes 7 receives an information unit from the Master 21, the Master SerDes 7 returns an ACK signal to the Master 21 over the S I2C protocol (Step S21). Further, the Master SerDes 7 stores the received I2C command packet in the mem 1 (Step S22).
It can be seen that the Slave SerDes 13 and the Slave 22 in
If the result of “16-byte read to the Slave 22” requested for the Master SerDes 7 by the Master 21 is finished, End of data (0x9F) and the resulting ACK (0x81) can be read. If the result of reading End of data is other than 0x9F, polling continues. In this example, the polling determination is performed by referring to the result of End of data by one-byte reading, and RDATA (16 bytes)+ACK/NACK are read by 17-byte reading again. However, by performing 18-byte reading at a time, the polling result and the I2C communication result to the Slave 22 may be determined. If the result is NACK, the Master 21 is capable of checking whether or not the NACK is from the corresponding Slave 22, by reading Slave adr of Sub_Adr (15).
In
The Slave SerDes 13 performs, when End of data or cmd_done is written to the mem 2, I2C-protocol-conversion on the data written to the mem 2 and performs I2C communication with the Slave 22. In the case where current read is performed (Cmd_mode [3:0]=1001), Sub_adrH and Sub_adrL in the mem 2 shown in
It can be seen that the Slave SerDes 13 and the Slave 22 in
(Error Command Format)
As shown in
As shown in
The first LINK is capable of alternatively selecting a first mode in which an ACK signal representing an affirmative response or a NACK signal representing a negative response is received every time a predetermined number of bytes of information (e.g., one byte or two bytes) is transmitted and a second mode in which an ACK signal or a NACK signal is received every time bulk information that is a mass of a plurality of bytes of information is transmitted. Each of the first output signal and the second external signal includes command information indicating the content of the command transmitted from the first external apparatus.
By configuring the communication system 3 as shown in
Between the Master SerDes 7 and the Slave SerDes 13, for example, it is possible to perform data communication at high speed by a TDD method or an FDD (Frequency Division Duplexing) method.
As described above, in this embodiment, the Master SerDes 7 and the Slave SerDes 13 are disposed between the Master 21 and the Slave 22, and various type of information can be serially transmitted between the Master SerDes 7 and the Slave SerDes 13 at high speed using the communication standard X. The communication standard X may employ an FDD method or a TDD method. Between the Master SerDes 7 and the Slave SerDes 13, one of the Byte I2C mode (first mode) in which an ACK/NACK signal is received every time one-byte or two-byte information is transmitted and the Bulk I2C mode (second mode) in which an ACK/NACK signal is received every time bulk information that is a mass of a plurality of bytes of information is transmitted can be selected. In the case where the Byte I2C mode is selected, it is possible to perform I2C communication using the TDD method in a format similar to the I2C communication using the FDD method. Further, in the case where the Bulk I2C mode is selected, when the Master SerDes 7 receives a command that the Master 21 transmits to the Slave 22, the Master 21 is capable of returning ACK to the Master 21 at its own determination without standing by for ACK from the Slave 22. This allows the Master 21 to quickly receive ACK and quickly perform processing after receiving ACK. That is, the Master 21 is capable of shortening the period for stretching the clock until ACK is received, thereby improving the processing efficiency of the Master 21.
Note that the present technology may take the following configurations.
(1) A communication apparatus, including:
a LINK for performing protocol-conversion on a signal from a Master and outputting the converted signal to a Slave SerDes and for performing protocol-conversion on a signal from the Slave SerDes and outputting 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
in the second mode, the LINK
a signal to be transmitted to the Slave SerDes includes command information indicating content transmitted from the Master, and
a signal to be transmitted to the Master includes command information indicating content transmitted from the Slave SerDes.
(2) The communication apparatus according to (1), in which
the number of bytes of the signal to be transmitted to the Slave SerDes in the first mode is one of 2 bytes and 3 bytes except for clock frequency information and error correction code.
(3) The communication apparatus according to (1) or (2), in which
in the first mode, the LINK
transitions to a first state upon receiving a signal including a Start Condition from the Master,
converts, when transitioning to the first state, the Start Condition into a signal of the first communication standard and transmits the obtained signal to the Slave SerDes,
then, transitions to a second state upon receiving, in the first state, a signal including address information of a final destination apparatus of one byte from the Master, and holds a clock from the Master at a low level,
converts, in the second state, a signal including the address information into a signal of the first communication standard and transmits the obtained signal to the Slave SerDes,
then, upon receiving, in the second state, a signal including one of the ACK signal and the NACK signal from the Slave SerDes, recognizes, where a specific bit of the signal including the address information has a first bit value, the specific bit as writing and transitions to a third state, and
converts, in the third state, the signal including one of the ACK signal and the NACK signal received from the Slave SerDes into a signal of the second communication standard, transmits the obtained signal to the Master, and then, releases the holding of the low level of the clock from the Master.
(4) The communication apparatus according to (3), in which
in the first mode, the LINK
transitions to a fourth state upon receiving, in the third state, a signal including writing data of one byte from the Master,
converts, in the fourth state, the received signal into a signal of the first communication standard, and transmits the obtained signal to the Slave SerDes, and
then, upon receiving, in the fourth state, a signal including one of the ACK signal and the NACK signal from the Slave SerDes, converts the received signal into a signal of the second communication standard and transmits the obtained signal to the Master.
(5) The communication apparatus according to (4), in which
in the first mode, the LINK
transitions to a fifth state where the signal including one of the ACK signal and the NACK signal is not received from the Slave SerDes within a predetermined time period in one of the second state and the fourth state, and
performs error processing in the fifth state.
(6) The communication apparatus according to (1) or (2), in which
in the first mode, the LINK
transitions to the first state upon receiving a signal including one of a Start Condition and a ReStart Condition from the Master,
converts, when transitioning to the first state, the signal including one of the Start Condition and the ReStart Condition into a signal of the first communication standard and transmits the obtained signal to the Slave SerDes,
then, transitions to the second state upon receiving, in the first state, a signal including address information of a final destination apparatus of one byte from the Master, and holds a clock from the Master at a low level,
converts, in the second state, a signal including the address information into a signal of the first communication standard and transmits the obtained signal to the Slave SerDes,
then, upon receiving, in the second state, a signal including one of the ACK signal and the NACK signal from the Slave SerDes, recognizes, where a specific bit of the signal including the address information has a second bit value, the specific bit as reading and transition to a sixth state, and
converts, in the sixth state, the signal including one of the ACK signal and the NACK signal received from the Slave SerDes into a signal of the second communication standard, transmits the obtained signal to the Master, and then, releases the holding of the low level of the clock from the Master.
(7) The communication apparatus according to (6), in which
in the first mode, the LINK
transitions to a seventh state upon receiving, in the sixth state, a signal including reading data of one byte from the Slave SerDes,
converts, in the seventh state, the received signal into a signal of the second communication standard, and transmits the obtained signal to the Master, and
then, transitions to the sixth state upon receiving, in the seventh state, a signal including one of the ACK signal and the NACK signal from the Master, converts the received signal into a signal of the first communication standard, and transmits the obtained signal to the Slave SerDes.
(8) The communication apparatus according to (7), in which
in the first mode, the LINK
transitions to an eighth state where the reading data is not received from the Slave SerDes within the predetermined time period in the sixth state,
transitions to the eighth state where the one of the ACK signal and the NACK signal is not received from the Master within the predetermined time period in the seventh state, and
performs error processing in the eighth state to avoid deadlock of an entire system including the communication apparatus, the Master, and the Slave SerDes.
(9) The communication apparatus according to any one of (1) to (8), in which
in the second mode, the LINK
holds the received signal from when receiving the signal including the Start Condition to when receiving a signal including a Stop Condition, and transmits a signal including one of the ACK signal and the NACK signal to the Master byte by 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 a signal including one of the ACK signal and the NACK signal from the Slave SerDes and holds the received signal, then converts, in accordance with a reading request from the Master, the signal from the Slave SerDes into a signal of the second communication standard, and transmits the obtained signal to the Master.
(10) The communication apparatus according to any one of (1) to (9), in which
the command information includes at least one of
first information for selecting one of the first mode and the second mode,
second information for alternatively selecting, where the first mode is selected, whether one of the Slave SerDes and the communication apparatus generates a clock signal for transmitting and receiving data by its own determination or one of the Slave SerDes and the communication apparatus explicitly designates the clock signal to be used,
third information indicating, where the first mode is selected, whether or not one of writing data and reading data is included,
fourth information indicating, where the first mode is selected, whether or not the NACK signal is received,
fifth information indicating, where the first mode is selected, whether or not the ACK signal is received,
sixth information indicating, where the first mode is selected, whether or not a Stop Condition instructing to stop transmission of information is included, or
seventh information indicating, where the first mode is selected, whether or not one of a Start Condition instructing to start transmission of information and a Repeated Start Condition instructing to resume transmission of information is included.
(11) The communication apparatus according to (10), in which
in the first mode, the LINK transmits the signal including the seventh information to the Slave SerDes, and then transmits the signal including the address information of the final destination apparatus to the Slave SerDes.
(12) The communication apparatus according to (10), in which
in the first mode, the LINK transmits a signal obtained by combining the seventh information and the address information of the final destination apparatus to the Slave SerDes.
(13) The communication apparatus 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, in addition to the command information, 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.
(14) The communication apparatus 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 the final destination apparatus of the signal transmitted from the Master,
sub-address information of the final destination apparatus, or
data-length information indicating a length of data transmitted from the Master.
(15) The communication apparatus according to any one of (1) to (14), in which
the command information includes, where the second mode is selected, command-format information defined by the first communication standard, and
the command-format information includes an error command format.
(16) The communication apparatus according to any one of (1) to (15), in which
the command information includes, where the second mode is selected, data-end-determination-condition information for specifying a condition for determining an end of the signal transmitted from the Master.
(17) The communication apparatus according to any one of (1) to (16), in which
each of the signal to the Slave SerDes and the signal from the Slave SerDes includes a command obtained by performing protocol conversion on a command of I2C (Inter-Integrated Circuit) communication into a command of the first communication standard.
(18) The communication apparatus according to (17), in which
the protocol conversion by the LINK is protocol conversion of TDD (Time Division Duplex).
(19) A communication apparatus, including:
a LINK for performing protocol-conversion on a signal from a Master SerDes and outputting the converted signal to a Slave and for performing protocol-conversion on a signal from the Slave and outputting 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
in the second mode, the LINK
a signal from the Master SerDes includes command information indicating content transmitted from the Master SerDes, and
a signal from the Slave includes command information indicating content transmitted from the Slave.
(20) A communication system, including:
a Master SerDes that includes a first LINK; and
a Slave SerDes that includes a second LINK, in which
the first LINK is capable of alternatively selecting a first mode and a second mode when transmitting the signal from a Master to the Slave SerDes,
in the first mode, the first LINK
in the second mode, the first LINK
a signal to be transmitted to the Slave SerDes includes command information indicating content transmitted from the Master,
a signal to be transmitted to the Master includes command information indicating content transmitted from the Slave SerDes,
the second 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 second LINK
in the second mode, the second LINK
a signal from the Master SerDes includes command information indicating content transmitted from the Master SerDes, and
a signal from the Slave includes command information indicating content transmitted from the Slave.
Embodiments of the present disclosure are not limited to the individual embodiments described above, but also include various modifications that may be conceived by those skilled in the art, and the effects of the present disclosure are not limited to the content described above. In other words, various additions, modifications, and partial deletions may be made without departing from the conceptual idea and essence of the present disclosure, which is derived from the content defined in the claims and the equivalents thereof.
It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and alterations may occur depending on design requirements and other factors insofar as they are within the scope of the appended claims or the equivalents thereof.
This application claims the benefit of U.S. Priority Patent Application U.S. 63/042,229 filed Jun. 22, 2020, the entire contents of which are incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
20020165962 | Alvarez | Nov 2002 | A1 |
20030026525 | Alvarez | Feb 2003 | A1 |
20030091267 | Alvarez | May 2003 | A1 |
20050047334 | Paul | Mar 2005 | A1 |
20080072113 | Tsang | Mar 2008 | A1 |
20090086735 | Tsang | Apr 2009 | A1 |
20100194996 | Vergoossen | Aug 2010 | A1 |
20120230671 | Nakada | Sep 2012 | A1 |
20150237145 | Koseki | Aug 2015 | A1 |
20170220517 | Khan | Aug 2017 | A1 |
Number | Date | Country |
---|---|---|
101507183 | Aug 2009 | CN |
2010502046 | Jan 2010 | JP |
2011044100 | Mar 2011 | JP |
2011239011 | Nov 2011 | JP |
2015154260 | Aug 2015 | JP |
WO-2008020401 | Feb 2008 | WO |
Number | Date | Country | |
---|---|---|---|
20210400123 A1 | Dec 2021 | US |
Number | Date | Country | |
---|---|---|---|
63042229 | Jun 2020 | US |