Transmitting device, receiving device, and communication system

The communication system addresses the inefficiency in I3C data transmission by using a control data bus to tailor data transmission based on data type, enhancing efficiency and reducing errors.

JP7692399B2Active Publication Date: 2025-06-13SONY SEMICON SOLUTIONS CORP
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2022500367
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-10-23
Filing Date
2021-02-05
Publication Date
2025-06-13
Estimated Expiration
2041-02-05

AI Technical Summary

Technical Problem

Existing communication systems using I3C lack the ability to perform data transmission based on the type of data, leading to inefficiencies and potential errors.

Method used

A transmission device and communication system that utilize a control data bus to transmit data, including an interrupt request with identification, information, and data bits, allowing for data transmission tailored to the type of data.

Benefits of technology

Enables efficient data transmission according to the type of data, improving communication system performance and reducing errors.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007692399000001
    Figure 0007692399000001
  • Figure 0007692399000002
    Figure 0007692399000002
  • Figure 0007692399000003
    Figure 0007692399000003
Patent Text Reader

Abstract

A transmission device according to one aspect of the present disclosure communicates with a reception device via a control data bus. The transmission device comprises: a generation unit which generates an interrupt request; and a transmission unit which transmits data to a reception device via the control data bus. The interrupt request includes at least an identification bit that identifies the type of transmitted data, an information bit for the transmitted data, and the transmitted data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a transmission device, a reception device, and a communication system.

Background Art

[0002] Conventionally, as a bus IF (Interface) used for communication within a board on which a plurality of devices are mounted, for example, I 2 C (Inter-Integrated Circuit) has been widely used. In recent years, there has been a demand for higher speed of I 2 C, and the specification of I3C (Improved Inter Integrated Circuit) as a next-generation standard has been progressing. For example, a communication system using I3C is disclosed in, for example, Patent Document 1.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

[0004] By the way, in a communication system using I3C, data transmission according to the type of data is required. Therefore, it is desirable to provide a transmission device, a reception device, and a communication system capable of performing data transmission according to the type of data.

[0005] A transmission device according to an aspect of the present disclosure communicates with a reception device via a control data bus. The transmission device includes a generation unit that generates an interrupt request, and a transmission unit that transmits data to the reception device via the control data bus. The interrupt request includes at least an identification bit that identifies the type of transmission data, an information bit about the transmission data, and the transmission data.

[0006] A receiving device according to an aspect of the present disclosure communicates with a transmitting device via a control data bus. The receiving device includes a receiving unit that receives an interrupt request (DA / R) from the transmitting device via the control data bus, and a transmitting unit that transmits an ACK or a NACK to the transmitting device via the control data bus in response to a reception result of an IBI request (DA / R).

[0007] A communication system according to an aspect of the present disclosure includes a control data bus, a transmitting device that communicates via the control data bus, and a receiving device. The transmitting device in this communication system has the same configuration as the transmitting device according to an aspect of the present disclosure.

[0008] In a transmitting device and a communication system according to an aspect of the present disclosure, the interrupt request includes at least an identification bit that identifies the type of transmission data, an information bit about the transmission data, and the transmission data. Thereby, data transmission can be performed according to the type of data.

[0009] In a receiving device according to an aspect of the present disclosure, after receiving an interrupt request (DA / R) from the transmitting device via the control data bus, an ACK or a NACK is transmitted to the transmitting device via the control data bus in response to a reception result of an IBI request (DA / R). Thereby, data transmission can be performed according to the type of data.

Brief Description of Drawings

[0010]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12

Figure 13

Figure 14

Figure 15

Figure 16

Figure 17

Figure 18

Figure 19

Figure 20

Figure 21

Figure 22

Figure 23

Figure 24

Figure 25

Figure 26

Figure 27

Figure 28

Figure 29

Figure 30

Figure 31

Figure 32

Figure 33

Figure 34

Figure 35

Figure 36

Figure 37

Figure 38

Figure 39

Figure 40

Figure 41

Figure 42

Figure 43

Figure 44

Figure 45

Figure 46

Figure 47

Figure 48

Figure 49

Figure 50

Figure 51

Figure 52

Figure 53

Figure 54

Figure 55

Figure 56

Figure 57

Embodiments for Carrying Out the Invention

[0011] Hereinafter, embodiments for carrying out the present disclosure will be described in detail with reference to the drawings. The following description is a specific example of the present disclosure, and the present disclosure is not limited to the following aspects.

[0012] FIG. 1 shows a schematic configuration example of a communication system 1000 according to an embodiment of the present disclosure. The communication system 1000 is applicable to a system equipped with a camera device, and for example, a surveillance camera (e.g., a home security system), industrial equipment (e.g., equipment with a failure detection function using a camera), robotics (e.g., a drone equipped with a camera), a mobile device (e.g., a smartphone equipped with a camera), etc. The communication system 1000 includes an image data bus 600 and a control data bus 700. The image data bus 600 and the control data bus 700 can be implemented between devices or within a device in the communication system 1000. The communication system 1000 is, for example, a camera device, and the image data bus 600 and the control data bus 700 are implemented within the camera device and connected to an image sensor 200 and a processor 100. The control data bus 700 can be further connected to a plurality of slaves 300, 400, 500.

[0013] In FIG. 1, image data can be sent from the transmitter 200a of the image sensor 200 to the receiver 100a of the processor 100 via the image data bus 600 of C-PHY or D-PHY (i.e., high-speed differential link) defined by MIPI. The control data bus 700 may have two wirings configured to operate according to the I3C communication standard. Therefore, the control data bus 700 may include a clock line SCL and a data line SDA. The data line SDA can carry image data from the slave 200b of the image sensor 200 to the master 100b of the processor 100 according to the I3C communication standard. The clock line SCL can carry a clock signal used to synchronize data transfer via the control data bus 700 according to the I3C communication standard. The operation mode via the I3C bus may be called the CCI mode when used for camera application examples.

[0014] The control data bus 700 can be configured such that the master 100b and four slaves 200b, 300, 400, 500 are connected via two wirings (clock line SCL and data line SDA). In the control data bus 700, a plurality of transmission methods with different communication speeds are defined, and the master 100b and the slave 200b can switch between those transmission methods. For example, in the control data bus 700, a plurality of transfer modes with different data transfer rates are defined. Such a plurality of transfer modes include the SDR (Standard Data Rate) mode for transmitting data at a normal transfer rate and the HDR (High Data Rate) mode for transmitting data at a higher transfer rate than SDR. Also, in the HDR mode, three transfer modes, namely the DDR (Double Data Rate) mode, the TSP (Ternary Symbol Pure-Bus) mode, and the TSL (Ternary Symbol Legacy-inclusive-Bus) mode, are defined by the standard. Also, in I3C, using the common command code (CCC: Common Command Code), commands can be sent to one or more units simultaneously. It is possible to send data to an address that is dynamically assigned (DAA: Dynamic Address Assignment). The SDR mode corresponds to a specific example of the "first transfer mode" of the present disclosure. The HDR mode, DDR mode, TSP mode, and TSL mode correspond to specific examples of the "second transfer mode" of the present disclosure.

[0015] As shown in FIG. 1, the processor 100 has a receiver 100a and a master 100b. The processor 100 corresponds to a specific example of the "reception device" of the present disclosure. The master 100b corresponds to specific examples of the "transfer mode control unit" and the "data reception unit" of the present disclosure. As shown in FIG. 1, the image sensor 200 has a transmitter 200a and a slave 200b. The image sensor 200 corresponds to a specific example of the "transmission device" of the present disclosure. The transmitter 200a corresponds to a specific example of the "second communication unit" of the present disclosure. The slave 200b corresponds to specific examples of the "transfer mode switching unit" and the "data transmission unit" of the present disclosure.

[0016] The clock line SCL and the data line SDA are used to transmit signals between the master 100b and the slave 200b. For example, serial data is sequentially transmitted one bit at a time via the data line SDA, and a serial clock of a predetermined frequency is transmitted via the clock line SCL. In the control data bus 700, the master 100b can transmit data to all of the slaves 200b, 300, 400, 500 at once, or can transmit data individually by specifying each of the slaves 200b, 300, 400, 500 by address. Also, in the control data bus 700, the slave 200b can transmit data to all of the master 100b and the slaves 300, 400, 500 at once, or can transmit data individually by specifying each of the master 100b and the slaves 300, 400, 500 by address.

[0017] Then, as described above, the master 100b and the slave 200b can transmit and receive data by switching the transmission method between the SDR mode and the HDR mode.

[0018] (IBI-SDR) Assume that the transmission method at the start of communication is set to the SDR mode. At this time, the slave 200b, for example, utilizes the IBI (In-Band Interrupt) function of I3C in the SDR mode to transmit data to the master 100b. Hereinafter, such data transmission is referred to as data transmission by IBI-SDR. The slave 200b issues an IBI request in a data format as shown in FIG. 2, for example, and outputs data to the master 100b without a read command from the master 100b.

[0019] FIG. 2 shows an example of the data format of the IBI issued from the slave 200b in the SDR mode.

[0020] First, slave 200b outputs a start condition (S) to master 100b and slaves 300, 400, 500 via control data bus 700 in SDR mode to declare the start of communication. For example, in a standby state where no communication is taking place on control data bus 700, both clock line SCL and data line SDA are at the H level. Slave 200b outputs a start condition (S) by changing data line SDA from the H level to the L level while clock line SCL is at the H level. Note that slave 200b may output a start condition (S) when it detects the occurrence of an event. For example, slave 200b may regard the acquisition of image data 210A described later as the occurrence of an event. For example, when slave 200b detects a human face in image data 210A described later, or when it detects the movement of a predetermined object included in each image data 210A based on a plurality of image data 210A described later, it may regard such detection as the occurrence of an event. For example, when slave 200b has a timer (internal counter) that controls the imaging timing of imaging unit 210 described later, it may regard the acquisition of image data 210A based on the output of the timer (internal counter) as the occurrence of an event. For example, when slave 200b has a predetermined sensor, it may regard the signal output from the predetermined sensor as the occurrence of an event.

[0021] After the slave 200b outputs the start condition (S), at the beginning of the frame, it simultaneously transmits an IBI request (DA / R) using the I3C function to all of the master 100b and slaves 300, 400, 500. Subsequently, the slave 200b performs a reception success confirmation using ACK (Acknowledge) / NACK. For example, the master 100b returns ACK or NACK according to the reception result of the IBI request (DA / R). Therefore, the slave 200b confirms the successful reception of the IBI request by the return of ACK from the master 100b. After that, the slave 200b starts transmitting header data, for example, it transmits MDB (Mandatory Data Byte) (HD0) and optional data (HD1). MDB (HD0) and optional data (HD1) correspond to a specific example of header data. The slave 200b further starts transmitting data in SDR mode and transmits SDR data (DT1, …, Dtn), etc.

[0022] At this time, the SDR data is, for example, RAW data (image data) obtained by an imaging device (for example, the imaging unit 210 described later), or payload data obtained by processing data in the LINK layer. The payload data includes, for example, pixel data for one line in the image data obtained by the imaging device. The optional data (HD1) may include, for example, the data type and data byte of the data included in the SDR data. When ending the data transmission by IBI-SDR, the slave 200b transmits a command (Te) instructing the end of IBI-SDR.

[0023] Figure 3 shows an example of the definition of header data in data transmission by IBI-SDR. In MDB (HD0), [7] is reserved by the I3C standard specification, [6:2] is also reserved, and the type of transfer data is defined in [1:0]. In the optional data (HD1) [7:0], the number of transfer data bytes is defined.

[0024] (IBI-DDR(1)) Next, an example of data transmission when switching the transmission method from SDR mode to HDR mode will be described. The slave 200b, for example, performs data transmission to the master 100b by HDR-DDR Write following IBI in SDR mode. Hereinafter, such data transmission is referred to as data transmission by IBI-DDR without using a read command. The slave 200b outputs data to the master 100b in a data format as shown in FIG. 4 without using a read command from the master 100b.

[0025] Figure 4 shows an example of the data format when data is transmitted to the master 100b by HDR-DDR Write following IBI in SDR mode.

[0026] First, the slave 200b outputs a start condition (S) to the master 100b and the slaves 300, 400, and 500 via the control data bus 700 in SDR mode to declare the start of communication. For example, in a standby state where no communication is taking place on the control data bus 700, both the clock line SCL and the data line SDA are at the H level, and the slave 200b outputs the start condition (S) by changing the data line SDA from the H level to the L level while the clock line SCL is at the H level. Note that the slave 200b may output the start condition (S) when detecting the occurrence of the above event.

