WO2022009691A1 - 通信装置および通信方法、並びにプログラム - Google Patents
通信装置および通信方法、並びにプログラム Download PDFInfo
- Publication number
- WO2022009691A1 WO2022009691A1 PCT/JP2021/024078 JP2021024078W WO2022009691A1 WO 2022009691 A1 WO2022009691 A1 WO 2022009691A1 JP 2021024078 W JP2021024078 W JP 2021024078W WO 2022009691 A1 WO2022009691 A1 WO 2022009691A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- extended
- packet
- cci
- phy
- processing unit
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 195
- 230000006854 communication Effects 0.000 title claims abstract description 171
- 238000004891 communication Methods 0.000 title claims abstract description 168
- 238000012545 processing Methods 0.000 claims abstract description 655
- 230000008569 process Effects 0.000 claims description 172
- 230000005540 biological transmission Effects 0.000 claims description 82
- 230000004044 response Effects 0.000 claims description 54
- 238000004364 calculation method Methods 0.000 claims description 38
- 238000012546 transfer Methods 0.000 abstract description 41
- 102100036409 Activated CDC42 kinase 1 Human genes 0.000 description 48
- 238000001514 detection method Methods 0.000 description 41
- 238000010586 diagram Methods 0.000 description 33
- 239000000203 mixture Substances 0.000 description 19
- 238000012986 modification Methods 0.000 description 16
- 230000004048 modification Effects 0.000 description 16
- 238000012790 confirmation Methods 0.000 description 14
- 238000012856 packing Methods 0.000 description 14
- 101000741965 Homo sapiens Inactive tyrosine-protein kinase PRAG1 Proteins 0.000 description 13
- 102100038659 Inactive tyrosine-protein kinase PRAG1 Human genes 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000012795 verification Methods 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 7
- 101150071456 CSI2 gene Proteins 0.000 description 4
- 101100451967 Rattus norvegicus Ephx1 gene Proteins 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- YNPNZTXNASCQKK-UHFFFAOYSA-N Phenanthrene Natural products C1=CC=C2C3=CC=CC=C3C=CC2=C1 YNPNZTXNASCQKK-UHFFFAOYSA-N 0.000 description 2
- DGEZNRSVGBDHLK-UHFFFAOYSA-N [1,10]phenanthroline Chemical compound C1=CN=C2C3=NC=CC=C3C=CC2=C1 DGEZNRSVGBDHLK-UHFFFAOYSA-N 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- BFAKENXZKHGIGE-UHFFFAOYSA-N bis(2,3,5,6-tetrafluoro-4-iodophenyl)diazene Chemical compound FC1=C(C(=C(C(=C1F)I)F)F)N=NC1=C(C(=C(C(=C1F)F)I)F)F BFAKENXZKHGIGE-UHFFFAOYSA-N 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000036039 immunity Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/28—Timers or timing mechanisms used in protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00095—Systems or arrangements for the transmission of the picture signal
Definitions
- the present disclosure relates to communication devices, communication methods, and programs, and in particular, to communication devices, communication methods, and programs that can be used for a wider variety of purposes and can improve the reliability of communication.
- the CSI-2 standard has come to be widely used not only for mobile devices but also for various purposes such as in-vehicle and IoT (Internet of Things), and as a result, in the existing packet structure, those uses. It is assumed that it cannot correspond to. Therefore, the MIPI (Mobile Industry Processor Interface) Alliance is considering expanding the packet structure such as existing packet headers and packet footers in order to support various uses.
- MIPI Mobile Industry Processor Interface
- Patent Document 1 proposes a system that can reduce the number of data buses when connecting a processing device and a plurality of image sensors by using the CSI-2 standard.
- CCI Cara Control Interface
- I2C Inter-Integrated Circuit
- Patent Document 2 discloses a technique for communicating by adding CRC to the I2C protocol.
- This disclosure was made in view of such a situation, and is intended to support a wider variety of uses and to improve the reliability of communication.
- the communication device of one aspect of the present disclosure includes a physical layer in which the CCI (Camera Control Interface) protocol is implemented as an upper layer and sends / receives data including an extension header and an extension footer to and from other communication devices, and the extension header. It is provided with a CCI-FS processing unit that compares the Desination ID with the ID (Source ID) of the communication device and determines whether or not the communication device is accessed.
- CCI Cara Control Interface
- the communication method or program of one aspect of the present disclosure comprises transmitting and receiving data including an extension header and an extension footer to and from another communication device by a physical layer in which the CCI (Camera Control Interface) protocol is implemented as an upper layer. It includes comparing the Destination ID included in the extension header with the ID (Source ID) possessed by the communication device and determining whether or not the access to the communication device is performed.
- CCI Cara Control Interface
- the physical layer in which the CCI (Camera Control Interface) protocol is implemented as an upper layer transmits / receives data including an extension header and an extension footer to and from another communication device, and the Destination ID included in the extension header is included. Is compared with the ID (Source ID) possessed by the communication device, and it is determined whether or not the access to the communication device is performed.
- CCI Cara Control Interface
- FIG. 1 is a block diagram showing a configuration example of a first embodiment of a communication system to which the present technology is applied.
- the communication system 11 is configured by connecting an image sensor 21 and an application processor 22 via a bus 23.
- the communication system 11 is used for CSI-2 connection inside an existing mobile device such as a so-called smartphone.
- the image sensor 21 is configured by incorporating an extended mode compatible CSI-2 transmission circuit 31 together with, for example, a lens and an image sensor (none of which are shown). For example, the image sensor 21 transmits the image data of the image acquired by the image sensor to the application processor 22 by the extended mode compatible CSI-2 transmission circuit 31.
- the application processor 22 is configured by incorporating an extended mode compatible CSI-2 receiving circuit 32 together with an LSI (Large Scale Integration) that performs processing according to various applications executed by a mobile device equipped with a communication system 11.
- the application processor 22 may receive the image data transmitted from the image sensor 21 by the extended mode compatible CSI-2 receiving circuit 32, and process the image data according to the application by the LSI. can.
- Bus 23 is a communication path that transmits signals in accordance with the CSI-2 standard. For example, the transmission distance that can transmit signals is about 30 cm. Further, the bus 23 connects the image sensor 21 and the application processor 22 by a plurality of signal lines (I2C, CLKP / N, D0P / N, D1P / N, D2P / N, D3P / N) as shown in the figure. ..
- the extended mode compatible CSI-2 transmission circuit 31 and the extended mode compatible CSI-2 reception circuit 32 support communication in the extended mode, which is an extension of the CSI-2 standard, and transmit and receive signals from each other. Can be done.
- the detailed configuration of the extended mode compatible CSI-2 transmission circuit 31 and the extended mode compatible CSI-2 reception circuit 32 will be described later with reference to FIGS. 9 and 10.
- FIG. 2 is a block diagram showing a configuration example of a second embodiment of a communication system to which the present technology is applied.
- the image sensor 21 and the SerDes device 25 are connected via the bus 24-1, and the application processor 22 and the SerDes device 26 are connected via the bus 24-2.
- the SerDes device 25 and the SerDes device 26 are connected to each other via the bus 27.
- the communication system 11A is used for connection in an existing in-vehicle camera.
- the image sensor 21 and the application processor 22 are configured in the same manner as the image sensor 21 and the application processor 22 in FIG. 1, and detailed description thereof will be omitted.
- Buses 24-1 and 24-2 are communication paths for transmitting signals in accordance with the CSI-2 standard, like bus 23 in FIG. 1, and have a plurality of signal lines (HS-GPIO) as shown in the figure. , I2C / I3C, CLKP / N, D0P / N, D1P / N, D2P / N, D3P / N).
- the SerDes device 25 includes a CSI-2 receiving circuit 33 and a SerDes (SerializerDeserializer) transmitting circuit 34.
- the SerDes device 25 is transmitted from the image sensor 21 by the CSI-2 receiving circuit 33 communicating with the extended mode compatible CSI-2 transmitting circuit 31 in accordance with the normal CSI-2 standard. Get the incoming bit parallel signal. Then, the SerDes device 25 converts the acquired signal into bit series, and the SerDes transmission circuit 34 communicates with the SerDes reception circuit 35 in one lane to transmit the signal to the SerDes device 26. do.
- the SerDes device 26 includes a SerDes receiving circuit 35 and a CSI-2 transmitting circuit 36.
- the SerDes device 26 acquires a bit-series signal transmitted by the SerDes receiving circuit 35 communicating with the SerDes transmitting circuit 34 in one lane. Then, the SerDes device 26 converts the acquired signal into bit parallel, and the CSI-2 transmission circuit 36 complies with the normal CSI-2 standard with the extended mode compatible CSI-2 reception circuit 32. By communicating, it is transmitted to the application processor 22.
- Bus 27 is a communication path that transmits signals in accordance with standards such as A-PHY and FPD (Flat Panel Display) -LINK III.
- A-PHY and FPD Fluorescence Display
- FPD Flexible Panel Display
- the transmission distance that can transmit signals is 15 m. It is a long distance.
- MIPI A-PHY has an asymmetric data link layer (asymmetric upper layer) with a point-to-point topology, making it possible to share the same physical wiring with high-speed data transmission, control data, and power, as well as cameras and sensors. It serves as the foundation for an end-to-end system designed to simplify display integration, while also incorporating functional safety and security.
- the communication systems 11 and 11A configured in this way transmit and receive data in packets having an expanded packet structure as described later by the extended mode compatible CSI-2 transmission circuit 31 and the extended mode compatible CSI-2 reception circuit 32. be able to.
- This makes it possible to support a wider variety of applications, such as RAW24, which will be described later, SmartROI (Region of Interest), GLD (Graceful Link Degradation), and the like.
- FIG. 3 shows the overall packet structure of a packet (hereinafter referred to as an extended packet for D-PHY) used in the extended mode of CSI-2 when the physical layer is D-PHY.
- an extended packet for D-PHY a packet used in the extended mode of CSI-2 when the physical layer is D-PHY.
- the extended packet for D-PHY has the same packet structure as the existing CSI-2 standard in the packet header and packet footer.
- the packet header stores VC (VirtualChannel) indicating the number of lines of the virtual channel, data type (DataType) indicating the data type, WC (WordCount) indicating the data length of the payload, and VCX / ECC.
- CRC Cyclic Redundancy Check
- the data type transmitted in the packet header is defined as 0x38 to 0x3F as reserve. Therefore, in the extended packet for D-PHY, the setting information for identifying the extended mode on the receiving side is newly defined by using the data type that is already reserved.
- DataType [5: 3] is defined as extended mode setting information
- DataType [1: 0] is the extended type. It is defined as setting information.
- the extended mode setting information indicates whether or not the extended mode is set, and for example, when the DataType [5: 3] is 3'b111, it indicates that the extended mode is set. Further, when four types of extended mode 0, extended mode 1, extended mode 2, and extended mode 3 are prepared as the types of the extended mode, the extended type setting information is any of them. Indicates. For example, when DataType [1: 0] is 2'b00, it indicates that the type of extended mode is extended mode 0.
- the payload in the extended mode 0 includes an extended packet header (ePH: extended Packet Header), an optional extended packet header (OePH: Optional extended Packet Header), a legacy payload (Legacy Payload), and an optional. Separated into extended packet footers (OePF: Optional extended Packet Header).
- the extended packet header may be repeatedly transmitted.
- the extended packet header is placed at the beginning corresponding to the payload of the existing CSI-2 standard, and must be transmitted in the extended mode.
- the extended packet header is composed of setting information such as an SROI identification flag, an extended VC (VirtualChannel), an extended DataType, an OePH selection flag, and an OePF selection flag, as shown in the figure.
- the extended VC expands the VC, which was 4 bits in the existing CSI-2 standard, to 8 bits
- the extended DataType expands the DataType, which was 4 bits in the existing CSI-2 standard, to 8 bits.
- the optional extended packet header and optional extended packet footer are selectively transmitted according to the intended use.
- the legacy payload corresponds to the same payload as the existing CSI-2 standard.
- the extended packet header, the optional extended packet header, and the optional extended packet footer shall be 26bit + 6bit ECC (Error Correction Code).
- ECC Error Correction Code
- FIG. 4 shows a short packet used in the extended mode of CSI-2 when the physical layer is D-PHY (hereinafter, D-PHY).
- the packet structure of (referred to as extended short packet) is shown.
- FIG. 5 shows the packet structure of a long packet (hereinafter referred to as an extended long packet for D-PHY) used in the extended mode of CSI-2 when the physical layer is D-PHY. There is.
- the packet is an extended short packet and the optional extended packet header is always extended.
- Data including the Short Packet Data Field of the short packet is transmitted. This Short Packet Data Field is the same as that defined in the existing CSI-2 standard.
- MC MessageCount for GLD
- RSID in-vehicle line number and SourceID
- An extended short packet having a packet structure as shown in FIG. 4 can expand the data type and the bit width of the virtual channel as compared with the extended short packet according to the existing CSI-2 standard, and is optional. It can be used for various purposes defined by the extended packet header. If these functions are not required, the extended short packet according to the existing CSI-2 standard may be transmitted together with the extended long packet.
- the optional extended packet header, legacy payload, and optional extended packet footer are stored in the payload according to the existing CSI-2 standard and transmitted.
- the existing SerDes transmission circuit 34 and the SerDes reception circuit 35 (FIG. 2) in the same manner as the image data transmitted in the existing payload, and is transmitted as it is. It is transmitted to the latter stage.
- the application processor 22 at the last stage can be determined to be in the extended mode by the data type DT [5: 0] of the packet header. Therefore, the application processor 22 can interpret the contents of the payload in order from the extended packet header and retrieve the data of the desired extended mode.
- FIG. 6 shows the overall packet structure of a packet (hereinafter referred to as an extended packet for C-PHY) used in the extended mode of CSI-2 when the physical layer is C-PHY.
- an extended packet for C-PHY shown in FIG. 6, the configuration common to the extended packet for D-PHY in FIG. 3 will be omitted, and different configurations will be described.
- the extended mode is identified by the data type as in the extended packet for D-PHY in FIG. 3, and all the data corresponding to each application executed by the application processor 22 is included. It is embedded in the payload and transmitted.
- the extended packet for C-PHY transmits the packet header twice like the packet for C-PHY according to the existing CSI-2 standard, and the C-PHY transmits 16 bits to 7 symbols. For convenience of conversion to, arrange the data in 16-bit units.
- the extended packet header is placed at the beginning of the payload, but for the virtual channel, in the case of C-PHY, the beginning of the existing packet header was Reserve for that reason, so the virtual channel is in the extended packet header. Is not stored.
- the virtual channel may be stored in the extended packet header as in the extended packet for D-PHY.
- a flag called OePHF is prepared, and if this flag is 1, OePH / OePF information is transmitted next. Then, after the ePH information and the OePH information, the CRC is transmitted as an extended packet header, and the similarly configured packet header is repeatedly transmitted twice. In this way, by making the structure and the mechanism of transmitting the existing packet header twice, it is possible to achieve both circuit reusability and error immunity.
- FIG. 7 shows a short packet used in the extended mode of CSI-2 when the physical layer is C-PHY (hereinafter, C-PHY).
- the packet structure of (referred to as extended short packet) is shown.
- FIG. 8 shows the packet structure of a long packet (hereinafter referred to as an extended long packet for C-PHY) used in the extended mode of CSI-2 when the physical layer is C-PHY. There is.
- the extended short packet for C-PHY shown in FIG. 7 has no significant difference in packet structure from the extended short packet for D-PHY shown in FIG. 4, and the extended long packet for C-PHY shown in FIG. There is no big difference in the packet structure from the extended long packet for D-PHY shown in FIG.
- FIG. 9 is a block diagram showing a configuration example of the image sensor 21 including the extended mode compatible CSI-2 transmission circuit 31.
- the image sensor 21 includes a pixel 41, an AD converter 42, an image processing unit 43, a pixel CRC calculation unit 44, and a physical layer processing unit 45. It is configured to include an I2C / I3C slave 46 and a register 47. Further, the extended mode compatible CSI-2 transmission circuit 31 includes a packing unit 51, a packet header generation unit 52, an extended packet header generation unit 53, an extended packet footer generation unit 54, selection units 55 and 56, a CRC calculation unit 57, and a lane distribution unit. It is configured to include a unit 58, a CCI slave 59, and a controller 60.
- the pixel 41 outputs an analog pixel signal according to the amount of received light
- the AD converter (ADC: Analog-to-Digital Converter) 42 digitally converts the pixel signal output from the pixel 41 into an image. It is supplied to the processing unit 43.
- the image processing unit (ISP: Image Signal Processor) 43 supplies image data obtained by performing various image processing on an image based on a pixel signal to the pixel CRC calculation unit 44 and the packing unit 51. Further, the image processing unit 43 supplies the packing unit 51 and the controller 60 with a data enable signal data_en indicating whether or not the image data is valid.
- the pixel CRC calculation unit 44 calculates and obtains the CRC for each pixel in the image data supplied from the image processing unit 43, and supplies the CRC to the extended packet footer generation unit 54.
- the physical layer processing unit 45 can execute both C-PHY and D-PHY physical layer processing. For example, the physical layer processing unit 45 executes the physical layer processing of the C-PHY when the C layer enable signal cphy_en supplied from the controller 60 is valid, and when the C layer enable signal cphy_en is invalid, the physical layer processing unit 45 executes the physical layer processing of the C-PHY. Performs D-PHY physical layer processing. Then, the physical layer processing unit 45 transmits the packet divided into four lanes by the lane distribution unit 58 to the application processor 22.
- the I2C / I3C slave 46 communicates according to the I2C / I3C master 72 (FIG. 10) of the application processor 22 based on the I2C (Inter-Integrated Circuit) or I3C (Improved Inter Integrated Circuits) standard.
- the settings written to the register 47 include, for example, a communication setting according to the CSI-2 standard, an extended mode setting indicating whether or not the extended mode is used, and a fixed communication setting required for communication in the extended mode. and so on.
- the packing unit 51 performs a packing process for storing the image data supplied from the image processing unit 43 in the payload of the packet, and supplies the payload to the selection unit 55 and the lane distribution unit 58.
- the packet header generation unit 52 When the packet header generation unit 52 is instructed to generate a packet header according to the packet header generation instruction signal ph_go supplied from the controller 60, the packet header generation unit 52 generates a packet header and supplies it to the selection unit 55 and the lane distribution unit 58.
- the packet header generation unit 52 generates a packet header for storing setting information indicating the set conditions for the data transmitted in the packet, for example, a data type indicating the data type, according to the existing CSI-2 standard. .. Further, the packet header generation unit 52 uses the extended header in the unused area defined as unused in the existing CSI-2 standard in the data type which is the setting information indicating the type of the data transmitted in the packet. Stores extended mode setting information indicating whether or not the extended mode is set. Further, the packet header generation unit 52 stores the extended type setting information indicating which type of the plurality of types of extended modes prepared as the extended mode is in the unused area.
- the extended packet header generation unit 53 generates an extended packet header and an optional extended packet header according to the extended packet header generation instruction signal eph_go and the extended packet header enable signal ePH_en supplied from the controller 60, and the selection unit 56 and the lane distribution unit. Supply to 58. Further, the extended packet header generation unit 53 is supplied with an in-vehicle line number, a source ID (identification), and the like according to the use of the image sensor 21, and if necessary, the extended packet header or the optional extended packet header. Store in.
- the extended packet header generation unit 53 generates an extended packet header for storing the setting information as shown in FIG. 3, for example, in addition to the packet header generated by the packet header generation unit 52. Further, when transmitting the optional extended packet header, the extended packet header generation unit 53 uses the optional extended packet as optional extended packet header setting information (OePH [7: 0]) indicating whether or not to transmit the optional extended packet header.
- optional extended packet header setting information indicating that the header is transmitted is stored in the extended packet header, and the optional extended packet header is generated following the extended packet header.
- the extended packet footer generation unit 54 generates an optional extended packet footer according to the extended packet footer generation instruction signal epf_go and the extended packet header enable signal ePF_en supplied from the controller 60, and supplies the optional extended packet footer to the selection unit 56 and the lane distribution unit 58.
- the extended packet footer generation unit 54 is a legacy payload in which data is stored when the packet transmitted in the extended mode is an extended long packet that stores data transmitted as a payload in the existing CSI-2 standard. Generates an optional extended packet footer that follows.
- the C-layer enable signal cphy_en is supplied from the controller 60 to the packet header generation unit 52, the extended packet header generation unit 53, and the extended packet footer generation unit 54.
- the packet header generation unit 52 When the C-layer enable signal cphy_en indicates that it is valid, the packet header generation unit 52 generates a packet header for C-PHY, and the extended packet header generation unit 53 generates an extended packet header for C-PHY and an optional extension.
- the packet header is generated, and the extended packet footer generation unit 54 generates an optional extended packet footer for C-PHY.
- the packet header generation unit 52 when the C-layer enable signal cphy_en indicates invalid, the packet header generation unit 52 generates a packet header for D-PHY, and the extended packet header generation unit 53 generates an extended packet header for D-PHY and an optional extension.
- the packet header is generated, and the extended packet footer generation unit 54 generates an optional extended packet footer for D-PHY.
- the selection unit 55 selects the packet header supplied from the packet header generation unit 52 and supplies the packet header to the selection unit 56 when the C layer enable signal cphy_en is valid according to the C layer enable signal cphy_en supplied from the controller 60. .. On the other hand, when the C layer enable signal cphy_en is invalid, the selection unit 55 selects the payload supplied from the packing unit 51 and supplies it to the selection unit 56.
- the selection unit 56 includes a packet header or payload selectively supplied via the selection unit 55 according to the data selection signal data_sel supplied from the controller 60, an extended packet header supplied from the extended packet header generation unit 53, and an optional extension.
- One of the optional extended packet footer supplied from the packet header and the extended packet footer generation unit 54 is selected and supplied to the CRC calculation unit 57.
- the CRC calculation unit 57 calculates and obtains the CRC of the packet header, payload, extended packet header, optional extended packet header, or optional extended packet footer selectively supplied via the selection unit 56, and distributes the CRC to the lane. Supply to unit 58.
- the lane distribution unit 58 includes a payload supplied from the packing unit 51, a packet header supplied from the packet header generation unit 52, an extended packet header supplied from the extended packet header generation unit 53, and an optional extended packet.
- the header, the optional extended packet footer supplied from the extended packet footer generation unit 54, and the CRC supplied from the CRC calculation unit 57 are distributed to four lanes according to the CSI-2 standard, and the physical layer processing unit 45 is used. Supply to.
- the CCI (Camera Control Interface) slave 59 communicates based on the CSI-2 standard according to the initiative of the CCI master 88 (FIG. 10) of the application processor 22.
- the controller 60 reads various settings stored in the register 47 and controls each block constituting the extended mode compatible CSI-2 transmission circuit 31 according to those settings. For example, the controller 60 controls switching between transmission of a packet structure packet according to the existing CSI-2 standard and transmission of a packet structure packet in the extended mode according to the content of the data to be transmitted.
- the image sensor 21 is configured in this way, and can generate an extended packet having a packet structure as described with reference to FIGS. 3 to 8 and transmit it to the application processor 22.
- FIG. 10 is a block diagram showing a configuration example of an application processor 22 including an extended mode compatible CSI-2 receiving circuit 32.
- the application processor 22 includes a physical layer processing unit 71, an I2C / I3C master 72, a register 73, and a controller 74 in addition to the extended mode compatible CSI-2 receiving circuit 32.
- the extended mode compatible CSI-2 receiving circuit 32 includes a packet header detection unit 81, a lane merging unit 82, an interpretation unit 83, a selection unit 84 and 85, a CRC calculation unit 86, an unpacking unit 87, and a CCI master 88. Be prepared for it.
- the physical layer processing unit 71 can execute both C-PHY and D-PHY physical layer processing. As described above, the physical layer processing unit 45 of the image sensor 21 performs physical layer processing of either C-PHY or D-PHY, and the physical layer processing unit 71 is the physical layer processing unit 45. Performs the same physical layer processing that was performed in.
- the I2C / I3C master 72 takes the lead in communicating with the I2C / I3C slave 46 (FIG. 9) of the image sensor 21 based on the I2C or I3C standard.
- the controller 74 controls each block constituting the application processor 22.
- mrg_en merging enable signal
- the packet header detection unit 81 detects the packet header in which the setting information (data type, etc.) indicating the set conditions for the data transmitted in the packet is stored according to the existing CSI-2 standard. At this time, the packet header detection unit 81 is stored in an unused area defined as unused in the existing CSI-2 standard in the data type which is the setting information indicating the type of the data transmitted in the packet. , By outputting the extended mode detection flag according to the extended mode setting information indicating whether or not the extended mode uses the extended header, the packet structure of the packet structure according to the existing CSI-2 standard can be received and the extended mode. It switches between receiving and receiving packets with a packet structure at the time. Further, the packet header detection unit 81 has a plurality of types prepared as extended modes according to the extended mode type information stored in the unused area of the data type defined as unused in the existing CSI-2 standard. Recognize which type of extended mode it is.
- the lane merge unit 82 merges the packets divided into four lanes supplied from the physical layer processing unit 71. Then, the lane merging unit 82 supplies the packet of one lane to the interpretation unit 83, the selection unit 84, and the selection unit 85.
- the interpretation unit 83 starts from the packet supplied from the lane merging unit 82 based on the packet structure of the extended mode. , Extended packet header, optional extended packet header, and optional extended packet footer. Then, the interpretation unit 83 interprets the setting information stored in the extended packet header, the optional extended packet header, and the optional extended packet footer.
- the interpreting unit 83 receives the extended packet header placed at the beginning of the payload according to the existing CSI-2 standard as the extended header, and interprets the setting information stored in the extended packet header. Further, when the interpretation unit 83 indicates that the optional extended packet header setting information stored in the extended packet header transmits the optional extended packet header that is selectively transmitted according to the purpose, the extended packet header Then, the optional extended packet header is received, and the setting information stored in the optional extended packet header is interpreted. Further, the interpretation unit 83 follows the legacy payload in which the data is stored when the packet transmitted in the extended mode is an extended long packet containing the data transmitted as the payload in the existing CSI-2 standard. Receives the placed optional extended packet footer and interprets the optional extended packet footer.
- the interpretation unit 83 reads, for example, the in-vehicle line number and the source ID stored in the optional extended packet header, and outputs the output to the subsequent LSI (not shown).
- the interpretation unit 83 does not indicate that the extended mode detection flag supplied from the packet header detection unit 81 is in the extended mode, that is, when a packet having an existing packet structure is supplied. Stops without performing the above-mentioned processing.
- the selection unit 84 selectively supplies data to the unpacking unit 87 based on the packet structure of the existing packet or the packet structure of the extended packet according to the extended mode detection flag supplied from the packet header detection unit 81.
- the selection unit 85 selectively supplies data to the CRC calculation unit 86 based on the packet structure of the existing packet or the packet structure of the extended packet according to the extended mode detection flag supplied from the packet header detection unit 81.
- the CRC calculation unit 86 calculates the CRC of the packet header, payload, extended packet header, optional extended packet header, or optional extended packet footer selectively supplied via the selection unit 85. Then, when a CRC error is detected, the CRC calculation unit 86 outputs a crc error detection signal to that effect to a subsequent LSI (not shown).
- the unpacking unit 87 performs an unpacking process for extracting image data stored in a payload selectively supplied via the selection unit 84, and outputs the acquired image data to a subsequent LSI (not shown). ..
- the CCI master 88 takes the lead in communicating with the CCI slave 59 (FIG. 9) of the image sensor 21 based on the CSI-2 standard.
- the application processor 22 is configured in this way, receives the extended packet transmitted from the image sensor 21, and interprets the setting information stored in the extended packet header, the optional extended packet header, and the optional extended packet footer. Then, the image data can be acquired.
- FIG. 11 is a flowchart illustrating a process in which the image sensor 21 transmits a packet.
- step S11 the controller 60 determines whether or not to use the extended mode when starting communication with the application processor 22. For example, the controller 60 checks the extended mode setting stored in the register 47, and determines that the extended mode is used when the extended mode setting indicating that the extended mode is used is written by the application processor 22.
- step S11 determines in step S11 that the extended mode is not used. If the controller 60 determines in step S11 that the extended mode is not used, the process proceeds to step S12.
- step S12 the I2C / I3C slave 46 receives the transmission start command of the image data transmitted from the application processor 22 (in step S54 of FIG. 13 described later). Further, the I2C / I3C slave 46 receives the communication setting according to the CSI-2 standard transmitted together with the transmission start command, and writes the communication setting to the register 47 via the CCI slave 59.
- step S13 the image sensor 21 executes a conventional packet transmission process of transmitting a packet having a packet structure according to the existing CSI-2 standard to the application processor 22 based on the communication setting stored in the register 47. Will be done.
- step S11 determines in step S11 that the extended mode is to be used
- the process proceeds to step S14.
- step S14 the I2C / I3C slave 46 receives a fixed communication setting (for example, a copy of PH / PF for each lane during GLD) required for communication in the extended mode, and via the CCI slave 59. And write to register 47.
- a fixed communication setting for example, a copy of PH / PF for each lane during GLD
- step S15 the I2C / I3C slave 46 receives the transmission start command of the image data transmitted from the application processor 22 (in step S57 of FIG. 13 described later). Further, the I2C / I3C slave 46 receives the communication setting according to the CSI-2 standard transmitted together with the transmission start command, and writes the communication setting to the register 47 via the CCI slave 59.
- step S16 the controller 60 determines whether or not to start the transmission of the packet, and waits for the process until it is determined to start the transmission of the packet.
- step S16 determines whether or not the transmission of the packet is to be started.
- the process proceeds to step S17, and the controller 60 determines whether or not the data should be transmitted in the extended mode.
- the controller 60 determines that the data should be transmitted in the extended mode, for example, when the data is transmitted in the use case of the application example described later, depending on the content of the data to be transmitted. do.
- step S17 If the controller 60 determines in step S17 that the data should be transmitted in the extended mode, the process proceeds to step S18, and the extended mode transmission process (see FIG. 12) for transmitting the extended packet corresponding to the extended mode is performed. Will be.
- step S17 determines in step S17 that the data is not data to be transmitted in the extended mode. If the controller 60 determines in step S17 that the data is not data to be transmitted in the extended mode, the process proceeds to step S19.
- step S19 the controller 60 determines whether or not to transmit a short packet. For example, the controller 60 determines to transmit a short packet at the start and end of the frame.
- step S19 If it is determined in step S19 that the controller 60 transmits a short packet, the process proceeds to step S20.
- step S20 the packet header generation unit 52 generates a packet header and transmits a short packet having a conventional packet structure to the application processor 22.
- step S19 if it is determined in step S19 that the controller 60 does not transmit the short packet (that is, the long packet is transmitted), the process proceeds to step S21.
- step S21 the packing unit 51 stores the image data in the payload, and the CRC calculation unit 57 obtains the CRC to generate a long packet having a conventional packet structure and transmit it to the application processor 22.
- step S18 After the processing of step S18, step S20, or step S21, the processing proceeds to step S22, and the controller 60 ends the packet transmission processing. After that, the process returns to step S16, and thereafter, the process of transmitting the packet is repeated for the next packet.
- FIG. 12 is a flowchart illustrating the extended mode transmission process performed in the process of step S18 of FIG.
- step S31 the packet header generation unit 52 generates a packet header containing a VC, a data type, a WC, and the like, and transmits the packet header to the application processor 22.
- step S32 the application processor 22 determines whether or not to transmit the extended short packet. For example, the controller 60 determines to transmit the extended short packet at the start and end of the frame.
- step S32 determines in step S32 to transmit the extended short packet. If the application processor 22 determines in step S32 to transmit the extended short packet, the process proceeds to step S33.
- step S33 the extended packet header generation unit 53 transmits an extended packet header in which the data type (DataType [7: 0]) is set as a short packet in the first byte of the payload.
- the extended packet header generation unit 53 makes various settings (for example, OePH [7: 0], OePF [3: 0], etc.) stored in the extended packet header.
- step S34 the extended packet header generation unit 53 stores and transmits the frame number (FN: FrameNumber) in the second byte of the payload.
- step S35 the extended packet header generation unit 53 generates and transmits an optional extended packet header as shown in FIG. 4 according to the setting (OePH [7: 0]) made in step S33.
- step S36 the CRC calculation unit 57 seeks the CRC and transmits it as a packet footer.
- step S32 determines whether the application processor 22 does not transmit the extended short packet (that is, the long packet is transmitted). If it is determined in step S32 that the application processor 22 does not transmit the extended short packet (that is, the long packet is transmitted), the process proceeds to step S37.
- step S37 the extended packet header generation unit 53 transmits an extended packet header in which the data type (DataType [7: 0]) is set to other than a short packet in the first byte of the payload.
- the extended packet header generation unit 53 makes various settings (for example, OePH [7: 0], OePF [3: 0], etc.) stored in the extended packet header.
- step S38 the extended packet header generation unit 53 generates and transmits an optional extended packet header as shown in FIG. 5 according to the setting (OePH [7: 0]) made in step S37.
- step S39 the packing unit 51 packs the image data supplied from the image processing unit 43, generates a legacy payload, and transmits the image data.
- step S40 the extended packet footer generation unit 54 generates and transmits an optional extended packet footer as shown in FIG. 4 according to the setting (OePF [3: 0]) made in step S37.
- step S41 the CRC calculation unit 57 seeks the CRC and transmits it as a packet footer.
- step S36 or S41 the extended mode transmission processing is terminated.
- the image sensor 21 can generate and transmit an extended short packet or an extended long packet.
- FIG. 13 is a flowchart illustrating a process in which the application processor 22 receives a packet.
- step S51 the controller 74 writes the initial settings of the image sensor 21 (for example, whether to use C-PHY or D-PHY as the physical layer) to the register 73, and I2C / I3C via the CCI master 88. It is transmitted to the image sensor 21 by the master 72. As a result, the initial setting is written in the register 47 of the image sensor 21.
- step S52 the controller 74 recognizes whether or not the image sensor 21 supports the extended mode.
- the controller 74 supports the extended mode by acquiring the set value (for example, the expanded PH / PF compatible capability) stored in the register 47 of the image sensor 21 by the I2C / I3C master 72. It is possible to recognize whether or not it is.
- the controller 74 can recognize in advance whether or not the image sensor 21 supports the extended mode based on, for example, a manual input.
- step S53 the controller 74 determines whether or not the image sensor 21 supports the extended mode and the application executed by the application processor 22 requires the use of the extended mode.
- step S53 If the controller 74 determines in step S53 that the image sensor 21 does not support the extended mode or is not required to use the extended mode, the process proceeds to step S54.
- step S54 the controller 74 transmits an image data transmission start command to the image sensor 21 by the I2C / I3C master 72. At this time, the controller 74 also transmits the communication setting according to the CSI-2 standard.
- step S55 the application processor 22 performs a conventional packet reception process of receiving a packet having a packet structure according to the existing CSI-2 standard based on the communication setting transmitted in step S54.
- step S53 determines in step S53 that the image sensor 21 supports the extended mode and the application executed by the application processor 22 requires the use of the extended mode
- step S56 proceeds to.
- step S56 the I2C / I3C master 72 transmits fixed communication settings required for communication in the extended mode before communication in the extended mode is started. As a result, the fixed communication setting is written to the register 47 of the image sensor 21 (step S14 in FIG. 11).
- step S57 the controller 74 transmits an image data transmission start command to the image sensor 21 by the I2C / I3C master 72. At this time, the controller 74 also transmits the communication setting according to the CSI-2 standard.
- step S58 the packet header detection unit 81 determines whether or not the packet reception has started by checking the data supplied from the physical layer processing unit 71, and processes until it is determined that the packet reception has started. Wait for. For example, when the packet header detection unit 81 detects the packet header from the data supplied from the physical layer processing unit 71, the packet header detection unit 81 determines that the packet reception has started.
- step S58 If the packet header detection unit 81 determines in step S58 that the packet has started to be received, the process proceeds to step S59.
- step S59 If the packet header detection unit 81 determines in step S59 that the packet that has started reception is an extended packet, the process proceeds to step S60, and the extended mode reception process (see FIG. 14) for receiving the extended packet is performed. ..
- step S59 determines in step S59 that the packet that has started reception is not an extended packet, the process proceeds to step S61.
- step S61 the packet header detection unit 81 confirms the data type (DataType [5: 0]) of the packet header detected in step S58, and determines whether or not the packet that has started reception is a short packet. ..
- step S61 If the packet header detection unit 81 determines in step S61 that the packet that has started reception is a short packet, the process proceeds to step S62.
- step S62 the packet header detection unit 81 receives a short packet having a conventional packet structure transmitted from the image sensor 21.
- step S61 the process proceeds to step S63.
- the unpacking unit 87 receives the payload of the long packet of the conventional packet structure transmitted from the image sensor 21 and takes out the image data, and the CRC calculation unit 86 is transmitted continuously to the packet header. The coming WC + 1st byte is received as CRC.
- step S60 After the processing of step S60, step S62, or step S63, the processing proceeds to step S64, and the controller 74 ends the packet reception processing. After that, the process returns to step S58, and thereafter, the process of receiving the packet is repeated for the next packet.
- FIG. 14 is a flowchart illustrating the extended mode reception process performed in the process of step S60 of FIG.
- step S71 If the packet header detection unit 81 determines in step S71 that the mode setting of the extended mode is the extended mode 0, the process proceeds to step S72.
- step S72 the interpreting unit 83 receives the first byte of the payload as an extended packet header.
- step S73 the interpreting unit 83 confirms the data type (DataType [7: 0]) of the extended packet header received in step S72, and determines whether or not the packet that has started reception is an extended short packet. ..
- step S73 If the interpretation unit 83 determines in step S73 that the packet is an extended short packet, the process proceeds to step S74.
- step S74 the interpreting unit 83 receives the optional extended packet header according to the setting (OePH [7: 0]) stored in the extended packet header received in step S72.
- step S75 the CRC calculation unit 86 receives the WC + 1th byte transmitted continuously to the optional extended packet header as CRC.
- step S73 determines in step S73 that the packet is not an extended short packet (that is, it has started receiving an extended long packet)
- the process proceeds to step S76.
- step S76 the interpreting unit 83 receives the optional extended packet header according to the setting (OePH [7: 0]) stored in the extended packet header received in step S72.
- step S77 the unpacking unit 87 receives the legacy payload of the extended long packet transmitted from the image sensor 21 and retrieves the image data.
- step S78 the interpretation unit 83 receives the optional extended packet footer according to the setting (OePF [3: 0]) stored in the extended packet header received in step S72.
- step S79 the CRC calculation unit 86 receives the WC + 1th byte transmitted continuously to the optional extended packet footer as CRC.
- step S71 If it is determined in step S71 that the mode setting of the extended mode is not the extended mode 0, the extended mode reception process is terminated after the process of step S75 or the process of step S79.
- the application processor 22 can receive the extended short packet or the extended long packet and acquire the data.
- the packet header and the packet footer are the same as the existing CSI-2 standard, with an emphasis on maintaining compatibility with the existing CSI-2 standard. It has a packet structure, and the packet structure is expanded by an extended packet header, an optional extended packet header, and an optional extended packet footer.
- the packet header and the packet footer are different from the existing CSI-2 standard, and the packet structure is expanded by the extended packet header and the extended packet footer.
- FIG. 15 shows the packet structure of a short packet (hereinafter referred to as an extended short packet for D-PHY) used in the extended mode of CSI-2 when the physical layer is D-PHY.
- a short packet hereinafter referred to as an extended short packet for D-PHY
- the extended short packet for D-PHY shown in FIG. 15 is stored in the same packet header as the existing CSI-2 standard, like the extended short packet for D-PHY of the first structural example shown in FIG.
- the extended mode is identified by the data type that is used.
- the frame number is set in the short packet data field in the short packet data field in the next 16 bits of the data type of the packet header, as in the short packet according to the existing CSI-2 standard. Is stored. Then, following the packet header, an extended packet header configured in the same manner as the extended packet header shown in FIG. 4 is transmitted.
- the application processor 22 on the receiving side interprets the data type stored in the extended packet header and determines that the frame number is stored in the data field of the packet header when the packet is an extended short packet. can do.
- the optional extended packet header in the extended short packet for D-PHY shown in FIG. 15 is configured in the same manner as the optional extended packet header in the extended short packet for D-PHY of the first structural example shown in FIG. To. However, since the optional extended packet header has a packet structure that is not embedded in the payload, it is not necessary to add CRC at the end.
- FIG. 16 shows the packet structure of a long packet (hereinafter referred to as an extended long packet for D-PHY) used in the extended mode of CSI-2 when the physical layer is D-PHY.
- an extended long packet for D-PHY a long packet used in the extended mode of CSI-2 when the physical layer is D-PHY.
- the extended data is not embedded in the payload and is transmitted as a part of the packet header or packet footer. Therefore, the WC in the first packet header indicates the byte length of the payload, as in the existing standard.
- FIG. 17 shows the packet structure of a short packet (hereinafter referred to as an extended short packet for C-PHY) used in the extended mode of CSI-2 when the physical layer is C-PHY.
- a short packet hereinafter referred to as an extended short packet for C-PHY
- the extended part of the extended short packet for C-PHY shown in FIG. 17 is transmitted as an extension of the packet header according to the existing CSI-2 standard, the extended part such as the extended packet header is inserted after the frame number. To. And, like the existing CSI-2 standard, the packet header ends with CRC. Further, the packet structure in which these are transmitted twice with SYNC in between is the same as the short packet according to the existing CSI-2 standard.
- FIG. 18 shows the packet structure of a long packet (hereinafter referred to as an extended long packet for C-PHY) used in the extended mode of CSI-2 when the physical layer is C-PHY.
- a long packet hereinafter referred to as an extended long packet for C-PHY
- the WC of the first packet header indicates the byte length of the payload, as in the existing standard, and is the first one shown in FIG. There is a difference from the extended long packet for C-PHY in the structure example.
- the packet structure of the extended packet of the second structure example shown in FIGS. 15 to 18 is more diverse than the conventional one, as in the packet structure of the extended packet of the first structure example (FIGS. 3 to 8). It is possible to correspond to various applications.
- the extended packet of the second structure example has a packet structure in which the existing packet header and footer are expanded without embedding the extended data in the existing payload. Therefore, when the packet structure of the extended packet of the second structure example is adopted, compared with the case of adopting the packet structure of the extended packet of the first structure example, the communication system conventionally used is used. The impact that requires change cannot be minimized. That is, for example, the existing SerDes transmission circuit 34 needs to be changed from the SerDes reception circuit 35 (FIG. 2).
- Each block constituting the image sensor 21 of FIG. 9 and the application processor 22 of FIG. 10 described above was configured to be able to process both D-PHY and C-PHY packets.
- both a block that exclusively processes the packet for D-PHY and a block that exclusively processes the packet for C-PHY may be provided, and the processing may be switched for each. ..
- the image sensor 21A shown in FIG. 19A includes a D layer processing block unit 101, a C layer processing block unit 102, a switching unit 103, and a controller 60.
- the D-layer processing block unit 101 has a block that exclusively processes packets for D-PHY among the blocks constituting the image sensor 21 of FIG.
- the C-layer processing block unit 102 has a block that exclusively processes C-PHY packets among the blocks constituting the image sensor 21 of FIG.
- the switching unit 103 outputs a packet for the D-PHY generated in the D layer processing block unit 101 according to the control by the controller 60, and outputs the C-PHY to the physical layer. When used, switching is performed so as to output the C-PHY packet generated in the C layer processing block unit 102.
- the application processor 22A shown in FIG. 19B includes a switching unit 111, a D layer processing block unit 112, a C layer processing block unit 113, and a controller 74.
- the switching unit 111 switches so that the packet transmitted from the image sensor 21A is supplied to one of the D layer processing block unit 112 and the C layer processing block unit 113 according to the control by the controller 74.
- the D-layer processing block unit 112 has a block that exclusively processes a packet for D-PHY among the blocks constituting the application processor 22 of FIG.
- the C-layer processing block unit 113 has a block that exclusively processes a packet for C-PHY among the blocks constituting the application processor 22 of FIG.
- the physical layer to be used can be set between the controller 60 and the controller 74 before starting communication. Then, for example, when the D-PHY is used for the physical layer, the packet for the D-PHY generated in the D layer processing block unit 101 is transmitted via the switching unit 103, and the D-PHY is transmitted via the switching unit 111. It is supplied to the layer processing block unit 112 and processed. Further, for example, when C-PHY is used for the physical layer, a packet for C-PHY generated in the C layer processing block unit 102 is transmitted via the switching unit 103, and is C via the switching unit 111. It is supplied to the layer processing block unit 113 and processed.
- RAW6, RAW7, RAW8, RAW10, RAW12, RAW14, RAW16, and RAW20 are defined as data types stored in the packet header according to the existing CSI-2 standard when transmitting image data in RAW format. There is.
- transmission of higher-definition images is expected in order to support automatic driving using an in-vehicle camera. Therefore, by applying an extended packet to expand the number of bits of the data type, for example, it is possible to define a higher definition RAW24 for the data type of the extended packet header.
- SmartROI is a technology for transmitting only the image area of interest on the screen.
- the extended packet for example, it becomes possible to transmit coordinate data of 16 bits or more for each of the X coordinate and the Y coordinate.
- GLD is a proposal being considered in CSI-2 ver3.0.
- the in-vehicle camera interface has at least a disconnection detection function, and indicates the line number (16bit) indicating which line of information on the screen, the SourceID (8bit) indicating which camera the information was sent from, and the transmission number. Information such as the message counter (16bit) is required. Furthermore, when used in combination with SROI as described above, it is conceivable that these information will be transmitted on a frame-by-frame basis.
- the SerDes device 26 transmits packets from the D-PHY to the C-PHY. It needs to be converted.
- FIG. 20 is a block diagram showing a configuration example of a communication system 201 adapted to E2E protection as a third embodiment of a communication system to which the present technology is applied.
- the communication system 201 is configured by connecting an image sensor 211, a SerDes device 212, a SerDes device 213, and an application processor 214.
- FIG. 20 describes the case where SERDES is A-PHY as an example, but it also includes the case where it is connected using another SERDES standard such as FPD-LINK3 or the like.
- communication may be performed based on the SERDES standard while maintaining the CIS-2 format (at least Application Specific payload).
- the physical layer processing units 237 and 247 may include a plurality of physical layer processing units of other SERDES standards in addition to the A-PHY, and the physical layer processing units may be switched according to the application. can.
- the image sensor 211 is a CSI-2 transmission circuit 221 compatible with extended mode, a physical layer processing unit (hereinafter referred to as C / D-PHY physical layer processing unit) 222 corresponding to C-PHY, D-PHY, or both. It has at least a slave (hereinafter referred to as an I2C / I3C slave) 223 corresponding to I2C and / or I3C, and a CCI slave 224.
- the SerDes device 212 includes a CSI-2 reception circuit 231, a C / D-PHY physical layer processing unit 232, an I2C / I3C master 233, a CCI master 234, an A-PHY packet generation unit 235 for CSI-2, and an A-PHY for CCI. It has at least a packet transmission / reception unit 236 and a physical layer processing unit 237 corresponding to A-PHY. For example, in the SerDes device 212, a packet for C-PHY or a packet for D-PHY is converted into a packet for A-PHY, and this conversion is determined based on a register setting or the like.
- the SerDes device 213 includes a CSI-2 transmission circuit 241, a C / D-PHY physical layer processing unit 242, an I2C / I3C slave 243, a CCI slave 244, an A-PHY packet reception unit 245 for CSI-2, and an A-PHY for CCI. It has at least a packet transmission / reception unit 246 and a physical layer processing unit 247 corresponding to the A-PHY. For example, in the SerDes device 213, a packet for A-PHY is converted into a packet for C-PHY or a packet for D-PHY, and this conversion is determined based on a register setting or the like.
- the application processor 214 has at least a CSI-2 reception circuit 251 compatible with the extended mode, a C / D-PHY physical layer processing unit 252, an I2C / I3C master 253, and a CCI master 254.
- the communication system 201 is configured in this way, and an extended packet having the above-mentioned structure is transmitted from the image sensor 211 and received by the application processor 214.
- the communication system 201 is configured so that the physical layer processing unit 222 of the image sensor 211 corresponds to D-PHY and the physical layer processing unit 252 of the application processor 22 corresponds to C-PHY, E2E protectionion It is necessary not to violate.
- the communication system 201 limits the protection range of the E2E protection to the Application Specific payload (hereinafter referred to as AS payload), which is a payload peculiar to the application, so that the communication system 201 can be adapted to the E2E protection. That is, the AS payload is converted from a packet for A-PHY to a packet for C-PHY or D-PHY, or from a packet for C-PHY or D-PHY to a packet for A-PHY. Changes are prohibited during conversion.
- AS payload Application Specific payload
- FIG. 21 shows an example of the structure of the extended packet for D-PHY expanded to correspond to E2E protection.
- the AS payload consisting of the extended packet header (ePH), packet data, and extended packet footer (ePF) of the extended packet for D-PHY is limited to the protection range of E2E protection.
- predetermined information required when the protection range of E2E protection is limited to the AS payload is described.
- a packet count PC PacketCount
- VC Virtual Channel
- FIG. 22 shows an example of the structure of the extended packet for C-PHY expanded to correspond to E2E protection.
- the extended packet for C-PHY has an AS payload consisting of an extended packet header (ePH), packet data, and an extended packet footer (ePF), similar to the extended packet for D-PHY. It is limited as the protection range of. Then, in the extended packet header, the packet count PC and the virtual channel VC are described as predetermined information required when the protection range of E2E protection is limited to the AS payload, as in the extended packet for D-PHY. ..
- FIG. 23 shows an example of the structure of the extended packet for A-PHY expanded to correspond to E2E protection.
- the AS payload consisting of the extended packet header (ePH), the packet data, and the extended packet footer (ePF) is limited as the protection range of E2E protection.
- the communication system 201 is an extended packet for A-PHY from an extended packet for D-PHY or C-PHY transmitted from the image sensor 211 to the SerDes device 212. Is generated. Therefore, the packet count PC and the virtual channel VC are already described in the extended packet header of the extended packet for A-PHY.
- the communication system 201 can avoid the AS payload being modified on the transmission path and comply with E2E protection.
- the packet structure shown in FIGS. 21 to 23 can be partially replaced with the corresponding packet having the packet structure as shown in FIGS. 3 to 8 and 15 to 18, and can be used for packet generation. Some will be replaced.
- FIG. 24 is a flowchart illustrating packet transmission / reception processing adapted to E2E protection.
- the extended mode compatible CSI-2 transmission circuit 2221 when the data to be stored in the packet data (for example, image data) is supplied to the extended mode compatible CSI-2 transmission circuit 221, the process is started. Then, in step S101, in the image sensor 211, the extended mode compatible CSI-2 transmission circuit 221 stores the supplied data in the packet data. Further, the extended mode compatible CSI-2 transmission circuit 221 generates an extended packet header describing the virtual channel VC and the packet counting PC as shown in FIG. 21 or FIG. 22 above. Then, the extended mode compatible CSI-2 transmission circuit 221 generates an AS payload by adding an extended packet header and an extended packet footer to the packet data.
- the extended mode compatible CSI-2 transmission circuit 221 when the data to be stored in the packet data (for example, image data) is supplied to the extended mode compatible CSI-2 transmission circuit 221, the process is started. Then, in step S101, in the image sensor 211, the extended mode compatible CSI-2 transmission circuit 221 stores the supplied data in the packet data. Further, the extended mode compatible CSI
- the extended mode compatible CSI-2 transmission circuit 221 has a packet header for C-PHY or D-PHY and a packet for C-PHY or D-PHY for the AS payload generated in step S101. By adding a footer, an extended packet for C-PHY or D-PHY is generated. Then, the extended mode compatible CSI-2 transmission circuit 221 transmits an extended packet for C-PHY or D-PHY to the SerDes device 212 via the C / D-PHY physical layer processing unit 222.
- step S103 in the SerDes device 212, the CSI-2 receiving circuit 231 is transmitted from the image sensor 211 in step S102 via the C / D-PHY physical layer processing unit 232 for C-PHY or D-PHY. Receive an extended packet for. Then, the CSI-2 reception circuit 231 acquires the AS payload excluding the packet header and the packet footer from the received extended packet, and supplies the AS payload as it is to the A-PHY packet generation unit 235 for CSI-2.
- step S104 in the SerDes device 212, the CSI-2 A-PHY packet generation unit 235 uses the A-PHY packet header and the A-PHY packet header for the AS payload supplied from the CSI-2 reception circuit 231. By adding the packet footer of, an extended packet for A-PHY is generated. Then, the CSI-2 A-PHY packet generation unit 235 transmits the extended packet for the A-PHY to the SerDes device 213 via the physical layer processing unit 237 corresponding to the A-PHY.
- step S105 in the SerDes device 213, the A-PHY packet receiving unit 245 for CSI-2 is transmitted from the SerDes device 212 in step S104 via the physical layer processing unit 247 corresponding to the A-PHY. Receive extended packets for the PHY. Then, the A-PHY packet receiving unit 245 for CSI-2 acquires the AS payload excluding the packet header and the packet footer from the received extended packet, and supplies the AS payload as it is to the CSI-2 transmission circuit 241.
- the CSI-2 transmission circuit 241 has a packet header for C-PHY or D-PHY and a C for the AS payload supplied from the A-PHY packet receiving unit 245 for CSI-2 in step S105. -Generate extended packets for C-PHY or D-PHY by adding a packet footer for PHY or D-PHY. Then, the CSI-2 transmission circuit 241 transmits an extended packet for C-PHY or D-PHY to the application processor 214 via the C / D-PHY physical layer processing unit 242.
- step S107 in the application processor 214, the extended mode compatible CSI-2 receiving circuit 251 is for C-PHY transmitted from the SerDes device 213 in step S106 via the C / D-PHY physical layer processing unit 252. Receive extended packets for D-PHY. Then, the extended mode compatible CSI-2 receiving circuit 251 acquires the AS payload excluding the packet header and the packet footer from the received extended packet, and various data stored in the packet data of the AS payload are collected in the subsequent stage. Output to LSI (not shown). After that, the packet transmission / reception processing adapted to E2E protection is terminated, and the same processing is repeated for the next extended packet.
- the communication system 201 can transmit and receive extended packets without modifying the AS payload on the transmission path by executing the packet transmission / reception processing adapted to E2E protection. At this time, for example, even if the physical layer of the image sensor 211 is D-PHY and the physical layer of the application processor 214 is C-PHY, that is, the respective interfaces are different. Can also comply with E2E protection.
- FIG. 25 is a block diagram showing a detailed configuration example of the image sensor 211.
- the same reference numerals are given to the configurations common to the image sensor 21 in FIG. 9, and detailed description thereof will be omitted.
- the image sensor 211 includes a pixel 41, an AD converter 42, an image processing unit 43, a register 47, and a controller 60, similarly to the image sensor 21 in FIG. Further, the I2C / I3C slave 223 and the CCI slave 224 included in the image sensor 211 correspond to the I2C / I3C slave 46 and the CCI slave 59 in FIG. 9, respectively.
- the image sensor 211 includes an extended mode compatible CSI-2 transmission circuit 221 and a physical layer processing unit 222, and the physical layer processing unit 222 corresponds to A-PHY, C-PHY, and D-PHY. There is.
- the extended mode compatible CSI-2 transmission circuit 221 includes an AS payload generation unit 301, a selector 302, an A-PHY packet generation unit 303, a C-PHY packet generation unit 304, and a D-PHY packet generation unit. It is configured to include a unit 305 and a selector 306.
- the AS payload generation unit 301 generates an AS payload limited as the protection range of E2E protection and outputs it to the selector 302.
- the AS payload generation unit 301 has a packing unit 311, an extended packet header generation unit 312, and an extended packet footer generation unit 313.
- the packing unit 311 packs the image data supplied from the image processing unit 43 as the data to be transmitted, and generates the packet data of the number of bytes determined by the packet count PC.
- the controller 60 can control the number of bytes of the packet data generated by the packing unit 311 according to the set value (for example, the image size) stored in the register 47.
- the extended packet header generation unit 312 generates an extended packet header describing the packet count PC and the virtual channel VC and adds it to the packet data, for example, as described with reference to FIGS. 21 to 23.
- the extended packet footer generation unit 313 generates an extended packet footer and adds it to the packet data.
- the selector 302 is provided in parallel with the A-PHY packet generation unit 303, the C-PHY packet generation unit 304, and the D-PHY as output destinations of the AS payload supplied from the AS payload generation unit 301 under the control of the controller 60. Select one of the packet generators 305.
- the A-PHY packet generation unit 303 generates an extended packet for A-PHY from the AS payload supplied via the selector 302 and outputs it to the selector 306.
- the A-PHY packet generation unit 303 has an AAL generation unit 321 and an A-PHY packet header generation unit 322, and an A-PHY packet footer generation unit 323.
- the AAL (A-PHY Adaptation Layer) generation unit 321 divides the AS payload generated by the AS payload generation unit 301 into 380 bytes in a layer called the Adaptation Layer. Then, the packet header generation unit 322 for A-PHY adds the packet header for A-PHY to the AS payload after division, and the packet footer generation unit 323 for A-PHY adds the packet footer for A-PHY. Add.
- AAL A-PHY Adaptation Layer
- the C-PHY packet generation unit 304 generates an extended packet for C-PHY from the AS payload supplied via the selector 302 and outputs it to the selector 306.
- the C-PHY packet generation unit 304 has a C-PHY packet header generation unit 331, a C-PHY packet footer generation unit 332, and a C-PHY lane distribution unit 333.
- the C-PHY packet header generation unit 331 adds a C-PHY packet header to the AS payload generated by the AS payload generation unit 301, and the C-PHY packet footer generation unit 332 C-. Add a packet footer for PHY. Then, the C-PHY lane distribution unit 333 distributes the extended packet for C-PHY to the three lanes according to the CSI-2 standard.
- the D-PHY packet generation unit 305 generates an extended packet for D-PHY from the AS payload supplied via the selector 302 and outputs it to the selector 306.
- the D-PHY packet generation unit 305 has a D-PHY packet header generation unit 341, a D-PHY packet footer generation unit 342, and a D-PHY lane distribution unit 343.
- the packet header generation unit 341 for D-PHY adds a packet header for D-PHY to the AS payload generated by the AS payload generation unit 301, and the packet footer generation unit 342 for D-PHY adds D-PHY. Add a packet footer for PHY. Then, the D-PHY lane distribution unit 343 distributes the D-PHY extended packet to the four lanes according to the CSI-2 standard.
- the selector 306 is provided in parallel with the A-PHY packet generation unit 303, the C-PHY packet generation unit 304, and the D-PHY as an output source of the extended packet supplied to the physical layer processing unit 222 under the control of the controller 60. Select one of the packet generators 305.
- the physical layer processing unit 222 transmits the extended packet for A-PHY in one lane. Further, when the extended packet for C-PHY is supplied from the C-PHY packet generation unit 304, the physical layer processing unit 222 transmits the extended packet for C-PHY in three lanes. Further, when the extended packet for D-PHY is supplied from the D-PHY packet generation unit 305, the physical layer processing unit 222 transmits the extended packet for D-PHY in four lanes.
- the AS payload generation unit 301 is connected to the A-PHY packet generation unit 303, the C-PHY packet generation unit 304, and the D-PHY packet generation unit 305 via the selector 302.
- the extended mode compatible CSI-2 transmission circuit 221 is configured to be connected.
- the image sensor 211 generates an AS payload common to the extended packet for A-PHY, the extended packet for C-PHY, and the extended packet for D-PHY by one AS payload generation unit 301. Can be done.
- the AS payload generation unit 301 can be shared by the A-PHY packet generation unit 303, the C-PHY packet generation unit 304, and the D-PHY packet generation unit 305, whereby the circuit scale can be reduced. .. Therefore, the image sensor 211 can be miniaturized.
- FIG. 26 is a block diagram showing a detailed configuration example of the application processor 214.
- the same reference numerals are given to the configurations common to the application processor 22 of FIG. 10, and detailed description thereof will be omitted.
- the application processor 214 is configured to include the register 73 and the controller 74, similarly to the application processor 22 of FIG.
- the controller 74 may be realized by software.
- the I2C / I3C master 253 and the CCI master 254 included in the application processor 214 correspond to the I2C / I3C master 72 and the CCI master 88 of FIG. 10, respectively.
- the application processor 214 includes an extended mode compatible CSI-2 receiving circuit 251 and a physical layer processing unit 252, and the physical layer processing unit 252 corresponds to A-PHY, C-PHY, and D-PHY. There is.
- the extended mode compatible CSI-2 receiving circuit 251 includes a selector 401, an A-PHY packet receiving section 402, a C-PHY packet receiving section 403, a D-PHY packet receiving section 404, a selector 405, and an AS payload. It is configured to include a receiving unit 406.
- the selector 401 is one of the A-PHY packet receiving unit 402, the C-PHY packet receiving unit 403, and the D-PHY packet receiving unit 404 provided in parallel as the output destination of the extended packet supplied from the physical layer processing unit 252. Select one of.
- the A-PHY packet receiving unit 402 receives the extended packet for A-PHY supplied via the selector 401 and outputs it to the selector 405.
- the A-PHY packet receiving unit 402 has an A-PHY packet header interpretation unit 411, an A-PHY packet footer verification unit 412, and an AAL processing unit 413.
- the packet header interpretation unit 411 for A-PHY interprets the contents described in the packet header for A-PHY, performs the processing necessary for receiving the extended packet for A-PHY, and performs the processing necessary for receiving the extended packet for A-PHY.
- the packet footer verification unit 412 verifies the presence or absence of an error by using the packet footer for A-PHY.
- the AAL processing unit 413 performs a process of combining the adaptation layers divided in the AAL generation unit 321 of FIG. 25.
- the C-PHY packet receiving unit 403 receives the extended packet for C-PHY supplied via the selector 401 and outputs it to the selector 405.
- the C-PHY packet receiving unit 403 has a C-PHY lane merging unit 421, a C-PHY packet header interpreting unit 422, and a C-PHY packet footer verification unit 423.
- the C-PHY lane merging unit 421 merges extended packets for C-PHY distributed into three lanes according to the CSI-2 standard and supplied via the physical layer processing unit 252. Then, the packet header interpretation unit 422 for C-PHY interprets the contents described in the packet header for C-PHY, performs the processing necessary for receiving the extended packet for C-PHY, and performs the processing necessary for receiving the extended packet for C-PHY.
- the packet footer verification unit 423 verifies the presence or absence of an error by using the packet footer for C-PHY.
- the D-PHY packet receiving unit 404 receives the extended packet for D-PHY supplied via the selector 401 and outputs it to the selector 405.
- the D-PHY packet receiving unit 404 has a D-PHY lane merging unit 431, a D-PHY packet header interpreting unit 432, and a D-PHY packet footer verification unit 433.
- the D-PHY lane merging unit 431 merges the extended packets for D-PHY distributed into four lanes according to the CSI-2 standard and supplied via the physical layer processing unit 252. Then, the packet header interpretation unit 432 for D-PHY interprets the contents described in the packet header for D-PHY, performs the processing necessary for receiving the extended packet for D-PHY, and performs the processing necessary for receiving the extended packet for D-PHY.
- the packet footer verification unit 433 verifies the presence or absence of an error by using the packet footer for D-PHY.
- the selector 405 is one of the A-PHY packet receiving unit 402, the C-PHY packet receiving unit 403, and the D-PHY packet receiving unit 404 provided in parallel as an output source of the extended packet supplied to the AS payload receiving unit 406. Select one of.
- the AS payload receiving unit 406 has an unpacking unit 441, an extended packet header interpretation unit 442, and an extended packet footer verification unit 443, corresponding to the AS payload generation unit 301 in FIG. 25.
- the unpacking unit 441 unpacks the image data packed by the packing unit 311.
- the extended packet header interpretation unit 442 interprets the extended packet header generated by the extended packet header generation unit 312, and reads, for example, a packet count PC and a virtual channel VC.
- the extended packet footer verification unit 443 verifies the presence or absence of an error by using the extended packet footer added by the extended packet footer generation unit 313.
- the AS payload receiving unit 406 transmits various data stored in the packet data supplied via the selector 405, such as image data, a CRC error such as an in-vehicle line number and a Source ID, to the subsequent LSI ( Output to) (not shown).
- the AS payload receiving unit 406 informs the A-PHY packet receiving unit 402, the C-PHY packet receiving unit 403, and the D-PHY packet receiving unit 404 via the selector 405.
- the extended mode compatible CSI-2 receiving circuit 251 is configured to be connected.
- the application processor 214 receives the AS payload common to the extended packet for A-PHY, the extended packet for C-PHY, and the extended packet for D-PHY in one AS payload receiving unit 406. Can be done. That is, the AS payload receiving unit 406 can be shared by the A-PHY packet receiving unit 402, the C-PHY packet receiving unit 403, and the D-PHY packet receiving unit 404, whereby the circuit scale can be reduced. .. Therefore, it is possible to realize the miniaturization of the application processor 214.
- the communication system 501 shown in FIG. 27 has a directly connected configuration in which the image sensor 511 and the application processor 512 are directly connected by A-PHY (without using a SerDes device as described with reference to FIG. 40 described later). It has become.
- the image sensor 511 includes an A-PHY processing unit 521, a CSIA processing unit 522, a CSI2 processing unit 523, a CSI2-FS processing unit 524, a CCI processing unit 525, a CCI-FS processing unit 526, and a register 527. ..
- the CCI processing unit 525 is implemented as an upper layer, and the data including the extended packet header ePH and the extended packet footer ePF are connected to the A-PHY processing unit 531 of the application processor 512 by MIPI A-PHY. To send and receive.
- the CCI-FS processing unit 526 compares, for example, the Destination ID included in the extended packet header ePH with the ID (Source ID) possessed by the image sensor 511, and determines whether or not the access is to the image sensor 511.
- the application processor 512 includes an A-PHY processing unit 531, a CSIA processing unit 532, a CSI2 processing unit 533, a CSI2-FS processing unit 534, a CCI processing unit 535, a CCI-FS processing unit 536, a register 537, and a CCI-FS switch 538. Is configured with.
- the CCI processing unit 535 is mounted as an upper layer, and the data including the extended packet header ePH and the extended packet footer ePF are connected to the A-PHY processing unit 521 of the image sensor 511 by MIPI A-PHY. To send and receive.
- the CCI-FS processing unit 536 compares, for example, the Destination ID included in the extended packet header ePH with the ID (Source ID) possessed by the application processor 512, and determines whether or not the access is to the application processor 512.
- the CCI-FS switch 538 transmits / receives data via the CCI-FS processing unit 536 when the CCI-FS processing unit 536 is valid, and the CCI-FS when the CCI-FS processing unit 536 is invalid. Switching is performed so that data is transmitted / received without going through the processing unit 536.
- FIG. 28 shows an example of the packet configuration of the read command generated by the CCI-FS processing unit 536 of the application processor 512 at the time of read access.
- Extended VC, extended DT, extended PFEN, and extended PHEN are stored in the extended packet header ePH0.
- the extended DT is information indicating the CCI protocol (I2C), and routing processing is performed using the extended DT.
- Source ID [7: 1] and Packet Length are stored in the extended packet header ePH1.
- the Source ID is information indicating the source of the CCI protocol (I2C), and response processing is performed based on the Source ID.
- PacketLength is information indicating the data length.
- Security Descriptor and Message Counter are stored in the extended packet header ePH2.
- Security Descriptor indicates whether or not to use security, and if security is not used, indicates "8'h0".
- MessageCounter is information indicating the bucket order, indicates the count value obtained by counting the messages, and indicates "16'h5" when the message is the fifth.
- the Destination ID [7: 1] indicates the slave address of the CCI processing unit 525 of the image sensor 511, which is "7'h0D" in the illustrated example.
- the Destination ID is information indicating a destination of the CCI protocol (I2C), and routing is performed based on the Destination ID and a communication route is referenced.
- Read / Write indicates read or write of data, and in the case of read, indicates "1'b1".
- the Destination Address indicates the address of the register 527 of the image sensor 511 which is the final destination, and is "0x0200" in the illustrated example.
- various data are stored in the AP (CCI) payload.
- the AP (CCI) payload may not be sent when security is off, but may store and send dummy data when security is on.
- the extended packet footer ePF1 is not sent when security is off.
- the extended packet footer ePF0 contains security data (for example, hash calculated value) used for confirming data integrity, and specifically, CRC calculated value is stored.
- a read command having such a packet structure is generated in the CCI-FS processing unit 536 and supplied to the A-PHY processing unit 531.
- FIG. 29 shows an example of the packet configuration of the read command output from the A-PHY processing unit 531 of the application processor 512 at the time of read access.
- the A-PHY processing unit 531 adds an A-PHY header and an A-PHY footer to the read command supplied from the CCI-FS processing unit 536 as the protection range of E2E Protection.
- the read command of such a packet structure is A-PHY transferred by the A-PHY processing unit 531 of the application processor 512. Then, in the image sensor 511, the A-PHY processing unit 521 removes the A-PHY header and the A-PHY footer from the read command. After that, the read command is supplied to the CCI-FS processing unit 526 via the CCI processing unit 525 of the slave address "7'h0D" indicated by the Destination ID.
- FIG. 30 shows an example of the packet structure of the read command supplied to the CCI-FS processing unit 526 and the read data generated by the CCI-FS processing unit 526 at the time of read access.
- the read command with the packet structure shown in FIG. 28, that is, the read command within the protection range of E2E Protection in the A-PHY transfer, is supplied to the CCI-FS processing unit 526.
- the read data of such a packet structure is generated in the CCI-FS processing unit 526 and supplied to the A-PHY processing unit 521.
- FIG. 31 shows an example of a packet configuration of read data output from the A-PHY processing unit 521 of the image sensor 511 at the time of read access.
- the A-PHY processing unit 521 adds an A-PHY header and an A-PHY footer to the read data supplied from the CCI-FS processing unit 526 as the protection range of E2E Protection.
- the read data of such a packet structure is A-PHY transferred by the A-PHY processing unit 521 of the image sensor 511. Then, in the application processor 512, the A-PHY processing unit 531 removes the A-PHY header and the A-PHY footer from the read data, and the read data is supplied to the CCI-FS processing unit 536.
- FIG. 32 shows an example of the packet structure of the read data supplied to the CCI-FS processing unit 536 at the time of read access.
- the read data having the packet structure as shown in FIG. 30, that is, the read data within the protection range of E2E Protection in the A-PHY transfer is supplied to the CCI-FS processing unit 536.
- FIG. 33 shows an example of a packet configuration of write data generated by the CCI-FS processing unit 536 of the application processor 512 at the time of write access.
- Extended VC, extended DT, extended PFEN, and extended PHEN are stored in the extended packet header ePH0.
- Source ID [7: 1] and Packet Length are stored in the extended packet header ePH1.
- Security Descriptor and Message Counter are stored in the extended packet header ePH2.
- Security Descriptor indicates whether or not to use security, and if security is not used, indicates "8'h0".
- MessageCounter indicates the count value obtained by counting the messages, and indicates "16'h4" when the message is the fourth.
- Destination ID [7: 1] Read / Write, and Destination Address are stored in the extended packet header ePH3.
- the Destination ID [7: 1] indicates the slave address of the CCI processing unit 525 of the image sensor 511, which is "7'h0D" in the illustrated example.
- Read / Write indicates read or write of data, and in the case of write, indicates "1'b0".
- the Destination Address indicates the address of the register 527 of the image sensor 511 which is the final destination, and is "0x1234" in the illustrated example.
- the AP (CCI) payload stores the data (Data0 [7: 0]) to be written to the image sensor 511, and the 0xFF value becomes the write data.
- the extended packet footer ePF1 is not sent when security is off.
- CRC calculated value is stored in the extended packet footer ePF0.
- write data having such a packet structure is generated in the CCI-FS processing unit 536 and supplied to the A-PHY processing unit 531.
- FIG. 34 shows an example of a packet configuration of write data output from the A-PHY processing unit 531 of the application processor 512 at the time of write access.
- the A-PHY processing unit 531 adds an A-PHY header and an A-PHY footer to the write data supplied from the CCI-FS processing unit 536 as the protection range of E2E Protection.
- the write data of such a packet structure is A-PHY transferred by the A-PHY processing unit 531 of the application processor 512. Then, in the image sensor 511, the A-PHY processing unit 521 removes the A-PHY header and the A-PHY footer from the write data. After that, the write data is supplied to the CCI-FS processing unit 526 via the CCI processing unit 525 of the slave address “7'h0D” indicated by the Destination ID.
- FIG. 35 shows an example of the packet structure of the write data supplied to the CCI-FS processing unit 526 at the time of write access.
- the write data having the packet structure shown in FIG. 33 that is, the write data within the protection range of E2E Protection in the A-PHY transfer, is supplied to the CCI-FS processing unit 526.
- the CCI-FS processing unit 526 transfers the CCI command ID information, that is, the address "0x1234" of the register 527 indicated by the source address information (Destination Address) of the extended packet header ePH of the read command to the AP (CCI) payload. Write the stored data.
- the extended packet header ePH uses fields such as extended VC, extended DT, and Message Counter.
- the length of the extended packet header ePH can be changed by the field value (epFEN field) of the extended packet header ePH.
- Length Packet Length (PL) ⁇ Data Byte Width.
- PL Packet Length
- PL Packet Length
- Data Byte Width Data Byte Width.
- the packet data stores the write data for the payload data.
- the packet data stores read data for the payload data.
- a 1-byte data payload indicating the type of control is attached to the packet data.
- the length of the extended packet footer ePF1 can be changed by the field setting value (epFEN field) of the extended packet header ePH.
- security-related information can be added.
- the extended packet footer ePF0 is a field setting value of the extended packet header ePH, and CRC-32 calculated from the packet data can be added.
- steps S211 to S222 initial setting and confirmation operation are performed.
- step S211 the application processor 512 to the image sensor 511 is read-accessed twice to the Capability register of the CCI-FS processing unit 526.
- the number of times of read access is not limited to two times, and may be set arbitrarily, for example, in terms of functional safety, and may be one time or a plurality of times of three or more times.
- step S212 in the application processor 512, the CSI2-FS processing unit 524 determines whether or not the Capability register value of the CCI-FS processing unit 526 is 1'b1 for the result of the read access in step S211. judge. If it is determined in step S212 that the Capability register value of the CCI-FS processing unit 526 is not 1'b1 both times, the process proceeds to step S213.
- the CSI2-FS processing unit 524 determines whether or not the number of retransmissions is 3 or more.
- the number of retransmissions is not limited to three, and can be set to any number, and the same applies to the number of retransmissions described below. If it is determined in step S213 that the number of retransmissions is not three or more (once or twice), the process returns to step S211 and the same process is repeated thereafter.
- step S212 determines whether the Capability register value of the CCI-FS processing unit 526 is 1'b1 both times. If it is determined in step S212 that the Capability register value of the CCI-FS processing unit 526 is 1'b1 both times, the process proceeds to 214.
- step S214 one write access is performed from the application processor 512 to the image sensor 511 to the Enable register of the CCI-FS processing unit 526.
- step S215 in the image sensor 511, the CCI-FS processing unit 526 performs one write access to the Enable register of the CCI-FS processing unit 536 of the application processor 512.
- step S216 the slave address of the opposite image sensor 511 is set in the Destination SID register of the CCI-FS processing unit 536 of the application processor 512.
- step S217 the ePH register of the CCI-FS processing unit 536 of the application processor 512 is set.
- step S218 the ePH register of the CCI-FS processing unit 526 is set from the application processor 512 to the image sensor 511.
- step S219 read access is performed to the Enable register and Error register of the CCI-FS processing unit 526 from the application processor 512 to the image sensor 511.
- step S220 in the application processor 512, the CCI-FS processing unit 536 determines that the Enable register value of the CCI-FS processing unit 526 is 1'b1 and the Error register value is 1'b1 for the result of the read access in step S219. It is determined whether or not it is 0.
- step S220 If it is determined in step S220 that the Enable register value of the CCI-FS processing unit 526 is not 1'b1 or the Error register value is not 0, the process proceeds to step S221.
- step S221 in the application processor 512, the CSI2-FS processing unit 524 determines whether or not the number of retransmissions is 3 or more. If it is determined in step S221 that the number of retransmissions is 3 or more, the process returns to step S211 and the same process is repeated thereafter.
- step S213 determines whether the number of retransmissions is 3 or more, or if it is determined in step S221 that the number of retransmissions is not 3 or more (1 or 2), the process is step S222. Proceed to.
- step S222 communication is performed by CCI without using CCI-FS, and then the communication process is terminated.
- step S220 determines whether the Enable register value of the CCI-FS processing unit 526 is 1'b1 and the Error register value is 0, the process proceeds to step S223.
- steps S223 to S234 a write operation using CCI-FS is performed.
- step S223 the CCI-FS processing unit 536 of the application processor 512 sets the ePH register so that the write operation is performed.
- step S224 the CCI-FS processing unit 536 of the application processor 512 sets the write data register.
- step S225 the CCI-FS processing unit 536 of the application processor 512 sets the command execution register to 1.
- step S226, in the application processor 512, the A-PHY processing unit 531 sets the write data generated by the CCI-FS processing unit 536 as the protection range of the E2E Protection as the A-PHY, as shown in FIG. 34 described above. Add header and A-PHY footer to perform A-PHY transfer.
- step S227 in the image sensor 511, the A-PHY processing unit 521 removes the A-PHY header and the A-PHY footer from the write data, and supplies the protection range of E2E Protection to the CCI-FS processing unit 526.
- step S229 in the image sensor 511, the CCI-FS processing unit 526 determines whether or not the Source ID of the image sensor 511 confirmed in step S228 and the Destination SID of the extended packet header ePH match.
- step S229 If it is determined in step S229 that the Source ID of the image sensor 511 and the Destination SID of the extended packet header ePH match, the process proceeds to step S230.
- step S230 in the image sensor 511, the CCI-FS processing unit 526 confirms the Message Counter from the contents of the extended packet header ePH.
- step S231 in the image sensor 511, the CCI-FS processing unit 526 determines whether or not the Message Counter (reception) of the image sensor 511 confirmed in step S230 and the Message Counter of the extended packet header ePH match. ..
- step S231 If it is determined in step S231 that the Message Counter (receive) of the image sensor 511 and the Message Counter (reception) of the extended packet header ePH match, the process proceeds to step S232.
- step S232 in the image sensor 511, the CCI-FS processing unit 526 confirms the CRC from the contents of the extended packet footer ePF.
- step S233 in the image sensor 511, the received value (ePF0) of the extended packet footer ePF confirmed by the CCI-FS processing unit 526 in step S232 and the CRC calculation result calculated by the CCI-FS processing unit 526 match. Judge whether or not.
- step S233 If it is determined in step S233 that the received value (ePF0) of the extended packet footer ePF and the CRC calculation result match, the process proceeds to step S234.
- step S234 in the image sensor 511, the CCI-FS processing unit 526 performs write processing for writing write data to the address of the register 527 from the contents of the extended packet header ePH and the extended packet footer ePF. After that, the process proceeds to step S235.
- steps S235 to S247 a read operation using CCI-FS is performed.
- step S235 in the application processor 512, the CCI-FS processing unit 536 sets the ePH register so that the read operation is performed.
- step S236 in the application processor 512, the CCI-FS processing unit 536 sets the command execution register to 1.
- step S237 in the application processor 512, the A-PHY processing unit 531 sets the write data generated by the CCI-FS processing unit 536 as the protection range of the E2E Protection as the A-PHY, as shown in FIG. 29 described above. Add header and A-PHY footer to perform A-PHY transfer.
- step S238 in the image sensor 511, the A-PHY processing unit 521 removes the A-PHY header and the A-PHY footer from the write data, and supplies the protection range of E2E Protection to the CCI-FS processing unit 526.
- step S239 in the image sensor 511, the CCI-FS processing unit 526 confirms the Source ID of the image sensor 511 and the Destination SID of the extended packet header ePH from the contents of the extended packet header ePH.
- step S240 in the image sensor 511, the CCI-FS processing unit 526 determines whether or not the Source ID of the image sensor 511 confirmed in step S239 and the Destination SID of the extended packet header ePH match.
- step S240 If it is determined in step S240 that the Source ID of the image sensor 511 and the Destination SID of the extended packet header ePH match, the process proceeds to step S241.
- step S241 in the image sensor 511, the CCI-FS processing unit 526 confirms the Message Counter from the contents of the extended packet header ePH.
- step S242 in the image sensor 511, the CCI-FS processing unit 526 determines whether or not the Message Counter (receive) of the image sensor 511 confirmed in step S241 matches the Message Counter of the extended packet header ePH. ..
- step S242 If it is determined in step S242 that the Message Counter (receive) of the image sensor 511 and the Message Counter of the extended packet header ePH match, the process proceeds to step S243.
- step S243 in the image sensor 511, the CCI-FS processing unit 526 confirms the CRC from the contents of the extended packet footer ePF.
- step S244 in the image sensor 511, the received value (ePF0) of the extended packet footer ePF confirmed by the CCI-FS processing unit 526 in step S243 and the CRC calculation result calculated by the CCI-FS processing unit 526 match. Judge whether or not.
- step S244 If it is determined in step S244 that the received value (ePF0) of the extended packet footer ePF and the CRC calculation result match, the process is terminated.
- step S229 of FIG. 38 or step S240 of FIG. 39 the process proceeds to step S245.
- step S245 the Error register (Routing) on the image sensor 511 side is set to 1, and then the process is terminated.
- step S231 of FIG. 38 or step S242 of FIG. 39 determines whether the Message Counter (receive) of the image sensor 511 and the Message Counter of the extended packet header ePH do not match. If it is determined in step S231 of FIG. 38 or step S242 of FIG. 39 that the Message Counter (receive) of the image sensor 511 and the Message Counter of the extended packet header ePH do not match, the process proceeds to step S246. ..
- step S246 the Error register (MC) on the image sensor 511 side is set to 1, and then the process is terminated.
- step S233 of FIG. 38 or step S244 of FIG. 39 determines whether the received value (ePF0) of the extended packet footer ePF and the CRC calculation result do not match.
- step S247 the Error register (CRC) on the image sensor 511 side is set to 1, and then the process is terminated.
- CRC Error register
- the communication system 601 shown in FIG. 40 has a SerDes connection configuration in which an image sensor 611 and an application processor 614 are connected via a SerDes device 612 on the slave side and a SerDes device 613 on the master side.
- the image sensor 611 includes an I2C / I3C slave 621, a CCI processing unit 622, a CSI2-FS processing unit 623, and a register 624.
- the SerDes device 612 on the slave side includes an A-PHY processing unit 631, a CSIA processing unit 632, a CSI2-FS processing unit 633, an I2C / I3C master 634, a CCI processing unit 635, a CCI-FS processing unit 636, and a register 637. It is composed of.
- the SerDes device 613 on the master side includes an A-PHY processing unit 641, a CSIA processing unit 642, a CSI2-FS processing unit 643, an I2C / I3C slave 644, a CCI processing unit 645, a CCI-FS processing unit 646, and a register 647. It is composed of.
- the application processor 614 includes an I2C / I3C master 651, a CCI processing unit 652, a CCI-FS processing unit 653, a register 654, and a CCI-FS switch 655.
- SerDes connection configuration as shown in FIG. 40, if the CCI configuration or CCI-FS configuration is implemented as an upper layer protocol, another SerDes standard may be used. For example, by implementing the configuration of the extended packet header ePH, the extended packet footer ePF1, and the extended packet footer ePF0 as shown in FIG. 41 in the Payload from the Application Layer or the upper layer corresponding to the layer below it.
- Various SerDes related items such as PCIE, USB, DisplayPort, HDMI (registered trademark), LVDS, and FPD-LINK can be applied.
- FIG. 41 shows an example of the packet configuration of the read command generated by the CCI-FS processing unit 653 of the application processor 614 at the time of read access.
- the details thereof are the same as those of the read command described with reference to FIG. 28 described above.
- a read command having such a packet structure is generated by the CCI-FS processing unit 653 and supplied to the I2C / I3C master 651.
- FIG. 42 shows an example of the packet configuration of the read command output from the I2C / I3C master 651 of the application processor 614 at the time of read access.
- the I2C / I3C master 651 has the start condition S followed by the sensor address of the connection destination, that is, the address (Slave) of the CCI processing unit 645 of the SerDes device 613 on the master side in the configuration shown in FIG. 40. Address + W 8-bit) is sent.
- the register address (Register Address [15: 8] and Register Address [7: 0]) of the register 647 of the SerDes device 613 on the master side is transmitted.
- the read command of such a packet structure is transferred by I2C / I3C from the I2C / I3C master 651 of the application processor 614.
- FIG. 43 shows an example of the packet configuration of the read command output from the A-PHY processing unit 641 of the SerDes device 613 on the master side at the time of read access.
- the A-PHY processing unit 641 adds an A-PHY header and an A-PHY footer to the read command acquired by the I2C / I3C slave 644 as the protection range of E2E Protection.
- the read command of such a packet structure is A-PHY transferred by the A-PHY processing unit 641 of the SerDes device 613 on the master side.
- the A-PHY processing unit 631 removes the A-PHY header and the A-PHY footer from the read command.
- the read command is supplied to the CCI processing unit 635 of the slave address "7'h0E" indicated by the Destination ID via the CSIA processing unit 632, the CSI2-FS processing unit 633, and the CCI-FS processing unit 636, and then I2C. It is supplied to / I3C master 634.
- FIG. 44 shows an example of the packet configuration of the read command output from the I2C / I3C master 634 at the time of read access.
- the I2C / I3C master 634 has the start condition S followed by the sensor address of the connection destination, that is, the address of the CCI processing unit 622 of the image sensor 611 (Slave Address + W in the configuration shown in FIG. 40). 8-bit) is sent.
- the register address (Register Address [15: 8] and Register Address [7: 0]) of the register 624 of the image sensor 611 is transmitted.
- FIG. 45 shows an example of the packet structure of the read command supplied to the CSI2-FS processing unit 623 and the read data generated by the CSI2-FS processing unit 623 at the time of read access.
- the read command with the packet structure shown in FIG. 41 that is, the read command within the protection range of E2E Protection in the A-PHY transfer, is supplied to the CSI2-FS processing unit 623.
- the read data of such a packet structure is generated in the CCI-FS processing unit 623 and supplied to the I2C / I3C slave 621 via the CCI processing unit 622.
- FIG. 46 shows an example of a packet configuration of read data output from the I2C / I3C slave 621 of the image sensor 611 at the time of read access.
- the I2C / I3C slave 621 has the start condition S followed by the sensor address of the connection destination, that is, the address of the I2C / I3C master 634 of the SerDes device 612 on the slave side in the configuration shown in FIG. Slave Address + W 8-bit) is sent.
- the read data storage address (address of the register 624 of the image sensor 611) is transmitted, and the address of the I2C / I3C master 634 (Slave Address + R 8-bit) of the SerDes device 612 on the slave side is transmitted. Will be done.
- the read command of such a packet structure is transferred from the I2C / I3C slave 621 of the image sensor 611 by I2C / I3C.
- FIG. 47 shows an example of a packet configuration of read data output from the A-PHY processing unit 631 of the SerDes device 612 on the slave side at the time of read access.
- the A-PHY processing unit 631 adds an A-PHY header and an A-PHY footer to the read data acquired by the I2C / I3C master 634 as the protection range of E2E Protection.
- the read data of such a packet structure is A-PHY transferred by the A-PHY processing unit 631 of the SerDes device 612 on the slave side. Then, in the SerDes device 613 on the master side, the A-PHY processing unit 641 removes the A-PHY header and the A-PHY footer from the read data.
- the read data is supplied to the I2C / I3C slave 644 via the CSIA processing unit 642, the CSI2-FS processing unit 643, the CCI-FS processing unit 646, and the CCI processing unit 635.
- FIG. 48 shows an example of a packet configuration of read data output from the I2C / I3C slave 644 of the SerDes device 613 on the master side at the time of read access.
- the I2C / I3C slave 644 has the start condition S followed by the sensor address of the connection destination, that is, in the configuration shown in FIG. 40, the address of the CCI processing unit 635 of the SerDes device 613 on the master side ( Slave Address + W 8-bit) is sent.
- the register address (Register Address [15: 8] and Register Address [7: 0]) of the register 647 of the SerDes device 613 on the master side is transmitted, and the address of the CCI processing unit 635 (Slave Address + R) is transmitted.
- FIG. 49 shows an example of the packet structure of the read data supplied to the CCI-FS processing unit 653 at the time of read access.
- the read data having the packet structure as shown in FIG. 45 that is, the read data within the protection range of E2E Protection in the A-PHY transfer, is supplied to the CCI-FS processing unit 653.
- steps S301 to S317 initial setting and confirmation operation are performed.
- step S301 the slave address of the opposite image sensor 611 is set in the Destination SID register of the CCI-FS processing unit 653 of the application processor 614.
- step S302 the ePH register of the CCI-FS processing unit 653 of the application processor 614 is set.
- step S303 the Destination SID of the Bridge configuration of the CCI-FS processing unit 653 of the application processor 614 is set, and the SerDes device 613 on the master side is registered.
- the Address, attribution, and Timeout_no1 registers are also set in the same manner, and the same settings are made thereafter.
- step S304 the ePH register of the CCI-FS processing unit 643 is set from the application processor 614 to the SerDes device 613 on the master side.
- step S305 the destination SID of the Bridge configuration of the CCI-FS processing unit 643 is set from the application processor 614 to the SerDes device 613 on the master side, and the SerDes device 612 on the slave side is registered.
- step S306 read access is performed from the application processor 614 to the SerDes device 613 on the master side to the Error register of the CCI-FS processing unit 643.
- step S307 in the application processor 614, whether or not the register value of the Error register of the CCI-FS processing unit 643 of the SerDes device 613 on the master side is 0 as a result of the read access in step S306. Is determined.
- step S307 If it is determined in step S307 that the register value of the Error register of the CCI-FS processing unit 643 of the SerDes device 613 on the master side is not 0 (other than 0), the process proceeds to step S308.
- step S308 in the application processor 614, when the CCI-FS processing unit 653 determines whether or not the number of retransmissions is 3 or more, and determines that the number of retransmissions is not 3 or more (1 or 2 times). , The process returns to step S304, and the same process is repeated thereafter.
- step S307 if it is determined in step S307 that the register value of the Error register of the CCI-FS processing unit 643 of the SerDes device 613 on the master side is 0, the process proceeds to step S309.
- step S309 the ePH register of the CCI-FS processing unit 636 is set from the application processor 614 to the SerDes device 612 on the slave side.
- step S310 the destination SID of the Bridge configuration of the CCI-FS processing unit 636 is set from the application processor 614 to the SerDes device 612 on the slave side, and the SerDes device 612 on the slave side is registered.
- step S311 read access is performed from the application processor 614 to the SerDes device 612 on the slave side to the Error register of the CCI-FS processing unit 636.
- step S312 in the application processor 614, the CCI-FS processing unit 653 determines whether or not the register value of the Error register of the CCI-FS processing unit 636 of the SerDes device 612 on the slave side is 0 as a result of the read access in step S311. Is determined.
- step S312 If it is determined in step S312 that the register value of the Error register of the CCI-FS processing unit 636 of the SerDes device 612 on the slave side is not 0 (other than 0), the process proceeds to step S313.
- step S313 in the application processor 614, when the CCI-FS processing unit 653 determines whether or not the number of retransmissions is 3 or more, and determines that the number of retransmissions is not 3 or more (1 or 2 times). , The process returns to step S309, and the same process is repeated thereafter.
- step S312 determines whether the register value of the Error register of the CCI-FS processing unit 636 of the SerDes device 612 on the slave side is 0, the process proceeds to step S314.
- step S314 the ePH register of the CCI-FS processing unit 623 is set from the application processor 614 to the image sensor 611.
- step S315 read access is performed from the application processor 614 to the image sensor 611 to the Error register of the CCI-FS processing unit 623.
- step S316 in the application processor 614, the CCI-FS processing unit 653 determines whether or not the register value of the Error register of the CCI-FS processing unit 623 of the image sensor 611 is 0 as a result of the read access in step S315. do.
- step S316 If it is determined in step S316 that the register value of the Error register of the CCI-FS processing unit 623 of the image sensor 611 is not 0 (other than 0), the process proceeds to step S317.
- step S317 in the application processor 614, when the CCI-FS processing unit 653 determines whether or not the number of retransmissions is 3 or more, and determines that the number of retransmissions is not 3 or more (1 or 2 times). , The process returns to step S314, and the same process is repeated thereafter.
- step S308 if it is determined in step S308, step S313, or step S317 that the number of retransmissions is 3 or more, the process returns to step S301, and the same process is repeated thereafter.
- step S316 determines whether the register value of the Error register of the CCI-FS processing unit 623 of the image sensor 611 is 0, the process proceeds to step S318.
- steps S318 to S327 a write operation using CCI-FS is performed.
- step S318 the CCI-FS processing unit 653 of the application processor 614 sets the ePH register so that the write operation is performed.
- step S319 the CCI-FS processing unit 653 of the application processor 614 sets the write data register.
- step S320 the CCI-FS processing unit 653 of the application processor 614 sets the command execution register to 1 and issues a write command.
- step S321 the application processor 614 performs Sequence A_Write (at the time of AP) processing described later with reference to FIG. 53.
- step S322 the SerDes device 613 on the master side performs Sequence B (at the time of SerDes (Master)) processing described later with reference to FIG. 56.
- FIG. 56 describes the Sequence B (at the time of SerDes (Slave)) process executed by the SerDes device 612 on the slave side, but the SerDes device 613 on the master side also executes the same process by the corresponding blocks. can do.
- step S323 the A-PHY processing unit 641 receives the A-PHY header and A from the extended DT of the extended packet header ePH of the SerDes device 613 on the master side via the CSI2-FS processing unit 643 and the CSIA processing unit 642. -Add a PHY footer to perform A-PHY transfer.
- step S324 the SerDes device 612 on the slave side performs Sequence B (at the time of SerDes (Slave)) processing described later with reference to FIG. 56.
- step S325 the SerDes device 612 on the slave side performs Sequence A_Write (at the time of SerDes (Slave)) processing described later with reference to FIG. 53.
- FIG. 53 describes the Sequence A_Write (at the time of AP) processing executed by the application processor 614, the SerDes device 612 on the slave side can also execute the same processing by the corresponding blocks.
- step S326 the image sensor 611 performs Sequence B (at the time of Image Sensor) processing described later with reference to FIG. 56.
- FIG. 56 describes Sequence B (at the time of SerDes (Slave)) processing executed by the SerDes device 612 on the slave side, but the image sensor 611 may also execute the same processing by the corresponding blocks. can.
- step S327 in the image sensor 611, the CCI-FS processing unit 623 performs write processing for writing write data to the address of the register 624 from the contents of the extended packet header ePH and the extended packet footer ePF. After that, the process proceeds to step S328.
- steps S328 to S344 a read operation using CCI-FS is performed.
- step S328 the CCI-FS processing unit 653 of the application processor 614 sets the ePH register so as to perform a read operation.
- step S329 the CCI-FS processing unit 653 of the application processor 614 sets the read data register.
- step S330 the CCI-FS processing unit 653 of the application processor 614 sets the command execution register to 1 and issues a read command.
- step S331 the application processor 614 performs Sequence A_Read_CMD (at the time of AP) processing described later with reference to FIG. 54.
- Sequence A_Read_CMD at the time of AP
- the two branched processes are performed in parallel, the process proceeds to step S332 according to the branch A, and the process proceeds to step S339 according to the branch B.
- step S332 the SerDes device 613 on the master side performs Sequence B (at the time of SerDes (Master)) processing described later with reference to FIG. 56.
- FIG. 56 describes the Sequence B (at the time of SerDes (Slave)) process executed by the SerDes device 612 on the slave side, but the SerDes device 613 on the master side also executes the same process by the corresponding blocks. can do.
- step S333 the A-PHY processing unit 641 receives the A-PHY header and A from the extended DT of the extended packet header ePH of the SerDes device 613 on the master side via the CSI2-FS processing unit 643 and the CSIA processing unit 642. -Add a PHY footer to perform A-PHY transfer.
- step S334 the SerDes device 612 on the slave side performs Sequence B (at the time of SerDes (Slave)) processing described later with reference to FIG. 56.
- step S355 the SerDes device 612 on the slave side performs SequenceA_Read_CMD (at the time of SerDes (Slave)) processing described later with reference to FIG. 54.
- FIG. 54 describes the Sequence A_Read_CMD (at the time of AP) processing executed in the application processor 614, but the SerDes device 612 on the slave side can also execute the same processing by the corresponding blocks.
- the Sequence A_Read_CMD at the time of SerDes (Slave)
- the process does not proceed to the branch A, and the process proceeds to step S336 according to the branch B.
- step S336 the SerDes device 612 on the slave side performs Sequence A_Read_Data (at the time of SerDes (Slave)) processing described later with reference to FIG. 57.
- FIG. 57 describes the Sequence A_Read_Data (at the time of AP) processing executed in the application processor 614, but the SerDes device 612 on the slave side can also execute the same processing by the corresponding blocks.
- step S337 the A-PHY processing unit 631 receives the A-PHY header and A from the extended DT of the extended packet header ePH of the SerDes device 612 on the slave side via the CSI2-FS processing unit 633 and the CSIA processing unit 632. -Add a PHY footer to perform A-PHY transfer.
- step S3308 the SerDes device 613 on the master side performs Sequence B (at the time of SerDes (Master)) processing described later with reference to FIG. 56.
- FIG. 56 describes Sequence B (at the time of SerDes (Slave)) processing executed by the SerDes device 612 on the slave side, but the same processing is also performed by the corresponding blocks in the SerDes device 613 on the master side. Can be executed.
- step S339 the application processor 614 performs Sequence A_Read_Data (at the time of AP) processing described later with reference to FIG. 57.
- step S340 the application processor 614 performs Sequence B (at the time of AP) processing described later with reference to FIG. 56.
- FIG. 56 describes the Sequence B (at the time of SerDes (Slave)) processing executed by the SerDes device 612 on the slave side, but the application processor 614 also executes the same processing by the corresponding blocks. Can be done.
- step S341 in the application processor 614, the CCI-FS processing unit 653 stores read data in the address of the register 654 from the contents of the extended packet header ePH and the extended packet footer ePF.
- step S342 the above-mentioned read process is performed by the image sensor 611, the SerDes device 612 on the slave side, the SerDes device 613 on the master side, and the application processor 614 to check the error register.
- step S343 whether the image sensor 611, each device (SerDes device 612 on the slave side, SerDes device 613 on the master side, and application processor 614) has a register value of 0 in the Error register of each CCI-FS processing unit. Judge whether or not.
- step S343 If it is determined in step S343 that the register values of all the CCI-FS processing units are not 0 (there is a register value other than 0 in any of them), the process proceeds to step S344.
- step S344 the Error-related register value of the CCI-FS processing unit whose register value is not 0 is confirmed, the Error register is cleared by 1 and retransmission processing is performed.
- step S343 if it is determined in step S343 that the register values of all the CCI-FS processing units are 0, or after the processing of step S344, the processing is terminated.
- FIG. 53 is a flowchart illustrating the Sequence A_Write (at the time of AP) process performed in step S321 of FIG. 51.
- the process performed by the application processor 614 will be described as an example in FIG. 53, the Sequence A_Write (at the time of SerDes (Slave)) process in step S325 of FIG. 51 is also performed in the same manner.
- step S351 in the application processor 614, the I2C / I3C master 651 issues a start command and a slave address (Slave Address + W 8-bit shown in FIG. 42).
- step S352 the application processor 614 determines whether or not the I2C / I3C master 651 has received an ACK response from the I2C / I3C slave 644 of the SerDes device 613 on the master side. If it is determined in step S352 that the ACK response from the I2C / I3C slave 644 of the SerDes device 613 on the master side has been received, the process proceeds to step S353.
- step S353 in the application processor 614, the I2C / I3C master 651 issues a register address (Register Address [15: 8] shown in FIG. 42).
- Register Address [15: 8] shown in FIG. 42.
- step S354 the application processor 614 determines whether or not the I2C / I3C master 651 has received an ACK response from the I2C / I3C slave 644 of the SerDes device 613 on the master side. If it is determined in step S354 that an ACK response from the I2C / I3C slave 644 of the SerDes device 613 on the master side has been received, the process proceeds to step S355.
- step S355 in the application processor 614, the I2C / I3C master 651 determines whether or not the transfer of the final data is completed. If it is determined in step S355 that the transfer of the final data has not been completed, the process returns to step S353, and the same process is repeated thereafter.
- step S355 if it is determined in step S355 that the transfer of the final data is completed, the process proceeds to step S356.
- step S356 in the application processor 614, the I2C / I3C master 651 issues a stop command. As a result, the Sequence A_Write (at the time of AP) process ends, and the process returns to step S322 in FIG.
- step S352 or S354 if it is determined in step S352 or S354 that the ACK response from the I2C / I3C slave 644 of the SerDes device 613 on the master side has not been received, the process proceeds to step S357.
- step S357 in the application processor 614, the I2C / I3C master 651 issues a stop command. In this case, the Sequence A_Write (at the time of AP) processing ends and the communication processing itself ends.
- FIG. 54 is a flowchart illustrating the Sequence A_Read_CMD (at the time of AP) process performed in step S331 of FIG. 52. Although the process performed by the application processor 614 will be described as an example in FIG. 54, the Sequence A_Read_CMD (at the time of SerDes (Slave)) process in step S335 of FIG. 52 is also performed in the same manner.
- step S361 in the application processor 614, the I2C / I3C master 651 issues a start command and a slave address (Slave Address + W 8-bit shown in FIG. 42) to start the timer.
- step S362 the application processor 614 determines whether or not the I2C / I3C master 651 has received an ACK response from the I2C / I3C slave 644 of the SerDes device 613 on the master side. If it is determined in step S362 that the ACK response from the I2C / I3C slave 644 of the SerDes device 613 on the master side has been received, the process proceeds to step S363.
- step S363 in the application processor 614, the I2C / I3C master 651 issues a register address (Register Address [15: 8] shown in FIG. 42).
- Register Address [15: 8] shown in FIG. 42.
- step S364 the application processor 614 determines whether or not the I2C / I3C master 651 has received an ACK response from the I2C / I3C slave 644 of the SerDes device 613 on the master side.
- step S364 If it is determined in step S364 that an ACK response from the I2C / I3C slave 644 of the SerDes device 613 on the master side has been received, the process proceeds to step S365.
- step S365 in the application processor 614, the I2C / I3C master 651 determines whether or not the transfer of the final data is completed.
- step S365 If it is determined in step S365 that the transfer of the final data is completed, the process proceeds to step S366.
- step S366 the I2C / I3C master 651 issues a stop command in the application processor 614. After that, the process branches into two, and the process proceeds to step S332 in FIG. 52 according to the branch A. On the other hand, according to the branch B, the Sequence C (at the time of AP) processing (see FIG. 55 described later) is performed in step S367, and then the processing proceeds to step S339 in FIG. 52.
- step S365 determines whether the transfer of the final data has been completed. If it is determined in step S365 that the transfer of the final data has not been completed, the process proceeds to step S368.
- step S368 in the application processor 614, the I2C / I3C master 651 determines whether or not the timer started in step S361 has timed out. If it is determined in step S368 that the timer has not timed out, the process returns to step S363, and the same process is repeated thereafter.
- step S368 determines whether the timer has timed out. If it is determined in step S368 that the timer has timed out, the process proceeds to step S369.
- step S369 the application processor 614 sets 1 in the Error register (Timeout), and stores the data of the extended packet header ePH and the extended packet footer ePF in the Error-related register.
- step S370 If it is determined that the ACK response from the I2C / I3C slave 644 of the SerDes device 613 on the master side has not been received after the processing of step S369 or in step S362 or S364, the processing proceeds to step S370.
- step S370 the I2C / I3C master 651 issues a stop command in the application processor 614.
- the Sequence A_Read_CMD (at the time of AP) processing ends and the communication processing itself ends.
- FIG. 55 is a flowchart illustrating the Sequence C (at the time of AP) process performed in step S367 of FIG. 54.
- the processing performed by the application processor 614 will be described as an example in FIG. 55, the same processing can be performed by the SerDes device 612 on the slave side.
- step S381 in the application processor 614, the I2C / I3C master 651 determines whether or not the timer started in step S361 of FIG. 54 has timed out, and the process is waited until it is determined that the time-out has occurred. If it is determined in step S381 that the time-out has occurred, the process proceeds to step S382, and in the application processor 614, the I2C / I3C master 651 performs a polling operation.
- step S383 in the application processor 614, the I2C / I3C master 651 determines whether or not the Status register value of the read command is 1.
- step S383 If it is determined in step S383 that the Status register value of the read command is 1, the process proceeds to step S384. In step S384, after the application processor 614 makes a read access, the process returns to step S339 of FIG.
- step S383 determines whether the Status register value of the read command is 1 (other than 1), the process proceeds to step S385.
- step S385 the application processor 614 sets 1 in the Error register (Timeout), and stores the data of the extended packet header ePH and the extended packet footer ePF in the Error-related register.
- step S386 in the application processor 614, the I2C / I3C master 651 issues a stop command. In this case, the Sequence C (at the time of AP) processing is terminated and the communication processing itself is terminated.
- FIG. 56 is a flowchart illustrating the Sequence B (at the time of SerDes (Slave)) process performed in steps S324 and S334 of FIG. 51.
- Sequence B at the time of SerDes (Master)
- Sequence B at the time of Image Sensor
- S332 of FIG. 52 Processing and Sequence B (at the time of SerDes (Master)) processing in step S332 of FIG. 52 are also performed in the same manner.
- step S391 in the SerDes device 612 on the slave side, the CCI-FS processing unit 636 confirms the Source ID of the SerDes device 612 on the slave side and the Destination SID of the extended packet header ePH.
- step S392 in the SerDes device 612 on the slave side, the CCI-FS processing unit 636 determines whether or not the Source ID of the SerDes device 612 on the slave side and the Destination SID of the extended packet header ePH do not match.
- step S392 If it is determined in step S392 that the Source ID of the SerDes device 612 on the slave side and the Destination SID of the extended packet header ePH do not match, the process proceeds to step S393.
- step S393 in the SerDes device 612 on the slave side, the CCI-FS processing unit 636 confirms the Destination SID of the SerDes device 612 on the slave side and the Destination SID of the extended packet header ePH.
- step S394 in the SerDes device 612 on the slave side, the CCI-FS processing unit 636 determines whether or not the Source ID of the SerDes device 612 on the slave side and the Destination SID of the extended packet header ePH match.
- step S394 If it is determined in step S394 that the Source ID of the SerDes device 612 on the slave side and the Destination SID of the extended packet header ePH match, the process proceeds to step S395.
- step S395 in the SerDes device 612 on the slave side, the CCI-FS processing unit 636 confirms the Message Counter from the contents of the extended packet header ePH.
- step S396 in the SerDes device 612 on the slave side, the CCI-FS processing unit 636 matched the Message Counter in the SerDes device 612 on the slave side with the received value of the Message Counter confirmed from the contents of the extended packet header ePH. Judge whether or not.
- step S396 If it is determined in step S396 that the Message Counter in the SerDes device 612 on the slave side and the received value of the Message Counter confirmed from the contents of the extended packet header ePH match, the process proceeds to step S397.
- step S397 in the SerDes device 612 on the slave side, the CCI-FS processing unit 636 receives the CRC calculation result calculated from the extended packet header ePH by the SerDes device 612 on the slave side and the received value (ePF0) of the extended packet footer ePF. And confirm.
- step S398 it is determined whether or not the received value (ePF0) of the extended packet footer ePF and the CRC calculation result match, and if it is determined that they match, the process returns to step S325 in FIG.
- step S392 if it is determined in step S392 that the Source ID of the SerDes device 612 on the slave side and the Destination SID of the extended packet header ePH do not match (match), the process proceeds to step S399.
- steps S399 to S402 the same processing as in steps S395 to S398 is performed.
- step S402 If it is determined in step S402 that the received value (ePF0) of the extended packet footer ePF and the CRC calculation result match, the process proceeds to step S403. In step S403, write access is made to the register 637 of the SerDes device 612 on the slave side.
- step S394 If it is determined in step S394 that the Source ID of the SerDes device 612 on the slave side and the Destination SID of the extended packet header ePH do not match, the process proceeds to step S404.
- step S404 in the SerDes device 612 on the slave side, the CCI-FS processing unit 636 sets 1 in the Error register [2] (Routing), and sets the data of the extended packet header ePH and the extended packet footer ePF in the Error-related register. Store.
- step S398 or S402 If it is determined in step S398 or S402 that the received value (ePF0) of the extended packet footer ePF and the CRC calculation result do not match, the process proceeds to step S405.
- step S405 in the SerDes device 612 on the slave side, the CCI-FS processing unit 636 sets 1 in the Error register (CRC) and stores the data of the extended packet header ePH and the extended packet footer ePF in the Error-related register.
- CRC Error register
- step S396 or S400 If it is determined in step S396 or S400 that the Message Counter in the SerDes device 612 on the slave side does not match the received value of the Message Counter confirmed from the contents of the extended packet header ePH, the process proceeds to step S406. ..
- step S406 in the SerDes device 612 on the slave side, the CCI-FS processing unit 636 sets 1 in the Error register (MC) and stores the data of the extended packet header ePH and the extended packet footer ePF in the Error-related register.
- MC Error register
- CRC calculation may be performed only for E2E Protection, error detection for each device, and packet discard / non-discarding, which are expected to be combined.
- FIG. 57 is a flowchart illustrating the Sequence A_Read_Data (at the time of AP) process performed in step S339 of FIG. 52.
- the process performed by the application processor 614 will be described as an example, but the Sequence A_Read_Data (at the time of SerDes (Slave)) process in step S336 of FIG. 52 is also performed in the same manner.
- step S411 in the application processor 614, the I2C / I3C master 651 issues a start command and a slave address (Slave Address + W 8-bit shown in FIG. 48).
- step S412 the application processor 614 determines whether or not the I2C / I3C master 651 has received an ACK response from the I2C / I3C slave 644 of the SerDes device 613 on the master side. If it is determined in step S412 that an ACK response from the I2C / I3C slave 644 of the SerDes device 613 on the master side has been received, the process proceeds to step S413.
- step S413 in the application processor 614, the I2C / I3C master 651 issues a start command and a slave address (Slave Address + R 8-bit shown in FIG. 48) to start the timer.
- step S414 the application processor 614 determines whether or not the I2C / I3C master 651 has received an ACK response from the I2C / I3C slave 644 of the SerDes device 613 on the master side. If it is determined in step S414 that an ACK response from the I2C / I3C slave 644 of the SerDes device 613 on the master side has been received, the process proceeds to step S415.
- step S415 in the application processor 614, the I2C / I3C master 651 acquires read data from the opposite I2C / I3C slave 644 on the application processor 614 side.
- step S416 it is determined whether or not the I2C / I3C master 651 of the application processor 614 has performed ACK transmission and the opposite I2C / I3C slave 644 on the application processor 614 side has performed ACK reception.
- step S416 If it is determined in step S416 that the I2C / I3C master 651 of the application processor 614 has performed ACK transmission and the opposite I2C / I3C slave 644 on the application processor 614 side has performed ACK reception, the process proceeds to step S417. move on.
- step S417 it is determined whether or not the I2C / I3C master 651 of the application processor 614 has performed NACK transmission when the transfer of the final data is completed.
- step S417 If it is determined in step S417 that NACK transmission has been performed, the process proceeds to step S418.
- step S4108 in the application processor 614, the I2C / I3C master 651 issues a stop command. As a result, the Sequence A_Read_Data (at the time of AP) processing ends, and the processing returns to step S340 in FIG.
- step S417 determines whether NACK transmission has been performed. If it is determined in step S417 that NACK transmission has not been performed, the process proceeds to step S419.
- step S419 in the application processor 614, the I2C / I3C master 651 determines whether or not the timer started in step S413 has timed out. If it is determined in step S419 that the timer has not timed out, the process returns to step S415, and the same process is repeated thereafter.
- step S419 determines whether the timer has timed out. If it is determined in step S419 that the timer has timed out, the process proceeds to step S420.
- step S420 the application processor 614 sets 1 in the Error register (Timeout), and stores the data of the extended packet header ePH and the extended packet footer ePF in the Error-related register.
- step S421 it is determined that the I2C / I3C master 651 of the application processor 614 is not performing ACK transmission, or that the opposite I2C / I3C slave 644 on the application processor 614 side is not performing ACK reception. If so, the process proceeds to step S421.
- step S421 the I2C / I3C master 651 issues a stop command in the application processor 614.
- the Sequence A_Read_Data (at the time of AP) processing ends and the communication processing itself ends.
- the access timing from the I2C / I3C master 634 to the I2C / I3C slave 621 and the I2C / I3C slave 644 of the SerDes device 613 on the master side There are three combinations of access timings from the I2C / I3C master 651 to the I2C / I3C slave 644 at the time of output (see FIG. 48) as described below.
- the first access timing is polled until the read data is acquired, and the I2C / I3C master starts the read process after the read data is ready to be read.
- the I2C / I3C master starts read processing after a certain period of time has elapsed.
- the third access timing is a form in which the I2C / I3C master starts read processing after a certain period of time using the Clock Stretch method (see FIG. 72 described later), and at that time, read data is sent in chunks and reads. There is a form in which data is sent separately (Clock Stretch Mode signal is asserted).
- ⁇ Configuration example of extended packet header ePH> 58 to 60 are diagrams showing a configuration example of the extended packet header ePH.
- FIG. 58 shows a detailed configuration example of the extended packet header ePH0, the extended packet header ePH1, and the extended packet header ePH2.
- the addition of the extended packet header ePH as shown is specified by diverting the contents of the extended packet header ePH for CCI-FS by diverting the ePH structure in C-PHY and D-PHY.
- FIG. 59 shows a detailed configuration example of the extended packet header ePH3.
- the addition of the extended packet header ePH as shown specifies the content of the extended packet header ePH for CCI-FS.
- FIG. 60 shows a detailed configuration example of the extended DT of the extended packet header ePH.
- "0xC0: For I2C” and "0xC1: For I3C” have been added to the data type of the extended packet header ePH to support CCI-FS.
- FIG. 61 shows a configuration example using conventional I2C hardware.
- an I2C configuration example in the case of a bus connection configuration is shown at the upper level, and the slave side may be configured to be able to receive AKC / NACK from the upper level.
- the upper bus configurations do not always match.
- FIG. 62 shows the waveform at the time of data transfer on the I2C bus.
- the I2C bus standard and CCI (I2C) are equivalent.
- FIG. 63 is a block diagram showing a CCI-related configuration example in the communication system 701 having an A-PHY direct connection configuration, similar to the communication system 501 shown in FIG. 27 above.
- the image sensor 711 and the application processor 712 are directly connected by the A-PHY.
- the image sensor 711 includes an A-PHY processing unit 721, a CSIA processing unit 722, a CSI2 processing unit 523, a CSI2-FS processing unit 724, a CCI processing unit 725, a CCI-FS processing unit 726, a register 727, and a selector 728-1. And 728-2 are configured. As shown in the figure, the selectors 728-1 and 728-2 are arranged so as to sandwich the CCI-FS processing unit 726, and enable / disable the CCI-FS processing unit 726 according to the CCI_FS_Enable signal of the register 727. Can be done.
- the application processor 712 includes an A-PHY processing unit 731, a CSIA processing unit 732, a CSI2 processing unit 733, a CSI2-FS processing unit 734, a CCI processing unit 735, a CCI-FS processing unit 736, a register 737, and a selector 738-1. And 738-2 are configured. As shown in the figure, the selectors 738-1 and 738-2 are arranged so as to sandwich the CCI-FS processing unit 736, and enable / disable the CCI-FS processing unit 736 according to the CCI_FS_Enable signal of the register 737. Can be done.
- CCI_FS_Enable 1
- CCI_FS_Enable 2
- CCI_FS_Enable 0
- the CCI-FS processing unit 726 and the CCI-FS processing unit 736 do not go through. Data is sent and received to.
- FIG. 64 shows an example of the network connection form (topology) of the A-PHY direct connection configuration and the SerDes connection configuration.
- the application processor 801 is directly connected to the image sensor 802 via A-PHY, and the image sensor 802 can be configured to be connected to the sensor 803 via I2C / I3C.
- the application processor 801 is connected to the SerDes device 804 on the master side via I2C / I3C, and the SerDes device 804 on the master side and the SerDes device 805 on the slave side are connected via A-PHY.
- the SerDes device 805 on the slave side can be configured to be connected to the two sensors 806-1 and 806-2 via I2C / I3C.
- FIG. 65 is a block diagram showing an example of the circuit configuration of the CCI-FS processing unit.
- the CCI-FS processing unit 901 and the register 902 shown in FIG. 65 have a common configuration in the CCI-FS processing unit and the register included in each of the above-mentioned devices.
- the CCI-FS processing unit 901 is provided with a CCI-FS switch, a register, and the like in the upper layer, and a CCI processing unit is provided in the lower layer.
- the CCI-FS processing unit 901 includes a CCI-FS transmission unit 911 and a CCI-FS reception unit 912.
- Various register setting value information is supplied from the register 902 to the CCI-FS processing unit 901, and an error notification is supplied from the CCI-FS processing unit 901 to the register 902.
- the CCI-FS transmission unit 911 includes an extended packet header ePH generation unit 921, an extended packet footer ePF generation unit 922, and a Destination Address confirmation unit 923.
- the extended packet header ePH generation unit 921 has an MC generation unit 941 that generates a Message Counter and a Packet Length calculation unit 942 that calculates the packet length.
- the extended packet footer ePF generation unit 922 has an extended packet footer ePF1 generation unit 943 that generates the extended packet footer ePF1 and a CRC calculation unit 944 that calculates the CRC stored in the extended packet footer ePF0.
- the CCI-FS receiving unit 912 includes an extended packet header ePH confirmation unit 931, an extended packet footer ePF confirmation unit 932, and a Destination Address confirmation unit 933.
- the extended packet header ePH confirmation unit 931 has an MC confirmation unit 951 for confirming the Message Counter, and a Packet Length calculation / confirmation unit 952 for calculating and confirming the packet length.
- the extended packet footer ePF confirmation unit 932 has an extended packet footer ePF1 confirmation unit 953 for confirming the extended packet footer ePF1 and a CRC calculation unit 954 for calculating the CRC stored in the extended packet footer ePF0.
- the CCI-FS processing unit 901 confirms the Destination Address of the data from the upper layer by the CCI-FS transmission unit 911, generates the extended packet header ePH and the extended packet footer ePF, adds them to the data, and adds them to the lower layer. Can be supplied to.
- the CCI-FS processing unit 901 can confirm the Destination Address of the data from the lower layer, confirm the extended packet header ePH and the extended packet footer ePF by the CCI-FS receiving unit 912, and supply the data to the upper layer. can.
- the application processor 614 has a Source ID indicating its own device in the extended packet header ePH in the application processor 614. Then, the CCI-FS processing unit 653 adds the above information and information having a Destination ID indicating a device that performs the desired access.
- the SerDes device 612 on the slave side and the SerDes device 613 on the master side have a Source ID indicating the own device by being preset or as an eigenvalue.
- the CCI-FS processing unit 636 and the CCI-FS processing unit 646 preset the above information and information having a Destination ID indicating a connected device and a target device.
- the CCI-FS processing unit 636 and the CCI-FS processing unit 646 compare the Destination ID of the received extended packet header ePH with their own ID (Source ID), and indicate whether they are accessing themselves or the target device. Determine whether it is (Desination ID). For example, when the Destination ID of the received extended packet header ePH and the own ID (Source ID) match, the register access is performed as the access to the intermediate device (SerDes device). On the other hand, if the Destination ID of the received extended packet header ePH and its own ID (Source ID) do not match, data is transferred to the connected device (Desination ID) as access to the subsequent device.
- the Source ID of the preset or eigenvalue As described above, based on the Source ID and Destination ID embedded in the extended packet header ePH, the Source ID of the preset or eigenvalue, and the preset connection destination information in the intermediate device (SerDes device) or the target device. Transfer data and access the target device.
- the CSI2-FS processing unit 623 of the image sensor 611 When the Destination ID of the received extended packet header ePH and its own ID (Source ID) match, the CSI2-FS processing unit 623 of the image sensor 611 performs its own register access as an access to the image sensor 611. conduct.
- the Source ID of each device can be a value unique to each device, a preset value, or a combination thereof.
- 66 to 68 are diagrams showing a detailed configuration example of the register 902.
- FIG. 66 shows the details of the register 902 from the address 0x000 to the address 0x109.
- FIG. 67 shows a configuration example at the time of Bridge configuration as details from the address 0x110 to the address 0x125 of the register 902.
- FIG. 68 shows an Error-related register as the details of the address 0x200 of the register 902.
- FIG. 68 shows an Error-related register (debug) as details of the address 0x300 and the address 0x400 of the register 902.
- FIG. 68 shows an Error Injection related register (debug) as details of the address 0x800 of the register 902.
- FIG. 69 shows a modified example of the extended packet header ePH in the packet configuration of the write data generated by the CCI-FS processing unit 536 of the application processor 512 at the time of write access. It is shown.
- the configurations of the extended packet header ePH3 and the extended packet header ePH4 are different from the configuration example shown in FIG. 33 described above.
- FIG. 70 shows a modified example of the extended packet header ePH in the packet configuration of the write data generated by the CCI-FS processing unit 536 of the application processor 512 at the time of read access. It is shown.
- the configurations of the extended packet header ePH3 and the extended packet header ePH4 are different from the configuration example shown in FIG. 28 described above.
- Read address information may be stored in the extended packet header ePH or in the AP (CCI) payload.
- the Length information may be stored in the extended packet header ePH or in the AP (CCI) payload.
- the CMD information may be stored in the CCI Command ID of the extended packet header ePH. Command start, resume, and end information is referenced based on the CCICommandID.
- CCI information (for example, Slave Address) may be stored in the AP (CCI) payload using CCI Header Length.
- CCI Header Length is information indicating the header length of the CCI protocol (I2C).
- FIG. 71 is a diagram illustrating a flow between the image sensor 511 and the application processor 512 in the A-PHY direct connection configuration as shown in FIG. 27.
- the CCI-FS switch 538 issues a read command and a write command.
- the CCI processing unit 535 converts them into AP (CCI) payloads and supplies them to the A-PHY processing unit 531.
- the A-PHY processing unit 531 adds an A-PHY header and an A-PHY footer to the AP (CCI) payload, and performs A-PHY transfer to the image sensor 511.
- the A-PHY processing unit 521 removes the A-PHY header and the A-PHY footer and supplies the AP (CCI) payload to the CCI processing unit 525.
- the CCI processing unit 525 converts the AP (CCI) payload, writes data to the register 527 according to the write command, and reads data from the register 527 according to the read command.
- the initial setting of CCI-FSEnable is performed by the CCI processing unit 525, and bus conversion such as the register interface and the AHB bus is performed. Then, the confirmation of the CCI-FS Enable setting is performed via the CCI processing unit 525 or the CCI-FS processing unit 526.
- the A-PHY processing unit 521 adds an A-PHY header and an A-PHY footer to the AP (CCI) payload, and performs A-PHY transfer to the application processor 512.
- the A-PHY processing unit 531 removes the A-PHY header and the A-PHY footer and supplies the AP (CCI) payload to the CCI processing unit 535.
- the CCI-FS switch 538 sets the CCI-FS Enable and various CCI-FS related registers for the register 537. At this time, register access depends on the implementation.
- the CCI-FS switch 538 is CCI-FS related to the register 527 via the register 537, the CCI-FS processing unit 536, the A-PHY processing unit 531 and the A-PHY processing unit 521, and the CCI-FS processing unit 526. Set various registers.
- the CCI-FS switch 538 issues a read command.
- the A-PHY processing unit 531 adds an A-PHY header and an A-PHY footer to them, and performs A-PHY transfer to the image sensor 511.
- the extended packet footer ePF0 is supplied to the CCI-FS processing unit 526.
- the CCI-FS processing unit 526 converts the AP (CCI) payload, and based on the contents, reads data from the register 527 according to a read command.
- the register access depends on the implementation, and bus conversion such as a register interface, an AHB bus, and a CCI interface is performed.
- the A-PHY processing unit 521 adds an A-PHY header and an A-PHY footer to them, and performs A-PHY transfer to the application processor 512.
- the extended packet footer ePF0 is supplied to the CCI-FS processing unit 536.
- I2C / I3C generation by software SlaveAddress, Register address, Payload, ACK response reception, transmission, various control codes (S, Sr, ACK, NACK, P) are generated by software (for example, GPIO control). Image).
- S, Sr, ACK, NACK, P various control codes
- I2C / I3C command generation by software Slave Address, Register address, and Payload are issued from the CPU in response to ACK reception in the CPU bus setting.
- I2C / I3C generation by hardware transfer settings and data are set to HWIP of I2C / I3C.
- Various control codes are automatically answered by hardware.
- I2C / I3C command generation by hardware set the data in the transfer setting to the HWIP of I2C / I3C and send it by the command.
- Various control codes are automatically answered by hardware.
- FIG. 72 is a diagram illustrating a flow using the Clock Stretch method in the Write access and Read access between the image sensor 611 and the application processor 614 in the SerDes connection configuration as shown in FIG. 40.
- the CCI-FS switch 655 of the application processor 614 supplies a start command and a write command (Slave Address + W 8bit) to the CCI processing unit 645 of the SerDes device 613 on the master side, and asserts the Scl_enb signal.
- the CCI processing unit 645 supplies a write command to the A-PHY processing unit 641, and the A-PHY processing unit 641 adds an A-PHY header and an A-PHY footer to the write command. , Perform A-PHY transfer to the SerDes device 612 on the slave side.
- the A-PHY processing unit 631 removes the A-PHY header and the A-PHY footer and supplies a write command to the CCI processing unit 635 (Slave).
- the CCI processing unit 635 (Slave) negates the Scl_enb signal and supplies a write command to the CCI processing unit 635 (Master).
- the CCI processing unit 635 that communicates with the SerDes device 613 side on the master side and functions as a slave is referred to as a CCI processing unit 635 (Slave), and CCI processing that communicates with the image sensor 611 side and functions as a master.
- the unit 635 is referred to as a CCI processing unit 635 (Master).
- the CCI processing unit 635 (Master) transmits a start command and a write command to the image sensor 611.
- the CCI processing unit 622 receives the start command and the write command and supplies them to the CSI2-FS processing unit 623.
- the CSI2-FS processing unit 623 supplies an ACK response indicating that the reception is successful to the CCI processing unit 622, and the CCI processing unit 622 transmits the ACK response to the SerDes device 612 on the slave side.
- the CCI processing unit 635 (Master) receives the ACK response and the Scl_enb signal is negated from the CCI processing unit 635 (Slave), the ACK response is supplied to the CCI-FS processing unit 636. .. After that, the CCI processing unit 635 (Slave) asserts the Scl_enb signal to the CCI processing unit 635 (Master).
- the CCI-FS processing unit 636 supplies the ACK response to the A-PHY processing unit 631.
- the A-PHY processing unit 631 adds an A-PHY header and an A-PHY footer to the ACK response, and performs A-PHY transfer to the SerDes device 613 on the master side.
- the A-PHY processing unit 641 removes the A-PHY header and the A-PHY footer and supplies an ACK response to the CCI processing unit 645.
- the CCI-FS switch 655 of the application processor 614 negates the Scl_enb signal to the CCI processing unit 645, the CCI processing unit 645 sends an ACK response to the application processor 614.
- the CCI processing unit 652 receives the ACK response and supplies it to the CCI-FS switch 655 via the CCI-FS processing unit 653.
- the CCI-FS switch 655 of the application processor 614 supplies the register address (RegisterAddress [7: 0]) to the CCI processing unit 645 of the SerDes device 613 on the master side, and asserts the Scl_enb signal.
- the CCI processing unit 645 supplies the register address to the A-PHY processing unit 641, and the A-PHY processing unit 641 adds the A-PHY header and the A-PHY footer to the register address. , Perform A-PHY transfer to the SerDes device 612 on the slave side.
- the A-PHY processing unit 631 removes the A-PHY header and the A-PHY footer and supplies the register address to the CCI processing unit 635 (Slave).
- the CCI processing unit 635 (Slave) negates the Scl_enb signal and supplies the register address to the CCI processing unit 635 (Master).
- the CCI processing unit 635 (Master) transmits the register address to the image sensor 611. After that, the CCI processing unit 635 (Slave) asserts the Scl_enb signal to the CCI processing unit 635 (Master).
- the CCI processing unit 622 receives the register address and supplies it to the CSI2-FS processing unit 623.
- the CSI2-FS processing unit 623 supplies an ACK response indicating that the reception is successful to the CCI processing unit 622, and the CCI processing unit 622 transmits the ACK response to the SerDes device 612 on the slave side.
- the ACK response is supplied to the CCI-FS switch 655 in the same manner as the above-mentioned processing.
- the CSI2-FS processing unit 623 supplies an ACK response indicating that the reception is successful to the CCI processing unit 622, and the CCI processing unit 622 transmits the ACK response to the SerDes device 612 on the slave side.
- the ACK response is supplied to the CCI-FS switch 655 in the same manner as the above-mentioned processing.
- the CCI-FS switch 655 of the application processor 614 supplies write data (Dara0 [7: 0]) to the CCI processing unit 645 of the SerDes device 613 on the master side, and asserts the Scl_enb signal.
- the CCI processing unit 645 supplies write data to the A-PHY processing unit 641, and the A-PHY processing unit 641 adds an A-PHY header and an A-PHY footer to the write data. , Perform A-PHY transfer to the SerDes device 612 on the slave side.
- the CCI processing unit 645 receives the write data, and when the Scl_enb signal is asserted from the CCI-FS switch 655, the write data is supplied to the A-PHY processing unit 641. After that, the CSI2-FS processing unit 653 negates the Scl_enb signal to the CCI processing unit 645 according to the control of the CCI-FS switch 655.
- the A-PHY processing unit 641 adds an A-PHY header and an A-PHY footer to the write data, and performs A-PHY transfer to the SerDes device 612 on the slave side.
- the A-PHY processing unit 631 removes the A-PHY header and the A-PHY footer and supplies write data to the CCI processing unit 635.
- the CCI processing unit 635 negates the Scl_enb signal and supplies write data to the CCI processing unit 635 (Master).
- the CCI processing unit 635 (Master) transmits light data to the image sensor 611. After that, the CCI processing unit 635 (Slave) asserts the Scl_enb signal to the CCI processing unit 635 (Master).
- the CCI processing unit 622 receives the write data and supplies it to the CSI2-FS processing unit 623, and the CSI2-FS processing unit 623 writes the write data to the register 624.
- the CSI2-FS processing unit 623 supplies an ACK response indicating that the write data has been successfully written to the CCI processing unit 622, and the CCI processing unit 622 transmits the ACK response to the SerDes device 612 on the slave side.
- the ACK response is supplied to the CCI-FS switch 655 in the same manner as the above-mentioned processing.
- the CCI-FS processing unit 653 transmits the extended packet footer ePF0 to the SerDes device 613 on the master side under the control of the CCI-FS switch 655.
- the CCI processing unit 645 receives the extended packet footer ePF0, and when the Scl_enb signal is asserted from the CCI-FS switch 655, the extended packet footer ePF0 is supplied to the A-PHY processing unit 641. .. After that, the CCI-FS switch 655 negates the Scl_enb signal to the CCI processing unit 645.
- the A-PHY processing unit 641 adds an A-PHY header and an A-PHY footer to the extended packet footer ePF0, and performs A-PHY transfer to the SerDes device 612 on the slave side.
- the A-PHY processing unit 631 removes the A-PHY header and the A-PHY footer, and supplies the extended packet footer ePF0 to the CCI-FS processing unit 636.
- the CCI-FS processing unit 636 negates the Scl_enb signal and supplies the extended packet footer ePF0 to the CCI processing unit 635 (Master).
- the CCI processing unit 635 (Master) transmits the extended packet footer ePF0 to the image sensor 611. After that, the CCI processing unit 635 (Slave) asserts the Scl_enb signal to the CCI processing unit 635 (Master).
- the CSI2-FS processing unit 623 receives the extended packet footer ePF0.
- the CSI2-FS processing unit 623 supplies an ACK response indicating that the reception is successful to the CCI processing unit 622, and the CCI processing unit 622 transmits the ACK response to the SerDes device 612 on the slave side.
- the ACK response is supplied to the CCI-FS switch 655 in the same manner as the above-mentioned processing.
- the CCI-FS switch 655 of the application processor 614 supplies a repeat start command and a read command (SlaveAddress + R8bit) to the CCI processing unit 645 of the SerDes device 613 on the master side, and asserts the Scl_enb signal.
- the CCI processing unit 645 supplies the read command to the A-PHY processing unit 641, and the A-PHY processing unit 641 adds the A-PHY header and the A-PHY footer to the read command. , Perform A-PHY transfer to the SerDes device 612 on the slave side.
- the A-PHY processing unit 631 removes the A-PHY header and the A-PHY footer and supplies a read command to the CCI processing unit 635 (Slave).
- the CCI processing unit 635 (Slave) negates the Scl_enb signal and supplies a read command to the CCI processing unit 635 (Master).
- the CCI processing unit 635 (Master) transmits a repeat start command and a read command to the image sensor 611.
- the CCI processing unit 622 receives the repeat start command and the read command, and accesses the register 624.
- the CCI processing unit 622 transmits an ACK response indicating that the reception was successful to the SerDes device 612 on the slave side.
- the ACK response is supplied to the CCI-FS switch 655 in the same manner as the above-mentioned processing.
- the CCI processing unit 622 reads the read data (Data0 [7: 0]) from the register 624 and transmits it to the SerDes device 612 on the slave side.
- the CCI processing unit 635 (Master) receives the read data and supplies it to the CCI processing unit 635 (Slave), and the CCI processing unit 635 (Slave) processes the read data in A-PHY. Supply to unit 631.
- the A-PHY processing unit 631 adds an A-PHY header and an A-PHY footer to the read data, and performs A-PHY transfer to the SerDes device 613 on the master side.
- the A-PHY processing unit 641 removes the A-PHY header and the A-PHY footer and supplies read data to the CCI processing unit 645, and the CCI processing unit 645 supplies the application processor 614. Send read data.
- the CCI processing unit 652 receives the read data and supplies it to the CCI-FS switch 655 via the CCI-FS processing unit 653.
- the CCI-FS switch 655 sends a NACK response and a stop command to the CCI processing unit 645.
- the CCI processing unit 645 supplies the NACK response and the stop command to the A-PHY processing unit 641.
- the A-PHY processing unit 641 adds an A-PHY header and an A-PHY footer to the NACK response and the stop command, and performs A-PHY transfer to the SerDes device 612 on the slave side.
- the A-PHY processing unit 631 removes the A-PHY header and the A-PHY footer, and supplies the NACK response and the stop command to the CCI processing unit 635 (Slave).
- the CCI processing unit 635 supplies the NACK response and the stop command to the CCI processing unit 635 (Master), and the CCI processing unit 635 (Master) transmits the NACK response and the stop command to the image sensor 611.
- the CCI processing unit 622 receives the NACK response and the stop command and supplies them to the CSI2-FS processing unit 623.
- I2C control commands such as start, repeat start, ACK response, NACK response, and stop are assigned to the 1-byte Payload by setting the Control Code Indicator of the extended packet header ePH0 to 1. Each code is shown.
- FIG. 73 is a block diagram showing a configuration example of the configuration in which the image sensor 211 shown in FIG. 25 described above includes the CCI-FS processing unit 1001.
- the same reference numerals are given to the configurations common to the image sensor 211 in FIG. 25, and the description thereof will be omitted.
- the CCI-FS processing unit 1001 is arranged between the CCI slave 224 and the register 47, and the MUX units 1002-1 and 1002-2 are arranged so as to sandwich the CCI-FS processing unit 1001. There is.
- the MUX units 1002-1 and 1002-2 transmit and receive data via the CCI-FS processing unit 1001 according to the cci_fs_en signal supplied from the register 47.
- the MUX units 1002-1 and 1002-2 transmit and receive data without going through the CCI-FS processing unit 1001. do.
- FIG. 74 is a block diagram showing a configuration example of the configuration in which the application processor 214 shown in FIG. 26 described above includes the CCI-FS processing unit 1101.
- the same reference numerals are given to the configurations common to the application processor 214 of FIG. 26, and the description thereof will be omitted.
- the CCI-FS processing unit 1101 is arranged between the CCI master 254 and the register 73, and the MUX units 1102-1 and 1102-2 are arranged so as to sandwich the CCI-FS processing unit 1101. ..
- the MUX units 1102-1 and 1102-2 transmit and receive data via the CCI-FS processing unit 1101 according to the cci_fs_en signal supplied from the register 73.
- the MUX units 1102-1 and 1102-2 transmit and receive data without going through the CCI-FS processing unit 1101. do.
- -Extended VC is not used in Safe CCI. (Similar configuration is used to match the header field with the extension header related in MIPI)
- -In the extended DT it may be embedded in the command-related information of the bus from the upper level, or it may be an implementation configuration of the signal line setting from the register setting.
- -Protocol is described in I2C, but the same can be done in SDR mode of I3C.
- FIG. 75 is a block diagram showing a configuration example of computer hardware that executes the above-mentioned series of processes programmatically.
- CPU Central Processing Unit
- ROM Read Only Memory
- RAM Random Access Memory
- EEPROM Electrically Erasable and Programmable Read Only Memory
- the CPU 1201 loads the program stored in the ROM 1202 and the EEPROM 1204 into the RAM 1203 via the bus 1205 and executes the above-mentioned series of processes. Further, the program executed by the computer (CPU1201) can be written in the ROM 1202 in advance, and can be installed or updated in the EEPROM 1204 from the outside via the input / output interface 1206.
- the processes performed by the computer according to the program do not necessarily have to be performed in chronological order in the order described as the flowchart. That is, the processing performed by the computer according to the program includes processing executed in parallel or individually (for example, processing by parallel processing or processing by an object).
- the program may be processed by one computer (processor) or may be distributed processed by a plurality of computers. Further, the program may be transferred to a distant computer and executed.
- the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Therefore, a plurality of devices housed in separate housings and connected via a network, and a device in which a plurality of modules are housed in one housing are both systems. ..
- the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
- the configurations described above as a plurality of devices (or processing units) may be collectively configured as one device (or processing unit).
- a configuration other than the above may be added to the configuration of each device (or each processing unit).
- a part of the configuration of one device (or processing unit) may be included in the configuration of another device (or other processing unit). ..
- this technology can have a cloud computing configuration in which one function is shared by a plurality of devices via a network and processed jointly.
- the above-mentioned program can be executed in any device.
- the device may have necessary functions (functional blocks, etc.) so that necessary information can be obtained.
- each step described in the above flowchart can be executed by one device or can be shared and executed by a plurality of devices.
- the plurality of processes included in the one step can be executed by one device or shared by a plurality of devices.
- a plurality of processes included in one step can be executed as processes of a plurality of steps.
- the processes described as a plurality of steps can be collectively executed as one step.
- the processing of the steps for describing the program may be executed in chronological order in the order described in the present specification, or may be called in parallel or called. It may be executed individually at the required timing such as when. That is, as long as there is no contradiction, the processes of each step may be executed in an order different from the above-mentioned order. Further, the processing of the step for describing this program may be executed in parallel with the processing of another program, or may be executed in combination with the processing of another program.
- the present technology can also have the following configurations.
- the CCI (Camera Control Interface) protocol is implemented as an upper layer, with a physical layer that sends and receives data including extended headers and footers to and from other communication devices.
- a communication device including a CCI-FS processing unit that compares the Destination ID included in the extension header with the ID (Source ID) of the communication device and determines whether or not the communication device is accessed.
- the extended header includes information indicating the CCI protocol (I2C) in the field value in the extended header, and the routing process is performed using the information. Described in any of (1) to (3) above.
- the extended header includes information indicating the source of the CCI protocol (I2C) in the field value in the extended header, and response processing is performed based on the information. Any one of (1) to (4) above.
- the communication device described in. (6) The communication device according to any one of (1) to (5) above, wherein the extended header includes information indicating a data length in a field value in the extended header.
- the communication device includes information indicating the header length of the CCI protocol (I2C) in the field value in the extended header.
- the extension header includes the ID information of the CCI protocol (I2C) in the field value in the extension header, and can refer to the start, restart, and end information of the command based on the information (the above).
- the communication device according to any one of 1) to (7).
- the extended header includes information indicating a destination of the CCI protocol (I2C) in the field value in the extended header, routing is performed based on the information, and a communication route is referenced (1).
- the communication device according to any one of (8) to (8).
- the communication device according to any one of (1) to (9) above, wherein the expansion footer has a variable size depending on the field value in the expansion footer.
- the extended footer includes security data.
- the security data is a hash calculation value.
- the physical layer has an asymmetric upper layer of a point-to-point topology and is designed so that the same physical wiring can be shared by high-speed data transmission, control data, and power (1) to (12).
- the communication device described in.
- the communication device The communication device according to (13) above, wherein the physical layer is MIPI (Mobile Industry Processor Interface) A-PHY.
- MIPI Mobile Industry Processor Interface
- the communication device A physical layer in which the CCI (Camera Control Interface) protocol is implemented as an upper layer is used to send and receive data including extended headers and footers to and from other communication devices.
- a communication method including comparing a Destination ID included in the extension header with an ID (Source ID) possessed by the communication device and determining whether or not the communication device is accessed.
- To the computer of the communication device A physical layer in which the CCI (Camera Control Interface) protocol is implemented as an upper layer is used to send and receive data including extended headers and footers to and from other communication devices.
- a program for executing a process including comparing the Destination ID included in the extension header with the ID (Source ID) of the communication device and determining whether or not the communication device is accessed.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Communication Control (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本開示は、より多様な用途に対応するとともに、通信の信頼性を高めることができるようにする通信装置および通信方法、並びにプログラムに関する。 物理層は、CCIプロトコルが上位層として実装され、他の通信装置と拡張ヘッダおよび拡張フッタを含むデータを送受信する。CCI-FS処理部は、拡張ヘッダに含まれるDesination IDと通信装置が有するID(Source ID)とを比較し、通信装置へのアクセスか否かの判別を行う。物理層は、ポイントツーポイントトポロジの非対称上位層を有し、同一の物理配線を、高速データ伝送、制御データ、電力でシェアすることを可能に設計されているMIPI A-PHYである。本技術は、例えば、車載カメラの接続で用いられる通信システムに適用できる。
Description
本開示は、通信装置および通信方法、並びにプログラムに関し、特に、より多様な用途に対応するとともに、通信の信頼性を高めることができるようにした通信装置および通信方法、並びにプログラムに関する。
現在、規格化が進行中であるCSI(Camera Serial Interface)-2 ver4.0では、物理層にC-PHYを使うパケット構造と、物理層にD-PHYを使うパケット構造との2種類が定義されている。
また近年、CSI-2規格は、モバイル機器だけに用いられるのではなく、車載やIoT(Internet of Things)など様々な用途に広く用いられるようになった結果、既存のパケット構造では、それらの用途に対応することができないと想定される。そこで、MIPI(Mobile Industry Processor Interface)アライアンスでは、多様な用途に対応させるため、既存のパケットヘッダやパケットフッタなど、パケット構造の拡張を検討している。
特許文献1では、CSI-2規格を利用して、処理装置と複数の画像センサとを接続する際に、データバスの数を減らすことができるシステムが提案されている。
ところで、従来のCCI(Camera Control Interface)やI2C(Inter-Integrated Circuit)などの規格は、モバイル市場向けに開発されたものであり、エラー検出機能が不十分な通信システムである。これに対し、車載向けCIS(CMOS Image Sensor)には、車載通信のように信頼性を高めることが必要とされており、例えば、ISO26262(Functional Safety)に対応するために、CRCやMessageCountなどのエラー検出機能を備えることが要求される。
特許文献2には、I2CプロトコルにCRCを付加して通信を行う技術が開示されている。
しかしながら、通信の信頼性を高めるために、上述の特許文献2に開示されているように、I2Cプロトコルに単純にCRCを付加しただけでは、既存のCCI規格と互換性を損なうことになってしまう。そのため、既存のCCI回路は、最終段に付加されたCRCをレジスタ書き込みデータとして認識することになると想定される。その結果、エラー検出が不可能となるだけでなく、誤ったレジスタアドレスに誤った値を書き込むことが生じた場合には、意図しない動作が発生してしまい、システムがデッドロックすることも想定される。
また、上述したように、CSI-2規格におけるパケットのパケット構造を拡張させることが検討されているが、その際に、既存のCSI-2規格の互換性を維持しつつ、より多くの情報を伝達することができるようにして、多様な用途に対応させることが求められている。このとき、伝送経路上においてパケットが改変されることを禁止する規定に違反しないようにすることが必要となる。
本開示は、このような状況に鑑みてなされたものであり、より多様な用途に対応するとともに、通信の信頼性を高めることができるようにするものである。
本開示の一側面の通信装置は、CCI(Camera Control Interface)プロトコルが上位層として実装され、他の通信装置と拡張ヘッダおよび拡張フッタを含むデータを送受信する物理層と、前記拡張ヘッダに含まれるDesination IDと前記通信装置が有するID(Source ID)とを比較し、前記通信装置へのアクセスか否かの判別を行うCCI-FS処理部とを備える。
本開示の一側面の通信方法またはプログラムは、CCI(Camera Control Interface)プロトコルが上位層として実装される物理層により、他の通信装置と拡張ヘッダおよび拡張フッタを含むデータを送受信することと、前記拡張ヘッダに含まれるDesination IDと前記通信装置が有するID(Source ID)とを比較し、前記通信装置へのアクセスか否かの判別を行うこととを含む。
本開示の一側面においては、CCI(Camera Control Interface)プロトコルが上位層として実装される物理層により、他の通信装置と拡張ヘッダおよび拡張フッタを含むデータを送受信され、拡張ヘッダに含まれるDesination IDと前記通信装置が有するID(Source ID)とを比較し、前記通信装置へのアクセスか否かの判別が行われる。
以下、本技術を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
<通信システムの構成例>
図1は、本技術を適用した通信システムの第1の実施の形態の構成例を示すブロック図である。
図1は、本技術を適用した通信システムの第1の実施の形態の構成例を示すブロック図である。
図1に示すように、通信システム11は、イメージセンサ21およびアプリケーションプロセッサ22がバス23を介して接続されて構成される。例えば、通信システム11は、いわゆるスマートフォンなどのような既存のモバイル機器の内部におけるCSI-2接続に用いられる。
イメージセンサ21は、例えば、レンズや撮像素子(いずれも図示せず)などとともに、拡張モード対応CSI-2送信回路31が組み込まれて構成される。例えば、イメージセンサ21は、撮像素子が撮像することで取得した画像の画像データを、拡張モード対応CSI-2送信回路31によりアプリケーションプロセッサ22へ送信する。
アプリケーションプロセッサ22は、通信システム11を備えるモバイル機器で実行される各種のアプリケーションに応じた処理を行うLSI(Large Scale Integration)とともに、拡張モード対応CSI-2受信回路32が組み込まれて構成される。例えば、アプリケーションプロセッサ22は、イメージセンサ21から送信されてくる画像データを、拡張モード対応CSI-2受信回路32により受信し、その画像データに対して、アプリケーションに応じた処理をLSIにより行うことができる。
バス23は、CSI-2の規格に準拠して信号を伝送する通信経路であり、例えば、信号を伝送することが可能な伝送距離は30cm程度となっている。また、バス23は、図示するように複数本の信号線(I2C,CLKP/N,D0P/N,D1P/N,D2P/N,D3P/N)によって、イメージセンサ21およびアプリケーションプロセッサ22を接続する。
拡張モード対応CSI-2送信回路31および拡張モード対応CSI-2受信回路32は、CSI-2の規格を拡張させた拡張モードでの通信に対応しており、互いに信号の送信および受信を行うことができる。なお、拡張モード対応CSI-2送信回路31および拡張モード対応CSI-2受信回路32の詳細な構成については、図9および10を参照して後述する。
図2は、本技術を適用した通信システムの第2の実施の形態の構成例を示すブロック図である。
図2に示すように、通信システム11Aは、イメージセンサ21およびSerDes装置25がバス24-1を介して接続されるとともに、アプリケーションプロセッサ22およびSerDes装置26がバス24-2を介して接続されており、SerDes装置25およびSerDes装置26がバス27を介して接続されて構成される。例えば、通信システム11Aは、既存の車載カメラにおける接続に用いられる。
ここで、イメージセンサ21およびアプリケーションプロセッサ22は、図1のイメージセンサ21およびアプリケーションプロセッサ22と同様に構成されており、その詳細な説明は省略する。
バス24-1および24-2は、図1のバス23と同様に、CSI-2の規格に準拠して信号を伝送する通信経路であり、図示するように複数本の信号線(HS-GPIO,I2C/I3C,CLKP/N,D0P/N,D1P/N,D2P/N,D3P/N)を備えて構成される。
SerDes装置25は、CSI-2受信回路33およびSerDes(Serializer Deserializer)送信回路34を備えて構成される。例えば、SerDes装置25は、CSI-2受信回路33が、拡張モード対応CSI-2送信回路31との間で通常のCSI-2の規格に準拠した通信を行うことにより、イメージセンサ21から送信されてくるビット並列の信号を取得する。そして、SerDes装置25は、その取得した信号をビット直列に変換して、SerDes送信回路34がSerDes受信回路35との間で1レーンでの通信を行うことにより、その信号をSerDes装置26へ送信する。
SerDes装置26は、SerDes受信回路35およびCSI-2送信回路36を備えて構成される。例えば、SerDes装置26は、SerDes受信回路35が、SerDes送信回路34との間で1レーンでの通信を行うことにより送信されてくるビット直列の信号を取得する。そして、SerDes装置26は、その取得した信号をビット並列に変換して、CSI-2送信回路36が、拡張モード対応CSI-2受信回路32との間で通常のCSI-2の規格に準拠した通信を行うことにより、アプリケーションプロセッサ22へ送信する。
バス27は、A-PHYや、FPD(Flat Panel Display)-LINK IIIなどのような規格に準拠して信号を伝送する通信経路であり、例えば、信号を伝送することが可能な伝送距離は15m程度の長距離となっている。
これらの長距離伝送可能な物理層インタフェースによって、自動車業界が高度な運転支援システム(ADAS)、自動運転システム(ADS)、およびカメラや車載インフォテインメント(IVI)ディスプレイを含むその他のサラウンドセンサーアプリケーションを利用することが可能となる。MIPI A-PHYは、ポイントツーポイントトポロジの非対称データリンク層(非対称上位層)を有し、同一の物理配線を、高速データ伝送、制御データ、電力でシェアすることを可能としており、カメラ、センサー、ディスプレイの統合を簡素化するように設計されたエンドツーエンドシステムの基盤として機能すると同時に、機能的な安全性とセキュリティも組み込むことも可能としている。
このように構成される通信システム11および11Aは、拡張モード対応CSI-2送信回路31および拡張モード対応CSI-2受信回路32により、後述するように拡張されたパケット構造のパケットでデータを送受信することができる。これにより、より多様な用途、例えば、後述するようなRAW24や、SmartROI(Region of Interest)、GLD(Graceful Link Degradation)などに対応することができる。
<パケット構造の第1の構造例>
図3乃至図8を参照して、拡張モード対応CSI-2送信回路31および拡張モード対応CSI-2受信回路32の間の通信で用いられるパケットのパケット構造の第1の構造例について説明する。
図3乃至図8を参照して、拡張モード対応CSI-2送信回路31および拡張モード対応CSI-2受信回路32の間の通信で用いられるパケットのパケット構造の第1の構造例について説明する。
図3には、物理層がD-PHYである場合にCSI-2の拡張モードで用いられるパケット(以下、D-PHY用の拡張パケットと称する)の全体的なパケット構造が示されている。
図3に示すように、D-PHY用の拡張パケットは、パケットヘッダおよびパケットフッタが既存のCSI-2規格と同一のパケット構造となっている。例えば、パケットヘッダには、仮想チャネルの回線数を示すVC(VirtualChannel)、データの種類を示すデータタイプ(DataType)、ペイロードのデータ長を示すWC(Word Count)、VCX/ECCが格納される。また、パケットフッタには、CRC(Cyclic Redundancy Check)が格納される。
ここで、既存のCSI-2規格では、パケットヘッダで送信されるデータタイプは、0x38~0x3Fがリザーブと定義されている。そこで、D-PHY用の拡張パケットでは、既存ではリザーブとなっているデータタイプを利用して、受信側で拡張モードを識別するための設定情報が新たに定義される。
例えば、データタイプとして、
・DataType[5:3]=3’b111の場合、拡張モード
・DataType[2]=Reserve(RES:将来の拡張のための予約)
・DataType[1:0]=extension mode type(4つの拡張モードを用意)
を定義する。
・DataType[5:3]=3’b111の場合、拡張モード
・DataType[2]=Reserve(RES:将来の拡張のための予約)
・DataType[1:0]=extension mode type(4つの拡張モードを用意)
を定義する。
即ち、既存のCSI-2規格ではリザーブと定義されているデータタイプの0x38~0x3Fのうち、例えば、DataType[5:3]が拡張モード設定情報として定義され、DataType[1:0]が拡張タイプ設定情報として定義される。拡張モード設定情報は、拡張モードであるか否かを示し、例えば、DataType[5:3]が3’b111である場合には拡張モードであることを示す。また、拡張モードのタイプとして、拡張モード0、拡張モード1、拡張モード2、および拡張モード3の4つのタイプが用意されるとき、拡張タイプ設定情報は、それらのうちの、いずれのタイプであるかを示す。例えば、DataType[1:0]が2’b00である場合には、拡張モードのタイプが拡張モード0であることを示す。
そして、拡張モード0(DataType[1:0]=2’b00)では、例えば、ペイロードが4つに分離されたパケット構造が定義される。即ち、拡張モード0におけるペイロードは、図3に示すように、拡張パケットヘッダ(ePH:extended Packet Header)、オプショナル拡張パケットヘッダ(OePH:Optional extended Packet Header)、レガシーペイロード(Legacy Payload)、および、オプショナル拡張パケットフッタ(OePF:Optional extended Packet Footer)に分離される。なお、拡張パケットヘッダは、繰り返し送信してもよい。
拡張パケットヘッダは、既存のCSI-2規格のペイロードに相当する先頭に配置され、拡張モードでは必ず送信する必要がある。例えば、拡張パケットヘッダは、図示するように、SROIの識別フラグ、拡張VC(VirtualChannel)、拡張DataType、OePHの選択フラグ、およびOePFの選択フラグなどの設定情報で構成される。ここで、拡張VCにより、既存のCSI-2規格では4ビットであったVCが8ビットに拡張され、拡張DataTypeにより、既存のCSI-2規格では4ビットであったDataTypeが8ビットに拡張される。
例えば、D-PHY用のパケットでは、既存のパケットヘッダのVCが既に4ビット存在しており、拡張パケットヘッダの拡張VCを4ビットと定義することにより、合計で8ビットとすることができる。具体的には、OePH[7:0] = {5’h00,RSID,XY_POS,MC}、OePF[3:0] = {3’h0,pCRC}と定義することができ、それぞれの用途に必要なパケット送信のON/OFFを制御することができる。
オプショナル拡張パケットヘッダおよびオプショナル拡張パケットフッタは、用途に応じて選択的に伝送される。
レガシーペイロードは、既存のCSI-2の規格と同一のペイロードに相当する。
このように、拡張パケットヘッダ、オプショナル拡張パケットヘッダ、およびオプショナル拡張パケットフッタを必要に応じて設定することで、様々な用途に対応したデータを送信することができるようになる。また、拡張パケットヘッダ、オプショナル拡張パケットヘッダ、およびオプショナル拡張パケットフッタで伝送されるデータは、26bit+6bitのECC(Error Correction Code)とする。これにより、既存のパケットヘッダの回路を流用して回路規模の増大を抑制し、かつ、エラー耐性の向上を図ることができる。
このようなD-PHY用の拡張パケットの具体的な適用例として、図4には、物理層がD-PHYである場合にCSI-2の拡張モードで用いられるショートパケット(以下、D-PHY用の拡張ショートパケットと称する)のパケット構造が示されている。同様に、図5には、物理層がD-PHYである場合にCSI-2の拡張モードで用いられるロングパケット(以下、D-PHY用の拡張ロングパケットと称する)のパケット構造が示されている。
図4に示すようなD-PHY用の拡張ショートパケットにおいて、パケットヘッダに格納されているデータタイプの拡張タイプ設定情報は、拡張モードのタイプが拡張モード0であること(DT[5:0]=0x1C(5’b111_0_0))を示している。また、拡張パケットヘッダに格納されているデータタイプのショートパケット設定情報は、ショートパケットであること(DT[7:0]=0x00 (Frame Start Code(Short Packet)))を示している。
このように、拡張モードであり、かつ、拡張パケットヘッダに格納されているデータタイプがDT[7:0]=0x00~0x0Fである場合、拡張ショートパケットとし、オプショナル拡張パケットヘッダには必ず、拡張ショートパケットのShort Packet Data Fieldを含むデータが伝送される。このShort Packet Data Fieldは、既存のCSI-2の規格で定義されたものと同一である。
なお、拡張ショートパケットの送信時には、オプショナル拡張パケットヘッダのうち、MC(GLD用MessageCount)とRSID(車載用行番号とSourceID)は送信しても良いが、レガシーペイロードとpCRCは不要であるため、送信禁止である。仮に、それらを誤って送信した場合には、受信側で無視される。
そして、図4に示すようなパケット構造の拡張ショートパケットは、既存のCSI-2の規格に従った拡張ショートパケットと比較して、データタイプおよび仮想チャネルのビット幅を拡張することができ、オプショナル拡張パケットヘッダで定義される様々な用途に対応することができる。また、これらの機能が必要でない場合は、既存のCSI-2の規格に従った拡張ショートパケットを、拡張ロングパケットと一緒に送信するようにしてもよい。
図5に示すようなD-PHY用の拡張ロングパケットにおいて、パケットヘッダに格納されているデータタイプの拡張タイプ設定情報は、拡張モードのタイプが拡張モード0であること(DT[5:0]=0x1C(5’b111_0_0))を示している。また、拡張パケットヘッダに格納されているデータタイプのショートパケット設定情報は、ショートパケット以外であること(DT[7:0]は0x00~0x0F以外(=拡張LongPackt))を示している。従って、拡張ロングパケットでは、Short Packet Data Fieldを含むデータは送信されない。
また、拡張パケットヘッダの設定に従い、オプショナル拡張パケットヘッダ、レガシーペイロード、およびオプショナル拡張パケットフッタが、既存のCSI-2の規格でのペイロードに格納して伝送される。このように、既存のペイロードに格納して伝送されるため、既存のSerDes送信回路34およびSerDes受信回路35(図2)には、既存のペイロードで伝送される画像データと同様に認識され、そのまま後段に伝送される。
そして、最後段のアプリケーションプロセッサ22は、パケットヘッダのデータタイプDT[5:0]によって、拡張モードと判定することができる。従って、アプリケーションプロセッサ22は、ペイロードの中身を、拡張パケットヘッダから順に解釈し、所望の拡張モードのデータを取り出すことができる。
図6には、物理層がC-PHYである場合にCSI-2の拡張モードで用いられるパケット(以下、C-PHY用の拡張パケットと称する)の全体的なパケット構造が示されている。なお、図6に示すC-PHY用の拡張パケットにおいて、図3のD-PHY用の拡張パケットと共通する構成については説明を省略し、異なる構成について説明を行う。
例えば、C-PHY用の拡張パケットでは、図3のD-PHY用の拡張パケットと同様に、データタイプで拡張モードを識別し、アプリケーションプロセッサ22で実行される各アプリケーションに応じたデータは、すべてペイロードに埋め込まれて伝送される。
図6に示すように、C-PHY用の拡張パケットは、既存のCSI-2規格に従ったC-PHY用のパケットと同様に、パケットヘッダを2回伝送し、C-PHYが16bitを7symbolに変換する都合上、16bit単位でデータを並べる。また、ペイロードの先頭には拡張パケットヘッダが配置されるが、仮想チャネルに関しては、C-PHYの場合、既存のパケットヘッダの先頭がその為にReserveとなっていたため、拡張パケットヘッダには仮想チャネルは格納されない。もちろん、D-PHY用の拡張パケットと同様に、拡張パケットヘッダに仮想チャネルを格納してもよい。
また、オプショナル拡張パケットヘッダおよびオプショナル拡張パケットフッタはビット数が多いため、OePHFというフラグを準備し、このフラグが1の場合、OePH/OePF情報が次に伝送される。そして、ePH情報およびOePH情報の後、拡張パケットヘッダとしてCRCを伝送し、同様に構成されるパケットヘッダを2回繰り返して伝送する。このように、既存のパケットヘッダが2回伝送される仕組みと構造を同じにすることで、回路再利用性およびエラー耐性を両立することができる。
このようなC-PHY用の拡張パケットの具体的な適用例として、図7には、物理層がC-PHYである場合にCSI-2の拡張モードで用いられるショートパケット(以下、C-PHY用の拡張ショートパケットと称する)のパケット構造が示されている。同様に、図8には、物理層がC-PHYである場合にCSI-2の拡張モードで用いられるロングパケット(以下、C-PHY用の拡張ロングパケットと称する)のパケット構造が示されている。
なお、図7に示すC-PHY用の拡張ショートパケットは、図4に示したD-PHY用の拡張ショートパケットとパケット構造に大きな差異はなく、図8に示すC-PHY用の拡張ロングパケットは、図5に示したD-PHY用の拡張ロングパケットとパケット構造に大きな差異はない。
<イメージセンサおよびアプリケーションプロセッサの構成例>
図9は、拡張モード対応CSI-2送信回路31を備えるイメージセンサ21の構成例を示すブロック図である。
図9は、拡張モード対応CSI-2送信回路31を備えるイメージセンサ21の構成例を示すブロック図である。
図9に示すように、イメージセンサ21は、拡張モード対応CSI-2送信回路31の他に、画素41、AD変換器42、画像処理部43、画素CRC演算部44、物理層処理部45、I2C/I3Cスレーブ46、およびレジスタ47を備えて構成される。また、拡張モード対応CSI-2送信回路31は、パッキング部51、パケットヘッダ生成部52、拡張パケットヘッダ生成部53、拡張パケットフッタ生成部54、選択部55および56、CRC演算部57、レーン分配部58、CCIスレーブ59、並びに、コントローラ60を備えて構成される。
画素41は、受光した光の光量に応じたアナログの画素信号を出力し、AD変換器(ADC:Analog-to-Digital Converter)42は、画素41から出力される画素信号をデジタル変換して画像処理部43に供給する。画像処理部(ISP:Image Signal Processor)43は、画素信号に基づく画像に対する各種の画像処理を施して得られる画像データを画素CRC演算部44およびパッキング部51に供給する。また、画像処理部43は、画像データが有効であるか否かを示すデータイネーブル信号data_enをパッキング部51およびコントローラ60に供給する。
画素CRC演算部44は、画像処理部43から供給される画像データにおける画素ごとのCRCを演算して求め、そのCRCを拡張パケットフッタ生成部54に供給する。
物理層処理部45は、C-PHYおよびD-PHYの両方の物理層処理を実行することができる。例えば、物理層処理部45は、コントローラ60から供給されるC層イネーブル信号cphy_enが有効である場合にはC-PHYの物理層処理を実行し、C層イネーブル信号cphy_enが無効である場合にはD-PHYの物理層処理を実行する。そして、物理層処理部45は、レーン分配部58により4レーンに分割されたパケットを、アプリケーションプロセッサ22へ送信する。
I2C/I3Cスレーブ46は、I2C(Inter-Integrated Circuit)またはI3C(Improved Inter Integrated Circuits)の規格に基づき、アプリケーションプロセッサ22のI2C/I3Cマスタ72(図10)による主導に従って通信を行う。
レジスタ47には、アプリケーションプロセッサ22から送信されてくる各種の設定が、I2C/I3Cスレーブ46およびCCIスレーブ59を介して書き込まれる。ここで、レジスタ47に書き込まれる設定としては、例えば、CSI-2規格に従った通信設定や、拡張モードの使用の有無を示す拡張モード設定、拡張モードでの通信で必要となる固定の通信設定などがある。
パッキング部51は、画像処理部43から供給される画像データを、パケットのペイロードに格納するパッキング処理を行い、そのペイロードを選択部55およびレーン分配部58に供給する。
パケットヘッダ生成部52は、コントローラ60から供給されるパケットヘッダ生成指示信号ph_goに従って、パケットヘッダの生成が指示されると、パケットヘッダを生成して選択部55およびレーン分配部58に供給する。
即ち、パケットヘッダ生成部52は、パケットで伝送されるデータについて設定された条件を示す設定情報、例えば、データのタイプを示すデータタイプを格納するパケットヘッダを、既存のCSI-2規格に従って生成する。また、パケットヘッダ生成部52は、パケットで伝送されるデータのタイプを示す設定情報であるデータタイプにおいて、既存のCSI-2規格では未使用と定義されている未使用領域に、拡張ヘッダを使用する拡張モードであるか否かを示す拡張モード設定情報を格納する。さらに、パケットヘッダ生成部52は、未使用領域に、拡張モードとして用意される複数のタイプの拡張モードのうちの、いずれのタイプであるかを示す拡張タイプ設定情報を格納する。
拡張パケットヘッダ生成部53は、コントローラ60から供給される拡張パケットヘッダ生成指示信号eph_goおよび拡張パケットヘッダイネーブル信号ePH_enに従って、拡張パケットヘッダおよびオプショナル拡張パケットヘッダそれぞれを生成し、選択部56およびレーン分配部58に供給する。また、拡張パケットヘッダ生成部53には、イメージセンサ21の用途に応じて、車載用行番号やソースID(identification)などが供給され、必要に応じて、それらを拡張パケットヘッダまたはオプショナル拡張パケットヘッダに格納する。
即ち、拡張パケットヘッダ生成部53は、パケットヘッダ生成部52により生成されるパケットヘッダとは別に、例えば、図3に示したような設定情報を格納する拡張パケットヘッダを生成する。さらに、拡張パケットヘッダ生成部53は、オプショナル拡張パケットヘッダを送信する場合、オプショナル拡張パケットヘッダを送信するか否かを示すオプショナル拡張パケットヘッダ設定情報(OePH[7:0])として、オプショナル拡張パケットヘッダを送信することを示すオプショナル拡張パケットヘッダ設定情報を拡張パケットヘッダに格納し、拡張パケットヘッダに続けてオプショナル拡張パケットヘッダを生成する。
拡張パケットフッタ生成部54は、コントローラ60から供給される拡張パケットフッタ生成指示信号epf_goおよび拡張パケットヘッダイネーブル信号ePF_enに従って、オプショナル拡張パケットフッタを生成し、選択部56およびレーン分配部58に供給する。
即ち、拡張パケットフッタ生成部54は、拡張モードにおいて伝送されるパケットが、既存のCSI-2規格においてペイロードとして伝送されるデータを格納する拡張ロングパケットである場合に、データが格納されるレガシーペイロードに続けて配置されるオプショナル拡張パケットフッタを生成する。
また、パケットヘッダ生成部52、拡張パケットヘッダ生成部53、および拡張パケットフッタ生成部54には、コントローラ60からC層イネーブル信号cphy_enが供給される。そして、C層イネーブル信号cphy_enが有効を示している場合、パケットヘッダ生成部52はC-PHY用のパケットヘッダを生成し、拡張パケットヘッダ生成部53はC-PHY用の拡張パケットヘッダおよびオプショナル拡張パケットヘッダを生成し、拡張パケットフッタ生成部54はC-PHY用のオプショナル拡張パケットフッタを生成する。一方、C層イネーブル信号cphy_enが無効を示している場合、パケットヘッダ生成部52はD-PHY用のパケットヘッダを生成し、拡張パケットヘッダ生成部53はD-PHY用の拡張パケットヘッダおよびオプショナル拡張パケットヘッダを生成し、拡張パケットフッタ生成部54はD-PHY用のオプショナル拡張パケットフッタを生成する。
選択部55は、コントローラ60から供給されるC層イネーブル信号cphy_enに従って、C層イネーブル信号cphy_enが有効である場合、パケットヘッダ生成部52から供給されるパケットヘッダを選択し、選択部56へ供給する。一方、選択部55は、C層イネーブル信号cphy_enが無効である場合、パッキング部51から供給されるペイロードを選択し、選択部56へ供給する。
選択部56は、コントローラ60から供給されるデータ選択信号data_selに従って、選択部55を介して選択的に供給されるパケットヘッダまたはペイロード、拡張パケットヘッダ生成部53から供給される拡張パケットヘッダおよびオプショナル拡張パケットヘッダ、拡張パケットフッタ生成部54から供給されるオプショナル拡張パケットフッタのうち、いずれかを選択してCRC演算部57に供給する。
CRC演算部57は、選択部56を介して選択的に供給されるパケットヘッダ、ペイロード、拡張パケットヘッダ、オプショナル拡張パケットヘッダ、またはオプショナル拡張パケットフッタのCRCを演算して求め、そのCRCをレーン分配部58に供給する。
レーン分配部58は、コントローラ60の制御に従って、パッキング部51から供給されるペイロード、パケットヘッダ生成部52から供給されるパケットヘッダ、拡張パケットヘッダ生成部53から供給される拡張パケットヘッダおよびオプショナル拡張パケットヘッダ、拡張パケットフッタ生成部54から供給されるオプショナル拡張パケットフッタ、並びに、CRC演算部57から供給されるCRCを、CSI-2の規格に従った4レーンに分配して、物理層処理部45に供給する。
CCI(Camera Control Interface)スレーブ59は、CSI-2の規格に基づき、アプリケーションプロセッサ22のCCIマスタ88(図10)による主導に従って通信を行う。
コントローラ60は、レジスタ47に記憶されている各種の設定を読み出して、それらの設定に従って、拡張モード対応CSI-2送信回路31を構成する各ブロックに対する制御を行う。例えば、コントローラ60は、送信対象のデータの内容に応じて、既存のCSI-2規格に従ったパケット構造のパケットの送信と、拡張モード時におけるパケット構造のパケットの送信との切り替えを制御する。
このようにイメージセンサ21は構成されており、図3乃至図8を参照して説明したようなパケット構造の拡張パケットを生成して、アプリケーションプロセッサ22へ送信することができる。
図10は、拡張モード対応CSI-2受信回路32を備えるアプリケーションプロセッサ22の構成例を示すブロック図である。
図10に示すように、アプリケーションプロセッサ22は、拡張モード対応CSI-2受信回路32の他に、物理層処理部71、I2C/I3Cマスタ72、レジスタ73、およびコントローラ74を備えて構成される。また、拡張モード対応CSI-2受信回路32は、パケットヘッダ検出部81、レーン併合部82、解釈部83、選択部84および85、CRC演算部86、アンパッキング部87、並びに、CCIマスタ88を備えて構成される。
物理層処理部71は、C-PHYおよびD-PHYの両方の物理層処理を実行することができる。上述したように、イメージセンサ21の物理層処理部45では、C-PHYおよびD-PHYのうちの、いずれか一方の物理層処理が行われ、物理層処理部71は、物理層処理部45において実行されたのと同一の物理層処理を実行する。
I2C/I3Cマスタ72は、I2CまたはI3Cの規格に基づき、イメージセンサ21のI2C/I3Cスレーブ46(図9)との通信を主導して行う。
レジスタ73には、コントローラ74により、イメージセンサ21のレジスタ47に書き込むべき各種の設定が記録される。
コントローラ74は、アプリケーションプロセッサ22を構成する各ブロックに対する制御を行う。
パケットヘッダ検出部81は、物理層処理部71から供給されるパケットからパケットヘッダを検出し、パケットヘッダに格納されているデータタイプを確認する。そして、パケットヘッダ検出部81は、パケットヘッダのデータタイプにおいて、拡張モード設定情報が拡張モードであることを示す場合(DataType[5:3]=3’b111)、拡張モードを示す拡張モード検出フラグを、解釈部83、選択部84、および選択部85に供給する。また、パケットヘッダ検出部81は、パケットヘッダに基づいて、分割されている4レーンの併合を有効とするか否かを示す併合イネーブル信号mrg_enをレーン併合部82に供給する。
即ち、パケットヘッダ検出部81は、既存のCSI-2規格に従って、パケットで伝送されるデータについて設定された条件を示す設定情報(データタイプなど)が格納されるパケットヘッダを検出する。このとき、パケットヘッダ検出部81は、パケットで伝送されるデータのタイプを示す設定情報であるデータタイプにおいて、既存のCSI-2規格では未使用と定義されている未使用領域に格納されている、拡張ヘッダを使用する拡張モードであるか否かを示す拡張モード設定情報に従って、拡張モード検出フラグを出力することで、既存のCSI-2規格に従ったパケット構造のパケットの受信と、拡張モード時におけるパケット構造のパケットの受信との切り替えを行わせる。また、パケットヘッダ検出部81は、既存のCSI-2規格では未使用と定義されているデータタイプの未使用領域に格納されている拡張モードタイプ情報に従って、拡張モードとして用意される複数のタイプの拡張モードのうちの、いずれのタイプの拡張モードであるかを認識する。
レーン併合部82は、パケットヘッダ検出部81から供給される併合イネーブル信号mrg_enが有効である場合、物理層処理部71から供給される4レーンに分割されたパケットを併合する。そして、レーン併合部82は、1レーンのパケットを解釈部83、選択部84、および選択部85に供給する。
解釈部83は、パケットヘッダ検出部81から供給される拡張モード検出フラグが、拡張モードであることを示している場合、拡張モードのパケット構造に基づいて、レーン併合部82から供給されるパケットから、拡張パケットヘッダ、オプショナル拡張パケットヘッダ、およびオプショナル拡張パケットフッタを読み出す。そして、解釈部83は、拡張パケットヘッダ、オプショナル拡張パケットヘッダ、およびオプショナル拡張パケットフッタに格納されている設定情報を解釈する。
即ち、解釈部83は、拡張ヘッダとして、既存のCSI-2規格に従ったペイロードの先頭に配置される拡張パケットヘッダを受信し、拡張パケットヘッダに格納されている設定情報を解釈する。また、解釈部83は、拡張パケットヘッダに格納されているオプショナル拡張パケットヘッダ設定情報が、用途に応じて選択的に伝送されるオプショナル拡張パケットヘッダを送信することを示している場合、拡張パケットヘッダに続けてオプショナル拡張パケットヘッダを受信し、オプショナル拡張パケットヘッダに格納されている設定情報を解釈する。さらに、解釈部83は、拡張モードにおいて伝送されるパケットが、既存のCSI-2規格においてペイロードとして伝送されるデータを格納する拡張ロングパケットである場合に、データが格納されるレガシーペイロードに続けて配置されるオプショナル拡張パケットフッタを受信し、オプショナル拡張パケットフッタを解釈する。
そして、解釈部83は、例えば、オプショナル拡張パケットヘッダに格納されている車載用行番号やソースIDなどを読み出して、後段のLSI(図示せず)へ出力する。
なお、解釈部83は、パケットヘッダ検出部81から供給される拡張モード検出フラグが、拡張モードであることを示していない場合には、即ち、既存のパケット構造のパケットが供給されている場合には、上述したような処理を行わずに停止する。
選択部84は、パケットヘッダ検出部81から供給される拡張モード検出フラグに従い、既存パケットのパケット構造または拡張パケットのパケット構造に基づいて、選択的に、アンパッキング部87へデータを供給する。
選択部85は、パケットヘッダ検出部81から供給される拡張モード検出フラグに従い、既存パケットのパケット構造または拡張パケットのパケット構造に基づいて、選択的に、CRC演算部86へデータを供給する。
CRC演算部86は、選択部85を介して選択的に供給されるパケットヘッダ、ペイロード、拡張パケットヘッダ、オプショナル拡張パケットヘッダ、またはオプショナル拡張パケットフッタのCRCを演算する。そして、CRC演算部86は、CRCエラーが検出された場合、その旨を示すcrcエラー検出信号を後段のLSI(図示せず)へ出力する。
アンパッキング部87は、選択部84を介して選択的に供給されるペイロードに格納されている画像データを取り出すアンパッキング処理を行い、取得した画像データを後段のLSI(図示せず)へ出力する。
CCIマスタ88は、CSI-2の規格に基づき、イメージセンサ21のCCIスレーブ59(図9)との通信を主導して行う。
このようにアプリケーションプロセッサ22は構成されており、イメージセンサ21から送信されてくる拡張パケットを受信して、拡張パケットヘッダ、オプショナル拡張パケットヘッダ、およびオプショナル拡張パケットフッタに格納されている設定情報を解釈して、画像データを取得することができる。
<通信処理>
図11乃至図14を参照して、イメージセンサ21およびアプリケーションプロセッサ22で行われる通信処理について説明する。
図11乃至図14を参照して、イメージセンサ21およびアプリケーションプロセッサ22で行われる通信処理について説明する。
図11は、イメージセンサ21がパケットを送信する処理を説明するフローチャートである。
例えば、バス23を介して、イメージセンサ21がアプリケーションプロセッサ22に接続されると処理が開始される。ステップS11において、コントローラ60は、アプリケーションプロセッサ22と通信を開始するにあたって、拡張モードを使用するか否かを判定する。例えば、コントローラ60は、レジスタ47に記憶されている拡張モード設定を確認し、拡張モードを使用することを示す拡張モード設定がアプリケーションプロセッサ22により書き込まれている場合、拡張モードを使用すると判定する。
ステップS11において、コントローラ60が、拡張モードを使用しないと判定した場合、処理はステップS12に進む。
ステップS12において、I2C/I3Cスレーブ46は、アプリケーションプロセッサ22から(後述する図13のステップS54で)送信されてくる画像データの送信開始命令を受信する。さらに、I2C/I3Cスレーブ46は、その送信開始命令とともに送信されてくるCSI-2規格に従った通信設定を受信して、CCIスレーブ59を介してレジスタ47に書き込む。
ステップS13において、イメージセンサ21では、レジスタ47に記憶されている通信設定に基づいて、既存のCSI-2規格に従ったパケット構造のパケットをアプリケーションプロセッサ22へ送信する、従来のパケット送信処理が実行される。
一方、ステップS11において、コントローラ60が、拡張モードを使用すると判定した場合、処理はステップS14に進む。
ステップS14において、I2C/I3Cスレーブ46は、拡張モードでの通信で必要となる固定の通信設定(例えば、GLD時のPH/PFのレーンごとのコピーなど)を受信して、CCIスレーブ59を介してレジスタ47に書き込む。
ステップS15において、I2C/I3Cスレーブ46は、アプリケーションプロセッサ22から(後述する図13のステップS57で)送信されてくる画像データの送信開始命令を受信する。さらに、I2C/I3Cスレーブ46は、その送信開始命令とともに送信されてくるCSI-2規格に従った通信設定を受信して、CCIスレーブ59を介してレジスタ47に書き込む。
ステップS16において、コントローラ60は、パケットの送信を開始するか否かを判定し、パケットの送信を開始すると判定するまで処理を待機する。
そして、ステップS16において、パケットの送信を開始すると判定された場合、処理はステップS17に進み、コントローラ60は、拡張モードで送信すべきデータであるか否かを判定する。ここで、コントローラ60は、送信対象のデータの内容に応じて、例えば、後述するような適用例のユースケースで送信されるようなデータである場合、拡張モードで送信すべきデータであると判定する。
ステップS17において、コントローラ60が、拡張モードで送信すべきデータであると判定した場合、処理はステップS18に進み、拡張モードに対応した拡張パケットを送信する拡張モード送信処理(図12参照)が行われる。
一方、ステップS17において、コントローラ60が、拡張モードで送信すべきデータでないと判定した場合、処理はステップS19に進む。
ステップS19において、コントローラ60は、ショートパケットを送信するか否かを判定する。例えば、コントローラ60は、フレーム開始時およびフレーム終了時にショートパケットを送信すると判定する。
ステップS19において、コントローラ60がショートパケットを送信すると判定した場合、処理はステップS20に進む。ステップS20において、パケットヘッダ生成部52がパケットヘッダを生成して、従来のパケット構造のショートパケットをアプリケーションプロセッサ22へ送信する。
一方、ステップS19において、コントローラ60がショートパケットを送信しない(即ち、ロングパケットを送信する)と判定した場合、処理はステップS21に進む。ステップS21において、パッキング部51が画像データをペイロードに格納し、CRC演算部57がCRCを求めることにより、従来のパケット構造のロングパケットを生成して、アプリケーションプロセッサ22へ送信する。
ステップS18、ステップS20、またはステップS21の処理後、処理はステップS22に進み、コントローラ60は、パケット送信処理を終了する。その後、処理はステップS16に戻り、以下、次のパケットを対象として、同様にパケットを送信する処理が繰り返して行われる。
図12は、図11のステップS18の処理で行われる拡張モード送信処理を説明するフローチャートである。
ステップS31において、パケットヘッダ生成部52は、VCやデータタイプ、WCなどを格納したパケットヘッダを生成し、アプリケーションプロセッサ22へ送信する。このとき、パケットヘッダ生成部52は、パケットヘッダのデータタイプに、拡張モードであることを示す拡張モード設定情報(DataType[5:3]=3’b111)、および、拡張モードのモード設定が拡張モード0であることを識別する拡張タイプ設定情報(DataType[1:0] =2’b00)を書き込む。
ステップS32において、アプリケーションプロセッサ22は、拡張ショートパケットを送信するか否かを判定する。例えば、コントローラ60は、フレーム開始時およびフレーム終了時に拡張ショートパケットを送信すると判定する。
ステップS32において、アプリケーションプロセッサ22が、拡張ショートパケットを送信すると判定した場合、処理はステップS33に進む。
ステップS33において、拡張パケットヘッダ生成部53は、ペイロードの1バイト目で、データタイプ(DataType[7:0])をショートパケットと設定した拡張パケットヘッダを送信する。このとき、拡張パケットヘッダ生成部53は、拡張パケットヘッダに格納される各種の設定(例えば、OePH[7:0]やOePF[3:0]など)を行う。
ステップS34において、拡張パケットヘッダ生成部53は、ペイロードの2バイト目に、フレームナンバー(FN:FrameNumber)を格納して送信する。
ステップS35において、拡張パケットヘッダ生成部53は、ステップS33で行われた設定(OePH[7:0])に従って、図4に示したようなオプショナル拡張パケットヘッダを生成して送信する。
ステップS36において、CRC演算部57は、CRCを求めて、パケットフッタとして送信する。
一方、ステップS32において、アプリケーションプロセッサ22が、拡張ショートパケットを送信しない(即ち、ロングパケットを送信する)と判定した場合、処理はステップS37に進む。
ステップS37において、拡張パケットヘッダ生成部53は、ペイロードの1バイト目で、データタイプ(DataType[7:0])をショートパケット以外と設定した拡張パケットヘッダを送信する。このとき、拡張パケットヘッダ生成部53は、拡張パケットヘッダに格納される各種の設定(例えば、OePH[7:0]やOePF[3:0]など)を行う。
ステップS38において、拡張パケットヘッダ生成部53は、ステップS37で行われた設定(OePH[7:0])に従って、図5に示したようなオプショナル拡張パケットヘッダを生成して送信する。
ステップS39において、パッキング部51は、画像処理部43から供給される画像データをパッキングし、レガシーペイロードを生成して送信する。
ステップS40において、拡張パケットフッタ生成部54は、ステップS37で行われた設定(OePF[3:0])に従って、図4に示したようなオプショナル拡張パケットフッタを生成して送信する。
ステップS41において、CRC演算部57は、CRCを求めて、パケットフッタとして送信する。
そして、ステップS36またはS41の処理後、拡張モード送信処理は終了される。
以上のように、イメージセンサ21は、拡張ショートパケットまたは拡張ロングパケットを生成して送信することができる。
図13は、アプリケーションプロセッサ22がパケットを受信する処理を説明するフローチャートである。
例えば、バス23を介して、イメージセンサ21がアプリケーションプロセッサ22に接続されると処理が開始される。ステップS51において、コントローラ74は、イメージセンサ21の初期設定(例えば、物理層としてC-PHYおよびD-PHYのどちらを使用するかなど)をレジスタ73に書き込み、CCIマスタ88を介してI2C/I3Cマスタ72によりイメージセンサ21へ送信する。これにより、その初期設定が、イメージセンサ21のレジスタ47に書き込まれる。
ステップS52において、コントローラ74は、イメージセンサ21が拡張モードに対応しているか否かを認識する。例えば、コントローラ74は、I2C/I3Cマスタ72によりイメージセンサ21のレジスタ47に記憶されている設定値(例えば、拡張PH/PF対応capability)を取得することで、イメージセンサ21が拡張モードに対応しているか否かを認識することができる。または、コントローラ74は、例えば、マニュアルなどによる入力に基づいて、事前に、イメージセンサ21が拡張モードに対応しているか否かを認識することができる。
ステップS53において、コントローラ74は、イメージセンサ21が拡張モードに対応しており、かつ、アプリケーションプロセッサ22が実行するアプリケーションによって拡張モードの使用が求められているか否かを判定する。
ステップS53において、コントローラ74が、イメージセンサ21が拡張モードに対応していない、または、拡張モードの使用が求められていないと判定した場合、処理はステップS54に進む。
ステップS54において、コントローラ74は、I2C/I3Cマスタ72により画像データの送信開始命令をイメージセンサ21へ送信する。このとき、コントローラ74は、CSI-2規格に従った通信設定も送信させる。
ステップS55において、アプリケーションプロセッサ22では、ステップS54で送信した通信設定に基づいて、既存のCSI-2規格に従ったパケット構造のパケットを受信する、従来のパケット受信処理が行われる。
一方、ステップS53において、コントローラ74が、イメージセンサ21が拡張モードに対応しており、かつ、アプリケーションプロセッサ22が実行するアプリケーションによって拡張モードの使用が求められていると判定した場合、処理はステップS56に進む。
ステップS56において、I2C/I3Cマスタ72は、拡張モードでの通信が開始される前に、拡張モードでの通信に必要となる固定の通信設定を送信する。これにより、その固定の通信設定が、イメージセンサ21のレジスタ47に書き込まれる(図11のステップS14)。
ステップS57において、コントローラ74は、I2C/I3Cマスタ72により画像データの送信開始命令をイメージセンサ21へ送信する。このとき、コントローラ74は、CSI-2規格に従った通信設定も送信させる。
ステップS58において、パケットヘッダ検出部81は、物理層処理部71から供給されるデータを確認することによりパケットの受信を開始したか否かを判定し、パケットの受信を開始したと判定するまで処理を待機する。例えば、パケットヘッダ検出部81は、物理層処理部71から供給されるデータからパケットヘッダを検出した場合、パケットの受信を開始したと判定する。
ステップS58において、パケットヘッダ検出部81が、パケットの受信を開始したと判定した場合、処理はステップS59に進む。
ステップS59において、パケットヘッダ検出部81は、ステップS58で検出したパケットヘッダのデータタイプを確認して、受信を開始したパケットが拡張モードに対応した拡張パケットであるか否かを判定する。例えば、パケットヘッダ検出部81は、パケットヘッダのデータタイプにおいて、拡張モード設定情報が拡張モードであることを示す場合(DataType[5:3]=3’b111)、受信を開始したパケットが拡張パケットであると判定する。
ステップS59において、パケットヘッダ検出部81が、受信を開始したパケットが拡張パケットであると判定した場合、処理はステップS60に進み、拡張パケットを受信する拡張モード受信処理(図14参照)が行われる。
一方、ステップS59において、パケットヘッダ検出部81が、受信を開始したパケットが拡張パケットでないと判定した場合、処理はステップS61に進む。
ステップS61において、パケットヘッダ検出部81は、ステップS58で検出したパケットヘッダのデータタイプ(DataType[5:0])を確認して、受信を開始したパケットがショートパケットであるか否かを判定する。
ステップS61において、パケットヘッダ検出部81が、受信を開始したパケットがショートパケットであると判定した場合、処理はステップS62に進む。ステップS62において、パケットヘッダ検出部81は、イメージセンサ21から送信されてくる従来のパケット構造のショートパケットを受信する。
一方、ステップS61において、パケットヘッダ検出部81が、受信を開始したパケットがショートパケットでない(即ち、ロングパケットの受信を開始している)と判定した場合、処理はステップS63に進む。ステップS63において、アンパッキング部87は、イメージセンサ21から送信されてくる従来のパケット構造のロングパケットのペイロードを受信して画像データを取り出し、CRC演算部86は、パケットヘッダに続けて送信されてくるWC+1バイト目をCRCとして受信する。
ステップS60、ステップS62、またはステップS63の処理後、処理はステップS64に進み、コントローラ74は、パケット受信処理を終了する。その後、処理はステップS58に戻り、以下、次のパケットを対象として、同様にパケットを受信する処理が繰り返して行われる。
図14は、図13のステップS60の処理で行われる拡張モード受信処理を説明するフローチャートである。
ステップS71において、パケットヘッダ検出部81は、拡張モードのモード設定が拡張モード0であるか否かを判定する。例えば、パケットヘッダ検出部81は、パケットヘッダのデータタイプにおいて、拡張タイプ設定情報が拡張モード0であることを示す場合(DataType[1:0] =2’b00)、拡張モードのモード設定が拡張モード0であると判定する。
ステップS71において、パケットヘッダ検出部81が、拡張モードのモード設定が拡張モード0であると判定した場合、処理はステップS72に進む。ステップS72において、解釈部83は、ペイロードの1バイト目を拡張パケットヘッダとして受信する。
ステップS73において、解釈部83は、ステップS72で受信した拡張パケットヘッダのデータタイプ(DataType[7:0])を確認して、受信を開始したパケットが拡張ショートパケットであるか否かを判定する。
ステップS73において、解釈部83が、拡張ショートパケットであると判定した場合、処理はステップS74に進む。ステップS74において、解釈部83は、ステップS72で受信した拡張パケットヘッダに格納されている設定(OePH[7:0])に従って、オプショナル拡張パケットヘッダを受信する。
ステップS75において、CRC演算部86は、オプショナル拡張パケットヘッダに続けて送信されてくるWC+1バイト目をCRCとして受信する。
一方、ステップS73において、解釈部83が、拡張ショートパケットでない(即ち、拡張ロングパケットの受信を開始している)と判定した場合、処理はステップS76に進む。ステップS76において、解釈部83は、ステップS72で受信した拡張パケットヘッダに格納されている設定(OePH[7:0])に従って、オプショナル拡張パケットヘッダを受信する。
ステップS77において、アンパッキング部87は、イメージセンサ21から送信されてくる拡張ロングパケットのレガシーペイロードを受信して画像データを取り出す。
ステップS78において、解釈部83は、ステップS72で受信した拡張パケットヘッダに格納されている設定(OePF[3:0])に従って、オプショナル拡張パケットフッタを受信する。
ステップS79において、CRC演算部86は、オプショナル拡張パケットフッタに続けて送信されてくるWC+1バイト目をCRCとして受信する。
そして、ステップS71で拡張モードのモード設定が拡張モード0でないと判定した場合、ステップS75の処理後、またはステップS79の処理後、拡張モード受信処理は終了される。
以上のように、アプリケーションプロセッサ22は、拡張ショートパケットまたは拡張ロングパケットを受信して、データを取得することができる。
<パケット構造の第2の構造例>
図15乃至図18を参照して、拡張モード対応CSI-2送信回路31および拡張モード対応CSI-2受信回路32の間の通信で用いられるパケットのパケット構造の第2の構造例について説明する。
図15乃至図18を参照して、拡張モード対応CSI-2送信回路31および拡張モード対応CSI-2受信回路32の間の通信で用いられるパケットのパケット構造の第2の構造例について説明する。
上述の図3乃至図8に示した第1の構造例では、既存のCSI-2規格の互換性を維持することを重視して、パケットヘッダおよびパケットフッタが既存のCSI-2規格と同一のパケット構造とし、拡張パケットヘッダ、オプショナル拡張パケットヘッダ、およびオプショナル拡張パケットフッタによりパケット構造の拡張が図られている。これに対し、以下で説明する第2の構造例では、パケットヘッダおよびパケットフッタを既存のCSI-2規格と異なるものとし、拡張パケットヘッダおよび拡張パケットフッタによりパケット構造の拡張が図られる。
図15には、物理層がD-PHYである場合にCSI-2の拡張モードで用いられるショートパケット(以下、D-PHY用の拡張ショートパケット)のパケット構造が示されている。
図15に示すD-PHY用の拡張ショートパケットは、図4に示した第1の構造例のD-PHY用の拡張ショートパケットと同様に、既存のCSI-2規格と同一のパケットヘッダに格納されるデータタイプによって拡張モードが識別される。
一方、図15に示すD-PHY用の拡張ショートパケットでは、パケットヘッダのデータタイプの次の16ビットに、既存のCSI-2規格に従ったショートパケットと同様に、ショートパケットデータフィールドにフレームナンバーが格納される。そして、パケットヘッダに続いて、図4に示した拡張パケットヘッダと同様に構成される拡張パケットヘッダが送信される。
従って、受信側となるアプリケーションプロセッサ22は、拡張パケットヘッダに格納されているデータタイプを解釈して、拡張ショートパケットである場合に、パケットヘッダのデータフィールドにフレームナンバーが格納されていることを判別することができる。
なお、図15に示すD-PHY用の拡張ショートパケットにおけるオプショナル拡張パケットヘッダは、図4に示した第1の構造例のD-PHY用の拡張ショートパケットにおけるオプショナル拡張パケットヘッダと同様に構成される。しかしながら、オプショナル拡張パケットヘッダは、ペイロードに埋め込まれないパケット構造となっていることより、最後にCRCを付与する必要はない。
図16には、物理層がD-PHYである場合にCSI-2の拡張モードで用いられるロングパケット(以下、D-PHY用の拡張ロングパケット)のパケット構造が示されている。
図16に示すD-PHY用の拡張ロングパケットでは、拡張データはペイロードに埋め込まず、パケットヘッダまたはパケットフッタの一部として伝送される。従って、先頭のパケットヘッダのWCは既存規格と同様に、あくまでペイロードのバイト長を示す。
図17には、物理層がC-PHYである場合にCSI-2の拡張モードで用いられるショートパケット(以下、C-PHY用の拡張ショートパケット)のパケット構造が示されている。
図17に示すC-PHY用の拡張ショートパケットにおける拡張部分は、あくまで既存のCSI-2規格に従ったパケットヘッダの拡張として伝送されるため、フレームナンバーの後に拡張パケットヘッダなど拡張部分が挿入される。そして、既存のCSI-2規格と同様に、パケットヘッダはCRCで終了する。さらに、これらを、SYNCを挟んで2回伝送するパケット構造は、既存のCSI-2規格に従ったショートパケットと同様である。
図18には、物理層がC-PHYである場合にCSI-2の拡張モードで用いられるロングパケット(以下、C-PHY用の拡張ロングパケット)のパケット構造が示されている。
図18に示すC-PHY用の拡張ロングパケットは、上述したように、先頭のパケットヘッダのWCは既存規格と同様に、あくまでペイロードのバイト長を示す点で、図8に示した第1の構造例のC-PHY用の拡張ロングパケットと差異がある。
以上のように図15乃至図18に示す第2の構造例の拡張パケットのパケット構造により、第1の構造例の拡張パケットのパケット構造(図3乃至図8)と同様に、従来よりも多様な用途に対応することが可能となる。
ただし、第2の構造例の拡張パケットは、既存のペイロードに拡張データが埋め込まれずに、既存のパケットヘッダやフッタが拡張されるパケット構造となっている。このため、第2の構造例の拡張パケットのパケット構造を採用する場合には、第1の構造例の拡張パケットのパケット構造を採用する場合と比較して、従来から用いられている通信システムから変更が必要となるような影響を最小限とすることができない。即ち、例えば、既存のSerDes送信回路34がSerDes受信回路35(図2)に対する変更が必要となる。
以上のように、第1の構造例の拡張パケットを採用することで、車載など多彩な用途への対応することができ、かつ、従来から用いられている通信システムから変更が必要となるような影響を最小限として、車載システムを構築することができる。
また、第2の構造例の拡張パケットを採用することで、従来から用いられている通信システムから変更が必要となるものの、車載など多彩な用途への対応することができる。
<イメージセンサおよびアプリケーションプロセッサの変形例>
図19を参照して、イメージセンサおよびアプリケーションプロセッサの変形例について説明する。
図19を参照して、イメージセンサおよびアプリケーションプロセッサの変形例について説明する。
上述した図9のイメージセンサ21および図10のアプリケーションプロセッサ22を構成する各ブロックは、D-PHY用およびC-PHY用のパケットの両方に対応して処理を行えるように構成されていた。これに対し、例えば、D-PHY用のパケットを専用に処理を行うブロックと、C-PHY用のパケットを専用に処理を行うブロックとの両方を備え、それぞれで処理を切り替えるようにしてもよい。
図19のAに示すイメージセンサ21Aは、D層処理ブロック部101、C層処理ブロック部102、切り替え部103、およびコントローラ60を備えて構成される。
D層処理ブロック部101は、図9のイメージセンサ21を構成するブロックのうち、D-PHY用のパケットを専用に処理を行うブロックを有している。C層処理ブロック部102は、図9のイメージセンサ21を構成するブロックのうち、C-PHY用のパケットを専用に処理を行うブロックを有している。切り替え部103は、コントローラ60による制御に従って、物理層にD-PHYを用いる場合には、D層処理ブロック部101において生成されるD-PHY用のパケットを出力し、物理層にC-PHYを用いる場合には、C層処理ブロック部102において生成されるC-PHY用のパケットを出力するように切り替えを行う。
図19のBに示すアプリケーションプロセッサ22Aは、切り替え部111、D層処理ブロック部112、C層処理ブロック部113、およびコントローラ74を備えて構成される。
切り替え部111は、コントローラ74による制御に従って、イメージセンサ21Aから送信されてくるパケットを、D層処理ブロック部112およびC層処理ブロック部113の一方に供給するように切り替えを行う。D層処理ブロック部112は、図10のアプリケーションプロセッサ22を構成するブロックのうち、D-PHY用のパケットを専用に処理を行うブロックを有している。C層処理ブロック部113は、図10のアプリケーションプロセッサ22を構成するブロックのうち、C-PHY用のパケットを専用に処理を行うブロックを有している。
このように構成されるイメージセンサ21Aおよびアプリケーションプロセッサ22Aでは、通信を開始する前に、コントローラ60およびコントローラ74の間で、使用する物理層を設定することができる。そして、例えば、物理層にD-PHYが用いられる場合には、D層処理ブロック部101において生成されるD-PHY用のパケットが切り替え部103を介して送信され、切り替え部111を介してD層処理ブロック部112に供給されて処理される。また、例えば、物理層にC-PHYが用いられる場合には、C層処理ブロック部102において生成されるC-PHY用のパケットが切り替え部103を介して送信され、切り替え部111を介してC層処理ブロック部113に供給されて処理される。
<拡張パケットの適用例>
上述した拡張パケットは、例えば、以下のようなユースケースに適用することが検討されている。
上述した拡張パケットは、例えば、以下のようなユースケースに適用することが検討されている。
例えば、拡張パケットは、より高精細な画像(RAW24)を伝送するようなユースケースに適用することが検討される。
例えば、画像データをRAW形式で送信する際に、既存のCSI-2規格に従ってパケットヘッダに格納されるデータタイプとして、RAW6,RAW7,RAW8,RAW10,RAW12,RAW14,RAW16、およびRAW20が定義されている。これに対し、近年、車載カメラを用いた自動運転に対応するため、より高精細な画像の伝送が期待されている。そこで、拡張パケットを適用してデータタイプのビット数を拡張することで、例えば、拡張パケットヘッダのデータタイプに、より高精細なRAW24を定義することが可能となる。
また、拡張パケットは、画面上の注目画像領域のみを伝送する技術であるSmartROIに適用することが検討される。
例えば、現在、スタジアムや空港などには多数のカメラが設置されている。これらのカメラで撮像した画像の全体が、カメラからインターネットなどのネットワークを経由してクラウドサーバに伝送される場合、インターネットの帯域不足や、クラウド側の計算量またはデータ量の増大などが発生することが想定される。そのため、エッジ(カメラ側)で注目画像領域のみを切り出し、その注目画像領域を伝送することで、インターネットの帯域不足や、クラウド側の計算量またはデータ量の増大などを抑制することが期待される。
このようなSROIを伝送する場合、注目画像領域が画面全体のどこに相当するか受信側に伝えるため、矩形領域(ROI)の左上の座標を一緒に伝送する必要がある。また、受信側からの命令で、所定のタイミングで、撮像画面全体のデータを送る必要がある。従って、例えばフレーム単位でSROI画像と、画像全体(既存のパケットヘッダ)のデータが混在することになる。
そこで、拡張パケットを適用することで、例えば、X座標およびY座標それぞれ16bit以上の座標データを伝送することが可能となる。
さらに、拡張パケットは、チャネル劣化した場合においても帯域やレーン数を減らして通信を継続するGLDに適用するユースケースが検討される。なお、GLDは、CSI-2 ver3.0で検討されている提案である。
例えば、自動運転では、衝突時にカメラを繋ぐケーブルの一部が断線したとしても、断線していないケーブルを使用して通信を継続し、自動的に、安全帯に退避した後に車両を停止することが求められる。そのため、車載用カメラインタフェースが断線検出機能を少なくとも備え、画面上の何行目の情報か示す行番号(16bit)や、どのカメラから送られたことかを示すSourceID(8bit)、伝送番号を示すメッセージカウンタ(16bit)などの情報が必要になる。さらに、上述したようなSROIと組み合わせて使用される場合には、フレーム単位で、これらの情報が伝送されることが考えられる。
そこで、拡張パケットを適用することで、これらの情報を伝送することが可能となる。
<E2E protectionに適応した第1の構成例>
図20乃至図26を参照して、伝送経路上におけるパケット改変等を禁止する規定に適応した構成例について説明する。
図20乃至図26を参照して、伝送経路上におけるパケット改変等を禁止する規定に適応した構成例について説明する。
例えば、上述の図2を参照して説明したような構成の通信システム11Aにおいて、イメージセンサ21とアプリケーションプロセッサ22とでインタフェースが異なっている場合、伝送経路上においてパケットを変換することが必要となる。つまり、イメージセンサ21の物理層がD-PHYであって、アプリケーションプロセッサ22の物理層がC-PHYである構成の場合、例えば、SerDes装置26においてD-PHY用からC-PHY用にパケットを変換することが必要となる。
このように、SerDes装置26においてパケット変換が行われてしまう構成では、例えば、ISO26262(Functional Safety)が定める規定、即ち、伝送経路上におけるパケット改変等を禁止する規定(以下、E2E(End-toEnd) protectionと称する)に違反することになる。
図20は、本技術を適用した通信システムの第3の実施の形態として、E2E protectionに適応した通信システム201の構成例を示すブロック図である。
図20に示すように、通信システム201は、イメージセンサ211、SerDes装置212、SerDes装置213、およびアプリケーションプロセッサ214が接続されて構成される。なお、図20は、SERDESがA-PHYの場合を例として記載しているが、FPD-LINK3等のような他のSERDES規格を用いて接続される場合も含まれる。その他、SERDES規格においては、CIS-2のフォーマット(少なくともApplication Specific payload)を保ったまま、当該SERDES規格に基づいて通信が行われてもよい。また、SERDESにおいては、物理層処理部237および247はA-PHY以外にも他のSERDES規格の物理層処理部を複数含んでいてもよく、アプリケーションに応じて、物理層処理部を切り替えることができる。
イメージセンサ211は、拡張モード対応CSI-2送信回路221、C-PHYあるいはD-PHY、またはその両方に対応した物理層処理部(以下、C/D-PHY物理層処理部と称する)222、I2CあるいはI3C、またはその両方に対応したスレーブ(以下、I2C/I3Cスレーブと称する)223、並びに、CCIスレーブ224を少なくとも有している。
SerDes装置212は、CSI-2受信回路231、C/D-PHY物理層処理部232、I2C/I3Cマスタ233、CCIマスタ234、CSI-2用A-PHYパケット生成部235、CCI用A-PHYパケット送受信部236、並びに、A-PHYに対応した物理層処理部237を少なくとも有している。例えば、SerDes装置212では、C-PHY用またはD-PHY用のパケットがA-PHY用のパケットに変換され、この変換は、レジスタ設定などに基づいて決められる。
SerDes装置213は、CSI-2送信回路241、C/D-PHY物理層処理部242、I2C/I3Cスレーブ243、CCIスレーブ244、CSI-2用A-PHYパケット受信部245、CCI用A-PHYパケット送受信部246、A-PHYに対応した物理層処理部247を少なくとも有している。例えば、SerDes装置213では、A-PHY用のパケットがC-PHY用またはD-PHY用のパケットに変換され、この変換は、レジスタ設定などに基づいて決められる。
アプリケーションプロセッサ214は、拡張モード対応CSI-2受信回路251、C/D-PHY物理層処理部252、I2C/I3Cマスタ253、並びに、CCIマスタ254を少なくとも有している。
このように通信システム201は構成されており、上述したような構造の拡張パケットがイメージセンサ211から送信されて、アプリケーションプロセッサ214で受信される。ここで、イメージセンサ211の物理層処理部222がD-PHYに対応し、アプリケーションプロセッサ22の物理層処理部252がC-PHYに対応するように通信システム201が構成されていても、E2E protectionに違反しないようにすることが必要となる。
そこで、通信システム201は、E2E protectionに適応することができるように、E2E protectionの保護範囲を、アプリケーションに特有のペイロードであるApplication Specific payload(以下、ASペイロードと称する)に限定する。即ち、ASペイロードは、A-PHY用のパケットからC-PHY用またはD-PHY用のパケットへの変換時や、C-PHY用またはD-PHY用のパケットからA-PHY用のパケットへの変換時に変更を加えることが禁止される。
図21には、E2E protectionに対応するように拡張されたD-PHY用の拡張パケットの構造例が示されている。
図示するように、D-PHY用の拡張パケットは、拡張パケットヘッダ(ePH)、パケットデータ、および拡張パケットフッタ(ePF)からなるASペイロードが、E2E protectionの保護範囲として限定される。
そして、拡張パケットヘッダには、E2E protectionの保護範囲をASペイロードに限定した場合に必要となる所定情報が記載される。例えば、拡張パケットヘッダに記載される所定情報として、パケットデータのデータ長を同定することができるようにするために、ASペイロードに格納されるデータのデータ長を示すパケットカウントPC(Packet Count)が追加される。即ち、パケットデータは、パケットカウントPCで定められたバイト数となる。また、拡張パケットヘッダに記載される所定情報として、仮想チャネルの回線数を示すバーチャルチャネルVC(Virtual Channel)が、既存のパケットヘッダへコピーされる。
図22には、E2E protectionに対応するように拡張されたC-PHY用の拡張パケットの構造例が示されている。
図示するように、C-PHY用の拡張パケットは、D-PHY用の拡張パケットと同様に、拡張パケットヘッダ(ePH)、パケットデータ、および拡張パケットフッタ(ePF)からなるASペイロードが、E2E protectionの保護範囲として限定される。そして、拡張パケットヘッダには、D-PHY用の拡張パケットと同様に、E2E protectionの保護範囲をASペイロードに限定した場合に必要となる所定情報として、パケットカウントPCおよびバーチャルチャネルVCが記載される。
図23には、E2E protectionに対応するように拡張されたA-PHY用の拡張パケットの構造例が示されている。
図示するように、A-PHY用の拡張パケットにおいても、拡張パケットヘッダ(ePH)、パケットデータ、および拡張パケットフッタ(ePF)からなるASペイロードが、E2E protectionの保護範囲として限定される。
ここで、通信システム201は、図20を参照して説明したように、イメージセンサ211からSerDes装置212に送信されたD-PHY用またはC-PHY用の拡張パケットからA-PHY用の拡張パケットが生成される。従って、A-PHY用の拡張パケットの拡張パケットヘッダには、パケットカウントPCおよびバーチャルチャネルVCが既に記載されている。
このようなパケット構造を採用することで、通信システム201は、伝送経路上においてASペイロードが改変されることを回避して、E2E protectionを順守することが可能となる。なお、図21乃至図23に示したパケット構造は、図3乃至図8および図15乃至図18に示したようなパケット構造の該当するパケットと部分的に置き換えて用いることができ、パケット生成の一部が置き換えられる。
図24は、E2E protectionに適応したパケット送受信処理を説明するフローチャートである。
例えば、パケットデータに格納するデータ(例えば、画像データなど)が拡張モード対応CSI-2送信回路221に供給されると処理が開始される。そして、ステップS101において、イメージセンサ211では、拡張モード対応CSI-2送信回路221が、供給されたデータをパケットデータに格納する。さらに、拡張モード対応CSI-2送信回路221は、上述の図21または図22に示したようにバーチャルチャネルVCおよびパケットカウントPCを記載した拡張パケットヘッダを生成する。そして、拡張モード対応CSI-2送信回路221は、パケットデータに対して、拡張パケットヘッダを付加するとともに、拡張パケットフッタを付加することにより、ASペイロードを生成する。
ステップS102において、拡張モード対応CSI-2送信回路221は、ステップS101で生成したASペイロードに対して、C-PHY用またはD-PHY用のパケットヘッダとC-PHY用またはD-PHY用のパケットフッタとを付加することにより、C-PHY用またはD-PHY用の拡張パケットを生成する。そして、拡張モード対応CSI-2送信回路221は、C/D-PHY物理層処理部222を介して、C-PHY用またはD-PHY用の拡張パケットをSerDes装置212に送信する。
ステップS103において、SerDes装置212では、CSI-2受信回路231が、C/D-PHY物理層処理部232を介して、ステップS102でイメージセンサ211から送信されてくるC-PHY用またはD-PHY用の拡張パケットを受信する。そして、CSI-2受信回路231は、受信した拡張パケットからパケットヘッダおよびパケットフッタを除いたASペイロードを取得し、ASペイロードをそのままCSI-2用A-PHYパケット生成部235に供給する。
ステップS104において、SerDes装置212では、CSI-2用A-PHYパケット生成部235が、CSI-2受信回路231から供給されたASペイロードに対して、A-PHY用のパケットヘッダとA-PHY用のパケットフッタを付加することにより、A-PHY用の拡張パケットを生成する。そして、CSI-2用A-PHYパケット生成部235は、A-PHYに対応した物理層処理部237を介して、A-PHY用の拡張パケットをSerDes装置213に送信する。
ステップS105において、SerDes装置213では、CSI-2用A-PHYパケット受信部245が、A-PHYに対応した物理層処理部247を介して、ステップS104でSerDes装置212から送信されてくるA-PHY用の拡張パケットを受信する。そして、CSI-2用A-PHYパケット受信部245は、受信した拡張パケットからパケットヘッダおよびパケットフッタを除いたASペイロードを取得し、ASペイロードをそのままCSI-2送信回路241に供給する。
ステップS106において、CSI-2送信回路241は、ステップS105でCSI-2用A-PHYパケット受信部245から供給されたASペイロードに対して、C-PHY用またはD-PHY用のパケットヘッダとC-PHY用またはD-PHY用のパケットフッタとを付加することにより、C-PHY用またはD-PHY用の拡張パケットを生成する。そして、CSI-2送信回路241は、C/D-PHY物理層処理部242を介して、C-PHY用またはD-PHY用の拡張パケットをアプリケーションプロセッサ214に送信する。
ステップS107において、アプリケーションプロセッサ214では、拡張モード対応CSI-2受信回路251が、C/D-PHY物理層処理部252を介して、ステップS106でSerDes装置213から送信されてくるC-PHY用またはD-PHY用の拡張パケットを受信する。そして、拡張モード対応CSI-2受信回路251は、受信した拡張パケットからパケットヘッダおよびパケットフッタを除いたASペイロードを取得して、ASペイロードのパケットデータに格納されている各種のデータを、後段のLSI(図示せず)へ出力する。その後、E2E protectionに適応したパケット送受信処理は終了され、次の拡張パケットを対象として、同様の処理が繰り返して行われる。
以上のように、通信システム201は、E2E protectionに適応したパケット送受信処理を実行することによって、伝送経路上でASペイロードを改変することなく、拡張パケットを送受信することができる。このとき、例えば、イメージセンサ211の物理層がD-PHYであって、アプリケーションプロセッサ214の物理層がC-PHYである場合であっても、即ち、それぞれのインタフェースが異なっている場合であっても、E2E protectionを順守することができる。
図25は、イメージセンサ211の詳細な構成例を示すブロック図である。なお、図25に示すイメージセンサ211において、図9のイメージセンサ21と共通する構成には、同一の符号を付し、その詳細な説明は省略する。
即ち、イメージセンサ211は、図9のイメージセンサ21と同様に、画素41、AD変換器42、画像処理部43、レジスタ47、およびコントローラ60を備えて構成される。また、イメージセンサ211が備えるI2C/I3Cスレーブ223およびCCIスレーブ224は、図9のI2C/I3Cスレーブ46およびCCIスレーブ59にそれぞれ対応する。
そして、イメージセンサ211は、拡張モード対応CSI-2送信回路221および物理層処理部222を備えており、物理層処理部222は、A-PHY、C-PHY、およびD-PHYに対応している。
拡張モード対応CSI-2送信回路221は、コントローラ60およびCCIスレーブ224の他、ASペイロード生成部301、セレクタ302、A-PHYパケット生成部303、C-PHYパケット生成部304、D-PHYパケット生成部305、およびセレクタ306を備えて構成される。
ASペイロード生成部301は、E2E protectionの保護範囲として限定されるASペイロードを生成して、セレクタ302に出力する。例えば、ASペイロード生成部301は、パッキング部311、拡張パケットヘッダ生成部312、および拡張パケットフッタ生成部313を有している。
パッキング部311は、送信対象のデータとして画像処理部43から供給される画像データをパッキングし、パケットカウントPCで定められたバイト数のパケットデータを生成する。例えば、コントローラ60が、レジスタ47に記憶されている設定値(例えば、画像サイズなど)に従って、パッキング部311が生成するパケットデータのバイト数を制御することができる。
拡張パケットヘッダ生成部312は、例えば、図21乃至図23を参照して説明したように、パケットカウントPCおよびバーチャルチャネルVCを記載した拡張パケットヘッダを生成して、パケットデータに付加する。拡張パケットフッタ生成部313は、拡張パケットフッタを生成してパケットデータに付加する。
セレクタ302は、コントローラ60の制御に従って、ASペイロード生成部301から供給されるASペイロードの出力先として、並列に設けられるA-PHYパケット生成部303、C-PHYパケット生成部304、およびD-PHYパケット生成部305のうちの1つを選択する。
A-PHYパケット生成部303は、セレクタ302を介して供給されるASペイロードからA-PHY用の拡張パケットを生成して、セレクタ306に出力する。例えば、A-PHYパケット生成部303は、AAL生成部321、A-PHY用パケットヘッダ生成部322、およびA-PHY用パケットフッタ生成部323を有している。
例えば、AAL(A-PHY Adaptation Layer)生成部321は、ASペイロード生成部301で生成されたASペイロードを、Adaptation Layerと称される階層で380byteごとに分割する。そして、分割後のASペイロードに対して、A-PHY用パケットヘッダ生成部322がA-PHY用のパケットヘッダを付加し、A-PHY用パケットフッタ生成部323がA-PHY用のパケットフッタを付加する。
C-PHYパケット生成部304は、セレクタ302を介して供給されるASペイロードからC-PHY用の拡張パケットを生成して、セレクタ306に出力する。例えば、C-PHYパケット生成部304は、C-PHY用パケットヘッダ生成部331、C-PHY用パケットフッタ生成部332、およびC-PHY用レーン分配部333を有している。
例えば、ASペイロード生成部301で生成されたASペイロードに対して、C-PHY用パケットヘッダ生成部331がC-PHY用のパケットヘッダを付加し、C-PHY用パケットフッタ生成部332がC-PHY用のパケットフッタを付加する。そして、C-PHY用レーン分配部333は、C-PHY用の拡張パケットを、CSI-2の規格に従った3レーンに分配する。
D-PHYパケット生成部305は、セレクタ302を介して供給されるASペイロードからD-PHY用の拡張パケットを生成して、セレクタ306に出力する。例えば、D-PHYパケット生成部305は、D-PHY用パケットヘッダ生成部341、D-PHY用パケットフッタ生成部342、およびD-PHY用レーン分配部343を有している。
例えば、ASペイロード生成部301で生成されたASペイロードに対して、D-PHY用パケットヘッダ生成部341がD-PHY用のパケットヘッダを付加し、D-PHY用パケットフッタ生成部342がD-PHY用のパケットフッタを付加する。そして、D-PHY用レーン分配部343は、D-PHYの拡張パケットを、CSI-2の規格に従った4レーンに分配する。
セレクタ306は、コントローラ60の制御に従って、物理層処理部222に供給される拡張パケットの出力元として、並列に設けられるA-PHYパケット生成部303、C-PHYパケット生成部304、およびD-PHYパケット生成部305のうちの1つを選択する。
そして、物理層処理部222は、A-PHYパケット生成部303からA-PHY用の拡張パケットが供給された場合には、1レーンでA-PHY用の拡張パケットを送信する。また、物理層処理部222は、C-PHYパケット生成部304からC-PHY用の拡張パケットが供給された場合には、3レーンでC-PHY用の拡張パケットを送信する。また、物理層処理部222は、D-PHYパケット生成部305からD-PHY用の拡張パケットが供給された場合には、4レーンでD-PHY用の拡張パケットを送信する。
以上のように構成されるイメージセンサ211は、ASペイロード生成部301が、セレクタ302を介して、A-PHYパケット生成部303、C-PHYパケット生成部304、およびD-PHYパケット生成部305に接続されるように拡張モード対応CSI-2送信回路221が構成される。これにより、イメージセンサ211は、A-PHY用の拡張パケット、C-PHY用の拡張パケット、およびD-PHY用の拡張パケットで共通するASペイロードを、1つのASペイロード生成部301で生成することができる。即ち、A-PHYパケット生成部303、C-PHYパケット生成部304、およびD-PHYパケット生成部305でASペイロード生成部301を共有することができ、これにより回路規模の縮小を図ることができる。従って、イメージセンサ211の小型化を実現することができる。
図26は、アプリケーションプロセッサ214の詳細な構成例を示すブロック図である。なお、図26に示すアプリケーションプロセッサ214において、図10のアプリケーションプロセッサ22と共通する構成には、同一の符号を付し、その詳細な説明は省略する。
即ち、アプリケーションプロセッサ214は、図10のアプリケーションプロセッサ22と同様に、レジスタ73、およびコントローラ74を備えて構成される。なお、コントローラ74は、ソフトウェアにより実現してもよい。また、アプリケーションプロセッサ214が備えるI2C/I3Cマスタ253およびCCIマスタ254は、図10のI2C/I3Cマスタ72およびCCIマスタ88にそれぞれ対応する。
そして、アプリケーションプロセッサ214は、拡張モード対応CSI-2受信回路251および物理層処理部252を備えており、物理層処理部252は、A-PHY、C-PHY、およびD-PHYに対応している。
拡張モード対応CSI-2受信回路251は、CCIマスタ254の他、セレクタ401、A-PHYパケット受信部402、C-PHYパケット受信部403、D-PHYパケット受信部404、セレクタ405、およびASペイロード受信部406を備えて構成される。
セレクタ401は、物理層処理部252から供給される拡張パケットの出力先として、並列に設けられるA-PHYパケット受信部402、C-PHYパケット受信部403、およびD-PHYパケット受信部404のうちの1つを選択する。
A-PHYパケット受信部402は、セレクタ401を介して供給されるA-PHY用の拡張パケットを受信して、セレクタ405に出力する。例えば、A-PHYパケット受信部402は、A-PHY用パケットヘッダ解釈部411、A-PHY用パケットフッタ検証部412、およびAAL処理部413を有している。
例えば、A-PHY用パケットヘッダ解釈部411は、A-PHY用のパケットヘッダに記載されている内容を解釈して、A-PHY用の拡張パケットの受信に必要な処理を行い、A-PHY用パケットフッタ検証部412は、A-PHY用のパケットフッタを用いてエラーの有無を検証する。そして、AAL処理部413は、図25のAAL生成部321において分割されたAdaptation Layerを結合する処理を行う。
C-PHYパケット受信部403は、セレクタ401を介して供給されるC-PHY用の拡張パケットを受信して、セレクタ405に出力する。例えば、C-PHYパケット受信部403は、C-PHY用レーン併合部421、C-PHY用パケットヘッダ解釈部422、およびC-PHY用パケットフッタ検証部423を有している。
例えば、C-PHY用レーン併合部421は、CSI-2の規格に従って3レーンに分配されて物理層処理部252を介して供給されるC-PHY用の拡張パケットを併合する。そして、C-PHY用パケットヘッダ解釈部422は、C-PHY用のパケットヘッダに記載されている内容を解釈して、C-PHY用の拡張パケットの受信に必要な処理を行い、C-PHY用パケットフッタ検証部423は、C-PHY用のパケットフッタを用いてエラーの有無を検証する。
D-PHYパケット受信部404は、セレクタ401を介して供給されるD-PHY用の拡張パケットを受信して、セレクタ405に出力する。例えば、D-PHYパケット受信部404は、D-PHY用レーン併合部431、D-PHY用パケットヘッダ解釈部432、およびD-PHY用パケットフッタ検証部433を有している。
例えば、D-PHY用レーン併合部431は、CSI-2の規格に従って4レーンに分配されて物理層処理部252を介して供給されるD-PHY用の拡張パケットを併合する。そして、D-PHY用パケットヘッダ解釈部432は、D-PHY用のパケットヘッダに記載されている内容を解釈して、D-PHY用の拡張パケットの受信に必要な処理を行い、D-PHY用パケットフッタ検証部433は、D-PHY用のパケットフッタを用いてエラーの有無を検証する。
セレクタ405は、ASペイロード受信部406に供給される拡張パケットの出力元として、並列に設けられるA-PHYパケット受信部402、C-PHYパケット受信部403、およびD-PHYパケット受信部404のうちの1つを選択する。
ASペイロード受信部406は、図25のASペイロード生成部301に対応して、アンパッキング部441、拡張パケットヘッダ解釈部442、および拡張パケットフッタ検証部443を有している。アンパッキング部441は、パッキング部311によりパッキングされた画像データをアンパッキングする。拡張パケットヘッダ解釈部442は、拡張パケットヘッダ生成部312において生成された拡張パケットヘッダを解釈し、例えば、パケットカウントPCおよびバーチャルチャネルVCを読み出す。拡張パケットフッタ検証部443は、拡張パケットフッタ生成部313により付加された拡張パケットフッタを用いてエラーの有無を検証する。そして、ASペイロード受信部406は、セレクタ405を介して供給されるパケットデータに格納されている各種のデータ、例えば、画像データ、車載用行番号やSourceIDなど、CRCエラーなどを、後段のLSI(図示せず)へ出力する。
以上のように構成されるアプリケーションプロセッサ214は、ASペイロード受信部406が、セレクタ405を介して、A-PHYパケット受信部402、C-PHYパケット受信部403、およびD-PHYパケット受信部404に接続されるように拡張モード対応CSI-2受信回路251が構成される。これにより、アプリケーションプロセッサ214は、A-PHY用の拡張パケット、C-PHY用の拡張パケット、およびD-PHY用の拡張パケットで共通するASペイロードを、1つのASペイロード受信部406で受信することができる。即ち、A-PHYパケット受信部402、C-PHYパケット受信部403、およびD-PHYパケット受信部404でASペイロード受信部406を共有することができ、これにより回路規模の縮小を図ることができる。従って、アプリケーションプロセッサ214の小型化を実現することができる。
<E2E Protectionに適応した第2の構成例>
図27乃至図74を参照して、E2E Protectionに適応した第2の構成例について説明する。
図27乃至図74を参照して、E2E Protectionに適応した第2の構成例について説明する。
<A-PHY直結構成の構成例>
図27に示す通信システム501は、イメージセンサ511およびアプリケーションプロセッサ512がA-PHYにより直接的に(後述する図40を参照して説明するようなSerDes装置を介さずに)接続される直結構成となっている。
図27に示す通信システム501は、イメージセンサ511およびアプリケーションプロセッサ512がA-PHYにより直接的に(後述する図40を参照して説明するようなSerDes装置を介さずに)接続される直結構成となっている。
イメージセンサ511は、A-PHY処理部521、CSIA処理部522、CSI2処理部523、CSI2-FS処理部524、CCI処理部525、CCI-FS処理部526、およびレジスタ527を備えて構成される。
A-PHY処理部521は、CCI処理部525が上位層として実装され、アプリケーションプロセッサ512のA-PHY処理部531と、MIPI A-PHY接続して拡張パケットヘッダePHおよび拡張パケットフッタePFを含むデータを送受信する。
CCI-FS処理部526は、例えば、拡張パケットヘッダePHに含まれるDesination IDとイメージセンサ511が有するID(Source ID)とを比較し、イメージセンサ511へのアクセスか否かの判別を行う。
アプリケーションプロセッサ512は、A-PHY処理部531、CSIA処理部532、CSI2処理部533、CSI2-FS処理部534、CCI処理部535、CCI-FS処理部536、レジスタ537、およびCCI-FSスイッチ538を備えて構成される。
A-PHY処理部531は、CCI処理部535が上位層として実装され、イメージセンサ511のA-PHY処理部521と、MIPI A-PHY接続して拡張パケットヘッダePHおよび拡張パケットフッタePFを含むデータを送受信する。
CCI-FS処理部536は、例えば、拡張パケットヘッダePHに含まれるDesination IDとアプリケーションプロセッサ512が有するID(Source ID)とを比較し、アプリケーションプロセッサ512へのアクセスか否かの判別を行う。
CCI-FSスイッチ538は、CCI-FS処理部536が有効である場合にはCCI-FS処理部536を介してデータが送受信され、CCI-FS処理部536が無効である場合にはCCI-FS処理部536を介さずにデータが送受信されるような切り替えを行う。
図28乃至図32を参照して、通信システム501におけるリードコマンドおよびリードデータの転送について説明する。
図28には、リードアクセス時に、アプリケーションプロセッサ512のCCI-FS処理部536において生成されるリードコマンドのパケット構成の一例が示されている。
図28に示すように、リードコマンドは、拡張パケットヘッダePH*(*=n)、AP(CCI)ペイロード、拡張パケットフッタePF1、および拡張パケットフッタePF0から構成される。
拡張パケットヘッダePH*(*=n)は、図示するように、拡張パケットヘッダePH0乃至ePH3からなる。
拡張パケットヘッダePH0には、拡張VC、拡張DT、拡張PFEN、および拡張PHENが格納される。例えば、拡張DTは、CCIプロトコル(I2C)を示す情報であって、拡張DTを用いてルーティングの処理が行われる。
拡張パケットヘッダePH1には、Source ID[7:1]、およびPacket Lengthが格納される。例えば、Source IDは、CCIプロトコル(I2C)の送信元を示す情報であって、Source IDに基づいて応答処理が行われる。Packet Lengthは、データ長を示す情報である。
拡張パケットヘッダePH2には、Security Descriptor、およびMessage Counterが格納される。Security Descriptorは、セキュリティを使用するか否かを示し、セキュリティを使用しない場合には「8'h0」を示す。Message Counterは、バケット順番を示す情報であって、メッセージをカウントしたカウント値を示し、メッセージが5番目のときには「16'h5」を示す。
拡張パケットヘッダePH3には、Destination ID[7:1]、Read/Write、およびDestination Addressが格納される。Destination ID[7:1]は、イメージセンサ511のCCI処理部525のスレーブアドレスを示し、図示する例では「7'h0D」となっている。例えば、Destination IDは、CCIプロトコル(I2C)の送信先を示す情報であって、Destination IDに基づいてルーティングが行われるとともに、通信経路の参照が行われる。Read/Writeは、データの読み出しまたは書き込みを示し、リードの場合には「1'b1」を示す。Destination Addressは、最終目的地となるイメージセンサ511のレジスタ527のアドレスを示し、図示する例では「0x0200」となっている。
AP(CCI)ペイロードには、例えば、各種のデータ(Data0[7:0])が格納される。AP(CCI)ペイロードは、セキュリティがオフのときには送信されず、セキュリティがオンのとき、ダミーデータを格納して送信してもよい。
拡張パケットフッタePF1は、セキュリティがオフのときには送信されない。
拡張パケットフッタePF0には、データ完全性を確認するために用いられるセキュリティデータ(例えば、ハッシュ計算値など)を含み、具体的には、CRC計算値が格納される。
アプリケーションプロセッサ512では、このようなパケット構造のリードコマンドが、CCI-FS処理部536において生成されてA-PHY処理部531に供給される。
図29には、リードアクセス時に、アプリケーションプロセッサ512のA-PHY処理部531から出力されるリードコマンドのパケット構成の一例が示されている。
図29に示すように、A-PHY処理部531は、CCI-FS処理部536から供給されたリードコマンドをE2E Protectionの保護範囲として、A-PHYヘッダおよびA-PHYフッタを付加する。
このようなパケット構造のリードコマンドが、アプリケーションプロセッサ512のA-PHY処理部531によってA-PHY転送される。そして、イメージセンサ511では、A-PHY処理部521が、リードコマンドからA-PHYヘッダおよびA-PHYフッタを除去する。その後、リードコマンドは、Destination IDにより示されるスレーブアドレス「7'h0D」のCCI処理部525を介して、CCI-FS処理部526に供給される。
図30には、リードアクセス時に、CCI-FS処理部526に供給されるリードコマンドと、CCI-FS処理部526において生成されるリードデータのパケット構造の一例が示されている。
図30に示すように、図28に示したパケット構造のままのリードコマンド、即ち、A-PHY転送においてE2E Protectionの保護範囲とされたリードコマンドが、CCI-FS処理部526に供給される。
リードデータは、図示するように、拡張パケットヘッダePH*(*=n)、AP(CCI)ペイロード、拡張パケットフッタePF1、および拡張パケットフッタePF0から構成される。そして、AP(CCI)ペイロードには、リードコマンドの拡張パケットヘッダePHのソースアドレス情報(Destination Address)で示されるレジスタ527のアドレス「0x0200」から読み出されたリードデータ値が格納される。
イメージセンサ511では、このようなパケット構造のリードデータが、CCI-FS処理部526において生成されA-PHY処理部521に供給される。
図31には、リードアクセス時に、イメージセンサ511のA-PHY処理部521から出力されるリードデータのパケット構成の一例が示されている。
図31に示すように、A-PHY処理部521は、CCI-FS処理部526から供給されたリードデータをE2E Protectionの保護範囲として、A-PHYヘッダおよびA-PHYフッタを付加する。
このようなパケット構造のリードデータが、イメージセンサ511のA-PHY処理部521によってA-PHY転送される。そして、アプリケーションプロセッサ512では、A-PHY処理部531が、リードデータからA-PHYヘッダおよびA-PHYフッタを除去し、リードデータが、CCI-FS処理部536に供給される。
図32には、リードアクセス時に、CCI-FS処理部536に供給されるリードデータのパケット構造の一例が示されている。
図32に示すように、図30に示したパケット構造のままのリードデータ、即ち、A-PHY転送においてE2E Protectionの保護範囲とされたリードデータが、CCI-FS処理部536に供給される。
図33乃至図35を参照して、通信システム501におけるライトデータの転送について説明する。なお、イメージセンサ511側のCCI-FS処理部526が、イネーブルとされている状態からのアクセスを想定して説明を行う。
図33には、ライトアクセス時に、アプリケーションプロセッサ512のCCI-FS処理部536において生成されるライトデータのパケット構成の一例が示されている。
図33に示すように、ライトデータは、拡張パケットヘッダePH*(*=n)、AP(CCI)ペイロード(ライトデータ)、拡張パケットフッタePF1、および拡張パケットフッタePF0から構成される。
拡張パケットヘッダePH*(*=n)は、図示するように、拡張パケットヘッダePH0乃至ePH3からなる。
拡張パケットヘッダePH0には、拡張VC、拡張DT、拡張PFEN、および拡張PHENが格納される。
拡張パケットヘッダePH1には、Source ID[7:1]、およびPacket Lengthが格納される。
拡張パケットヘッダePH2には、Security Descriptor、およびMessage Counterが格納される。Security Descriptorは、セキュリティを使用するか否かを示し、セキュリティを使用しない場合には「8'h0」を示す。Message Counterは、メッセージをカウントしたカウント値を示し、メッセージが4番目のときには「16'h4」を示す。
拡張パケットヘッダePH3には、Destination ID[7:1]、Read/Write、およびDestination Addressが格納される。Destination ID[7:1]は、イメージセンサ511のCCI処理部525のスレーブアドレスを示し、図示する例では「7'h0D」となっている。Read/Writeは、データの読み出しまたは書き込みを示し、ライトの場合には「1'b0」を示す。Destination Addressは、最終目的地となるイメージセンサ511のレジスタ527のアドレスを示し、図示する例では「0x1234」となっている。
AP(CCI)ペイロードには、イメージセンサ511に書き込むデータ(Data0[7:0])が格納され、0xFF値がライトデータとなる。
拡張パケットフッタePF1は、セキュリティがオフのときには送信されない。
拡張パケットフッタePF0には、CRC計算値が格納される。
アプリケーションプロセッサ512では、このようなパケット構造のライトデータが、CCI-FS処理部536において生成されてA-PHY処理部531に供給される。
図34には、ライトアクセス時に、アプリケーションプロセッサ512のA-PHY処理部531から出力されるライトデータのパケット構成の一例が示されている。
図34に示すように、A-PHY処理部531は、CCI-FS処理部536から供給されたライトデータをE2E Protectionの保護範囲として、A-PHYヘッダおよびA-PHYフッタを付加する。
このようなパケット構造のライトデータが、アプリケーションプロセッサ512のA-PHY処理部531によってA-PHY転送される。そして、イメージセンサ511では、A-PHY処理部521が、ライトデータからA-PHYヘッダおよびA-PHYフッタを除去する。その後、ライトデータは、Destination IDにより示されるスレーブアドレス「7'h0D」のCCI処理部525を介して、CCI-FS処理部526に供給される。
図35には、ライトアクセス時に、CCI-FS処理部526に供給されるライトデータのパケット構造の一例が示されている。
図35に示すように、図33に示したパケット構造のままのライトデータ、即ち、A-PHY転送においてE2E Protectionの保護範囲とされたライトデータが、CCI-FS処理部526に供給される。そして、CCI-FS処理部526は、CCIコマンドID情報、即ち、リードコマンドの拡張パケットヘッダePHのソースアドレス情報(Destination Address)で示されるレジスタ527のアドレス「0x1234」より、AP(CCI)ペイロードに格納されているデータの書き込みを行う。
図36を参照して、拡張パケットヘッダePHおよび拡張パケットフッタePFの概要について説明する。
図36に示すように、CCI-FS E2Eパケットは、拡張パケットヘッダePH、パケットデータ、および拡張パケットフッタePFにより構成され、そのパケット長は、Length = Byte Count × Data Byte widthとなる。
拡張パケットヘッダePHは、拡張VC、拡張DT、Message Counterなどのフィールドが用いられる。拡張パケットヘッダePHのフィールド値(epFEN field)で、拡張パケットヘッダePHの長さを変更することができる。
パケットデータは、例えば、PL個のデータ(Data 0~Data PL-1)により構成され、その長さは、Length = Packet Length(PL) × Data Byte Widthとなる。パケットデータには、リードコマンドの場合に、セキュリティがオフのときにはデータが格納されず、セキュリティがオンのときには1バイトのダミーデータが格納される。パケットデータには、ライトアクセスの場合に、ペイロードデータ分のライトデータが格納される。パケットデータには、リードアクセスの場合は、ペイロードデータ分のリードデータが格納される。パケットデータには、Clock Stretch(ePH0のControl Code Indicator=1)を用いるときは、制御の種類を意味する1バイトのデータペイロードが付けられる。
拡張パケットフッタePF1は、拡張パケットヘッダePHのフィールド設定値(epFEN field)で、長さを変更することができる。また、セキュリティ関連情報を付加することができる。
拡張パケットフッタePF0は、拡張パケットヘッダePHのフィールド設定値で、パケットデータから計算されるCRC-32を付加することができる。
<通信処理の処理例>
図37乃至図39のフローチャートを参照して、図27に示した通信システム501において行われるCCI-FSを使用した通信処理について説明する。
図37乃至図39のフローチャートを参照して、図27に示した通信システム501において行われるCCI-FSを使用した通信処理について説明する。
図37に示すように、ステップS211乃至S222では、初期設定および確認動作が行われる。
ステップS211において、アプリケーションプロセッサ512からイメージセンサ511へ、CCI-FS処理部526のCapabilityレジスタに対して2回リードアクセスが行われる。なお、リードアクセスを行う回数は2回に限定されることなく、例えば、機能安全的に任意に設定することができ、1回または3回以上の複数回でもよい。
ステップS212において、アプリケーションプロセッサ512では、CSI2-FS処理部524が、ステップS211でのリードアクセスの結果について、CCI-FS処理部526のCapabilityレジスタ値が2回とも1’b1であるか否かを判定する。ステップS212において、CCI-FS処理部526のCapabilityレジスタ値が2回とも1’b1でないと判定された場合、処理はステップS213に進む。
ステップS213において、アプリケーションプロセッサ512では、CSI2-FS処理部524が、再送回数が3回以上であるか否かを判定する。なお、再送回数は3回に限定されることなく、任意の回数に設定することができ、以下で説明する再送回数についても同様である。ステップS213において、再送回数が3回以上でない(1回または2回)と判定された場合、処理はステップS211に戻り、以下、同様の処理が繰り返して行われる。
一方、ステップS212において、CCI-FS処理部526のCapabilityレジスタ値が2回とも1’b1であると判定された場合、処理は214に進む。
ステップS214において、アプリケーションプロセッサ512からイメージセンサ511へ、CCI-FS処理部526のEnableレジスタに対する1ライトアクセスが行われる。
ステップS215において、イメージセンサ511では、CCI-FS処理部526が、アプリケーションプロセッサ512のCCI-FS処理部536のEnableレジスタに対する1ライトアクセスを行う。
ステップS216において、アプリケーションプロセッサ512のCCI-FS処理部536のDestination SIDレジスタに、対向のイメージセンサ511のスレーブアドレスを設定する。
ステップS217において、アプリケーションプロセッサ512のCCI-FS処理部536のePHレジスタの設定を行う。
ステップS218において、アプリケーションプロセッサ512からイメージセンサ511へ、CCI-FS処理部526のePHレジスタの設定が行われる。
ステップS219において、アプリケーションプロセッサ512からイメージセンサ511へ、CCI-FS処理部526のEnableレジスタおよびErrorレジスタに対するリードアクセスが行われる。
ステップS220において、アプリケーションプロセッサ512では、CCI-FS処理部536が、ステップS219でのリードアクセスの結果について、CCI-FS処理部526のEnableレジスタ値が1’b1であり、かつ、Errorレジスタ値が0であるか否かを判定する。
ステップS220において、CCI-FS処理部526のEnableレジスタ値が1’b1でない、または、Errorレジスタ値が0でないと判定された場合、処理はステップS221に進む。
ステップS221において、アプリケーションプロセッサ512では、CSI2-FS処理部524が、再送回数が3回以上であるか否かを判定する。ステップS221において、再送回数が3回以上であると判定された場合、処理はステップS211に戻り、以下、同様の処理が繰り返して行われる。
一方、ステップS213において、再送回数が3回以上であると判定された場合、または、ステップS221において、再送回数が3回以上でない(1回または2回)と判定された場合、処理はステップS222に進む。
ステップS222において、CCI-FSを使用せずにCCIでの通信を行い、その後、通信処理が終了される。
一方、ステップS220において、CCI-FS処理部526のEnableレジスタ値が1’b1であり、かつ、Errorレジスタ値が0であると判定された場合、処理はステップS223に進む。
図38に示すように、ステップS223乃至S234では、CCI-FSを使用したライト動作が行われる。
ステップS223において、アプリケーションプロセッサ512のCCI-FS処理部536は、ライト動作を行うようにePHレジスタの設定を行う。
ステップS224において、アプリケーションプロセッサ512のCCI-FS処理部536は、ライトデータレジスタの設定を行う。
ステップS225において、アプリケーションプロセッサ512のCCI-FS処理部536は、コマンド実行レジスタを1に設定する。
ステップS226において、アプリケーションプロセッサ512では、A-PHY処理部531が、上述した図34に示したように、CCI-FS処理部536により生成されたライトデータをE2E Protectionの保護範囲として、A-PHYヘッダおよびA-PHYフッタを付加し、A-PHY転送を行う。
ステップS227において、イメージセンサ511では、A-PHY処理部521が、ライトデータからA-PHYヘッダおよびA-PHYフッタを除去し、E2E Protectionの保護範囲をCCI-FS処理部526に供給する。
ステップS228において、イメージセンサ511では、CCI-FS処理部526が、拡張パケットヘッダePHの内容から、イメージセンサ511のSource IDと、拡張パケットヘッダePHのDestination SIDとを確認する。
ステップS229において、イメージセンサ511では、CCI-FS処理部526が、ステップS228で確認したイメージセンサ511のSource IDと拡張パケットヘッダePHのDestination SIDとが一致したか否かを判定する。
ステップS229において、イメージセンサ511のSource IDと拡張パケットヘッダePHのDestination SIDとが一致したと判定された場合、処理はステップS230に進む。
ステップS230において、イメージセンサ511では、CCI-FS処理部526が、拡張パケットヘッダePHの内容から、Message Counterを確認する。
ステップS231において、イメージセンサ511では、CCI-FS処理部526が、ステップS230で確認したイメージセンサ511のMessage Counter(受信)と、拡張パケットヘッダePHのMessage Counterとが一致したか否かを判定する。
ステップS231において、イメージセンサ511のMessage Counter(受信)と拡張パケットヘッダePHのMessage Counterとが一致したと判定された場合、処理はステップS232に進む。
ステップS232において、イメージセンサ511では、CCI-FS処理部526が、拡張パケットフッタePFの内容から、CRCを確認する。
ステップS233において、イメージセンサ511では、CCI-FS処理部526が、ステップS232で確認した拡張パケットフッタePFの受信値(ePF0)と、CCI-FS処理部526において計算されたCRC計算結果が一致したか否かを判定する。
ステップS233において、拡張パケットフッタePFの受信値(ePF0)とCRC計算結果とが一致したと判定された場合、処理はステップS234に進む。
ステップS234において、イメージセンサ511では、CCI-FS処理部526が、拡張パケットヘッダePHおよび拡張パケットフッタePFの内容から、レジスタ527のアドレスにライトデータを書き込むライト処理を行う。その後、処理はステップS235に進む。
図39に示すように、ステップS235乃至S247では、CCI-FSを使用したリード動作が行われる。
ステップS235において、アプリケーションプロセッサ512では、CCI-FS処理部536が、リード動作が行われるようにePHレジスタの設定を行う。
ステップS236において、アプリケーションプロセッサ512では、CCI-FS処理部536が、コマンド実行レジスタを1に設定する。
ステップS237において、アプリケーションプロセッサ512では、A-PHY処理部531が、上述した図29に示したように、CCI-FS処理部536により生成されたライトデータをE2E Protectionの保護範囲として、A-PHYヘッダおよびA-PHYフッタを付加し、A-PHY転送を行う。
ステップS238において、イメージセンサ511では、A-PHY処理部521が、ライトデータからA-PHYヘッダおよびA-PHYフッタを除去し、E2E Protectionの保護範囲をCCI-FS処理部526に供給する。
ステップS239において、イメージセンサ511では、CCI-FS処理部526が、拡張パケットヘッダePHの内容から、イメージセンサ511のSource IDと、拡張パケットヘッダePHのDestination SIDとを確認する。
ステップS240において、イメージセンサ511では、CCI-FS処理部526が、ステップS239で確認したイメージセンサ511のSource IDと拡張パケットヘッダePHのDestination SIDとが一致したか否かを判定する。
ステップS240において、イメージセンサ511のSource IDと拡張パケットヘッダePHのDestination SIDとが一致したと判定された場合、処理はステップS241に進む。
ステップS241において、イメージセンサ511では、CCI-FS処理部526が、拡張パケットヘッダePHの内容から、Message Counterを確認する。
ステップS242において、イメージセンサ511では、CCI-FS処理部526が、ステップS241で確認したイメージセンサ511のMessage Counter(受信)と、拡張パケットヘッダePHのMessage Counterとが一致したか否かを判定する。
ステップS242において、イメージセンサ511のMessage Counter(受信)と拡張パケットヘッダePHのMessage Counterとが一致したと判定された場合、処理はステップS243に進む。
ステップS243において、イメージセンサ511では、CCI-FS処理部526が、拡張パケットフッタePFの内容から、CRCを確認する。
ステップS244において、イメージセンサ511では、CCI-FS処理部526が、ステップS243で確認した拡張パケットフッタePFの受信値(ePF0)と、CCI-FS処理部526において計算されたCRC計算結果が一致したか否かを判定する。
ステップS244において、拡張パケットフッタePFの受信値(ePF0)とCRC計算結果とが一致したと判定された場合、処理は終了される。
一方、図38のステップS229または図39のステップS240で、イメージセンサ511のSource IDと拡張パケットヘッダePHのDestination SIDとが一致していないと判定された場合、処理はステップS245に進む。
ステップS245において、イメージセンサ511側のErrorレジスタ(Routing)を1とし、その後、処理は終了される。
一方、図38のステップS231または図39のステップS242で、イメージセンサ511のMessage Counter(受信)と拡張パケットヘッダePHのMessage Counterとが一致していないと判定された場合、処理はステップS246に進む。
ステップS246において、イメージセンサ511側のErrorレジスタ(MC)を1とし、その後、処理は終了される。
一方、図38のステップS233または図39のステップS244で、拡張パケットフッタePFの受信値(ePF0)とCRC計算結果とが一致していないと判定された場合、処理はステップS247に進む。
ステップS247において、イメージセンサ511側のErrorレジスタ(CRC)を1とし、その後、処理は終了される。
<SerDes接続構成の構成例>
図40に示す通信システム601は、イメージセンサ611およびアプリケーションプロセッサ614が、スレーブ側となるSerDes装置612とマスタ側となるSerDes装置613とを介して接続されるSerDes接続構成となっている。
図40に示す通信システム601は、イメージセンサ611およびアプリケーションプロセッサ614が、スレーブ側となるSerDes装置612とマスタ側となるSerDes装置613とを介して接続されるSerDes接続構成となっている。
イメージセンサ611は、I2C/I3Cスレーブ621、CCI処理部622、CSI2-FS処理部623、およびレジスタ624を備えて構成される。
スレーブ側のSerDes装置612は、A-PHY処理部631、CSIA処理部632、CSI2-FS処理部633、I2C/I3Cマスタ634、CCI処理部635、CCI-FS処理部636、およびレジスタ637を備えて構成される。
マスタ側のSerDes装置613は、A-PHY処理部641、CSIA処理部642、CSI2-FS処理部643、I2C/I3Cスレーブ644、CCI処理部645、CCI-FS処理部646、およびレジスタ647を備えて構成される。
アプリケーションプロセッサ614は、I2C/I3Cマスタ651、CCI処理部652、CCI-FS処理部653、レジスタ654、およびCCI-FSスイッチ655を備えて構成される。
なお、図40に示すようなSerDes接続構成では、CCI構成やCCI-FS構成が上位プロトコルとして実装されている場合、他のSerDes規格を使用してもよい。例えば、Application Layer、または、その下のレイヤに相当する上位層からのPayloadに、図41に示すような拡張パケットヘッダePH、拡張パケットフッタePF1、および拡張パケットフッタePF0の構成を実装することにより、PCIE,USB,DisplayPort,HDMI(登録商標),LVDS,FPD-LINKなどの各種のSerDes関連を適用することができる。
図41乃至図49を参照して、通信システム601におけるリードコマンドおよびリードデータの転送について説明する。
図41には、リードアクセス時に、アプリケーションプロセッサ614のCCI-FS処理部653において生成されるリードコマンドのパケット構成の一例が示されている。
図41に示すように、リードコマンドは、拡張パケットヘッダePH*(*=n)、拡張パケットフッタePF1、および拡張パケットフッタePF0から構成される。なお、それらの詳細については、上述の図28を参照して説明したリードコマンドと同様である。
アプリケーションプロセッサ614では、このようなパケット構造のリードコマンドが、CCI-FS処理部653において生成されてI2C/I3Cマスタ651に供給される。
図42には、リードアクセス時に、アプリケーションプロセッサ614のI2C/I3Cマスタ651から出力されるリードコマンドのパケット構成の一例が示されている。
図42に示すように、I2C/I3Cマスタ651は、スタートコンディションSに続けて、接続先のセンサアドレス、即ち、図40に示す構成ではマスタ側のSerDes装置613のCCI処理部645のアドレス(Slave Address+W 8-bit)を送信する。図42に示す例では、CCI処理部645のアドレスは、Slave Address[7:1]=7'h0Fとなっている。そのアドレスに続いて、マスタ側のSerDes装置613のレジスタ647のレジスタアドレス(Register Address [15:8]およびRegister Address [7:0])が送信される。I2C/I3Cマスタ651は、拡張パケットヘッダePH*(*=n)、拡張パケットフッタePF1、および拡張パケットフッタePF0に続けて、最後にストップコンディションPを送信する。
このようなパケット構造のリードコマンドが、アプリケーションプロセッサ614のI2C/I3Cマスタ651からI2C/I3Cにより転送される。マスタ側のSerDes装置613では、I2C/I3Cスレーブ644が、リードコマンド(拡張パケットヘッダePH*(*=n)、拡張パケットフッタePF1、および拡張パケットフッタePF0)を取得する。そのリードコマンドは、Slave Address[7:1]=7'h0FのCCI処理部645に供給された後、CCI-FS処理部646、CSI2-FS処理部643、およびCSIA処理部642を介して、A-PHY処理部641に供給される。
図43には、リードアクセス時に、マスタ側のSerDes装置613のA-PHY処理部641から出力されるリードコマンドのパケット構成の一例が示されている。
図43に示すように、A-PHY処理部641は、I2C/I3Cスレーブ644が取得したリードコマンドをE2E Protectionの保護範囲として、A-PHYヘッダおよびA-PHYフッタを付加する。なお、拡張パケットヘッダePH*(*=n)には、マスタ側のSerDes装置613のCCI処理部635のアドレス、例えば、Slave Address[7:1]=7'h0Eが、CSI2-FS処理部643において付加される。
このようなパケット構造のリードコマンドが、マスタ側のSerDes装置613のA-PHY処理部641によってA-PHY転送される。スレーブ側のSerDes装置612では、A-PHY処理部631が、リードコマンドからA-PHYヘッダおよびA-PHYフッタを除去する。リードコマンドは、CSIA処理部632、CSI2-FS処理部633、CCI-FS処理部636を介して、Destination IDにより示されるスレーブアドレス「7'h0E」のCCI処理部635に供給された後、I2C/I3Cマスタ634に供給される。
図44には、リードアクセス時に、I2C/I3Cマスタ634から出力されるリードコマンドのパケット構成の一例が示されている。
図44に示すように、I2C/I3Cマスタ634は、スタートコンディションSに続けて、接続先のセンサアドレス、即ち、図40に示す構成ではイメージセンサ611のCCI処理部622のアドレス(Slave Address+W 8-bit)を送信する。図44に示す例では、CCI処理部622のアドレスは、Slave Address[7:1]=7'h0Dとなっている。そのアドレスに続いて、イメージセンサ611のレジスタ624のレジスタアドレス(Register Address [15:8]およびRegister Address [7:0])が送信される。I2C/I3Cマスタ634は、拡張パケットヘッダePH*(*=n)、拡張パケットフッタePF1、および拡張パケットフッタePF0に続けて、最後にストップコンディションPを送信する。
このようなパケット構造のリードコマンドが、スレーブ側のSerDes装置612のI2C/I3Cマスタ634からI2C/I3Cにより転送される。そして、イメージセンサ611では、I2C/I3Cスレーブ621がリードコマンド(拡張パケットヘッダePH*(*=n)、拡張パケットフッタePF1、および拡張パケットフッタePF0)を取得する。そのリードコマンドは、Slave Address[7:1]=7'h0DのCCI処理部622を介して、CSI2-FS処理部623に供給される。
図45には、リードアクセス時に、CSI2-FS処理部623に供給されるリードコマンドと、CSI2-FS処理部623において生成されるリードデータのパケット構造の一例が示されている。
図45に示すように、図41に示したパケット構造のままのリードコマンド、即ち、A-PHY転送においてE2E Protectionの保護範囲とされたリードコマンドが、CSI2-FS処理部623に供給される。
リードデータは、図示するように、拡張パケットヘッダePH*(*=n)、AP(CCI)ペイロード、拡張パケットフッタePF1、および拡張パケットフッタePF0から構成される。そして、AP(CCI)ペイロードには、リードコマンドの拡張パケットヘッダePHのソースアドレス情報(Destination Address)で示されるレジスタ624のアドレス「0x0200」から読み出されたリードデータ値が格納される。
イメージセンサ611では、このようなパケット構造のリードデータが、CCI-FS処理部623において生成され、CCI処理部622を介してI2C/I3Cスレーブ621に供給される。
図46には、リードアクセス時に、イメージセンサ611のI2C/I3Cスレーブ621から出力されるリードデータのパケット構成の一例が示されている。
図46に示すように、I2C/I3Cスレーブ621は、スタートコンディションSに続けて、接続先のセンサアドレス、即ち、図40に示す構成ではスレーブ側のSerDes装置612のI2C/I3Cマスタ634のアドレス(Slave Address+W 8-bit)を送信する。図46に示す例では、I2C/I3Cマスタ634のアドレスは、Slave Address[7:1]=7'h0Dとなっている。そのアドレスに続いて、リードデータの格納アドレス(イメージセンサ611のレジスタ624のアドレス)が送信され、スレーブ側のSerDes装置612のI2C/I3Cマスタ634のアドレス(Slave Address+R 8-bit)が送信される。I2C/I3Cスレーブ621が、拡張パケットヘッダePH*(*=n)、AP(CCI)ペイロード、拡張パケットフッタePF1、および拡張パケットフッタePF0を送信した後、最後にストップコンディションPが送信される。
このようなパケット構造のリードコマンドが、イメージセンサ611のI2C/I3Cスレーブ621からからI2C/I3Cにより転送される。スレーブ側のSerDes装置612では、I2C/I3Cマスタ634が、リードデータ(拡張パケットヘッダePH*(*=n)、AP(CCI)ペイロード、拡張パケットフッタePF1、および拡張パケットフッタePF0)を取得する。そのリードデータは、Slave Address[7:1]=7'h0EのCCI処理部635に供給された後、CCI-FS処理部636、CSI2-FS処理部633、およびCSIA処理部632を介して、A-PHY処理部631に供給される。
図47には、リードアクセス時に、スレーブ側のSerDes装置612のA-PHY処理部631から出力されるリードデータのパケット構成の一例が示されている。
図47に示すように、A-PHY処理部631は、I2C/I3Cマスタ634が取得したリードデータをE2E Protectionの保護範囲として、A-PHYヘッダおよびA-PHYフッタを付加する。
このようなパケット構造のリードデータが、スレーブ側のSerDes装置612のA-PHY処理部631によってA-PHY転送される。そして、マスタ側のSerDes装置613では、A-PHY処理部641が、リードデータからA-PHYヘッダおよびA-PHYフッタを除去する。リードデータは、CSIA処理部642、CSI2-FS処理部643、CCI-FS処理部646、およびCCI処理部635を介して、I2C/I3Cスレーブ644に供給される。
図48には、リードアクセス時に、マスタ側のSerDes装置613のI2C/I3Cスレーブ644から出力されるリードデータのパケット構成の一例が示されている。
図48に示すように、I2C/I3Cスレーブ644は、スタートコンディションSに続けて、接続先のセンサアドレス、即ち、図40に示す構成では、マスタ側のSerDes装置613のCCI処理部635のアドレス(Slave Address+W 8-bit)を送信する。図48に示す例では、CCI処理部635のアドレスは、Slave Address[7:1]=7'h0Fとなっている。そのアドレスに続いて、マスタ側のSerDes装置613のレジスタ647のレジスタアドレス(Register Address [15:8]およびRegister Address [7:0])が送信され、CCI処理部635のアドレス(Slave Address+R 8-bit)が送信される。続いて、I2C/I3Cスレーブ644が、拡張パケットヘッダePH*(*=n)、AP(CCI)ペイロード、拡張パケットフッタePF1、および拡張パケットフッタePF0を送信した後、最後にストップコンディションPが送信される。
このようなパケット構造のリードデータが、マスタ側のSerDes装置613のI2C/I3Cスレーブ644からI2C/I3Cにより転送される。そして、アプリケーションプロセッサ614では、I2C/I3Cマスタ651が、リードコマンド(拡張パケットヘッダePH*(*=n)、拡張パケットフッタePF1、および拡張パケットフッタePF0)を取得して、CCI-FS処理部653に供給する。
図49には、リードアクセス時に、CCI-FS処理部653に供給されるリードデータのパケット構造の一例が示されている。
図49に示すように、図45に示したパケット構造のままのリードデータ、即ち、A-PHY転送においてE2E Protectionの保護範囲とされたリードデータが、CCI-FS処理部653に供給される。
<通信処理の処理例>
図50乃至図57のフローチャートを参照して、図40に示した通信システム601において行われるCCI-FSを使用した通信処理について説明する。
図50乃至図57のフローチャートを参照して、図40に示した通信システム601において行われるCCI-FSを使用した通信処理について説明する。
図50に示すように、ステップS301乃至S317では、初期設定および確認動作が行われる。
ステップS301において、アプリケーションプロセッサ614のCCI-FS処理部653のDestination SIDレジスタに、対向のイメージセンサ611のスレーブアドレスを設定する。
ステップS302において、アプリケーションプロセッサ614のCCI-FS処理部653のePHレジスタの設定を行う。
ステップS303において、アプリケーションプロセッサ614のCCI-FS処理部653のBridge構成のDestination SIDの設定を行い、マスタ側のSerDes装置613を登録する。ここで、Address,attribution,Timeout_no1レジスタも、これと同様に設定を行い、以下、同様に設定が行われるものとする。
ステップS304において、アプリケーションプロセッサ614からマスタ側のSerDes装置613へ、CCI-FS処理部643のePHレジスタの設定が行われる。
ステップS305において、アプリケーションプロセッサ614からマスタ側のSerDes装置613へ、CCI-FS処理部643のBridge構成のDestination SIDの設定を行い、スレーブ側のSerDes装置612を登録する。
ステップS306において、アプリケーションプロセッサ614からマスタ側のSerDes装置613へ、CCI-FS処理部643のErrorレジスタに対するリードアクセスが行われる。
ステップS307において、アプリケーションプロセッサ614では、CCI-FS処理部653が、ステップS306のリードアクセスの結果、マスタ側のSerDes装置613のCCI-FS処理部643のErrorレジスタのレジスタ値が0であるか否かを判定する。
ステップS307において、マスタ側のSerDes装置613のCCI-FS処理部643のErrorレジスタのレジスタ値が0でない(0以外である)と判定された場合、処理はステップS308に進む。
ステップS308において、アプリケーションプロセッサ614では、CCI-FS処理部653が、再送回数が3回以上であるか否かを判定し、再送回数が3回以上でない(1回または2回)と判定した場合、処理はステップS304に戻り、以下、同様の処理が繰り返して行われる。
一方、ステップS307において、マスタ側のSerDes装置613のCCI-FS処理部643のErrorレジスタのレジスタ値が0であると判定された場合、処理はステップS309に進む。
ステップS309において、アプリケーションプロセッサ614からスレーブ側のSerDes装置612へ、CCI-FS処理部636のePHレジスタの設定が行われる。
ステップS310において、アプリケーションプロセッサ614からスレーブ側のSerDes装置612へ、CCI-FS処理部636のBridge構成のDestination SIDの設定を行い、スレーブ側のSerDes装置612を登録する。
ステップS311において、アプリケーションプロセッサ614からスレーブ側のSerDes装置612へ、CCI-FS処理部636のErrorレジスタに対するリードアクセスが行われる。
ステップS312において、アプリケーションプロセッサ614では、CCI-FS処理部653が、ステップS311のリードアクセスの結果、スレーブ側のSerDes装置612のCCI-FS処理部636のErrorレジスタのレジスタ値が0であるか否かを判定する。
ステップS312において、スレーブ側のSerDes装置612のCCI-FS処理部636のErrorレジスタのレジスタ値が0でない(0以外である)と判定された場合、処理はステップS313に進む。
ステップS313において、アプリケーションプロセッサ614では、CCI-FS処理部653が、再送回数が3回以上であるか否かを判定し、再送回数が3回以上でない(1回または2回)と判定した場合、処理はステップS309に戻り、以下、同様の処理が繰り返して行われる。
一方、ステップS312において、スレーブ側のSerDes装置612のCCI-FS処理部636のErrorレジスタのレジスタ値が0であると判定された場合、処理はステップS314に進む。
ステップS314において、アプリケーションプロセッサ614からイメージセンサ611へ、CCI-FS処理部623のePHレジスタの設定が行われる。
ステップS315において、アプリケーションプロセッサ614からイメージセンサ611へ、CCI-FS処理部623のErrorレジスタに対するリードアクセスが行われる。
ステップS316において、アプリケーションプロセッサ614では、CCI-FS処理部653が、ステップS315のリードアクセスの結果、イメージセンサ611のCCI-FS処理部623のErrorレジスタのレジスタ値が0であるか否かを判定する。
ステップS316において、イメージセンサ611のCCI-FS処理部623のErrorレジスタのレジスタ値が0でない(0以外である)と判定された場合、処理はステップS317に進む。
ステップS317において、アプリケーションプロセッサ614では、CCI-FS処理部653が、再送回数が3回以上であるか否かを判定し、再送回数が3回以上でない(1回または2回)と判定した場合、処理はステップS314に戻り、以下、同様の処理が繰り返して行われる。
ここで、ステップS308、ステップS313、またはステップS317において、再送回数が3回以上であると判定された場合、処理はステップS301に戻り、以下、同様の処理が繰り返して行われる。
一方、ステップS316において、イメージセンサ611のCCI-FS処理部623のErrorレジスタのレジスタ値が0であると判定された場合、処理はステップS318に進む。
図51に示すように、ステップS318乃至S327では、CCI-FSを使用したライト動作が行われる。
ステップS318において、アプリケーションプロセッサ614のCCI-FS処理部653が、ライト動作を行うようにePHレジスタの設定を行う。
ステップS319において、アプリケーションプロセッサ614のCCI-FS処理部653は、ライトデータレジスタの設定を行う。
ステップS320において、アプリケーションプロセッサ614のCCI-FS処理部653は、コマンド実行レジスタを1に設定して、ライトコマンドを発行する。
ステップS321において、アプリケーションプロセッサ614は、図53を参照して後述するSequence A_Write(AP時)処理を行う。
ステップS322において、マスタ側のSerDes装置613は、図56を参照して後述するSequence B(SerDes(Master)時)処理を行う。なお、図56では、スレーブ側のSerDes装置612が実行するSequence B(SerDes(Slave)時)処理について説明しているが、マスタ側のSerDes装置613においても対応する各ブロックにより同様の処理を実行することができる。
ステップS323において、マスタ側のSerDes装置613の拡張パケットヘッダePHの拡張DTから、CSI2-FS処理部643およびCSIA処理部642を経由して、A-PHY処理部641が、A-PHYヘッダおよびA-PHYフッタを付加してA-PHY転送を行う。
ステップS324において、スレーブ側のSerDes装置612は、図56を参照して後述するSequence B(SerDes(Slave)時)処理を行う。
ステップS325において、スレーブ側のSerDes装置612は、図53を参照して後述するSequence A_Write(SerDes(Slave)時)処理を行う。なお、図53では、アプリケーションプロセッサ614が実行するSequence A_Write(AP時)処理について説明しているが、スレーブ側のSerDes装置612においても対応する各ブロックにより同様の処理を実行することができる。
ステップS326において、イメージセンサ611は、図56を参照して後述するSequence B(Image Sensor時)処理を行う。なお、図56では、スレーブ側のSerDes装置612が実行するSequence B(SerDes(Slave)時)処理について説明しているが、イメージセンサ611においても対応する各ブロックにより同様の処理を実行することができる。
ステップS327において、イメージセンサ611では、CCI-FS処理部623が、拡張パケットヘッダePHおよび拡張パケットフッタePFの内容から、レジスタ624のアドレスにライトデータを書き込むライト処理を行う。その後、処理はステップS328に進む。
図52に示すように、ステップS328乃至S344では、CCI-FSを使用したリード動作が行われる。
ステップS328において、アプリケーションプロセッサ614のCCI-FS処理部653は、リード動作を行うようにePHレジスタの設定を行う。
ステップS329において、アプリケーションプロセッサ614のCCI-FS処理部653は、リードデータレジスタの設定を行う。
ステップS330において、アプリケーションプロセッサ614のCCI-FS処理部653は、コマンド実行レジスタを1に設定して、リードコマンドを発行する。
ステップS331において、アプリケーションプロセッサ614は、図54を参照して後述するSequence A_Read_CMD(AP時)処理を行う。ここで、Sequence A_Read_CMD(AP時)処理では、分岐された2つの処理が並列的に行われ、分岐Aに応じてステップS332に処理は進み、分岐Bに応じてステップS339に処理は進む。
ステップS332において、マスタ側のSerDes装置613は、図56を参照して後述するSequence B(SerDes(Master)時)処理を行う。なお、図56では、スレーブ側のSerDes装置612が実行するSequence B(SerDes(Slave)時)処理について説明しているが、マスタ側のSerDes装置613においても対応する各ブロックにより同様の処理を実行することができる。
ステップS333において、マスタ側のSerDes装置613の拡張パケットヘッダePHの拡張DTから、CSI2-FS処理部643およびCSIA処理部642を経由して、A-PHY処理部641が、A-PHYヘッダおよびA-PHYフッタを付加してA-PHY転送を行う。
ステップS334において、スレーブ側のSerDes装置612は、図56を参照して後述するSequence B(SerDes(Slave)時)処理を行う。
ステップS355において、スレーブ側のSerDes装置612は、図54を参照して後述するSequence A_Read_CMD(SerDes(Slave)時)処理を行う。なお、図54では、アプリケーションプロセッサ614において実行されるSequence A_Read_CMD(AP時)処理について説明しているが、スレーブ側のSerDes装置612においても対応する各ブロックにより同様の処理を実行することができる。ここで、Sequence A_Read_CMD(SerDes(Slave)時)処理では、分岐された2つの処理のうち、分岐Aに処理は進まず、分岐Bに応じてステップS336に処理は進む。
ステップS336において、スレーブ側のSerDes装置612は、図57を参照して後述するSequence A_Read_Data(SerDes(Slave)時)処理を行う。なお、図57では、アプリケーションプロセッサ614において実行されるSequence A_Read_Data(AP時)処理について説明しているが、スレーブ側のSerDes装置612においても対応する各ブロックにより同様の処理を実行することができる。
ステップS337において、スレーブ側のSerDes装置612の拡張パケットヘッダePHの拡張DTから、CSI2-FS処理部633およびCSIA処理部632を経由して、A-PHY処理部631が、A-PHYヘッダおよびA-PHYフッタを付加してA-PHY転送を行う。
ステップS338において、マスタ側のSerDes装置613は、図56を参照して後述するSequence B(SerDes(Master)時)処理を行う。なお、図56では、スレーブ側のSerDes装置612において実行されるSequence B(SerDes(Slave)時)処理について説明しているが、マスタ側のSerDes装置613においても対応する各ブロックにより同様の処理を実行することができる。
ステップS339において、アプリケーションプロセッサ614は、図57を参照して後述するSequence A_Read_Data(AP時)処理を行う。
ステップS340において、アプリケーションプロセッサ614は、図56を参照して後述するSequence B(AP時)処理を行う。なお、図56では、スレーブ側のSerDes装置612において実行されるSequence B(SerDes(Slave)時)処理について説明しているが、アプリケーションプロセッサ614においても対応する各ブロックにより同様の処理を実行することができる。
ステップS341において、アプリケーションプロセッサ614では、CCI-FS処理部653が、拡張パケットヘッダePHおよび拡張パケットフッタePFの内容から、レジスタ654のアドレスにリードデータを格納する。
ステップS342において、上述したリード処理を、イメージセンサ611、スレーブ側のSerDes装置612、マスタ側のSerDes装置613、およびアプリケーションプロセッサ614で、Errorレジスタ確認を実施する。
ステップS343において、イメージセンサ611、各デバイス(スレーブ側のSerDes装置612、マスタ側のSerDes装置613、およびアプリケーションプロセッサ614)は、それぞれのCCI-FS処理部のErrorレジスタのレジスタ値が0であるか否かを判定する。
ステップS343において、全てのCCI-FS処理部のレジスタ値が0でない(いずれかに0以外のレジスタ値がある)と判定された場合、処理はステップS344に進む。
ステップS344において、レジスタ値が0でないCCI-FS処理部のError関連レジスタ値を確認し、Errorレジスタを1ライトクリアして再送処理を行う。
一方、ステップS343において、全てのCCI-FS処理部のレジスタ値が0であると判定された場合、または、ステップS344の処理後、処理は終了される。
図53は、図51のステップS321において行われるSequence A_Write(AP時)処理を説明するフローチャートである。なお、図53では、アプリケーションプロセッサ614が行う処理を例に説明するが、図51のステップS325のSequence A_Write(SerDes(Slave)時)処理も同様に行われる。
ステップS351において、アプリケーションプロセッサ614では、I2C/I3Cマスタ651が、スタートコマンドおよびスレーブアドレス(図42に示したSlave Address+W 8-bit)を発行する。
ステップS352において、アプリケーションプロセッサ614では、I2C/I3Cマスタ651が、マスタ側のSerDes装置613のI2C/I3Cスレーブ644からのACK応答を受信したか否かを判定する。ステップS352において、マスタ側のSerDes装置613のI2C/I3Cスレーブ644からのACK応答を受信したと判定された場合、処理はステップS353に進む。
ステップS353において、アプリケーションプロセッサ614では、I2C/I3Cマスタ651が、レジスタアドレス(図42に示したRegister Address [15:8])を発行する。ここで、ステップS353の処理が繰り返して行われるたびに、図42に示したように、このレジスタアドレス以下のペイロードが送信される。
ステップS354において、アプリケーションプロセッサ614では、I2C/I3Cマスタ651が、マスタ側のSerDes装置613のI2C/I3Cスレーブ644からのACK応答を受信したか否かを判定する。ステップS354において、マスタ側のSerDes装置613のI2C/I3Cスレーブ644からのACK応答を受信したと判定された場合、処理はステップS355に進む。
ステップS355において、アプリケーションプロセッサ614では、I2C/I3Cマスタ651が、最終データの転送が完了したか否かを判定する。ステップS355において、最終データの転送が完了していないと判定された場合、処理はステップS353に戻り、以下、同様の処理が繰り返して行われる。
一方、ステップS355において、最終データの転送が完了したと判定された場合、処理はステップS356に進む。ステップS356において、アプリケーションプロセッサ614では、I2C/I3Cマスタ651が、ストップコマンドを発行する。これにより、Sequence A_Write(AP時)処理は終了し、図51のステップS322に処理が戻る。
一方、ステップS352またはS354において、マスタ側のSerDes装置613のI2C/I3Cスレーブ644からのACK応答を受信しなかったと判定された場合、処理はステップS357に進む。ステップS357において、アプリケーションプロセッサ614では、I2C/I3Cマスタ651が、ストップコマンドを発行する。この場合、Sequence A_Write(AP時)処理が終了するとともに、通信処理自体が終了される。
図54は、図52のステップS331において行われるSequence A_Read_CMD(AP時)処理を説明するフローチャートである。なお、図54では、アプリケーションプロセッサ614が行う処理を例に説明するが、図52のステップS335のSequence A_Read_CMD(SerDes(Slave)時)処理も同様に行われる。
ステップS361において、アプリケーションプロセッサ614では、I2C/I3Cマスタ651が、スタートコマンドおよびスレーブアドレス(図42に示したSlave Address+W 8-bit)を発行し、タイマーを起動する。
ステップS362において、アプリケーションプロセッサ614では、I2C/I3Cマスタ651が、マスタ側のSerDes装置613のI2C/I3Cスレーブ644からのACK応答を受信したか否かを判定する。ステップS362において、マスタ側のSerDes装置613のI2C/I3Cスレーブ644からのACK応答を受信したと判定された場合、処理はステップS363に進む。
ステップS363において、アプリケーションプロセッサ614では、I2C/I3Cマスタ651が、レジスタアドレス(図42に示したRegister Address [15:8])を発行する。ここで、ステップS363の処理が繰り返して行われるたびに、図42に示したように、このレジスタアドレス以下のペイロードの送信が送信される。
ステップS364において、アプリケーションプロセッサ614では、I2C/I3Cマスタ651が、マスタ側のSerDes装置613のI2C/I3Cスレーブ644からのACK応答を受信したか否かを判定する。
ステップS364において、マスタ側のSerDes装置613のI2C/I3Cスレーブ644からのACK応答を受信したと判定された場合、処理はステップS365に進む。
ステップS365において、アプリケーションプロセッサ614では、I2C/I3Cマスタ651が、最終データの転送が完了したか否かを判定する。
ステップS365において、最終データの転送が完了したと判定された場合、処理はステップS366に進む。
ステップS366において、アプリケーションプロセッサ614では、I2C/I3Cマスタ651が、ストップコマンドを発行する。その後、処理は2つに分岐し、分岐Aに従って処理は図52のステップS332に進む。一方、分岐Bに従って、ステップS367においてSequence C(AP時)処理(後述する図55参照)が行われた後、処理は図52のステップS339に進む。
一方、ステップS365において、最終データの転送が完了していないと判定された場合、処理はステップS368に進む。
ステップS368において、アプリケーションプロセッサ614では、I2C/I3Cマスタ651が、ステップS361でスタートしたタイマーがタイムアウトしたか否かを判定する。ステップS368において、タイマーがタイムアウトしていないと判定された場合、処理はステップS363に戻り、以下、同様の処理が繰り返して行われる。
一方、ステップS368において、タイマーがタイムアウトしたと判定された場合、処理はステップS369に進む。
ステップS369において、アプリケーションプロセッサ614は、Errorレジスタ(Timeout)に1を設定し、Error関連レジスタに拡張パケットヘッダePHおよび拡張パケットフッタePFのデータを格納する。
ステップS369の処理後、または、ステップS362もしくはS364において、マスタ側のSerDes装置613のI2C/I3Cスレーブ644からのACK応答を受信しなかったと判定された場合、処理はステップS370に進む。
ステップS370において、アプリケーションプロセッサ614では、I2C/I3Cマスタ651が、ストップコマンドを発行する。この場合、Sequence A_Read_CMD(AP時)処理が終了するとともに、通信処理自体が終了される。
図55は、図54のステップS367において行われるSequence C(AP時)処理を説明するフローチャートである。なお、図55では、アプリケーションプロセッサ614が行う処理を例に説明するが、スレーブ側のSerDes装置612においても同様の処理を行うことができる。
ステップS381において、アプリケーションプロセッサ614では、I2C/I3Cマスタ651が、図54のステップS361でスタートしたタイマーがタイムアウトしたか否かを判定し、タイムアウトしたと判定されるまで処理が待機される。ステップS381において、タイムアウトしたと判定されると、処理はステップS382に進み、アプリケーションプロセッサ614では、I2C/I3Cマスタ651が、ポーリング動作を行う
ステップS383において、アプリケーションプロセッサ614では、I2C/I3Cマスタ651が、リードコマンドのStatusレジスタ値が1であるか否かを判定する。
ステップS383において、リードコマンドのStatusレジスタ値が1であると判定された場合、処理はステップS384に進む。ステップS384において、アプリケーションプロセッサ614は、リードアクセスを行った後、処理は図52のステップS339に戻る。
一方、ステップS383において、リードコマンドのStatusレジスタ値が1でない(1以外である)と判定された場合、処理はステップS385に進む。ステップS385において、アプリケーションプロセッサ614は、Errorレジスタ(Timeout)に1を設定し、Error関連レジスタに拡張パケットヘッダePHおよび拡張パケットフッタePFのデータを格納する。
ステップS386において、アプリケーションプロセッサ614では、I2C/I3Cマスタ651が、ストップコマンドを発行する。この場合、Sequence C(AP時)処理が終了するとともに、通信処理自体が終了される。
図56は、図51のステップS324およびS334において行われるSequence B(SerDes(Slave)時)処理を説明するフローチャートである。なお、図56では、スレーブ側のSerDes装置612が行う処理を例に説明するが、図51のステップS322のSequence B(SerDes(Master)時)、図51のステップS326のSequence B(Image Sensor時)処理、および、図52のステップS332のSequence B(SerDes(Master)時)処理も同様に行われる。
ステップS391において、スレーブ側のSerDes装置612では、CCI-FS処理部636が、スレーブ側のSerDes装置612のSource IDと拡張パケットヘッダePHのDestination SIDを確認する。
ステップS392において、スレーブ側のSerDes装置612では、CCI-FS処理部636が、スレーブ側のSerDes装置612のSource IDと拡張パケットヘッダePHのDestination SIDとが不一致であるか否かを判定する。
ステップS392において、スレーブ側のSerDes装置612のSource IDと拡張パケットヘッダePHのDestination SIDとが不一致であると判定された場合、処理はステップS393に進む。
ステップS393において、スレーブ側のSerDes装置612では、CCI-FS処理部636が、スレーブ側のSerDes装置612のDestination SIDと拡張パケットヘッダePHのDestination SIDを確認する。
ステップS394において、スレーブ側のSerDes装置612では、CCI-FS処理部636が、スレーブ側のSerDes装置612のSource IDと拡張パケットヘッダePHのDestination SIDとが一致したか否かを判定する。
ステップS394において、スレーブ側のSerDes装置612のSource IDと拡張パケットヘッダePHのDestination SIDとが一致したと判定された場合、処理はステップS395に進む。
ステップS395において、スレーブ側のSerDes装置612では、CCI-FS処理部636が、拡張パケットヘッダePHの内容から、Message Counterを確認する。
ステップS396において、スレーブ側のSerDes装置612では、CCI-FS処理部636が、スレーブ側のSerDes装置612でのMessage Counterと、拡張パケットヘッダePHの内容から確認したMessage Counterの受信値とが一致したか否かを判定する。
ステップS396において、スレーブ側のSerDes装置612でのMessage Counterと、拡張パケットヘッダePHの内容から確認したMessage Counterの受信値とが一致したと判定された場合、処理はステップS397に進む。
ステップS397において、スレーブ側のSerDes装置612では、CCI-FS処理部636が、スレーブ側のSerDes装置612で拡張パケットヘッダePHから計算されたCRC計算結果と、拡張パケットフッタePFの受信値(ePF0)とを確認する。
ステップS398において、拡張パケットフッタePFの受信値(ePF0)とCRC計算結果とが一致するか否かを判定し、一致すると判定された場合、図51のステップS325に処理は戻る。
一方、ステップS392において、スレーブ側のSerDes装置612のSource IDと拡張パケットヘッダePHのDestination SIDとが不一致でない(一致している)と判定された場合、処理はステップS399に進む。
ステップS399乃至S402では、ステップS395乃至S398と同様の処理が行われる。
ステップS402において、拡張パケットフッタePFの受信値(ePF0)とCRC計算結果とが一致したと判定された場合、処理はステップS403に進む。ステップS403において、スレーブ側のSerDes装置612のレジスタ637にライトアクセスする。
ステップS394において、スレーブ側のSerDes装置612のSource IDと拡張パケットヘッダePHのDestination SIDとが一致していないと判定された場合、処理はステップS404に進む。ステップS404において、スレーブ側のSerDes装置612では、CCI-FS処理部636が、Errorレジスタ[2](Routing)に1を設定し、Error関連レジスタに拡張パケットヘッダePHおよび拡張パケットフッタePFのデータを格納する。
ステップS398またはS402において、拡張パケットフッタePFの受信値(ePF0)とCRC計算結果とが一致していないと判定された場合、処理はステップS405に進む。ステップS405において、スレーブ側のSerDes装置612では、CCI-FS処理部636が、Errorレジスタ(CRC)に1を設定し、Error関連レジスタに拡張パケットヘッダePHおよび拡張パケットフッタePFのデータを格納する。
ステップS396またはS400において、スレーブ側のSerDes装置612でのMessage Counterと、拡張パケットヘッダePHの内容から確認したMessage Counterの受信値とが一致していないと判定された場合、処理はステップS406に進む。ステップS406において、スレーブ側のSerDes装置612では、CCI-FS処理部636が、Errorレジスタ(MC)に1を設定し、Error関連レジスタに拡張パケットヘッダePHおよび拡張パケットフッタePFのデータを格納する。
ステップS403乃至S406の処理後、Sequence B(SerDes(Slave)時)処理が終了するとともに、通信処理自体が終了される。
なお、CRC計算について、E2E Protectionのみを対象として実施しても構わないこと、各デバイスそれぞれでエラー検出すること、パケット破棄する/しないことについて、これらを組み合わせが想定される。
図57は、図52のステップS339において行われるSequence A_Read_Data(AP時)処理を説明するフローチャートである。なお、図57では、アプリケーションプロセッサ614が行う処理を例に説明するが、図52のステップS336のSequence A_Read_Data(SerDes(Slave)時)処理も同様に行われる。
ステップS411において、アプリケーションプロセッサ614では、I2C/I3Cマスタ651が、スタートコマンドおよびスレーブアドレス(図48に示したSlave Address+W 8-bit)を発行する。
ステップS412において、アプリケーションプロセッサ614では、I2C/I3Cマスタ651が、マスタ側のSerDes装置613のI2C/I3Cスレーブ644からのACK応答を受信したか否かを判定する。ステップS412において、マスタ側のSerDes装置613のI2C/I3Cスレーブ644からのACK応答を受信したと判定された場合、処理はステップS413に進む。
ステップS413において、アプリケーションプロセッサ614では、I2C/I3Cマスタ651が、スタートコマンドおよびスレーブアドレス(図48に示したSlave Address+R 8-bit)を発行し、タイマーを起動する。
ステップS414において、アプリケーションプロセッサ614では、I2C/I3Cマスタ651が、マスタ側のSerDes装置613のI2C/I3Cスレーブ644からのACK応答を受信したか否かを判定する。ステップS414において、マスタ側のSerDes装置613のI2C/I3Cスレーブ644からのACK応答を受信したと判定された場合、処理はステップS415に進む。
ステップS415において、アプリケーションプロセッサ614では、I2C/I3Cマスタ651が、アプリケーションプロセッサ614側の対向のI2C/I3Cスレーブ644からリードデータを取得する。
ステップS416において、アプリケーションプロセッサ614のI2C/I3Cマスタ651がACK送信を行い、かつ、アプリケーションプロセッサ614側の対向のI2C/I3Cスレーブ644においてACK受信が行われたか否かが判定される。
ステップS416において、アプリケーションプロセッサ614のI2C/I3Cマスタ651がACK送信を行い、かつ、アプリケーションプロセッサ614側の対向のI2C/I3Cスレーブ644においてACK受信が行われたと判定された場合、処理はステップS417に進む。
ステップS417において、アプリケーションプロセッサ614のI2C/I3Cマスタ651が、最終データの転送が完了したのに伴ってNACK送信を行ったか否かが判定される。
ステップS417において、NACK送信を行ったと判定された場合、処理はステップS418に進む。ステップS418において、アプリケーションプロセッサ614では、I2C/I3Cマスタ651が、ストップコマンドを発行する。これにより、Sequence A_Read_Data(AP時)処理は終了し、図52のステップS340に処理が戻る。
一方、ステップS417において、NACK送信を行っていないと判定された場合、処理はステップS419に進む。
ステップS419において、アプリケーションプロセッサ614では、I2C/I3Cマスタ651が、ステップS413でスタートしたタイマーがタイムアウトしたか否かを判定する。ステップS419において、タイマーがタイムアウトしていないと判定された場合、処理はステップS415に戻り、以下、同様の処理が繰り返して行われる。
一方、ステップS419において、タイマーがタイムアウトしたと判定された場合、処理はステップS420に進む。
ステップS420において、アプリケーションプロセッサ614は、Errorレジスタ(Timeout)に1を設定し、Error関連レジスタに拡張パケットヘッダePHおよび拡張パケットフッタePFのデータを格納する。
ステップS420の処理後、または、ステップS414において、マスタ側のSerDes装置613のI2C/I3Cスレーブ644からのACK応答を受信していないと判定された場合、処理はステップS421に進む。同様に、ステップS416において、アプリケーションプロセッサ614のI2C/I3Cマスタ651がACK送信を行っていない、または、アプリケーションプロセッサ614側の対向のI2C/I3Cスレーブ644においてACK受信が行われていないと判定された場合、処理はステップS421に進む。
ステップS421において、アプリケーションプロセッサ614では、I2C/I3Cマスタ651が、ストップコマンドを発行する。この場合、Sequence A_Read_Data(AP時)処理が終了するとともに、通信処理自体が終了される。
ここで、I2C/I3Cスレーブ621が出力(図46参照)する際に、I2C/I3Cマスタ634からI2C/I3Cスレーブ621へのアクセスタイミング、および、マスタ側のSerDes装置613のI2C/I3Cスレーブ644が出力(図48参照)する際に、I2C/I3Cマスタ651からI2C/I3Cスレーブ644へのアクセスタイミングには、次に説明する3つの組み合わせがある。
第1のアクセスタイミングは、リードデータが取得されるまでポーリングして、リードデータの読み出し準備完了後に、I2C/I3Cマスタがリード処理を開始する。
第2のアクセスタイミングは、一定時間経過後、I2C/I3Cマスタがリード処理を開始する。
第3のアクセスタイミングは、Clock Stretch方式(後述する図72参照)を用いて、一定時間経過後、I2C/I3Cマスタがリード処理を開始し、その際、リードデータを塊で送る形態と、リードデータをばらばらに送る形態(Clock Stretch Mode信号をアサート)とがある。
<拡張パケットヘッダePHの構成例>
図58乃至図60は、拡張パケットヘッダePHの構成例を示す図である。
図58乃至図60は、拡張パケットヘッダePHの構成例を示す図である。
図58には、拡張パケットヘッダePH0、拡張パケットヘッダePH1、および拡張パケットヘッダePH2の詳細な構成例が示されている。図示するような拡張パケットヘッダePHの追加は、CCI-FS用に拡張パケットヘッダePHの内容が、C-PHYおよびD-PHYでのePH構造を流用して規定されている。
図59には、拡張パケットヘッダePH3の詳細な構成例が示されている。図示するような拡張パケットヘッダePHの追加は、CCI-FS用に拡張パケットヘッダePHの内容が規定されている。
図60には、拡張パケットヘッダePHの拡張DTの詳細な構成例が示されている。例えば、CCI-FSに対応するために、拡張パケットヘッダePHのデータタイプに、「0xC0:For I2C」と「0xC1:For I3C」が追加されている。
<I2Cの回路構成例>
図61には、従来のI2Cのハードウェアでの構成例が示されている。例えば、ハードウェア実装時で、上位にバス接続構成の場合におけるI2Cの構成例が示されており、スレーブ側は、上位からAKC/NACKを受信できる構成であってもよい。もちろん、一例が示されているものであり、必ずしも上位バス構成が一致するものではない。
図61には、従来のI2Cのハードウェアでの構成例が示されている。例えば、ハードウェア実装時で、上位にバス接続構成の場合におけるI2Cの構成例が示されており、スレーブ側は、上位からAKC/NACKを受信できる構成であってもよい。もちろん、一例が示されているものであり、必ずしも上位バス構成が一致するものではない。
図62には、I2Cバス上のデータ転送時の波形が示されている。なお、I2Cバス規格とCCI(I2C)は等価なものとする。
図63は、上述の図27に示した通信システム501と同様ように、A-PHY直結構成の通信システム701におけるCCI関連の構成例を示すブロック図である。
図63に示すように、通信システム701は、イメージセンサ711およびアプリケーションプロセッサ712がA-PHYにより直接的に接続されている。
イメージセンサ711は、A-PHY処理部721、CSIA処理部722、CSI2処理部523、CSI2-FS処理部724、CCI処理部725、CCI-FS処理部726、レジスタ727、並びに、セレクタ728-1および728-2を備えて構成される。図示するように、セレクタ728-1および728-2は、CCI-FS処理部726を挟み込むように配置されており、レジスタ727のCCI_FS_Enable信号に従って、CCI-FS処理部726の有効/無効を切り替えることができる。
アプリケーションプロセッサ712は、A-PHY処理部731、CSIA処理部732、CSI2処理部733、CSI2-FS処理部734、CCI処理部735、CCI-FS処理部736、レジスタ737、並びに、セレクタ738-1および738-2を備えて構成される。図示するように、セレクタ738-1および738-2は、CCI-FS処理部736を挟み込むように配置されており、レジスタ737のCCI_FS_Enable信号に従って、CCI-FS処理部736の有効/無効を切り替えることができる。
例えば、CCI_FS_Enable信号がCCI-FSを有効にすることを示している場合(CCI_FS_Enable=1)、一点鎖線の矢印に示すように、CCI-FS処理部726およびCCI-FS処理部736を介してデータが送受信される。一方、CCI_FS_Enable信号がCCI-FSを無効にすることを示している場合(CCI_FS_Enable=0)、二点鎖線の矢印に示すように、CCI-FS処理部726およびCCI-FS処理部736を介さずにデータが送受信される。
<ネットワークの接続形態>
図64には、A-PHY直結構成およびSerDes接続構成のネットワークの接続形態(トポロジー)の一例が示されている。
図64には、A-PHY直結構成およびSerDes接続構成のネットワークの接続形態(トポロジー)の一例が示されている。
アプリケーションプロセッサ801は、A-PHYを介して直接的にイメージセンサ802に接続されており、イメージセンサ802は、I2C/I3Cを介してセンサ803に接続される接続形態を構成することができる。
アプリケーションプロセッサ801は、I2C/I3Cを介してマスタ側のSerDes装置804に接続され、マスタ側のSerDes装置804およびスレーブ側のSerDes装置805がA-PHYを介して接続されている。スレーブ側のSerDes装置805は、I2C/I3Cを介して2つのセンサ806-1および806-2に接続される接続形態を構成することができる。
<CCI-FS処理部の回路構成>
図65は、CCI-FS処理部の回路構成の一例を示すブロック図である。図65に示すCCI-FS処理部901およびレジスタ902は、上述した各デバイスが備えるCCI-FS処理部およびレジスタで共通の構成となる。
図65は、CCI-FS処理部の回路構成の一例を示すブロック図である。図65に示すCCI-FS処理部901およびレジスタ902は、上述した各デバイスが備えるCCI-FS処理部およびレジスタで共通の構成となる。
図65に示すように、CCI-FS処理部901は、上位レイヤにCCI-FSスイッチやレジスタなどが設けられており、下位レイヤにCCI処理部が設けられている。CCI-FS処理部901は、CCI-FS送信部911およびCCI-FS受信部912を備えて構成される。レジスタ902からCCI-FS処理部901には、各種のレジスタ設定値情報が供給され、CCI-FS処理部901からレジスタ902には、Error通知が供給される。
CCI-FS送信部911は、拡張パケットヘッダePH生成部921、拡張パケットフッタePF生成部922、およびDestination Address確認部923を備えている。
拡張パケットヘッダePH生成部921は、Message Counterを生成するMC生成部941、および、パケット長を計算するPacket Length計算部942を有している。拡張パケットフッタePF生成部922は、拡張パケットフッタePF1を生成する拡張パケットフッタePF1生成部943、および、拡張パケットフッタePF0に格納されるCRCを計算するCRC計算部944を有している。
CCI-FS受信部912は、拡張パケットヘッダePH確認部931、拡張パケットフッタePF確認部932、およびDestination Address確認部933を備えている。
拡張パケットヘッダePH確認部931は、Message Counterを確認するMC確認部951、および、パケット長を計算および確認するPacket Length計算・確認部952を有している。拡張パケットフッタePF確認部932は、拡張パケットフッタePF1を確認する拡張パケットフッタePF1確認部953、および、拡張パケットフッタePF0に格納されるCRCを計算するCRC計算部954を有している。
CCI-FS処理部901は、CCI-FS送信部911により、上位レイヤからのデータのDestination Addressを確認して、拡張パケットヘッダePHおよび拡張パケットフッタePFを生成してデータに付加し、下位のレイヤに供給することができる。CCI-FS処理部901は、CCI-FS受信部912により、下位レイヤからのデータのDestination Addressを確認して、拡張パケットヘッダePHおよび拡張パケットフッタePFを確認し、上位のレイヤに供給することができる。
ここで、上述した図40に示したSerDes接続構成の構成例の通信システム601を構成する各デバイスのCCI-FS処理部の動作について説明する。
アプリケーションプロセッサ614は、アプリケーションプロセッサ614での拡張パケットヘッダePHにおいて、自デバイスを示すSource IDを有する。そして、CCI-FS処理部653は、上記情報と、目的とするアクセスを行うデバイスを示すDestination IDを有する情報とを付加する。
スレーブ側のSerDes装置612およびマスタ側のSerDes装置613は、自デバイスを示すSource IDを、事前設定されることにより、もしくは固有値として有する。CCI-FS処理部636およびCCI-FS処理部646は、上記情報と、接続デバイスと目的とするデバイスを示すDestination IDを有する情報との事前設定を行う。
また、CCI-FS処理部636およびCCI-FS処理部646は、受信した拡張パケットヘッダePHのDesination IDと自分のID(Source ID)を比較し、自分へのアクセスか、目的とするデバイスを示す(Desination ID)かの判別を行う。例えば、受信した拡張パケットヘッダePHのDesination IDと自分のID(Source ID)とが一致したときは、中間デバイス(SerDes装置)へのアクセスとして、自身のレジスタアクセスを行う。一方、受信した拡張パケットヘッダePHのDesination IDと自分のID(Source ID)とが一致しないときは、後段デバイスへのアクセスとして、接続されたデバイス(Desination ID)へ向けてデータ転送を行う。
上記のように、拡張パケットヘッダePHに埋め込まれたSource IDとDestination ID、中間デバイス(SerDes装置)または目的とするデバイスに、事前設定または固有値のSource ID、事前設定された接続先情報を元にデータを転送し、目的とするデバイスへ向けてアクセスを行う。
イメージセンサ611のCSI2-FS処理部623は、受信した拡張パケットヘッダePHのDestination IDと、自分のID(Source ID)とが一致したときは、イメージセンサ611へのアクセスとして、自身のレジスタアクセスを行う。
このように、各デバイスが有するSource IDは、それぞれのデバイスに対して固有の値、事前設定された値、もしくはそれらの組み合わせを用いることができる。
図66乃至図68は、レジスタ902の詳細な構成例を示す図である。
図66には、レジスタ902のアドレス0x000からアドレス0x109までの詳細が示されている。図67には、レジスタ902のアドレス0x110からアドレス0x125までの詳細として、Bridge構成時の構成例が示されている。
図68には、レジスタ902のアドレス0x200の詳細として、Error関連レジスタが示されている。図68には、レジスタ902のアドレス0x300およびアドレス0x400の詳細として、Error関連レジスタ(debug)が示されている。図68には、レジスタ902のアドレス0x800の詳細として、Error Injection関連レジスタ(debug)が示されている。
<拡張パケットヘッダePHの変形例>
図69および図70を参照して、拡張パケットヘッダePHの変形例について説明する。
図69および図70を参照して、拡張パケットヘッダePHの変形例について説明する。
図69には、上述の図33を参照して説明したように、ライトアクセス時に、アプリケーションプロセッサ512のCCI-FS処理部536で生成されるライトデータのパケット構成における拡張パケットヘッダePHの変形例が示されている。図69に示す拡張パケットヘッダePHは、拡張パケットヘッダePH3および拡張パケットヘッダePH4の構成が、上述の図33に示した構成例と異なっている。
図70には、上述の図28を参照して説明したように、リードアクセス時に、アプリケーションプロセッサ512のCCI-FS処理部536において生成されるライトデータのパケット構成における拡張パケットヘッダePHの変形例が示されている。図70に示す拡張パケットヘッダePHは、拡張パケットヘッダePH3および拡張パケットヘッダePH4の構成が、上述の図28に示した構成例と異なっている。
例えば、図69および図70に示す拡張パケットヘッダePHでは、実装依存で、以下のような組み合わせが想定される。
Readアドレス情報を拡張パケットヘッダePHに格納しても、AP(CCI)ペイロードに格納してもよい。Length情報を拡張パケットヘッダePHに格納しても、AP(CCI)ペイロードに格納してもよい。CMDの情報を、拡張パケットヘッダePHのCCI Command IDに格納してもよい。CCI Command IDに基づいて、コマンドの開始、再開、および終了情報が参照される。CCI Header Lengthを用いて、AP(CCI)ペイロードにCCIの情報(例えば、Slave Addressなど)を格納してもよい。CCI Header Lengthは、CCIプロトコル(I2C)のヘッダ長を示す情報である。
図71は、図27に示したようなA-PHY直結構成におけるイメージセンサ511およびアプリケーションプロセッサ512との間のフローを説明する図である。
アプリケーションプロセッサ512では、CCI-FSスイッチ538が、リードコマンドおよびライトコマンドを発行する。CCI-FSスイッチ538は、スレーブアドレス(Slave Address+W 8bit)、レジスタアドレス(Register Address[15:8]、Register Address[7:0])、および、データ(Data*(*=N)[7:0])を、CCI処理部535に供給する。CCI処理部535は、それらをAP(CCI)ペイロードに変換して、A-PHY処理部531に供給する。A-PHY処理部531は、AP(CCI)ペイロードにA-PHYヘッダおよびA-PHYフッタを付加し、イメージセンサ511へA-PHY転送を行う。
イメージセンサ511では、A-PHY処理部521が、A-PHYヘッダおよびA-PHYフッタを除去してAP(CCI)ペイロードをCCI処理部525に供給する。CCI処理部525は、AP(CCI)ペイロードを変換し、その内容に基づいて、ライトコマンドに従ってレジスタ527にデータを書き込み、リードコマンドに従ってレジスタ527からデータを読み出す。
このとき、CCI-FS Enableの初期設定は、CCI処理部525により行われ、レジスタインタフェースやAHBバスなどのバス変換が行われる。そして、CCI-FS Enable設定の確認は、CCI処理部525またはCCI-FS処理部526を経由して行われる。
CCI処理部525は、リードコマンドに応じてレジスタ527から読み出されたリードデータ(Data*(*=M)[7:0])をAP(CCI)ペイロードに変換して、A-PHY処理部521に供給する。A-PHY処理部521は、AP(CCI)ペイロードにA-PHYヘッダおよびA-PHYフッタを付加し、アプリケーションプロセッサ512へA-PHY転送を行う。
アプリケーションプロセッサ512では、A-PHY処理部531が、A-PHYヘッダおよびA-PHYフッタを除去してAP(CCI)ペイロードをCCI処理部535に供給する。CCI処理部535は、AP(CCI)ペイロードを変換し、リードデータ(Data*(*=M)[7:0])をCCI-FSスイッチ538に供給する。
CCI-FSスイッチ538は、レジスタ537に対してCCI-FS Enable設定およびCCI-FS関連各種レジスタ設定を行う。このとき、レジスタアクセスは、実装に依存する。CCI-FSスイッチ538は、レジスタ537、CCI-FS処理部536、A-PHY処理部531、A-PHY処理部521、CCI-FS処理部526を介して、レジスタ527に対してCCI-FS関連各種レジスタ設定を行う。
アプリケーションプロセッサ512では、CCI-FSスイッチ538が、リードコマンドを発行する。CCI-FSスイッチ538は、スレーブアドレス(Slave Address+W 8bit)、レジスタアドレス(Register Address[15:8]、Register Address[7:0])、および、データ(Data*(*=N)[7:0])を、レジスタ537に供給する。CCI-FS処理部536は、それらをAP(CCI)ペイロードに変換し、拡張パケットヘッダePH*(*=n)、拡張パケットフッタePF1、および拡張パケットフッタePF0を付加して、A-PHY処理部531に供給する。A-PHY処理部531は、それらにA-PHYヘッダおよびA-PHYフッタを付加し、イメージセンサ511へA-PHY転送を行う。
イメージセンサ511では、A-PHY処理部521が、A-PHYヘッダおよびA-PHYフッタを除去して、拡張パケットヘッダePH*(*=n)、AP(CCI)ペイロード、拡張パケットフッタePF1、および拡張パケットフッタePF0を、CCI-FS処理部526に供給する。CCI-FS処理部526は、AP(CCI)ペイロードを変換し、その内容に基づいて、リードコマンドに従ってレジスタ527からデータを読み出す。このとき、レジスタアクセスは、実装に依存し、レジスタインタフェースやAHBバス、CCIインタフェースなどのバス変換が行われる。
CCI-FS処理部526は、リードコマンドに応じてレジスタ527から読み出されたリードデータ(Data*(*=M)[7:0])をAP(CCI)ペイロードに変換し、拡張パケットヘッダePH*(*=n)、拡張パケットフッタePF1、および拡張パケットフッタePF0を付加して、A-PHY処理部521に供給する。A-PHY処理部521は、それらにA-PHYヘッダおよびA-PHYフッタを付加し、アプリケーションプロセッサ512へA-PHY転送を行う。
アプリケーションプロセッサ512では、A-PHY処理部531が、A-PHYヘッダおよびA-PHYフッタを除去して、拡張パケットヘッダePH*(*=n)、AP(CCI)ペイロード、拡張パケットフッタePF1、および拡張パケットフッタePF0を、CCI-FS処理部536に供給する。CCI-FS処理部536は、AP(CCI)ペイロードを変換し、リードデータ(Data*(*=M)[7:0])をCCI-FSスイッチ538に供給する。
なお、上述したフローは、ハードウェアでのI2C/I3Cコマンド生成を例に説明を行ったが、その他、以下のような組み合わせがある。
ソフトウェアの場合、ソフトウェアでのI2C/I3C生成として、Slave Address、Registerアドレス、Payload、ACK応答受信、送信、各種制御コード(S,Sr,ACK,NACK,P)がソフトウェアで生成(例えば、GPIO制御のイメージ)される。ソフトウェアでのI2C/I3Cコマンド生成として、CPUバス設定でACK受信に応じて、CPUから、Slave Address、Registerアドレス、Payloadを発行する。
ハードウェアの場合、ハードウェアでのI2C/I3C生成として、I2C/I3CのHW IPに転送設定、データを設定する。各種制御コードはハードウェアで自動応答する。ハードウェアでのI2C/I3Cコマンド生成として、I2C/I3CのHW IPに転送設定でデータを設定し、コマンドで送信を行う。各種制御コードはハードウェアで自動応答する。
図72は、図40に示したようなSerDes接続構成におけるイメージセンサ611およびアプリケーションプロセッサ614の間のWriteアクセスおよびReadアクセスにおいて、Clock Stretch方式を用いたフローを説明する図である。
アプリケーションプロセッサ614のCCI-FSスイッチ655は、スタートコマンドおよびライトコマンド(Slave Address+W 8bit)を、マスタ側のSerDes装置613のCCI処理部645に供給し、Scl_enb信号をアサートする。マスタ側のSerDes装置613では、CCI処理部645が、ライトコマンドをA-PHY処理部641に供給し、A-PHY処理部641は、ライトコマンドにA-PHYヘッダおよびA-PHYフッタを付加し、スレーブ側のSerDes装置612へA-PHY転送を行う。
スレーブ側のSerDes装置612では、A-PHY処理部631が、A-PHYヘッダおよびA-PHYフッタを除去してライトコマンドを、CCI処理部635(Slave)に供給する。CCI処理部635(Slave)は、Scl_enb信号をネゲートするとともにライトコマンドをCCI処理部635(Master)に供給する。ここで、マスタ側のSerDes装置613側との通信を行ってスレーブとして機能するCCI処理部635をCCI処理部635(Slave)と称し、イメージセンサ611側と通信を行ってマスタとして機能するCCI処理部635をCCI処理部635(Master)と称する。
CCI処理部635(Master)は、スタートコマンドおよびライトコマンドを、イメージセンサ611に送信する。
イメージセンサ611では、CCI処理部622が、スタートコマンドおよびライトコマンドを受信してCSI2-FS処理部623に供給する。CSI2-FS処理部623は、その受信に成功したことを示すACK応答をCCI処理部622に供給し、CCI処理部622は、スレーブ側のSerDes装置612にACK応答を送信する。
スレーブ側のSerDes装置612では、CCI処理部635(Master)がACK応答を受信し、CCI処理部635(Slave)からScl_enb信号がネゲートされると、ACK応答をCCI-FS処理部636に供給する。その後、CCI処理部635(Slave)は、CCI処理部635(Master)にScl_enb信号をアサートする。
CCI-FS処理部636は、ACK応答をA-PHY処理部631に供給する。A-PHY処理部631は、ACK応答にA-PHYヘッダおよびA-PHYフッタを付加し、マスタ側のSerDes装置613へA-PHY転送を行う。
マスタ側のSerDes装置613では、A-PHY処理部641が、A-PHYヘッダおよびA-PHYフッタを除去してACK応答をCCI処理部645に供給する。アプリケーションプロセッサ614のCCI-FSスイッチ655が、CCI処理部645に対してScl_enb信号をネゲートすると、CCI処理部645は、アプリケーションプロセッサ614にACK応答を送信する。
アプリケーションプロセッサ614では、CCI処理部652がACK応答を受信して、CCI-FS処理部653を介してCCI-FSスイッチ655に供給する。
アプリケーションプロセッサ614のCCI-FSスイッチ655は、レジスタアドレス(Register Address[7:0])を、マスタ側のSerDes装置613のCCI処理部645に供給し、Scl_enb信号をアサートする。マスタ側のSerDes装置613では、CCI処理部645が、レジスタアドレスをA-PHY処理部641に供給し、A-PHY処理部641は、レジスタアドレスにA-PHYヘッダおよびA-PHYフッタを付加し、スレーブ側のSerDes装置612へA-PHY転送を行う。
スレーブ側のSerDes装置612では、A-PHY処理部631が、A-PHYヘッダおよびA-PHYフッタを除去してレジスタアドレスを、CCI処理部635(Slave)に供給する。CCI処理部635(Slave)は、Scl_enb信号をネゲートするとともにレジスタアドレスをCCI処理部635(Master)に供給する。CCI処理部635(Master)は、レジスタアドレスを、イメージセンサ611に送信する。その後、CCI処理部635(Slave)は、CCI処理部635(Master)にScl_enb信号をアサートする。
イメージセンサ611では、CCI処理部622が、レジスタアドレスを受信してCSI2-FS処理部623に供給する。CSI2-FS処理部623は、その受信に成功したことを示すACK応答をCCI処理部622に供給し、CCI処理部622は、スレーブ側のSerDes装置612にACK応答を送信する。
その後、上述した処理と同様に、ACK応答がCCI-FSスイッチ655まで供給される。
アプリケーションプロセッサ614では、CCI-FS処理部653が、CCI-FSスイッチ655の制御に従って、マスタ側のSerDes装置613へ拡張パケットヘッダePH*(*=n)を送信する。
マスタ側のSerDes装置613では、CCI処理部645が、拡張パケットヘッダePH*(*=n)を受信し、CCI-FSスイッチ655からScl_enb信号がアサートされると、拡張パケットヘッダePH*(*=n)をA-PHY処理部641に供給する。その後、CCI-FSスイッチ655は、CCI処理部645にScl_enb信号をネゲートする。A-PHY処理部641は、拡張パケットヘッダePH*(*=n)にA-PHYヘッダおよびA-PHYフッタを付加し、スレーブ側のSerDes装置612へA-PHY転送を行う。
スレーブ側のSerDes装置612では、A-PHY処理部631が、A-PHYヘッダおよびA-PHYフッタを除去して拡張パケットヘッダePH*(*=n)を、CCI-FS処理部636に供給する。CCI-FS処理部636は、Scl_enb信号をネゲートするとともに拡張パケットヘッダePH*(*=n)をCCI処理部635(Master)に供給する。CCI処理部635(Master)は、拡張パケットヘッダePH*(*=n)を、イメージセンサ611に送信する。その後、CCI処理部635(Slave)は、CCI処理部635(Master)にScl_enb信号をアサートする。
イメージセンサ611では、CSI2-FS処理部623が、拡張パケットヘッダePH*(*=n)を受信する。CSI2-FS処理部623は、その受信に成功したことを示すACK応答をCCI処理部622に供給し、CCI処理部622は、スレーブ側のSerDes装置612にACK応答を送信する。
その後、上述した処理と同様に、ACK応答がCCI-FSスイッチ655まで供給される。
アプリケーションプロセッサ614のCCI-FSスイッチ655は、ライトデータ(Dara0[7:0])を、マスタ側のSerDes装置613のCCI処理部645に供給し、Scl_enb信号をアサートする。マスタ側のSerDes装置613では、CCI処理部645が、ライトデータをA-PHY処理部641に供給し、A-PHY処理部641は、ライトデータにA-PHYヘッダおよびA-PHYフッタを付加し、スレーブ側のSerDes装置612へA-PHY転送を行う。
マスタ側のSerDes装置613では、CCI処理部645が、ライトデータを受信し、CCI-FSスイッチ655からScl_enb信号がアサートされると、ライトデータをA-PHY処理部641に供給する。その後、CSI2-FS処理部653は、CCI-FSスイッチ655の制御に従って、CCI処理部645にScl_enb信号をネゲートする。A-PHY処理部641は、ライトデータにA-PHYヘッダおよびA-PHYフッタを付加し、スレーブ側のSerDes装置612へA-PHY転送を行う。
スレーブ側のSerDes装置612では、A-PHY処理部631が、A-PHYヘッダおよびA-PHYフッタを除去してライトデータを、CCI処理部635に供給する。CCI処理部635は、Scl_enb信号をネゲートするとともにライトデータをCCI処理部635(Master)に供給する。CCI処理部635(Master)は、ライトデータをイメージセンサ611に送信する。その後、CCI処理部635(Slave)は、CCI処理部635(Master)にScl_enb信号をアサートする。
イメージセンサ611では、CCI処理部622がライトデータを受信してCSI2-FS処理部623に供給し、CSI2-FS処理部623がレジスタ624にライトデータを書き込む。CSI2-FS処理部623は、ライトデータの書き込みに成功したことを示すACK応答をCCI処理部622に供給し、CCI処理部622は、スレーブ側のSerDes装置612にACK応答を送信する。
その後、上述した処理と同様に、ACK応答がCCI-FSスイッチ655まで供給される。
アプリケーションプロセッサ614では、CCI-FS処理部653が、CCI-FSスイッチ655の制御に従って、マスタ側のSerDes装置613へ拡張パケットフッタePF0を送信する。
マスタ側のSerDes装置613では、CCI処理部645が、拡張パケットフッタePF0を受信し、CCI-FSスイッチ655からScl_enb信号がアサートされると、拡張パケットフッタePF0をA-PHY処理部641に供給する。その後、CCI-FSスイッチ655は、CCI処理部645にScl_enb信号をネゲートする。A-PHY処理部641は、拡張パケットフッタePF0にA-PHYヘッダおよびA-PHYフッタを付加し、スレーブ側のSerDes装置612へA-PHY転送を行う。
スレーブ側のSerDes装置612では、A-PHY処理部631が、A-PHYヘッダおよびA-PHYフッタを除去して拡張パケットフッタePF0を、CCI-FS処理部636に供給する。CCI-FS処理部636は、Scl_enb信号をネゲートするとともに拡張パケットフッタePF0をCCI処理部635(Master)に供給する。CCI処理部635(Master)は、拡張パケットフッタePF0を、イメージセンサ611に送信する。その後、CCI処理部635(Slave)は、CCI処理部635(Master)にScl_enb信号をアサートする。
イメージセンサ611では、CSI2-FS処理部623が、拡張パケットフッタePF0を受信する。CSI2-FS処理部623は、その受信に成功したことを示すACK応答をCCI処理部622に供給し、CCI処理部622は、スレーブ側のSerDes装置612にACK応答を送信する。
その後、上述した処理と同様に、ACK応答がCCI-FSスイッチ655まで供給される。
アプリケーションプロセッサ614のCCI-FSスイッチ655は、リピートスタートコマンドおよびリードコマンド(Slave Address+R 8bit)を、マスタ側のSerDes装置613のCCI処理部645に供給し、Scl_enb信号をアサートする。マスタ側のSerDes装置613では、CCI処理部645が、リードコマンドをA-PHY処理部641に供給し、A-PHY処理部641は、リードコマンドにA-PHYヘッダおよびA-PHYフッタを付加し、スレーブ側のSerDes装置612へA-PHY転送を行う。
スレーブ側のSerDes装置612では、A-PHY処理部631が、A-PHYヘッダおよびA-PHYフッタを除去してリードコマンドを、CCI処理部635(Slave)に供給する。CCI処理部635(Slave)は、Scl_enb信号をネゲートするとともにリードコマンドをCCI処理部635(Master)に供給する。CCI処理部635(Master)は、リピートスタートコマンドおよびリードコマンドを、イメージセンサ611に送信する。
イメージセンサ611では、CCI処理部622が、リピートスタートコマンドおよびリードコマンドを受信して、レジスタ624に対してアクセスする。CCI処理部622は、その受信に成功したことを示すACK応答を、スレーブ側のSerDes装置612に送信する。
その後、上述した処理と同様に、ACK応答がCCI-FSスイッチ655まで供給される。
イメージセンサ611では、CCI処理部622が、レジスタ624からリードデータ(Data0[7:0])を読み出して、スレーブ側のSerDes装置612に送信する。
スレーブ側のSerDes装置612では、CCI処理部635(Master)が、リードデータを受信してCCI処理部635(Slave)に供給し、CCI処理部635(Slave)は、リードデータをA-PHY処理部631に供給する。A-PHY処理部631は、リードデータにA-PHYヘッダおよびA-PHYフッタを付加し、マスタ側のSerDes装置613へA-PHY転送を行う。
マスタ側のSerDes装置613では、A-PHY処理部641が、A-PHYヘッダおよびA-PHYフッタを除去してリードデータをCCI処理部645に供給し、CCI処理部645は、アプリケーションプロセッサ614にリードデータを送信する。
アプリケーションプロセッサ614では、CCI処理部652がリードデータを受信して、CCI-FS処理部653を介してCCI-FSスイッチ655に供給する。
CCI-FSスイッチ655は、NACK応答およびストップコマンドをCCI処理部645に送信する。CCI処理部645は、NACK応答およびストップコマンドをA-PHY処理部641に供給する。A-PHY処理部641は、NACK応答およびストップコマンドにA-PHYヘッダおよびA-PHYフッタを付加し、スレーブ側のSerDes装置612へA-PHY転送を行う。
スレーブ側のSerDes装置612では、A-PHY処理部631が、A-PHYヘッダおよびA-PHYフッタを除去してNACK応答およびストップコマンドを、CCI処理部635(Slave)に供給する。CCI処理部635(Slave)は、NACK応答およびストップコマンドをCCI処理部635(Master)に供給し、CCI処理部635(Master)は、NACK応答およびストップコマンドを、イメージセンサ611に送信する。
イメージセンサ611では、CCI処理部622が、NACK応答およびストップコマンドを受信してCSI2-FS処理部623に供給する。
なお、図72で説明したフローにおいて、スタート、リピートスタート、ACK応答、NACK応答、ストップなどのI2Cの制御コマンドは、拡張パケットヘッダePH0のControl Code Indicatorを1に設定し、1ByteのPayloadに割り当てられた各コードを示す。
<イメージセンサおよびアプリケーションプロセッサの詳細な構成例>
図73は、上述した図25に示したイメージセンサ211がCCI-FS処理部1001を備える構成の構成例を示すブロック図である。なお、図73に示すイメージセンサ211では、図25のイメージセンサ211と共通する構成には同一の符号を付し、その説明は省略する。
図73は、上述した図25に示したイメージセンサ211がCCI-FS処理部1001を備える構成の構成例を示すブロック図である。なお、図73に示すイメージセンサ211では、図25のイメージセンサ211と共通する構成には同一の符号を付し、その説明は省略する。
図73に示すように、CCI-FS処理部1001は、CCIスレーブ224およびレジスタ47の間に配置され、CCI-FS処理部1001を挟み込むようにMUX部1002-1および1002-2が配置されている。MUX部1002-1および1002-2は、レジスタ47から供給されるcci_fs_en信号に従って、CCI-FS処理部1001を有効にする場合には、CCI-FS処理部1001を介してデータを送受信する。一方、MUX部1002-1および1002-2は、レジスタ47から供給されるcci_fs_en信号に従って、CCI-FS処理部1001を無効にする場合には、CCI-FS処理部1001を介さずにデータを送受信する。
図74は、上述した図26に示したアプリケーションプロセッサ214がCCI-FS処理部1101を備える構成の構成例を示すブロック図である。なお、図74に示すアプリケーションプロセッサ214では、図26のアプリケーションプロセッサ214と共通する構成には同一の符号を付し、その説明は省略する。
図74に示すように、CCI-FS処理部1101はCCIマスタ254およびレジスタ73の間に配置され、CCI-FS処理部1101を挟み込むようにMUX部1102-1および1102-2が配置されている。MUX部1102-1および1102-2は、レジスタ73から供給されるcci_fs_en信号に従って、CCI-FS処理部1101を有効にする場合には、CCI-FS処理部1101を介してデータを送受信する。一方、MUX部1102-1および1102-2は、レジスタ73から供給されるcci_fs_en信号に従って、CCI-FS処理部1101を無効にする場合には、CCI-FS処理部1101を介さずにデータを送受信する。
なお、拡張パケットヘッダePHの構成における各fieldの実装方法に関しては、以下のような構成を採用してもよい。
・拡張VCは、Safe CCIでは未使用とする。(MIPIでの拡張ヘッダ関連とHeader fieldを合わせるために同様の構成としている)
・拡張DTでは、上位からのバスのコマンド関連の情報に埋め込んでもよいし、レジスタ設定からの信号線の設定の実装構成としてもよい。
・Protocolは、I2Cで記載しているが、I3CのSDRモードでも同様のことが実施することができる。
・拡張VCは、Safe CCIでは未使用とする。(MIPIでの拡張ヘッダ関連とHeader fieldを合わせるために同様の構成としている)
・拡張DTでは、上位からのバスのコマンド関連の情報に埋め込んでもよいし、レジスタ設定からの信号線の設定の実装構成としてもよい。
・Protocolは、I2Cで記載しているが、I3CのSDRモードでも同様のことが実施することができる。
<コンピュータの構成例>
次に、上述した一連の処理(通信方法)は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
次に、上述した一連の処理(通信方法)は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
図75は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
コンピュータにおいて、CPU(Central Processing Unit)1201,ROM(Read Only Memory)1202,RAM(Random Access Memory)1203、およびEEPROM(Electronically Erasable and Programmable Read Only Memory)1204は、バス1205により相互に接続されている。バス1205には、さらに、入出力インタフェース1206が接続されており、入出力インタフェース1206が外部に接続される。
以上のように構成されるコンピュータでは、CPU1201が、例えば、ROM1202およびEEPROM1204に記憶されているプログラムを、バス1205を介してRAM1203にロードして実行することにより、上述した一連の処理が行われる。また、コンピュータ(CPU1201)が実行するプログラムは、ROM1202に予め書き込んでおく他、入出力インタフェース1206を介して外部からEEPROM1204にインストールしたり、更新したりすることができる。
ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。
また、プログラムは、1のコンピュータ(プロセッサ)により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
さらに、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
また、例えば、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
また、例えば、本技術は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
また、例えば、上述したプログラムは、任意の装置において実行することができる。その場合、その装置が、必要な機能(機能ブロック等)を有し、必要な情報を得ることができるようにすればよい。
また、例えば、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。換言するに、1つのステップに含まれる複数の処理を、複数のステップの処理として実行することもできる。逆に、複数のステップとして説明した処理を1つのステップとしてまとめて実行することもできる。
なお、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
なお、本明細書において複数説明した本技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。
<構成の組み合わせ例>
なお、本技術は以下のような構成も取ることができる。
(1)
通信装置であって、
CCI(Camera Control Interface)プロトコルが上位層として実装され、他の通信装置と拡張ヘッダおよび拡張フッタを含むデータを送受信する物理層と、
前記拡張ヘッダに含まれるDesination IDと前記通信装置が有するID(Source ID)とを比較し、前記通信装置へのアクセスか否かの判別を行うCCI-FS処理部と
を備える通信装置。
(2)
前記拡張ヘッダは、前記拡張ヘッダ内のfield値で、ヘッダサイズが可変とされる
上記(1)に記載の通信装置。
(3)
前記拡張ヘッダは、前記拡張ヘッダ内のfield値に、バケット順番を示す情報を含む
上記(1)または(2)に記載の通信装置。
(4)
前記拡張ヘッダは、前記拡張ヘッダ内のfield値に、CCIプロトコル(I2C)を示す情報を含み、その情報を用いてルーティングの処理が行われる
上記(1)から(3)までのいずれかに記載の通信装置。
(5)
前記拡張ヘッダは、前記拡張ヘッダ内のfield値に、CCIプロトコル(I2C)の送信元を示す情報を含み、その情報に基づいて応答処理が行われる
上記(1)から(4)までのいずれかに記載の通信装置。
(6)
前記拡張ヘッダは、前記拡張ヘッダ内のfield値に、データ長を示す情報を含む
上記(1)から(5)までのいずれかに記載の通信装置。
(7)
前記拡張ヘッダは、前記拡張ヘッダ内のfield値に、CCIプロトコル(I2C)のヘッダ長を示す情報を含む
上記(1)から(6)までのいずれかに記載の通信装置。
(8)
前記拡張ヘッダは、前記拡張ヘッダ内のfield値に、CCIプロトコル(I2C)のID情報を含み、その情報に基づいてコマンドの開始、再開、および終了情報の参照を行うことを可能とする
上記(1)から(7)までのいずれかに記載の通信装置。
(9)
前記拡張ヘッダは、前記拡張ヘッダ内のfield値に、CCIプロトコル(I2C)の送信先を示す情報を含み、その情報を基づいてルーティングが行われるとともに、通信経路の参照が行われる
上記(1)から(8)までのいずれかに記載の通信装置。
(10)
前記拡張フッタは、前記拡張フッタ内のfield値により、サイズが可変とされる
上記(1)から(9)までのいずれかに記載の通信装置。
(11)
前記拡張フッタは、セキュリティデータを含む
上記(1)から(10)までのいずれかに記載の通信装置。
(12)
前記セキュリティデータは、ハッシュ計算値である
上記(11)に記載の通信装置。
(13)
前記物理層は、ポイントツーポイントトポロジの非対称上位層を有し、同一の物理配線を、高速データ伝送、制御データ、電力でシェアすることを可能に設計されている
上記(1)から(12)に記載の通信装置。
(14)
前記物理層は、MIPI(Mobile Industry Processor Interface)A-PHYである
上記(13)に記載の通信装置。
(15)
通信装置が、
CCI(Camera Control Interface)プロトコルが上位層として実装される物理層により、他の通信装置と拡張ヘッダおよび拡張フッタを含むデータを送受信することと、
前記拡張ヘッダに含まれるDesination IDと前記通信装置が有するID(Source ID)とを比較し、前記通信装置へのアクセスか否かの判別を行うことと
を含む通信方法。
(16)
通信装置のコンピュータに、
CCI(Camera Control Interface)プロトコルが上位層として実装される物理層により、他の通信装置と拡張ヘッダおよび拡張フッタを含むデータを送受信することと、
前記拡張ヘッダに含まれるDesination IDと前記通信装置が有するID(Source ID)とを比較し、前記通信装置へのアクセスか否かの判別を行うことと
を含む処理を実行させるためのプログラム。
なお、本技術は以下のような構成も取ることができる。
(1)
通信装置であって、
CCI(Camera Control Interface)プロトコルが上位層として実装され、他の通信装置と拡張ヘッダおよび拡張フッタを含むデータを送受信する物理層と、
前記拡張ヘッダに含まれるDesination IDと前記通信装置が有するID(Source ID)とを比較し、前記通信装置へのアクセスか否かの判別を行うCCI-FS処理部と
を備える通信装置。
(2)
前記拡張ヘッダは、前記拡張ヘッダ内のfield値で、ヘッダサイズが可変とされる
上記(1)に記載の通信装置。
(3)
前記拡張ヘッダは、前記拡張ヘッダ内のfield値に、バケット順番を示す情報を含む
上記(1)または(2)に記載の通信装置。
(4)
前記拡張ヘッダは、前記拡張ヘッダ内のfield値に、CCIプロトコル(I2C)を示す情報を含み、その情報を用いてルーティングの処理が行われる
上記(1)から(3)までのいずれかに記載の通信装置。
(5)
前記拡張ヘッダは、前記拡張ヘッダ内のfield値に、CCIプロトコル(I2C)の送信元を示す情報を含み、その情報に基づいて応答処理が行われる
上記(1)から(4)までのいずれかに記載の通信装置。
(6)
前記拡張ヘッダは、前記拡張ヘッダ内のfield値に、データ長を示す情報を含む
上記(1)から(5)までのいずれかに記載の通信装置。
(7)
前記拡張ヘッダは、前記拡張ヘッダ内のfield値に、CCIプロトコル(I2C)のヘッダ長を示す情報を含む
上記(1)から(6)までのいずれかに記載の通信装置。
(8)
前記拡張ヘッダは、前記拡張ヘッダ内のfield値に、CCIプロトコル(I2C)のID情報を含み、その情報に基づいてコマンドの開始、再開、および終了情報の参照を行うことを可能とする
上記(1)から(7)までのいずれかに記載の通信装置。
(9)
前記拡張ヘッダは、前記拡張ヘッダ内のfield値に、CCIプロトコル(I2C)の送信先を示す情報を含み、その情報を基づいてルーティングが行われるとともに、通信経路の参照が行われる
上記(1)から(8)までのいずれかに記載の通信装置。
(10)
前記拡張フッタは、前記拡張フッタ内のfield値により、サイズが可変とされる
上記(1)から(9)までのいずれかに記載の通信装置。
(11)
前記拡張フッタは、セキュリティデータを含む
上記(1)から(10)までのいずれかに記載の通信装置。
(12)
前記セキュリティデータは、ハッシュ計算値である
上記(11)に記載の通信装置。
(13)
前記物理層は、ポイントツーポイントトポロジの非対称上位層を有し、同一の物理配線を、高速データ伝送、制御データ、電力でシェアすることを可能に設計されている
上記(1)から(12)に記載の通信装置。
(14)
前記物理層は、MIPI(Mobile Industry Processor Interface)A-PHYである
上記(13)に記載の通信装置。
(15)
通信装置が、
CCI(Camera Control Interface)プロトコルが上位層として実装される物理層により、他の通信装置と拡張ヘッダおよび拡張フッタを含むデータを送受信することと、
前記拡張ヘッダに含まれるDesination IDと前記通信装置が有するID(Source ID)とを比較し、前記通信装置へのアクセスか否かの判別を行うことと
を含む通信方法。
(16)
通信装置のコンピュータに、
CCI(Camera Control Interface)プロトコルが上位層として実装される物理層により、他の通信装置と拡張ヘッダおよび拡張フッタを含むデータを送受信することと、
前記拡張ヘッダに含まれるDesination IDと前記通信装置が有するID(Source ID)とを比較し、前記通信装置へのアクセスか否かの判別を行うことと
を含む処理を実行させるためのプログラム。
なお、本実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
11 通信システム, 21 イメージセンサ, 22 アプリケーションプロセッサ, 23および24 バス, 25 SerDes装置, 26 SerDes装置, 27 バス, 31 拡張モード対応CSI-2送信回路, 32 拡張モード対応CSI-2受信回路, 33 CSI-2受信回路, 34 SerDes送信回路, 35 SerDes受信回路, 36 CSI-2送信回路, 41 画素, 42 AD変換器, 43 画像処理部, 44 画素CRC演算部, 45 物理層処理部, 46 I2C/I3Cスレーブ, 47 レジスタ, 51 パッキング部, 52 パケットヘッダ生成部, 53 拡張パケットヘッダ生成部, 54 拡張パケットフッタ生成部, 55および56 選択部, 57 CRC演算部, 58 レーン分配部, 59 CCIスレーブ, 60 コントローラ, 71 物理層処理部, 72 I2C/I3Cマスタ, 73 レジスタ, 74 コントローラ, 81 パケットヘッダ検出部, 82 レーン併合部, 83 解釈部, 84および85 選択部, 86 CRC演算部, 87 アンパッキング部, 88 CCIマスタ
Claims (16)
- 通信装置であって、
CCI(Camera Control Interface)プロトコルが上位層として実装され、他の通信装置と拡張ヘッダおよび拡張フッタを含むデータを送受信する物理層と、
前記拡張ヘッダに含まれるDesination IDと前記通信装置が有するID(Source ID)とを比較し、前記通信装置へのアクセスか否かの判別を行うCCI-FS処理部と
を備える通信装置。 - 前記拡張ヘッダは、前記拡張ヘッダ内のfield値で、ヘッダサイズが可変とされる
請求項1に記載の通信装置。 - 前記拡張ヘッダは、前記拡張ヘッダ内のfield値に、バケット順番を示す情報を含む
請求項1に記載の通信装置。 - 前記拡張ヘッダは、前記拡張ヘッダ内のfield値に、CCIプロトコル(I2C)を示す情報を含み、その情報を用いてルーティングの処理が行われる
請求項1に記載の通信装置。 - 前記拡張ヘッダは、前記拡張ヘッダ内のfield値に、CCIプロトコル(I2C)の送信元を示す情報を含み、その情報に基づいて応答処理が行われる
請求項1に記載の通信装置。 - 前記拡張ヘッダは、前記拡張ヘッダ内のfield値に、データ長を示す情報を含む
請求項1に記載の通信装置。 - 前記拡張ヘッダは、前記拡張ヘッダ内のfield値に、CCIプロトコル(I2C)のヘッダ長を示す情報を含む
請求項1に記載の通信装置。 - 前記拡張ヘッダは、前記拡張ヘッダ内のfield値に、CCIプロトコル(I2C)のID情報を含み、そのID情報に基づいてコマンドの開始、再開、および終了情報の参照を行うことを可能とする
請求項1に記載の通信装置。 - 前記拡張ヘッダは、前記拡張ヘッダ内のfield値に、CCIプロトコル(I2C)の送信先を示す情報を含み、その情報に基づいてルーティングが行われるとともに、通信経路の参照が行われる
請求項1に記載の通信装置。 - 前記拡張フッタは、前記拡張フッタ内のfield値により、サイズが可変とされる
請求項1に記載の通信装置。 - 前記拡張フッタは、セキュリティデータを含む
請求項1に記載の通信装置。 - 前記セキュリティデータは、ハッシュ計算値である
請求項11に記載の通信装置。 - 前記物理層は、ポイントツーポイントトポロジの非対称上位層を有し、同一の物理配線を、高速データ伝送、制御データ、電力でシェアすることを可能に設計されている
請求項1に記載の通信装置。 - 前記物理層は、MIPI(Mobile Industry Processor Interface)A-PHYである
請求項13に記載の通信装置。 - 通信装置が、
CCI(Camera Control Interface)プロトコルが上位層として実装される物理層により、他の通信装置と拡張ヘッダおよび拡張フッタを含むデータを送受信することと、
前記拡張ヘッダに含まれるDesination IDと前記通信装置が有するID(Source ID)とを比較し、前記通信装置へのアクセスか否かの判別を行うことと
を含む通信方法。 - 通信装置のコンピュータに、
CCI(Camera Control Interface)プロトコルが上位層として実装される物理層により、他の通信装置と拡張ヘッダおよび拡張フッタを含むデータを送受信することと、
前記拡張ヘッダに含まれるDesination IDと前記通信装置が有するID(Source ID)とを比較し、前記通信装置へのアクセスか否かの判別を行うことと
を含む処理を実行させるためのプログラム。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022535016A JPWO2022009691A1 (ja) | 2020-07-10 | 2021-06-25 | |
KR1020227045328A KR20230034221A (ko) | 2020-07-10 | 2021-06-25 | 통신 장치 및 통신 방법 및 프로그램 |
US17/928,491 US20230205723A1 (en) | 2020-07-10 | 2021-06-25 | Communication device, communication method, and program |
CN202180046928.1A CN115777099A (zh) | 2020-07-10 | 2021-06-25 | 通信设备、通信方法和程序 |
EP21836999.9A EP4180982A4 (en) | 2020-07-10 | 2021-06-25 | COMMUNICATION DEVICE, COMMUNICATION METHOD AND PROGRAM |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020119546 | 2020-07-10 | ||
JP2020-119546 | 2020-07-10 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022009691A1 true WO2022009691A1 (ja) | 2022-01-13 |
Family
ID=79553024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2021/024078 WO2022009691A1 (ja) | 2020-07-10 | 2021-06-25 | 通信装置および通信方法、並びにプログラム |
Country Status (7)
Country | Link |
---|---|
US (1) | US20230205723A1 (ja) |
EP (1) | EP4180982A4 (ja) |
JP (1) | JPWO2022009691A1 (ja) |
KR (1) | KR20230034221A (ja) |
CN (1) | CN115777099A (ja) |
TW (1) | TW202203048A (ja) |
WO (1) | WO2022009691A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115866179A (zh) * | 2023-03-02 | 2023-03-28 | 上海芯浦科技有限公司 | 一种避开视频低级协议解析的桥片视频传输系统及方法 |
CN115866173A (zh) * | 2023-02-20 | 2023-03-28 | 上海芯浦科技有限公司 | 一种视频传输芯片 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI806736B (zh) * | 2022-03-01 | 2023-06-21 | 威盛電子股份有限公司 | 橋接裝置及在匯流排之間傳遞資料的方法 |
US11924579B1 (en) * | 2023-09-26 | 2024-03-05 | N.S. International, Ltd. | FPD-link IV video generator system |
CN118032176B (zh) * | 2024-04-10 | 2024-07-02 | 国网山东省电力公司潍坊供电公司 | 一种巡检机器人用触觉传感器、感知方法及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000134229A (ja) * | 1998-10-27 | 2000-05-12 | Seiko Epson Corp | データ転送制御装置及び電子機器 |
JP2002175269A (ja) | 2000-09-29 | 2002-06-21 | Lucent Technol Inc | I2cバス用拡張ブリッジ装置および方法 |
US20060184976A1 (en) * | 2005-02-16 | 2006-08-17 | Samsung Electronics Co.; Ltd | Optical network for bi-directional wireless communication |
JP2017211864A (ja) | 2016-05-26 | 2017-11-30 | ソニーセミコンダクタソリューションズ株式会社 | 処理装置、画像センサ、およびシステム |
JP2018522484A (ja) * | 2015-07-17 | 2018-08-09 | クアルコム,インコーポレイテッド | 光媒体のための低電力モード信号ブリッジ |
WO2020129685A1 (ja) * | 2018-12-20 | 2020-06-25 | ソニーセミコンダクタソリューションズ株式会社 | 通信装置および通信方法、並びにプログラム |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005167965A (ja) * | 2003-11-12 | 2005-06-23 | Matsushita Electric Ind Co Ltd | パケット処理方法および装置 |
US8077867B2 (en) * | 2007-01-15 | 2011-12-13 | Panasonic Corporation | Confidential information processing apparatus, confidential information processing device, and confidential information processing method |
US8711771B2 (en) * | 2009-03-03 | 2014-04-29 | Qualcomm Incorporated | Scalable header extension |
US11163001B2 (en) * | 2018-04-04 | 2021-11-02 | Intel Corporation | Reduction of skew between positive and negative conductors carrying a differential pair of signals |
US11427193B2 (en) * | 2020-01-22 | 2022-08-30 | Nodar Inc. | Methods and systems for providing depth maps with confidence estimates |
US11789891B2 (en) * | 2020-04-10 | 2023-10-17 | Intel Corporation | Multi-device read protocol using a single device group read command |
US11809998B2 (en) * | 2020-05-20 | 2023-11-07 | Qualcomm Incorporated | Maintaining fixed sizes for target objects in frames |
US20210149441A1 (en) * | 2020-08-18 | 2021-05-20 | Marko Bartscherer | Lid controller hub |
US11789565B2 (en) * | 2020-08-18 | 2023-10-17 | Intel Corporation | Lid controller hub architecture for improved touch experiences |
US20220006883A1 (en) * | 2021-09-16 | 2022-01-06 | Intel Corporation | System, apparatus, and method for packet-based network transport including a unified adapter layer |
US20220114985A1 (en) * | 2021-12-20 | 2022-04-14 | Intel Corporation | Technologies for selective frame update on a display |
US20220114126A1 (en) * | 2021-12-20 | 2022-04-14 | Intel Corporation | Technologies for a controller hub with a usb camera |
US20220114946A1 (en) * | 2021-12-23 | 2022-04-14 | Intel Corporation | Technologies for low-power selective frame update on a display |
-
2021
- 2021-06-04 TW TW110120489A patent/TW202203048A/zh unknown
- 2021-06-25 WO PCT/JP2021/024078 patent/WO2022009691A1/ja unknown
- 2021-06-25 CN CN202180046928.1A patent/CN115777099A/zh active Pending
- 2021-06-25 JP JP2022535016A patent/JPWO2022009691A1/ja active Pending
- 2021-06-25 KR KR1020227045328A patent/KR20230034221A/ko active Search and Examination
- 2021-06-25 EP EP21836999.9A patent/EP4180982A4/en active Pending
- 2021-06-25 US US17/928,491 patent/US20230205723A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000134229A (ja) * | 1998-10-27 | 2000-05-12 | Seiko Epson Corp | データ転送制御装置及び電子機器 |
JP2002175269A (ja) | 2000-09-29 | 2002-06-21 | Lucent Technol Inc | I2cバス用拡張ブリッジ装置および方法 |
US20060184976A1 (en) * | 2005-02-16 | 2006-08-17 | Samsung Electronics Co.; Ltd | Optical network for bi-directional wireless communication |
JP2018522484A (ja) * | 2015-07-17 | 2018-08-09 | クアルコム,インコーポレイテッド | 光媒体のための低電力モード信号ブリッジ |
JP2017211864A (ja) | 2016-05-26 | 2017-11-30 | ソニーセミコンダクタソリューションズ株式会社 | 処理装置、画像センサ、およびシステム |
WO2020129685A1 (ja) * | 2018-12-20 | 2020-06-25 | ソニーセミコンダクタソリューションズ株式会社 | 通信装置および通信方法、並びにプログラム |
Non-Patent Citations (1)
Title |
---|
See also references of EP4180982A4 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115866173A (zh) * | 2023-02-20 | 2023-03-28 | 上海芯浦科技有限公司 | 一种视频传输芯片 |
CN115866179A (zh) * | 2023-03-02 | 2023-03-28 | 上海芯浦科技有限公司 | 一种避开视频低级协议解析的桥片视频传输系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
TW202203048A (zh) | 2022-01-16 |
JPWO2022009691A1 (ja) | 2022-01-13 |
EP4180982A1 (en) | 2023-05-17 |
KR20230034221A (ko) | 2023-03-09 |
CN115777099A (zh) | 2023-03-10 |
US20230205723A1 (en) | 2023-06-29 |
EP4180982A4 (en) | 2023-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022009691A1 (ja) | 通信装置および通信方法、並びにプログラム | |
JP7494126B2 (ja) | 通信装置および通信方法、並びにプログラム | |
KR101454948B1 (ko) | 동기식 직렬 인터페이스 nand를 위한 설정 액세스 및 변경을 위한 시스템 및 방법 | |
JP5374268B2 (ja) | 情報処理装置 | |
US20110223955A1 (en) | Communication network system having high-ranking network and low-ranking networks, interchange terminal connecting high-ranking network and low-ranking network, microcomputer controlling connection between transmission line of low-ranking network and transmission line of high-ranking network, and communication transmitter-receiver connected with transmission line of low-ranking network and transmission line of high-ranking network | |
WO2020166378A1 (ja) | 通信装置および通信方法、並びにプログラム | |
CN110447020B (zh) | 通信装置、通信方法、程序和通信系统 | |
WO2021215269A1 (ja) | 送信装置、受信装置、および通信システム | |
CN114205530B (zh) | 一种面向车载摄像头模组的自适应控制方法及系统 | |
JP2003296267A (ja) | バスシステム及びバスシステムを含む情報処理システム | |
US20230222074A1 (en) | Transmission device, reception device, and communication system | |
US20230145915A1 (en) | Communication device and communication system | |
US11831739B2 (en) | Communication apparatus and communication system | |
KR101637998B1 (ko) | 에스피아이 통신 장치 및 방법 | |
US20230032989A1 (en) | Serial data communication with in-frame response | |
CN110750478A (zh) | 一种多串口通信方法及系统 | |
JP7570930B2 (ja) | 通信装置および通信方法、並びにプログラム | |
CN112702377A (zh) | 一种数据流转换系统 | |
KR20150071925A (ko) | 중앙처리장치와 주기억장치의 인터페이스 장치 및 방법 | |
JP7551913B2 (ja) | インター集積回路ベースの通信方法および装置 | |
KR20240136076A (ko) | Mipi a-phy 기반 차량의 카메라의 초기화를 위한 장치 및 방법 |
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: 21836999 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2022535016 Country of ref document: JP Kind code of ref document: A |
|
ENP | Entry into the national phase |
Ref document number: 2021836999 Country of ref document: EP Effective date: 20230210 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |