The present application relates generally to analog-to-digital (ADC) converters and, more particularly, to an ADC that can be beneficial in CMOS image sensing.
Single-slope ramp analog-to-digital converters (SSR-ADC) are used in ICs for converting analog signals into digital. A simple SSR-ADC architecture 100 is shown in
One problem with SSR-ADCs is the analog-to-digital conversion speed. To convert an analog signal into a digital n-bit word, SSR-ADC requires 2n times the master clock cycle. For example, a 10-bit representation of an analog signal can be converted into digital form after 1024 clock cycles. SSR-ADC is considered slow when compared with other ADC topologies, such as Flash ADC, which requires only 1 clock cycle for conversion, or Successive Approximation (SAR) ADC, which requires n-clock cycles for conversion.
SSR-ADC, however, is very suitable for column-parallel integration in image sensors, such as CMOS image sensors. One such image sensor is shown in
A method and apparatus are disclosed for increasing the speed of an analog-to-digital converter (ADC). One application of the ADC is in a column-parallel CMOS image sensor.
In one embodiment, a look-ahead controller can be used to jump step a ramped voltage level from a first voltage level to a second voltage level. A test can then be performed to detect the number of analog input signals impacted due to the jump step (i.e., the number of analog input signals between the first and second voltage levels). If the detected number is below a predetermined threshold, then the ramp can be maintained from the new voltage level after the jump. If the detected number is above the predetermined threshold, then the ramped voltage level can be returned to the first voltage level so that the analog input signals can be digitized using the ramped voltage level from its original level and trajectory. Consequently, the ADC uses components of a single-slope ramp ADC, but with one or more jump steps in order to increase speed.
In another embodiment, if the detected number is below the predetermined threshold, then an estimate of the voltage levels can be made for the analog input signals impacted due to the jump step. For example, an average voltage level between the first and second voltage levels can be used as an estimate of the digitized voltage level.
The foregoing features and advantages will become more apparent from the following detailed description, which proceeds with reference to the accompanying figures.
As used herein, the singular terms “a,” “an,” and “the” include plural referents unless context clearly indicates otherwise. Similarly, the word “or” is intended to include “and” unless the context clearly indicates otherwise. Also, as used herein, the term “comprises” means “includes.” Hence “comprising A or B” means including A, B, or A and B. Although many methods and materials similar or equivalent to those described herein can be used, particular suitable methods and materials are described below. In case of conflict, the present specification, including explanations of terms, will control. In addition, the materials, methods, and examples are illustrative only and not intended to be limiting.
As described in more detail below, the look-ahead controller 530 uses the input signal on the Vpred signal line 532 in order to decide whether to maintain a jump ahead or to jump back. During an initial period, the ramp generator 508 can begin to ramp its output voltage at a substantially constant rate of increase. For example, on each clock cycle, the voltage may increase a predetermined amount (a discrete step). The look-ahead controller 530 can instruct the ramp generator 508 to jump ahead and can instruct the counter 540 to jump ahead. By jumping, the ramp generator does a step in voltage, rather than a continuous ramping. For example, the ramp generator can change the Vramp signal from a first voltage (e.g., 1 V) to a second voltage (2 V). Such a jump represents an increase of a multiple of the discrete steps so that the rate of increase is no longer constant. Additionally, jumping in the counter changes the counter count by more than one unit. For example, the count can change from 1 to 5, rather than from 1 to 2. When a jump in voltage occurs, certain of the comparators 504 will likely be affected causing them to change state. The predictor circuits 520 can detect a number of the comparator outputs that change state and report the same, on the Vpred line, to the look-ahead controller 530. If the number of comparators affected exceeds a predetermined threshold, the look-ahead controller 530 can instruct the ramp generator 508 to jump back to its pre jump level (e.g., from 2V to 1V) and the ramp generator proceeds to ramp at a constant rate. Likewise, the counter can be instructed to jump back to its previous pre jump count value (e.g., from 5 to 1). If the number affected does not exceed the predetermined threshold, then the look-ahead controller maintains the ramp generator 508 and the counter 540 at the jump-ahead states.
The illustrated ramp generator is for 10-bit version of a digital-to-analog converter, but other bit widths can be used. Likewise, there are a variety of architectures for ramp generators and the present disclosure illustrates only one possible example, but any known ramp generators can readily be used. Turning briefly to
When switch SRST 1010 is closed, the set of top plates of the binary capacitances are coupled to VBot. When the digital input equals to a logic low, the bottom plate of the capacitors are connected to VBot so that the top and bottom plate of the capacitor are at same potential and the net charge on any capacitor will be zero. When 10-bit digital inputs are incremented, there will be a charge distribution between the two sets of capacitors: CTop and CBot. CTop is the total capacitance between node Vout and VTop node. Similarly, CBot is the equivalent capacitance between node Vout and VBot. This charge distribution results a voltage change on output node as given by equation:
Voltage on node Vout can be increased in discrete steps (VStep) such as if the digital inputs are increased by 1-LSB at regular time intervals. In order to control the switches or to generate n-bit digital input at regular intervals, the n-bit synchronous counter 802 can be used. The reason for using the synchronous counter 802 is that whenever capacitors are switching between VBot and VTop it involves charge pumping to or from the node Vout. If switching does not take place simultaneously, the output node could have a glitch during the counter increment.
In the case where all column voltage values (Vin[1-m]˜Vx) are in one k-step range of the ADC input, conversion time of an n-bit SSLAR ADC is given by the following equation:
In the case where column voltages exist in all gray levels of the ADC range, conversion time of n-bit SSLAR ADC is given by the following equation:
Conversion time of standard single slope ramp (SSR) ADC is independent from and condition and is given with the following equation:
T
con,SSR=2n×Tclk
Thus analog-to-digital conversion speed-up (Sup) and slow-down (Sdown) ratios for n-bit resolution can be found in for best and worst cases with the following equations:
If it is assumed that half of the columns are within the k-step range and the other half not, then the speed-up ratio could follow the following equation:
Thus proposed SSLAR-ADC architecture provides 78% (or 1.78 times) analog to digital speed improvement in nominal case for k=16, n=10, and h=2 over the standard SSR ADC architecture. This improvement becomes 7.11 times in best case scenario for the same n, k, and h values.
Global section of the step size programmable SSLAR (single slope look ahead reamp) ADC composes of three units; controller (CONT), event detector (ED) and ramp-count generator (RCG) as shown in the
The event detector (ED) is connected to column predictor circuits and generates the “Jump” signal depending on the “Look” signal from the SSLAR controller, and column predictor conditions. ED also receives analog bias and reference voltages for proper operation.
The controller unit (CONT) generates the look-ahead signal (“Look”) for the event detector and other control signal for SSLAR ramp-count generator (RCG). It is the part of the SSLAR ADC implementing the conversion algorithm.
The ramp-count generator (RCG) generates three output signal; ramp voltage (Vramp), code scan done pulse (Scan_done), and 8-bit counter output pulses (Cnt[7:0]). Ramp and counter pulses are connected to the column section of the SSLAR ADC topology. RCG receives the control signals from the CONT, look-ahead step program word, and the analog voltage reference and bias signals.
SSLAR ADC Controller unit is the central part of the SSLAR ADC. It generates unique control signals to ED and RCG units implementing the SSLAR ADC algorithm. A finite state machine (FSM) can be used for generating the control pulses as shown in
Four control signals determine the finite state machine's (FSM) states: operation reset (“rst”), jump signal from event detector (“jump”), internal counter done signal (“done”), and master clock signal (“mclk”). If the rst=1, state machine stays at S0 state. FSM changes its state at rising edge of the master clock signal conditionally or unconditionally. Unconditional state changes only exist from states S4 to S5 and from S2 to S3. Other state transitions depend on value of the jump, done and reset signals. If the reset is set high, the state machine goes to state S0 and waits until the reset signal is cleared to move to state S1. Done signal is generated in the CONT unit by a 7-bit synchronous counter and comparator units, as shown in the Block diagram of the SSLAR ADC controller unit (CONT) (
An embodiment of a detailed circuit diagram of the counter, comparator and counter logic is shown in
Controller FSM is synthesized based on the state diagram in
Block diagram of the ramp-count generator unit is shown in
A block diagram CLA full-adder and latch (CLA-FAL) unit is shown in the
Depending on the state of the FSM in CONT unit, one of the four words are passed to CLA-FAL unit from 4-to-1 multiplexer. Multiplexer selection codes (C0, C1) are generated by the controller unit based on the state of the FSM. When C0=‘0’ and C1=‘0’, digital word equal to zero (0) is passed if xo=‘0’, and one if xo=‘1’. If the C0=‘1’ and C1=‘0’, then the 7-bit step programming word (N[6:0]) is passed. Digital word equal to one (1) is passed when the selection code equals to C0=‘0’ and C1=‘1’. Multiplexer input for C0=‘1’ and C1=‘1’ was set to zero (0). As a result, in combination with the 4-to-1 multiplexer outputs, and Lclk signal, CLA-FAL unit either stops counting for C0=‘0’ and C1=‘0’ or add ‘1’ if xo=‘1’, or counts n-by-n (N[6:0]=n, i.e. n=5 if N[6:0]=“0000101”) for C0=‘1 ’ and C1=‘0’, or counts 1-by-1 for C0=‘0’ and C1=‘1’. Logic block in the CLA-FAL unit generates a signal for the CONT unit for appropriate timing. It composes of an 8 input NOR gate to generate “xo” signal.
The CLA type full adder was used due to the fact that other digital adders, such as the ripple carry adders, produce non ideal transition of the output values. In ripple carry adder, adder output for the LSB bit comes first, while the MSB bit becomes available later after certain delay time. This nonlinear delay between adder output bits cause glitches in binary ramp generator (BRG) block. It is because both adder and the binary ramp generator work in continuous time domain. Any delay among adder outputs is reflected at the output of the ramp generator.
Carry-look ahead subtractor #1 block subtracts “00000001” from the CLA-FAL block outputs (W1). This allows digital bits used by BRG to be between 0 and 255 for 8-bit. This is due to the fact that CLA-FAL generated counting values are between 1 and 256.
2-to-1 multiplexer passes the half step programming word if C2=‘1’ or the zero (‘0’) to the subtractor #2. It implements the half and full step counter increment operations of the SSLAR ADC algorithm. Half of the step code word is attained by taking upper 6 bit of the original step program word as 2-to-1 multiplexer inputs. C2 signal is generated by the CONT unit. CONT FSM was designed such a way that half step word is not subtracted from the first subtraction unit outputs (W4) during the first look-ahead operation at which CAL-FAL outputs (W1) equal to “00000001” and first subtractor output (W4) is “00000000”.
An 8-bit binary weighted capacitive digital-to-analog converter is used as ramp generator. Circuit diagram of the ramp generator is shown in
Full operation of the CONT and RCG blocks with simulated jump input from ED block can be traced in
At each state, different control signals are generated for the ramp generator and counter blocks as shown in the Table 1. Next state diagram of the FSM is shown in Table 2. Next state diagram is used for synthesizing the FSM using rising edge triggered D-type flip-flops (DFF). DFF was preferred due to the fact that the next state is depending on the data (D) input of the flip flop, and does not require alteration of the next states during synthesis.
Since number of states is less than 8, three DFF is used. For each DFF's input (D0, D1, D2), synthesis was performed assuming reset signal is low (0) while the other five control signals are the signals: done, jump, q0, q1, and q2. Signals qi are the outputs of the DFFs representing previous state. A 5-variable.
Karnaugh map (K-map for short) was constructed for the input signals of the DFFs. They are shown in Table 3.
Minimized functions of the D inputs of the DFFs based on the K-map in Table 2 are shown in
State dependent FSM outputs listed in
FSM is the core of the SSLAR ADC control unit that manages the SSLAR ADC algorithm. Generated signal allow SSLAR ADC's ramp generator to generate ramp and counter signals to the column comparators. Controller unit allows fully programmable step size and allows fully programmable step size working with the SSLAR ADC ramp-count unit. In the design shown in
CLA FAL unit is followed by an 8-bit subtraction unit. 8-bit CLA FAL unit generates the counter word for the ramp and column latch circuits. An example containing full operation timing of the controller and ramp-count generator unit are shown in
8-bit carry-look ahead (CLA) full adder (FA) includes two cascaded 4-bit CLA-FA units as shown in
Subtraction unit composes of two cascaded 4-bit subtraction unit as shown in
It will be recognized that the circuits described herein are only examples that can be implemented in a variety of ways. For example, the look-ahead controller 530, the predictor circuits 520, the ramp generator 508 and counter 540 can be implemented using a variety of designs. The particular circuits are only illustrative of possible designs.
In view of the many possible embodiments to which the principles of the disclosed invention may be applied, it should be recognized that the illustrated embodiments are only preferred examples of the invention and should not be taken as limiting the scope of the invention. Rather, the scope of the invention is defined by the following claims. We therefore claim as our invention all that comes within the scope of these claims.
The present application claims the benefit of U.S. Provisional Patent Application No. 61/133,260, filed Jun. 26, 2008, and entitled “SINGLE-SLOPE LOOK-AHEAD-RAMP (SSLAR) ANALOG-TO-DIGITAL CONVERTER (ADC) FOR COLUMN PARALLEL CMOS IMAGE SENSOR”, which is hereby incorporated by reference.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/US2009/048670 | 6/25/2009 | WO | 00 | 12/10/2010 |
Number | Date | Country | |
---|---|---|---|
61133260 | Jun 2008 | US |