[0027] After outputting the start condition (S), slave 200b simultaneously transmits an IBI request using the I3C function to all of master 100b and slaves 300, 400, and 500 at the beginning of the frame. Subsequently, slave 200b performs a reception success confirmation using ACK. For example, when the reception of the IBI request is completed, master 100b returns ACK (e.g., 1-bit 0) as a reception completion notification. Therefore, slave 200b confirms the successful reception of the IBI request when ACK is returned from master 100b. Thereafter, slave 200b starts transmitting header data, for example, MDB (HD0) and optional data (HD1). MDB (HD0) and optional data (HD1) correspond to a specific example of header data. The optional data (HD1) may include, for example, the data type and data byte of the data included in the HDR data. Slave 200b transmits the header data during the period between the IBI request and the transmission of a switching command described later. As will be described later, MDB (HD0) includes identification bits for identifying the type of data transmitted in HDR mode. Note that the optional data (HD1) may be omitted. In this case, slave 200b can use the optional data (HD1), for example, at the position of part [14:8] of a later-described HDR command (HDR WCMD) or at the first word position of later-described HDR data (HDR WDt).

[0028] Thereafter, master 100b outputs a restart condition (Sr) to slaves 200b and 300, 400, 500 via the control data bus 700 to declare the resumption of communication. When slave 200b receives the restart condition (Sr) from master 100b, it transmits a broadcast command (I3C Reserved byte (7E / W)) notifying that it will transmit commands all at once to all of master 100b and slaves 300, 400, 500, and then transmits an ACK. Thereafter, slave 200b transmits a switching command (CCC(ENTHDR)) instructing to switch the transmission mode to the HDR mode to master 100b and slaves 300, 400, 500, and transmits 1-bit parity (T). The switching command (CCC(ENTHDR)) at this time corresponds to a write command in HDR-DDR from slave 200b to master 100b. The above 1-bit parity (T) is used in master 100b to detect an error in CCC(ENTHDR).

[0029] By transmitting the above switching command (CCC(ENTHDR)) to master 100b, slave 200b switches the transfer mode of the control data bus 700 from the SDR mode to the HDR mode. After the transmission mode is switched to the HDR mode, slave 200b starts transmitting data in the HDR mode and sequentially transmits an HDR command (HDR WCMD), HDR data (HDR WDt), and an HDRCRC (Cyclic Redundancy Check) word. At this time, the HDR data (HDR WDt) is, for example, RAW data (image data) obtained by an image sensor (for example, the imaging unit 210 described later) or payload data obtained by processing data in the LINK layer (for example, the mipiLINK data processing unit 230 described later). The payload data includes, for example, pixel data for one line in the image data obtained by the image sensor. The CRC word is error correction data for performing cyclic redundancy check. Master 100b can detect the end of the DDR sequence, for example, by monitoring the Preamble of this CRC word.

[0030] In addition, if the number of serial clocks supplied on the clock line SCL required to transmit HDR data is included in the header data, the master 100b can detect the end of the DDR sequence by detecting the number of serial clocks included in the header data. When the master 100b detects the end of the DDR sequence, it transmits an end command (Exit) instructing to end the IBI-DDR without using a read command. The slave 200b ends the HDR mode and returns the transfer mode of the control data bus 700 from the HDR mode to the SDR mode by receiving the end command (Exit).

[0031] (IBI-DDR(2)) Next, another example of data transmission when switching the transmission method from the SDR mode to the HDR mode will be described. The slave 200b, for example, performs data transmission to the master 100b by HDR-DDR Read following the IBI in the SDR mode. Hereinafter, such data transmission is referred to as data transmission by IBI-DDR using a read command. The slave 200b outputs data to the master 100b using a read command from the master 100b in a data format as shown in FIG. 5, for example.

[0032] FIG. 5 shows an example of a data format when data is transmitted to the master 100b by HDR-DDR Read following the IBI in the SDR mode.

[0033] First, slave 200b outputs a start condition (S) via the control data bus 700 to master 100b and slaves 300, 400, 500 in SDR mode to declare the start of communication. For example, in a standby state where no communication is being performed on the control data bus 700, both the clock line SCL and the data line SDA are at the H level, and slave 200b outputs the start condition (S) by changing the data line SDA from the H level to the L level while the clock line SCL is at the H level. Note that slave 200b may output the start condition (S) when detecting the occurrence of the above-described event.

[0034] After outputting the start condition (S), slave 200b simultaneously transmits an IBI request using the I3C function to all of master 100b and slaves 300, 400, 500 at the beginning of the frame. Subsequently, slave 200b performs a reception success confirmation using ACK. For example, when the reception of the IBI request is completed, master 100b returns an ACK (e.g., 1-bit 0) as a reception completion notification. Therefore, slave 200b confirms the successful reception of the IBI request when an ACK is returned from master 100b. Thereafter, slave 200b starts transmitting header data, for example, MDB (HD0) and option data (HD1). MDB (HD0) and option data (HD1) correspond to a specific example of header data. Slave 200b transmits the header data during the period between the IBI request and the transmission of a switching command described later. As will be described later, MDB (HD0) includes identification bits for identifying the type of data transmitted in HDR mode. Note that the option data (HD1) may be omitted. In this case, slave 200b may use the option data (HD1) at a position of part [14:8] of a later-described HDR command (HDR WCMD) or at the first word of later-described HDR data (HDR WDt).

[0035] Thereafter, master 100b outputs a restart condition (Sr) to slaves 200b and 300, 400, 500 via the control data bus 700 to declare the resumption of communication. Master 100b further transmits a broadcast command (I3C Reserved byte (7E / W)) notifying that it will send commands to all of slaves 200b, 300, 400, 500 simultaneously, and then transmits an ACK. Thereafter, master 100b transmits a switching command (CCC(ENTHDR)) instructing to switch the transmission mode to the HDR mode to master 100b and slaves 300, 400, 500, and transmits 1-bit parity (T). At this time, the switching command (CCC(ENTHDR)) corresponds to a read command in HDR-DDR from master 100b to slave 200b. The above 1-bit parity (T) is used in slave 200b to detect an error in CCC(ENTHDR).

[0036] Slave 200b switches the transfer mode of the control data bus 700 from the SDR mode to the HDR mode by receiving the above switching command (CCC(ENTHDR)) from the master 100b. After the transmission mode is switched to the HRD mode, slave 200b starts transmitting data in the HDR mode and sequentially transmits the HDR command (HDR WCMD), HDR data (HDR WDt), and HDR CRC word. At this time, the HDR data (HDR WDt) is, for example, RAW data obtained by an image sensor or payload data obtained by data processing in the LINK layer. The CRC word is error correction data for performing cyclic redundancy check. The master 100b can detect the end of the DDR sequence, for example, by monitoring the Preamble of this CRC word. If the number of serial clocks supplied on the clock line SCL required to transmit the HDR data is included in the header data, the master 100b can detect the end of the DDR sequence by detecting the number of serial clocks included in the header data. When the master 100b detects the end of the DDR sequence, it transmits an end command (Exit) instructing to end the IBI-DDR. Slave 200b ends the HDR mode and returns the transfer mode of the control data bus 700 from the HDR mode to the SDR mode by receiving the end command (Exit).

[0037] Figure 6 shows an example of the data format of the MDB. Figures 7, 8, and 9 show examples of the Value Ranges of the MDB. Figure 8 shows a specific example of the A region in Figure 7, and Figure 9 shows specific examples of the B region, C region, and D region in Figure 7.

[0038] As shown in Figure 6, MDB is composed of 8 bits (MDB[7]~MDB[0]). As shown in Figure 8, in the Value Ranges of MDB, when the Interruput Group Identifier (MDB[7:5]) is 3’b000, the type of data described in MDB[3:0] is switched according to the value of MDB[4] included in the Specific Interruput Identifier Value (MDB[4:0]). For example, as shown in Figure 8, when the value of MDB[4] is 1’b0, the type of transfer data described in MDB[3:0] is RAW data, and when the value of MDB[4] is 1’b1, the type of transfer data described in MDB[3:0] is mipi CSI-2 data or mipi CSI-3 data. MDB[4] and MDB[3:0] correspond to identification bits for identifying the type of data transmitted in HDR mode.

[0039] As shown in Figure 9, in the Value Ranges of MDB, when the Interruput Group Identifier (MDB[7:5]) is 3’b010, 3’b110 or 3’b111, the type of data described in MDB[3:0] may be switched according to the value of MDB[4] included in the Specific Interruput Identifier Value (MDB[4:0]). For example, as shown in Figure 9, when the value of MDB[4] is 1’b0, the type of transfer data described in MDB[3:0] is RAW data, and when the value of MDB[4] is 1’b1, the type of transfer data described in MDB[3:0] is mipi CSI-2 data or mipi CSI-3 data. MDB[4] and MDB[3:0] correspond to identification bits for identifying the type of data transmitted in HDR mode.

[0040] Incidentally, in the Value Ranges of the MDB, the value of MDB[6] included in the Interruput Group Identifier (MDB[7:5]) is 1’b0 in FIG. 8 and 1’b1 in FIG. 9. By utilizing this, for example, the type of data described in MDB[3:0] may be switched according to the value of MDB[6]. At this time, MDB[6] corresponds to an identification bit for identifying the type of data transmitted in the HDR mode.

[0041] Next, the schematic configuration of the image sensor 200 will be described. FIG. 10 shows an example of the schematic configuration of the image sensor 200. The image sensor 200 has, for example, an imaging unit 210 and a path selection unit 220 as shown in FIG. 10. The path selection unit 220 corresponds to a specific example of the “selection unit” of the present disclosure.

[0042] The imaging unit 210 converts, for example, an optical image signal obtained through an optical lens or the like into image data. The imaging unit 210 is configured to include, for example, a CCD (Charge Coupled Device) image sensor or a CMOS (Complementary Metal Oxide Semiconductor) image sensor. The imaging unit 210 has an analog-digital conversion circuit that converts analog image data into digital image data. The imaging unit 210 acquires image data 210A by imaging and outputs the acquired image data 210A to the path selection unit 220. The image data 210A is, for example, low-resolution image data or high-resolution image data. Examples of the low-resolution image data include RAW data.

[0043] The path selection unit 220 determines the resolution etc. of the image data 210A obtained by the imaging unit 210, and selects a path for transmitting the image data 210A according to the determination result. When the image data 210A is of low resolution, the path selection unit 220 sends the image data 210A as image data 220A to the handling data selection unit 240 and the mipiLINK data processing unit 230. When the image data 210A is of high resolution, the path selection unit 220 sends the image data 210A as image data 220B to the mipiLINK data processing unit 230.

[0044] The image sensor 200 further has, for example, as shown in FIG. 10, a mipiLINK data processing unit 230, a handling data selection unit 240, an output method selection unit 250, I3C PHY layers 260, 270, and a mipi PHY layer 280. The mipiLINK data processing unit 230 and the mipi PHY layer 280 are an example of the configuration included in the transmitter 200a of FIG. 1. The handling data selection unit 240, the output method selection unit 250, and the I3C PHY layers 260, 270 are an example of the configuration included in the slave 200b of FIG. 1. The transmitter 200a is composed of, for example, one or more processors such as an arithmetic circuit such as an MPU (Micro Processing Unit), and various processing circuits. The slave 200b is composed of, for example, one or more processors such as an arithmetic circuit such as an MPU, and various processing circuits.

[0045] The mipiLINK data processing unit 230 is a circuit that generates and sends out image data 230A corresponding to the transmission method of the mipi CSI-2 standard or the mipi CSI-3 standard based on the low-resolution image data 220A (for example, RAW data) input from the path selection unit 220. The mipiLINK data processing unit 230 is further a circuit that generates and sends out image data 230B corresponding to the transmission method of the mipi CSI-2 standard or the mipi CSI-3 standard based on the high-resolution image data 220B input from the path selection unit 220.

[0046] The handled data selection unit 240 issues an IBI in response to an IBI request, selects the image data corresponding to the type of data described in MDB[3:0], and sends it out. For example, when the type of data described in MDB[3:0] is data for RAW data transfer, the handled data selection unit 240 selects and sends out the image data 220A. For example, when the type of data described in MDB[3:0] is data for mipi CSI-2 data or mipi CSI-3 data transfer, the handled data selection unit 240 selects and sends it out.

[0047] The output method selection unit 250 selects the data to be sent based on the data described in MDB[4]. For example, when the data described in MDB[4] is 1’b0, the output method selection unit 250 selects and sends out the image data 220A. At this time, the output method selection unit 250 selects the slave 200b in data transmission and does not select the transmitter 200a. For example, when the data described in MDB[4] is 1’b1, the output method selection unit 250 selects and sends out the image data 230A. At this time, the output method selection unit 250 selects both the transmitter 200a and the slave 200b in data transmission.

