WO2024048263A1 - 通信装置、通信方法、およびプログラム - Google Patents
通信装置、通信方法、およびプログラム Download PDFInfo
- Publication number
- WO2024048263A1 WO2024048263A1 PCT/JP2023/029486 JP2023029486W WO2024048263A1 WO 2024048263 A1 WO2024048263 A1 WO 2024048263A1 JP 2023029486 W JP2023029486 W JP 2023029486W WO 2024048263 A1 WO2024048263 A1 WO 2024048263A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- communication
- period
- data
- communication device
- abnormality
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0016—Inter-integrated circuit (I2C)
Definitions
- the present technology relates to a communication device, a communication method, and a program, and particularly relates to a communication device, a communication method, and a program that can detect an abnormality in data in a signal portion of a predetermined pattern of serial communication.
- I2C Inter-Integrated Circuit
- SDA serial data line
- SCL serial clock line
- serial communications such as I2C communications.
- I2C communications For example, it is required to be able to detect abnormalities when data is tampered with by an external attack.
- the start position and end position of serial communication data transmission are each represented by a combination of predetermined patterns of High/Low signals flowing through a plurality of signal lines. Data to be transmitted is arranged between a signal portion of the pattern indicating the start position of data transmission and a signal portion of the pattern indicating the end position of data transmission. If an attack is performed on the signal portion of such a predetermined pattern generated by the master, the communication will be different from the intended one.
- CRC Cyclic Redundancy Code
- MAC Message Authentication Code
- the present technology was developed in view of this situation, and is intended to make it possible to detect abnormalities in data in a signal portion of a predetermined pattern of serial communication.
- a communication device includes a communication unit that performs I2C communication with an external communication device that serves as a master, and a communication unit configured for a low period of a clock signal after completion of transmission of a response signal following data.
- a detection unit that detects an abnormality in a condition portion generated by the external communication device based on at least one of a first time constraint and a second time constraint set for the High period; Equipped with.
- a communication device includes a communication unit that performs I2C communication with an external communication device that is a slave, and a communication unit that is used in the external device to detect an abnormality in a condition part generated by the communication unit. , a parameter indicating at least one of the first time constraint for the low period of the clock signal and the second time constraint for the high period after the completion of transmission of the response signal following the data, is set in the I2C communication. and a control unit that transmits data to the external device using the external device.
- I2C communication is performed with an external communication device serving as a master, and a first time set for a low period of a clock signal after completion of transmission of a response signal following data.
- An abnormality in the condition portion generated by the external communication device is detected based on at least one of the physical constraint and the second time constraint set for the High period.
- I2C communication is performed with an external communication device that is a slave, and a response signal following data is used in the external device to detect an abnormality in a condition part generated by the communication unit.
- a parameter indicating at least one of the first time constraint for the low period of the clock signal and the second time constraint for the high period after the completion of transmission of the clock signal is transmitted to an external device using I2C communication. sent to.
- FIG. 1 is a diagram illustrating a configuration example of a communication system according to an embodiment of the present technology.
- FIG. 3 is a diagram illustrating an example of transmitting error information.
- FIG. 3 is a diagram showing an example of data transmission using I2C communication. It is a figure which shows the example of Start Condition, Stop Condition, and Repeated Start Condition.
- FIG. 3 is a diagram showing an example of ACK and NACK.
- FIG. 3 is a diagram illustrating an example of a constraint period.
- 7 is a diagram showing an enlarged view of the range indicated by arrow #1 in FIG. 6.
- FIG. 7 is a diagram showing an enlarged view of the range indicated by arrow #2 in FIG. 6.
- FIG. FIG. 7 is a diagram showing a specific example of the length of each period in Standard-mode.
- FIG. 3 is a diagram illustrating an example of transmitting error information.
- FIG. 3 is a diagram showing an example of data transmission using I2C communication. It is a figure which shows the
- FIG. 7 is a diagram showing a specific example of the length of each period in Fast-mode and Fast-mode Plus.
- FIG. 6 is a diagram showing the states of SCL and SDA when a Repeated Start Condition is generated and during data communication.
- 12 is a flowchart illustrating a series of attack detection processes for a Repeated Start Condition.
- 13 is a diagram showing an example of an abnormality detected by the process of FIG. 12.
- FIG. FIG. 3 is a diagram showing the states of SCL and SDA when a Stop Condition is generated and during data communication.
- 12 is a flowchart illustrating a series of attack detection processing for Stop Condition.
- 16 is a diagram showing an example of an abnormality detected by the process of FIG. 15.
- FIG. 3 is a diagram illustrating an example of an attack on I2C communication.
- FIG. 3 is a diagram showing an example of a MAC area.
- FIG. 3 is a diagram showing an example of data transmission using SPI communication.
- FIG. 3 is a diagram showing a timing chart of each signal of SPI communication. It is a figure showing an example of each period.
- FIG. 2 is a block diagram showing a detailed configuration example of an image sensor.
- FIG. 3 is a diagram showing an example of data transmission using SLVS-EC.
- FIG. 3 is a diagram showing an example of a format used for SLVS-EC data transmission.
- Example of communication system configuration 2. About I2C communication 3. About SPI communication 4. Configuration of image sensor 5. About high-speed communication IF 6. Variant
- FIG. 1 is a diagram illustrating a configuration example of a communication system according to an embodiment of the present technology.
- the communication system in FIG. 1 is configured by connecting an image sensor 1 and a host processor 2.
- a plurality of image sensors may be connected to one host processor 2.
- the image sensor 1 and the host processor 2 may be installed in a device with the same housing, such as a camera or a smartphone, or may be installed in devices with different housings.
- the image sensor 1 and the host processor 2 are connected by a register communication IF as shown by the broken line arrow in FIG.
- the register communication IF is a communication IF that uses registers, such as I2C (Inter Integrated Circuit) and SPI (Serial Peripheral Interface).
- the image sensor 1 and the host processor 2 are connected by a high-speed communication IF as shown by the solid arrow in FIG.
- the high-speed communication IF is a high-speed communication IF of a predetermined standard, such as MIPI (Mobile Industry Processor Interface), SLVS-EC (Scalable Low Voltage Signaling-Embedded Clock), and SLVS (Scalable Low Voltage Signaling).
- the image sensor 1 is a sensor such as a CIS (CMOS image sensor). As shown in FIG. 1, the image sensor 1 includes, in addition to a sensor section composed of a plurality of pixels arrayed, an upper layer data processing section 11, a register communication IF section 12, an image data processing section 13, and a high-speed A communication IF section 14 is provided.
- CMOS image sensor CMOS image sensor
- the upper layer data processing unit 11 performs upper layer processing of register communication performed in the register communication IF unit 12.
- the upper layer data processing unit 11 acquires information transmitted from the host processor 2 through register communication, and outputs the acquired information to the image data processing unit 13.
- the upper layer data processing unit 11 stores information to be transmitted in a register, and causes the information to be transmitted to the host processor 2 through register communication.
- the upper layer data processing unit 11 detects an abnormality when an attack such as tampering is performed on register communication.
- the image sensor 1 is provided with a function of detecting an abnormality in register communication. If an abnormality in register communication is detected, information indicating this is transmitted to the host processor 2.
- the register communication IF unit 12 performs register communication with the host processor 2, which is communication using the register communication IF. Through register communication performed with the host processor 2, operating modes related to photography, such as exposure time, gain, resolution, and frame rate, are set.
- the image data processing unit 13 acquires image data of each frame output by the sensor unit, and performs various processes on the acquired image data.
- security processing such as encryption is performed on the image data as appropriate.
- the high-speed communication IF section 14 transmits the image data processed by the image data processing section 13 to the Host processor 2 using the high-speed communication IF.
- the high-speed communication IF unit 14 adds error information indicating the fact to the image data and transmits it to the host processor 2.
- FIG. 2 is a diagram showing an example of transmitting error information.
- frame data in a predetermined format is generated for each frame of image data.
- Image data is transmitted from the image sensor 1 to the host processor 2 using frame data.
- error information is included in, for example, EBD (Embedded Data) of frame data, and is transmitted to the Host processor 2.
- EBD embedded Data
- the frame format shown in A of FIG. 2 is configured by placing an EBD on the line before one frame of image data. After the line where the EBD is placed, one frame of image data, which is data for multiple lines, is placed.
- the Frame Start line is a data line in which a value of 1 is set in Frame Start of the packet header.
- the Frame End line is a data line in which a value of 1 is set in Frame End of the packet header.
- the packet header is shown as "PH” and the packet footer is shown as "PF”. Details of the frame format used for data transmission in the high-speed communication IF will be described later.
- error information may be transmitted using a dedicated signal line connecting between the image sensor 1 and the host processor 2, as shown in FIG. 2B.
- dedicated terminals used for transmitting and receiving error information are provided in each of the image sensor 1 and the host processor 2.
- the host processor 2 that functions as a host (master) for register communication is provided with a register communication IF section 21, a high-speed communication IF section 22, and a CPU (Central Processing Unit) 23.
- a register communication IF section 21 a register communication IF section 21, a high-speed communication IF section 22, and a CPU (Central Processing Unit) 23.
- CPU Central Processing Unit
- the register communication IF unit 21 of the host processor 2 performs register communication with the image sensor 1.
- the register communication IF section 21 transmits data to the image sensor 1 by transmitting a write command to the image sensor 1 and causing the data to be written in a register provided in the image sensor 1. Further, the register communication IF unit 21 receives data transmitted from the image sensor 1 by transmitting a read command to the image sensor 1 and reading data stored in the register.
- the high-speed communication IF section 22 receives frame data transmitted using the high-speed communication IF. Image data included in the frame data received by the high-speed communication IF section 22 is output to the CPU 23.
- the CPU 23 processes image data transmitted from the image sensor 1 and received by the high-speed communication IF unit 22. In the CPU 23, security processing such as decryption of encrypted image data is performed. Further, when error information is transmitted from the image sensor 1, the CPU 23 performs error processing such as stopping register communication and outputting a warning.
- the control unit that controls the operation of the host processor 2 may be implemented not by the CPU but by an FPGA (Field Programmable Gate Array).
- the image sensor 1 and the host processor 2 are connected by two communication IFs: the high-speed communication IF and the register communication IF.
- the image sensor 1 and the host processor 2 have a function as a communication device.
- a high-speed communication IF is used to send and receive data with a large amount of data such as image data
- a register communication IF is used to send and receive data with a small amount of data such as information related to operating mode settings.
- I2C communication which is register communication performed in the communication system of FIG. 1, will be explained.
- FIG. 3 is a diagram showing an example of data transmission using I2C communication.
- I2C communication is performed using two signal lines: a serial data line (SDA) and a serial clock line (SCL).
- SDA serial data line
- SCL serial clock line
- the upper part of FIG. 3 shows the SDA signal, and the lower part shows the SCL signal.
- condition section (communication protocol section) is generated by the register communication IF section 21 of the Host processor 2 which becomes the master of I2C communication.
- the Start Condition is defined by SDA changing from High to Low during the High period of SCL.
- Stop Condition is defined by SDA changing from Low to High during the High period of SCL.
- Repeated Start Condition has the same function as Start Condition.
- Start Condition The Start Condition, Stop Condition, and Repeated Start Condition are shown in A to C in FIG. 4. As shown in C of FIG. 4, a Repeated Start Condition is configured by the Start Condition before the Stop Condition after the Start Condition is generated.
- the slave address is sent.
- the address of the image sensor 1 is transmitted as the slave address.
- the slave address is represented by 7 bits.
- an R/W bit indicating data read/write is transmitted. When the R/W bit is "0", it represents writing data, and when it is "1", it represents reading data.
- ACK acknowledge
- NACK a not acknowledge (NACK), which is a negative response signal indicating that data reception has failed, is transmitted as appropriate.
- NACK is defined by a combination of SCL high and SDA high, as shown in FIG. 5B.
- ⁇ Restrictions for detecting attacks on condition part> - Restriction period In the I2C communication of the communication system of FIG. 1, high/low restrictions are set for each of SCL and SDA for a predetermined period after the completion of transmission of ACK/NACK following 8-bit data. If the High/Low of SCL and SDA in the constraint period, which is the period in which the constraint is set, shows a value different from the constraint, the Host processor 2 detects that an attack such as tampering has been performed on the condition part. be done. Attacks such as tampering are detected as I2C communication abnormalities.
- the host processor 2 is provided with a counter that counts the high/low periods of SCL and SDA during the constraint period after the completion of ACK/NACK transmission. In the host processor 2, it is determined whether or not a constraint is violated based on the counter value.
- FIG. 6 is a diagram showing an example of the constraint period.
- the period indicated by arrow #1 in FIG. 6 is a constraint period for detecting an attack against the Repeated Start Condition.
- the period indicated by arrow #2 is a constraint period for detecting attacks against Stop Condition.
- Arrows #1-1 and #2-1 indicate the SCL Low period before condition generation after completion of transmission of ACK/NACK following 8-bit data. Further, arrows #1-2 and #2-2 indicate the high period of SCL at the time of condition generation after completion of transmission of ACK/NACK following 8-bit data. Constraints are set for each of the SCL Low periods indicated by arrows #1-1 and #2-1 and the SCL High periods indicated by arrows #1-2 and #2-2.
- FIG. 7 is an enlarged view of the range indicated by arrow #1 in FIG. 6.
- the period t HIGH_1 is set as a period longer than the sum of the period t SU;STA , which is the setup period of the Repeated Start Condition, and the period t HD;STA , which is the hold period.
- FIG. 8 is an enlarged view of the range indicated by arrow #2 in FIG. 6.
- the period t HIGH_2 is set as a period longer than the sum of the period t SU;STO , which is the setup period of the Stop Condition, and the period t BUF , which is the bus free period between the Stop Condition and the Start Condition.
- I2C communication transmission modes include Standard-mode, Fast-mode, and Fast-mode Plus.
- the minimum value of the period t LOW_1 in FIG. 7 is expressed as 4.7 ⁇ s, which is the same as the time of the period t LOW .
- the minimum values of the period t SU;STA and the period t HD;STA in FIG. 7 are expressed as 4.7 ⁇ s and 4.0 ⁇ s, respectively.
- the minimum value of the period t HIGH_1 is expressed as the sum of these 8.7 ⁇ s.
- the minimum value of the period t LOW_1 in FIG. 8 is also expressed as 4.7 ⁇ s, which is the same as the time of the period t LOW .
- the minimum values of the period t SU;STO and the period t BUF in FIG. 8 are expressed as 4.0 ⁇ s and 4.7 ⁇ s, respectively.
- the minimum value of the period t HIGH_2 is expressed as the sum of these 8.7 ⁇ s.
- FIG. 11 is a diagram showing the states of SCL and SDA when generating Repeated Start Conditions and during data communication.
- the upper part of FIG. 11 shows the period near ACK/NACK when the Repeated Start Condition is generated. Further, the lower part of FIG. 11 shows a period near ACK/NACK during data communication. As shown by the bidirectional arrows, the high and low periods of SCL and SDA after ACK/NACK detection following 8-bit data are counted. When an attack on ACK/NACK is detected, the high period of ACK/NACK itself is also counted.
- the SCL Low period (period t LOW ) after the completion of ACK/NACK transmission is the same period for the data section and the protocol section.
- the SCL High period after the completion of ACK/NACK transmission is set to be a different period for the data part and the protocol part, as shown below.
- High period of SCL during data communication t HIGH (+ ⁇ ) High period of SCL when generating Repeated Start Condition: t SU;STA + t HD;STA (+ ⁇ )
- the SCL High period during condition generation is set as a long period.
- the period t HIGH is a period that satisfies the following relationship compared with the period t SU;STA . t HIGH + ⁇ ⁇ t SU;STA
- the period ⁇ which is a margin period, is a period in which jitter is taken into consideration. 0 may be set as the period ⁇ . Furthermore, the period t SU;STA + t HD;STA is a sufficiently long period with respect to the period t HIGH .
- Each parameter used for the above determination may be defined as a standard, or may be set in a register of the image sensor 1.
- Each parameter of tLOW_1 , tHIGH , tSU ;STA , tHD ;STA is defined as a standard or set in a register.
- step S1 the image sensor 1 starts counting the high period of SCL from the rising edge of SCL in response to detecting ACK/NACK following 8-bit data.
- step S2 the image sensor 1 performs attack detection during the SCL High period.
- the processing in this step is for detecting attacks against ACK/NACK.
- step S2 it is determined whether the following conditions are satisfied.
- Condition 1 t HIGH - ⁇ ⁇ SCL High period ⁇ t HIGH + ⁇
- Condition 2 There is no change in SDA during the SCL High period
- step S3 If the two conditions are not met, an abnormality is detected as shown at the tip of arrow #11. If the two conditions are met, the process proceeds to step S3.
- step S3 the image sensor 1 starts counting the low period of SCL from the falling edge of SCL.
- step S4 the image sensor 1 performs attack detection during the SCL low period.
- the process of this step is a process for detecting an attack on the Low period after ACK/NACK transmission.
- step S4 it is determined whether the following conditions are met.
- Condition 1 t LOW_1 - ⁇ ⁇ SCL Low period ⁇ t LOW_1 + ⁇
- Condition 2 SDA changes less than once during the SCL low period
- step S5 If the two conditions are not met, an abnormality is detected as shown at the tip of arrow #12. If the two conditions are met, the process proceeds to step S5.
- step S5 the image sensor 1 starts counting the high period of SCL from the rising edge of SCL.
- step S6 the image sensor 1 performs attack detection during the SCL High period.
- the processing in this step is to detect an attack on the data itself if data communication is occurring, and to detect an attack on the Repeated Start Condition if a Repeated Start Condition has been generated. This will be the process.
- step S6 it is determined whether the following conditions are met.
- Condition 1 t HIGH - ⁇ ⁇ SCL High period ⁇ t HIGH + ⁇
- Condition 2 If t HIGH + ⁇ ⁇ SCL High period, t SU;STA + t HD;STA - ⁇ ⁇ SCL High period ⁇ t SU;STA + t HD;STA + ⁇ And a Repeated Start Condition is generated within a certain period (t SU; STA ⁇ ⁇ ) from the rise of SCL.
- step S6 determines whether attack is being performed during data communication. If it is determined in step S6 that condition 1 is satisfied, it is determined that no attack is being performed during data communication. After that, the process advances to step S7, and I2C communication is continued.
- step S6 If it is determined in step S6 that condition 2 is satisfied, it is determined that no attack is being performed when the Repeated Start Condition is generated. After that, the process advances to step S7, and I2C communication is continued.
- FIG. 13 is a diagram showing an example of an abnormality detected by the process of FIG. 12.
- a and B in FIG. 13 show an abnormality when the condition is not generated after the period t HIGH has elapsed.
- C in FIG. 13 shows an abnormality when the period t BUF has not elapsed after the generation of the Stop Condition, and D in FIG. 13 shows an abnormality when the period t LOW is long.
- E in FIG. 13 shows an abnormality when the high period of SCL after the completion of ACK/NACK transmission is long, and F in FIG. 13 shows an abnormality when the period t LOW is short.
- FIG. 14 is a diagram showing the states of SCL and SDA at the time of Stop Condition generation and data communication.
- the upper part of FIG. 14 shows the period near ACK/NACK when Stop Condition is generated. Further, the lower part of FIG. 14 shows a period near ACK/NACK during data communication. As shown by the bidirectional arrows, the high and low periods of SCL and SDA are counted after ACK/NACK detection following 8-bit data is detected.
- the SCL Low period (period t LOW ) after the completion of ACK/NACK transmission is the same period for the data section and the protocol section.
- the SCL High period after the completion of ACK/NACK transmission is set to be a different period for the data part and the protocol part, as shown below.
- High period of SCL during data communication t HIGH (+ ⁇ )
- High period of SCL when Stop Condition is generated t SU;STO + t BUF (+ ⁇ )
- the SCL High period during condition generation is set as a long period.
- the period t HIGH is a period that satisfies the following relationship compared to the period t SU;STO . t HIGH + ⁇ ⁇ t SU;STO
- the period ⁇ is a period in which jitter is taken into consideration. 0 may be set as the period ⁇ . Furthermore, the period t SU;STO + t BUF is a sufficiently long period with respect to the period t HIGH .
- Each parameter used in the above determination may be defined as a standard, or may be set in a register of the image sensor 1.
- the parameters tLOW_1 , tHIGH , tSU ;STO , and tBUF are defined as standards or set in registers.
- step S11 the image sensor 1 starts counting the high period of SCL from the rising edge of SCL in response to detecting ACK/NACK following 8-bit data.
- step S12 the image sensor 1 performs attack detection during the SCL High period.
- the processing in this step is for detecting attacks against ACK/NACK.
- step S12 it is determined whether the following conditions are met.
- Condition 1 t HIGH - ⁇ ⁇ SCL High period ⁇ t HIGH + ⁇
- Condition 2 SDA changes less than once during the SCL High period
- step S13 If the two conditions are not met, an abnormality is detected as shown at the tip of arrow #21. If the two conditions are met, the process proceeds to step S13.
- step S13 the image sensor 1 starts counting the low period of SCL from the falling edge of SCL.
- step S14 the image sensor 1 performs attack detection during the SCL low period.
- the process of this step is a process for detecting an attack on the Low period after ACK/NACK transmission.
- step S14 it is determined whether the following conditions are met.
- Condition 1 t LOW_1 - ⁇ ⁇ SCL Low period ⁇ t LOW_1 + ⁇
- Condition 2 SDA changes less than once during the SCL low period
- step S15 If the two conditions are not met, an abnormality is detected as shown at the tip of arrow #22. If the two conditions are met, the process proceeds to step S15.
- step S15 the image sensor 1 starts counting the high period of SCL from the rising edge of SCL.
- step S16 the image sensor 1 performs attack detection during the SCL High period.
- the processing in this step is a process to detect an attack on the data itself if data communication is occurring, and a process to detect an attack on the Stop Condition if a Stop Condition has been generated. becomes.
- step S6 it is determined whether the following conditions are met.
- Condition 1 t HIGH - ⁇ ⁇ SCL High period ⁇ t HIGH + ⁇
- Condition 2 If t HIGH + ⁇ ⁇ SCL High period, t SU;STO + t BUF - ⁇ ⁇ SCL High period and Stop Condition is generated within a certain period (t SU;STO ⁇ ⁇ ) from the rise of SCL
- 3 When Stop Condition is generated, within a certain period (t BUF - SCL and SDA do not transition to ⁇ )
- step S16 determines whether attack is being performed during data communication. If it is determined in step S16 that condition 1 is satisfied, it is determined that no attack is being performed during data communication. After that, the process advances to step S17, and I2C communication is continued.
- step S16 If it is determined in step S16 that conditions 2 and 3 are satisfied, it is determined that no attack is being performed when the Stop Condition is generated. After that, the process advances to step S17, and I2C communication is continued.
- FIG. 16 is a diagram showing an example of an abnormality detected by the process of FIG. 15.
- A, B, and C in FIG. 16 show an abnormality when a condition is not generated after the period t HIGH has elapsed.
- D and E in FIG. 16 show an abnormality when the period t LOW is long.
- F in FIG. 16 shows an abnormality when SCL and SDA change before the period t BUF elapses after the Stop Condition is generated.
- FIG. 17 is a diagram illustrating an example of an attack on I2C communication.
- the expected operation in the example of FIG. 17 is an operation in which a second burst transfer is performed following the first burst transfer.
- Stop Condition and Start Condition are transmitted between the first burst transfer and the second burst transfer.
- an address that specifies the destination of the data for the second burst transfer is sent.
- the image sensor that is the destination of the data from the first burst transfer processes the data following the Repeated Start Condition as a continuation of the data from the first burst transfer.
- FIG. 18 is a diagram showing an example of data subjected to such an attack.
- Each block in FIG. 18 shows 8 bits of data.
- the series of data after the attack is as shown in the figure.
- the state shown in the lower part of 18 is reached.
- address data is recognized as normal data.
- a MAC value is calculated for all blocks of data (MAC area) in FIG. 18, which is the data to be transmitted. Tampering with the data to be sent can be detected by security processing using the MAC value, but if the condition part is tampered with, it cannot be detected. .
- FIG. 19 is a diagram showing an example of data transmission using SPI communication.
- SPI communication is performed using four signal lines: an enable line (XCE), a clock line (SCK), a data input line (SDI), and a data output line (SDO).
- XCE enable line
- SCK clock line
- SDI data input line
- SDO data output line
- Data transmission via SPI communication is in an active state (data transmission state) when XCE is Low.
- a clock signal with a clock frequency f SCK is transmitted using SCK.
- the expected operation in the example of FIG. 19 is an operation in which a second burst transfer is performed following the first burst transfer.
- a period in which XCE is High is set between the first burst transfer and the second burst transfer. After XCE goes from High to Low, the second burst transfer starts, and information such as the Chip ID that specifies the destination of the data in the second burst transfer is transmitted.
- a constraint is set on the SCK interval (one cycle period) during the period when XCE is Low.
- FIG. 20 is a diagram showing a timing chart of each SPI signal.
- the period indicated by the bidirectional arrow #51 is the period tsck , which is one period of SCK during the period when XCE is Low. Constraints as shown in FIG. 21 are set for the period t sck .
- a constraint is set that the minimum value of the period t sck is 74 ns.
- the minimum value 74 of the period t sck is determined by 1000/13.5 (1/f sck ) ⁇ 74.
- a restriction is set that the maximum value of the period t sck is 94 ns.
- the maximum value 94 of the period t sck is determined by t sck min value/2+t HDXCE +t WHXCE +t SUXCE .
- the shortest period and longest period constraints are set for the period t sck , which is one period of SCK during the period when XCE is Low.
- the SCK High period during that period will be longer than the period set as a constraint. It is possible to detect an abnormality in XCE based on the fact that the SCK High period lasts longer than the constraint period.
- FIG. 22 is a block diagram showing a detailed configuration example of the image sensor 1. As shown in FIG. The same components as those described above are given the same reference numerals. Duplicate explanations will be omitted as appropriate.
- the image sensor 1 is provided with a sensor section 15 in addition to the above-described upper layer data processing section 11, register communication IF section 12, image data processing section 13, and high speed communication IF section 14.
- the upper layer data processing section 11 of the image sensor 1 is composed of an intra-CIS communication control section 51, a register 52, and a communication error detection section 53.
- the intra-CIS communication control unit 51 controls communication within the image sensor 1. For example, when the register communication IF unit 12 receives data sent from the host processor 2 along with a Write command, the intra-CIS communication control unit 51 stores the data sent from the host processor 2 in the register 52. Information indicating the operation mode regarding photographing, parameters defining the content of the above-mentioned constraints, etc. are stored in respective areas of the register 52.
- the intra-CIS communication control unit 51 reads the data stored in a predetermined area of the register 52, and reads the data stored in the register communication IF unit 12. 12.
- the intra-CIS communication control unit 51 outputs I2C communication control signals (SDA, SCL) to the communication error detection unit 53.
- the I2C communication control signal is supplied to the I2C error detection section 61 of the communication error detection section 53.
- the intra-CIS communication control unit 51 outputs SPI communication control signals (XCE, SCK) to the communication error detection unit 53.
- the SPI communication control signal is supplied to the SPI error detection section 62 of the communication error detection section 53.
- the register 52 stores data supplied from the intra-CIS communication control unit 51.
- An area for information indicating ON/OFF of the function for detecting attacks against the above-mentioned condition portion may be secured in the register 52.
- the data stored in each area of the register 52 is supplied to each section. For example, information indicating an operation mode regarding photography is supplied to the image data processing section 13.
- I2C constraint parameters which are parameters that define the content of I2C communication constraints
- SPI constraint parameters which are parameters that define the content of SPI communication constraints
- the communication error detection unit 53 detects errors (abnormalities) in register communication.
- the communication error detection section 53 is provided with an I2C error detection section 61 and an SPI error detection section 62.
- the I2C error detection unit 61 that detects an abnormality in I2C communication is composed of an SCL counter 61A and a constraint violation detection unit 61B.
- the SCL counter 61A When ACK/NACK is detected, the SCL counter 61A starts counting the High/Low period of SCL and SDA. The count value by the SCL counter 61A is supplied to the constraint violation detection section 61B.
- the counting process in step S1 and the processes in steps S3 and S5 in FIG. 12 are processes performed by the SCL counter 61A. Further, the counting process in step S11 in FIG. 15 and the processes in steps S13 and S15 are also performed by the SCL counter 61A.
- the constraint violation detection unit 61B detects ACK/NACK based on the control signal supplied from the intra-CIS communication control unit 51. If ACK/NACK is detected, information indicating this is supplied to the SCL counter 61A.
- the constraint violation detection unit 61B determines whether or not the constraint set for the constraint period is satisfied based on the count value supplied from the SCL counter 61A. If an abnormality is detected because a constraint is not satisfied, the constraint violation detection unit 61B outputs error information indicating this fact. If the error information output from the constraint violation detection unit 61B is transmitted to the host processor 2 using a dedicated signal line, it is supplied to the dedicated terminal 54 and transmitted using the high-speed communication IF. In this case, the signal is supplied to the high-speed communication IF section 14.
- the ACK/NACK detection process in step S1 in FIG. 12 and the processes in steps S2, S4, and S6 are performed by the constraint violation detection unit 61B. Further, the ACK/NACK detection process in step S11 in FIG. 15 and the processes in steps S12, S14, and S16 are also performed by the constraint violation detection unit 61B.
- the constraint violation detection unit 61B sets I2C communication constraints based on the I2C constraint parameters supplied from the register 52.
- the SPI error detection unit 62 that detects an abnormality in SPI communication is composed of an SCK counter 62A and a constraint violation detection unit 62B.
- the SCK counter 62A starts counting the SCK period tsck when XCE becomes Low.
- the count value by the SCK counter 62A is supplied to the constraint violation detection section 62B.
- the constraint violation detection unit 62B detects that XCE becomes Low based on the control signal supplied from the intra-CIS communication control unit 51. When it is detected that XCE has gone Low, information indicating this is supplied to the SCK counter 62A.
- the constraint violation detection unit 62B determines whether the constraint of the period t sck is satisfied based on the count value supplied from the SCK counter 62A. If an abnormality is detected because the constraint is not satisfied, the constraint violation detection unit 62B outputs error information indicating this fact.
- the error information output from the constraint violation detection unit 62B is transmitted to the host processor 2 using a dedicated signal line, it is supplied to the dedicated terminal 54 and transmitted using the high-speed communication IF. In this case, the signal is supplied to the high-speed communication IF unit 14.
- the register communication IF unit 12 performs register communication with the register communication IF unit 21 of the host processor 2, and transmits and receives various data.
- the register communication IF unit 12 functions as a communication unit that performs register communication with the host processor 2 serving as a master.
- the image data processing unit 13 acquires the pixel data output from the sensor unit 15 and performs application layer (upper layer) processing on the image data of each frame. Frame data having a predetermined format is generated by application layer processing. In the image data processing section 13, encryption of the image data is performed as appropriate. Frame data generated by the image data processing section 13 is supplied to the high-speed communication IF section 14.
- the high-speed communication IF section 14 performs link layer signal processing on the data supplied from the image data processing section 13.
- Link layer signal processing includes the generation of packets for storing frame data and the processing of distributing packet data to multiple lanes.
- the high-speed communication IF section 14 arranges the error information as information constituting the EBD.
- the high-speed communication IF section 14 performs physical layer signal processing on the data of each packet.
- physical layer signal processing processing including inserting a control code into packets distributed to each lane is performed in parallel for each lane.
- the data stream of each lane is transmitted from the high-speed communication IF section 14.
- the high-speed communication IF unit 14 functions as a communication unit that transmits frame data including image data to the host processor 2 using the high-speed communication IF.
- the communication error detection unit 53 is provided with an I2C error detection unit 61 that detects an abnormality in I2C communication and an SPI error detection unit 62 that detects an abnormality in SPI communication. Only one of them may be provided depending on the corresponding register communication. For example, if the register communication supported by the image sensor 1 is I2C communication, only the I2C error detection section 61 is provided in the communication error detection section 53. On the other hand, if the register communication supported by the image sensor 1 is SPI communication, only the SPI error detection section 62 is provided in the communication error detection section 53.
- FIG. 23 is a diagram showing an example of data transmission using SLVS-EC.
- the image sensor 1 is provided with a sensor section 15 and a high-speed communication IF section 14, and the host processor 2 is provided with a high-speed communication IF section 22 and a CPU 23.
- FIG. 23 shows only the main configuration related to data transmission using the high-speed communication IF.
- the high-speed communication IF unit 14 of the image sensor 1 and the high-speed communication IF unit 22 of the host processor 2 are each communication units compatible with SLVS-EC.
- the high-speed communication IF section 14 becomes a communication section on the transmitting side
- the high-speed communication IF section 22 becomes a communication section on the receiving side.
- the sensor section 15 of the image sensor 1 performs photoelectric conversion of light received through a lens.
- the sensor section 15 performs A/D conversion of the signal obtained by photoelectric conversion, and sequentially outputs pixel data constituting one frame of image to the high-speed communication IF section 14, for example, one pixel at a time.
- the data output from the sensor section 15 is subjected to security processing as described above, and the data after the security processing is output to the high-speed communication IF section 14.
- the high-speed communication IF section 14 allocates the data of each pixel output from the sensor section 15 to a plurality of transmission paths, and transmits the data to the host processor 2 in parallel via the plurality of transmission paths.
- pixel data is transmitted using eight transmission paths.
- the transmission path between the image sensor 1 and the host processor 2 may be a wired transmission path or a wireless transmission path.
- the transmission path between the image sensor 1 and the host processor 2 will be referred to as a lane.
- the high-speed communication IF section 22 of the host processor 2 receives the pixel data transmitted from the high-speed communication IF section 14 via eight lanes, and outputs the data of each pixel to the CPU 23 in order. In this way, data is transmitted and received between the high-speed communication IF section 14 and the high-speed communication IF section 22 using a plurality of lanes.
- the CPU 23 acquires one frame of image data based on the pixel data supplied from the high-speed communication IF unit 22, and performs various image processing on the acquired image data. In addition to security processing such as decryption of encrypted image data, the CPU 23 performs various processing such as compression of image data and recording of image data on a recording medium.
- an application layer In SLVS-EC, an application layer, a link layer, and a physical layer (PHY layer) are defined depending on the content of signal processing.
- Link layer processing and physical layer processing are performed in the high-speed communication IF section 14 and the high-speed communication IF section 22, respectively.
- link layer processing for example, processing for realizing the following functions is performed. 1. Pixel data-byte data conversion 2. Payload data error correction 3. Transmission of packet data and auxiliary data 4. Error correction of payload data using packet footer 5. Lane management 6. Protocol management for packet generation
- FIG. 24 is a diagram showing an example of a format used for SLVS-EC data transmission.
- the effective pixel area is an area of effective pixels in one frame of image captured by the sensor unit 15.
- a margin area is arranged on the left side of the effective pixel area.
- a front dummy area is placed above the effective pixel area.
- Embedded Data is placed in the front dummy area.
- Embedded Data includes information on setting values related to imaging by the sensor unit 15, such as shutter speed, aperture value, and gain.
- various additional information such as the above-mentioned error information is arranged as Embedded Data.
- Embedded Data is additional information added to the image data of each frame.
- a rear dummy area is placed below the effective pixel area.
- Embedded Data may be placed in the rear dummy area.
- An image data area is composed of an effective pixel area, a margin area, a front dummy area, and a rear dummy area.
- a header is added before each line that makes up the image data area, and a Start Code is added before the header.
- a footer is optionally added to the end of each line that makes up the image data area, and a control code such as End Code is added to the end of the footer. If a footer is not added, a control code such as End Code is added after each line that makes up the image data area.
- the upper band in FIG. 24 shows the structure of the packet used to transmit the frame data shown below. If the horizontal data is arranged as a line, the payload of the packet stores data constituting one line of the image data area. Transmission of the entire frame data of one frame is performed using packets whose number is greater than or equal to the number of pixels in the vertical direction of the image data area. Further, transmission of the entire frame data of one frame is performed by transmitting packets storing data on a line-by-line basis, for example, in order from the data arranged on the upper line.
- One packet is constructed by adding a header and a footer to a payload that stores one line of data. At least a Start Code and an End Code, which are control codes, are added to each packet.
- the header includes additional information about the data stored in the payload, such as Frame Start, Frame End, Line Valid, Line Number.
- Frame Start is 1-bit information indicating the beginning of the frame. A value of 1 is set for Frame Start in the header of the packet used to transmit data on the first line of frame data, and a value of 0 is set for Frame Start in the header of the packet used for transmitting data on other lines. Set.
- Frame End is 1-bit information indicating the end of the frame.
- a value of 1 is set in the Frame End of the header of a packet containing data on the terminal line of frame data, and a value of 0 is set in the Frame End of the header of a packet used for transmitting data on other lines.
- Line Valid is 1-bit information indicating whether the line of data stored in the packet is a line of valid pixels. A value of 1 is set to Line Valid in the header of a packet used to transmit pixel data of a line within the effective pixel area, and a value of 0 is set to Line Valid of the header of a packet used to transmit data of other lines. is set.
- Line Number is 13-bit information indicating the line number of the line where the data stored in the packet is arranged.
- the error information may be transmitted using a register communication IF.
- an area used for transmitting error information is secured in the register 52.
- the communication error detection unit 53 receives from the Host processor 2 at least one of the time constraints for the low period of SCL and the time constraints for the high period of SCL after completion of transmission of ACK/NACK following 8-bit data. The settings will be based on the parameters sent.
- I2C communication restrictions can be applied not only to Standard-mode, Fast-mode, and Fast-mode Plus communications, but also to Ultra Fast-mode (UFm) communications.
- the series of processes described above can be executed by hardware or software.
- a program constituting the software is installed in a computer built into dedicated hardware or a general-purpose personal computer.
- the program to be installed is provided by being recorded on a removable medium 1011 such as an optical disk (CD-ROM (Compact Disc-Read Only Memory), DVD (Digital Versatile Disc), etc.) or semiconductor memory. It may also be provided via a wired or wireless transmission medium, such as a local area network, the Internet, or digital broadcasting.
- a removable medium 1011 such as an optical disk (CD-ROM (Compact Disc-Read Only Memory), DVD (Digital Versatile Disc), etc.) or semiconductor memory. It may also be provided via a wired or wireless transmission medium, such as a local area network, the Internet, or digital broadcasting.
- the program executed by the computer may be a program in which processing is performed chronologically in accordance with the order described in this specification, or may be a program in which processing is performed in parallel or at necessary timing such as when a call is made. It may also be a program that is carried out.
- a system means a collection of multiple components (devices, modules (components), etc.), regardless of whether all the components are in the same casing. Therefore, multiple devices housed in separate casings and connected via a network, and a single device with multiple modules housed in one casing are both systems. .
- a communication unit that performs I2C communication with an external communication device that serves as a master; At least one of the first time constraint set for the low period of the clock signal and the second time constraint set for the high period of the clock signal after the completion of transmission of the response signal following the data.
- a detection unit that detects an abnormality in a condition portion generated by the external communication device based on the above.
- the communication device according to (2).
- the communication device according to (3), wherein the second time constraint is a period longer than the sum of the setup period of the Repeated Start Condition and the hold period of the Start Condition.
- the communication device according to (3), wherein the second time constraint is longer than the sum of the setup period of the Stop Condition and the bus free period between the Stop Condition and the Start Condition.
- the detection unit detects an abnormality in the condition portion, it transmits error information indicating that an abnormality has been detected to the external communication device via a predetermined signal line.
- the communication device according to any one of.
- the communication device is Performs I2C communication with the external communication device that serves as the master, At least one of the first time constraint set for the low period of the clock signal and the second time constraint set for the high period of the clock signal after the completion of transmission of the response signal following the data.
- (11) to the computer Performs I2C communication with the external communication device that serves as the master, At least one of the first time constraint set for the low period of the clock signal and the second time constraint set for the high period of the clock signal after the completion of transmission of the response signal following the data.
- a program that executes a process of detecting an abnormality in a condition portion generated by the external communication device based on the above.
- a communication unit that performs I2C communication with an external communication device that is a slave; A first time constraint on a low period of a clock signal and a second time constraint on a high period of a clock signal after completion of transmission of a response signal following data, which are used in the external device to detect an abnormality in a condition portion generated by the communication unit.
- a control unit that transmits a parameter indicating at least one of the time constraints to the external device using the I2C communication.
- the control unit according to (12) above executes error processing when error information indicating that an abnormality in the condition part is detected is transmitted from the external communication device via a predetermined signal line.
- Communication device (14) Further comprising another communication unit that receives frame data in a predetermined format used for transmitting output data in units of frames, which is transmitted from the external communication device using a communication IF different from the IF of I2C communication, The communication device according to (12), wherein the control unit executes error processing when the frame data including error information indicating that an abnormality in the condition portion is detected is transmitted from the external communication device. .
- the communication device is Performs I2C communication with an external communication device that becomes a slave, A first time constraint for a low period of a clock signal and a second time for a high period of a clock signal after completion of transmission of a response signal following data, which is used in the external device to detect an abnormality in a condition part generated by a communication unit.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Communication Control (AREA)
Abstract
Description
1.通信システムの構成例
2.I2C通信について
3.SPI通信について
4.イメージセンサの構成
5.高速通信IFについて
6.変形例
図1は、本技術の一実施形態に係る通信システムの構成例を示す図である。
ここで、図1の通信システムにおいて行われるレジスタ通信であるI2C通信について説明する。
図3は、I2C通信によるデータ伝送の例を示す図である。I2C通信は、シリアルデータライン(SDA)とシリアルクロックライン(SCL)の2本の信号線を用いて行われる。図3の上段はSDAの信号を示し、下段はSCLの信号を示す。
・制約期間
図1の通信システムのI2C通信においては、8bitのデータに続くACK/NACKの送信完了後の所定の期間に対して、SCLとSDAのそれぞれのHigh/Lowの制約が設定される。制約が設定されている期間である制約期間のSCLとSDAのHigh/Lowが制約と異なる値を示している場合、改ざんなどの攻撃がコンディション部分に対して行われたものとしてHostプロセッサ2により検出される。改ざんなどの攻撃がI2C通信の異常として検出される。
図11は、Repeated Start Condition生成時とデータ通信時のSCL, SDAの状態を示す図である。
データ通信時のSCLのHigh期間:tHIGH (+α)
Repeated Start Condition生成時のSCLのHigh期間:tSU;STA + tHD;STA (+α)
tHIGH + α ≦ tSU;STA
条件1:tHIGH - α < SCL High期間 < tHIGH + α
条件2:SCLのHigh期間中にSDAの変化がない
条件1:tLOW_1 - α < SCL Low期間 < tLOW_1 + α
条件2:SCLのLow期間中にSDAの変化が1回以内
条件1:tHIGH - α < SCL High期間 < tHIGH + α
条件2:tHIGH + α < SCL High期間の場合、
tSU;STA + tHD;STA - α < SCL High期間 < tSU;STA + tHD;STA + α
かつ
SCLの立ち上りから一定期間内(tSU;STA ± α)にRepeated Start Conditionが生成された
図14は、Stop Condition生成時とデータ通信時のSCL, SDAの状態を示す図である。
データ通信時のSCLのHigh期間:tHIGH (+α)
Stop Condition生成時のSCLのHigh期間:tSU;STO + tBUF (+α)
tHIGH + α ≦ tSU;STO
条件1:tHIGH - α < SCL High期間 < tHIGH + α
条件2:SCLのHigh期間中にSDAの変化が1回以内
条件1:tLOW_1 - α < SCL Low期間 < tLOW_1 + α
条件2:SCLのLow期間中にSDAの変化が1回以内
条件1:tHIGH - α < SCL High期間 < tHIGH + α
条件2:tHIGH + α < SCL High期間の場合、
tSU;STO + tBUF - α < SCL High期間
かつ
SCLの立ち上りから一定期間内(tSU;STO ± α)にStop Conditionが生成された
条件3:Stop Condition生成時、一定期間内(tBUF - α)にSCL, SDAが遷移しない
図17は、I2C通信に対する攻撃の例を示す図である。
レジスタ通信としてSPI通信が行われる場合においても同様の制限が設定される。
図22は、イメージセンサ1の詳細な構成例を示すブロック図である。上述した構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
ここで、高速通信IFの1つであるSLVS-ECについて説明する。
1.ピクセルデータ-バイトデータ変換
2.ペイロードデータのエラー訂正
3.パケットデータと補助データの伝送
4.パケットフッタを用いた、ペイロードデータのエラー訂正
5.レーンマネジメント
6.パケット生成のためのプロトコルマネジメント
1.制御コードの生成と抽出
2.バンド幅の制御
3.レーン間のskewの制御
4.シンボルの配置
5.ビット同期のためのシンボルコーディング
6.SERDES(SERializer/DESerializer)
7.クロックの生成と再生
8.SLVS(Scalable Low Voltage Signaling)信号の伝送
エラー情報の送信がレジスタ通信IFを用いて行われるようにしてもよい。この場合、レジスタ52には、エラー情報の送信に用いられる領域が確保される。
本技術は、以下のような構成をとることもできる。
マスタとなる外部の通信装置との間でI2C通信を行う通信部と、
データに続く応答信号の送信完了後のクロック信号のLow期間に対して設定された第1の時間的制約とHigh期間に対して設定された第2の時間的制約とのうちの少なくともいずれかに基づいて、前記外部の通信装置が生成するコンディション部分の異常を検出する検出部と
を備える通信装置。
(2)
前記検出部は、前記応答信号の送信完了後のクロック信号のLow期間が前記第1の時間的制約として設定された期間より短い場合、または、長い場合に、異常を検出する
前記(1)に記載の通信装置。
(3)
前記検出部は、前記応答信号の送信完了後のクロック信号のHigh期間が前記第1の時間的制約として設定された期間より短い場合、または、長い場合に、異常を検出する
前記(1)または(2)に記載の通信装置。
(4)
前記第2の時間的制約は、Repeated Start Conditionのセットアップ期間とStart Conditionのホールド期間とを足した期間以上の期間である
前記(3)に記載の通信装置。
(5)
前記第2の時間的制約は、Stop Conditionのセットアップ期間と、Stop ConditionとStart Conditionの間のバス・フリー期間とを足した期間以上の期間である
前記(3)に記載の通信装置。
(6)
前記検出部は、前記コンディション部分の異常を検出した場合、異常を検出したことを示すエラー情報を所定の信号線を介して前記外部の通信装置に対して送信する
前記(1)乃至(5)のいずれかに記載の通信装置。
(7)
フレーム単位の出力データの伝送に用いられる所定のフォーマットのフレームデータを生成し、生成した前記フレームデータを、I2C通信のIFとは異なる通信IFを用いて前記外部の通信装置に対して送信する他の通信部をさらに備え、
前記検出部は、前記コンディション部分の異常を検出した場合、異常を検出したことを示すエラー情報を含む前記フレームデータを前記外部の通信装置に対して送信させる
前記(1)乃至(5)のいずれかに記載の通信装置。
(8)
前記出力データとしてのセンサデータを出力するセンサ部をさらに備える
前記(7)に記載の通信装置。
(9)
前記検出部は、前記外部の通信装置から送信されてきたパラメータに基づいて、前記第1の時間的制約と前記第2の時間的制約とのうちの少なくともいずれかの期間を設定する
前記(1)乃至(8)のいずれかに記載の通信装置。
(10)
通信装置が、
マスタとなる外部の通信装置との間でI2C通信を行い、
データに続く応答信号の送信完了後のクロック信号のLow期間に対して設定された第1の時間的制約とHigh期間に対して設定された第2の時間的制約とのうちの少なくともいずれかに基づいて、前記外部の通信装置が生成するコンディション部分の異常を検出する
通信方法。
(11)
コンピュータに、
マスタとなる外部の通信装置との間でI2C通信を行い、
データに続く応答信号の送信完了後のクロック信号のLow期間に対して設定された第1の時間的制約とHigh期間に対して設定された第2の時間的制約とのうちの少なくともいずれかに基づいて、前記外部の通信装置が生成するコンディション部分の異常を検出する
処理を実行させるプログラム。
(12)
スレーブとなる外部の通信装置との間でI2C通信を行う通信部と、
前記通信部が生成するコンディション部分に対する異常の検出に前記外部の装置において用いられる、データに続く応答信号の送信完了後のクロック信号のLow期間に対する第1の時間的制約とHigh期間に対する第2の時間的制約とのうちの少なくともいずれかの期間を示すパラメータを、前記I2C通信を用いて前記外部の装置に対して送信する制御部と
を備える通信装置。
(13)
前記制御部は、前記コンディション部分の異常を検出したことを示すエラー情報が所定の信号線を介して前記外部の通信装置から送信されてきた場合、エラー処理を実行する
前記(12)に記載の通信装置。
(14)
I2C通信のIFとは異なる通信IFを用いて前記外部の通信装置から送信される、フレーム単位の出力データの伝送に用いられる所定のフォーマットのフレームデータを受信する他の通信部をさらに備え、
前記制御部は、前記コンディション部分の異常を検出したことを示すエラー情報を含む前記フレームデータが前記外部の通信装置から送信されてきた場合、エラー処理を実行する
前記(12)に記載の通信装置。
(15)
通信装置が、
スレーブとなる外部の通信装置との間でI2C通信を行い、
通信部が生成するコンディション部分に対する異常の検出に前記外部の装置において用いられる、データに続く応答信号の送信完了後のクロック信号のLow期間に対する第1の時間的制約とHigh期間に対する第2の時間的制約とのうちの少なくともいずれかの期間を示すパラメータを、前記I2C通信を用いて前記外部の装置に対して送信する
通信方法。
(16)
コンピュータに、
スレーブとなる外部の通信装置との間でI2C通信を行い、
通信部が生成するコンディション部分に対する異常の検出に前記外部の装置において用いられる、データに続く応答信号の送信完了後のクロック信号のLow期間に対する第1の時間的制約とHigh期間に対する第2の時間的制約とのうちの少なくともいずれかの期間を示すパラメータを、前記I2C通信を用いて前記外部の装置に対して送信する
処理を実行させるプログラム。
Claims (16)
- マスタとなる外部の通信装置との間でI2C通信を行う通信部と、
データに続く応答信号の送信完了後のクロック信号のLow期間に対して設定された第1の時間的制約とHigh期間に対して設定された第2の時間的制約とのうちの少なくともいずれかに基づいて、前記外部の通信装置が生成するコンディション部分の異常を検出する検出部と
を備える通信装置。 - 前記検出部は、前記応答信号の送信完了後のクロック信号のLow期間が前記第1の時間的制約として設定された期間より短い場合、または、長い場合に、異常を検出する
請求項1に記載の通信装置。 - 前記検出部は、前記応答信号の送信完了後のクロック信号のHigh期間が前記第2の時間的制約として設定された期間より短い場合、または、長い場合に、異常を検出する
請求項1に記載の通信装置。 - 前記第2の時間的制約は、Repeated Start Conditionのセットアップ期間とStart Conditionのホールド期間とを足した期間以上の期間である
請求項3に記載の通信装置。 - 前記第2の時間的制約は、Stop Conditionのセットアップ期間と、Stop ConditionとStart Conditionの間のバス・フリー期間とを足した期間以上の期間である
請求項3に記載の通信装置。 - 前記検出部は、前記コンディション部分の異常を検出した場合、異常を検出したことを示すエラー情報を所定の信号線を介して前記外部の通信装置に対して送信する
請求項1に記載の通信装置。 - フレーム単位の出力データの伝送に用いられる所定のフォーマットのフレームデータを生成し、生成した前記フレームデータを、I2C通信のIFとは異なる通信IFを用いて前記外部の通信装置に対して送信する他の通信部をさらに備え、
前記検出部は、前記コンディション部分の異常を検出した場合、異常を検出したことを示すエラー情報を含む前記フレームデータを前記外部の通信装置に対して送信させる
請求項1に記載の通信装置。 - 前記出力データとしてのセンサデータを出力するセンサ部をさらに備える
請求項7に記載の通信装置。 - 前記検出部は、前記外部の通信装置から送信されてきたパラメータに基づいて、前記第1の時間的制約と前記第2の時間的制約とのうちの少なくともいずれかの期間を設定する
請求項1に記載の通信装置。 - 通信装置が、
マスタとなる外部の通信装置との間でI2C通信を行い、
データに続く応答信号の送信完了後のクロック信号のLow期間に対して設定された第1の時間的制約とHigh期間に対して設定された第2の時間的制約とのうちの少なくともいずれかに基づいて、前記外部の通信装置が生成するコンディション部分の異常を検出する
通信方法。 - コンピュータに、
マスタとなる外部の通信装置との間でI2C通信を行い、
データに続く応答信号の送信完了後のクロック信号のLow期間に対して設定された第1の時間的制約とHigh期間に対して設定された第2の時間的制約とのうちの少なくともいずれかに基づいて、前記外部の通信装置が生成するコンディション部分の異常を検出する
処理を実行させるプログラム。 - スレーブとなる外部の通信装置との間でI2C通信を行う通信部と、
前記通信部が生成するコンディション部分に対する異常の検出に前記外部の装置において用いられる、データに続く応答信号の送信完了後のクロック信号のLow期間に対する第1の時間的制約とHigh期間に対する第2の時間的制約とのうちの少なくともいずれかの期間を示すパラメータを、前記I2C通信を用いて前記外部の装置に対して送信する制御部と
を備える通信装置。 - 前記制御部は、前記コンディション部分の異常を検出したことを示すエラー情報が所定の信号線を介して前記外部の通信装置から送信されてきた場合、エラー処理を実行する
請求項12に記載の通信装置。 - I2C通信のIFとは異なる通信IFを用いて前記外部の通信装置から送信される、フレーム単位の出力データの伝送に用いられる所定のフォーマットのフレームデータを受信する他の通信部をさらに備え、
前記制御部は、前記コンディション部分の異常を検出したことを示すエラー情報を含む前記フレームデータが前記外部の通信装置から送信されてきた場合、エラー処理を実行する
請求項12に記載の通信装置。 - 通信装置が、
スレーブとなる外部の通信装置との間でI2C通信を行い、
通信部が生成するコンディション部分に対する異常の検出に前記外部の装置において用いられる、データに続く応答信号の送信完了後のクロック信号のLow期間に対する第1の時間的制約とHigh期間に対する第2の時間的制約とのうちの少なくともいずれかの期間を示すパラメータを、前記I2C通信を用いて前記外部の装置に対して送信する
通信方法。 - コンピュータに、
スレーブとなる外部の通信装置との間でI2C通信を行い、
通信部が生成するコンディション部分に対する異常の検出に前記外部の装置において用いられる、データに続く応答信号の送信完了後のクロック信号のLow期間に対する第1の時間的制約とHigh期間に対する第2の時間的制約とのうちの少なくともいずれかの期間を示すパラメータを、前記I2C通信を用いて前記外部の装置に対して送信する
処理を実行させるプログラム。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020257007986A KR20250056205A (ko) | 2022-08-29 | 2023-08-15 | 통신 장치, 통신 방법, 및 프로그램 |
| US19/105,015 US20250284657A1 (en) | 2022-08-29 | 2023-08-15 | Communication device, communication method, and program |
| JP2024544102A JPWO2024048263A1 (ja) | 2022-08-29 | 2023-08-15 |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022135890 | 2022-08-29 | ||
| JP2022-135890 | 2022-08-29 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2024048263A1 true WO2024048263A1 (ja) | 2024-03-07 |
Family
ID=90099339
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2023/029486 Ceased WO2024048263A1 (ja) | 2022-08-29 | 2023-08-15 | 通信装置、通信方法、およびプログラム |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US20250284657A1 (ja) |
| JP (1) | JPWO2024048263A1 (ja) |
| KR (1) | KR20250056205A (ja) |
| WO (1) | WO2024048263A1 (ja) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001290764A (ja) * | 2000-04-06 | 2001-10-19 | Ricoh Co Ltd | データ転送システム装置及びそのデータ転送方法 |
| JP2005354158A (ja) * | 2004-06-08 | 2005-12-22 | Yokogawa Electric Corp | エラー検出回路 |
| KR20080003539A (ko) * | 2006-07-03 | 2008-01-08 | 삼성전자주식회사 | 화상 형성 장치와 소모품에 장착된 비휘발성 메모리 간의통신 방법 및 시스템 |
| JP2008197752A (ja) * | 2007-02-08 | 2008-08-28 | Sharp Corp | データ通信誤動作防止装置、電子機器、データ通信誤動作防止装置の制御方法、データ通信誤動作防止装置の制御プログラム、及び当該プログラムを記録した記録媒体 |
-
2023
- 2023-08-15 JP JP2024544102A patent/JPWO2024048263A1/ja active Pending
- 2023-08-15 WO PCT/JP2023/029486 patent/WO2024048263A1/ja not_active Ceased
- 2023-08-15 KR KR1020257007986A patent/KR20250056205A/ko active Pending
- 2023-08-15 US US19/105,015 patent/US20250284657A1/en active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001290764A (ja) * | 2000-04-06 | 2001-10-19 | Ricoh Co Ltd | データ転送システム装置及びそのデータ転送方法 |
| JP2005354158A (ja) * | 2004-06-08 | 2005-12-22 | Yokogawa Electric Corp | エラー検出回路 |
| KR20080003539A (ko) * | 2006-07-03 | 2008-01-08 | 삼성전자주식회사 | 화상 형성 장치와 소모품에 장착된 비휘발성 메모리 간의통신 방법 및 시스템 |
| JP2008197752A (ja) * | 2007-02-08 | 2008-08-28 | Sharp Corp | データ通信誤動作防止装置、電子機器、データ通信誤動作防止装置の制御方法、データ通信誤動作防止装置の制御プログラム、及び当該プログラムを記録した記録媒体 |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20250056205A (ko) | 2025-04-25 |
| US20250284657A1 (en) | 2025-09-11 |
| JPWO2024048263A1 (ja) | 2024-03-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12432187B2 (en) | Secure stream protocol for serial interconnect | |
| CN114499772B (zh) | 数据传输方法及电子设备 | |
| CN114374470B (zh) | 数据传输方法、系统和计算机可读存储介质 | |
| US10755156B2 (en) | Configurable integrity protected link for secure accelerator communication | |
| CN202889529U (zh) | 图像输出装置、图像处理装置和成像装置 | |
| CN103490997B (zh) | 为分组报头提供前缀 | |
| US8111623B2 (en) | Node, method and system for control of communication including a buffer | |
| EP2317688A2 (en) | System and methods for implementing cyclic redundancy checks | |
| JP5095892B2 (ja) | ワイヤレス画像データを送信するパケット・データ送信システム | |
| CN113498600B (zh) | 一种基于PCIe的数据传输方法及装置 | |
| EP2928175A1 (en) | Image sensor, method for transmitting data from same, information processing device, information processing method, electronic device, and program | |
| US12182042B2 (en) | Transmission device, reception device, and communication system | |
| JPWO2020158589A1 (ja) | 送信装置、送信方法、受信装置、受信方法、および送受信装置 | |
| WO2024048263A1 (ja) | 通信装置、通信方法、およびプログラム | |
| US20110285869A1 (en) | Serial data sending and receiving apparatus and digital camera | |
| US20250023659A1 (en) | Extended reality aggregator low latency robust error recovery | |
| JP7611823B2 (ja) | 送信装置および通信システム | |
| US20250310101A1 (en) | Transmission device, reception device, information processing method, program, and communication system | |
| JP6398241B2 (ja) | パケット生成装置及びプログラム | |
| WO2023243433A1 (ja) | 情報処理装置、情報処理方法、プログラム、および通信システム | |
| US20250227167A1 (en) | Transmission apparatus, transmission method, reception apparatus, reception method, program, and transmission system | |
| CN120814195A (zh) | 传输系统、传输装置和传输方法 | |
| CN121664912A (zh) | 通信系统与通信方法 | |
| CN118138549A (zh) | 交换机芯片的信号传输方法、装置、介质及电子设备 | |
| CN117294952A (zh) | 图像数据处理方法及装置、电子设备、存储介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23860028 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2024544102 Country of ref document: JP |
|
| ENP | Entry into the national phase |
Ref document number: 20257007986 Country of ref document: KR Kind code of ref document: A |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| WWP | Wipo information: published in national office |
Ref document number: 1020257007986 Country of ref document: KR |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 23860028 Country of ref document: EP Kind code of ref document: A1 |