e-CAM313 CUMI031C MOD MCU Protocol App Note Rev 1 2
e-CAM313 CUMI031C MOD MCU Protocol App Note Rev 1 2
CAM313_CUMI031C
_MOD
Version 1.2
e-con Systems
11/8/2023
Disclaimer
INTRODUCTION TO E-CAM313_CUMI031C_MOD 4
DESCRIPTION 4
MAXIMUM FRAME RATE SUPPORTED 4
STATUS COMMAND 15
CONFIGURE COMMAND 15
QUERY-REPLY COMMAND 17
CONTROLS OF E-CAM313_CUMI031C_MOD 19
BRIGHTNESS CONTROL 19
SETTING (WRITE) BRIGHTNESS VALUE 20
GETTING (READ) BRIGHTNESS VALUE 20
CONTRAST CONTROL 20
WHAT'S NEXT? 24
GLOSSARY 25
SUPPORT 26
This document is intended for developers who may try to integrate e-con Systems e-
CAM313_CUMI031C_MOD with any host system other than what is supported by e-
con Systems directly. This also provides a detailed understanding of the I2C based
protocol used by the host application processor, for communicating with the
microcontroller provided as part of the e-con Systems e-CAM313_CUMI031C_MOD
camera.
Description
e-CAM313_CUMI031C_MOD is a small, low-power, high performance 3.01 MP
camera module with a built-in ISP. The camera module is based on an automotive-
grade 1/2.42" ISX031-AAQV-W CMOS image sensor from Sony® which is specially
designed to work in automotive grade temperature range of - 40°C to +80°C
ambient. The ISX031-AAQV-W is a 1/2.42" optical form-factor, CMOS image sensor
with an electronic rolling shutter. It can stream 1920 x 1536 and 1920 x 1080 at 30
and 60 fps in uncompressed UYVY format.
The camera module contains on-board microcontroller. The microcontroller will act
as a mediator between image sensor and processor to tune/set the camera
parameters. The microcontroller can be accessed through standard I2C interface and
some GPIOs terminated to control microcontroller firmware update mode.
Note: This MCU Firmware Version is subject to get updated in the future.
The basic operation for initiating the stream sequence is explained below:
• Host processor refers to the application processor, for example, NVIDIA® Jetson
Orin™ or FX3 processors will act as I2C Master throughout this protocol.
• MCU acts as I2C Slave in this entire protocol.
• The I2C Master always initializes every transaction.
• Length of the byte sequence between the MCU and host processor is either
constant or pre-negotiated for each transaction.
The checksum is calculated by performing bitwise XOR of the payload data which is
not same as the traditional checksum.
The following table lists the legend and its description used in the flowchart.
Legend Description
Start or Stop
Process Block
Decision Block
1. Follow the steps of Streaming Stop Sequence section if the streaming is already
started.
2. Follow the steps of Streaming Start Sequence section with the desired stream
configuration.
• Status Command
• Configure Command
• Query-Reply Command
Query
S.NO Command Description Command
ID (Hex)
This command is used to get the
1 Get MCU F/W Version 0x00
actual FW version in the MCU.
This command is used to
initialize the camera by
changing state of hardware pins
2 Init Camera 0x04
and writing appropriate settings
to the camera. This command
returns immediately.
This command is used to query
the status of any executed
command. Additionally, it will
3 Get Command Status return the current status of 0x05
camera (Idle, Busy, and so on)
and the hardware specific
errors with respect to MCU.
This command is used to de-
initialize the camera by
4 De-Init Camera changing the state of hardware 0x06
pins and writing the necessary
configuration settings.
This command is used to allow
5 Stream ON camera to exit from standby 0x07
mode and returns immediately.
This command is used to allow
6 Stream OFF camera to enter into standby 0x08
mode and returns immediately.
This command is used to set the
format, width, height and frame
7 Configure Stream rate in the camera. The valid 0x09
values are specified by Get
Stream Info command.
This command is used to get the
value of any control
8 Get Control Value 0x10
enumerated by Get Control Info
command.
This command is used to set the
value of any control
9 Set Control Value 0x11
enumerated by Get Control Info
command.
Status Command
The status command is used to query the status of MCU using the Get Command
Status command. This command involves three transactions where the reply length
from MCU is always constant.
Note:
Configure Command
The configure command is used for starting an operation in the sensor through
MCU. For example, Stream Config, Set Control Config, Init Cam and so on. This
command always returns immediately, while MCU executes the request in the
background. The status of the last issued command can be queried through the Get
Command Status command.
Transaction Byte
0x00 0x00 0x00 0x00 0x00 0xXX, 0xXX
1 (Host Payload 1
(Based on
Processor to Length
Byte Control Index)
MCU) 0x00 0x00 0x00 0x00 0x0E
2
0xXX (Based
Checksum 0x00 0x00 0x00 0x00 0x0E on Control
Index)
Communication
0x43 0x43 0x43 0x43 0x43 0x43
ID
Command ID 0x04 0x06 0x07 0x08 0x09 0x11
14-byte
data
(Based on 0xXX (Based
Format on Control
Transaction
Index). For Index). For
2 (Host Payload - - - -
more more details,
Processor to
details, please refer
MCU)
please to Table 13
refer to
Table 11
0xXX
0xXX (Based
(Based on
Checksum - - - - on Control
Format
Type)
Index)
Note: Please traverse the above table from top to bottom.
Query-Reply Command
The query-reply command is used to query information such as streaming formats,
controls and so on, from MCU. This command uses four transactions between the
host and MCU as shown below.
Get Get
Transaction Packet Firmware Control
Version Value
Communication
0x43 0x43
Transaction 1 ID
(Host Command ID 0x00 0x10
Processor to Payload Byte 1 0x00 0x00
MCU) Length Byte 2 0x00 0x02
Checksum 0x00 0x02
Communication
0x43 0x43
ID
Transaction 2
Command ID 0x00 0x10
(Host
0xXX, 0xXX
Processor to
Payload Data - (Control
MCU)
Index)
Checksum - 0x00
Communication
0x43 0x43
ID
Transaction 3 Command ID 0x00 0x10
(MCU to Host Reply Byte 1 0x00 0x00
Processor) Length Byte 2 0x20 0x09
Checksum 0x20 0x09
Return Code 0x00 0x00
Communication
0x43 0x43
ID
Command ID 0x00 0x10
Based on
Transaction 4 Firmware Control
(MCU to Host Reply Data version - Index.
Processor) 32-bytes Refer to
Table 13
Based on Based on
Checksum
reply data reply data
Return Code 0x00 0x00
Note: Please traverse the above table from top to bottom.
• Brightness
• Contrast
• Saturation
• Hue
• Sharpness
• Auto Exposure
• Frame Sync
The following table lists the get/set control payload data of e-
CAM313_CUMI031C_MOD.
Payload
Control Index
Control Name Control
(2B) Control ID (4B) Current Value (4B)
Type (1B)
Brightness 0x00 0x00 0x00 0x98 0x09 0x00 0x01 0xXX 0xXX 0xXX 0xXX
Contrast 0x00 0x01 0x00 0x98 0x09 0x01 0x01 0xXX 0xXX 0xXX 0xXX
Saturation 0x00 0x02 0x00 0x98 0x09 0x02 0x01 0xXX 0xXX 0xXX 0xXX
Hue 0x00 0x03 0x00 0x98 0x09 0x03 0x01 0xXX 0xXX 0xXX 0xXX
Sharpness 0x00 0x09 0x00 0x98 0x09 0x1B 0x01 0xXX 0xXX 0xXX 0xXX
Auto Exposure 0x00 0x0A 0x00 0x9A 0x09 0x01 0x01 0xXX 0xXX 0xXX 0xXX
Exposure time
0x00 0x0B 0x00 0x9A 0x09 0x02 0x01 0xXX 0xXX 0xXX 0xXX
absolute
Frame Sync 0x00 0x15 0x00 0x9A 0x09 0x2B 0x01 0xXX 0xXX 0xXX 0xXX
Note: Please traverse the above table from left to right.
Brightness Control
The brightness values can be changed from a minimum value of -17 to 16. This
control increases the low light performance of e-CAM313_CUMI031C_MOD. The
default value is 0.
Contrast Control
The contrast values can be changed from a minimum value of 0 to 255. Increasing
the value of contrast control increases the luminance of e-
CAM313_CUMI031C_MOD. The default value is 128.
Saturation Control
The saturation values can be changed from a minimum value of 0 to 255. Increasing
the value of saturation control increases the intensity of the color of e-
CAM313_CUMI031C_MOD. The default value is 128.
Hue Control
The hue values can be changed from a minimum value of 0 to 255. Increasing the
value of hue control increases the intensity of the color of e-
CAM313_CUMI031C_MOD. The default value is 2.
Sharpness Control
The sharpness values can be changed from a minimum value of 0 to 255. This
control increases the image clarity of e-CAM313_CUMI031C_MOD. The default
value is 64.
When exposure time is changed, the frame rate varies accordingly. The values range
from 1500 to 133000. The default value is 33ms.
Creating a Ticket
If you need to create a ticket for any type of issue, please visit the ticketing page on
our website - https://www.e-consystems.com/create-ticket.asp
RMA
To know about our Return Material Authorization (RMA) policy, please visit the RMA
Policy page on our website - https://www.e-consystems.com/RMA-Policy.asp
To know about our General Product Warranty Terms, please visit the General
Warranty Terms page on our website - https://www.e-
consystems.com/warranty.asp