[0048] The I3C PHY layer 260 sends the image data 220A input from the output mode selection unit 250 to the control data bus 700 according to the I3C protocol. When the transfer mode on the control data bus 700 is the SDR mode, the I3C PHY layer 260 loads the image data 220A onto the SDR data (DT1, …, Dtn) and sends it to the control data bus 700. When the transfer mode on the control data bus 700 is the HDR mode, the I3C PHY layer 260 loads the image data 220A onto the HDR data (HDR WDt) and sends it to the control data bus 700. At this time, the I3C PHY layer 260 can load the image data 220A onto the HDR data (HDR WDt) and send it to the control data bus 700 without using the read command from the master 100b. The I3C PHY layer 260 can also load the image data 220A onto the HDR data (HDR WDt) and send it to the control data bus 700 in response to the input of the read command from the master 100b.

[0049] The I3C PHY layer 270 sends the image data 230A input from the output mode selection unit 250 to the control data bus 700 according to the I3C protocol. When the transfer mode on the control data bus 700 is the SDR mode, the I3C PHY layer 270 loads the image data 230A onto the SDR data (DT1, …, Dtn) and sends it to the control data bus 700. When the transfer mode on the control data bus 700 is the HDR mode, the I3C PHY layer 270 loads the image data 230A onto the HDR data (HDR WDt) and sends it to the control data bus 700. At this time, the I3C PHY layer 270 can load the image data 230A onto the HDR data (HDR WDt) and send it to the control data bus 700 in response to the input of the read command from the master 100b.

[0050] The mipi PHY layer 280 sends the image data 230B input from the mipiLINK data processing unit 230 to the image data bus 600 via mipi CSI-2 or mipi CSI-3.

[0051] The image sensor 200 has, for example, as shown in FIG. 10, a power supply control unit 290 that controls the power supply to the mipiLINK data processing unit 230 and the mipiPHY layer 280 based on the data described in MDB[4].

[0052] For example, when the data described in MDB[4] is 1’b0, the power supply control unit 290 turns off the power supply to the mipiLINK data processing unit 230 and the mipiPHY layer 280. For example, when the data sent to the master 100b is the image data 220A (for example, RAW data) (that is, when the slave 200b is selected in data transmission), the power supply control unit 290 turns off the power supply to the mipiLINK data processing unit 230 and the mipiPHY layer 280. For example, when the data described in MDB[4] is 1’b1, the power supply control unit 290 turns on the power supply to the mipiLINK data processing unit 230 and the mipiPHY layer 280. For example, when the data sent to the master 100b is the image data 230A, or when the image data 210A is of high resolution (that is, when at least the transmitter 200a is selected in data transmission among the transmitter 200a and the slave 200b), the power supply control unit 290 turns on the power supply to the mipiLINK data processing unit 230 and the mipiPHY layer 280.

[0053] The power supply control unit 290 may control the power supply to the mipiLINK data processing unit 230 and the mipiPHY layer 280 according to, for example, the determination result (for example, the resolution of the image data 210A) in the path selection unit 220, or the selection result (for example, the path for transmitting the image data 210A) in the path selection unit 220. For example, when the image data 210A is determined to be of high resolution in the path selection unit 220, the power supply control unit 290 turns on the power supply to the mipiLINK data processing unit 230 and the mipiPHY layer 280.

[0054] Instead of turning off the power supply to the MIPI LINK data processing unit 230 and the MIPI PHY layer 280, the power supply control unit 29 may turn off only the power supply to the MIPI PHY layer 280. Further, instead of turning off the power supply to the MIPI LINK data processing unit 230 and the MIPI PHY layer 280, the power supply control unit 29 may execute the following operations. For example, the power supply control unit 29 may turn off the power supply to the PLL circuit included in the slave 200b, lower the frequency of the PLL circuit included in the slave 200b, or lower the power supply voltage supplied to the MIPI LINK data processing unit 230 and the MIPI PHY layer 280.

[0055] [Operation] Next, the operation of the communication system 1000 according to the present embodiment will be described.

[0056] FIG. 11 shows an example of a data transmission procedure in the communication system 1000. First, the imaging unit 210 acquires image data 210A by imaging (step S101). The path selection unit 220 determines whether the image data 210A is of low resolution (step S102). As a result, if it is determined that the image data 210A is not of low resolution (step S102; N), the path selection unit 220 outputs the image data 210A as image data 220B to the MIPI LINK data processing unit 230. Based on the image data 220B input from the path selection unit 220, the MIPI LINK data processing unit 230 generates image data 230B corresponding to the transmission method of the MIPI CSI-2 standard or the MIPI CSI-3 standard and sends it to the MIPI PHY layer 280 (step S103). The MIPI PHY layer 280 sends the image data 230B input from the MIPI LINK data processing unit 230 to the image data bus 600 in MIPI CSI-2 or MIPI CSI-3 (step S104).

[0057] In step S102, if it is determined that the image data 210A has low resolution (step S102; Y), the path selection unit 220 determines whether the image data 210A is RAW data (step S105). As a result, if it is determined that the image data 210A is not RAW data (step S105; N), the path selection unit 220 outputs the image data 210A as the image data 220A to the mipiLINK data processing unit 230. Based on the image data 220A input from the path selection unit 220, the mipiLINK data processing unit 230 generates image data 230A corresponding to the transmission method of the mipi CSI-2 standard or the mipi CSI-3 standard and sends it to the handling data selection unit 240 (step S103). The mipiPHY layer 280 sends the image data 230A input from the mipiLINK data processing unit 230 to the image data bus 600 in accordance with the mipi CSI-2 standard or the mipi CSI-3 standard (step S104).

[0058] In step S105, if it is determined that the image data 210A is RAW data (step S105; Y), or if the data processing in the mipiLINK data processing unit 23 is completed, the slave 200b issues an IBI request (step S106). Then, the handling data selection unit 240 activates the IBI in response to the IBI request, selects the image data corresponding to the type of data described in MDB[3:0], and sends it out (step S107). For example, when the type of data described in MDB[3:0] is data for transferring RAW data, the handling data selection unit 240 selects and sends out the image data 220A. For example, when the type of data described in MDB[3:0] is data for transferring mipi CSI-2 data or mipi CSI-3 data, the handling data selection unit 240 selects and sends out the image data 230A.

[0059] The output mode selection unit 250 selects the data to be transmitted based on the data described in MDB[4] (step S108). For example, when the data described in MDB[4] is 1’b0, the output mode selection unit 250 selects and transmits the image data 220A. For example, when the data described in MDB[4] is 1’b1, the output mode selection unit 250 selects and transmits the image data 230A. Note that the output mode selection unit 250 may select the data to be transmitted based on the data described in MDB[6], or the data described in MDB[4] and MDB[6].

[0060] When the data described in MDB[4] is 1’b0 (step S109; Y), the I3CPHY layer 260 places the image data 220A input from the output mode selection unit 250 on the payload data and transmits it to the control data bus 700 according to the I3C protocol without a read command from the master 100b (step S110). When the data described in MDB[4] is 1’b1 (step S109; N), when the I3CPHY layer 270 acquires a read command from the master 100b (step S111), it transmits the image data 230A input from the output mode selection unit 250 to the control data bus 700 according to the I3C protocol (step S112).

[0061] When the master 100b acquires image data from the slave 200b via the control data bus 700 in step S110 or step S112, it may perform a predetermined determination by processing the acquired image data. For example, when the master 100b determines that the resolution of the acquired image data is insufficient, it may transmit a control signal instructing high-resolution imaging to the slave 200b via the control data bus 700.

[0062] Note that, as shown in FIG. 12, when the data described in MDB[4] is 1’b0 (step S109; Y), when the I3CPHY layer 260 acquires a read command from the master 100b (step S113), the I3CPHY layer 260 may send the image data 220A input from the output mode selection unit 250 to the control data bus 700 according to the I3C protocol (step S114).

[0063] [Effect] Next, the effects of the communication system 1000 according to the present embodiment will be described.

[0064] In the present embodiment, after an IBI request using the I3C function is issued, a transfer mode switching command (CCC(ENTHDR)) is transmitted, so that the transfer mode of the control data bus 700 is switched from the SDR mode to the HDR mode. As a result, there is no need to provide a dedicated terminal for the IBI request, and there is no need to receive a switching command (CCC(ENTHDR)) from the master 100b. As a result, in data transmission, it is possible to increase the speed and reduce power consumption.

[0065] In the present embodiment, after an IBI request using the I3C function is issued, a transfer mode switching command (CCC(ENTHDR)) is received from the master 100b, so that the transfer mode of the control data bus 700 is switched from the SDR mode to the HDR mode. As a result, there is no need to provide a dedicated terminal for the IBI request. As a result, in data transmission, it is possible to increase the speed and reduce power consumption.

[0066] Also, in the present embodiment, by receiving an end command (Exit) instructing to end the HDR mode from the master 100b, the HDR mode is ended, and the transfer mode of the control data bus 700 returns to the SDR mode. As a result, there is no need to provide a dedicated terminal for mode switching. As a result, in data transmission, it is possible to increase the speed and reduce power consumption.

[0067] Also, in the present embodiment, header data (MDB(HD0)) including identification bits for identifying the type of data to be transmitted in HDR mode is transmitted during the period between the IBI request and the transmission of the switching command (CCC(ENTHDR)), and data of the type corresponding to the identification bits is transmitted from the slave 200b to the master 100b. Thereby, the load on the master 100b due to mode switching can be suppressed. As a result, in data transmission, it is possible to increase the speed and reduce power consumption.

[0068] Also, in the present embodiment, according to the data to be transmitted, it is selected whether to perform communication via either the transmitter 200a or the slave 200b. Thereby, when the slave 200b is selected, it becomes possible to turn off the power supply to the transmitter 200a. In such a case, in data transmission, it is possible to reduce power consumption.

[0069] <2. Modification Example> [Modification Example A] In the above embodiment, the mipiLINK data processing unit 230 may set one or more regions for the image data 210A output from the imaging unit 210. In this case, the region set for the image data 210A is called an ROI (Region Of Interest). Hereinafter, the region set for the image data 210A will be referred to as "ROI". Also, the image data of the region will be referred to as "ROI image data".

[0070] Examples of the process related to setting the region for the image data 210A include any process capable of specifying a part of the region in the image data 210A, such as "a process of detecting an object from the image data 210A and setting a region including the detected object" and "a process of setting a region specified by an operation on an arbitrary operation device", etc. (or any process capable of cutting out a part of the region from the image data 210A).

[0071] The mipiLINK data processing unit 230 reduces the amount of data related to transmission by transmitting the ROI image data, that is, by transmitting a part of the image data 210A, compared to transmitting the entire image data 210A. Therefore, when the mipiPHY layer 280 transmits the ROI image data, various effects achieved by reducing the amount of data, such as shortening the transmission time and reducing the load related to transmission in the mipiPHY layer 280, are achieved.

[0072] (Packet Structure) Next, an example of the structure of a packet used for transmitting an image from the mipiPHY layer 280 to the master 100b will be described. The mipiPHY layer 280 divides the image data into partial image data in units of rows and transmits the partial image data for each row using one or more packets. This is the same for the ROI image data.

[0073] FIG. 13 shows an example of the structure of a packet (Packet) used for transmitting image data in the mipiPHY layer 280. FIG. 13 shows an example of the structure of a packet used when transmitting image data according to the mipi CSI-2 standard or the mipi CSI-3 standard. FIG. 14 shows an example of the transmission data 280A transmitted from the mipiPHY layer 280 to the master 100b. FIG. 14 shows an example of the transmission data 280A used when transmitting image data according to the mipi CSI-2 standard or the mipi CSI-3 standard.

[0074] In the packet used for transmitting image data, a packet header PH and payload data are arranged and included in this order. The payload data includes pixel data of a partial image in units of rows. The packet header PH and the payload data correspond to individual SDR data (DT1,..., Dtn) when performing data transmission in the SDR mode, for example. The packet header PH and the payload data correspond to individual HDR data (HDR WDt) when performing data transmission in DDR, for example.

[0075] The packet header PH is, for example, the packet header of the PayloadData of LongPacket. The PayloadData of LongPacket refers to the main data transmitted between the mipiPHY layer 280 and the master 100b. The packet header PH includes, for example, DI, WC, and ECC (Error-Correcting Code). DI is an area for storing data identifiers. DI includes the number of VCs (virtual channels) and the DataType (data type of each ROI). VC is a concept introduced for packet flow control and is a mechanism for supporting multiple independent data streams sharing the same link. WC is an area for indicating the end of a packet to the master 100b in terms of the number of words. WC includes, for example, the Payload length. The Payload length is, for example, the number of bytes included in the Payload of LongPacket and is, for example, the number of bytes for each ROI. ECC is PayloadDataECC information including a value for error detection or correction of PayloadData. ECC includes error correction codes.

