Method for hybrid pulse amplitude and width modulation in LED drivers for display panels
11710450 · 2023-07-25
Assignee
Inventors
Cpc classification
G09G2310/0297
PHYSICS
G09G3/2081
PHYSICS
G09G2320/0247
PHYSICS
G09G2320/0633
PHYSICS
G09G2320/064
PHYSICS
G09G3/2096
PHYSICS
G09G3/3426
PHYSICS
International classification
G09G3/20
PHYSICS
Abstract
Driving a LED array includes determining total charge to be transferred to the LEDs during an image frame, and determining a number of drive pulses of equal width and amplitude that would drive the LEDs with nearly the total charge during display of the image frame. One of the drive pulses is modified so the drive pulses drive the LEDs with the total charge during display. If the width is greater than a minimum width and less than a maximum width, the LEDs are driven with the drive pulses. If the width is less than the minimum width and if an amplitude is greater than a minimum amplitude, the amplitude of the drive pulses is decremented. If the width is less than the minimum width and if the amplitude is equal to the minimum amplitude and if the number of drive pulses is greater than one, the number is decremented.
Claims
1. A method of driving a light emitting diode (LED) array, comprising: a) determining a total aggregate charge to be transferred to LEDs of the LED array during an image frame; b) determining a number of drive pulses of equal width and equal amplitude that would drive the LEDs with nearly the total aggregate charge during display of the image frame and modifying at least one of the number of drive pulses so that the number of drive pulses can drive the LEDs with the total aggregate charge during the display of the image frame; c) when the determined width of the number of drive pulses is greater than a minimum width and less than a maximum width, driving the LEDs with the number of drive pulses; and d) when the determined width of the number of drive pulses is less than the minimum width: i) when an amplitude of the number of drive pulses is greater than a minimum amplitude, decrementing the amplitude of the number of drive pulses and driving the LEDs with the number of drive pulses; ii) when the amplitude of the number of drive pulses is equal to the minimum amplitude, and when the number of drive pulses is greater than one, decrementing the number of the drive pulses and driving the LEDs with the number of drive pulses.
2. The method of claim 1, wherein modifying at least one of the number of drive pulses comprises modifying the amplitude of at least one of the number of drive pulses based upon a residual charge to be transferred during the display of the image frame.
3. The method of claim 1, wherein modifying at least one of the number of drive pulses comprises modifying the width of at least one of the number of drive pulses based upon a residual charge to be transferred during the display of the image frame.
4. The method of claim 1, wherein determining the number of drive pulses of equal width and equal amplitude comprises: determining the width of the number of drive pulses based upon a fixed starting amplitude, the total aggregate charge, the number of drive pulses, a rise time of the number of drive pulses, and a fall time of the number of drive pulses; determining a residual charge to be transferred; and modifying the width of at least one of the number of drive pulses based upon the residual charge and the fixed starting amplitude.
5. The method of claim 1, wherein determining the number of drive pulses of equal width and equal amplitude comprises: determining the amplitude of the number of drive pulses based upon a fixed starting width, the total aggregate charge, the number of drive pulses, a rise time of the number of drive pulses, and a fall time of the number of drive pulses; determining a residual charge to be transferred; and modifying the amplitude of at least one of the number of drive pulses based upon the residual charge and the fixed starting width.
6. The method of claim 1, further comprising: e) when the width of the number of drive pulses is not less than the minimum width and the width of the number of drive pulses is greater than the maximum width: i) when the amplitude of the number of drive pulses is less than a maximum amplitude, incrementing the amplitude of the number of drive pulses and driving the LEDs with the number of drive pulses; ii) when the amplitude of the number of drive pulses is less than the maximum amplitude and the number of drive pulses is equal to an initial number of drive pulses, setting the width of the number of drive pulses to the maximum width and driving the LEDs with the number of drive pulses; and iii) when the amplitude of the number of drive pulses is less than the maximum amplitude and the number of drive pulses is less than the initial number of drive pulses, incrementing the number of the drive pulses and driving the LEDs with the number of drive pulses.
7. A method of driving a light emitting diode (LED) array, comprising: a) determining a total aggregate charge to be transferred to LEDs of the LED array during an image frame; b) determining a number of drive pulses of equal width and equal amplitude that would drive the LEDs with nearly the total aggregate charge during display of the image frame and modifying at least one of the number of drive pulses so that the number of drive pulses can drive the LEDs with the total aggregate charge during the display of the image frame; c) driving the LEDs with the number of drive pulses; wherein determining the number of drive pulses of equal width and equal amplitude comprises: determining the width of the number of drive pulses based upon a fixed starting amplitude, the total aggregate charge, the number of drive pulses, a rise time of the number of drive pulses, and a fall time of the number of drive pulses; determining a residual charge to be transferred; and modifying the width of at least one of the number of drive pulses based upon the residual charge and the fixed starting amplitude.
8. The method of claim 7, wherein modifying at least one of the number of drive pulses comprises modifying the amplitude of at least one of the number of drive pulses based upon a residual charge to be transferred during the display of the image frame.
9. The method of claim 7, wherein modifying at least one of the number of drive pulses comprises modifying the width of at least one of the number of drive pulses based upon a residual charge to be transferred during the display of the image frame.
10. The method of claim 7, further comprising: d) when the width of the number of drive pulses is greater than a minimum width and less than a maximum width, driving the LEDs with the number of drive pulses; and e) when the width of the number of drive pulses is less than the minimum width and when an amplitude of the number of drive pulses is greater than a minimum amplitude, decrementing the amplitude of the number of drive pulses and driving the LEDs with the number of drive pulses.
11. The method of claim 7, further comprising: d) when the width of the number of drive pulses is greater than a minimum width and less than a maximum width, driving the LEDs with the number of drive pulses; and e) when the width of the number of drive pulses is less than the minimum width and when the amplitude of the number of drive pulses is equal to the minimum amplitude, and when the number of drive pulses is greater than one, decrementing the number of the drive pulses and driving the LEDs with the number of drive pulses.
12. A method of driving a light emitting diode (LED) array, comprising: a) determining a total aggregate charge to be transferred to LEDs of the LED array during an image frame; b) determining a number of drive pulses of equal width and equal amplitude that would drive the LEDs with nearly the total aggregate charge during display of the image frame and modifying at least one of the number of drive pulses so that the number of drive pulses can drive the LEDs with the total aggregate charge during the display of the image frame; c) driving the LEDs with the number of drive pulses; wherein determining the number of drive pulses of equal width and equal amplitude comprises: determining the amplitude of the number of drive pulses based upon a fixed starting width, the total aggregate charge, the number of drive pulses, a rise time of the number of drive pulses, and a fall time of the number of drive pulses; determining a residual charge to be transferred; and modifying the amplitude of at least one of the number of drive pulses based upon the residual charge and the fixed starting width.
13. The method of claim 12, wherein the modifying of at least one of the number of drive pulses comprises modifying the amplitude of at least one of the number of drive pulses based upon a residual charge to be transferred during the display of the image frame.
14. The method of claim 12, wherein the modifying of at least one of the number of drive pulses comprises modifying the width of at least one of the number of drive pulses based upon a residual charge to be transferred during the display of the image frame.
15. The method of claim 12, further comprising: d) when the width of the number of drive pulses is greater than a minimum width and less than a maximum width, driving the LEDs with the number of drive pulses; and e) when the width of the number of drive pulses is less than the minimum width and when an amplitude of the number of drive pulses is greater than a minimum amplitude, decrementing the amplitude of the number of drive pulses and driving the LEDs with the number of drive pulses.
16. The method of claim 12, further comprising: d) when the width of the number of drive pulses is greater than a minimum width and less than a maximum width, driving the LEDs with the number of drive pulses; and e) when the width of the number of drive pulses is less than the minimum width and when the amplitude of the number of drive pulses is equal to the minimum amplitude, and when the number of drive pulses is greater than one, decrementing the number of the drive pulses and driving the LEDs with the number of drive pulses.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
DETAILED DESCRIPTION
(11) The following disclosure enables a person skilled in the art to make and use the subject matter disclosed herein. The general principles described herein may be applied to embodiments and applications other than those detailed above without departing from the spirit and scope of this disclosure. This disclosure is not intended to be limited to the embodiments shown but is to be accorded the widest scope consistent with the principles and features disclosed or suggested herein. Do note that in the below description, any described resistor or resistance is a discrete device unless the contrary is stated and is not simply an electrical lead between two points. Thus, any described resistor or resistance coupled between two points has a greater resistance than a lead between those two points would have, and such resistor or resistance cannot be interpreted to be a lead. Similarly, any described capacitor or capacitance is a discrete device unless the contrary is stated and is not a parasitic unless the contrary is stated. Moreover, any described inductor or inductance is a discrete device unless the contrary is stated and is not a parasitic unless the contrary is stated.
(12) A design for a display 30 utilizing a non-emissive display panel 40 is now described with reference to
(13) The operation of the driver circuitry 41 to accomplish brightness control (i.e., dimming) without visible flicker will be described below, but first, since such details are equally applicable to a display utilizing an emissive display panel, a display utilizing an emissive display panel will first be described.
(14) A design for a display 30′ utilizing an emissive display panel 40′ is now described with reference to
(15) Each of the illustrated pixels within the display matrix 14′ includes sub-pixels of different colors (for example, red, green, blue, and/or other colors), and each such sub-pixel may include multiple serially connected LEDs of the appropriate color, and those multiple LED strings may be connected in parallel with one another.
(16) The operation of the driver circuitry 41 to accomplish brightness control (i.e., dimming) without visible flicker will now be described, but first, certain terms that will be used in the description of that operation will be explained in detail.
(17) As explained above, the amount of illumination provided by each display LED is proportional to the area of the train of current pulses provided to that LED (i.e., the amount of illumination provided by each display LED is proportional to the charge Q transferred to that LED). Refer to an example pulse train of k pulses shown in
(18) Although the pulse train shown has pulses with the rising and falling edges the same shape and width, other pulse trains may be used. For example, the shape of the rising and falling edges may be different than that illustrated (e.g., ramp shaped, quadratic shaped, S-shaped, etc.), and the shapes (and widths) of the rising and falling edges may be different from one another.
(19) Referring now to the flowchart 100 of
(20) Note that in the following descriptions, all formula used (and formulae derived therefrom) are suited for the example pulse train shape shown in
(21) In the steps described below, the stated actions are performed by the timing controller 34 and/or the backlight controller 35 and/or the LED driver circuitry 41. Operation proceeds on a frame-by-frame basis. Therefore, at the beginning of each frame, image data for that frame is obtained (Block 101). This image data includes brightness data, and from this the timing controller 34 and/or backlight controller 35 determines or is aware of the charge Q to be transferred during the frame.
(22) Initialization is then performed, with the number of pulses k in that frame being initialized as k=k.sub.start (Block 102), with k.sub.start being the starting number of pulses caused to be generated by LED driver circuitry 41 for driving the LEDs of the pixel array 14, 14′ during the frame. During initialization, a minimum amplitude value A.sub.min, a maximum amplitude value A.sub.max, an amplitude increment size A.sub.inc, a minimum pulse width value W.sub.min, a maximum pulse width value W.sub.max, and a pulse width increment size W.sub.inc (equal to the period of the clock used to generate the pulse train) are obtained (Block 102), for example from any component of the architecture, such as the interface controller 33, timing controller 34, or blacklight controller 35, or as an alternative may be read from registers within the LED driver circuitry 41, and are based upon the specific application (e.g., desired shape of pulse edges, brightness ranges, etc). Additionally, during initialization, either a fixed starting amplitude A.sub.start_or a fixed starting width W.sub.start is selected, also based upon the specific application.
(23) Thereafter, depending on whether a fixed starting amplitude A.sub.start or a fixed starting width W.sub.start was used, a width W.sub.i and/or amplitude A.sub.i is evaluated and determined based upon the initialized values (Block 103). The goal for the remainder of the steps performed is to obtain k pulses for the current image frame that each have a same width W.sub.i and a sample amplitude A.sub.i. Given the charge Q to be transferred during the frame, each pulse has a same width W.sub.i and a same amplitude A.sub.i this goal is achieved when:
Q=k×A.sub.pulse=k×½×A.sub.i(2W.sub.i−t.sub.rise−t.sub.fall)
(24) Refer now to
(25) First, from the starting amplitude A.sub.start, a width W.sub.i is calculated from the charge Q, the starting number of pulses k, the rise time t.sub.rise, and the fall time t.sub.fall (Block 103A). This calculation is:
(26)
(27) The rounding operation is performed to the closest available value of W.sub.i, this being the case because the smallest incrementing that can be applied to W.sub.i is by W.sub.inc, which is set by the clock.
(28) The area of each pulse A.sub.pulse may then be calculated from the starting amplitude A.sub.start, W.sub.i, t.sub.rise, and t.sub.fall (Block 103B). This calculation is:
(29)
(30) A residual R (e.g., remaining charge to be transferred during the frame if k pulses each having a same amplitude A.sub.start and width W.sub.i are present) is then calculated (Block 103C). This calculation is:
(31)
(32) The resulting value of R is then evaluated (Block 103D). If R is 0, or within a given threshold of 0, this means the goal of transferring the charge Q during the frame with k pulses each having a same width W.sub.i and a same amplitude of A.sub.i=A.sub.start is achieved, and operation can proceed to Block 104.
(33) If R is not zero, for example due to a rounding error within W.sub.i arising from the smallest increment W.sub.inc for W.sub.i, then a correction is to be applied to at least one of the pulses. To this end, an additional pulse width W.sub.R is computed from R and A.sub.start (Block 103E). This calculation is performed as:
W.sub.R=round(R/A.sub.start)
(34) This additional width W.sub.R may then be added to the width W.sub.i of one of the k pulses of the frame (Block 103F). This calculation is performed as:
W.sub.j=W.sub.i+W.sub.R
(35) This may be done to any of the k pulses and not need be a specific pulse. As an alternative, if desired, this additional width W.sub.R may be distributed over n of the k pulses as W.sub.R/n (Block 103G). Operation is then ready to proceed to Block 104.
(36) The case where a fixed starting width W.sub.start is used is described with reference to flowchart 103′ in
(37) First, from the starting width W.sub.start, an amplitude A.sub.i is calculated from the charge Q, the starting number of pulses k, the rise time t.sub.rise, and the fall time t.sub.fall (Block 103A′). This calculation is:
(38)
(39) The rounding operation is performed to the closest available value of A.sub.i, this being the case because the smallest incrementing that can be applied to A.sub.i is by A.sub.inc, which is defined by the LED driver current resolution.
(40) The area of each pulse A.sub.pulse may then be calculated from the amplitude A.sub.i, W.sub.start, t.sub.rise, and t.sub.fall (Block 103B′). This calculation is:
(41)
(42) The residual R (e.g., remaining charge to be transferred during the frame if k pulses each having a same amplitude A.sub.i and width W.sub.start are present) is then calculated (Block 103C′). This calculation is:
(43)
(44) The resulting value of R is then evaluated (Block 103D′). If R is 0, or within a given threshold of 0, this means the goal of transferring the charge Q during the frame with k pulses each having a same width W.sub.i=W.sub.start and a same amplitude of A.sub.i is achieved, and operation can proceed to Block 104.
(45) If R is not zero, for example due to a rounding error within A.sub.i arising from the smallest increment A.sub.inc for A.sub.i, then a correction is to be applied to at least one of the pulses. To this end, an additional pulse amplitude A.sub.R is computed from R and W.sub.start (Block 103E′). This calculation is performed as:
A.sub.R=round(R/W.sub.start)
(46) This additional amplitude A.sub.R may then be added to the amplitude A.sub.i of one of the k pulses of the frame (Block 103F′). This calculation is performed as:
A.sub.j=A.sub.i+A.sub.R
(47) This may be done to any of the k pulses and not need be a specific pulse. As an alternative, if desired, this additional amplitude A.sub.R may be distributed over n of the k pulses as A.sub.R/n (Block 103G′). Operation is then ready to proceed to Block 104.
(48) Referring back to
K.sub.max≥1
W.sub.min≤W.sub.i≤W.sub.max
W.sub.min≤W.sub.i≤W.sub.max
W.sub.min≥t.sub.rise+t.sub.fall
A.sub.min≤A.sub.i≤A.sub.max
A.sub.min≤A.sub.start≤A.sub.max
(49) Assuming these constraints are met (Blocks 104 and 110), the k pulses each with the same width W.sub.i and the same amplitude A.sub.i are generated so as to cause display of the frame (Block 116), and the process waits for the next image frame (Block 117).
(50) However, these constraints may not be met by the initial values of width W.sub.i and amplitude A.sub.i, given certain values of Q.
(51) If the width of the current pulse (ith pulse) is less than the maximum pulse width value (Block 104), e.g., if W.sub.i<W.sub.min, then the amplitude A.sub.i of the current pulse is evaluated (Block 105).
(52) If the amplitude A.sub.i of the current pulse is not equal to the minimum amplitude A.sub.min, e.g., if A.sub.i≠A.sub.min (Block 105), then the amplitude A.sub.i of the current pulse is decremented by the amplitude increment size A.sub.inc, e.g., A.sub.i=A.sub.i−A.sub.inc (Block 108), and a return is made to Block 103. At Block 103, W.sub.i is recalculated such that each of the k pulses in the frame have a same width W.sub.i and a same amplitude A.sub.i (with A.sub.i having been update at Block 108) such that the area of the pulse train is equal to Q.
(53) Returning back to the discussion of Block 105, if the amplitude A.sub.i of the current pulse is equal to the minimum amplitude A.sub.min, e.g., if A.sub.i=A.sub.min (Block 105), then the current value of k is evaluated (Block 106). If the number of pulses k in the current frame is not equal to one, e.g., if k≠1, then k is decremented by one, e.g., k=k−1 (Block 107), and the process returns to Block 103. At Block 103, W.sub.i is recalculated such that each of the k pulses (with k having been decremented at Block 107) in the frame have a same width W.sub.i and a same amplitude A.sub.i such that the area of the pulse train is equal to Q.
(54) Returning back to the discussion of Block 106, if the number of pulses k in the current frame is equal to one, e.g., if k=1, then no pulses are generated by the LED driver circuitry 41 (Block 109), in which case illumination for this image frame will not be produced, and the process then waits for the next image frame (Block 117).
(55) If, at evaluation of the width W.sub.i of the current (ith) pulse (Block 103), the width W.sub.i of the current pulse is not less than the minimum pulse width value (Block 104), e.g., if W.sub.i≥W.sub.min, then the width W.sub.i of the current pulse is compared to the maximum pulse width W.sub.max (Block 110). If the width W.sub.i of the current pulse is not greater than the maximum pulse width W.sub.max, e.g., if W.sub.i≤W.sub.max, then as explained above the remaining pulses are generated by the LED driver circuitry 41 without further modification (Block 116), and the process waits for the next image frame (Block 117).
(56) If the width W.sub.i of the current pulse is greater than the maximum pulse width W.sub.max, e.g., if W.sub.i>W.sub.max (Block 110), then the amplitude A.sub.i of the current pulse is evaluated (Block 111). If the amplitude A.sub.i of the current pulse is not equal to the maximum amplitude A.sub.max, e.g., if A.sub.i≠A.sub.max, then the amplitude A.sub.i of the current pulse is incremented by the amplitude increment size A.sub.inc, e.g., A.sub.i=A.sub.i+A.sub.inc (Block 112), and the process returns to Block 103. If the amplitude A.sub.i of the current pulse is equal to the maximum amplitude A.sub.max, e.g., if A.sub.i=A.sub.max, then the current value of k is evaluated (Block 113). If the current value of k is not equal to k.sub.start., i.e., k≠k.sub.start, then k is incremented by one, i.e., k=k+1 (Block 114), and the process returns to Block 103. If the current value of k is equal to starting maximum number of pulses that may be present in a single frame k.sub.start., i.e., k=k.sub.start, then all pulses with a width W.sub.i greater than the maximum width W.sub.max, i.e., W.sub.i>W.sub.max, are set to the maximum width W.sub.max (Block 115), the remaining pulses are generated by the LED driver circuitry 41 to thereby achieve maximum brightness for the given LEDs within the system (Block 116), and the process waits for the next image frame (Block 117).
(57) The above-described technique for generation of the current pulses that drive the LEDs of the pixel array 14, 14′ during the frame are effective in producing the desired degree of brightness without causing visible flicker. Also, the probability of a pulse being skipped is reduced, and the probability of low frequency components being displayed.
(58) A graph showing sample current pulses and the frequency spectrum of produced light generated using the techniques described above is found in
(59) It is clear that modifications and variations may be made to what has been described and illustrated herein, without thereby departing from the scope of this disclosure, as defined in the annexed claims.
(60) While the disclosure has been described with respect to a limited number of embodiments, those skilled in the art, having benefit of this disclosure, will appreciate that other embodiments can be envisioned that do not depart from the scope of the disclosure as disclosed herein. Accordingly, the scope of the disclosure shall be limited only by the attached claims.