2025-07-15 3:49 PM
I am using the STSW-IMG501 software v1.1.1 with the STEVAL-EVK-U0I connected to a STEVAL-56G3MAI (the S-board evaluation module for the VD56G3). In the EVK software, I am using the built-in script generation tool to upload different register configuration sets and test them. However, I find that uploading the following script will cause the SW to fail to read a frame sequence:
$SCRIPT
SetBank(0x20);
WriteAutoIncrement(0x0220, 0x00, 0x1b, 0xb7, 0x00); //SENSOR_SETTINGS.EXT_CLOCK = 12000000
WriteAutoIncrement(0x0224, 0x02); //SENSOR_SETTINGS.CLK_PLL_PREDIV = 2
WriteAutoIncrement(0x0226, 0x86); //SENSOR_SETTINGS.CLK_SYS_PLL_MULT = 134
WriteAutoIncrement(0x0227, 0x05); //SENSOR_SETTINGS.VT_CLK_DIV = 5
WriteAutoIncrement(0x0300, 0xd4, 0x04); //STREAM_STATICS.LINE_LENGTH = 1236
WriteAutoIncrement(0x0304, 0x00, 0x00); //STREAM_STATICS.X_START = 0
WriteAutoIncrement(0x0306, 0x63, 0x04); //STREAM_STATICS.X_END = 1124
WriteAutoIncrement(0x030a, 0x08); //STREAM_STATICS.FORMAT_CTRL = RAW8
WriteAutoIncrement(0x0312, 0xF0, 0x03); //STREAM_STATICS.OIF_CSI_BITRATE = 1008
WriteAutoIncrement(0x0458, 0xf0, 0x10); //STREAM_CTX0.FRAME_LENGTH = 4336->30fps
WriteAutoIncrement(0x044c, 0x00); //STREAM_CTX0.EXPOSURE_MODE = 0
//1120x480
WriteAutoIncrement(0x045a, 0xba, 0x01); //STREAM_CTX0.Y_START = 442
WriteAutoIncrement(0x045c, 0x99, 0x03); //STREAM_CTX0.Y_END = 921
WriteAutoIncrement(0x045e, 0x02, 0x00); //STREAM_CTX0.OUT_ROI_X_START = 2
WriteAutoIncrement(0x0460, 0x61, 0x04); //STREAM_CTX0.OUT_ROI_X_END = 1121
WriteAutoIncrement(0x0462, 0x00, 0x00); //STREAM_CTX0.OUT_ROI_Y_START = 0
WriteAutoIncrement(0x0464, 0xdf, 0x01); //STREAM_CTX0.OUT_ROI_Y_END = 479
If the ROI parameters are changed from 1120x480 to the full resolution (1120x1360), it works fine.
//1120x1360
WriteAutoIncrement(0x045a, 0x00, 0x00); //STREAM_CTX0.Y_START
WriteAutoIncrement(0x045c, 0x53, 0x05); //STREAM_CTX0.Y_END
WriteAutoIncrement(0x045e, 0x02, 0x00); //STREAM_CTX0.OUT_ROI_X_START
WriteAutoIncrement(0x0460, 0x61, 0x04); //STREAM_CTX0.OUT_ROI_X_END
WriteAutoIncrement(0x0462, 0x02, 0x00); //STREAM_CTX0.OUT_ROI_Y_START
WriteAutoIncrement(0x0464, 0x51, 0x05); //STREAM_CTX0.OUT_ROI_Y_END
The SW only fails at 1120x480 if it is the first script uploaded after powering on the sensor and booting up the SW. If I instead start at 1120x1360, run that for a little bit, then switch over to 1120x480, it works great. Because of this, I don't think there is anything wrong with using that specific resolution when selecting a ROI, just when starting with that resolution after powering on.
Is there a reason that this happens? I am using the evaluation platform to verify different register configurations before uploading them to a custom built sensor PCB, but am concerned that there is something wrong with starting at specific resolutions when using the sensor. Is this a bug in the SW, or will the image sensor itself also fail to stream data when configured at different resolutions after power-up?
2025-07-16 1:48 AM
Hello astral,
I have tried the script on my side is ok before launch any script please be sure to press button "reboot",
on the script there is no boot sequence only sensor configuration
Could you please try?
Regards