[0076] The transmission data 280A is composed of, for example, an image data frame as shown in FIG. 14. The image data frame usually has a header area R1 and a packet area R2. In the image data frame, the header area R1 includes, for example, MDB (HD0) and option data (HD1). In the image data frame, the header area R1 includes header information including EmbeddedData and header ECC information for error detection or correction of the header information. EmbeddedData refers to additional information that can be embedded in the header of the image data frame. At this time, EmbeddedData includes a frame number, the number of ROIs, and ROI information. The header ECC information includes a value for error detection or correction of the header information. The header ECC information includes error correction codes.

[0077] The frame number is an identifier of the transmission data 280A. The number of ROIs is the total number of ROIs included in the transmission data 280A. The ROI information is information about the ROIs provided for each ROI included in the transmission data 280A.

[0078] The ROI information includes, for example, the region numbers (or priorities) of one or more ROIs included in the image data and the position information of one or more ROIs in the image data. The region number of an ROI is an identifier assigned to each ROI. The priority of an ROI is an identifier assigned to each ROI and is discrimination information capable of discriminating which of the plurality of ROIs in the image data has the overlapping region omitted.

[0079] The position information of an ROI includes, for example, the upper left coordinate (Xa, Ya) of the ROI, the length of the ROI in the X-axis direction, and the length of the ROI in the Y-axis direction. The length of the ROI in the X-axis direction is, for example, the physical region length XLa of the ROI in the X-axis direction. The length of the ROI in the Y-axis direction is, for example, the physical region length YLa of the ROI in the Y-axis direction. The physical region length refers to the physical length (data length) of the ROI. In the position information of the ROI, coordinates at a position different from the upper left end of the ROI may be included. The position information of the ROI further includes, for example, the output region length XLc of the ROI in the X-axis direction and the output region length YLc of the ROI in the Y-axis direction. The output region length is, for example, the physical length (data length) of the ROI after resolution change such as decimation processing or pixel addition is performed on the ROI.

[0080] The ROI information may further include, for each ROI, in addition to the position information, for example, sensing information, exposure information, gain information, AD (Analog-Digital) word length, image format, and the like. The sensing information refers to the calculation content for the object included in the ROI, supplementary information for the subsequent signal processing of the ROI image data, and the like. The exposure information refers to the exposure time of the ROI. The gain information refers to the gain information of the ROI. The AD word length refers to the word length of the data per pixel AD-converted within the ROI. The image format refers to the format of the ROI image data.

[0081] Also, as shown in FIG. 14, in the data frame, in the packet area R2, for each line, the PayloadData of the LongPacket is included, and further, a packet header PH is included at the head position of the PayloadData of the LongPacket.

[0082] Also, the packet area R2 includes the image data 281. The image data 281 included in the packet area R2 is composed of one piece of image data or a plurality of ROI image data. Here, in FIG. 14, in the packet group closer to the packet header PH, for example, a certain ROI image data 281a is included, and in the packet group farther from the packet header PH, for example, another ROI image data 281b is included. The image data 281 is composed of these two ROI image data 281a and 281b. The PayloadData of the LongPacket for each line includes the pixel data for one line in the image data 281.

[0083] FIG. 15 shows an example of the image data 210A obtained by the imaging unit 210. FIG. 15 shows an example of the image data 210A obtained by the imaging unit 210 at different imaging timings. As shown in FIG. 15, the ROI image data a1, the ROI image data b1, and the ROI image data c1 are in non-overlapping positions with each other. FIG. 16 shows an example of the encoding of the image data 210A in FIG. 15. Note that FIG. 16 shows an example of the transmission data 280A when encoding is performed according to the rules defined by SROI (Smart Region Of Interest) in the mipi CSI-2 standard or the mipi CSI-3 standard.

[0084] The transmission data 280A is composed of, for example, a data frame as shown in FIG. 16. The data frame usually has a header area R1 and a packet area R2. In the data frame, the header area R1 contains EmbeddedData. EmbeddedData refers to additional information that can be embedded in the header or footer of the data frame. At this time, the EmbeddedData contains auxiliary data ds as metadata (metaData).

[0085] Also, as shown in FIG. 16, in the data frame, in the packet area R2, for each line, the PayloadData of the LongPacket is included. Further, the packet area R2 includes the image data 282. In the PayloadData of the LongPacket for each line, the imageData for one line in the image data 282 is included. FIG. 16 illustrates a location corresponding to the ROI image data a1, a location corresponding to the ROI image data b1, and a location corresponding to the ROI image data c1 in the image data 282. Here, since the ROI image data a1, the ROI image data b1, and the ROI image data c1 are in non-overlapping positions with each other, in the image data 282, the location corresponding to the ROI image data a1, the location corresponding to the ROI image data b1, and the location corresponding to the ROI image data c1 do not overlap with each other.

[0086] The auxiliary data dc is composed of, for example, the auxiliary data ds1, ds2, and ds3. The auxiliary data ds1 includes, for example, the frame number, the ROI number, and the ROI position of the ROI image data a1. The auxiliary data ds2 includes, for example, the frame number, the ROI number, and the ROI position of the ROI image data b1. The auxiliary data ds3 includes, for example, the frame number, the ROI number, and the ROI position of the ROI image data c1.

[0087] FIG. 17 shows an example of the configuration of the mipiLINK data processing unit 230. The mipiLINK data processing unit 230 includes, for example, an image processing unit 110 and a transmission unit 130. The mipiLINK data processing unit 230 sends the image data 230A, 230B generated by performing a predetermined process on the image data 220A, 220B to the handling data selection unit 240 and the mipiPHY layer 280.

[0088] The image processing unit 110 is a circuit that performs predetermined processing on the image data 220A and 220B. When a control signal instructing the extraction of the ROI is input from the master 100b via the control data bus 700, the image processing unit 110 performs predetermined processing on the image data 220A and 220B. As a result, the image processing unit 110 generates various data (110A, 110B, 110C) and outputs them to the transmission unit 130.

[0089] The image processing unit 110 has, for example, an ROI extraction unit 111, an ROI analysis unit 112, an encoding unit 113, and an image processing control unit 114.

[0090] The ROI extraction unit 111 identifies one or more objects of interest included in the image data 220A and 220B, and sets an ROI for each identified object. The ROI extraction unit 111 extracts the image data (ROI image data) of one or more ROIs from the image data 220A and 220B. The ROI extraction unit 111 further assigns a region number as an identifier to each set ROI. For example, when two ROIs are set in the image data 220A and 220B, the ROI extraction unit 111 assigns the region number 1 to one ROI and the region number 2 to the other ROI. The ROI extraction unit 111 stores the assigned identifier (region number) in the storage unit, for example. The ROI extraction unit 111 stores the image data of one or more ROIs extracted from the image data 220A and 220B in the storage unit, for example. The ROI extraction unit 111 further stores the identifier (region number) assigned to one or more ROIs in association with the image data of one or more ROIs in the storage unit.

[0091] The ROI analysis unit 112 derives the ROI information 110B in the image data 220A and 220B for each ROI. The ROI analysis unit 112 stores, for example, the derived ROI information 110B in the storage unit. The encoding unit 113 encodes one or more ROI image data to generate the image data 110A. Encoding refers to combining a plurality of data units (for example, a plurality of ROI image data) into one data unit.

[0092] The image processing control unit 114 acquires the ROI information 110B from the ROI analysis unit 112 and generates the frame information 110C. The image processing control unit 114 transmits the ROI information 110B and the frame information 110C to the transmission unit 130. The frame information 120C includes, for example, the number of virtual channels assigned for each frame, the data type of each ROI, the Payload length for each line, and the like. The data type includes, for example, YUV data, RGB data, or RAW data. The data type further includes, for example, data in ROI format or data in normal format.

[0093] The transmission unit 130 is a circuit that generates and transmits image data 230A and 230B based on various input data (110A, 110B, 110C, 220A, 220B). The transmission unit 130 transmits ROI information 110B for one or more ROIs in the image data 220A and 220B as EmbeddedData. When a control signal instructing the extraction of the ROI is input from the master 100b via the control data bus 700, the transmission unit 130 generates and transmits image data 230A corresponding to the transmission method of the mipi CSI-2 standard or the mipi CSI-3 standard based on the image data 110A obtained from the image data 220A. Also, based on the image data 110A obtained from the image data 220B, image data 230B corresponding to the transmission method of the mipi CSI-2 standard or the mipi CSI-3 standard is generated and transmitted. At this time, the transmission unit 130 transmits the image data 110A by an image data frame and transmits the ROI information 110B for each ROI in the header of the image data frame. When a control signal instructing the output of a normal image is input from the master 100b via the control data bus 700, the transmission unit 130 generates and transmits image data 230A corresponding to the transmission method of the mipi CSI-2 standard or the mipi CSI-3 standard based on the image data 220A. Also, based on the image data 220B, image data 230B corresponding to the transmission method of the mipi CSI-2 standard or the mipi CSI-3 standard is generated and transmitted.

[0094] The transmission unit 130 has, for example, a LINK control unit 131, an ECC generation unit 132, a PH generation unit 133, an EBD buffer 134, an ROI data buffer 135, a normal image data buffer 136, and a synthesis unit 137. When a control signal instructing the extraction of an ROI is input from the master 100b via the control data bus 700, the LINK control unit 131, the ECC generation unit 132, the PH generation unit 133, the EBD buffer 134, and the ROI data buffer 135 output to the synthesis unit 137. When a control signal instructing the output of a normal image is input from the master 100b via the control data bus 700, the normal image data buffer 136 outputs to the synthesis unit 137. Note that the ROI data buffer 135 may also serve as the normal image data buffer 136.

[0095] The LINK control unit 131 outputs, for example, the frame information 110C line by line to the ECC generation unit 132 and the PH generation unit 133. The ECC generation unit 132 generates, for example, an error correction code for a line based on the data of one line in the frame information 110C (for example, the number of virtual channels, the data type of each ROI, the Payload length per line, etc.). The ECC generation unit 132 outputs, for example, the generated error correction code to the PH generation unit 133. The PH generation unit 133 generates a packet header PH for each line using, for example, the frame information 110C and the error correction code generated by the ECC generation unit 132. At this time, the packet header PH is, for example, the packet header of the PayloadData of the LongPacket. The packet header PH includes, for example, DI, WC, and ECC. The PH generation unit 133 outputs the generated packet header PH to the synthesis unit 137.

[0096] The EBD buffer 134 temporarily stores the ROI information 110B and outputs the ROI information 110B as EmbeddedData to the synthesis unit 137 at a predetermined timing. EmbeddedData refers to additional information that can be embedded in the header of an image data frame. The EmbeddedData includes, for example, the ROI information 110B.

[0097] The ROI data buffer 135 primarily stores the image data 110A and outputs the image data 110A as the PayloadData of the LongPacket to the synthesizing unit 137 at a predetermined timing. When a control signal instructing the extraction of the ROI is input from the master 100b via the control data bus 700, the ROI data buffer 135 outputs the image data 110A as the PayloadData of the LongPacket to the synthesizing unit 137. The normal image data buffer 136 primarily stores the image data 220A, 220B and outputs the image data 220A, 220B as the PayloadData of the LongPacket to the synthesizing unit 137 at a predetermined timing. When a control signal instructing the output of the normal image is input from the master 100b via the control data bus 700, the normal image data buffer 136 outputs the image data 220A, 220B as the PayloadData of the LongPacket to the synthesizing unit 137.

[0098] When a control signal instructing the output of the normal image is input from the master 100b via the control data bus 700, the synthesizing unit 137 generates the image data 230A, 230B based on the input data (image data 220A, 220B). The synthesizing unit 137 outputs the generated image data 230A, 230B to the master 100b via the control data bus 700. On the other hand, when a control signal instructing the extraction of the ROI is input from the master 100b via the control data bus 700, the synthesizing unit 137 generates the image data 230A, 230B based on the input various data (packet header PH, ROI information 110B, and image data 110A). The synthesizing unit 137 outputs the generated image data 230A, 230B to the master 100b via the control data bus 700. That is, the synthesizing unit 137 sends out the DataType (data type of each ROI) included in the packet header PH of the PayloadData of the LongPacket.

[0099] In this modified example, one or more ROI image data cut out by the ROI cut-out unit 111 are transmitted from the slave 200b to the master 100b via the control data bus 700 in HDR mode. As a result, the amount of data to be transmitted can be suppressed, and furthermore, the load on the master 100b can be suppressed. As a result, in data transmission, it is possible to increase the speed and reduce power consumption.

