Rolling shutter control method
By counting the number of exposure lines and readout lines in real time in the CMOS image sensor and switching the rolling shutter state, the problem of excessive power consumption in traditional methods is solved, and efficient power consumption management and stable image capture under high frame rate are achieved.
Patent Information
- Application Number
- CN202511671600.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-14
- Publication Date
- 2026-02-10
AI Technical Summary
Traditional rolling shutter control methods lead to a sharp increase in system power consumption in large-scale CMOS image sensors, making it difficult to meet the requirements of high frame rate and low power consumption.
By counting the number of exposure lines and readout lines in real time, switching the state of the rolling shutter, and putting modules unrelated to the current state into a non-working mode, the workflow is finely divided and the state is automatically switched. Parallel processing such as simultaneous exposure and readout and exposure of the next frame while the current frame is readout is supported.
It significantly reduces the overall power consumption of the system during operation and standby, improves the timing efficiency of high frame rate continuous shooting, enhances the flexibility and stability of the system, and supports precise synchronization in different application scenarios.
Smart Images

Figure CN121509835A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of image sensor, in particular to a rolling shutter control method. BACKGROUND
[0002] The CMOS image sensor system includes pixel array, analog readout circuit and digital control circuit and other modules, and the rolling shutter is a control method that the pixel array in the CMOS image sensor system is exposed row by row and cooperates with each module in the system. With the continuous expansion of the pixel array scale (for example, reaching millions or even tens of millions of pixels) and the continuous improvement of the frame frequency demand (for example, hundreds of frames per second or even higher), the traditional rolling shutter control method exposes significant technical bottlenecks, especially the sharp increase in system power consumption. SUMMARY
[0003] In view of the above problems of the prior art, the technical problem to be solved by the present application is to provide a rolling shutter control method capable of effectively reducing the energy consumption of the image sensor in the rolling shutter working mode.
[0004] To solve the above technical problems, one technical solution of the present application is to provide a rolling shutter control method, which comprises the following steps: counting the number of exposure rows and the number of readout rows in real time when the pixel array is exposed and read out, obtaining exposure count value and readout count value, switching the state of the rolling shutter according to the exposure count value and the readout count value, and making the modules in the control system that are irrelevant to the state in the non-working mode in each state of the rolling shutter.
[0005] Further, the state of the rolling shutter includes a standby state and a plurality of working states, and the control system of the rolling shutter includes a digital circuit module, a power consumption control module, a clock generation module, a row selection module, a pixel array module, an analog circuit module, an interface module and an SPI slave module. In the standby state, the digital circuit module, the power consumption control module, the clock control module and the SPI slave module are in the working mode, and the remaining modules are in the non-working mode; in each working state, the digital circuit module, the power consumption control module, the clock control module and the SPI slave module are in the working mode, and the working mode of the row selection module, the pixel array module, the analog circuit module and the interface module is determined according to the specific working state.
[0006] Further, the plurality of working states include an exposure working state, an exposure-while-reading state, a readout working state, a readout waiting state and a next frame exposure state during the readout of the current frame.
[0007] Further, in the exposure working state and the readout waiting state, the power consumption control module opens the power supply signal of the pixel array module, closes the power supply of the analog circuit module and the interface module, the pixel array module is in working mode, and the analog circuit module and the interface module are in non-working mode. In the edge exposure and readout state, the readout working state and the next frame data exposure state during the current frame data readout, the power consumption control module opens the power supply of the pixel array module, the analog circuit module and the interface module, the clock generation module opens the clock signal of the analog circuit module and the interface module, and the pixel array module, the analog circuit module and the interface module are all in working mode.
[0008] Further, the step of switching the state of the rolling shutter according to the exposure count value and the readout count value comprises the following steps: After receiving the first request signal, the rolling shutter is switched from the standby state to the exposure working state, and the exposure row number is counted from 1 and incremented. The rolling shutter is switched to the edge exposure and readout state or the readout waiting state according to the exposure count value, the preset exposure time and the number of rows of the pixel array. When the exposure count value, the readout count value, the preset exposure time and the number of rows of the pixel array meet the preset condition, the rolling shutter is switched to the readout working state, and the rolling shutter is switched back to the standby state until all rows of the pixel array have completed data readout.
[0009] Further, the step of switching the state of the rolling shutter according to the exposure count value, the preset exposure time and the number of rows of the pixel array comprises the following sub-steps: When the preset exposure time is less than or equal to the number of rows of the pixel array, and the exposure count value is greater than the preset exposure time, the rolling shutter is switched to the edge exposure and readout state, and the readout row number is counted from 1 and incremented. When the preset exposure time is greater than the number of rows of the pixel array, and the exposure count value is greater than the number of rows of the pixel array, the rolling shutter is switched to the readout waiting state.
[0010] Further, the step of switching the state of the rolling shutter according to the exposure count value, the preset exposure time and the number of rows of the pixel array comprises the following sub-steps: When the preset exposure time is less than or equal to the number of rows of the pixel array, the exposure count value is greater than the number of rows of the pixel array, and the readout count value is greater than the difference between the number of rows of the pixel array and the preset exposure time, the rolling shutter is switched to the readout working state, and the readout row number is continued to be counted. When the preset exposure time is greater than the number of rows in the pixel array and the exposure count value is greater than the preset exposure time, the rolling shutter is switched to readout mode, and the number of rows read out is incremented from 1.
[0011] Furthermore, the exposure modes of the rolling shutter include an internal exposure mode and an external exposure mode. In the internal exposure mode, the preset exposure time is set by the internal exposure register, and the first request signal is a frame request signal. In external exposure mode, the preset exposure time is set by the time interval between the external exposure request signal and the frame request signal. The first request signal is the external exposure request signal. When the rising edge pulse of the frame request signal is received, the exposure count value is equal to the exposure time.
[0012] Furthermore, when the number of frames requested for exposure and readout is greater than one frame, after switching the rolling shutter to simultaneous exposure and readout state or readout waiting state based on the exposure count value, the preset exposure time, and the number of rows in the pixel array, the following steps are also included: When the exposure count, readout count, preset exposure time, and number of rows in the pixel array meet the preset conditions, the rolling shutter is switched to the state of reading out the current frame and then exposing the next frame. Return to the steps of switching the rolling shutter to simultaneous exposure and readout or readout wait state based on the exposure count value, the preset exposure time, and the number of rows in the pixel array, until no further exposure of the next frame is required.
[0013] Furthermore, when the exposure count value, readout count value, preset exposure time, and number of rows in the pixel array meet preset conditions, the step of switching the rolling shutter to the state of reading out the current frame and exposing the next frame includes the following sub-steps: When the preset exposure time is less than or equal to the number of rows in the pixel array, if the exposure count value is greater than the number of rows in the pixel array and the readout count value is greater than the difference between the number of rows in the pixel array and the preset exposure time, the rolling shutter switches to the state of reading out the current frame and then exposing the next frame. The number of exposure rows starts counting from 1. When the preset exposure time is greater than the number of rows in the pixel array, if the exposure count value is greater than the preset exposure time, the rolling shutter switches to the state of reading out the current frame and then proceeding to the next frame exposure state. The number of exposure rows starts to increase from 1, and the number of readout rows starts to increase from 1.
[0014] The rolling shutter control method of the present invention has at least the following beneficial effects: The present invention precisely divides the rolling shutter workflow into multiple states and automatically switches between states based on exposure count and readout count values. It accurately controls the operation of each module in different states, keeping modules unrelated to the current state in a non-working mode, fundamentally reducing the overall energy consumption of the system during operation and standby. By supporting parallel processing states such as simultaneous exposure and readout, and exposure of the next frame while the current frame is readout, it achieves efficient pipelined operation of exposure and readout, significantly shortening the time interval between frames and improving the timing efficiency during high frame rate continuous shooting, providing an effective path to solve the problem of short exposure response time under large arrays. Simultaneously, it supports internal and external exposure, enhancing the system's flexibility in responding to different application scenarios and facilitating precise synchronization with external events. Through the exposure counter and readout counter integrated into the digital circuit module to drive state switching, it achieves fully automated control, reducing reliance on external intervention and improving the stability and reliability of the system. Attached Figure Description
[0015] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings: Figure 1 This is an architecture diagram of one implementation of the control system for a rolling shutter.
[0016] Figure 2 A flowchart of one implementation method for switching the state of the rolling shutter.
[0017] Figure 3 A flowchart of another implementation method for switching the state of the rolling shutter.
[0018] Figure 4 This is a timing diagram for the operation of the single-frame request mode, which is exposed in a short period of time.
[0019] Figure 5 This is a timing diagram for the single-frame request mode that is exposed over a long period of time.
[0020] Figure 6 This is a timing diagram for the multi-frame request mode that is exposed in a short period of time.
[0021] Figure 7 This is a timing diagram for the multi-frame request mode that requires exposure over a long period of time.
[0022] Figure 8 This is a timing diagram for the short-time out-of-expose single-frame request mode.
[0023] Figure 9 This is the timing diagram for the long-duration external exposure single-frame request mode. Detailed Implementation
[0024] The invention will now be further described with reference to the accompanying drawings.
[0025] In existing technologies, to ensure the timing integrity of high-speed readout, the entire CMOS image sensor system typically operates at full power throughout its operating cycle. Key functional modules such as the pixel array, analog readout circuit, and interface circuit are continuously powered and clock-driven throughout the image acquisition process. While this "always-on" operating mode simplifies control logic, it leads to significant power consumption waste. Therefore, this solution divides the actual operating process into states and dynamically adjusts the operation of each module based on different states, thereby reducing energy consumption.
[0026] One embodiment of the rolling shutter control method of the present invention is as follows: During exposure and readout of the pixel array, the number of exposure rows and the number of readout rows are counted in real time to obtain exposure count values and readout count values. The state of the rolling shutter is switched according to the exposure count values and readout count values, and in each state of the rolling shutter, modules in the control system unrelated to that state are put into a non-working mode. Specifically, the states of the rolling shutter control system include a standby state (IDLE) and multiple working states. The multiple working states include an exposure working state (EXP_ONLY), an exposure-readout state (EXP_RO), a readout working state (RO_ONLY), a readout waiting state (RO_IDLE), and a state where the next frame is exposed while the current frame is readout (RO_EXP_2nd).
[0027] Please see Figure 1The control system of the rolling shutter includes a digital circuit module, a power consumption control module, a clock generation module, a row selection module, a pixel array module, an analog circuit module, an interface module, and an SPI slave module. This embodiment is applied to a CMOS image sensor; therefore, the pixel array module is a CMOS pixel array module, and all pixel array modules mentioned below refer to CMOS pixel array modules. The digital circuit module integrates an exposure counter and a readout counter, used to count the number of exposed rows and readout rows in real time, obtaining the exposure count value and readout count value to determine the state switching timing. The row selection module is used to select the row pixels in the pixel array module under the control of the Row_ctrl signal output by the digital circuit module. Therefore, the row selection module and the pixel array module operate in the same way; either both are in working mode or both are in non-working mode. The pixel array module is used to convert optical signals into electrical signals. The analog circuit module is connected to the pixel array module and is used to process the electrical signals and convert them into parallel digital signals. The interface module is connected to the analog circuit module and is used to frame and serialize the parallel digital signals for output. The SPI slave module is used to receive communication signals from the SPI bus and set the internal exposure register. The clock generation module generates and provides clock signals to other modules; the power control module is connected to the digital circuit module and outputs power control signals based on specific operating states. It is important to note that the power control module always keeps the clock generation module powered on (i.e., the pwr_k signal is enabled) to ensure a stable and correct clock signal; the clock generation module always keeps the clk_l signal supplied to the digital circuit module enabled to ensure the digital circuit has a clock signal.
[0028] The operation of each module in the control system during the standby state and various operating states of the rolling shutter is as follows: In standby state, the digital circuit module, power consumption control module, clock control module, and SPI slave module are in operating mode, while the remaining modules are in non-operating mode. In each operating state, the digital circuit module, power consumption control module, clock control module, and SPI slave module are all in operating mode. The operating modes of the row selection module, pixel array module, analog circuit module, and interface module are determined according to the specific operating state, and the row selection module operates in the same mode as the pixel array module. Specifically, in the exposure operating state and readout waiting state, the power consumption control module turns on the power to the pixel array module (i.e., turns on the pwr_p signal) and turns off the power to the analog circuit module and the interface module (i.e., turns off the pwr_a and pwr_c signals). The pixel array module is in operating mode, while the analog circuit module and the interface module are in non-operating mode. During the simultaneous exposure and readout state, readout working state, and current frame data readout, the next frame data exposure state is initiated. The power consumption control module turns on the power supply of the pixel array module, analog circuit module, and interface module, i.e., turns on the pwr_p signal, pwr_a signal, and pwr_c signal. The clock generation module turns on the clock signals of the analog circuit module and interface module, i.e., turns on the clk_a signal and clk_c signal. The pixel array module, analog circuit module, and interface module are all in working mode.
[0029] Please see Figure 2 The specific steps for switching the rolling shutter state based on the exposure count value and the readout count value are as follows: S100, start exposure.
[0030] Specifically, upon receiving the first request signal, the rolling shutter switches from standby mode to exposure mode, incrementing the exposure line count from 1, with the counting interval being the line time. The line time refers to the time required to read out one line of pixel data, and is used as a common time unit in image sensors. In this embodiment, the time interval between the start of exposure for each line and the previous line is set as one line time.
[0031] S200, switch to simultaneous exposure and readout mode or readout waiting mode.
[0032] Specifically, the rolling shutter is switched to either an exposure-while-readout state or a readout-wait state based on the exposure count, the preset exposure time, and the number of rows in the pixel array. In this embodiment, the preset exposure time represents the preset number of row times, and the product of the preset exposure time and the row time is the time to expose one row (same as exposing one frame). Based on the preset exposure time, there are two cases: ① When the preset exposure time is less than or equal to the number of rows in the pixel array (i.e., short exposure), and the exposure count is greater than the preset exposure time, the rolling shutter is switched to an exposure-while-readout state, and the number of rows read starts counting from 1. ② When the preset exposure time is greater than the number of rows in the pixel array (i.e., long exposure), and the exposure count is greater than the number of rows in the pixel array, the rolling shutter is switched to a readout-wait state.
[0033] S500, switch to read operation mode.
[0034] Specifically, when the exposure count, readout count, preset exposure time, and number of rows in the pixel array meet preset conditions, the rolling shutter is switched to readout mode until all rows of the pixel array have completed data readout, at which point the rolling shutter is switched back to standby mode. Based on the preset exposure time, there are two scenarios: ① When the preset exposure time is less than or equal to the number of rows in the pixel array, the exposure count is greater than the number of rows in the pixel array, and the readout count is greater than the difference between the number of rows in the pixel array and the preset exposure time, the rolling shutter is switched to readout mode, and the number of readout rows continues to increment. ② When the preset exposure time is greater than the number of rows in the pixel array, and the exposure count is greater than the preset exposure time, the rolling shutter is switched to readout mode, and the number of readout rows increments from 1. It should be noted that scenario ① in step S500 is a follow-up step to scenario ① in step S200, and scenario ② in step S500 is a follow-up step to scenario ② in step S200.
[0035] In addition, the rolling shutter exposure modes include internal exposure mode and external exposure mode. In internal exposure mode, the preset exposure time is set by the internal exposure register, and the first request signal is a frame request signal. In external exposure mode, the preset exposure time is set by the time interval between the external exposure request signal and the frame request signal, and the first request signal is the external exposure request signal. When the rising edge pulse of the frame request signal is received, the exposure count value equals the exposure time.
[0036] Because external exposure does not support multi-frame requests, based on the above, internal exposure modes can be divided into four types: a short-term single-frame request mode with a preset exposure time less than or equal to the number of rows in the pixel array and a requested frame count of 1; a long-term single-frame request mode with a preset exposure time greater than the number of rows in the pixel array and a requested frame count of 1; a short-term multi-frame request mode with a preset exposure time less than or equal to the number of rows in the pixel array and a requested frame count greater than 1; and a long-term multi-frame request mode with a preset exposure time greater than the number of rows in the pixel array and a requested frame count greater than 1. External exposure modes can also be divided into two types: a short-term external exposure single-frame request mode with a preset exposure time less than or equal to the number of rows in the pixel array and a requested frame count of 1; and a long-term internal exposure single-frame request mode with a preset exposure time greater than the number of rows in the pixel array and a requested frame count of 1.
[0037] In internal exposure mode, as a preferred implementation, when the number of frames requested for exposure and readout is greater than one frame, please refer to [link to relevant documentation]. Figure 3 Between step S200 and step S500, the following steps are also provided: S300, switch to the state of exposing the next frame while reading out the current frame.
[0038] Specifically, when the exposure count, readout count, preset exposure time, and number of rows in the pixel array meet preset conditions, the rolling shutter switches to the current frame readout state for the next frame exposure. Based on the preset exposure time, there are two cases: ① When the preset exposure time is less than or equal to the number of rows in the pixel array, if the exposure count is greater than the number of rows in the pixel array and the readout count is greater than the difference between the number of rows in the pixel array and the preset exposure time, the rolling shutter switches to the current frame readout state for the next frame exposure, and the exposure row count increments from 1. ② When the preset exposure time is greater than the number of rows in the pixel array, if the exposure count is greater than the preset exposure time, the rolling shutter switches to the current frame readout state for the next frame exposure, and the exposure row count increments from 1, as does the readout row count.
[0039] S400, Return to step S200.
[0040] Specifically, return to step S200 and repeat steps S200 and S300 until no further exposure of the next frame is required.
[0041] In practical applications, due to the progressive scan characteristic of rolling shutters, the initial exposure time of each row of pixels is directly affected by the readout time and timing of the previous frame. In applications with large arrays and high frame rates, the line period is drastically compressed, leading to a significant reduction in exposure response time and limiting the improvement of key performance characteristics such as dynamic range. This solution supports simultaneous exposure and readout. This pipelined processing allows the system to continue exposing subsequent rows while reading out the data from already exposed rows. This compresses the total time from exposure start to data readout, increases the frame rate, and makes it possible to allocate more reasonable exposure durations within a limited response time. Furthermore, this solution also supports overlapping operations. When requesting multiple frames, it allows the next frame to be exposed while the current frame is being read out, greatly reducing the inter-frame interval and improving timing efficiency at high frame rates.
[0042] For example, assuming the CMOS pixel array has n rows and the exposure register is set to exposure time x, the following is the specific working process in four internal exposure modes: (1) Exposure of single frame request mode in a short period of time, i.e. x≤n and request 1 frame.
[0043] Please see Figure 4`frame_req` is the frame request signal, used to initiate the exposure and readout timing for a frame. After electrolytic reset, the CIS chip (i.e., CMOS image sensor) enters the standby state IDLE by default, with the exposure count and readout count both equal to 0. When the CIS chip is in the standby state IDLE, the rising edge of `frame_req` will cause the CIS chip to enter the exposure working state EXP_ONLY. In this state, the exposure count starts from 1 and increments at intervals equal to the line time `line_time`. Simultaneously, the row selection module selects each row of pixels sequentially based on the exposure count value, and the CIS chip performs reset and exposure operations on the selected pixels. When the exposure count equals x+1 (i.e., the exposure count is greater than the preset exposure time), the CIS chip enters the simultaneous exposure and readout state EXP_RO. The readout count starts from 1 and increments. Simultaneously with the exposure, the row selection module connects the specified row pixels to the analog circuit module according to the readout count. The analog circuit module samples, holds, amplifies, and quantizes the electrical signal output from the specified row pixels into parallel data, which is then sent to the interface module and output to the outside of the CIS chip via the data_out interface. As time progresses, when the exposure count equals n+1 (i.e., the exposure count is greater than the number of rows in the pixel array) and the readout count equals n-x+1 (i.e., the readout count is greater than the difference between the number of rows in the pixel array and the preset exposure time), the CIS chip enters the readout working state RO_ONLY. At this time, the exposure count is cleared to 0, and the readout count continues to increment. Each row of the CMOS pixel array has completed the exposure operation. Subsequently, the row selection module continues to select pixel rows to connect to the analog circuit module according to the readout count to complete the subsequent data readout. When the read count equals n+1 (i.e., the read count value is greater than the number of rows in the pixel array), all rows of the pixel array have completed data readout, and the CIS chip enters the IDLE state, waiting for the next frame request signal. In the current mode, the system power control and clock control signals are as follows: Figure 4 As shown.
[0044] (2) Long-term exposure single-frame request mode, i.e. x > n and request 1 frame.
[0045] Please see Figure 5`frame_req` is the frame request signal, used to initiate the exposure and readout timing for a frame. After electrolytic reset, the CIS chip defaults to the IDLE standby state, where the exposure count and readout count are both 0. When the CIS chip is in the IDLE standby state, the rising edge of `frame_req` causes the CIS chip to enter the EXP_ONLY exposure working state. In this state, the exposure count increments from 1, with a counting interval of `line_time`. Simultaneously, the row selection module sequentially selects each row of pixels based on the exposure count value, and the CIS chip performs reset and exposure operations on the selected pixels. When the exposure count equals n+1, the exposure of each row of pixels has been initiated, and the chip enters the RO_IDLE state, the exposure count continues, and the readout count remains 0. When the exposure count equals x+1, the chip enters the RO_ONLY state, the readout count increments from 1, and the exposure count is cleared to 0. The row selection module sequentially connects the specified row pixels to the analog circuit module based on the readout count value. The analog circuit module samples, holds, amplifies, and quantizes the electrical signal output by the specified row pixels into parallel data, which is then delivered to the interface module and output to the CIS chip via the data_out interface. As time passes, when the readout count equals n+1, all rows of the pixel array have completed data readout, and the CIS chip enters the IDLE state, waiting for the next frame request signal. In the current mode, the system power control and clock control signals are as follows: Figure 5 As shown.
[0046] (3) Exposure of multiple frames in a short period of time, for example, x≤n and 2 frames are requested.
[0047] Please see Figure 6`frame_req` is a frame request signal used to initiate the exposure and readout timing of a frame. After electrolytic reset, the CIS chip defaults to the IDLE standby state, where the exposure count and readout count are both 0. When the CIS chip is in the IDLE standby state, the rising edge of `frame_req` will cause the CIS chip to enter the exposure working state `EXP_ONLY`. In this state, the exposure count increments from 1, with a counting interval of `line_time`. Simultaneously, the row selection module selects each row of pixels according to the exposure count value, and the CIS system performs reset and exposure operations on the selected rows of pixels. When the exposure count equals `x+1`, the CIS chip enters the simultaneous exposure and readout state `EXP_RO`, where the readout count increments from 1. While the CIS chip is being exposed, the row selection module connects the specified row of pixels to the analog circuit module according to the readout count value. The analog circuit module samples, holds, amplifies, and quantizes the electrical signal output by the specified row of pixels into parallel data, and then delivers it to the interface module for output to the outside of the CIS chip via the `data_out` interface. As time passes, when the exposure count equals n+1 and the readout count equals n-x+1, the CIS chip enters the RO_EXP_2nd state, reading the first frame of data while simultaneously performing the second frame exposure. At this point, the exposure count starts incrementing from 1, and the readout count continues to increment. Subsequently, the row selection module selects pixels based on the exposure count, and the CIS system resets and exposes the selected rows of pixels. The row selection module continues to select pixel rows based on the readout count and connects them to the analog circuit module, completing the readout of the first frame of data. When the exposure count equals x+1 and the readout count equals n+1, the CIS system has completed the output of the first frame and the exposure of the first x rows of the second frame. The CIS system enters the EXP_RO state, and begins the exposure operation for the remaining nx rows of pixels and the readout of the second frame image. When the exposure count equals n+1 and the readout count equals n-x+1, the CIS chip enters the readout working state RO_ONLY. At this time, the exposure count is reset to 0, and the readout count continues to increment. Each row of the second frame of the CMOS pixel array has completed the exposure operation. The row selection module continues to select the pixel row to connect to the analog circuit module according to the readout count to complete the subsequent data readout. When the readout count equals n+1, all rows of the pixel array have completed the data readout operation, and the CIS chip enters the IDLE state, waiting for the next request signal. In the current mode, the system power control and clock control signals are as follows: Figure 6 As shown.
[0048] (4) Long-term exposure of multiple frames request mode, for example, x>n and request 2 frames.
[0049] Please see Figure 7`frame_req` is the frame request signal, used to initiate the exposure and readout timing of a frame. After electrolytic reset, the CIS chip defaults to the IDLE standby state, where the exposure count and readout count are both 0. When the CIS chip is in the IDLE standby state, the rising edge of `frame_req` will cause the CIS chip to enter the EXP_ONLY exposure working state. In this state, the exposure count increments from 1, with a counting interval of `line_time`. Simultaneously, the row selection module sequentially selects each row of pixels based on the exposure count value, and the CIS system performs reset and exposure operations on the selected pixels. When the exposure count equals n+1, the exposure of each row of pixels in the first frame has been initiated, and the chip enters the RO_IDLE state, the exposure count continues, and the readout count remains 0. When the exposure count equals x+1, the chip enters the RO_EXP_2nd state, where both the readout count and exposure count increment from 1. Subsequently, the row selection module selects pixels based on the exposure count. The CIS system performs the reset and exposure operations for the selected rows of pixels in the second frame. The row selection module continues to select pixel rows to connect to the analog circuit module based on the readout count, completing the data readout for the first frame. When both the exposure count and the readout count are equal to n+1, each row of pixels in the first frame has been read out, and the exposure for each row of pixels in the second frame has been initiated. The chip enters the RO_IDLE state, the exposure count continues, and the readout count is cleared to 0. When the exposure count is equal to x+1, the chip enters the RO_ONLY state, the readout count increments from 1, and the exposure count is cleared to 0. The row selection module connects the specified row of pixels to the analog circuit module sequentially based on the readout count value. The analog circuit module samples, holds, amplifies, and quantizes the electrical signal output from the specified row of pixels into parallel data, which is then delivered to the interface module and output to the outside of the CIS chip via the data_out interface. As time passes, when the readout count equals n+1, all rows of the pixel array have completed data readout, and the CIS chip enters the IDLE state, waiting for the next frame request signal. In the current mode, the system power control and clock control signals are as follows: Figure 7 As shown.
[0050] For example, assuming the CMOS pixel array has n rows and the interval between the rising edges of the exposure request signal and the frame request signal is x, in external exposure mode, texp1 is the exposure request signal used to initiate a frame exposure, and frame_req is the output request signal used to initiate data output after a frame exposure. The following describes the specific working process in the two external exposure modes: (5) Short-time out-of-exposure single-frame request mode, i.e. x≤n and request 1 frame.
[0051] Please see Figure 8After electrolytic reset, the CIS chip enters the standby state IDLE by default, with both the exposure count and readout count equal to 0. When the CIS chip is in standby state IDLE, the rising edge of texp1 causes it to enter the exposure working state EXP_ONLY. In this state, the exposure count increments from 1, with a counting interval equal to the line time (line_time). Simultaneously, the row selection module sequentially selects pixels for each row based on the exposure count value, and the CIS system performs reset and exposure operations on the selected pixels. When the exposure count equals x, coinciding with the rising edge of frame_req, the CIS chip enters the simultaneous exposure and readout state EXP_RO when the exposure count equals the exposure time x+1. The readout count increments from 1. Simultaneously with exposure, the row selection module connects the specified row pixels to the analog circuit module based on the readout count value. The analog circuit module samples, holds, amplifies, and quantizes the electrical signal output from the specified row pixels into parallel data, which is then delivered to the interface module and output to the outside of the CIS chip via the data_out interface. As time passes, when the exposure count equals n+1 and the readout count equals n-x+1, the CIS chip enters the readout working state RO_ONLY. At this time, the exposure count equals 0, and the readout count continues to increment. Each row of the CMOS pixel array has completed the exposure operation. The row selection module continues to select the pixel row to connect to the analog circuit module according to the readout count to complete the data readout operation. When the readout count equals n+1, all rows of the pixel array have completed the data readout operation, and the CIS chip enters the IDLE state, waiting for the next frame request signal. In the current mode, the system power control and clock control signals are as follows: Figure 8 As shown.
[0052] (6) Long-term external exposure single-frame request mode, i.e. x > n and request 1 frame.
[0053] Please see Figure 9After electrolytic reset, the CIS chip enters the IDLE standby state by default, with both the exposure count and readout count set to 0. When the CIS chip is in the IDLE standby state, the rising edge of texp1 causes it to enter the EXP_ONLY exposure working state. In this state, the exposure count increments from 1, with a counting interval equal to the line time (line_time). Simultaneously, the row selection module sequentially selects pixels for each row based on the exposure count value, and the CIS system performs reset and exposure operations on the selected pixels. When the exposure count equals n+1, each row of pixels has been fully exposed, and the chip enters the RO_IDLE state, clearing the exposure count to 0 while keeping the readout count at 0. After a time x following the rising edge of texp1, the rising edge of frame_req arrives. In the RO_IDLE state, the rising edge of frame_req causes the chip to enter the RO_ONLY state. The readout count starts from 1 and increments. The row selection module connects the specified row pixels to the analog circuit module sequentially according to the readout count value. The analog circuit module samples, holds, amplifies, and quantizes the electrical signal output by the specified row pixels into parallel data, which is then delivered to the interface module and output to the outside of the CIS chip via the data_out interface. As time passes, when the readout count equals n+1, all rows of the pixel array have completed the data readout operation, and the CIS chip enters the IDLE state, waiting for the next frame request signal. In the current mode, the system power control and clock control signals are as follows: Figure 9 As shown.
[0054] Specifically, taking an image sensor based on the rolling shutter control method described in this invention as an example, the pixel array size of the chip is 1200×1200, the line time is 8us, and the number of rows is n=1200.
[0055] If the chip requires an internal exposure of 2400us and requests exposure of 1 frame, it operates in mode (1), with an exposure time of x = 2400 / 8 = 300. After the reset, the exposure register is set to 300 via the SPI bus. When the rising edge of frame_req arrives, the chip enters the EXP_ONLY state from the IDLE state, and the exposure count increments from 1 with a counting interval of 8us. At the same time, the row selection module selects each row of pixels according to the exposure count, and the CIS system performs reset and exposure operations on the selected pixels. When the count equals 301, the first row of pixels has been exposed for 2400us and can be read. The CIS chip enters the EXP_RO state of simultaneous exposure and readout, and the readout count increments from 1 with a counting interval of 8us. At the same time, the row selection module connects the first row of pixels to the analog circuit module according to the readout count. The analog circuit module samples, holds, amplifies, and quantizes the electrical signal output by the specified row of pixels into parallel data, and then delivers it to the interface module for output to the outside of the CIS chip via the interface data_out. When the readout count equals 2, the same operation is performed on the second row of pixels, and so on. When the exposure count equals 1201 and the readout count equals 901, the CIS chip enters the readout working state RO_ONLY. At this time, the exposure count is cleared to 0, and the readout count continues to increment. Each row of the CMOS pixel array has completed the exposure operation. When the readout count equals 1201, all rows of the pixel array have completed the data readout operation, and the CIS chip enters the IDLE state, waiting for the next frame request signal.
[0056] If the chip needs an internal exposure of 11200us and requests exposure of 1 frame, it will operate in mode (2), with an exposure time of x = 11200 / 8 = 1400. After the reset, the exposure register is set to 1400 via the SPI bus. When the rising edge of frame_req arrives, the chip enters the EXP_ONLY state from the IDLE state, and the exposure count starts from 1 and increments at 8us intervals. At the same time, the row selection module selects each row of pixels according to the exposure count, and the CIS system performs reset and exposure operations on the selected pixels. When the exposure count is equal to 1201, each row of pixels has completed the exposure start, the chip enters the RO_IDLE state, the exposure count continues, and the read count remains 0. When the exposure count is equal to 1401, the chip enters the RO_ONLY state, the read count starts from 1 and increments, and the exposure count is cleared to 0. At the same time, the row selection module connects the first row of pixels to the analog circuit module, samples, holds, amplifies, and quantizes the electrical signal output by the row of pixels into parallel data, and then delivers it to the interface module for output to the outside of the CIS chip via the interface data_out. When the readout count equals 2, the same operation is performed on the second row of pixels, and so on. When the readout count equals 1201, all rows of the pixel array have completed the data readout operation, and the CIS chip enters the IDLE state, waiting for the next frame request signal.
[0057] If the chip needs an internal exposure of 2400us and requests exposure of 2 frames, it will operate in mode (3), with an exposure time of x = 2400 / 8 = 300. After the reset, the exposure register is set to 300 and the frame request register is set to 2 via the SPI bus. When the rising edge of rame_req arrives, the chip enters the EXP_ONLY state from the IDLE state, and the exposure count starts from 1 and increments at 8us intervals. At the same time, the row selection module selects each row of pixels according to the exposure count, and the CIS system performs reset and exposure operations on the selected pixels. When the count equals 301, the first row of pixels has been exposed for 2400us and can be read. The CIS chip enters the EXP_RO state of simultaneous exposure and readout, and the readout count starts from 1 and increments at 8us intervals. At the same time, the row selection module connects the first row of pixels to the analog circuit module according to the readout count. The analog circuit module samples, holds, amplifies, and quantizes the electrical signal output by the specified row of pixels into parallel data, and then delivers it to the interface module for output to the outside of the CIS chip through the interface data_out. When the readout count equals 2, the same operation is performed on the second row of pixels, and so on. When the exposure count equals 1201 and the readout count equals 901, the CIS chip enters the readout working state RO_EXP_2nd. At this time, the first frame exposure is complete, and the second frame exposure begins. The exposure count is set to 1, and the readout count continues to increment. Subsequently, the row selection module selects pixels according to the exposure count, and the CIS system performs reset and exposure operations on the selected pixels. The row selection module continues to select pixel rows and connect them to the analog circuit module according to the readout count to complete the data readout of the first frame. When the exposure count equals 301 and the readout count equals 1201, the CIS system has completed the output of the first frame and the exposure of the first 300 rows of the second frame. The CIS system enters the EXP_RO state, and the CIS system begins the exposure operation for the remaining 900 rows of pixels and the readout of the second frame image. When the exposure count equals 1201 and the readout count equals 901, the CIS chip enters the readout working state RO_ONLY. At this time, the exposure count is reset to 0, and the readout count continues to increment. Each row of the second frame of the CMOS pixel array has completed the exposure operation. The row selection module continues to select the pixel row to connect to the analog circuit module based on the readout count to complete the subsequent data readout. When the readout count equals 1201, all rows of the pixel array have completed the data readout operation, and the CIS chip enters the IDLE state, waiting for the next request signal.
[0058] If the chip requires an internal exposure of 11200us and requests exposure of 2 frames, it will operate in mode (4), with an exposure time of x = 11200 / 8 = 1400. After the reset, the exposure register is set to 1400 via the SPI bus. When the rising edge of frame_req arrives, the chip enters the EXP_ONLY state from the IDLE state, and the exposure count starts from 1 and increments at 8us intervals. At the same time, the row selection module selects each row of pixels according to the exposure count, and the CIS system performs reset and exposure operations on the selected pixels. When the exposure count equals 1201, each row of pixels has completed the exposure start, the chip enters the RO_IDLE state, the exposure count continues, and the read count remains at 0. When the exposure count equals 1401, the chip enters the RO_EXP_2nd state, the read count starts from 1 and the exposure count starts from 1. The row selection module selects pixels based on the exposure count. The CIS system performs the second frame reset and exposure operation on the selected rows of pixels. The row selection module then selects pixel rows to connect to the analog circuit module based on the readout count, completing the first frame data readout. When both the exposure count and readout count are 1201, each row of pixels in the second frame has completed exposure initiation, the chip enters the RO_IDLE state, the exposure count continues, and the readout count is cleared to 0. When the exposure count is 1401, the chip enters the RO_ONLY state, the readout count increments from 1, and the exposure count is cleared to 0. The row selection module connects the specified row of pixels to the analog circuit module sequentially based on the readout count value. The analog circuit module samples, holds, amplifies, and quantizes the electrical signal output from the specified row of pixels into parallel data, which is then delivered to the interface module and output to the outside of the CIS chip via the data_out interface. As time passes, when the readout count is 1201, all rows of the pixel array have completed data readout, the CIS chip enters the IDLE state, and waits for the next request signal.
[0059] If the chip needs an external exposure of 800us and requests exposure of 1 frame, it will operate in mode (5), with an exposure time x = 800 / 8 = 100. After the reset, assuming the rising edge of texp1 is at time 0, the rising edge of frame_req will arrive within the interval (800, 808). After electrolytic reset, the CIS chip defaults to standby state IDLE, with the exposure count equal to 0 and the readout count equal to 0. When the CIS chip is in standby state IDLE, the rising edge of texp1 will cause the CIS chip to enter the exposure working state EXP_ONLY. In this state, the exposure count starts from 1 and increments, with a counting interval of 8us per row. At the same time, the row selection module selects each row of pixels according to the exposure count value, and the CIS system performs reset and exposure operations on the selected pixels. When the exposure count equals 100, the rising edge of the frame_req pulse arrives. Then, when the exposure count equals 101, the CIS chip enters the simultaneous exposure and readout state EXP_RO. The readout count increments from 1. Simultaneously with the exposure, the row selection module connects the first row of pixels to the analog circuit module based on the readout count. The analog circuit module samples, holds, amplifies, and quantizes the electrical signal output from the specified row of pixels into parallel data, which is then sent to the interface module and output to the outside of the CIS chip via the data_out interface. When the readout count equals 2, the same operation is performed on the second row of pixels, and so on. As time progresses, when the exposure count equals 1201 and the readout count equals 1101, the CIS chip enters the readout working state RO_ONLY. At this time, the exposure count equals 0, and the readout count continues to increment. Each row of the CMOS pixel array has completed the exposure operation. The row selection module continues to select the pixel row to connect to the analog circuit module based on the readout count, completing the data readout process. When the readout count equals 1201, all rows of the pixel array have completed the data readout operation, and the CIS chip enters the IDLE state, waiting for the next frame request signal.
[0060] If the chip needs an external exposure of 10800us and requests exposure of 1 frame, it will operate in mode (6), with an exposure time of x = 10800 / 8 = 1350. After the reset, assuming the rising edge of texp1 is 0, the rising edge of frame_req will arrive within the interval (10800, 10808). After electrolytic reset, the CIS chip defaults to standby state IDLE, with the exposure count equal to 0 and the readout count equal to 0. When the CIS chip is in standby state IDLE, the rising edge of texp1 will cause the CIS chip to enter the exposure working state EXP_ONLY. In this state, the exposure count starts from 1 and increments at 8us intervals. At the same time, the row selection module selects each row of pixels according to the exposure count value, and the CIS system performs reset and exposure operations on the selected pixels. When the exposure count equals 1201, each row of pixels has been exposed, the chip enters the RO_IDLE state, the exposure count is cleared to 0, and the readout count remains unchanged at 0. After 10800µs following the rising edge of texp1, the rising edge of frame_req arrives. In the RO_IDLE state, the rising edge of frame_req causes the chip to enter the RO_ONLY state, and the readout count increments from 1. The row selection module connects the first row of pixels to the analog circuit module based on the readout count. The analog circuit module samples, holds, amplifies, and quantizes the electrical signal output from the specified row of pixels into parallel data, which is then delivered to the interface module and output to the outside of the CIS chip via the data_out interface. When the readout count equals 2, the same operation is performed on the second row of pixels, and so on. As time passes, when the readout count equals 1201, all rows of the pixel array have completed data readout, and the CIS chip enters the IDLE state, waiting for the next frame request signal.
[0061] This invention precisely divides the rolling shutter workflow into multiple states and automatically switches between them based on exposure and readout counts. It accurately controls the operation of each module in different states, keeping modules unrelated to the current state in a non-working mode, thus fundamentally reducing the overall energy consumption of the system during operation and standby. By supporting parallel processing states such as simultaneous exposure and readout, and exposure of the next frame while the current frame is readout, it achieves efficient pipelined operation of exposure and readout, significantly shortening the time interval between frames and improving the timing efficiency of high frame rate continuous shooting. This provides an effective solution to the problem of short exposure response time under large arrays. Simultaneously, it supports internal and external exposure, enhancing the system's flexibility in handling different application scenarios and facilitating precise synchronization with external events. Through the exposure counter and readout counter integrated into the digital circuit module to drive state switching, it achieves fully automated control, reducing reliance on external intervention and improving the system's stability and reliability.
[0062] The above description merely illustrates preferred embodiments of the present invention and is quite specific and detailed; however, it should not be construed as limiting the scope of the invention. It should be noted that those skilled in the art can make various modifications and improvements without departing from the inventive concept, and these all fall within the scope of protection of the present invention. Therefore, the scope of protection of this invention should be determined by the appended claims.
Claims
1. A rolling shutter control method, characterized in that: During exposure and readout of the pixel array, the number of exposure rows and the number of readout rows are counted in real time to obtain the exposure count value and the readout count value. The state of the rolling shutter is switched according to the exposure count value and the readout count value, and in each state of the rolling shutter, the modules in the control system that are not related to that state are put into non-working mode.
2. The rolling shutter control method as described in claim 1, characterized in that, The rolling shutter has a standby state and multiple working states. The control system of the rolling shutter includes: a digital circuit module, a power consumption control module, a clock generation module, a row selection module, a pixel array module, an analog circuit module, an interface module, and an SPI slave module. In standby mode, the digital circuit module, power consumption control module, clock control module, and SPI slave module are in working mode, while the other modules are in non-working mode. In each working state, the digital circuit module, power consumption control module, clock control module, and SPI slave module are all in working mode, while the working mode of the row selection module, pixel array module, analog circuit module, and interface module is determined according to the specific working state.
3. The rolling shutter control method as described in claim 2, characterized in that: The multiple working states include exposure working state, simultaneous exposure and readout state, readout working state, readout waiting state, and the state of exposing the next frame while reading out the current frame.
4. The rolling shutter control method as described in claim 3, characterized in that: In the exposure working state and readout waiting state, the power consumption control module turns on the power signal of the pixel array module and turns off the power of the analog circuit module and the interface module. The pixel array module is in working mode, and the analog circuit module and the interface module are in non-working mode. During the simultaneous exposure and readout state, readout working state, and current frame data readout, the next frame data exposure state is initiated. The power consumption control module turns on the power supply of the pixel array module, analog circuit module, and interface module. The clock generation module turns on the clock signal of the analog circuit module and interface module. The pixel array module, analog circuit module, and interface module are all in working mode.
5. The rolling shutter control method as described in claim 2, characterized in that, The steps for switching the rolling shutter state based on the exposure count value and the readout count value include the following: Upon receiving the first request signal, the rolling shutter switches from standby mode to exposure mode, and increments the number of exposure lines starting from 1, with the counting interval being the line time. The rolling shutter is switched to simultaneous exposure and readout mode or readout wait mode based on the exposure count value, the preset exposure time, and the number of rows in the pixel array. When the exposure count, readout count, preset exposure time, and number of rows in the pixel array meet the preset conditions, the rolling shutter is switched to readout mode until all rows of the pixel array have completed data readout, and then the rolling shutter is switched back to standby mode.
6. The rolling shutter control method as described in claim 5, characterized in that, The steps for switching the rolling shutter to variable exposure edge readout mode or readout wait mode based on the exposure count value, the preset exposure time, and the number of rows in the pixel array include the following sub-steps: When the preset exposure time is less than or equal to the number of rows in the pixel array, and the exposure count value is greater than the preset exposure time, the rolling shutter is switched to the simultaneous exposure and readout state, and the number of rows read out is incremented from 1. When the preset exposure time is greater than the number of rows in the pixel array and the exposure count value is greater than the number of rows in the pixel array, the rolling shutter is switched to readout waiting state.
7. The rolling shutter control method as described in claim 5, characterized in that, When the exposure count, readout count, preset exposure time, and number of rows in the pixel array meet preset conditions, the step of switching the rolling shutter to readout mode includes the following sub-steps: When the preset exposure time is less than or equal to the number of rows in the pixel array, the exposure count value is greater than the number of rows in the pixel array, and the readout count value is greater than the difference between the number of rows in the pixel array and the preset exposure time, the rolling shutter is switched to the readout working state, and the number of readout rows continues to increment. When the preset exposure time is greater than the number of rows in the pixel array and the exposure count value is greater than the preset exposure time, the rolling shutter is switched to readout mode, and the number of rows read out is incremented from 1.
8. The rolling shutter control method as described in claim 5, characterized in that, The exposure modes of the rolling shutter include an internal exposure mode and an external exposure mode. In the internal exposure mode, the preset exposure time is set by the internal exposure register, and the first request signal is a frame request signal. In external exposure mode, the preset exposure time is set by the time interval between the external exposure request signal and the frame request signal. The first request signal is the external exposure request signal. When the rising edge pulse of the frame request signal is received, the exposure count value is equal to the exposure time.
9. The rolling shutter control method as described in claim 5, characterized in that: When the number of frames requested for exposure and readout is greater than one frame, after switching the rolling shutter to simultaneous exposure and readout mode or readout waiting mode based on the exposure count value, the preset exposure time, and the number of rows in the pixel array, the following steps are also included: When the exposure count, readout count, preset exposure time, and number of rows in the pixel array meet the preset conditions, the rolling shutter is switched to the state of reading out the current frame and then exposing the next frame. Return to the steps of switching the rolling shutter to simultaneous exposure and readout or readout wait state based on the exposure count value, the preset exposure time, and the number of rows in the pixel array, until no further exposure of the next frame is required.
10. The rolling shutter control method as described in claim 9, characterized in that, When the exposure count value, readout count value, preset exposure time, and number of rows in the pixel array meet preset conditions, the step of switching the rolling shutter to the state of reading out the current frame and exposing the next frame includes the following sub-steps: When the preset exposure time is less than or equal to the number of rows in the pixel array, if the exposure count value is greater than the number of rows in the pixel array and the readout count value is greater than the difference between the number of rows in the pixel array and the preset exposure time, the rolling shutter switches to the state of reading out the current frame and then exposing the next frame. The number of exposure rows starts counting from 1. When the preset exposure time is greater than the number of rows in the pixel array, if the exposure count value is greater than the preset exposure time, the rolling shutter switches to the state of reading out the current frame and then proceeding to the next frame exposure state. The number of exposure rows starts to increase from 1, and the number of readout rows starts to increase from 1.