Method for hybrid pulse amplitude and width modulation in LED drivers for display panels

11710450 · 2023-07-25

Assignee

Inventors

Cpc classification

International classification

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) FIG. 1A is a diagrammatical representation of a known non-emissive display.

(2) FIG. 1B is a diagrammatical representation of cross section of the non-emissive display of FIG. 1A.

(3) FIG. 2A is a diagrammatical representation of a known emissive display.

(4) FIG. 2B is a diagrammatical representation of cross section of the emissive display of FIG. 2A.

(5) FIG. 3 is a block diagram of a display matrix of the non-emissive display of FIGS. 1A and 1B, which is controlled to perform the dimming technique described herein.

(6) FIG. 4 is a block diagram of a display matrix of the emissive display of FIGS. 2A and 2B, which is controlled to perform the dimming technique described herein.

(7) FIG. 5 is a graph showing an example of a train of pulses used to drive the LEDs of FIG. 3 or 4 when performing the dimming technique described herein.

(8) FIG. 6A is a flowchart showing the dimming technique described herein that enables brightness control of LEDs in a display panel while avoiding visible flicker.

(9) FIG. 6B is a flowchart showing further details of step 103 of the flowchart of FIG. 6A.

(10) FIG. 7 includes a graph showing an example of one train of pulses used to drive the LEDs of FIG. 3 or 4 when performing the technique of FIG. 6, and a graph showing the frequency spectrum of the light produced by the LEDs when performing the technique of FIG. 6.

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 FIG. 3. The display 30 includes an interface controller 33 that receives input from an external device 27, such as a system-on-a-chip (SOC) or microcontroller including an input processor 28 (such as a GPU) and a system memory 29 in bidirectional communication with the input processor 28. The input processor 28 receives input image information and cooperates with the system memory 29 to generate an output to the interface controller 33 indicating the next frame of image data to be displayed on the liquid crystal layer 38 of the display panel 40. The interface controller 33 processes the output from the input processor 28, and provides outputs to a timing controller 34 and display power management circuitry 37. The timing controller 34 coordinates with the backlight controller 35 to provide control signals to the drivers 41 (e.g., respective row and column drivers) associated with the backlight panel 14, and the LCD display drivers 36 to provide control signals to the liquid crystals 38, to enable coordination between the backlight panel 14 and the liquid crystals 38 so as to achieve image display. Each of the illustrated zones within the backlight panel 14 may include multiple serially connected LEDs, and those LED strings may be connected in parallel with one another.

(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 FIG. 4. The display 30′ includes an interface controller 33 that receives input from an external device 27, such as a system-on-a-chip (SOC) or microcontroller including an input processor 28 (such as a GPU) and a system memory 29 in bidirectional communication with the input processor. The input processor 28 receives input image information and cooperates with the system memory 29 to generate an output to the interface controller 33 indicating the next frame of image data to be displayed on the display matrix 14′. The display matrix 14′ is emissive and may generate colored RGB light from the sub-pixels of each pixel, and additionally or alternatively may generate different light colors other than RGB from the sub-pixels of each pixels. The interface controller 33 processes the output from the input processor 28 and provides outputs to a timing controller 34 and display power management circuitry 37. The timing controller 34 provides control signals to the drivers 41 associated with the display panel 14′ to provide control signals so as to achieve image display.

(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 FIG. 5. The pulse train of k pulses is within a single image frame period, and the charge Q is divided between the k pulses of the frame. Each pulse 50 has an amplitude A, a pulse width W, a rise time t.sub.rise, and a fall time t.sub.fall.

(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 FIG. 6A, the operation of the timing controller 34, backlight controller 35 (if a non-emissive display is used), and driver circuitry 41 (which generates the current pulses that drive the pixel array 14′) for brightness control without visible flicker is described.

(20) Note that in the following descriptions, all formula used (and formulae derived therefrom) are suited for the example pulse train shape shown in FIG. 5, but if the pulse shape changes, these formula may appropriately change, without impacting the applicability of this disclosure to numerous applications.

(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=½×A.sub.i(2W.sub.i−t.sub.rise−t.sub.fall)

(24) Refer now to FIG. 6B for description of the steps of Block 103. First the case where a fixed starting amplitude A.sub.start is used is described with reference to flowchart 103 in FIG. 6B.

(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) W i = round ( Q ( k A start ) + t rise 2 + t fall 2 )

(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) A pulse = A start 2 ( 2 W i - t rise - t fall )

(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) R = Q - k × A pulse = Q - k × A start 2 ( 2 W i - t rise - t fall )

(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 FIG. 6B.

(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) A i = round ( 2 Q k ( 2 W start - t rise - t fall )

(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) A pulse = A i 2 ( 2 W start - t rise - t fall )

(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) R = Q - k × A pulse = Q - k × A i 2 ( 2 W start - t rise - t fall )

(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 FIG. 6A, it is desired for the following constraints to be met:
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 FIG. 7. In this example, Q=500 mA/μs, K.sub.start=10, W.sub.min=2 μs, W.sub.max=500 μs, W.sub.inc=100 ns, A.sub.min=300 μA, A.sub.max=20 mA, A.sub.inc=600 nA, A.sub.start=500 μA, t.sub.rise=t.sub.fall=500 ns, and the frame rate is 120 Hz. As can be observed, the results yield 10 pulses in the current frame, each having a 100.5 μs duration and a 500 μA amplitude. The minimum harmonic frequency is 1.2 kHz, thereby avoiding flicker because there are no harmonic components below 600 Hz.

(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.