Communication device and communication method
By specifying the read data length for each register address in the A-PHY interface, the method addresses the inefficiencies in read data transmission, ensuring efficient and timely data transfer in automotive SerDes systems.
Patent Information
- Application Number
- PCT/JP2025/026308
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-08-07
- Filing Date
- 2025-07-24
- Publication Date
- 2026-02-12
AI Technical Summary
The transmission efficiency of read data in automotive serializer/deserializer (SerDes) systems using the A-PHY standard decreases due to redundant read data transmissions and bandwidth congestion, leading to a decrease in frame rate.
A communication method that specifies the read data length for each register address in the A-PHY interface, allowing for efficient transmission by minimizing redundant data and eliminating the need for register setting changes.
This method enhances transmission efficiency by preventing bandwidth occupation and reducing the delay in read completion times, thereby maintaining a stable frame rate.
Smart Images

Figure JP2025026308_12022026_PF_FP_ABST
Abstract
Description
Communication device and communication method
[0001] The present disclosure relates to a communication device and a communication method, and more particularly to a communication device and a communication method that are capable of suppressing a decrease in transmission efficiency.
[0002] One of the standards defined by the Mobile Industry Processor Interface (MIPI) Alliance is the Automotive PHY (A-PHY) standard (see, for example, Non-Patent Document 1). A-PHY is a standard related to the PHY layer of an in-vehicle serializer / deserializer (SerDes).
[0003] MIPI Alliance Specification for A-PHY, version 1.1, MIPI Alliance, Inc., 9 August 2021.
[0004] Communication via the A-PHY I / F specified in the A-PHY standard is serial communication, so transmission efficiency can decrease when transmitting read data. Therefore, there is a need to suppress the decrease in transmission efficiency when transmitting read data.
[0005] The present disclosure has been made in view of such circumstances, and aims to make it possible to suppress a decrease in transmission efficiency.
[0006] A communication device according to one aspect of the present disclosure includes a communication unit that receives data transmitted from another communication device connected via an A-PHY I / F defined in the A-PHY standard, and the communication unit transmits a packet including a data length of read data to the other communication device for each address of a register possessed by the other communication device.
[0007] A communication method according to one aspect of the present disclosure includes a communication device receiving data transmitted from another communication device connected via an A-PHY I / F defined in the A-PHY standard, and transmitting a packet including a data length of read data to the other communication device for each address of a register possessed by the other communication device.
[0008] In a communication device and a communication method according to one aspect of the present disclosure, data transmitted from another communication device connected via an A-PHY I / F defined in the A-PHY standard is received, and a packet including the data length of the read data is transmitted to the other communication device for each address of a register possessed by the other communication device.
[0009] A communication device according to one aspect of the present disclosure includes a communication unit that transmits data to another communication device connected via an A-PHY I / F defined in the A-PHY standard, and the communication unit acquires read data corresponding to a data length included in a packet transmitted from the other communication device for each register address and transmits the read data to the other communication device.
[0010] A communication method according to one aspect of the present disclosure is a communication method including a communication device transmitting data to another communication device connected via an A-PHY I / F defined in the A-PHY standard, and obtaining read data corresponding to a data length included in a packet transmitted from the other communication device for each register address and transmitting the read data to the other communication device.
[0011] In a communication device and a communication method according to one aspect of the present disclosure, data is transmitted to another communication device connected via an A-PHY I / F defined in the A-PHY standard, and read data corresponding to the data length contained in a packet transmitted from the other communication device is obtained for each register address and transmitted to the other communication device.
[0012] It should be noted that the communication device according to one aspect of the present disclosure may be an independent device or an internal block constituting a single device.
[0013] 13 is a block diagram showing an example configuration of an embodiment of a communication system to which the present disclosure is applied. FIG. 14 is a diagram showing a first example of a sequence between a source and a sink in a current system. FIG. 15 is a diagram showing a first example of a sequence between a source and a sink in a new system. FIG. 16 is a diagram showing a second example of a sequence between a source and a sink in a current system. FIG. 17 is a diagram showing a second example of a sequence between a source and a sink in a new system. FIG. 18 is a diagram showing an example of a read transaction in a current system. FIG. 19 is a diagram showing an example of a read transaction in a new system. FIG. 19 is a diagram showing a first example of a sequence when a read data length is specified by a command extension. FIG. 19 is a diagram showing an example of a configuration of an A-PHY packet when a read data length is specified by a command extension. FIG. 20 is a diagram showing a second example of a sequence when a read data length is specified by a command extension. FIG. 21 is a diagram showing an example of a configuration of an A-PHY packet when a read data length is allocated in a packet. FIG. 22 is a diagram showing a first example of a sequence when a read data length is allocated in a packet. FIG. 23 is a diagram showing an example of a configuration of the A-PHY packet of FIG. 12. FIG. 24 is a diagram showing a second example of a sequence when a read data length is allocated in a packet. FIG. 25 is a diagram showing an example of a configuration of the A-PHY packet of FIG. 14. FIG. 26 is a diagram showing an example of a sequence between a source and a sink in a new system.
[0014] <System Configuration> FIG. 1 is a block diagram showing an example configuration of an embodiment of a communication system to which the present disclosure is applied.
[0015] 1, a communication system 1 is composed of a communication device 11 and a communication device 12. The communication devices 11 and 12 exchange signals such as commands and data via a transmission path 13 such as a wired wiring. In the communication system 1, communication is performed between the communication devices 11 and 12 via an A-PHY I / F (Interface). A-PHY is a standard defined by the MIPI Alliance as a physical layer for automotive SerDes.
[0016] The communication device 11 includes a processing unit 21 and a communication unit 22. The processing unit 21 is composed of a chip that performs processing related to an upper layer that is a layer higher than the layer defined by the A-PHY standard, and a processor such as a CPU (Central Processing Unit) that controls the operation of each unit of the communication device 11. The communication unit 22 is composed of a chip that performs processing related to communication compliant with the A-PHY standard (for example, processing of the PHY layer and Data Link layer).
[0017] The communication device 12 includes a processing unit 31 and a communication unit 32. The processing unit 31 is composed of a chip that performs processing related to upper layers, a processor that controls the operation of each unit of the communication device 12, etc. The communication unit 32 is composed of a chip that performs processing related to communication compliant with the A-PHY standard, etc.
[0018] In the communication system 1, one of the communication devices 11 and 12 serves as a source, and the other as a sink. The source and sink are defined in the A-PHY standard. Transmission from the source to the sink is called a downlink, and transmission from the sink to the source is called an uplink. The downlink and uplink have different communication speeds, with the downlink being faster than the uplink.
[0019] For example, when the communication device 11 is configured as an image sensor and the communication device 12 is configured as a host, the communication device 11 is configured as a source and the communication device 12 is configured as a sink. In the following description, the communication device 11 is also referred to as a source device, and the components of the communication device 11 (such as the communication unit 22) are also referred to as sources. The communication device 12 is also referred to as a sink device, and the components of the communication device 12 (such as the communication unit 32) are also referred to as sinks.
[0020] In the communication device 11, the processing unit 21 includes an image system 41 and a control system 43, and the communication unit 22 includes a PAL / CSI-2 42 that performs processing related to PAL / CSI-2, a PAL / I2C 44 that performs processing related to PAL / I2C, and an A-PHY 45 that performs processing related to A-PHY. In the communication device 12, the processing unit 31 includes an image system 51 and a control system 53, and the communication unit 32 includes a PAL / CSI-2 52 that performs processing related to PAL / CSI-2, a PAL / I2C 54 that performs processing related to PAL / I2C, and an A-PHY 55 that performs processing related to A-PHY. PAL is an abbreviation for Protocol Adaptation Layer, CSI is an abbreviation for Camera Serial Interface, and I2C is an abbreviation for Inter-Integrated Circuit.
[0021] In the communication unit 22 of the communication device 11, the PAL / CSI-2 42 performs necessary processing on the image data from the image system 41 of the processing unit 21 and outputs the result as CSI-2 data, and the A-PHY 45 transmits the CSI-2 data from the PAL / CSI-2 42 to the communication unit 32 of the communication device 12 via the transmission path 13. In the communication unit 32 of the communication device 12, the A-PHY 55 receives the CSI-2 data transmitted from the communication unit 22 of the communication device 11 via the transmission path 13, and the PAL / CSI-2 52 performs necessary processing on the CSI-2 data from the A-PHY 55 and outputs the image data to the image system 51 of the processing unit 31.
[0022] In addition, in the communication unit 22 of the communication device 11, the PAL / I2C 44 performs necessary processing on the control system data from the control system 43 of the processing unit 21 and outputs the result as I2C data, and the A-PHY 45 transmits the I2C data from the PAL / I2C 44 to the communication unit 32 of the communication device 12 via the transmission path 13. In the communication unit 32 of the communication device 12, the A-PHY 55 receives the I2C data transmitted from the communication unit 22 of the communication device 11 via the transmission path 13, and the PAL / I2C 54 performs necessary processing on the I2C data from the A-PHY 55 and outputs the control system data to the control system 53 of the processing unit 31. Similarly, in the communication unit 32 of the communication device 12, control system data from the control system 53 of the processing unit 31 is transmitted via the transmission path 13 by PAL / I2C 54 and A-PHY 55, and in the communication unit 22 of the communication device 11, the control system data is received via the transmission path 13 by A-PHY 45 and PAL / I2C 44 and output to the control system 43 of the processing unit 21.
[0023] In this manner, in the communication system 1, image data (CSI-2 data) is transmitted as one-way data from the communication device 11 to the communication device 12. In addition, in the communication system 1, control system data (I2C data) is transmitted and received as two-way data exchanged between the communication device 11 and the communication device 12.
[0024] Here, PAL / I2C specifies multi-byte access as register access to the other device. For example, the communication device 12 can access a register of the communication device 11 and receive read data (control data) transmitted from the communication device 11. That is, in the communication system 1, image data (CSI-2 data) and read data exist as unidirectional data from the communication device 11 to the communication device 12.
[0025] Since communication via the transmission path 13 as the A-PHY I / F is serial communication and image data (CSI-2 data) is basically always transmitted as a stream, when transmission of read data occurs, it is necessary to stop the image data being transmitted as a stream. Also, when transmitting read data, transmission of redundant read data with a fixed read length can wastefully occupy a bandwidth, reducing transmission efficiency, and therefore it has been desired to suppress the reduction in transmission efficiency when transmitting read data.
[0026] The following describes a method proposed in this disclosure (hereinafter also referred to as a new method) that makes it possible to suppress a decrease in transmission efficiency when transmitting read data via the A-PHY I / F. When describing the new method, for comparison, the method defined in the current A-PHY standard (hereinafter also referred to as the current method) will also be described as appropriate.
[0027] <Solution to redundant read accesses> PAL / I2C, defined as an upper layer of the A-PHY standard, defines multi-byte access as register access to the other device. When reading with multi-byte access, the data length of the read data sent by the source device (read data length) is set to anywhere from 1 to 32 bytes. The read data length is set in a register defined by the standard, and it is not expected that the set value will change during a single read access. In other words, the set value of the read data length is fixed. Therefore, once the read data length is set, there is a risk that redundant read accesses will cause bandwidth congestion, resulting in a problem of a decrease in the frame rate of image data.
[0028] 2 is a diagram showing a first example of a sequence between a source and a sink in the current system. In FIG. 2, the direction of time is from top to bottom in the diagram, and packets (A-PHY packets) defined in the A-PHY standard are exchanged between a source device (Source) and a sink device (Sink). The dotted line A in the diagram indicates different target addresses and different accesses from the sink device.
[0029] As shown in Figure 2, when the sink device transmits a Target Address (hereinafter also referred to as a Read request) with a Read bit to the source device (S1, S2) with Address(0) (Target Address(0), Sub Address(0)) as the target, the source device returns an Acknowledge (hereinafter also referred to as Ack) (S3) and then transmits 4 bytes of Read data 101 to the sink device in accordance with the register settings of the standard (S4). Here, the Target Address is a device-specific address, and the Sub Address is the address of the register for the device specified by the Target Address. The Read bit is a bit indicating a Read access and is used for the Read request.
[0030] The sink device receives the 4-byte read data 101 and transmits a negative acknowledge (hereinafter also referred to as Nack) to the source device (S5). At this time, if the sink device is expecting 4-byte read data 101 at Address(0), it has received 4 bytes of read data from the source device, and no particular problem occurs. Note that in the read data 101, each square represents 1 byte of read data, and four squares represent 4 bytes of read data. The read data 101 is stored in an A-PHY packet and transmitted.
[0031] Also, as shown in FIG. 2, when the sink device transmits a read request (S6, S7) targeting Address(1) (Target Address(1), Sub Address(1)), the source device returns an Ack (S8) and then transmits 4 bytes of read data 102, 103 (S9) in accordance with the register settings of the standard.
[0032] The sink device receives the 4-byte read data 102, 103 and transmits a Nack to the source device (S10). At this time, if the sink device is expecting 1 byte of read data at Address(1), it receives 4 bytes of read data 102, 103, which differs from the expected read data length. Of the 4 bytes of read data 102, 103 transmitted from the source device, the redundant 3-byte read data 103 (represented by the three dotted squares in the figure) occupies bandwidth and unnecessarily stops the transmission of image data being transmitted as a stream, which may result in a drop in the frame rate.
[0033] With the new method, the sink device requesting read data knows which register on the source device it wants to read, and so includes the specified read data length in the A-PHY packet it sends. By specifying the read data length for each address, only the minimum amount of read data is transmitted, preventing unnecessary bandwidth occupation and reducing transmission efficiency.
[0034] Fig. 3 is a diagram showing a first example of a sequence between a source and a sink in the new method. In Fig. 3, similar to Fig. 2, the direction from top to bottom in the diagram is the direction of time, and A-PHY packets are exchanged between the source device and the sink device via the A-PHY I / F.
[0035] 3, when the sink device sends a read request targeting Address(0) (S21, S22), it specifies 4 bytes as the read data length (S23). After returning an Ack (S24), the source device sends 4 bytes of read data 111 to the sink device according to the read data length specified by the sink device (S25). The sink device receives the 4 bytes of read data 111 and sends a Nack to the source device (S26).
[0036] In this example, the sink device expects 4 bytes of read data in Address(0) and transmits an A-PHY packet specifying 4 bytes as the read data length, thereby receiving 4 bytes of read data 111 specified as the read data length from the source device. Therefore, the sink device can receive the expected 4 bytes of read data.
[0037] 3, when the sink device transmits a read request (S27, S28) targeting Address(1), it specifies one byte as the read data length (S29). After returning an Ack (S30), the source device transmits one byte of read data 112 to the sink device according to the read data length specified by the sink device (S31). The sink device receives the one byte of read data 112 and transmits a Nack (S32).
[0038] Here, the sink device expects 1 byte of read data in Address(1) and transmits an A-PHY packet specifying 1 byte as the read data length, thereby receiving 1 byte of read data 112 specified as the read data length from the source device. Therefore, the sink device can receive the expected 1 byte of read data. At this time, redundant read data is not transmitted, thereby suppressing a decrease in transmission efficiency. Furthermore, a decrease in the frame rate of image data can be suppressed.
[0039] <Solution to write access> In the current method, when trying to solve the problem of the aforementioned bandwidth pressure, a write access is required to change the settings of the register that determines the read data length, which causes a problem of delaying the timing until the read is completed.
[0040] 4 is a diagram showing a second example of a sequence between a source and a sink in the current method. As shown in FIG. 4, when the sink device transmits a read request targeting Address(0) (S41, S43), the source device returns an Ack (S42, S44) and transmits 4 bytes of read data 121 in accordance with the register settings of the standard (S45). The sink device receives the 4 bytes of read data 121 and transmits a Nack and STOP (S46, S47).
[0041] In this case, if the sink device is expecting 4 bytes of read data at Address(0), it will receive 4 bytes of read data from the source device, and there will be no particular problem. Also, if the sink device is expecting 1 byte of read data as the next read data, it will need to change the length of the read data from 4 bytes to 1 byte by changing the setting of the register that determines the read data length.
[0042] That is, after the sink device and source device exchange Address(1) and Ack (S48, S49), the sink device sends Write data (S50), which causes the source device to change the register settings in accordance with the received Write data and set the Read data length to 1 byte. This changes the Read data length from 4 bytes to 1 byte. The source device sends Ack (S51), and the sink device sends STOP in response to the received Ack (S52). Then, when the source device receives STOP, the series of setting changes shown by the exchange between dotted lines A and B in the figure is completed.
[0043] Although some of the subsequent exchanges are omitted, when the sink device sends a read request targeting Address (2) (S53, S55), the source device returns an Ack (S54) and transmits one byte of read data according to the register setting in which the length of the read data has been changed. Here, when the sink device expects one byte of read data at Address (2), it is able to receive one byte of read data from the source device. However, as shown by the exchange between dotted lines A and B in the figure, a write access is required to change the setting of the register that determines the read data length. In this way, with the current method, the read data corresponding to the read request is transmitted after the register setting requiring a write access has been changed, which delays the timing until the read is completed.
[0044] In the new method, the sink device specifies the read data length for each address (access corresponding to each address), so write access is not required, and the timing for read completion can be faster than with the current method.
[0045] 5 is a diagram showing a second example of a sequence between a source and a sink in the new method. In FIG. 5, as in FIG. 3, the sink device specifies 4 bytes as the read data length in the first access (S63), and the source device transmits 4 bytes of read data 131 in accordance with the specified read data length (S65). As a result, the sink device can receive the expected 4 bytes of read data.
[0046] Furthermore, when the sink device specifies 1 byte as the read data length in the second access (S69), the source device transmits 1 byte of read data 132 in accordance with the specified read data length (S71). Thus, the sink device can receive the expected 1 byte of read data. In this way, by specifying the read data length, the new method eliminates the need to change the settings of the register on the source device side, and as a result, no write access is required.
[0047] As described above, in the new method, the communication unit 32 of the communication device 12 (sink device) transmits an A-PHY packet including the data length of read data to the communication device 11 for each address of a register in the communication device 11. Also, the communication unit 22 of the communication device 11 (source device) obtains read data corresponding to the data length included in the A-PHY packet transmitted from the communication device 12 for each address of the register, and transmits the data to the communication device 12. This makes it possible to suppress a decrease in transmission efficiency when transmitting read data from the communication device 11 to the communication device 12 via the A-PHY I / F.
[0048] <Response regarding CSE> In CSE (Camera Service Extension), which is the upper layer of PAL / I2C, data called a tag that confirms the validity of the protocol is transmitted as read data at the end of a read access for functional safety. In the current method, tags are defined to be transmitted in 3 bytes, so if the read data length setting is fixed to a value other than 3 bytes, exception handling is required.
[0049] Fig. 6 is a diagram showing an example of a read transaction in the current method. In Fig. 6, dotted squares represent data transmitted from the control system 53 of the sink device to the control system 43 of the source device, and undotted squares represent data transmitted from the control system 43 of the source device to the control system 53 of the sink device.
[0050] In Figure 6, read messages 0 to K are exchanged sequentially, but read message 0 is required. A read tag is exchanged after each read message. "S" stands for Start and indicates the start of a transaction. "Sr" stands for Repeated Start and indicates the continuation of a sequence. "P" stands for Stop and indicates the end of a transaction. "A" stands for Ack (Acknowledge) and indicates a positive response. "N" stands for Nack (Negative Acknowledge) and indicates a negative response. "0" and "1" indicate write and read. "TARGET ADDRESS" and "SUB ADDRESS" indicate addresses. "DATA" indicates data.
[0051] As shown in Figure 6, in read messages 0 to K, the read data is a fixed number of bytes, and in the read tag, the tag is 3 bytes. The 3-byte tag contains a CRC (Cyclic Redundancy Check) for the entire read message and is used by the source device and sink device to detect transmission errors. Here, if the set value for the read data length is, for example, 4 bytes, it differs from the 3 bytes of the tag, so exception handling is required to process in different byte units.
[0052] FIG. 7 is a diagram showing an example of a read transaction in the new method. Similar to FIG. 6, FIG. 7 shows a read message and a read tag. In the new method, the read data length is always specified after a read request is transmitted, so the read data length is also specified in read messages 0 to K, and read data according to the specified read data length is transmitted. Here, a 3-byte tag is transmitted in the read tag, so 3 bytes is specified as the read data length. In other words, because the sink device knows the read timing, clearly specifying the 3 bytes of the tag can prevent exception processing from occurring on the source device side.
[0053] <Specifying read data length by command extension> The read data length specified in the new method can be included in the CCI command. CCI (Camera Control Interface) is a control interface for camera modules, and specifies a series of protocols such as target addresses and sub addresses. By extending the CCI command, it becomes possible to specify the read data length.
[0054] FIG. 8 shows a first example of a sequence for specifying a read data length using a CCI command extension. In FIG. 8 , time is represented from top to bottom, and A-PHY packets are exchanged between the source device and the sink device. In FIG. 8 , the I2C controller corresponds to the processing unit 31 (control system 53) in FIG. 1 , and the sink corresponds to the communication unit 32 (PAL / I2C 54, A-PHY 55) in FIG. 1 . The I2C target corresponds to the processing unit 21 (control system 43) in FIG. 1 , and the source corresponds to the communication unit 22 (PAL / I2C 44, A-PHY 45) in FIG. 1 . These relationships are similar in other figures ( FIG. 10 , FIG. 16 ) described later.
[0055] As shown in Figure 8, Address(0) from the I2C controller is transmitted between the sink and source in an A-PHY packet and sent to the I2C target (S81). The I2C controller also specifies the read bit and read data length (5 bytes) as a CCI command and notifies the sink (S82, S83). The sink sends an A-PHY packet to the source, including a read request and read data length corresponding to the read bit and read data length from the I2C controller. The source receives the A-PHY packet from the sink and notifies the I2C target of the read bit.
[0056] The I2C target returns an Ack in response to the Read bit from the source. This Ack is transmitted between the source and sink in an A-PHY packet and received by the I2C controller. The I2C target also exchanges Read data and Acks with the source, passing Read data according to the specified Read data length (5 bytes specified) (S84). Here, the source can receive Read data according to the specified Read data length (5 bytes specified) by returning Acks until it receives the desired number of Read data from the I2C target. In other words, the Read data length specification is the number of Acks returned + 1. The source transmits the 5-byte Read data 141 received from the I2C target to the sink in an A-PHY packet.
[0057] The sink receives the 5-byte read data 141 sent from the source. The sink passes the received 5-byte read data by exchanging read data and Ack with the I2C controller (S85). As a result, the I2C controller acquires the read data from the sink and receives the 5-byte read data in accordance with the CCI command that embeds the read data length (specified as 5 bytes). Then, Nack and STOP from the I2C controller are transmitted between the sink and source in an A-PHY packet and sent to the I2C target (S86, S87).
[0058] In this way, the I2C controller of the sink device can acquire read data corresponding to the read data length from the I2C target of the source device by extending the CCI command and embedding the read data length. Embedding the read data length in the CCI command, specifying the required read data length, and setting the read data length for each access prevents unnecessary bandwidth occupation and eliminates the need for exception handling related to the 3-byte tag, as shown in Figure 7. In the sequence shown in Figure 8, embedding the read data length in the CCI command corresponds to the CCI command extension, and other communications are performed using the same CCI commands as in the current method.
[0059] Figure 9 shows an example of the A-PHY packet configuration when the read data length is specified by command extension. As shown in Figure 9, the A-PHY packet (ICT A-Packet) consists of a header (A-Header), a payload (A-Payload), and a tail (A-Tail). In Figure 9, the A-PHY packet uses a multi-byte payload format, and for uplink, the payload is 2 to 32 bytes. For downlink, 2 to 380 bytes is specified. For example, if the read data is 32 bytes and all options are ON, the payload will be 37 bytes.
[0060] The payload contains the following fields: an 8-bit Descriptor Byte, a 24-bit Timestamp, Data Byte #1 to Data Byte #K, and an 8-bit CRC. In the payload, the Descriptor Byte and at least one Data Byte (Data Byte #1) are required, but the Timestamp and CRC are optional.
[0061] The Descriptor Byte contains the following fields: 1-bit Timestamp, 1-bit Control (CTRL), 1-bit Automatically Generate Condition (Auto Gen Cond), 1-bit Close Loop Ack, 1-bit CRC, and the remaining bits are Reserved. The Timestamp contains the following fields: Most Significant Byte, Middle Significant Byte, and Least Significant Byte.
[0062] In the new method, when the read data length is specified by command extension, the specified read data length is stored in the data byte of the payload of the A-PHY packet. The read data length may be included in the same packet as the read request, or in a packet different from the read request.
[0063] For example, when a read request and read data length are included in one A-PHY packet, the payload of the A-PHY packet should store the read request in Data Byte #1 and the read data length (number of bytes to read) in Data Byte #2. Also, when a read request and read data length are included in two A-PHY packets, the payload of the first A-PHY packet should store the read request in Data Byte #1, and the payload of the second A-PHY packet should store the read data length (number of bytes to read) in Data Byte #1.
[0064] 10 is a diagram showing a second example of a sequence when a read data length is specified by command extension. In Fig. 10, as in Fig. 8, Address(0) from the I2C controller is transmitted between the sink and source in an A-PHY packet and sent to the I2C target (S101). In addition, the I2C controller specifies the read data length (5 bytes) along with the read bit as a CCI command and notifies the sink (S102, S103).
[0065] The sink transmits to the source an A-PHY packet 151 including a read request and a read data length corresponding to the read bit and read data length from the I2C controller. At this time, as shown in Fig. 9, the read request and read data length may be stored together in one A-PHY packet (data byte #1 and data byte #2 of the payload) or may be stored separately in two A-PHY packets (data byte #1 of the payload of the first A-PHY packet and data byte #1 of the payload of the second A-PHY packet).
[0066] The source receives the A-PHY packet 151 from the sink, notifies the I2C target of the Read bit, and receives the Read data according to the specified Read data length (5 bytes specified) by returning Ack until the desired number of Read data is received. As a result, in S104 to S107 of Fig. 10, 5 bytes of Read data 152 are transmitted between the source and sink in the A-PHY packet, similar to S84 to S87 of Fig. 8. Therefore, the I2C controller can receive 5 bytes of Read data according to the CCI command in which the Read data length (5 bytes specified) is embedded.
[0067] <Placing Read Data Length in Packet> The read data length specified in the new method can be placed in the A-PHY packet.
[0068] Fig. 11 is a diagram showing an example of the configuration of an A-PHY packet when allocating a read data length. As shown in Fig. 11, the A-PHY packet (ICT A-Packet) is a multi-byte payload packet and is composed of a header (A-Header), a payload (A-Payload), and a tail (A-Tail).
[0069] The payload includes an 8-bit Descriptor Byte, a 24-bit Timestamp, Data Byte #1 to Data Byte #K, and an 8-bit CRC field. The Descriptor Byte includes a 1-bit Timestamp, a 1-bit Control (CTRL), a 1-bit Automatically Generated Condition (Auto Gen Cond), a 1-bit Close Loop Ack, and a 1-bit CRC field, with the remaining bits being Reserved.
[0070] In the new method, the specified read data length can be placed in the Reserved field of the Descriptor Byte. For example, using a 3-bit Reserved field, setting 3'b000 indicates a 1-byte read request, 3'b001 indicates a 2-byte read request, 3'b010 indicates a 3-byte read request, and 3'b011 indicates a 4-byte read request. Also, setting 3'b100 indicates an 8-byte read request, 3'b101 indicates a 16-byte read request, 3'b110 indicates a 24-byte read request, and 3'b111 indicates a 32-byte read request.
[0071] 12 is a diagram showing a first example of a sequence for allocating a read data length to a packet. In this example, the sink device specifies 4 bytes as the read data length allocated to an A-PHY packet 161 during a first access (S123), and the source device transmits 4 bytes of read data 162 in accordance with the specified read data length (S125).
[0072] At this time, the A-PHY packet 161 can place information indicating the specified read data length (4 bytes specified) in the Descriptor Byte of the payload. Fig. 13 is a diagram showing an example of the configuration of the A-PHY packet 161 of Fig. 12. As shown in Fig. 13, the three bits of the Reserved Byte of the Descriptor Byte are set to 3'b011, indicating a 4-byte read request. Furthermore, the read request is stored in Data Byte #1. In other words, the A-PHY packet 161 of Fig. 12 is a packet including a read request, and the Read data length (4 bytes specified) is set in the Reserved Byte of the Descriptor Byte.
[0073] In this example, the sink device expects 4 bytes of read data at Address(0) and transmits an A-PHY packet 161 with the read data length (3'b011: 4-byte read request) set in the Descriptor Byte, thereby receiving 4 bytes of read data 162 specified as the read data length from the source device. Thus, the sink device can receive the expected 4 bytes of read data.
[0074] 12, in the second access, the sink device specifies one byte as the read data length placed in the A-PHY packet 163 (S129), and the source device transmits one byte of read data 164 in accordance with the specified read data length (S131). At this time, the A-PHY packet 163 is a packet in which a read request is stored in Data Byte #1, and the read data length (3'b000: one byte read request) is set in the Reserved Descriptor Byte.
[0075] In this example, the sink device expects 1 byte of read data at Address(1) and transmits an A-PHY packet 163 with the read data length (3'b000: 1 byte read request) set in the Descriptor Byte, thereby receiving 1 byte of read data 164 specified as the read data length from the source device. Thus, the sink device can receive the expected 1 byte of read data.
[0076] 14 is a diagram showing a second example of a sequence when a read data length is allocated to a packet. In Fig. 14, similar to Fig. 12 etc., the sink device specifies 4 bytes as the read data length allocated to an A-PHY packet 171 in the first access (S143), and the source device transmits 4 bytes of read data 172 in accordance with the specified read data length (S145). At this time, the A-PHY packet 171 is a packet in which a read request is stored in Data Byte #1, and the read data length (3'b011: 4-byte read request) is set in the Reserved Descriptor Byte.
[0077] Here, if the sink device expects 5 bytes of read data at Address(0), it can receive 4 bytes of read data 172 specified as the read data length from the source device by sending an A-PHY packet 171 with the read data length (3'b011: 4-byte read request) set in the Descriptor Byte.
[0078] The sink device transmits (S146) an A-PHY packet 173 storing information indicating an Ack in response to the received 4-byte Read data 172. Fig. 15 is a diagram showing an example of the configuration of the A-PHY packet 173 of Fig. 14. As shown in Fig. 15, the three bits of the Reserved Descriptor Byte are set to 3'b000, indicating a 1-byte Read request. Furthermore, a specific 1 byte indicating an Ack is set in Data Byte #1. In other words, the A-PHY packet 173 of Fig. 14 is an Ack packet, and the Read data length (1 byte specified) is set in the Reserved Descriptor Byte.
[0079] The source device transmits one byte of read data 174 according to the read data length specified in the Ack packet (S147). The sink device receives the one byte of read data 174 specified as the read data length from the source device and transmits a Nack (S148).
[0080] In this example, when the sink device expects 5 bytes of read data at Address(0), it transmits an A-PHY packet 173 in which the read data length (3'b000: 1-byte read request) is set in the Descriptor Byte, thereby being able to receive 1 byte of read data 174 specified as the read data length from the source device. Therefore, when the sink device expects 5 bytes of read data at Address(0), it can receive a total of 5 bytes of read data by receiving the read data twice (4 bytes of read data 172 and 1 byte of read data 174).
[0081] In this way, in the sequence of Figure 14, the sink device that receives the first read data extends and continues the read sequence by returning an Ack packet, and also uses the Ack packet to specify the read data length of the second read data.
[0082] FIG. 16 is a diagram showing an example of a sequence between a source and a sink in the new method. In FIG. 16, as in FIG. 8 and other figures, the direction from top to bottom in the figure is the direction of time, and A-PHY packets are exchanged between a source device (I2C target, source) and a sink device (sink, I2C controller). The sink has an internal register that determines the read data length requested of the source. In this example, the register setting is set to 4 bytes.
[0083] As shown in Fig. 16, Address(0) from the I2C controller is transmitted between the sink and source in an A-PHY packet and sent to the I2C target (S161). The I2C controller also notifies the sink of a Read bit (S162). Upon receiving the Read bit from the I2C controller, the sink refers to the register setting and transmits an A-PHY packet 181 to the source, in which the Read data length set in the register is set. For example, as shown in Fig. 13, the A-PHY packet 181 is a packet in which a Read request is stored in Data Byte #1, and the Read data length (3'b011: 4-byte Read request) is set in the Reserved Descriptor Byte.
[0084] The source receives an A-PHY packet 181 from the sink and notifies the I2C target of a read bit. The I2C target returns an Ack in response to the read bit from the source. This Ack is transmitted between the source and sink in an A-PHY packet and received by the I2C controller. The I2C target also exchanges read data and Acks with the source, passing read data according to the specified read data length (4 bytes specified) (S163). Here, the source can receive read data according to the specified read data length (4 bytes specified) by returning Acks until it receives the desired number of read data from the I2C target. The source transmits the 4-byte read data 182 received from the I2C target to the sink in an A-PHY packet.
[0085] The sink receives the 4-byte read data 182 sent from the source. The sink passes the received 4-byte read data by exchanging read data and Ack with the I2C controller (S164). As a result, the I2C controller receives the read data from the sink, and receives the 4-byte read data. Then, the I2C controller notifies the sink of Nack and STOP (S165, S166).
[0086] Next, the I2C controller notifies the sink of Address(1) and Write bit (S167, S168), and when an Ack response is received from the sink (S169), it notifies the sink of Write data for updating the register settings by local access (S170). As a result, the internal register settings of the sink are updated (overwritten) with the Write data. In this example, the register setting is changed from 4 bytes to 1 byte, and the register setting is made so that the Read data length of the next Read request is 1 byte. In response to the Ack response from the sink (S171), the I2C controller notifies STOP (S172). In this way, the register settings are changed by performing the series of processes from S167 to S172.
[0087] The I2C controller notifies the sink of Address(0) and Read bit (S173, S174). Upon receiving the Read bit from the I2C controller, the sink refers to the register setting and transmits an A-PHY packet 183, in which the Read data length set in the register is set, to the source (S175). For example, as shown in FIG. 15, the A-PHY packet 183 is an Ack packet in which a specific byte indicating Ack is set in Data Byte #1, and the Read data length (3'b000: 1-byte Read request) is set in the Reserved Descriptor Byte.
[0088] The source receives the A-PHY packet 183 from the sink and exchanges Ack and read data with the I2C target, thereby receiving read data according to the specified read data length (specified as 1 byte) (S176). The source transmits the 1-byte read data 184 received from the I2C target to the sink in an A-PHY packet. The sink receives the 1-byte read data 184 transmitted from the source and passes it to the I2C controller. As a result, the I2C controller receives the read data from the sink and receives the 1-byte read data.
[0089] Then, Nack and STOP from the I2C controller are transmitted between the sink and source in an A-PHY packet and sent to the I2C target (S177, S178).
[0090] In this way, the I2C controller sets the read data length in the sink's internal register, and the sink can refer to the register setting to transmit to the source an A-PHY packet in which the read data length is embedded in a read request or an Ack. For example, if the I2C controller changes the register setting from 4 bytes to 1 byte, the sink can specify 1 byte as the read data length.
[0091] <Modifications> In the configuration of the communication system 1 ( FIG. 1 ) described above, the processing unit 21 configured by a chip or the like and the communication unit 22 configured by a chip or the like have been described as being included in the communication device 11, but the processing unit 21 and the communication unit 22 may be configured as a single device housed in a single housing, or as separate devices housed in separate housings. Similarly, the processing unit 31 configured by a chip or the like and the communication unit 32 configured by a chip or the like have been described as being included in the communication device 12, but the processing unit 31 and the communication unit 32 may be configured as a single device housed in a single housing, or as separate devices housed in separate housings.
[0092] In the configuration of the communication system 1 ( FIG. 1 ) described above, the PAL / CSI-2 42 and PAL / I2C 44 are included in the communication unit 22 of the communication device 11. However, they may be included in the processing unit 21. That is, the processing unit 21 may be configured with the image system 41, PAL / CSI-2 42, control system 43, and PAL / I2C 44. Also, in the communication device 12, the PAL / CSI-2 52 and PAL / I2C 54 are included in the communication unit 32. However, they may be included in the processing unit 31. That is, the processing unit 31 may be configured with the image system 51, PAL / CSI-2 52, control system 53, and PAL / I2C 54. Note that data transmitted from the communication device 11 (e.g., an image sensor) to the communication device 12 (e.g., a host) is not limited to image data and may be other data. Furthermore, the method proposed in this disclosure is not limited to communication via an A-PHY I / F and may be applied to other serial communication.
[0093] In the example of the sequence in Fig. 8, when the read data length is specified by the CCI command extension, the specified read data length is placed in the data byte of the payload of the A-PHY packet, but the specified read data length may be placed in the (reserved) descriptor byte of the payload of the A-PHY packet. Also, in the example of the sequence in Fig. 16, the read data length set in the internal register is placed in the (reserved) descriptor byte of the payload of the A-PHY packet, but the read data length set in the internal register may be placed in the data byte of the payload of the A-PHY packet.
[0094] It should be noted that the embodiments of the present disclosure are not limited to the above-described embodiments, and various modifications are possible within the scope of the gist of the present disclosure. Furthermore, the effects described in this specification are merely examples and are not intended to be limiting, and other effects may also be obtained.
[0095] The present disclosure can also be configured as follows.
[0096] (1) A communication device including a communication unit that receives data transmitted from another communication device connected via an A-PHY I / F defined in the A-PHY standard, wherein the communication unit transmits a packet including a data length of read data to the other communication device for each address of a register in the other communication device. (2) The communication device according to (1), wherein the data length is specified by extending a command. (3) The communication device according to (2), wherein the packet allocates a target address having a read bit and a read data length in a data byte of a payload. (4) The communication device according to (2), wherein another packet different from the packet allocates a target address having a read bit in a data byte of a payload, and the packet allocates the read data length in a data byte of a payload. (5) The communication device according to (1), wherein the packet allocates information indicating the data length in a descriptor byte of a payload. (6) The communication device according to (5), wherein the packet allocates a target address having a read bit in a data byte of a payload. (7) The communication device according to (5), wherein the packet places information indicating an Ack in a data byte of the payload. (8) The communication device according to any one of (5) to (7), wherein the communication unit has an internal register, and the communication unit places the information indicating the data length based on a register setting set in the internal register by a processing unit that performs processing for an upper layer that is a layer higher than a layer related to A-PHY. (9) The communication device according to (1), wherein the data length is specified by extending a command, and the packet places the information indicating the data length in a descriptor byte of the payload. (10) The communication device according to (1), wherein the communication unit has an internal register, and the communication unit places the information indicating the data length in a data byte of the payload of the packet based on a register setting set in the internal register by a processing unit that performs processing for an upper layer that is a layer higher than a layer related to A-PHY.(11) The communication device according to any one of (1) to (10), configured as a host, wherein the data includes image data transmitted from an image sensor that is the other communication device. (12) A communication method including: a communication device receiving data transmitted from another communication device connected via an A-PHY I / F defined in the A-PHY standard; and transmitting a packet including a data length of read data for each address of a register included in the other communication device to the other communication device. (13) A communication device including a communication unit that transmits data to another communication device connected via an A-PHY I / F defined in the A-PHY standard, wherein the communication unit obtains read data for each register address according to the data length contained in the packet transmitted from the other communication device, and transmits the read data to the other communication device. (14) The communication device according to (13), wherein the data length is specified by extending a command. (15) The communication device according to (14), wherein the packet includes a target address having a read bit and a read data length in a data byte of a payload. (16) The communication device according to (14), wherein another packet different from the packet allocates a target address having a read bit in a data byte of a payload, and wherein the packet allocates a read data length in a data byte of a payload. (17) The communication device according to (13), wherein the packet allocates information indicating the data length in a descriptor byte of a payload. (18) The communication device according to (17), wherein the packet allocates a target address having a read bit in a data byte of the payload. (19) The communication device according to (17), wherein the packet allocates information indicating an ACK in a data byte of the payload. (20) The communication device according to any of (13) to (19), configured as an image sensor, wherein the data includes image data to be transmitted to a host that is the other communication device.(21) A communication method including: a communication device transmitting data to another communication device connected via an A-PHY I / F defined in the A-PHY standard; and obtaining read data corresponding to a data length included in a packet transmitted from the other communication device for each address of a register and transmitting the read data to the other communication device.
[0097] REFERENCE SIGNS LIST 1 communication system, 11 communication device, 12 communication device, 21 processing unit, 22 communication unit, 31 processing unit, 32 communication unit, 41 image system, 42 PAL / CSI-2, 43 control system, 44 PAL / I2C, 45 A-PHY, 51 image system, 52 PAL / CSI-2, 53 control system, 54 PAL / I2C, 55 A-PHY
Claims
1. A communication device comprising a communication unit that receives data transmitted from another communication device connected via an A-PHY I / F defined in the A-PHY standard, wherein the communication unit transmits a packet including the data length of read data to the other communication device for each address of a register possessed by the other communication device.
2. The communication device according to claim 1, wherein the data length is specified by extending a command.
3. The communication device according to claim 2, wherein the packet includes a target address having a read bit and a read data length in a data byte of the payload.
4. A communication device according to claim 2, wherein a packet different from the packet places a target address having a read bit in a data byte of the payload, and the packet places a read data length in a data byte of the payload.
5. The communication device according to claim 1, wherein the packet places information indicating the data length in a descriptor byte of the payload.
6. The communication device according to claim 5, wherein the packet places a target address having a read bit in a data byte of the payload.
7. The communication device according to claim 5, wherein the packet places information indicating an Ack in the Data Byte of the payload.
8. The communication device according to claim 5, wherein the communication unit has an internal register, and the communication unit arranges the information indicating the data length based on a register setting set in the internal register by a processing unit that performs processing of an upper layer that is a layer higher than the layer related to A-PHY.
9. The communication device according to claim 1, wherein the data length is specified by extending a command, and the packet places information indicating the data length in a descriptor byte of a payload.
10. The communication device according to claim 1, wherein the communication unit has an internal register, and the communication unit places information indicating the data length in a data byte of the payload of the packet based on a register setting set in the internal register by a processing unit that performs processing of an upper layer that is a layer higher than the layer related to A-PHY.
11. The communication device according to claim 1, configured as a host, wherein the data includes image data transmitted from an image sensor that is the other communication device.
12. A communication method including: a communication device receiving data transmitted from another communication device connected via an A-PHY I / F defined in the A-PHY standard; and transmitting a packet including the data length of read data to the other communication device for each address of a register possessed by the other communication device.
13. A communication device comprising a communication unit that transmits data to another communication device connected via an A-PHY I / F defined in the A-PHY standard, wherein the communication unit obtains read data for each register address according to the data length included in a packet transmitted from the other communication device, and transmits the read data to the other communication device.
14. The communication device according to claim 13, wherein the data length is specified by extending the command.
15. The communication device according to claim 14, wherein the packet places a target address having a read bit and a read data length in a data byte of the payload.
16. A communication device according to claim 14, wherein a packet different from the packet places a target address having a read bit in a data byte of the payload, and the packet places a read data length in a data byte of the payload.
17. The communication device according to claim 13, wherein the packet places information indicating the data length in a descriptor byte of the payload.
18. The communication device according to claim 17, wherein the packet places a target address with a read bit in a data byte of the payload.
19. The communication device of claim 13, configured as an image sensor, wherein the data includes image data to be transmitted to a host that is the other communication device.
20. A communication method including: a communication device transmitting data to another communication device connected via an A-PHY I / F defined in the A-PHY standard; and obtaining read data corresponding to the data length contained in a packet transmitted from the other communication device for each register address and transmitting the read data to the other communication device.
Citation Information
Patent Citations
Memory system and information processor
JP2015035010A
Interprocessor protocols in multiprocessor systems
JP2015508520A
Communication device, communication method, and program
WO2022009691A1