WO2022124083A1 - 通信装置、通信方法、およびプログラム - Google Patents

通信装置、通信方法、およびプログラム Download PDF

Info

Publication number
WO2022124083A1
WO2022124083A1 PCT/JP2021/043097 JP2021043097W WO2022124083A1 WO 2022124083 A1 WO2022124083 A1 WO 2022124083A1 JP 2021043097 W JP2021043097 W JP 2021043097W WO 2022124083 A1 WO2022124083 A1 WO 2022124083A1
Authority
WO
WIPO (PCT)
Prior art keywords
access request
communication device
data
request
writing
Prior art date
Application number
PCT/JP2021/043097
Other languages
English (en)
French (fr)
Inventor
武壽 森山
Original Assignee
ソニーセミコンダクタソリューションズ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニーセミコンダクタソリューションズ株式会社 filed Critical ソニーセミコンダクタソリューションズ株式会社
Priority to US18/254,949 priority Critical patent/US20240045818A1/en
Priority to CN202180077559.2A priority patent/CN116457768A/zh
Publication of WO2022124083A1 publication Critical patent/WO2022124083A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/403Bus networks with centralised control, e.g. polling

Definitions

  • the present disclosure relates to communication devices, communication methods, and programs, and in particular, to communication devices, communication methods, and programs capable of improving the transfer efficiency of data transfer.
  • the I2C (Inter-Integrated Circuit) standard has been widely adopted as a bus IF (Interface) for controlling registers in various devices.
  • IF Interface
  • MIPI Mobile Industry Processor Interface
  • I3C Improved Inter Integrated Circuit
  • I2C and I3C are configured to be able to communicate with slaves connected to the bus IF under the control of the master who has the initiative in communication via the bus IF.
  • I3C has an IBI (In Band Interrupts) function that enables slaves connected to the bus IF to request interrupts.
  • IBI In Band Interrupts
  • Patent Document 1 discloses a technique relating to camera interface expansion using an in-band interrupt that asserts an interrupt request from a slave device.
  • the I3C master receives an ACK response from the I3C slave until the write data is reflected. Until then, it was necessary to make repeated write access requests. Due to the repetition of such write access requests, the transfer efficiency of data transfer is lowered, and improvement thereof is required.
  • the I3C slave with a high write latency will occupy the I3C bus, and other I3C buses will be occupied.
  • the bandwidth that the I3C slave communicates with was supposed to be limited.
  • This disclosure is made in view of such a situation, and makes it possible to improve the transfer efficiency of data transfer.
  • the communication device of the first aspect of the present disclosure includes an access request transmission unit that transmits an access request for writing data to another communication device via a bus, and the other communication device for the access request.
  • the response of is an NACK response
  • the communication method or program of the first aspect of the present disclosure is to send an access request for writing data to another communication device via a bus, and to use the other communication device in response to the access request.
  • the response is an NACK response
  • it is determined whether or not a write completion status indicating that the writing of the data has been completed is transmitted by the interrupt request from the other communication device in response to the access request. Includes waiting for processing until the write completion status is sent by an interrupt request.
  • the first aspect of the present disclosure is when an access request requesting data to be written to another communication device is transmitted via a bus, and the response of the other communication device to the access request is an NACK response. , It is determined whether or not the write completion status indicating that the writing of the data is completed is transmitted by the interrupt request from another communication device in response to the access request, and the write completion status is transmitted by the interrupt request. Processing waits until it arrives.
  • the communication device of the second aspect of the present disclosure includes an access request receiving unit that receives an access request for writing data, which is transmitted from another communication device via a bus, and data corresponding to the access request.
  • an NACK response is sent to the other communication device, and at the timing when the writing of the data corresponding to the access request is completed, the writing indicating that the writing of the data is completed is completed.
  • It includes a transmitter that transmits the completion status by an interrupt request.
  • the communication method or program of the second aspect of the present disclosure receives an access request for writing data, which is transmitted from another communication device via a bus, and receives data in response to the access request.
  • an NACK response is sent to the other communication device, and the writing of the data is completed at the timing when the writing of the data corresponding to the access request is completed. Includes sending status by interrupt request.
  • FIG. 1 is a block diagram showing a configuration example of an embodiment of a communication system to which the present technology is applied.
  • the application processor 11 and the sensor device 12 are connected via an I3C bus consisting of two signal lines, a signal line for transmitting serial data SDA and a signal line for transmitting serial clock SCL. It communicates according to the I3C standard.
  • the application processor 11 comprises an I3C master 21, and the sensor device 12 comprises an I3C slave 22 and a sensor 23.
  • FIG. 1 shows a communication system of a configuration example in which one I3C slave 22 is connected to one I3C master 21.
  • FIG. 1B shows a communication system of a configuration example in which two I3C slaves 22-1 and 22-2 are connected to one I3C master 21.
  • the I3C master 21 has the initiative in communication on the I3C bus, and for example, makes an access request such as a write request to the I3C slave 22 to control communication with the I3C slave 22.
  • the I3C slave 22 can perform communication via the I3C bus, depending on the control of communication by the I3C master 21.
  • the I3C slaves 22-1 and 22-2 have the same configuration, respectively.
  • the sensor 23 for example, various sensors such as an image sensor and a gyro sensor can be used, and the data obtained as a sensing result is collected in the I3C slave 22 at a predetermined sampling cycle or in response to a request from the I3C slave 22. Can be supplied to.
  • various sensors such as an image sensor and a gyro sensor can be used, and the data obtained as a sensing result is collected in the I3C slave 22 at a predetermined sampling cycle or in response to a request from the I3C slave 22. Can be supplied to.
  • the I3C master 21 and the I3C slave 22 can communicate by a communication method to which the present technology is applied as described below.
  • the I3C master 21 transmits an access request for writing data to the I3C slave 22 via the I3C bus, and when the response of the I3C slave 22 to the access request is an NACK response, the I3C slave It is determined from 22 whether or not the data is transmitted by the write completion status interrupt request indicating that the data writing is completed in response to the access request. Then, the I3C master 21 waits for processing until the data is transmitted by the interrupt request, and receives the write completion status, so that it can recognize that the reflection of the data requested to be written has been completed.
  • the I3C slave 22 receives an access request for writing data sent from the I3C master 21 via the I3C bus, and when the writing of data corresponding to the access request is not completed, the I3C slave 22 has not completed writing the data. Send an NACK response to the I3C master 21. Then, the I3C slave 22 transmits a write completion status indicating that the writing of the data is completed by an interrupt request at the timing when the writing of the data corresponding to the access request is completed.
  • FIGS. 2 and 3 a conventional communication method and the present technique are applied to a processing example in which a write access is performed by separating the transmission of an access request and the transmission of a write completion status in response to the access request. This will be explained in comparison with the communication method.
  • a of FIG. 1 a communication method in a communication system having a configuration in which one I3C slave 22 is connected to one I3C master 21 will be described.
  • the I3C slave 22 when the I3C master 21 makes an access request requesting the reflection of the write data, the I3C slave 22 sends an NACK response when the reflection of the write data is not completed. It is transmitted to the I3C master 21 and requests the sensor 23 to reflect the write data (for example, the set value). In response to this, the sensor 23 starts the operation of writing the write data.
  • the I3C master 21 repeatedly makes an access request from the I3C slave 22 until an ACK response is received, and the I3C slave 22 repeatedly transmits an NACK response in response to the access request. After that, when the sensor 23 completes the reflection of the write data, the I3C slave 22 transmits an ACK response in response to the access request after acquiring the write completion status indicating that the write data reflection is completed from the sensor 23.
  • the I3C master 21 needs to repeatedly make an access request during the period from the transmission of the first NACK response to the transmission of the ACK response. For this reason, conventionally, not only the bus is occupied, but also the I3C bus band is squeezed and wasteful power is consumed.
  • the mode in which the I3C master 21 sets the register for the I3C slave 22 and transfers the write completion status by IBI is enabled. Set to. After that, when the I3C master 21 makes an access request requesting the reflection of the write data, the I3C slave 22 sends an NACK response to the I3C master 21 if the reflection of the write data is not completed. In response to this, the I3C master 21 waits for processing until the IBI request is made by the I3C slave 22 or until the predetermined IBI reception waiting time elapses.
  • the sensor 23 starts the operation of writing the write data.
  • the I3C slave 22 acquires the write completion status from the sensor 23, makes an IBI request to the I3C master 21, and transmits data including the write completion status in the payload. do.
  • the I3C slave 22 can transmit the write completion status by IBI, so that the ACK response is transmitted after the first NACK response is transmitted as in the conventional case. It is avoided that the bus is occupied in the period until the bus is occupied. For example, during this period, the I3C master 21 can execute another access, so that the transfer efficiency of data transfer can be improved. Further, not only the bus bandwidth can be effectively utilized, but also the access request can be prevented from being repeated unnecessarily, and as a result, the power consumption can be reduced.
  • FIGS. 4 to 6 an example of processing in which write access is continuously performed to two types of addresses will be described.
  • two I3C slaves 22-1 (assigned Address1) and I3C slaves 22-2 (assigned Address2) are connected to one I3C master 21.
  • the communication method in the communication system having the above configuration will be described.
  • the I3C slaves 22-1 and 22-2 receive two access requests in response to the write request from the I3C master 21. It is assumed that the reflection of the write data can be completed at the timing of.
  • the I3C master 21 makes the first write request to the I3C slave 22-1, receives the NACK response, and makes the second write request to the I3C slave 22-1. Go and receive a NACK response. After that, the I3C master 21 recognizes that the reflection of the write data is completed by transmitting an ACK response from the I3C slave 22-1 in response to the third write request to the I3C slave 22-1. Can be done. According to the write protocol, the I3C master 21 transmits write data even after receiving the ACK response.
  • the I3C master 21 makes the first write request to the I3C slave 22-2 and receives the NACK response, and makes the second write request to the I3C slave 22-2 and receives the NACK response. After that, the I3C master 21 recognizes that the reflection of the write data is completed by transmitting an ACK response from the I3C slave 22-2 in response to the third write request to the I3C slave 22-2. Can be done. According to the write protocol, the I3C master 21 transmits write data even after receiving the ACK response.
  • the conventional communication method uses the write data in each of them. Six accesses were required before receiving the ACK response after the reflection was completed.
  • the I3C master 21 when the I3C master 21 makes a write request to the I3C slave 22-1 and receives the NACK response, it processes after transmitting the write data. Wait for. After that, until the I3C slave 22-1 makes an IBI request, another access is possible, and the I3C slave 22-1 makes an IBI request to the I3C master 21 and writes it at the timing when the write data reflection is completed. Send the completion status (DATA). At this time, the I3C slave 22-1 can add the identification data for identifying the write request corresponding to the write completion status to be transmitted in the IBI request to the write completion status and transmit the data.
  • DATA completion status
  • the I3C master 21 when the I3C master 21 makes a write request to the I3C slave 22-2 and receives the NACK response, it waits for processing after transmitting the write data. After that, until the I3C slave 22-2 makes an IBI request, another access is possible, and the I3C slave 22-1 makes an IBI request to the I3C master 21 and writes it at the timing when the write data reflection is completed. Send the completion status (DATA). At this time, the I3C slave 22-2 can add the identification data for identifying the write request corresponding to the write completion status to be transmitted in the IBI request to the write completion status and transmit the data.
  • FIG. 6 in a communication method to which the present technology is applied, another processing example in which write access is continuously performed to two types of addresses, for example, the period during which the other access shown in FIG. 5 is possible is utilized. An example of the processing performed will be described.
  • the I3C master 21 makes a write request to the I3C slave 22-1 and writes to the I3C slave 22-2 during another accessible period accompanying receiving the NACK response. You can make a request. Then, the I3C slaves 22-1 and 22-2 each make an IBI request to the I3C master 21 at the timing when the reflection of the write data is completed, and transmit the write completion status (DATA) and the identification data.
  • DATA write completion status
  • the communication band can be shared by the I3C slaves 22-1 and 22-2, and the transfer efficiency of data transfer can be further improved.
  • the I3C master 21 registers the mode in which the write completion status is transferred by IBI. It is assumed that it can be set to be enabled or disabled in.
  • the I3C master 21 accesses the register of the I3C slave 22 by the write protocol and enables the mode in which the write completion status is transferred by IBI. Subsequently, when the I3C master 21 makes a write request to the I3C slave 22 and receives an ACK response, it recognizes that the mode for transferring the write completion status by IBI is enabled. Then, when the I3C master 21 makes a write request to the I3C slave 22 and receives the NACK response, it waits for processing after transmitting the write data.
  • the I3C slave 22 makes an IBI request to the I3C master 21 at the timing when the reflection of the write data is completed, and the write completion status and the write completion status are set. Send identification data.
  • the I3C master 21 accesses the register of the I3C slave 22 by the write protocol and sets the mode for transferring the write completion status by IBI to invalid.
  • the I3C slave 22 makes an IBI request to the I3C master 21 at the timing when it is completed to disable the mode for transferring the write completion status by IBI, and transmits the write completion status and the identification data. .. Then, the I3C master 21 repeatedly makes a write request to the I3C slave 22 (twice in the example shown in FIG. 7) until an ACK response is transmitted from the I3C slave 22.
  • the I3C slave 22 makes an ACK response in response to the write request from the I3C master 21 at the timing when the reflection of the write data is completed. As a result, the I3C master 21 can recognize that the reflection of the write data is completed.
  • the I3C master 21 can access the register of the I3C slave 22 and set whether to enable or disable the mode in which the write completion status is transferred by IBI.
  • FIGS. 8 and 9 An example of processing for interrupting the IBI reception waiting state of the I3C master 21 will be described with reference to FIGS. 8 and 9. Further, as a precondition of the processing example described with reference to FIGS. 8 and 9, when the I3C master 21 makes a write request to the I3C slave 22 and receives the NACK response, the IBI is received from the I3C slave 22. You shall be able to receive the busy completion status.
  • FIG. 8 shows a case of interruption due to the I3C master 21.
  • the I3C master 21 makes a write request to the I3C slave 22 and waits for processing after transmitting write data in response to receiving a NACK response, and becomes an IBI reception waiting state. Then, if a timeout occurs on the I3C master 21 side during the IBI reception waiting state, the I3C master 21 again makes a write request to the I3C slave 22.
  • the I3C slave 22 makes an NACK response when the reflection of the write data is not completed, and makes an ACK response when the reflection of the write data is completed. It is also possible to transition to the IBI reception waiting state again.
  • FIG. 9 shows a case of interruption due to the I3C slave 22.
  • the I3C master 21 makes a write request to the I3C slave 22 and waits for processing after transmitting write data in response to receiving a NACK response, and becomes an IBI reception waiting state. Then, during this IBI reception waiting state, the I3C slave 22 sends identification data and a suspension flag (a flag indicating the suspension of the processing standby state) together with invalid data by the IBI, thereby transmitting the I3C.
  • the IBI reception waiting state of the master 21 can be interrupted.
  • the I3C master 21 can make a write request to the I3C slave 22 again, transmit write data in response to receiving the NACK response, and then wait for processing to enter the IBI reception waiting state. ..
  • the IBI reception waiting state of the I3C master 21 can be interrupted from either the I3C master 21 or the I3C slave 22.
  • communication standards other than the I3C standard for example, bus communication signals are shared by devices, access requests and responses are handshaked, and access is started from all devices. Can be applied to communication standards that can be used.
  • FIGS. 10 to 12 a processing example in a communication method in which write access is continuously performed to two types of addresses will be described in the same manner as in FIGS. 4 to 6 described above.
  • the master device receives an NACK response in response to an access request to the slave device (Address1) and then transmits the transfer data, and the ACK response is transmitted. Repeat until. Then, when the master device receives the ACK response from the slave device (Address1), it recognizes that the transfer data has been reflected in the slave device (Address1).
  • the master device repeats the process of transmitting the transfer data after receiving the NACK response in response to the access request to the slave device (Address2) until the ACK response is transmitted. Then, when the master device receives the ACK response from the slave device (Address2), it recognizes that the transfer data has been reflected in the slave device (Address2).
  • the bus is occupied until the transfer data is reflected by repeating the access request.
  • the master device when the master device makes an access request to the slave device (Address1) and receives the NACK response, the master device performs processing after transmitting the transfer data. stand by. After that, until the slave device (Address1) makes a transfer request, another access is possible, and the slave device (Address1) makes a transfer request to the master device and writes when the transfer data reflection is completed. Send the transfer data that is the completion status.
  • the master device when the master device makes an access request to the slave device (Address2) and receives the NACK response, it waits for processing after transmitting the transfer data. After that, until the slave device (Address2) makes a transfer request, another access is possible, and the slave device (Address2) makes a transfer request to the master device and writes when the transfer data reflection is completed. Send the transfer data that is the completion status.
  • FIG. 12 a processing example utilizing the other accessible period shown in FIG. 11 will be described.
  • the master device makes a transfer request to the slave device (Address1) and receives an NACK response, and the access request to the slave device (Address2) is possible during another accessible period. It can be performed. Then, the slave device (Address1) and the slave device (Address2) each make a transfer request to the master device at the timing when the reflection of the transfer data is completed, and transmit the transfer data in the write completion status.
  • the communication band can be shared between the slave device (Address1) and the slave device (Address2), and the transfer efficiency of data transfer can be further improved. can.
  • FIG. 13 is a flowchart illustrating a communication process (for example, the process example of FIG. 4 described above) of the I3C master 21 that communicates by a conventional communication method.
  • step S11 the I3C master 21 transmits an access request to the I3C slave 22.
  • step S12 the I3C master 21 waits for the response of the I3C slave 22 to the access request of step S11, and receives the response transmitted from the I3C slave 22.
  • step S13 the I3C master 21 determines whether the response received in step S12 is an ACK response or an NACK response. Further, in step S13, if neither the ACK response nor the NACK response has been received within the predetermined period, the I3C master 21 skips step S12 and the response of the I3C slave 22 to the access request has not been received. It can be determined that there is.
  • step S13 If the I3C master 21 determines in step S13 that the response of the I3C slave 22 to the access request is an ACK response, the process proceeds to step S14.
  • step S14 the I3C master 21 transmits write data to the I3C slave 22. Then, in step S15, the I3C master 21 processes the write data requested to be written in the access request of step S11 as reflected.
  • step S13 determines in step S13 that the response of the I3C slave 22 to the access request is an NACK response, the process proceeds to step S16.
  • step S16 the I3C master 21 transmits write data to the I3C slave 22. Then, in step S17, the I3C master 21 determines whether or not to retransmit the access request in response to the NACK response from the I3C slave 22.
  • step S17 If the I3C master 21 determines in step S17 that the access request is retransmitted, the process returns to step S11, and the same process is repeated thereafter.
  • step S17 determines in step S17 that the access request is not retransmitted
  • the process proceeds to step S18, and the I3C master 21 does not reflect the write data requested to be written in the access request in step S11. To process.
  • step S13 determines in step S13 that the response of the I3C slave 22 to the access request has not been received (there was no response within a predetermined period)
  • the process proceeds to step S19.
  • step S19 the I3C master 21 determines whether or not to retransmit the access request according to the fact that the response of the I3C slave 22 has not been received.
  • step S19 If the I3C master 21 determines in step S19 that the access request is retransmitted, the process returns to step S11, and the same process is repeated thereafter.
  • step S19 determines in step S19 that the access request will not be retransmitted
  • the process proceeds to step S20.
  • step S20 the I3C master 21 transmits write data to the I3C slave 22, and in step S21, the write data requested to be written in the access request of step S11 is processed as unreflected.
  • step S15 After the processing of step S15, step S18, or step S21, the processing proceeds to step S22, and the I3C master 21 ends the access to the I3C slave 22 started by the access request of step S11. After that, when the next access request is made as appropriate, the same processing as described above is repeated.
  • FIG. 14 is a flowchart illustrating a communication process (for example, the process example of FIG. 4 described above) of the I3C slave 22 that communicates by a conventional communication method.
  • step S31 the I3C slave 22 receives the access request transmitted from the I3C master 21 in step S11 of FIG.
  • step S32 the I3C slave 22 determines whether the response to the access request received in step S31 is an ACK response or an NACK response.
  • step S32 If the I3C slave 22 determines in step S32 that the response to the access request is an ACK response, the process proceeds to step S33.
  • step S33 the I3C slave 22 makes an ACK response to the access request. Then, in step S34, the I3C slave 22 receives the write data transmitted from the I3C master 21 in step S14 of FIG.
  • step S32 determines in step S32 that the response to the access request is an NACK response, the process proceeds to step S35.
  • step S35 the I3C slave 22 makes a NACK response to the access request.
  • step S36 the I3C slave 22 receives the write data transmitted from the I3C master 21 in step S16 of FIG.
  • the I3C slave 22 starts the process of writing the write data when the write data is received for the first time, and discards the write data in the second and subsequent cases (during the write process or the writing is completed).
  • step S34 or S36 the processing proceeds to step S37, and the I3C slave 22 ends the access from the I3C master 21 started by receiving the access request in step S31. After that, when the next access request is received from the I3C master 21, the same processing as described above is repeated.
  • FIG. 15 is a flowchart illustrating a first communication process (for example, the process example of FIG. 5 described above) of the I3C master 21 that communicates by a communication method to which the present technique is applied.
  • the I3C master 21 transmits an access request to the I3C slave 22, and receives the response transmitted from the I3C slave 22. Then, in step S43, the I3C master 21 determines whether the NACK response has been received in step S42, or whether the NACK response cannot be received within a predetermined period and is not received.
  • the ACK response is not transmitted from the I3C slave 22 in response to the access request.
  • step S43 If the I3C master 21 determines in step S43 that the response of the I3C slave 22 to the access request is a NACK response, the process proceeds to step S44. In step S44, the I3C master 21 transmits write data to the I3C slave 22.
  • step S45 the I3C master 21 waits for an IBI request from the I3C slave 22 and determines whether the IBI request has been received or whether the IBI request cannot be received within a predetermined period and is not received. ..
  • step S45 If the I3C master 21 determines in step S45 that the IBI request has been received, the process proceeds to step S46.
  • step S46 the I3C master 21 receives the write completion status transmitted by IBI from the I3C slave 22 in response to the access request in step S41. Then, the I3C master 21 processes the write data requested to be written in the access request in step S41 as reflected.
  • step S45 determines in step S45 that the IBI request has not been received (that is, when the IBI reception waiting time has timed out)
  • the process proceeds to step S47.
  • steps S47 and S48 the same processing as in steps S17 and S18 of FIG. 13 is performed, and the access request is retransmitted.
  • step S43 determines in step S43 that the response of the I3C slave 22 to the access request has not been received (there was no response within a predetermined period)
  • the process proceeds to step S49.
  • steps S49 to S51 the same processing as in steps S19 to S21 of FIG. 13 is performed.
  • step S46 After the processing of step S46, step S48, or step S51, the processing proceeds to step S52, and the I3C master 21 ends the access to the I3C slave 22 started by the access request of step S41. After that, when the next access request is made as appropriate, the same processing as described above is repeated.
  • FIG. 16 is a flowchart illustrating a first communication process (for example, the process example of FIG. 5 described above) of the I3C slave 22 that communicates by a communication method to which the present technique is applied.
  • step S61 the I3C slave 22 receives the access request transmitted from the I3C master 21 in step S31 of FIG. 14, and in step S62, performs an NACK response to the access request.
  • the I3C slave 22 does not send an ACK response in response to the access request.
  • step S63 the I3C slave 22 receives the write data transmitted from the I3C master 21 in step S44 of FIG.
  • step S64 the I3C slave 22 determines whether or not the writing of the write data received in step S63 is completed. For example, when the writing of the write data to the sensor 23 (for example, the reflection of the set value) is completed and the writing completion status is acquired, the I3C slave 22 determines that the writing of the write data is completed. On the other hand, if the I3C slave 22 has not acquired the write completion status from the sensor 23, the I3C slave 22 determines that the write data writing has not been completed.
  • step S64 If the I3C slave 22 determines in step S64 that the writing of write data is completed, the process proceeds to step S65.
  • step S65 the I3C slave 22 makes an IBI request to the I3C master 21 and transmits the write completion status by IBI.
  • step S64 determines in step S64 that the writing of the write data has not been completed
  • the process proceeds to step S66, and the writing of the write data cannot be completed and is not reflected.
  • step S65 or S66 the processing proceeds to step S67, and the I3C slave 22 ends the access from the I3C master 21 started by receiving the access request in step S61. After that, when the next access request is received from the I3C master 21, the same processing as described above is repeated.
  • FIG. 17 is a flowchart illustrating a second communication process (for example, the process example of FIG. 6 described above) of the I3C master 21 that communicates by a communication method to which the present technique is applied.
  • step S75 after the I3C master 21 waits for an IBI request from the I3C slave 22 and determines that the IBI request cannot be received within a predetermined period and has not been received.
  • step S77 it is different from the process of FIG. 15 in that it is determined whether or not to perform the next access. That is, the other processes in the flowchart shown in FIG. 17 are performed in the same manner as the processes in the flowchart of FIG.
  • step S77 when the I3C master 21 determines that the next access is to be performed, the process returns to step S71 to transmit an access request, and the same process is repeated thereafter.
  • FIG. 18 is a flowchart illustrating a second communication process (for example, the process example of FIG. 6 described above) of the I3C slave 22 that communicates by a communication method to which the present technique is applied.
  • step S94 in addition to determining whether or not the writing of write data is completed, the I3C slave 22 determines whether or not the next access has occurred. This is different from step S64 in FIG. That is, the other processing in the flowchart shown in FIG. 18 is performed in the same manner as the processing in the flowchart of FIG.
  • step S64 when the I3C slave 22 determines that the next access has been made, the process returns to step S91 to receive the access request, and the same process is repeated thereafter.
  • FIG. 19 is a block diagram showing a configuration example of the application processor 11 and the sensor device 12.
  • the sensor device 12 includes a pixel 41, an output format selection unit 42, an IBI protocol control unit 43, an I2C / I3C slave 44, a CCI slave 45, and a register 46.
  • the application processor 11 includes an I2C / I3C master 51, a CCI master 52, an IBI protocol processing unit 53, a sensor fusion unit 54, a RAM 55, and a processor 56.
  • the I2C / I3C slave 44 corresponds to the I3C slave 22 in FIG. 1
  • the I2C / I3C master 51 corresponds to the I3C master 21 in FIG.
  • the sensor device 12 is a CMOS image sensor
  • the sensor 23 in FIG. 1 has a configuration having pixels 41.
  • the I2C / I3C master 51 of the application processor 11 makes an image data request access to the I2C / I3C slave 44 of the sensor device 12 via the I3C bus.
  • the sensor device 12 transmits an NACK response to the image data request access from the application processor 11 and asserts the image data request signal.
  • the pixel 41 asserts the image data request signal to output the image data to the output format selection unit 42.
  • the output format selection unit 42 controls the output destination of the image data according to the output format selection signal read from the register 46.
  • the output format selection unit 42 when transferring image data in response to an access request from the application processor 11, the output format selection unit 42 outputs the image data to the CCI slave 45, as in the conventional communication method.
  • the output format selection unit 42 outputs the image data to the IBI protocol processing unit 53.
  • the IBI protocol processing unit 53 generates IBI transfer data and issues an IBI request to the application processor 11 via the I3C bus.
  • the I2C / I3C master 51 that has received the IBI request outputs the IBI received data to the IBI protocol processing unit 53.
  • the IBI protocol processing unit 53 analyzes the IBI received data, identifies which image data request access the data is for, and outputs the image data to the sensor fusion unit 54.
  • FIG. 20 shows a configuration example of the application processor 11 and the sensor device 12 that communicate with Always On.
  • the application processor 11 and the sensor device 12 shown in FIG. 20 have a different configuration from the application processor 11 and the sensor device 12 of FIG. 19 in that the sensor device 12 includes an event detection unit 47, and the like. Is configured in the same way.
  • the event detection unit 47 detects an event (for example, detects a person) and transfers image data using the IBI protocol, so that the operation is caused by the I3C slave 22.
  • the communication method to which this technology is applied is different from AlwaysOn in that the operation is caused by the I3C master 21 because the image data is transferred by the IBI protocol in response to the access request from the I3C master 21. Become.
  • FIG. 21 is a block diagram showing an example of hardware configuration of a computer that executes the above-mentioned series of processes by a program.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • EEPROM Electrically Erasable and Programmable Read Only Memory
  • the CPU 101 loads the programs stored in the ROM 102 and the EEPROM 104 into the RAM 103 via the bus 105 and executes them, thereby performing the above-mentioned series of processes. Further, the program executed by the computer (CPU 101) can be written in advance in the ROM 102, or can be installed or updated in the EEPROM 104 from the outside via the input / output interface 106.
  • the processes performed by the computer according to the program do not necessarily have to be performed in chronological order in the order described as the flowchart. That is, the processing performed by the computer according to the program includes processing executed in parallel or individually (for example, processing by parallel processing or processing by an object).
  • the program may be processed by one computer (processor) or may be distributed processed by a plurality of computers. Further, the program may be transferred to a distant computer and executed.
  • the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Therefore, a plurality of devices housed in separate housings and connected via a network, and a device in which a plurality of modules are housed in one housing are both systems. ..
  • the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
  • the configurations described above as a plurality of devices (or processing units) may be collectively configured as one device (or processing unit).
  • a configuration other than the above may be added to the configuration of each device (or each processing unit).
  • a part of the configuration of one device (or processing unit) may be included in the configuration of another device (or other processing unit). ..
  • this technology can take a cloud computing configuration in which one function is shared by a plurality of devices via a network and processed jointly.
  • the above-mentioned program can be executed in any device.
  • the device may have necessary functions (functional blocks, etc.) so that necessary information can be obtained.
  • each step described in the above flowchart can be executed by one device or can be shared and executed by a plurality of devices.
  • the plurality of processes included in the one step can be executed by one device or shared by a plurality of devices.
  • a plurality of processes included in one step can be executed as processes of a plurality of steps.
  • the processes described as a plurality of steps can be collectively executed as one step.
  • the processing of the steps for describing the program may be executed in chronological order in the order described in the present specification, or may be called in parallel or called. It may be executed individually at the required timing such as when. That is, as long as there is no contradiction, the processes of each step may be executed in an order different from the above-mentioned order. Further, the processing of the step for describing this program may be executed in parallel with the processing of another program, or may be executed in combination with the processing of another program.
  • the present technology can also have the following configurations.
  • An access request transmitter that sends an access request for writing data to another communication device via a bus
  • the interrupt request transmits a write completion status indicating that the writing of the data is completed in response to the access request from the other communication device.
  • a communication device including a processing standby determination unit that determines whether or not a data is coming and waits for processing until the write completion status is transmitted by an interrupt request.
  • the access request transmission unit receives the NACK response corresponding to the access request to the first other communication device, and then the write completion status is transmitted by the interrupt request from the first other communication device.
  • the communication device which transmits an access request to a second other communication device via the bus within a predetermined period until it arrives.
  • the access request transmitting unit retransmits the access request when the reception waiting time for waiting for processing until the write completion status is transmitted by the interrupt request in response to the access request from the other communication device times out.
  • the communication device according to any one of (1) to (3) above.
  • (5) The communication device according to any one of (1) to (4) above, further comprising a data receiving unit for receiving the write completion status transmitted by the other communication device by an interrupt request.
  • the interrupt request transmits a write completion status indicating that the writing of the data is completed in response to the access request from the other communication device.
  • a program for executing communication processing including determining whether or not to come and waiting for processing until the write completion status is transmitted by an interrupt request.
  • An access request receiving unit that receives an access request for writing data, which is transmitted from another communication device via a bus, and an access request receiving unit.
  • an NACK response is sent to the other communication device, and the writing of the data is completed at the timing when the writing of the data corresponding to the access request is completed.
  • a communication device with a transmitter that sends a write completion status by interrupt request to indicate that it has completed.
  • the communication device Receiving an access request to write data sent from another communication device via a bus, When the writing of the data corresponding to the access request is not completed, an NACK response is sent to the other communication device, and the writing of the data is completed at the timing when the writing of the data corresponding to the access request is completed.
  • a communication method that includes sending a write complete status by interrupt request to indicate that it has completed.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Systems (AREA)
  • Bus Control (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Abstract

本開示は、データ転送の転送効率を改善することができるようにする通信装置、通信方法、およびプログラムに関する。 I3Cマスタは、I3Cスレーブに対してデータの書き込みを要求するアクセス要求を送信し、そのアクセス要求に対するI3Cスレーブの応答がNACK応答である場合に、I3Cスレーブからアクセス要求に応じた書き込み完了ステータスが割り込み要求によって送信されてくるか否かを判定し、その書き込み完了ステータスが割り込み要求によって送信されてくるまで処理を待機する。I3Cスレーブは、I3Cマスタから送信されてくるアクセス要求を受信し、そのアクセス要求に応じたデータの書き込みが完了していない場合に、I3Cマスタに対してNACK応答を送信し、アクセス要求に応じたデータの書き込みが完了したタイミングで、書き込み完了ステータスを割り込み要求によって送信する。本技術は、例えば、I3Cの規格に準拠して通信を行う通信システムに適用できる。

Description

通信装置、通信方法、およびプログラム
 本開示は、通信装置、通信方法、およびプログラムに関し、特に、データ転送の転送効率を改善することができるようにした通信装置、通信方法、およびプログラムに関する。
 従来、各種のデバイスにおけるレジスタを制御するためのバスIF(Interface)としてI2C(Inter-Integrated Circuit)規格が広く採用されている。近年、I2Cの高速化・多機能化を実現することが求められており、次世代の規格としてMIPI(Mobile Industry Processor Interface) AllianceにてI3C(Improved Inter Integrated Circuit)の規定が策定され、その改定が進められている。
 例えば、I2CおよびI3Cは、バスIFを介した通信の主導権を有するマスタによる制御に従って、バスIFに接続されているスレーブと通信を行うことができるように構成される。また、I3Cは、バスIFに接続されているスレーブが割り込み要求できるようにするIBI(In Band Interrupts)機能を備えている。
 例えば、特許文献1には、スレーブデバイスから割り込み要求をアサートするインバンド割り込みを用いたカメラインターフェイス拡張に関する技術が開示されている。
特表2017-510006号公報
 ところで、従来のI3Cバスの構成では、例えば、書き込みアクセス要求に対してI3CスレーブがNACK応答するのに応じて、I3Cマスタは、ライトデータが反映されるまで、即ち、I3CスレーブからACK応答があるまで、書き込みアクセス要求を繰り返して行う必要があった。このような書き込みアクセス要求の繰り返しによって、データ転送の転送効率が低下してしまうことになり、その改善が求められている。
 さらに、例えば、同一のI3Cバスに複数のI3Cスレーブが接続されている構成では、書き込みアクセス要求が繰り返して行われる場合、書き込みレイテンシが大きいI3CスレーブにI3Cバスを占有されることになり、他のI3Cスレーブが通信する帯域が限られることになっていた。
 本開示は、このような状況に鑑みてなされたものであり、データ転送の転送効率を改善することができるようにするものである。
 本開示の第1の側面の通信装置は、他の通信装置に対してデータの書き込みを要求するアクセス要求を、バスを介して送信するアクセス要求送信部と、前記アクセス要求に対する前記他の通信装置の応答がNACK応答である場合に、前記他の通信装置から前記アクセス要求に応じて前記データの書き込みが完了したことを示す書き込み完了ステータスが割り込み要求によって送信されてくるか否かを判定し、その書き込み完了ステータスが割り込み要求によって送信されてくるまで処理を待機する処理待機判定部とを備える。
 本開示の第1の側面の通信方法またはプログラムは、他の通信装置に対してデータの書き込みを要求するアクセス要求を、バスを介して送信することと、前記アクセス要求に対する前記他の通信装置の応答がNACK応答である場合に、前記他の通信装置から前記アクセス要求に応じて前記データの書き込みが完了したことを示す書き込み完了ステータスが割り込み要求によって送信されてくるか否かを判定し、その書き込み完了ステータスが割り込み要求によって送信されてくるまで処理を待機することとを含む。
 本開示の第1の側面においては、他の通信装置に対してデータの書き込みを要求するアクセス要求が、バスを介して送信され、アクセス要求に対する他の通信装置の応答がNACK応答である場合に、他の通信装置からアクセス要求に応じて前記データの書き込みが完了したことを示す書き込み完了ステータスが割り込み要求によって送信されてくるか否かが判定され、その書き込み完了ステータスが割り込み要求によって送信されてくるまで処理が待機される。
 本開示の第2の側面の通信装置は、他の通信装置からバスを介して送信されてくる、データの書き込みを要求するアクセス要求を受信するアクセス要求受信部と、前記アクセス要求に応じたデータの書き込みが完了していない場合に、前記他の通信装置に対してNACK応答を送信し、前記アクセス要求に応じたデータの書き込みが完了したタイミングで、そのデータの書き込みが完了したことを示す書き込み完了ステータスを割り込み要求によって送信する送信部とを備える。
 本開示の第2の側面の通信方法またはプログラムは、他の通信装置からバスを介して送信されてくる、データの書き込みを要求するアクセス要求を受信することと、前記アクセス要求に応じたデータの書き込みが完了していない場合に、前記他の通信装置に対してNACK応答を送信し、前記アクセス要求に応じたデータの書き込みが完了したタイミングで、そのデータの書き込みが完了したことを示す書き込み完了ステータスを割り込み要求によって送信することとを含む。
 本開示の第2の側面においては、他の通信装置からバスを介して送信されてくる、データの書き込みを要求するアクセス要求が受信され、アクセス要求に応じたデータの書き込みが完了していない場合に、他の通信装置に対してNACK応答が送信され、アクセス要求に応じたデータの書き込みが完了したタイミングで、そのデータの書き込みが完了したことを示す書き込み完了ステータスが割り込み要求によって送信される。
本技術を適用した通信システムの一実施の形態の構成例を示すブロック図である。 従来の通信方法で、書き込みアクセスを行う処理例について説明する図である。 本技術を適用した通信方法で、書き込みアクセスを行う処理例について説明する図である。 従来の通信方法で、2種類のアドレスに対して連続的に書き込みアクセスを行う処理例について説明する図である。 本技術を適用した通信方法で、2種類のアドレスに対して連続的に書き込みアクセスを行う処理例について説明する図である。 本技術を適用した通信方法で、2種類のアドレスに対して連続的に書き込みアクセスを行う他の処理例について説明する図である。 書き込み完了ステータスをIBIで転送するモードの有効または無効を設定する処理例について説明する図である。 I3Cマスタが起因となって、I3CマスタのIBI受信待ち状態を中断する処理例について説明する図である。 I3Cスレーブが起因となって、I3CマスタのIBI受信待ち状態を中断する処理例について説明する図である。 従来の通信方法で、I3C規格以外の通信規格で通信を行う処理例について説明する図である。 本技術を適用した通信方法で、I3C規格以外の通信規格で通信を行う処理例について説明する図である。 本技術を適用した通信方法で、I3C規格以外の通信規格で通信を行う他の処理例について説明する図である。 従来の通信方法で通信を行うI3Cマスタの通信処理を説明するフローチャートである。 従来の通信方法で通信を行うI3Cスレーブの通信処理を説明するフローチャートである。 本技術を適用した通信方法で通信を行うI3Cマスタの第1の通信処理を説明するフローチャートである。 本技術を適用した通信方法で通信を行うI3Cスレーブの第1の通信処理を説明するフローチャートである。 本技術を適用した通信方法で通信を行うI3Cマスタの第2の通信処理を説明するフローチャートである。 本技術を適用した通信方法で通信を行うI3Cスレーブの第2の通信処理を説明するフローチャートである。 アプリケーションプロセッサおよびセンサデバイスの構成例を示すブロック図である。 アプリケーションプロセッサおよびセンサデバイスの他の構成例を示すブロック図である。 本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
 以下、本技術を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
 <通信システムの構成例>
 図1は、本技術を適用した通信システムの一実施の形態の構成例を示すブロック図である。
 図1に示す通信システムは、アプリケーションプロセッサ11およびセンサデバイス12が、シリアルデータSDAを伝送する信号線と、シリアルクロックSCLを伝送する信号線との2本の信号線からなるI3Cバスを介して接続され、I3Cの規格に準拠して通信を行う。例えば、アプリケーションプロセッサ11はI3Cマスタ21を備えており、センサデバイス12はI3Cスレーブ22およびセンサ23を備えている。
 図1のAには、1台のI3Cマスタ21に対して1台のI3Cスレーブ22が接続された構成例の通信システムが示されている。図1のBには、1台のI3Cマスタ21に対して2台のI3Cスレーブ22-1および22-2が接続された構成例の通信システムが示されている。
 I3Cマスタ21は、I3Cバスにおける通信の主導権を有しており、例えば、I3Cスレーブ22に対して書込み要求などのアクセス要求を行って、I3Cスレーブ22との通信を制御する。
 I3Cスレーブ22は、I3Cマスタ21による通信の制御に従属して、I3Cバスを介した通信を行うことができる。なお、I3Cスレーブ22-1および22-2は、それぞれ同様の構成となっている。
 センサ23には、例えば、イメージセンサやジャイロセンサなど各種のセンサを用いることができ、所定のサンプリング周期で、または、I3Cスレーブ22からの要求に応じて、センシング結果として得られるデータをI3Cスレーブ22に供給することができる。
 このような構成の通信システムにおいて、I3Cマスタ21およびI3Cスレーブ22は、以下で説明するような本技術を適用した通信方法で通信することができる。
 即ち、I3Cマスタ21は、I3Cスレーブ22に対してデータの書き込みを要求するアクセス要求を、I3Cバスを介して送信し、そのアクセス要求に対するI3Cスレーブ22の応答がNACK応答である場合に、I3Cスレーブ22からアクセス要求に応じてデータの書き込みが完了したことを示す書き込み完了ステータス割り込み要求によって送信されてくるか否かを判定する。そして、I3Cマスタ21は、そのデータが割り込み要求によって送信されてくるまで処理を待機し、書き込み完了ステータスを受信することで、書き込みを要求したデータの反映が完了したことを認識することができる。
 また、I3Cスレーブ22は、I3Cマスタ21からI3Cバスを介して送信されてくる、データの書き込みを要求するアクセス要求を受信し、そのアクセス要求に応じたデータの書き込みが完了していない場合に、I3Cマスタ21に対してNACK応答を送信する。そして、I3Cスレーブ22は、アクセス要求に応じたデータの書き込みが完了したタイミングで、そのデータの書き込みが完了したことを示す書き込み完了ステータスを割り込み要求によって送信する。
 図2および図3を参照して、アクセス要求の送信と、そのアクセス要求に応じた書き込み完了ステータスの送信とを分離した書き込みアクセスを行う処理例について、従来の通信方法と、本技術を適用した通信方法とを比較して説明する。ここでは、図1のAに示したように、1台のI3Cマスタ21に対して1台のI3Cスレーブ22が接続された構成の通信システムにおける通信方法について説明する。
 図2に示すように、従来の通信方法では、I3Cマスタ21が、ライトデータの反映を要求するアクセス要求を行うと、I3Cスレーブ22は、ライトデータの反映が完了していない場合、NACK応答をI3Cマスタ21に送信し、センサ23に対してライトデータ(例えば、設定値)の反映を要求する。これに応じて、センサ23は、ライトデータを書き込む動作を開始する。
 一方、I3Cマスタ21は、I3Cスレーブ22からACK応答があるまでアクセス要求を繰り返し行って、I3Cスレーブ22は、アクセス要求に応じてNACK応答を繰り返して送信する。その後、センサ23がライトデータの反映を完了すると、I3Cスレーブ22は、ライトデータの反映が完了したことを示す書き込み完了ステータスをセンサ23から取得した後のアクセス要求に応じてACK応答を送信する。
 このように、従来の通信方法では、最初のNACK応答が送信されてからACK応答が送信されるまでの期間において、I3Cマスタ21は、アクセス要求を繰り返して行う必要があった。このため、従来、バスを占有するだけでなく、I3Cバス帯域を圧迫するとともに無駄な電力を消費することになっていた。
 これに対して、図3に示すように、本技術を適用した通信方法では、I3Cマスタ21は、I3Cスレーブ22に対するレジスタ設定を行って、IBIで書き込み完了ステータスを転送するモードが有効となるように設定する。その後、I3Cマスタ21が、ライトデータの反映を要求するアクセス要求を行うと、I3Cスレーブ22は、ライトデータの反映が完了していない場合、NACK応答をI3Cマスタ21に送信する。これに応じて、I3Cマスタ21は、I3Cスレーブ22によるIBI要求が行われるまで、または、予め決められているIBI受信待ち時間が経過するまで、処理を待機する。
 そして、I3Cスレーブ22が、センサ23に対してライトデータ(例えば、設定値)の反映を要求するのに応じて、センサ23は、ライトデータを書き込む動作を開始する。その後、センサ23がライトデータを書き込む動作を完了すると、I3Cスレーブ22は、センサ23から書き込み完了ステータスを取得し、I3Cマスタ21に対するIBI要求を行って、その書き込み完了ステータスをペイロードに含むデータを送信する。
 このように、本技術を適用した通信方法では、I3Cスレーブ22が、書き込み完了ステータスをIBIで送信することができるので、従来のように、最初のNACK応答が送信されてからACK応答が送信されるまでの期間において、バスが占有されることが回避される。例えば、この期間において、I3Cマスタ21は、別のアクセスを実行することができるので、データ転送の転送効率の改善を図ることができる。さらに、バス帯域を有効活用することができるだけでなく、アクセス要求が無駄に繰り返されるのを回避することができる結果、消費電力の削減を図ることができる。
 図4乃至図6を参照して、2種類のアドレスに対して連続的に書き込みアクセスを行う処理例について説明する。ここでは、図1のBに示したように、1台のI3Cマスタ21に対して、2台のI3Cスレーブ22-1(Address1を割り当て)およびI3Cスレーブ22-2(Address2を割り当て)が接続された構成の通信システムにおける通信方法について説明する。また、図4乃至図6を参照して説明する処理例の前提条件として、I3Cスレーブ22-1および22-2は、I3Cマスタ21からの書き込み要求に対して2回のアクセス要求があった後のタイミングでライトデータの反映を完了することができるものとする。
 図4に示すように、従来の通信方法では、I3Cマスタ21は、I3Cスレーブ22-1に対する1回目の書き込み要求を行ってNACK応答を受信し、I3Cスレーブ22-1に対する2回目の書き込み要求を行ってNACK応答を受信する。その後、I3Cマスタ21は、I3Cスレーブ22-1に対する3回目の書き込み要求に対して、I3Cスレーブ22-1からACK応答が送信されてくることで、ライトデータの反映が完了したことを認識することができる。なお、書き込みプロトコルに従って、I3Cマスタ21は、ACK応答を受信した後もライトデータを送信する。
 続いて、I3Cマスタ21は、I3Cスレーブ22-2に対する1回目の書き込み要求を行ってNACK応答を受信し、I3Cスレーブ22-2に対する2回目の書き込み要求を行ってNACK応答を受信する。その後、I3Cマスタ21は、I3Cスレーブ22-2に対する3回目の書き込み要求に対して、I3Cスレーブ22-2からACK応答が送信されてくることで、ライトデータの反映が完了したことを認識することができる。なお、書き込みプロトコルに従って、I3Cマスタ21は、ACK応答を受信した後もライトデータを送信する。
 このように、I3Cスレーブ22-1および22-2において、2回のアクセス要求があった後のタイミングでライトデータの反映を完了することができる場合、従来の通信方法では、それぞれにおいてライトデータの反映が完了した後にACK応答を受信するまでに6回のアクセスが必要となっていた。
 これに対して、図5に示すように、本技術を適用した通信方法では、I3Cマスタ21は、I3Cスレーブ22-1に対する書き込み要求を行ってNACK応答を受信すると、ライトデータを送信した後に処理を待機する。その後、I3Cスレーブ22-1がIBI要求を行うまで、他のアクセスが可能な期間となり、I3Cスレーブ22-1は、ライトデータの反映が完了したタイミングで、I3Cマスタ21に対するIBI要求を行って書き込み完了ステータス(DATA)を送信する。このとき、I3Cスレーブ22-1は、IBI要求で送信する書き込み完了ステータスに対応する書き込み要求を識別するための識別データを、書き込み完了ステータスに追加して送信することができる。
 続いて、I3Cマスタ21は、I3Cスレーブ22-2に対する書き込み要求を行ってNACK応答を受信すると、ライトデータを送信した後に処理を待機する。その後、I3Cスレーブ22-2がIBI要求を行うまで、他のアクセスが可能な期間となり、I3Cスレーブ22-1は、ライトデータの反映が完了したタイミングで、I3Cマスタ21に対するIBI要求を行って書き込み完了ステータス(DATA)を送信する。このとき、I3Cスレーブ22-2は、IBI要求で送信する書き込み完了ステータスに対応する書き込み要求を識別するための識別データを、書き込み完了ステータスに追加して送信することができる。
 このように、本技術を適用した通信方法では、I3Cスレーブ22-1および22-2それぞれにライトデータを反映させて書き込み完了ステータスを受信するまでに4回のアクセスを行うだけでよい。即ち、図4を参照して説明したように、従来の通信方法では6回のアクセスが必要であったことから、本技術を適用した通信方法を採用することで、アクセスの回数を2/3に削減することができる。このようにデータ転送の転送効率の改善を図ることができるとともに、消費電力も2/3に削減することができる。
 また、図6では、本技術を適用した通信方法で、2種類のアドレスに対して連続的に書き込みアクセスを行う他の処理例、例えば、図5に示した他のアクセスが可能な期間を活用した処理例について説明する。
 即ち、図6に示すように、I3Cマスタ21は、I3Cスレーブ22-1に対する書き込み要求を行ってNACK応答を受信するのに伴った他のアクセスが可能な期間において、I3Cスレーブ22-2に対する書き込み要求を行うことができる。そして、I3Cスレーブ22-1および22-2は、それぞれがライトデータの反映を完了したタイミングで、I3Cマスタ21に対するIBI要求を行って書き込み完了ステータス(DATA)および識別データを送信する。
 このように、他のアクセスが可能な期間を活用することで、I3Cスレーブ22-1および22-2で通信帯域をシェアすることができ、データ転送の転送効率のさらなる改善を図ることができる。
 図7を参照して、書き込み完了ステータスをIBIで転送するモードの有効または無効を設定する処理例の一例について説明する。また、図7を参照して説明する処理例の前提条件として、I3Cスレーブ22が、書き込み要求に対するNACK応答を行った場合に、I3Cマスタ21が、書き込み完了ステータスをIBIで転送するモードをレジスタ設定で有効または無効に設定可能とされているものとする。
 図7に示すように、I3Cマスタ21は、書込みプロトコルによって、I3Cスレーブ22のレジスタにアクセスして、書き込み完了ステータスをIBIで転送するモードを有効に設定する。続いて、I3Cマスタ21は、I3Cスレーブ22に対する書き込み要求を行ってACK応答を受信すると、書き込み完了ステータスをIBIで転送するモードが有効に設定されたことを認識する。そして、I3Cマスタ21は、I3Cスレーブ22に対する書き込み要求を行ってNACK応答を受信すると、ライトデータを送信した後に処理を待機する。その後、書き込み完了ステータスをIBIで転送するモードが有効に設定されていることより、I3Cスレーブ22は、ライトデータの反映が完了したタイミングで、I3Cマスタ21に対するIBI要求を行って、書き込み完了ステータスおよび識別データを送信する。
 また、I3Cマスタ21は、書込みプロトコルによって、I3Cスレーブ22のレジスタにアクセスして、書き込み完了ステータスをIBIで転送するモードを無効に設定する。これに応じて、I3Cスレーブ22は、書き込み完了ステータスをIBIで転送するモードを無効に設定することが完了したタイミングで、I3Cマスタ21に対するIBI要求を行って、書き込み完了ステータスおよび識別データを送信する。そして、I3Cマスタ21は、I3Cスレーブ22からACK応答が送信されてくるまで、I3Cスレーブ22に対する書き込み要求を繰り返して(図7に示す例では2回)行う。その後、書き込み完了ステータスをIBIで転送するモードが無効になっていることより、I3Cスレーブ22は、ライトデータの反映が完了したタイミングで、I3Cマスタ21からの書き込み要求に応じてACK応答を行う。これにより、I3Cマスタ21は、ライトデータの反映が完了したことを認識することができる。
 このように、I3Cマスタ21は、I3Cスレーブ22のレジスタにアクセスして、書き込み完了ステータスをIBIで転送するモードの有効または無効を設定することができる。
 図8および図9を参照して、I3Cマスタ21のIBI受信待ち状態を中断する処理例について説明する。また、図8および図9を参照して説明する処理例の前提条件として、I3Cマスタ21は、I3Cスレーブ22に対する書き込み要求を行ってNACK応答を受信した場合に、I3Cスレーブ22からのIBI受信で込み完了ステータスを受け取ることができるものとする。
 図8には、I3Cマスタ21が起因となって中断するケースが示されている。
 I3Cマスタ21は、I3Cスレーブ22に対する書き込み要求を行ってNACK応答を受信するのに応じてライトデータを送信した後に処理を待機して、IBI受信待ち状態となる。そして、このIBI受信待ち状態となっている期間中に、I3Cマスタ21側においてタイムアウトが発生すると、I3Cマスタ21は、再度、I3Cスレーブ22に対して書き込み要求を行う。
 このとき、I3Cスレーブ22は、ライトデータの反映が完了していない場合にはNACK応答を行い、ライトデータの反映が完了している場合にはACK応答を行う。なお、再度、IBI受信待ち状態に遷移するケースも可能である。
 図9には、I3Cスレーブ22が起因となって中断するケースが示されている。
 I3Cマスタ21は、I3Cスレーブ22に対する書き込み要求を行ってNACK応答を受信するのに応じてライトデータを送信した後に処理を待機して、IBI受信待ち状態となる。そして、このIBI受信待ち状態となっている期間中に、I3Cスレーブ22は、有効でないデータとともに識別データおよび中断フラグ(処理の待機状態の中断を指示するフラグ)をIBIで送信することによって、I3Cマスタ21のIBI受信待ち状態を中断させることができる。
 なお、その後、I3Cマスタ21は、再度、I3Cスレーブ22に対する書き込み要求を行ってNACK応答を受信するのに応じてライトデータを送信した後に処理を待機して、IBI受信待ち状態とすることができる。
 このように、I3Cマスタ21のIBI受信待ち状態を、I3Cマスタ21およびI3Cスレーブ22のどちら側からでも中断させることができる。
 <I3C規格以外への適用>
 なお、本技術は、I3C規格以外の通信規格、例えば、バス通信信号をデバイスが共有しているとともに、アクセス要求と応答とがハンドシェイクされていて、かつ、全てのデバイスからアクセスを開始することができる通信規格に適用することができる。
 図10乃至図12を参照して、上述した図4乃至図6と同様に、2種類のアドレスに対して連続的に書き込みアクセスを行う通信方法における処理例について説明する。
 図10に示すように、従来の通信方法では、マスタデバイスは、スレーブデバイス(Address1)へのアクセス要求に対してNACK応答を受信した後に転送データを送信する処理を、ACK応答が送信されてくるまで、繰り返して行う。そして、マスタデバイスは、スレーブデバイス(Address1)からのACK応答を受信すると、スレーブデバイス(Address1)において転送データの反映が完了したことを認識する。
 続いて、マスタデバイスは、スレーブデバイス(Address2)へのアクセス要求に対してNACK応答を受信した後に転送データを送信する処理を、ACK応答が送信されてくるまで、繰り返して行う。そして、マスタデバイスは、スレーブデバイス(Address2)からのACK応答を受信すると、スレーブデバイス(Address2)において転送データの反映が完了したことを認識する。
 このように、従来の通信方法では、アクセス要求を繰り返して行って転送データの反映が完了するまで、バスが占有されることになっていた。
 これに対して、図11に示すように、本技術を適用した通信方法では、マスタデバイスは、スレーブデバイス(Address1)に対するアクセス要求を行ってNACK応答を受信すると、転送データを送信した後に処理を待機する。その後、スレーブデバイス(Address1)が転送要求を行うまで、他のアクセスが可能な期間となり、スレーブデバイス(Address1)は、転送データの反映が完了したタイミングで、マスタデバイスに対する転送要求を行って、書き込み完了ステータスである転送データを送信する。
 続いて、マスタデバイスは、スレーブデバイス(Address2)に対するアクセス要求を行ってNACK応答を受信すると、転送データを送信した後に処理を待機する。その後、スレーブデバイス(Address2)が転送要求を行うまで、他のアクセスが可能な期間となり、スレーブデバイス(Address2)は、転送データの反映が完了したタイミングで、マスタデバイスに対する転送要求を行って、書き込み完了ステータスである転送データを送信する。
 このように、本技術を適用した通信方法では、NACK応答から転送要求までの期間を、他のアクセスが可能とすることができる。
 また、図12では、図11に示した他のアクセスが可能な期間を活用した処理例について説明する。
 即ち、図12に示すように、マスタデバイスは、スレーブデバイス(Address1)に対する転送要求を行ってNACK応答を受信するのに伴った他のアクセスが可能な期間において、スレーブデバイス(Address2)に対するアクセス要求を行うことができる。そして、スレーブデバイス(Address1)およびスレーブデバイス(Address2)は、それぞれが転送データの反映が完了したタイミングで、マスタデバイスに対する転送要求を行って、書き込み完了ステータスである転送データを送信する。
 このように、他のアクセスが可能な期間を活用することで、スレーブデバイス(Address1)およびスレーブデバイス(Address2)で通信帯域をシェアすることができ、データ転送の転送効率のさらなる改善を図ることができる。
 <通信処理>
 図13乃至図18を参照して、通信処理について説明する。
 図13は、従来の通信方法で通信を行うI3Cマスタ21の通信処理(例えば、上述した図4の処理例)を説明するフローチャートである。
 ステップS11において、I3Cマスタ21は、I3Cスレーブ22に対するアクセス要求を送信する。
 ステップS12において、I3Cマスタ21は、ステップS11のアクセス要求に対するI3Cスレーブ22の応答を待機し、I3Cスレーブ22から送信されてくる応答を受信する。
 ステップS13において、I3Cマスタ21は、ステップS12で受信した応答は、ACK応答およびNACK応答のいずれであるかを判定する。さらに、ステップS13において、I3Cマスタ21は、所定期間内にACK応答およびNACK応答のどちらも未受信である場合には、ステップS12をスキップして、アクセス要求に対するI3Cスレーブ22の応答は未受信であると判定することができる。
 ステップS13において、I3Cマスタ21が、アクセス要求に対するI3Cスレーブ22の応答はACK応答であると判定した場合、処理はステップS14に進む。
 ステップS14において、I3Cマスタ21は、I3Cスレーブ22に対してライトデータを送信する。そして、ステップS15において、I3Cマスタ21は、ステップS11のアクセス要求で書き込みを要求したライトデータを反映済みとして処理する。
 一方、ステップS13において、I3Cマスタ21が、アクセス要求に対するI3Cスレーブ22の応答はNACK応答であると判定した場合、処理はステップS16に進む。
 ステップS16において、I3Cマスタ21は、I3Cスレーブ22に対してライトデータを送信する。そして、ステップS17において、I3Cマスタ21は、I3Cスレーブ22からNACK応答があったことに応じて、アクセス要求を再送信するか否かを判定する。
 ステップS17において、I3Cマスタ21が、アクセス要求を再送信すると判定した場合、処理はステップS11に戻り、以下、同様の処理が繰り返して行われる。
 一方、ステップS17において、I3Cマスタ21が、アクセス要求を再送信しないと判定した場合、処理はステップS18に進み、I3Cマスタ21は、ステップS11のアクセス要求で書き込みを要求したライトデータを未反映として処理する。
 一方、ステップS13において、I3Cマスタ21が、アクセス要求に対するI3Cスレーブ22の応答は未受信である(所定期間内に応答がなかった)と判定した場合、処理はステップS19に進む。
 ステップS19において、I3Cマスタ21は、I3Cスレーブ22の応答は未受信であったことに応じて、アクセス要求を再送信するか否かを判定する。
 ステップS19において、I3Cマスタ21が、アクセス要求を再送信すると判定した場合、処理はステップS11に戻り、以下、同様の処理が繰り返して行われる。
 一方、ステップS19において、I3Cマスタ21が、アクセス要求を再送信しないと判定した場合、処理はステップS20に進む。I3Cマスタ21は、ステップS20において、I3Cマスタ21は、I3Cスレーブ22に対してライトデータを送信し、ステップS21において、ステップS11のアクセス要求で書き込みを要求したライトデータを未反映として処理する。
 ステップS15、ステップS18、またはステップS21の処理後、処理はステップS22に進み、I3Cマスタ21は、ステップS11のアクセス要求で開始したI3Cスレーブ22へのアクセスを終了する。その後、適宜、次のアクセス要求が行われるタイミングになると、上述したのと同様の処理が繰り返して行われる。
 図14は、従来の通信方法で通信を行うI3Cスレーブ22の通信処理(例えば、上述した図4の処理例)を説明するフローチャートである。
 ステップS31において、I3Cスレーブ22は、図13のステップS11でI3Cマスタ21から送信されてくるアクセス要求を受信する。
 ステップS32において、I3Cスレーブ22は、ステップS31で受信したアクセス要求に対する応答は、ACK応答およびNACK応答のいずれであるかを判定する。
 ステップS32において、I3Cスレーブ22が、アクセス要求に対する応答はACK応答であると判定した場合、処理はステップS33に進む。
 ステップS33において、I3Cスレーブ22は、アクセス要求に対するACK応答を行う。そして、ステップS34において、I3Cスレーブ22は、図13のステップS14でI3Cマスタ21から送信されてくるライトデータを受信する。
 一方、ステップS32において、I3Cスレーブ22が、アクセス要求に対する応答はNACK応答であると判定した場合、処理はステップS35に進む。
 ステップS35において、I3Cスレーブ22は、アクセス要求に対するNACK応答を行う。そして、ステップS36において、I3Cスレーブ22は、図13のステップS16でI3Cマスタ21から送信されてくるライトデータを受信する。ここで、I3Cスレーブ22は、初めてライトデータを受信した場合にライトデータを書き込む処理を開始し、2回目以降の場合(書き込み処理中または書き込み完了)にはライトデータを破棄する。
 ステップS34またはS36の処理後、処理はステップS37に進み、I3Cスレーブ22は、ステップS31でアクセス要求を受信したことにより開始されたI3Cマスタ21からのアクセスを終了する。その後、I3Cマスタ21から次のアクセス要求があると、上述と同様の処理が繰り返して行われる。
 図15は、本技術を適用した通信方法で通信を行うI3Cマスタ21の第1の通信処理(例えば、上述した図5の処理例)を説明するフローチャートである。
 ステップS41および42において、図17のステップS11およびS12と同様の処理が行われ、I3Cマスタ21は、I3Cスレーブ22に対するアクセス要求を送信し、I3Cスレーブ22から送信されてくる応答を受信する。そして、ステップS43において、I3Cマスタ21は、ステップS42でNACK応答を受信したか、または、所定期間内にNACK応答を受信できずに未受信とするのかを判定する。ここで、書き込み完了ステータスをIBIで転送するモードが有効に設定されている場合には、アクセス要求に応じてI3Cスレーブ22からACK応答が送信されてくることはない。
 ステップS43において、I3Cマスタ21が、アクセス要求に対するI3Cスレーブ22の応答はNACK応答であると判定した場合、処理はステップS44に進む。ステップS44において、I3Cマスタ21は、I3Cスレーブ22に対してライトデータを送信する。
 ステップS45において、I3Cマスタ21は、I3Cスレーブ22からのIBI要求を待機し、IBI要求を受信したか、または、所定期間内にIBI要求を受信できずに未受信であるとするかを判定する。
 ステップS45において、I3Cマスタ21が、IBI要求を受信したと判定した場合、処理はステップS46に進む。
 ステップS46において、I3Cマスタ21は、ステップS41のアクセス要求に応じてI3Cスレーブ22からIBIで送信されてくる書き込み完了ステータスを受信する。そして、I3Cマスタ21は、ステップS41のアクセス要求で書き込みを要求したライトデータを反映済みとして処理する。
 一方、ステップS45において、I3Cマスタ21が、IBI要求を未受信であると判定した場合(即ち、IBI受信待ち時間がタイムアウトした場合)、処理はステップS47に進む。この場合、ステップS47およびS48において、図13のステップS17およびS18と同様の処理が行われ、アクセス要求が再送信される。
 一方、ステップS43において、I3Cマスタ21が、アクセス要求に対するI3Cスレーブ22の応答は未受信である(所定期間内に応答がなかった)と判定した場合、処理はステップS49に進む。この場合、ステップS49乃至S51において、図13のステップS19乃至S21と同様の処理が行われる。
 ステップS46、ステップS48、またはステップS51の処理後、処理はステップS52に進み、I3Cマスタ21は、ステップS41のアクセス要求で開始したI3Cスレーブ22へのアクセスを終了する。その後、適宜、次のアクセス要求が行われるタイミングになると、上述したのと同様の処理が繰り返して行われる。
 図16は、本技術を適用した通信方法で通信を行うI3Cスレーブ22の第1の通信処理(例えば、上述した図5の処理例)を説明するフローチャートである。
 I3Cスレーブ22は、ステップS61において、図14のステップS31でI3Cマスタ21から送信されてくるアクセス要求を受信し、ステップS62において、そのアクセス要求に対するNACK応答を行う。ここで、書き込み完了ステータスをIBIで転送するモードが有効に設定されている場合には、I3Cスレーブ22は、アクセス要求に応じてACK応答を送信することはない。
 ステップS63において、I3Cスレーブ22は、図15のステップS44でI3Cマスタ21から送信されてくるライトデータを受信する。
 ステップS64において、I3Cスレーブ22は、ステップS63で受信したライトデータの書き込みが完了したか否を判定する。例えば、I3Cスレーブ22は、センサ23へのライトデータの書き込み(例えば、設定値の反映)が完了して書き込み完了ステータスを取得している場合には、ライトデータの書き込みが完了したと判定する。一方、I3Cスレーブ22は、センサ23から書き込み完了ステータスを取得していない場合には、ライトデータの書き込みが完了していないと判定する。
 ステップS64において、I3Cスレーブ22が、ライトデータの書き込みが完了したと判定した場合、処理はステップS65に進む。
 ステップS65において、I3Cスレーブ22は、I3Cマスタ21に対してIBI要求を行って、IBIで書き込み完了ステータスを送信する。
 一方、ステップS64において、I3Cスレーブ22が、ライトデータの書き込みが完了していないと判定した場合、処理はステップS66に進み、ライトデータの書き込みを完了させることができずに未反映とする。
 ステップS65またはS66の処理後、処理はステップS67に進み、I3Cスレーブ22は、ステップS61でアクセス要求を受信したことにより開始されたI3Cマスタ21からのアクセスを終了する。その後、I3Cマスタ21から次のアクセス要求があると、上述と同様の処理が繰り返して行われる。
 図17は、本技術を適用した通信方法で通信を行うI3Cマスタ21の第2の通信処理(例えば、上述した図6の処理例)を説明するフローチャートである。
 例えば、図17に示すフローチャートの処理は、ステップS75において、I3Cマスタ21が、I3Cスレーブ22からのIBI要求を待機し、所定期間内にIBI要求を受信できずに未受信であると判定した後に、ステップS77において、次のアクセスを行うか否かを判定する点で、図15の処理と異なっている。即ち、図17に示すフローチャートにおける他の処理は、図15のフローチャートにおける処理と同様に行われる。
 そして、ステップS77において、I3Cマスタ21が、次のアクセスを行うと判定した場合、処理はステップS71に戻ってアクセス要求を送信し、以下、同様の処理が繰り返して行われる。
 図18は、本技術を適用した通信方法で通信を行うI3Cスレーブ22の第2の通信処理(例えば、上述した図6の処理例)を説明するフローチャートである。
 例えば、図18に示すフローチャートの処理は、ステップS94において、I3Cスレーブ22が、ライトデータの書き込みが完了したか否を判定するのに加えて、次のアクセスがあったか否かを判定する点で、図16のステップS64と異なっている。即ち、図18に示すフローチャートにおける他の処理は、図16のフローチャートにおける処理と同様に行われる。
 そして、ステップS64において、I3Cスレーブ22が、次のアクセスがあったと判定した場合、処理はステップS91に戻ってアクセス要求を受信し、以下、同様の処理が繰り返して行われる。
 <アプリケーションプロセッサおよびセンサデバイスの構成例>
 図19は、アプリケーションプロセッサ11およびセンサデバイス12の構成例を示すブロック図である。
 図19に示すように、センサデバイス12は、画素41、出力形式選択部42、IBIプロトコル制御部43、I2C/I3Cスレーブ44、CCIスレーブ45、およびレジスタ46を備えて構成される。アプリケーションプロセッサ11は、I2C/I3Cマスタ51、CCIマスタ52、IBIプロトコル処理部53、センサフュージョン部54、RAM55、およびプロセッサ56を備えて構成される。
 ここで、I2C/I3Cスレーブ44は、図1のI3Cスレーブ22に対応し、I2C/I3Cマスタ51は、図1のI3Cマスタ21に対応する。また、図19に示す構成例では、センサデバイス12は、CMOSイメージセンサであり、図1のセンサ23が、画素41を有する構成となっている。
 例えば、アプリケーションプロセッサ11のI2C/I3Cマスタ51は、センサデバイス12のI2C/I3Cスレーブ44に対して、I3Cバスを介して、画像データ要求アクセスを行う。センサデバイス12は、アプリケーションプロセッサ11からの画像データ要求アクセスに対してNACK応答を送信し、かつ、画像データ要求信号をアサートする。
 センサデバイス12の内部では、画素41が画像データ要求信号をアサートにより、画像データを出力形式選択部42に出力する。出力形式選択部42は、レジスタ46から読み出した出力形式選択信号に従って、画像データの出力先を制御する。
 例えば、従来の通信方法と同様に、アプリケーションプロセッサ11からのアクセス要求に対して画像データを転送する場合には、出力形式選択部42は、画像データをCCIスレーブ45に出力する。
 これに対して、IBIプロトコルを利用する場合には、出力形式選択部42は、画像データをIBIプロトコル処理部53に出力する。IBIプロトコル処理部53は、IBI転送データを生成し、I3Cバスを介して、アプリケーションプロセッサ11に対してIBIリクエストを発行する。
 そして、アプリケーションプロセッサ11では、IBIリクエストを受信したI2C/I3Cマスタ51は、IBI受信データをIBIプロトコル処理部53に出力する。IBIプロトコル処理部53は、IBI受信データを解析し、どの画像データ要求アクセスに対するデータであるかを特定し、画像データをセンサフュージョン部54に出力する。
 図20には、Always Onで通信を行うアプリケーションプロセッサ11およびセンサデバイス12の構成例が示されている。
 図20に示すアプリケーションプロセッサ11およびセンサデバイス12は、センサデバイス12が、イベント検出部47を備えて構成される点で、図19のアプリケーションプロセッサ11およびセンサデバイス12と異なる構成となっており、その他については同様に構成されている。
 例えば、AlwaysOnでは、イベント検出部47が、イベントを検出(例えば、人を検知)して、IBIプロトコルで画像データを転送するため、I3Cスレーブ22起因の動作になる。これに対し、本技術を適用した通信方法は、I3Cマスタ21からのアクセス要求に対してIBIプロトコルで画像データを転送するため、I3Cマスタ21起因の動作になる点で、AlwaysOnとは異なる技術となる。
 <コンピュータの構成例>
 図21は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 コンピュータにおいて、CPU(Central Processing Unit)101,ROM(Read Only Memory)102,RAM(Random Access Memory)103、およびEEPROM(Electronically Erasable and Programmable Read Only Memory)104は、バス105により相互に接続されている。バス105には、さらに、入出力インタフェース106が接続されており、入出力インタフェース106が外部に接続される。
 以上のように構成されるコンピュータでは、CPU101が、例えば、ROM102およびEEPROM104に記憶されているプログラムを、バス105を介してRAM103にロードして実行することにより、上述した一連の処理が行われる。また、コンピュータ(CPU101)が実行するプログラムは、ROM102に予め書き込んでおく他、入出力インタフェース106を介して外部からEEPROM104にインストールしたり、更新したりすることができる。
 ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。
 また、プログラムは、1のコンピュータ(プロセッサ)により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
 さらに、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
 また、例えば、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
 また、例えば、本技術は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
 また、例えば、上述したプログラムは、任意の装置において実行することができる。その場合、その装置が、必要な機能(機能ブロック等)を有し、必要な情報を得ることができるようにすればよい。
 また、例えば、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。換言するに、1つのステップに含まれる複数の処理を、複数のステップの処理として実行することもできる。逆に、複数のステップとして説明した処理を1つのステップとしてまとめて実行することもできる。
 なお、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
 なお、本明細書において複数説明した本技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。
 <構成の組み合わせ例>
 なお、本技術は以下のような構成も取ることができる。
(1)
 他の通信装置に対してデータの書き込みを要求するアクセス要求を、バスを介して送信するアクセス要求送信部と、
 前記アクセス要求に対する前記他の通信装置の応答がNACK応答である場合に、前記他の通信装置から前記アクセス要求に応じて前記データの書き込みが完了したことを示す書き込み完了ステータスが割り込み要求によって送信されてくるか否かを判定し、その書き込み完了ステータスが割り込み要求によって送信されてくるまで処理を待機する処理待機判定部と
 を備える通信装置。
(2)
 前記アクセス要求送信部は、第1の前記他の通信装置に対するアクセス要求に応じたNACK応答を受信してから、第1の前記他の通信装置からの割り込み要求によって前記書き込み完了ステータスが送信されてくるまでの所定期間で、第2の他の通信装置に対するアクセス要求を、前記バスを介して送信する
 上記(1)に記載の通信装置。
(3)
 前記アクセス要求送信部は、前記他の通信装置のレジスタにアクセスして、前記書き込み完了ステータスを割り込み要求で転送するモードの有効または無効を設定する
 上記(1)または(2)に記載の通信装置。
(4)
 前記アクセス要求送信部は、前記他の通信装置から前記アクセス要求に応じて前記書き込み完了ステータスが割り込み要求によって送信されてくるまで処理を待機する受信待ち時間がタイムアウトしたとき、前記アクセス要求を再送信する
 上記(1)から(3)までのいずれかに記載の通信装置。
(5)
 前記他の通信装置が割り込み要求によって送信する前記書き込み完了ステータスを受信するデータ受信部
 をさらに備える上記(1)から(4)までのいずれかに記載の通信装置。
(6)
 前記データ受信部は、処理の待機状態の中断を指示する中断フラグを前記他の通信装置からの割り込み要求によって受信した場合、処理の待機状態を中断させる
 上記(5)に記載の通信装置。
(7)
 通信装置が、
 他の通信装置に対してデータの書き込みを要求するアクセス要求を、バスを介して送信することと、
 前記アクセス要求に対する前記他の通信装置の応答がNACK応答である場合に、前記他の通信装置から前記アクセス要求に応じて前記データの書き込みが完了したことを示す書き込み完了ステータスが割り込み要求によって送信されてくるか否かを判定し、その書き込み完了ステータスが割り込み要求によって送信されてくるまで処理を待機することと
 を含む通信方法。
(8)
 通信装置のコンピュータに、
 他の通信装置に対してデータの書き込みを要求するアクセス要求を、バスを介して送信することと、
 前記アクセス要求に対する前記他の通信装置の応答がNACK応答である場合に、前記他の通信装置から前記アクセス要求に応じて前記データの書き込みが完了したことを示す書き込み完了ステータスが割り込み要求によって送信されてくるか否かを判定し、その書き込み完了ステータスが割り込み要求によって送信されてくるまで処理を待機することと
 を含む通信処理を実行させるためのプログラム。
(9)
 他の通信装置からバスを介して送信されてくる、データの書き込みを要求するアクセス要求を受信するアクセス要求受信部と、
 前記アクセス要求に応じたデータの書き込みが完了していない場合に、前記他の通信装置に対してNACK応答を送信し、前記アクセス要求に応じたデータの書き込みが完了したタイミングで、そのデータの書き込みが完了したことを示す書き込み完了ステータスを割り込み要求によって送信する送信部と
 を備える通信装置。
(10)
 通信装置が、
 他の通信装置からバスを介して送信されてくる、データの書き込みを要求するアクセス要求を受信することと、
 前記アクセス要求に応じたデータの書き込みが完了していない場合に、前記他の通信装置に対してNACK応答を送信し、前記アクセス要求に応じたデータの書き込みが完了したタイミングで、そのデータの書き込みが完了したことを示す書き込み完了ステータスを割り込み要求によって送信することと
 を含む通信方法。
(11)
 通信装置のコンピュータに、
 他の通信装置からバスを介して送信されてくる、データの書き込みを要求するアクセス要求を受信することと、
 前記アクセス要求に応じたデータの書き込みが完了していない場合に、前記他の通信装置に対してNACK応答を送信し、前記アクセス要求に応じたデータの書き込みが完了したタイミングで、そのデータの書き込みが完了したことを示す書き込み完了ステータスを割り込み要求によって送信することと
 を含む通信処理を実行させるためのプログラム。
 なお、本実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
 11 アプリケーションプロセッサ, 12 センサデバイス, 21 I3Cマスタ, 22 I3Cスレーブ, 23 センサ

Claims (11)

  1.  他の通信装置に対してデータの書き込みを要求するアクセス要求を、バスを介して送信するアクセス要求送信部と、
     前記アクセス要求に対する前記他の通信装置の応答がNACK応答である場合に、前記他の通信装置から前記アクセス要求に応じて前記データの書き込みが完了したことを示す書き込み完了ステータスが割り込み要求によって送信されてくるか否かを判定し、その書き込み完了ステータスが割り込み要求によって送信されてくるまで処理を待機する処理待機判定部と
     を備える通信装置。
  2.  前記アクセス要求送信部は、第1の前記他の通信装置に対するアクセス要求に応じたNACK応答を受信してから、第1の前記他の通信装置からの割り込み要求によって前記書き込み完了ステータスが送信されてくるまでの所定期間で、第2の他の通信装置に対するアクセス要求を、前記バスを介して送信する
     請求項1に記載の通信装置。
  3.  前記アクセス要求送信部は、前記他の通信装置のレジスタにアクセスして、前記書き込み完了ステータスを割り込み要求で転送するモードの有効または無効を設定する
     請求項1に記載の通信装置。
  4.  前記アクセス要求送信部は、前記他の通信装置から前記アクセス要求に応じて前記書き込み完了ステータスが割り込み要求によって送信されてくるまで処理を待機する受信待ち時間がタイムアウトしたとき、前記アクセス要求を再送信する
     請求項1に記載の通信装置。
  5.  前記他の通信装置が割り込み要求によって送信する前記書き込み完了ステータスを受信するデータ受信部
     をさらに備える請求項1に記載の通信装置。
  6.  前記データ受信部は、処理の待機状態の中断を指示する中断フラグを前記他の通信装置からの割り込み要求によって受信した場合、処理の待機状態を中断させる
     請求項5に記載の通信装置。
  7.  通信装置が、
     他の通信装置に対してデータの書き込みを要求するアクセス要求を、バスを介して送信することと、
     前記アクセス要求に対する前記他の通信装置の応答がNACK応答である場合に、前記他の通信装置から前記アクセス要求に応じて前記データの書き込みが完了したことを示す書き込み完了ステータスが割り込み要求によって送信されてくるか否かを判定し、その書き込み完了ステータスが割り込み要求によって送信されてくるまで処理を待機することと
     を含む通信方法。
  8.  通信装置のコンピュータに、
     他の通信装置に対してデータの書き込みを要求するアクセス要求を、バスを介して送信することと、
     前記アクセス要求に対する前記他の通信装置の応答がNACK応答である場合に、前記他の通信装置から前記アクセス要求に応じて前記データの書き込みが完了したことを示す書き込み完了ステータスが割り込み要求によって送信されてくるか否かを判定し、その書き込み完了ステータスが割り込み要求によって送信されてくるまで処理を待機することと
     を含む通信処理を実行させるためのプログラム。
  9.  他の通信装置からバスを介して送信されてくる、データの書き込みを要求するアクセス要求を受信するアクセス要求受信部と、
     前記アクセス要求に応じたデータの書き込みが完了していない場合に、前記他の通信装置に対してNACK応答を送信し、前記アクセス要求に応じたデータの書き込みが完了したタイミングで、そのデータの書き込みが完了したことを示す書き込み完了ステータスを割り込み要求によって送信する送信部と
     を備える通信装置。
  10.  通信装置が、
     他の通信装置からバスを介して送信されてくる、データの書き込みを要求するアクセス要求を受信することと、
     前記アクセス要求に応じたデータの書き込みが完了していない場合に、前記他の通信装置に対してNACK応答を送信し、前記アクセス要求に応じたデータの書き込みが完了したタイミングで、そのデータの書き込みが完了したことを示す書き込み完了ステータスを割り込み要求によって送信することと
     を含む通信方法。
  11.  通信装置のコンピュータに、
     他の通信装置からバスを介して送信されてくる、データの書き込みを要求するアクセス要求を受信することと、
     前記アクセス要求に応じたデータの書き込みが完了していない場合に、前記他の通信装置に対してNACK応答を送信し、前記アクセス要求に応じたデータの書き込みが完了したタイミングで、そのデータの書き込みが完了したことを示す書き込み完了ステータスを割り込み要求によって送信することと
     を含む通信処理を実行させるためのプログラム。
PCT/JP2021/043097 2020-12-09 2021-11-25 通信装置、通信方法、およびプログラム WO2022124083A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US18/254,949 US20240045818A1 (en) 2020-12-09 2021-11-25 Communication apparatus, communication method, and program
CN202180077559.2A CN116457768A (zh) 2020-12-09 2021-11-25 通信装置、通信方法和程序

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-204159 2020-12-09
JP2020204159A JP2022091361A (ja) 2020-12-09 2020-12-09 通信装置、通信方法、およびプログラム

Publications (1)

Publication Number Publication Date
WO2022124083A1 true WO2022124083A1 (ja) 2022-06-16

Family

ID=81972945

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/043097 WO2022124083A1 (ja) 2020-12-09 2021-11-25 通信装置、通信方法、およびプログラム

Country Status (4)

Country Link
US (1) US20240045818A1 (ja)
JP (1) JP2022091361A (ja)
CN (1) CN116457768A (ja)
WO (1) WO2022124083A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015230672A (ja) * 2014-06-06 2015-12-21 ザインエレクトロニクス株式会社 ホスト側送受信装置および送受信システム
JP2017010105A (ja) * 2015-06-17 2017-01-12 富士通株式会社 接続装置およびストレージ装置
WO2017056917A1 (ja) * 2015-10-01 2017-04-06 ソニー株式会社 通信システム、デバイス、マスタデバイス、スレーブデバイス、通信システムの制御方法、および、プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015230672A (ja) * 2014-06-06 2015-12-21 ザインエレクトロニクス株式会社 ホスト側送受信装置および送受信システム
JP2017010105A (ja) * 2015-06-17 2017-01-12 富士通株式会社 接続装置およびストレージ装置
WO2017056917A1 (ja) * 2015-10-01 2017-04-06 ソニー株式会社 通信システム、デバイス、マスタデバイス、スレーブデバイス、通信システムの制御方法、および、プログラム

Also Published As

Publication number Publication date
CN116457768A (zh) 2023-07-18
US20240045818A1 (en) 2024-02-08
JP2022091361A (ja) 2022-06-21

Similar Documents

Publication Publication Date Title
US9003089B2 (en) Synchronous serial data-exchange system
KR920001552B1 (ko) 다중 컴퓨터 시스템이 접속된 로컬 에어리어 네트워크 시스템
US20050174877A1 (en) Bus arrangement and method thereof
US7058747B2 (en) Bus system and bus interface for connection to a bus
WO2022124083A1 (ja) 通信装置、通信方法、およびプログラム
CN110297612B (zh) 一种mipi数据处理芯片及方法
JP2008502977A (ja) バス・コントローラのための割り込み方式
US7043589B2 (en) Bus system and bus interface
CN112817774A (zh) 用于片上网络中的事务广播的***和方法
KR100602204B1 (ko) 메인 제어부와 부 제어부로 구성된 제어 시스템 및 버스연결 방법
WO2020250778A1 (ja) 通信装置および通信方法、並びにプログラム
US8842547B2 (en) Communication control apparatus and control method
CN109992560B (zh) 一种通信方法及通信***
KR101276837B1 (ko) 서로 다른 동작 주파수로 동작하는 프로세서 시스템 간의 통신을 지원하기 위한 장치
JP2680178B2 (ja) データ転送装置
CN102984599A (zh) 基于RapidIO协议网络的视频采集传输装置及方法
JP2005228222A (ja) シリアルデータ転送方法とその装置
US20240004816A1 (en) Interface method for transmitting and recieving data between functional blocks in system on chip, and system on chip using same
EP1188120B1 (en) Computer docking system and method
JP2538901B2 (ja) バス結合装置
RU2638781C2 (ru) Способ организации прямого доступа в память при передаче информации между физическими объектами
US20200183870A1 (en) Bus protocol for multiple chipsets
JP2573790B2 (ja) 転送制御装置
JPH11122275A (ja) シリアル通信システム
JP2003229879A (ja) Usb擬似ホストコントローラ

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21903187

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202180077559.2

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 18254949

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21903187

Country of ref document: EP

Kind code of ref document: A1