[0100] [Modified Example B] In the above embodiment, when the MDB is configured with 8 bits (MDB[7] to MDB[0]) and the Interruput Group Identifier (MDB[7:5]) is 3'b010 in the Value Ranges of the MDB, for example, as shown in FIGS. 18 and 19, the type of data for transfer may be switched according to the value of the Specific Interruput Identifier Value (MDB[4:0]). In this case, for example, when the value of MDB[4:0] is 5'h01, the type of data for transfer is RAW data, and when the value of MDB[4:0] is 5'h00, the type of data for transfer is mipi CSI-2 data or mipi CSI-3 data. The MDB[4:0] may describe identification bits for identifying the type of data transmitted in SDR mode or HDR mode.

[0101] In this modified example, the handled data selection unit 240 generates and issues an IBI in response to an IBI request, selects and sends out image data corresponding to the type of data described in MDB[4:0]. For example, when the type of data described in MDB[4:0] is data for RAW data transfer, the handled data selection unit 240 selects and sends out the image data 220A. For example, when the type of data described in MDB[4:0] is data for mipi CSI-2 data or mipi CSI-3 data transfer, the handled data selection unit 240 selects and sends out the image data 230A.

[0102] The output mode selection unit 250 selects the data to be transmitted based on the data described in MDB[4:0]. For example, when the data described in MDB[4:0] is 5’h01, the output mode selection unit 250 selects the image data 220A and transmits it. At this time, the output mode selection unit 250 selects the slave 200b in data transmission and does not select the transmitter 200a. For example, when the data described in MDB[4:0] is 5’h00, the output mode selection unit 250 selects the image data 230A and transmits it. At this time, the output mode selection unit 250 selects both the transmitter 200a and the slave 200b in data transmission.

[0103] In this modification, the image sensor 200 has, for example, as shown in FIG. 18, a power supply control unit 290 that controls the power supply to the mipiLINK data processing unit 230 and the mipiPHY layer 280 based on the data described in MDB[4:0].

[0104] For example, when the data described in MDB[4:0] is 5’h01, the power supply control unit 290 turns off the power supply to the mipiLINK data processing unit 230 and the mipiPHY layer 280. For example, when the data transmitted to the master 100b is the image data 220A (for example, RAW data) (that is, when the slave 200b is selected in data transmission), the power supply control unit 290 turns off the power supply to the mipiLINK data processing unit 230 and the mipiPHY layer 280. For example, when the data described in MDB[4:0] is 5’h00, the power supply control unit 290 turns on the power supply to the mipiLINK data processing unit 230 and the mipiPHY layer 280. For example, when the data transmitted to the master 100b is the image data 230A, or when the image data 210A is high resolution (that is, when at least the transmitter 200a is selected among the transmitter 200a and the slave 200b in data transmission), the power supply control unit 290 turns on the power supply to the mipiLINK data processing unit 230 and the mipiPHY layer 280.

[0105] Next, the operation of the communication system 1000 according to this modification example will be described.

[0106] FIG. 20 shows an example of a data transmission procedure in the communication system 1000 according to this modification example. Since the procedures up to step S106 are the same as those in the above embodiment, the procedures after step S107 will be described below.

[0107] The handled data selection unit 240 generates and issues an IBI in response to an IBI request in the SDR mode, selects image data corresponding to the type of data described in MDB[4:0], and sends it out (step S107). For example, when the type of data described in MDB[4:0] is data for transferring RAW data, the handled data selection unit 240 selects and sends out the image data 220A. For example, when the type of data described in MDB[4:0] is data for transferring mipi CSI-2 data or mipi CSI-3 data, the handled data selection unit 240 selects and sends out the image data 230A.

[0108] The output method selection unit 250 selects the data to be sent out based on the data described in MDB[4:0] (step S108). For example, when the data described in MDB[4:0] is 5’h01, the output method selection unit 250 selects and sends out the image data 220A. For example, when the data described in MDB[4:0] is 5’h00, the output method selection unit 250 selects and sends out the image data 230A.

[0109] When the data described in MDB[4:0] is 5’h01 (step S115), the I3CPHY layer 260 places the image data 220A input from the output method selection unit 250 on the payload data and sends it to the control data bus 700 according to the I3C protocol without a read command from the master 100b (step S110). When the data described in MDB[4:0] is 5’h00 (step S115), the I3CPHY layer 270, when it acquires a read command from the master 100b (step S111), sends the image data 230A input from the output method selection unit 250 to the control data bus 700 according to the I3C protocol (step S112). In this way, data transmission is performed.

[0110] In this modified example, according to the data described in MDB[4:0], the data processing path and the data to be transmitted are selected. Thereby, it is possible to reduce power consumption in data transmission.

[0111] [Modified Example C] In the above-described modified example B, for values different from the above-described values (5’h00, 5’h01) in MDB[4:0], identification of new functions may be added. For example, as shown in FIGS. 21 and 22, in the value of MDB[4:0], for 5’h08, a function of requesting the master 100b to turn on the power supply to the mipiLINK data processing unit 230 and the mipiPHY layer 280 whose power supply is off may be defined. Also, for example, as shown in FIGS. 21 and 22, in the value of MDB[4:0], for 5’h09, a function of requesting the master 100b to turn off the power supply to the mipiLINK data processing unit 230 and the mipiPHY layer 280 whose power supply is on may be defined.

[0112] Assume that the slave 200b has a detection unit that detects a face included in the image data 220A or the image data 230A acquired from the image sensor 200a, for example. In this case, when the detection unit detects that the image data 220A or the image data 230A contains a face, the slave 200b can request the master 100b to turn on the power supply to the mipiLINK data processing unit 230 and the mipiPHY layer 280 whose power supplies are off by writing 5’h08 to MDB[4:0]. Also, when the detection unit detects that no face is included based on a plurality of image data 220A or a plurality of image data 230A, the slave 200b can request the master 100b to turn off the power supply to the mipiLINK data processing unit 230 and the mipiPHY layer 280 whose power supplies are on by writing 5’h09 to MDB[4:0].

[0113] Next, the operation of the communication system 1000 according to this modification will be described.

[0114] FIG. 23 shows an example of a data transmission procedure in the communication system 1000 according to this modification. Since the procedures up to step S108 are the same as those in the above modification B, the procedures after step S115 will be described below.

[0115] When the data described in MDB[4:0] is 5’h01 (step S115), the I3C PHY layer 260 places the image data 220A input from the output mode selection unit 250 on the payload data and sends it to the control data bus 700 according to the I3C protocol without a read command from the master 100b (step S110). When the data described in MDB[4:0] is 5’h00 (step S115), when the I3C PHY layer 270 acquires a read command from the master 100b (step S111), it sends the image data 230A input from the output mode selection unit 250 to the control data bus 700 according to the I3C protocol (step S112). In this way, data transmission is performed.

[0116] Furthermore, when the data described in MDB[4:0] is 5’h08 or 5’h09 (step S115), the I3CPHY layer 260 sends an IBI request including the data in MDB[4:0] to the control data bus 700 according to the I3C protocol without, for example, loading the image data 220A or the image data 230A. At this time, when the data described in MDB[4:0] is 5’h08, the IBI request becomes a Wake-Up Request (250a) (step S116), and when the data described in MDB[4:0] is 5’h09, the IBI request becomes a Ready-to-Sleep Request (250b) (step S117).

[0117] In this way, in this modification example, without providing a new control line, by utilizing the IBI request, it is possible to control the on / off of the power supply to the mipiLINK data processing unit 230 and the mipiPHY layer 280.

[0118] [Modification Example D] In the above-described embodiment and its modification example, the header data in the data transmission by IBI-SDR may be defined as shown in, for example, FIG. 24. At this time, for example, as shown in FIG. 24, a plurality of option data (HD1, HD2, HD3,...) may be included in the header of the IBI. The option data (HD1, HD2, HD3,...) may include the Data Type and Data Byte of the data included in the SDR data.

[0119] In this modification example, for example, as shown in FIG. 25, the type of data for transfer (transmission data) may be switched according to the value of the Specific Interruput Identifier Value (MDB[4:0]). The handled data selection unit 240 may switch the type of data for transfer (transmission data) according to the value of MDB[4:0]. The handled data selection unit 240 may change the type of data for transfer (transmission data) by changing the value of MDB[4:0]. In this case, when the value of MDB[4:0] is 5’h01, the handled data selection unit 240 may select RAW data as the type of data for transfer, or when the value of MDB[4:0] is 5’h00, mipi CSI-2 data or mipi CSI-3 data may be selected as the type of data for transfer. Identification bits for identifying the type of data transmitted in SDR mode may be described in MDB[4:0].

[0120] When the value of MDB[4:0] is 5’h00 or 5’h01, the optional data (HD1) is configured to include, for example, as shown in FIG. 26, VC (Virtual Channel)[7:6] and DT (Data Type)[5:0]. In VC[7:6], for example, as shown in FIG. 26, the lower 2 bits of the 5-bit long Virtual Channel ID may be described. In DT[5:0], for example, as shown in FIG. 26, values corresponding to any one of Generic, User Defined0, User Defined1, User Defined2, and User Defined3 may be described.

[0121] When the value of MDB[4:0] is 5’h00 or 5’h01, the optional data (HD2) is composed of, for example, as shown in FIG. 27, WCL (Word Count Length)[7:3] and VCX (Virtual Channel Extension)[2:0]. In WCL[7:3], values corresponding to, for example, as shown in FIG. 27, Word Count Unlimited (no word count limit) or Word Count ((8bit)×(h01 - h1E)) can be described. In VCX[2:0], for example, as shown in FIG. 27, the upper 3 bits of the 5-bit long Virtual Channel ID can be described. Information bits about the data transmitted in SDR mode can be described in WCL[7:3] and VCX[2:0].

[0122] When the value of MDB[4:0] is 5’h00 or 5’h01, the optional data (HD3) is composed of, for example, as shown in FIG. 28, WC (Word Count)[7:0]. In WC[7:0], values corresponding to, for example, as shown in FIG. 28, Word Count can be described. Information bits about the data transmitted in SDR mode can be described in WC[7:0].

[0123] In this modification example, in the optional data (HD2, HD3), the Word Count is variable length. Thereby, necessary data can be transferred efficiently. Also, in this modification example, even when a large amount of data is being transferred at once, the data transfer can be aborted by terminating with I3C.

[0124] In this modification example, for example, as shown in FIG. 24, at the end of the frame, CRC (Cyclic Redundancy Check) is sent only once. Thereby, since it is not necessary to send CRC for each line, monitoring of the Preamble of the CRC word can be simplified.

[0125] [Modification Example E] In the above-described modification D, for example, as shown in FIG. 29, the type of transfer data may be switched according to the value of the Specific Interruput Identifier Value (MDB[4:0]). The handled data selection unit 240 may switch the type of transfer data (transmission data) according to the value of MDB[4:0]. The handled data selection unit 240 may change the type of transfer data (transmission data) by changing the value of MDB[4:0]. In this case, when the value of MDB[4:0] is 5’h07, the handled data selection unit 240 may select RAW data as the type of transfer data, or when the value of MDB[4:0] is 5’h06, mipi CSI-2 data or mipi CSI-3 data may be selected as the type of transfer data. Identification bits for identifying the type of data transmitted in SDR mode may be described in MDB[4:0].

[0126] When the value of MDB[4:0] is 5’h06, the Specific Intertupt Indentifier Value is configured to include, for example, as shown in FIG. 30, MDB[4:0] and IBI_MDB_AOSC_EXT[7:0] of HD1. Various contents about the transfer data may be described in IBI_MDB_AOSC_EXT[7:0] of HD1, for example, as shown in FIG. 30.

[0127] When the value of MDB[4:0] is 5’h07, the optional data (HD1) is configured to include, for example, as shown in FIG. 26, VC[7:6] and DT[5:0]. When the value of MDB[4:0] is 5’h07, the optional data (HD2) is configured to include, for example, as shown in FIG. 27, WCL[7:3] and VCX[2:0]. When the value of MDB[4:0] is 5’h07, the optional data (HD3) is configured to include, for example, as shown in FIG. 28, WC[7:0].

[0128] In this modification example, when the value of MDB[4:0] is 5’h07, in the option data (HD2, HD3), the Word Count is variable length. As a result, necessary data can be transferred efficiently. Also, in this modification example, even when a large amount of data is being transferred at once, the data transfer can be aborted by terminating with I3C.

[0129] [Modification Example F] In the above modification example D, for example, as shown in FIG. 31, in the Specific Interruput Identifier Value (MDB[4:0]), specific types of transfer data may be set. The handled data selection unit 240 may set the type of transfer data (transmission data) to a specific type according to the value of MDB[4:0]. In this case, when the value of MDB[4:0] is 5’h06, the handled data selection unit 240 may set mipi CSI-2 data or mipi CSI-3 data as the type of transfer data. Bits for specifying the type of data to be transmitted in SDR mode may be described in MDB[4:0].

