Understanding MIPI CSI-2 : Protocol and data format

Posted 2009/05/25 15:38 by kdsoo

MIPI is representing “Mobile Industry Processor Interface” and “Camera Serial Interface 2” for CSI-2

Physical layer

Looking into the physical layer, we can have several serial interfaces for receiver I/O (but I’m not sure how many up to). From the device point of view, the CSI-2 interfacde comprises six differential input signals representing three lanes (serial clock and one or two serial data like DN, DP).

operating modes

  • HS mode : High-speed mode
  • LP mode : Low-power mode
  • ULPM : Ultra-low power mode used between two transmissions
  • Off mode : Lane is off

 

Lane merger

Merge the incoming serial stream into a byte stream and the order of the lanes at the CSI-2 receiver core depends on the lane configuration.

The lane merger can merge tow lanes into a single byte stream, and the number of lanes and their configuration can be changed only in ULPM or whe all data lanes are in off mode. The byte stream always starts from lane 1.

 

Protocol layer

<ST><SP><ET>[ULPM]<ST><PH| DATA |PF><ET>[ULPM]<ST><PH| DATA |PH><ET>

ST : Start of Transmission
ET : End of Transmission
PH : Packet Header
PF : Packet Footer
ULPM : Ultra-Low Power Mode
<SP> : Short Packet
<PH| DATA |PF> : Long Packet

Short Packet

A short packet is identified by data types 0x00-0x0F, and can be used for frame or line sync also. 32 bit Short packet structure is like following

[Data ID | Short packet data filed | ECC] : 32bit

  • For frame synchronization data types : short packet data filed is the frame number
  • For line synchronization data types : short packet data field is the line number
  • For generic short packet data types : content of data field is user defined

 

Long Packet

A long packet is identified by data types 0x10-0x37

32bit Packet Header (PH), Packet data, 16bit Packet fotter (PF)
[DATA ID(8bit) | Word count (WC 16bit) | ECC (8bit)] [data0 (8bit) |…| data WC-1] [Checksum (16bit)]

  • Packet Header
    • Data ID : virtual channel identifier and data type information
    • Word count : Number of data words in thepacket data (8bit word)
    • ECC : ECC for data ID and word count
  • Packet Data : Application-specific payload
  • Packet Footer : 16bit CRC for packet data

Data identifier

  • VC (virtual channel) : 2 MSB
  • DT (data type) : 6 LSB

 

Synchronization codes

  • FSC (0x0) : Indentifies the start of a new frame (Mandatory)
  • LSC (0x1) : Indentifies the start of a new line; received for every line (Mandatory)
  • LEC (0x2) : Indentifies the end of a line; received for every line (Optional)
  • FEC (0x3) : Identifies the end of the last line and the end of the current frame (Optional)
  • Reserved (0x4-0x7) : not used

 

Generic short packet codes

Synchronization code value between 0x8-0xF.

Not processed by camera H/W, and stored in a register without the ECC.

Must be handled by S/W

 

Generic long packet codes

  • null packets : Code value 0x10  (can be received at any time and discarded by the protocol engine)
  • blanking packets : Code value 0x11 (can be received at any time and discarded by the protocol engine)
  • JPEG packets : Code value 0x12. 8bit non-image data
  • reserved : 0x13-0x17
이올린에 북마크하기(0) 이올린에 추천하기(0)
크리에이티브 커먼즈 라이선스
Creative Commons License

Tag : , ,

« PREV : 1 : ... 19 : 20 : 21 : 22 : 23 : 24 : 25 : 26 : 27 : ... 692 : NEXT »