[0130] When the value of MDB[4:0] is 5’h06, the Specific Intertupt Indentifier Value is configured to include MDB[4:0] and IBI_MDB_AOSC_EXT[7:0] of HD1, as shown in FIG. 32 for example. In IBI_MDB_AOSC_EXT[7:0] of HD1, various contents about the transfer data can be described, as shown in FIG. 32 for example. At this time, when IBI_MDB_AOSC_EXT[7:0] of HD1 is 8’h08 for example, it is possible to change the type of the transfer data. In other words, when IBI_MDB_AOSC_EXT[7:0] of HD1 is a value other than 8’h08 for example, the type of the transfer data is set according to the value of MDB[4:0]. Thus, when the change bit is excluded from the header (IBI_MDB_AOSC_EXT[7:0] of HD1), the handling data selection unit 240 includes the transmission data of the type corresponding to the identification bit described in MDB[4:0] in the IBI request.

[0131] When IBI_MDB_AOSC_EXT[7:0] of HD1 is 8’h08 for example, the option (HD2) is configured to include VC[7:6] and DT[5:0], as shown in FIG. 33 for example. In VC[7:6], the lower 2 bits of the 5-bit long Virtual Channel ID can be described, as shown in FIG. 33 for example. In DT[5:0], a value corresponding to any one of Generic, User Defined0, User Defined1, User Defined2, and User Defined3 can be described, as shown in FIG. 33 for example.

[0132] When the value of MDB[4:0] is 5’h06, option (HD3) is configured to include, for example, as shown in FIG. 34, WCL[7:3] and VCX[2:0]. In WCL[7:3], for example, as shown in FIG. 34, Word Count Unlimited (no word count limit), Word Count ((8bit)×(h01 - h1E)), etc. can be described. In VCX[2:0], for example, as shown in FIG. 34, the upper 3 bits of the 5-bit Virtual Channel ID can be described.

[0133] When the value of MDB[4:0] is 5’h06, option (HD4) is configured to include, for example, as shown in FIG. 35, WC[7:0]. In WC[7:0], for example, as shown in FIG. 35, a value corresponding to Word Count can be described.

[0134] In this modification example, the type of transfer data can be changed by IBI_MDB_AOSC_EXT[7:0] of HD1. Thereby, data transmission according to the type of transfer data can be performed. Also, in this modification example, when the change bit is excluded from the header (IBI_MDB_AOSC_EXT[7:0] of HD1), the type of transmission data corresponding to the identification bit described in MDB[4:0] is included in the IBI request. Thereby, data transmission according to the type of transfer data can be performed. Also, in this modification example, in options (HD3, HD4), the Word Count is variable-length. Thereby, necessary data can be transferred efficiently. Also, in this modification example, even when a large amount of data is being transferred at once, the data transfer can be aborted by terminating with I3C.

[0135] [Modification Example G] In the above-described Modification Example B and its modification, the slave 200b may further include a register 241 in which various definitions regarding the transmission of image data are described, as shown in FIG. 36, for example. At this time, the slave 200b may be configured to dynamically change the transmission of image data according to the definitions described in the register 241.

[0136] The register 241 may include, for example, a register (REG_AOSC_IBI_FRAME) that defines whether to transfer image data line by line or frame by frame in response to an IBI request. For example, when 1 is described in REG_AOSC_IBI_FRAME, the handling data selection unit 240 transfers the image data to be transferred in response to the IBI request frame by frame. For example, when 0 is described in REG_AOSC_IBI_FRAME, the handling data selection unit 240 transfers the image data to be transferred in response to the IBI request line by line.

[0137] The register 241 may include, for example, a register (REG_AOSC_WCX_EN) that defines whether to perform word count expansion. For example, when 1 is described in REG_AOSC_WCX_EN, the handling data selection unit 240 performs word count expansion. For example, when 0 is described in REG_AOSC_WCX_EN, the handling data selection unit 240 does not perform word count expansion.

[0138] The register 241 may include, for example, a register (REG_AOSC_WCX_AUTO) that defines whether to automatically expand the word count and perform data transmission when the word count is greater than 0xFFFF, or whether to perform data transmission without automatically expanding the word count when the word count is 0xFFFF or less. For example, when 1 is described in REG_AOSC_WCX_AUTO, the handling data selection unit 240 automatically expands the word count and performs data transmission. For example, when 0 is described in REG_AOSC_WCX_AUTO, the handling data selection unit 240 performs data transmission without automatically expanding the word count.

[0139] Register 241 may have, for example, a register (REG_AOSC_WCX_NOTX) that defines whether to perform data transmission by omitting HD2 when WCX_EN[4]=1’b0. For example, when 1 is described in REG_AOSC_WCX_NOTX, the handled data selection unit 240 performs data transmission by omitting HD2. For example, when 0 is described in REG_AOSC_WCX_NOTX, the handled data selection unit 240 performs data transmission without omitting HD2.

[0140] FIG. 37 shows a modified example of the data format of the IBI issued from the slave in SDR mode. In this modified example, the data format in data transmission by IBI-SDR may be defined as shown in FIG. 37, for example. At this time, for example, as shown in FIG. 37, a plurality of option data (HD1, HD2,...) may be included in the header of the IBI. The option data (HD1, HD2,...) may include the data type (DataType) and data byte (DataByte) of the data included in the SDR data.

[0141] In this modified example, for example, as shown in FIG. 37, the type of transfer data (transmission data) may be switched according to the value of the Specific Interruput Identifier Value (MDB[4:0]). The handled data selection unit 240 may switch the type of transfer data (transmission data) according to the value of MDB[4:0]. The handled data selection unit 240 may change the type of transfer data (transmission data) by changing the value of MDB[4:0]. In this case, when the value of MDB[4:0] is 5’h01, the handled data selection unit 240 may select RAW data as the type of transfer data, or when the value of MDB[4:0] is 5’h00, the handled data selection unit 240 may select mipi CSI-2 data or mipi CSI-3 data as the type of transfer data. Identification bits for identifying the type of data transmitted in SDR mode may be described in MDB[4:0].

[0142] When the value of MDB[4:0] is 5’h01, the option data (HD1) is composed of, for example, as shown in FIG. 38, STMTYP[7:5], WCN_EN[4], and STMTYP[3:0]. STMTYP[7:5] is Reserved, for example, as shown in FIG. 38. In WCN_EN[4], a value corresponding to Word Count Extension can be described, for example, as shown in FIG. 38. In STMTYP[3:0], a value corresponding to either Generic, User Defined1-7, or Reserved can be described, for example, as shown in FIG. 38.

[0143] When the value of MDB[4:0] is 5’h01, the option data (HD2) is composed of, for example, as shown in FIG. 39, WCX (Word Count Extension)[7:0]. In WCX[7:0], when WCN_EN[4] is 1’b1, the most significant byte of the 24-bit Word Count can be described, for example, as shown in FIG. 39.

[0144] When the value of MDB[4:0] is 5’h01, the packet data (DT0) of the SDR data is composed of, for example, as shown in FIG. 40, VC[7:6] and DT[5:0]. In VC[7:6], the lower 2 bits of the 4-bit Virtual Channel ID of the D-PHY physical layer option can be described, for example, as shown in FIG. 40. In DT[5:0], a value corresponding to the format / content of the application-specific payload data can be described, for example, as shown in FIG. 40.

[0145] When the value of MDB[4:0] is 5’h01, the packet data (DT1) of the SDR data is composed of, for example, as shown in FIG. 41, WC[7:0]. In WC[7:0], a value corresponding to the least significant byte of the 24-bit Word Count can be described, for example, as shown in FIG. 41. Information bits about the data transmitted in SDR mode can be described in WC[7:0].

[0146] When the value of MDB[4:0] is 5’h01, the packet data (DT2) of the SDR data is composed of, for example, WC[15:8] as shown in FIG. 41. In WC[15:8], for example, as shown in FIG. 41, a value corresponding to the second byte from the least significant bit of the 24-bit Word Count can be described. Information bits about the data transmitted in the SDR mode can be described in WC[15:8].

[0147] When the value of MDB[4:0] is 5’h01, the packet data (DT3) of the SDR data is composed of, for example, VCX[7:6] and ECC (Error Correction Code)[5:0] as shown in FIG. 42. In VCX[7:6], for example, as shown in FIG. 42, the upper 2 bits of the 4-bit Virtual Channel ID of the D-PHY physical layer option can be described. In ECC[5:0], for example, as shown in FIG. 42, values corresponding to 1-bit error in the packet header to be corrected and 2-bit error to be detected can be described.

[0148] In this modification, the IBI request has the MIPI D-PHY Long Packet structure as shown in FIGS. 37 to 42, and the I3C PHY layer 260 sends the image data 220A onto the D-PHY Long Packet structure and sends it to the control data bus 700. As a result, when the mipi PHY layer 280 sends the image data 230A onto the MIPI D-PHY Long Packet structure and sends it to the image data bus 600 (that is, when the transmitter 200a and the receiver 100a can communicate via the image data bus 600 defined by the MIPI D-PHY), the processor 100 can partially share the block that processes the image data 220A and the block that processes the image data 230A. As a result, the data processing in the processor 100 can be performed efficiently.

[0149] In this modification example, a register 241 in which various definitions regarding the transmission of image data are described is provided in the slave 200b, and the transmission of image data is dynamically changed according to the definitions described in the register 241. Thereby, data transmission can be performed efficiently.

[0150] [Modification Example H] In the above-described embodiment and its modification example, it is assumed that the image data 230A has the data format of MIPI D-PHY as shown in the lower part of FIG. 43, for example. At this time, during the LPS (Low Power State) period, the clock supply to the mipiLINK data processing unit 230 is stopped, and there is no output of the image data 230A. That is, the LPS period corresponds to a low power consumption period. When the slave 200b utilizes the IBI function of I3C to transfer the data of MIPI D-PHY to the master 100b at the I3C PHY layer 260, during the LPS period, although there is no output of the image data 230A, a clock is supplied from the master 100b, and indeterminate data is output on the control data bus 700.

[0151] In order to avoid this, it is conceivable that the slave 200b divides the IBI by line unit to avoid data output during the LPS period, or is provided with a frame buffer, stores frame unit data in the frame buffer, reads out the frame unit data from the frame buffer at a predetermined timing, and transfers the read frame unit data to the master 100b by utilizing the IBI function of I3C. However, in these cases, there are problems such that the burden on the CPU increases or the circuit scale increases by the amount of the frame buffer provided.

[0152] Therefore, in the above-described embodiments and their modifications, the image sensor 200 can transfer data during all or part of the LPS period, for example, as described in the upper part of FIG. 43, in units of multiple lines or in units of one or more frames filled with Spacers of D-PHY EPD Option 2, to the master 100b by utilizing the IBI function of I3C without using a frame buffer. The Spacer is dummy data defined as 0xFF. In this case, an increase in the burden on the CPU and an increase in the circuit scale can be suppressed.

[0153] In this modification, the slave 200b may transfer data in units of multiple lines to the master 100b in the IBI in SDR mode, for example, as shown in FIG. 44. Also, in this modification, the slave 200b may transfer data in units of one frame to the master 100b in the IBI in SDR mode, for example, as shown in FIG. 45. Further, in this modification, the slave 200b may transfer data in units of multiple frames to the master 100b in the IBI in SDR mode, for example, as shown in FIG. 46.

[0154] FIG. 47 shows an example of the functional block of the communication system according to this modification. In this modification, the image sensor 200 has, for example, as shown in FIG. 47, a transmitter 200a, a Spacer generation unit 310, an insertion selector unit 320, and a slave 200b.

[0155] The Spacer generation unit 310 is configured to include a register in which the definition of the Spacer is described. The Spacer generation unit 310 outputs Spacer data 310A (0xFF) to the insertion selector unit 320. The Spacer data 310A output from the Spacer generation unit 310 is used as data during the LPS period when there is no data output in the mipiLINK data processing unit 230 in the insertion selector unit 320. The insertion selector unit 320 generates image data 320A by embedding the Spacer data 310A output from the Spacer generation unit 310 during the LPS period included in the transmitter 200a (mipiLINK data processing unit 230). That is, the insertion selector unit 320 makes the data during the LPS period into a Spacer according to the definition described in the Spacer generation unit 310. The insertion selector unit 320 outputs the generated image data 320A to the slave 200b. The slave 200b transfers the image data 320A input from the insertion selector unit 320 to the processor 100 (master 100b) by utilizing the IBI function of I3C.

[0156] The processor 100 (master 100b) has, for example, as shown in FIG. 47, an I3C reception unit 410, a PH detection unit 420, a depack unit 430, a Spacer detection unit 440, and an image data generation unit 450. The I3C reception unit 410 receives image data 320A from the image sensor 200. The PH detection unit 420 detects the packet header PH included in the received image data 320A and outputs the word count WC included in the packet header PH to the Spacer detection unit 440. When the image data 320A includes data of a plurality of frames, the PH detection unit 420 detects the packet header PH of each frame based on the Spacer end position 440B input from the Spacer detection unit 440.

[0157] The depacketization unit 430 detects data including LongPacket and Spacer included in the image data 320A based on the data of the packet header PH obtained by the PH detection unit 420, and outputs it to the image data generation unit 450. The Spacer detection unit 440 detects the positions of the Spacers (for example, the Spacer start position 440A and the Specer end position 440B) included in the image data 320A based on the word count WC. The Spacer detection unit 440 determines the position of the Spacer by the value of the Spacer (0xFF). The Spacer detection unit 440 outputs the detected Spacer start position 440A to the image data generation unit 450, and outputs the detected Spacer end position 440B to the PH detection unit 420. The image data generation unit 450 extracts the LongPacket included in the data input from the depacketization unit 430 based on the Spacer start position 440A, and generates the image data 450B from the extracted LongPacket. That is, the image data generation unit 450 restores the original image data 230A from the extracted LongPacket.

[0158] In this modification example, Spacers (dummy data defined as 0xFF) can be embedded as data during the LPS period included in the mipiLINK data processing unit 230. Thereby, the data of the MIPI D-PHY can be transferred to the master 100b by utilizing the IBI function of I3C in units of a plurality of lines or in units of one or a plurality of frames. As a result, an increase in the load on the CPU and an increase in the circuit scale can be suppressed.

[0159] In this modification example, the original image data 230A is restored by extracting the LongPacket from the image data 320A acquired from the image sensor 200. Thus, in this modification example, the image data 230A can be transferred to the master 100b by utilizing the IBI function of I3C.

[0160] Incidentally, in this modified example, the word count WC is 16 bits in accordance with the D-PHY structure, and the word count extension is not defined. Also, in this modified example, the length of the embeddable Spacer is variable in 8-bit units in compliance with D-PHY EPD Option2.

[0161] Also, in this modified example, whether to transfer data of one frame or data of multiple frames in one I3C IBI can be selected by defining it in a register. For example, when the definition of either a mode of transferring data of one frame or a mode of transferring data of multiple frames in one I3C IBI is described in the register, the slave 200b can transfer frame data in the mode described in the register. Further, for example, when the definition of a mode of transferring data of multiple frames is described in the register and the definition of the number of frames that can be transferred in one I3C IBI is described, the slave 200b can transfer in one I3C IBI by the number of frames defined in the register. That is, the slave 200b determines whether to transfer data of one frame or data of multiple frames in one I3C IBI according to the definition of the mode described in the register. Further, the slave 200b transfers in one I3C IBI by the number of frames defined in the register according to the definition of the number of frames described in the register.

[0162] Also, in this modified example, the slave 200b may end data transfer in IBI by issuing P (Stop Condition) for every one or more lines or for every one or more frames. At this time, the definition of the method of ending IBI may be described in the register. In this case, the slave 200b ends IBI according to the definition of the method of ending IBI described in the register.

[0163] For example, issuing a P (Stop Condition) for every line may be written in the register as a method of terminating an IBI. Also, for example, issuing a P (Stop Condition) for every n frames may be written in the register as a method of terminating an IBI. Also, for example, if the definition of the method of terminating an IBI is not written in the register, the slave 200b may not issue a P (Stop Condition) and may continue the transfer until the master 100b aborts.

[0164] In addition, in this modification, when the master 100b detects a CRC error or an error due to ECC, the master 100b transmits, for example, a T bit (Te command) as a transfer end command to the slave 200b, thereby causing the slave 200b to stop data transfer by IBI-SDR. In other words, when the slave 200b receives a transfer end command resulting from the detection of a CRC error or an error due to ECC from the master 100b, the slave 200b stops transmitting data to the master 100b.

[0165] [Variation I] In the above modification H, for example, as shown in FIG. 48, a CRC may be provided for the header of the IBI (DA / R, HD0, HD1, etc.). This allows the master 100b to detect a CRC error for the header of the IBI when an error is included in the header of the IBI. When the master 100b detects a CRC error for the header of the IBI, it is possible to detect an error included in the transfer data more quickly than when a CRC error or an error due to ECC is detected at a stage subsequent to the header of the IBI. As a result, it is possible to quickly eliminate the occupation of the bus by the transfer data including an error, and it is possible to quickly start another data transfer.

[0166] FIG. 49 shows a configuration example of the image sensor 200 when the CRC generation unit 340 that generates the CRC for the IBI header is provided in the image sensor 200. The image sensor 200 according to this modification example further includes, for example, as shown in FIG. 49, a register 330, a CRC generation unit 340, and an insertion selector unit 350.

[0167] The register 330 describes a definition of whether to add the CRC for the IBI header to the image data 320A. When the definition of adding the CRC for the IBI header to the image data 320A is described in the register 330, the CRC generation unit 340 detects the IBI header included in the image data 320A output from the insertion selector unit 320, and generates the CRC for the detected IBI header. The insertion selector unit 350 generates the image data 350A by inserting the CRC for the IBI header between the IBI header and the subsequent ShortPacket in the image data 320A output from the insertion selector unit 320. The insertion selector unit 350 outputs the generated image data 350A to the slave 200b.

[0168] In this modification example, a register 330 is provided in which a definition of whether to add the CRC for the IBI header to the image data 320A is described. As a result, when the definition of adding the CRC for the IBI header to the image data 320A is described in the register 330, the CRC for the IBI header included in the image data 320A is inserted between the IBI header and the subsequent ShortPacket in the image data 320A. As a result, it is possible to quickly eliminate the bus occupation by the transfer data including errors, and it becomes possible to start other data transfers earlier.

[0169] Note that the CRC for the header (DA / R, HD0, HD1, etc.) may be provided when it is other than IBI.

[0170] [Modification Example J] In the data transfer format in the above-described modification examples H and I, the structure of the ShortPacket / LongPacket of MIPI D-PHY may be replaced with the structure of SEP (Service Extention Packet) over CSI-2 ShortPacket / LongPacket for D-PHY.

[0171] The structure of the ShortPacket of MIPI D-PHY may be composed of, for example, as shown in FIG. 50, PacketHeader (PH), SEP, and CheckSum / CRC. At this time, the SEP may be composed of, for example, as shown in FIG. 50, Extended PacketHeader (ePH), PacketData, and Extended PacketFooter (ePF).

[0172] The structure of the LongPacket of MIPI D-PHY may be composed of, for example, as shown in FIG. 50, PacketHeader (PH), SEP, and CheckSum / CRC. At this time, the SEP may be composed of, for example, as shown in FIG. 50, Extended PacketHeader (ePH), PacketData, and Extended PacketFooter (ePF).

[0173] In this modified example, the image sensor 200 may have, for example, a selector section that selects either the structure of MIPI D-PHY's ShortPacket / LongPacket (the first structure) or the structure of SEP (Service Extention Packet) over CSI-2 ShortPacket / LongPacket for D-PHY (the second structure) at the subsequent stage of the transmitter 200a. At this time, the image sensor 200 may have a register in which the definition of which of the first structure and the second structure is to be selected is described. For example, when the definition of the second structure is described in the register, this selector section may perform a process of replacing the first structure with the second structure in the image data 230A obtained from the transmitter 200a.

[0174] [Modified Example K] In the above-described modified example H, the image sensor 200 may further include, for example, as shown in FIG. 51, a Filler generation section 360 and a selector section 370.

[0175] The Filler generation section 360 is configured to include a register in which the definition of the Filler is described. The Filler is dummy data defined as 0x00. The Spacer generation section 310 outputs Spacer data 310A (0xFF) to the selector section 370. The Filler generation section 360 outputs Filler data 360A (0x00) to the selector section 370. Either the Spacer data 310A output from the Spacer generation section 310 or the Filler data 360A output from the Filler generation section 360 is used as data during the LPS period when there is no data output in the mipiLINK data processing section 230 in the insertion selector section 320. The selector section 370 selects either the Spacer data 310A (0xFF) output from the Spacer generation section 310 or the Filler data 360A (0x00) output from the Filler generation section 360 and outputs it to the insertion selector section 320.

[0176] The insertion selector unit 320 generates the image data 320A by embedding either the Spacer data 310A or the Filler data 360A input from the selector unit 370 during the LPS period included in the transmitter 200a (mipiLINK data processing unit 230). That is, the insertion selector unit 320 makes the data during the LPS period either Spacer or Filler according to the definition selected by the selector unit 370. Thereby, for example, when the Filler data 360A is input to the insertion selector unit 320, the image sensor 200 can transfer the data during all or part of the LPS period, filled with the Filler of D-PHY EPD Option 2 in units of multiple lines or data in units of one or more frames, to the master 100b by utilizing the IBI function of I3C without using the frame buffer, as described in the upper part of FIG. 52, FIGS. 53, 54, and 55.

[0177] In addition, in the processor 100 (master 100b) according to this modification example, a Filler detection unit is provided instead of the Spacer detection unit 440. The Filler detection unit detects the position of the Filler (for example, the Filler start position, the Filler end position) included in the image data 320A based on the word count WC. The Filler detection unit determines the position of the Filler by the value of the Filler (0x00). The Filler detection unit outputs the detected Filler start position to the image data generation unit 450 and outputs the detected Filler end position to the PH detection unit 420. When the image data 320A includes data of a plurality of frames, the PH detection unit 420 detects the packet header PH of each frame based on the Filler end position input from the Filler detection unit. The image data generation unit 450 extracts the LongPacket included in the data input from the depack unit 430 based on the Filler start position and generates the image data 450B from the extracted LongPacket. That is, the image data generation unit 450 restores the original image data 230A from the extracted LongPacket.

[0178] In this modified example, Filler (dummy data defined as 0x00) can be embedded as the data during the LPS period included in the mipiLINK data processing unit 230. As a result, the MIPI D-PHY data can be transferred to the master 100b by utilizing the IBI function of I3C in units of multiple lines or one or more frames. Consequently, an increase in the CPU load and an increase in the circuit scale can be suppressed.

[0179] In this modified example, the original image data 230A is restored by extracting the LongPacket from the image data 320A acquired from the image sensor 200. Thus, in this modified example, the image data 230A can be transferred to the master 100b by utilizing the IBI function of I3C.

[0180] By the way, in this modified example, the word count WC is 16 bits in accordance with the D-PHY structure, and the word count extension is not defined. Also, in this modified example, the length of the Filler that can be embedded is variable in 8-bit units in compliance with D-PHY EPD Option2.

[0181] [Modified Example L] In the above-mentioned modified example K, for example, as shown in FIG. 48, a CRC for the IBI header (such as DA / R, HD0, HD1, etc.) may be provided. Thereby, when the IBI header contains an error, the master 100b can detect a CRC error for the IBI header. When the master 100b detects a CRC error for the IBI header, it can detect the error included in the transfer data more quickly compared to the case of detecting an error by CRC or ECC at a stage subsequent to the IBI header. As a result, the occupation of the bus by the transfer data containing an error can be eliminated early, and other data transfers can be started early.

[0182] FIG. 56 shows a configuration example of the image sensor 200 when the CRC generation unit 340 that generates the CRC for the IBI header is provided in the image sensor 200. The image sensor 200 according to this modification example further includes, for example, as shown in FIG. 56, a register 330, a CRC generation unit 340, and an insertion selector unit 350.

[0183] The register 330 describes a definition of whether to add the CRC for the IBI header to the image data 320A. When the definition of adding the CRC for the IBI header to the image data 320A is described in the register 330, the CRC generation unit 340 detects the IBI header included in the image data 320A output from the insertion selector unit 320 and generates the CRC for the detected IBI header. The insertion selector unit 350 generates the image data 350A by inserting the CRC for the IBI header between the IBI header and the subsequent ShortPacket in the image data 320A output from the insertion selector unit 320. The insertion selector unit 350 outputs the generated image data 350A to the slave 200b.

[0184] In this modification example, a register 330 in which a definition of whether to add the CRC for the IBI header to the image data 320A is described is provided. As a result, when the definition of adding the CRC for the IBI header to the image data 320A is described in the register 330, the CRC for the IBI header included in the image data 320A is inserted between the IBI header and the subsequent ShortPacket in the image data 320A. As a result, it is possible to quickly eliminate the bus occupation by the transfer data including errors and start other data transfers earlier.

[0185] Note that the CRC for the header (DA / R, HD0, HD1, etc.) may be provided when it is other than IBI.

[0186] [Modification Example M] In the data transfer format in the above-described modification examples K and L, the structure of the ShortPacket / LongPacket of MIPI D-PHY may be replaced with the structure of the SEP over CSI-2 ShortPacket / LongPacket for D-PHY.

[0187] The structure of the ShortPacket of MIPI D-PHY may be composed of, for example, as shown in FIG. 57, PacketHeader (PH), SEP, and CheckSum / CRC. At this time, the SEP may be composed of, for example, as shown in FIG. 57, Extended PacketHeader (ePH), PacketData, and Extended PacketFooter (ePF).

[0188] The structure of the LongPacket of MIPI D-PHY may be composed of, for example, as shown in FIG. 57, PacketHeader (PH), SEP, and CheckSum / CRC. At this time, the SEP may be composed of, for example, as shown in FIG. 57, Extended PacketHeader (ePH), PacketData, and Extended PacketFooter (ePF).

[0189] In this modification example, the image sensor 200 may have, for example, a selector unit that selects either the structure of the ShortPacket / LongPacket of MIPI D-PHY (the first structure) or the structure of the SEP (Service Extention Packet) over CSI-2 ShortPacket / LongPacket for D-PHY (the second structure) at the subsequent stage of the transmitter 200a. At this time, the image sensor 200 may have a register in which the definition of which of the first structure and the second structure is to be selected is described. For example, when the definition of the second structure is described in the register, this selector unit may perform a process of replacing the first structure with the second structure in the image data 230A obtained from the transmitter 200a.

[0190] The present disclosure has been described above by way of embodiments and their modifications. However, the present disclosure is not limited to the above-described embodiments and the like, and various modifications are possible. Note that the effects described in this specification are merely examples. The effects of the present disclosure are not limited to the effects described in this specification. The present disclosure may have effects other than those described in this specification.

[0191] According to the transmission device and the communication system according to one aspect of the present disclosure, since the interrupt request includes at least an identification bit for identifying the type of transmission data, an information bit about the transmission data, and the transmission data, data transmission according to the type of data can be performed.

[0192] According to the receiving device according to one aspect of the present disclosure, after receiving an interrupt request (DA / R) from the transmitting device via the control data bus, an ACK or NACK is transmitted to the transmitting device according to the reception result of the IBI request (DA / R) via the control data bus. Therefore, data transmission according to the type of data can be performed.

[0193] Also, for example, the present disclosure can take the following configuration. (1) A transmitting device that communicates with a receiving device via a control data bus, a generating unit that generates an interrupt (IBI; In-Band Interrupt) request, a transmitting unit that transmits data to the receiving device via the control data bus and the interrupt request includes at least an identification bit for identifying the type of transmission data, an information bit about the transmission data, and the transmission data Transmitting device. (2) The information bit includes bits about the data type, word count length, and word count of the transmission data The transmitting device according to (1). (3) The generation unit changes the type of the transmission data by changing the identification bit. The transmission device according to (1) or (2). (4) The transmission unit issues the IBI request in SDR (Standard Data Rate) mode. The transmission device according to any one of (1) to (3). (5) The transmission device communicates with the receiving device via the control data bus according to the communication standard of I3C (Improved Inter Integrated Circuit). The interrupt request includes at least an MDB (Mandatory Data Byte) including the identification bit, a header including the information bit, and the transmission data. The transmission unit transmits the transmission data to the receiving device via the control data bus by issuing the IBI request. The transmission device according to (4). (6) The transmission device communicates with the receiving device via the control data bus according to the communication standard of I3C (Improved Inter Integrated Circuit). The interrupt request includes at least an MDB (Mandatory Data Byte) including the identification bit, a header including the information bit and a change bit for changing the type of the transmission data, and includes, as the transmission data, transmission data of a type corresponding to the change bit. The transmission unit transmits the transmission data of the type corresponding to the change bit to the receiving device via the control data bus by issuing the IBI request. The transmission device according to (4). (7) When the generation unit excludes the change bit from the header, the generation unit includes the transmission data of the type corresponding to the identification bit in the IBI request. The transmission device according to (6). (8) The apparatus further includes a register that describes various definitions regarding the transmission of the transmission data. The transmission unit dynamically changes the transmission of the transmission data according to the definition described in the register. The transmission device according to (5). (9) Based on the data format of the transmission data, the generation unit embeds dummy data in part or all of the periods corresponding to the low power consumption periods of the data format. The transmission device according to any one of (1) to (8). (10) When the data format is MIPI D-PHY, the generation unit uses the dummy data as Spacer or Filler of D-PHY EPD Option 2. The transmission device according to (9). (11) The apparatus further includes a register that describes the definition of either the Spacer or the Filler. Based on the definition described in the register, the generation unit makes the data during the LPS period either the Spacer or the Filler. The transmission device according to (10). (12) The Spacer and the Filler comply with D-PHY EPD Option 2 and have a variable length in 8-bit units. The transmission device according to (10). (13) When the transmission unit receives a transfer end command from the receiving device due to detecting an error by CRC error or ECC, the transmission unit stops transmitting the data to the receiving device. The transmission device according to any one of (1) to (12). (14) The transmission device communicates with the receiving device via the control data bus according to the communication standard of I3C (Improved Inter Integrated Circuit). The transmitting device further includes a register in which a definition of either a mode of transferring one-frame data in one I3C IBI or a mode of transferring multiple-frame data is described. The generating unit determines whether to transfer one-frame data or multiple-frame data in one I3C IBI according to the definition described in the register. The transmitting device according to any one of (1) to (13). (15) The register further describes a definition of the number of frames that can be transferred in one I3C IBI. The generating unit performs transfer in one I3C IBI by the number of frames defined in the register according to the definition described in the register. The transmitting device according to (14). (16) The transmitting unit ends data transfer in IBI by issuing P (Stop Condition) for each one or more lines or for each one or more frames. The transmitting device according to any one of (1) to (15). (17) The generating unit generates a CRC (Cyclic Redundancy Check) for the IBI header. and adds it to the data to be transmitted to the receiving device. The transmitting device according to any one of (1) to (16). (18) The transmitting device further includes a register in which a definition of which of the first structure, which is the MIPI D-PHY ShortPacket / LongPacket structure, and the second structure, which is the SEP (Service Extention Packet) over CSI-2 ShortPacket / LongPacket for D-PHY structure, is to be selected is described. The generating unit determines the structure of the data to be transmitted to the receiving device according to the definition described in the register. The transmitting device according to any one of (1) to (17). (19) A receiving device that communicates with a transmitting device via a control data bus, a receiving unit that receives an in-band interrupt (IBI) request (DA / R) from the transmitting device via the control data bus, a transmitting unit that transmits an ACK or NACK to the transmitting device via the control data bus according to a reception result of the IBI request (DA / R), and a receiving device. (20) The receiving unit receives data including at least an identification bit that identifies a type of transmission data, an information bit about the transmission data, and the transmission data, which are transmitted from the transmitting device via the control data bus in response to an ACK transmission from the transmitting unit to the transmitting device. The receiving device according to (19). (21) A control data bus, a transmitting device and a receiving device that communicate via the control data bus according to an I3C (Improved Inter Integrated Circuit) communication standard, and the transmitting device includes a generation unit that generates an in-band interrupt (IBI) request, a transmitting unit that transmits data to the receiving device via the control data bus, and the interrupt request includes at least an identification bit that identifies a type of transmission data, an information bit about the transmission data, and the transmission data. A communication system.

[0194] This application claims priority based on Japanese Patent Application No. 2020-022847 filed on February 13, 2020 and Japanese Patent Application No. 2020-178104 filed on October 23, 2020 with the Japan Patent Office, and incorporates the entire contents of this application by reference.

[0195] Those skilled in the art will be able to conceive of various modifications, combinations, sub-combinations, and changes according to design requirements and other factors, and it is understood that they are included within the scope of the appended claims and their equivalents.

Claims

1. A transmitting device that communicates with a receiving device via a control data bus, comprising: a generating unit that generates an in-band interrupt (IBI) request; a transmitting unit that transmits data to the receiving device via the control data bus ; the interrupt request includes at least an identification bit for identifying the type of transmission data, an information bit about the transmission data, and the transmission data; the information bit includes bits about the data type, word count length, and word count of the transmission data Transmitting device.

2. A transmitting device that communicates with a receiving device via a control data bus, comprising: a generating unit that generates an in-band interrupt (IBI) request; a transmitting unit that transmits data to the receiving device via the control data bus ; the interrupt request includes at least an identification bit for identifying the type of transmission data, an information bit about the transmission data, and the transmission data; the generating unit embeds dummy data in part or all of the low power consumption period of the data format based on the data format of the transmission data; when the data format is MIPI D-PHY, the generating unit uses the dummy data as the Spacer or Filler of D-PHY EPD Option 2 Transmitting device.

3. A transmitting device that communicates with a receiving device via a control data bus, comprising: a generating unit that generates an in-band interrupt (IBI) request; a transmitting unit that transmits data to the receiving device via the control data bus; a register in which a definition of which of a first structure that is a ShortPacket / LongPacket structure of MIPI D-PHY and a second structure that is a ShortPacket / LongPacket for D-PHY of Service Extension Packet over CSI-2 is to be selected is described ; the interrupt request includes at least an identification bit for identifying the type of transmission data, an information bit about the transmission data, and the transmission data; the generating unit determines the structure of the data to be transmitted to the receiving device according to the definition described in the register Transmitting device.

4. The generation unit changes the type of the transmission data by changing the identification bit. The transmission device according to any one of claims 1 to 3.

5. The transmission unit issues the interrupt request in SDR (Standard Data Rate) mode. The transmission device according to any one of claims 1 to 3.

6. The transmission device communicates with the receiving device via the control data bus according to the I3C (Improved Inter Integrated Circuit) communication standard. The interrupt request includes at least an MDB (Mandatory Data Byte) including the identification bit, a header including the information bit, and the transmission data. The transmission unit transmits the transmission data to the receiving device via the control data bus by issuing the IBI request. The transmission device according to claim 5.

7. The transmission device communicates with the receiving device via the control data bus according to the I3C (Improved Inter Integrated Circuit) communication standard. The interrupt request includes at least an MDB (Mandatory Data Byte) including the identification bit, a header including the information bit and a change bit for changing the type of the transmission data, and includes, as the transmission data, transmission data of a type corresponding to the change bit. The transmission unit transmits, via the control data bus, transmission data of a type corresponding to the change bit to the receiving device by issuing the IBI request. The transmission device according to claim 5.

8. When the generation unit excludes the change bit from the header, the generation unit includes the transmission data of the type corresponding to the identification bit in the IBI request. The transmission device according to claim 7.

9. The transmission device further includes a register in which various definitions regarding the transmission of the transmission data are described. The transmission unit dynamically changes the transmission of the transmission data according to the definition described in the register. The transmission device according to claim 6.

10. The transmission device further includes a register in which any definition of the Spacer and the Filler is described. The generation unit makes the data during the LPS (Low Power State) period be either the Spacer or the Filler according to the definition described in the register. The transmission device according to claim 2.

11. The Spacer and the Filler comply with D-PHY EPD Option 2 and have a variable length in 8-bit units. The transmission device according to claim 2.

12. When the transmission unit receives a transfer end command from the reception device due to detecting an error by CRC error or ECC, the transmission of the data to the reception device is aborted. The transmission device according to any one of claims 1 to 3.

13. The transmission device communicates with the reception device via the control data bus according to the communication standard of I3C (Improved Inter Integrated Circuit). The transmission device further includes a register in which the definition of either a mode of transferring one frame of data in one IBI of I3C or a mode of transferring a plurality of frames of data is described. The generation unit determines whether to transfer one frame of data in one IBI of I3C or transfer a plurality of frames of data according to the definition described in the register. The transmission device according to any one of claims 1 to 3.

14. The register further describes the definition of the number of frames that can be transferred in one IBI of I3C. The generation unit performs transfer in one IBI of I3C by the number of frames defined in the register according to the definition described in the register. The transmission device according to claim 13.

15. The transmission unit ends the data transfer in IBI by issuing P (Stop Condition) for each one or more lines or for each one or more frames. The transmission device according to any one of claims 1 to 3.

16. The generation unit generates a CRC (Cyclic Redundancy Check) for the header of IBI and adds it to the data to be transmitted to the reception device. The transmission device according to any one of claims 1 to 3.

Citation Information

Patent Citations

  • Data transfer method

    JP1992369756A

  • Computer system

    JP1998293754A

  • Bus control apparatus, data transfer system, and bus control method

    JP2016018319A

  • Image forming apparatus

    JP2019153203A

  • Bus Based Communications Between A Processor And A Peripheral Controller In A Digital Processing System

    US20100131681A1