The present invention relates generally to a system and method for displaying information, and more particularly to a system and method for a driving an LCD using a data-dependent, logic-level drive scheme.
Liquid crystal displays (LCDs) have become a common way to display information in electronic devices and computers. LCDs have advantages such as being thin and light (when compared to cathode ray tube displays) as well as being energy efficient. LCDs typically operate by regulating the transmission of light, wherein in one state, the transmission of light through a picture element is permitted while in a second state the transmission of light through the picture element is blocked.
An LCD is made up of a plurality of pixels (or segments) that can be turned on or off by applying a voltage potential across a common (or backplane) electrode and a select electrode that is associated with each pixel. The state of a pixel is determined by a root mean square voltage (Vrms) across its common electrode and select electrode. The voltage potential across the electrodes can energize a liquid crystal fluid so that it can either pass or block the flow of light. For example, when the Vrms is greater than a threshold voltage for the LCD, the pixel is ON. The pixel is OFF when the Vrms is less than the threshold voltage for the LCD. Furthermore, in order to prevent damage to the LCD since a DC voltage can deteriorate the liquid crystal fluid so that it can no longer be energized, there is a requirement that no DC offset be present across any and all pixels.
Since the state of each pixel can be independently controlled, each pixel can be driven by a signal that is provided by an interconnection. However, since many LCDs can have a very large number of pixels, sharing (multiplexing) a single connection between multiple pixels can be used to reduce the overall number of interconnections between an LCD and driver circuitry. For example, in an LCD with ⅓ multiplexing (a multiplex factor of 3), a single common electrode interconnection can be used to control the state of three pixels. It is not unusual for an LCD with a large number of pixels to have 1/64 or 1/128 (or higher) multiplexing, wherein a single common electrode interconnection can be used to control the state of 64 or 128 pixels.
A commonly used prior art technique to drive a signal that can be used to control the state the pixels of an LCD involves the use of analog output drivers and voltage charge pump circuitry to provide necessary multi-voltage level drive signals. The use of multi-voltage level drive signals can simplify the generation of drive signals for multiplexed LCDs as well as maximize a delta between Vrms ON and Vrms OFF in order to maximize LCD viewing contrast.
Another prior art technique that can be used to control the state of the pixels of an LCD is to drive these pixels directly with logic-level circuitry. The use of logic level signaling (typically a two level signal) permits the direct coupling of the LCD with the circuitry used to generate the drive signals.
One disadvantage of the prior art is that the use of analog output drivers and voltage charge pumps are typically more difficult and complex to integrate into an integrated circuit. The increased difficulty and complexity increases the cost of producing LCD control circuitry as well as potentially decreasing the reliability of the circuitry. Therefore, the use of analog output drivers and voltage charge pumps can result in a more expensive LCD drive system that is potentially less reliable.
A second disadvantage of the prior art is that the use of logic level signaling can result in a relatively small difference between on and off RMS voltage levels for controlling the state of a pixel, when compared to the difference achievable when using charge pumps and analog output drivers. With a small difference between the on and the off voltages, the contrast between a pixel in the on state and a pixel in the off state is small. Therefore, the visual quality of the LCD is not as good as when there is a large difference between the on and the off voltages.
These and other problems are generally solved or circumvented, and technical advantages are generally achieved, by preferred embodiments of the present invention which provides a system and method for driving an LCD using a data-dependant, logic-level drive scheme.
In accordance with a preferred embodiment of the present invention, a method for driving a liquid crystal display (LCD) pixel multiplexed set with a data dependent signal, wherein the LCD pixel multiplexed set contains a plurality of pixels is provided. The method includes determining a desired state of each pixel in the LCD pixel multiplexed set, deriving a drive waveform sequence based upon the state of all pixels in the LCD pixel multiplexed set, and outputting the drive waveform sequence to the LCD pixel multiplexed set.
In accordance with another preferred embodiment of the present invention, a method for computing a drive waveform for a liquid crystal display (LCD) pixel multiplexed set, wherein the LCD pixel multiplexed set contains a plurality of pixels is provided. The method includes computing a number of time slots based upon a number of pixels in the plurality of pixels, generating a set of common waveform sequences, and determining a number of potential drive waveforms. The method also includes calculating a root-mean squared (RMS) voltage value for each pixel in the LCD pixel multiplexed set. The RMS voltage values are calculated for each potential drive waveform sequence and common waveform sequence combination. The method then selects a potential drive waveform sequence for each possible combination of pixel values for the pixels in the LCD pixel multiplexed set.
In accordance with another preferred embodiment of the present invention, a liquid crystal display (LCD) drive circuit is provided. The LCD has a multiplex factor of N. The LCD drive circuit includes a processor that is configured to group data to be displayed on the LCD based upon a value of pixels in a multiplexed set, and a display logic circuit coupled to the processor. The display logic circuit is configured to derive a drive waveform based on the value of pixels in the multiplexed set. The LCD drive circuit also includes multiple select driver circuits coupled to the display logic circuit. Each select driver circuit to place a drive waveform onto a select signal line. Additionally, the LCD drive circuit includes a phase generator coupled to the processor. The phase generator continually places N common waveform sequences onto N common signal lines with each common waveform sequence on a unique common signal line.
An advantage of a preferred embodiment of the present invention is that a larger difference between an on and an off RMS voltage for controlling the state of a pixel of an LCD can in some cases be achieved as compared to prior art solutions, thereby increasing the contrast between an on pixel and an off pixel and improving the quality of the display.
A further advantage of a preferred embodiment of the present invention is that the use of logic level drive signals rather than analog drive circuits and voltage charge pumps can enable the easier integration of an LCD control and drive circuit into an integrated circuit. The integration can help to reduce the cost as well as increase the reliability of the LCD control and drive circuit.
The foregoing has outlined rather broadly the features and technical advantages of the present invention in order that the detailed description of the invention that follows may be better understood. Additional features and advantages of the invention will be described hereinafter which form the subject of the claims of the invention. It should be appreciated by those skilled in the art that the conception and specific embodiments disclosed may be readily utilized as a basis for modifying or designing other structures or processes for carrying out the same purposes of the present invention. It should also be realized by those skilled in the art that such equivalent constructions do not depart from the spirit and scope of the invention as set forth in the appended claims.
For a more complete understanding of the present invention, and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which:
a and 1b are diagrams of exemplary LCDs;
a and 3b are diagrams of memory based systems for storing the values of drive waveforms, according to a preferred embodiment of the present invention;
a through 4c are diagrams of a system for displaying information on an LCD, according to a preferred embodiment of the present invention;
a and 9b are diagrams of drive waveform and common waveform sequences for an exemplary ⅕ multiplexed LCD, according to a preferred embodiment of the present invention.
The making and using of the presently preferred embodiments are discussed in detail below. It should be appreciated, however, that the present invention provides many applicable inventive concepts that can be embodied in a wide variety of specific contexts. The specific embodiments discussed are merely illustrative of specific ways to make and use the invention, and do not limit the scope of the invention.
The present invention will be described with respect to preferred embodiments in a specific context, namely an LCD with interconnect multiplexing of ⅓, 1/4, and ⅕. The invention may also be applied, however, to other LCDs with other interconnect multiplexing values.
With reference now to
The seven-segment LCD 100, as shown in
The diagram shown in
Since it is necessary for the drive voltage across all pixels to have zero DC offset, the values of the drive signal cannot simply be the desired value of the pixel. For example, if an interconnect is driving a single pixel, the drive signal cannot be a single value signal that is necessary to set the pixel to the desired state since this would result in the drive signal having a non-zero DC offset. The values of the drive waveform for a given interconnect are dependent upon the desired value of the pixels being driven by the interconnect as well as the need to have a zero DC offset.
With reference now to
However, it can be possible to increase a delta RMS voltage between the on state voltage and the off state voltage of the LCD pixels in the multiplexed set by considering the state of all of the LCD pixels in the multiplexed set when determining the values of the drive waveform sequence. For example, referring back to the ⅓ multiplexed interconnection, the effect on the drive waveform sequence by the desired state of pixel number one can be different, depending upon the desired states of pixels number two and number three. Therefore, in the determining of the values of the drive waveform sequence, the desired states of all LCD pixels in the multiplexed set should be considered.
According to a preferred embodiment of the present invention, the algorithm 200 can execute on a display controller, a display driver circuit, a general purpose controller, a processing element, or some other circuit that can have the responsibility of generating the drive signals for an LCD. The display controller (not shown) can begin by determining the desired state of each LCD pixel in a multiplexed set (block 205). If there is more than one multiplexed set of LCD pixels (i.e. more than one select signal line), the display controller can determine the desired state of each LCD pixel in each multiplexed set. The determining of the desired state of each LCD pixel can be performed by referencing a memory that is used to store the information that is to be displayed on the LCD, such as a display memory (not shown), and retrieving values stored in memory locations corresponding to the individual LCD pixels in the multiplexed set, for example.
After determining the desired state of each LCD pixel in the multiplexed set, the display controller can derive the drive waveform sequence based upon the determined desired states of all of the LCD pixels in the multiplexed set (block 210). According to a preferred embodiment of the present invention, the LCD pixels in the multiplexed set can be arranged in a specified order to generate an index that can be used to access a memory or a storage table to retrieve the values of the drive waveform sequence. For example, if the multiplexed set contains three LCD pixels: pixels number one, number two, and number three, then the desired states of the LCD pixels can be arranged in a specified order, such as a binary arrangement wherein state_pixel_number_one*2ˆ2+state_pixel_number_two*2ˆ1+state_pixel_number_three*2ˆ0=INDEX, to compute the index into the memory. The drive waveform sequence can then be retrieved by referencing the memory with the index, INDEX. As an example, if the desired states of the three LCD pixels are as follows: pixel_number_one=ON (1), pixel_number_two=OFF (0), and pixel_number_three=ON (1), then INDEX=1*2ˆ2+0*2ˆ+1*2ˆ=4+0+1=5. Alternatively, the drive waveform sequence can be derived (or generated) on the fly after the display controller has determined the desired state of each LCD pixel in the multiplexed set. This may be accomplished by having a sequence generator that can generate the needed values for the drive waveform sequence based upon the desired states of the LCD pixels. An advantage of generating the drive signal on the fly is a potentially significant reduction in storage requirements, which can be especially advantageous when the number of LCD pixels being multiplexed on any given interconnect is large.
After deriving (or generating) the drive waveform sequence (block 210), the display controller can then output the drive waveform sequence on the multiplexed interconnection (block 215). The values of the drive waveform sequence have a finite duration and change over the LCD frame time period. The display controller may need to buffer the values of the drive waveform sequence so that the appropriate signal level can be properly outputted onto the multiplexed interconnection at the appropriate time. Alternatively, the drive controller can store the memory index of the drive waveform sequence and the index can be used to reference the memory to retrieve the values of the drive waveform sequence as needed. For example, the drive controller can store the index, such as the number five (5) from the discussion above, and associate the index with the multiplexed interconnection. Then, the index can be used to retrieve the values of the drive waveform sequence and the values can then be outputted onto the multiplexed interconnection.
The total time required to completely output the drive waveform sequence onto the multiplexed interconnection before repeating the cycle is typically referred to as the LCD frame period. The inverse of the LCD frame period is commonly referred to as the LCD frame frequency. System designers typically set the LCD frame frequency for an LCD in the range of 70 to 100 Hz. If set too low, LCD flickering can occur, while setting the LCD frame frequency too high can result in unnecessary power consumption. Because the LCD frame period is essentially constant, the amount of time that the display controller has to drive a specific signal value within a completed drive waveform sequence will decrease as the number of pixels in a multiplexed set increases. Consequently, the amount of time that the controller has to drive a specific state within the drive waveform sequence can be determined by dividing the LCD frame period by a number of total number of states (or time slots) in the drive waveform sequence. To ensure that zero DC offset is presented to the LCD pixels, the drive controller can simply drive the interconnect with an inverted version of the drive waveform sequence on both the select and common interconnects on alternating LCD frame periods.
With reference now to
The diagram shown in
With reference now to
The system 400 can include a central processing unit (CPU) 405. The CPU 405 can be used to perform tasks such as grouping data that is to be displayed on the LCD into groups that is divided along their respective segments, computing graphical information, generating content to be displayed, computing data to be displayed, and so forth. The tasks performed by the CPU 405 can be dependent upon the nature of the system 400. For example, if the system 400 is a part of a stand alone electronic device, then the CPU 405 may be responsible for performing more tasks than if the system 400 were a single chip solution that was intended to function as an interface between an electronic device and an LCD.
An LCD can be divided into a plurality of pixels that can be grouped into multiplexed sets, with the number of multiplexed sets in the LCD being dependant upon the multiplexing of the display. For example, a ⅕ multiplexed LCD will have its pixels grouped into multiplexed sets of five pixels each. Each multiplexed set will have a select driver 410 and a select signal line. Select drivers 410 can be used to put needed signals onto a select signal line to turn on and off the pixels of the multiplexed set. For an LCD with K pixels, the number of select signal lines needed is equal to K/N with N being a degree of multiplexing.
In order to turn on (or turn off) a pixel, an RMS voltage realized across the pixel must be above (or below) a threshold value. The RMS voltage across a pixel can be defined as an RMS voltage potential seen across the select signal line and a common signal line associated with the pixel. A phase generator and common signal generator 415 can be used to provide the common waveform sequence on a common signal line. As in the case with the select signal lines, each pixel of the LCD is associated with only one common signal line. According to a preferred embodiment of the present invention, the common waveform sequence provided to a common signal line is a predetermined sequence that is continually repeated and is, therefore, not dependent on the state of any pixel in the LCD. Therefore, it can be possible to implement the phase generator and common signal generator 415 as a plurality of memory elements (not shown) that is capable of storing the desired values of the common waveform sequences and a plurality of signal drivers (not shown) that can read the values for the common waveform sequences from the memory elements and assert the values onto the respective common signal lines. Alternatively, an array of shift registers can be used to shift out the desired values of the common waveform sequences onto the various common signal lines.
The CPU 405 can provide the data to be displayed on each multiplexed set of pixels during each display refresh cycle by providing the data to a data bus 417 and a select number (or select address) to an address bus 418. An address decoder 420 can convert the select number (or select address) and enable a proper select driver 410. When properly enabled by the address decoder 420, the select driver 410 can read the data (the drive waveform sequences) from a second data bus 419 and drive the select signal line.
In many circumstances, the data to be displayed by a particular multiplexed set (or select signal grouping) of pixels (the data that the CPU 405 will provide to the data bus 417) must be converted into a form that is compatible with the LCD. A display logic circuit 425 can be used to convert the data to be displayed by a particular multiplexed set of pixels into a form that is compatible with the LCD, i.e., convert the data to be displayed into drive waveform sequences. According to a preferred embodiment of the present invention, the display logic circuit 425 can make use of a table, such as the table 305 (
A pair of clocks, clock #1435 and clock #2440 can be used to provide necessary timing information for the system 400. The clock #1435 can be used to provide a timing signal for the phase generator and common signal generator 415. As such, the clock #1435 can be configured to continually provide its clock signal as long as it is being powered. In addition to providing timing signal information for the phase generator and common signal generator 415, the clock #1435 can also provide timing information that can be used by the select drivers 410 for providing the values of the drive waveform sequences to their respective select signal lines. The select drivers 410 can also make use of a clock signal as an indicator of when to capture a value on the second data bus 419. This clock signal can be provided by the CPU 405. The clock #2440 can be a combination of the clock signal generated by the clock #1435 (used to clock the providing of the drive waveform sequences to the select signal lines) and the clock signal provided by the CPU 405 (used to clock the capture of the drive waveform sequences on the second data bus 419). The clock #2440 may be implemented as a multiplexer that can selectively couple an output of the clock #1435 or the clock signal generated by the CPU 405 to the select drivers 410.
The diagram shown in
An alternative embodiment of the select drivers 410 and system 400 can enable a reduction in the width of the second data bus 419 and the complexity of the select drivers 410 by providing a single value of the drive waveform sequence per clock cycle rather than all values of the drive waveform sequence in the single clock cycle. Alternatively, a different embodiment of the select drivers 410 and the system can be a compromise in situations where the drive waveform sequences are long (for LCDs with high multiplexing). In such a situation, the second data bus 419 may be set so that it is wider than a single value but not wide enough for all values of the drive waveform sequence and several clock cycles may be needed to transfer all of the values of a drive waveform sequence to the select driver 410.
The diagram shown in
With reference now to
With reference now to
The algorithm 600 can begin after a set of specifications for an LCD is provided. The specifications can specify the degree of multiplexing, the number of select signal lines needed, the number of pixels per select signal line, the number of common signal lines, the duration of the LCD frame period, and so forth. With the specifications for the LCD provided, it is now possible to determine a number of time slots needed for the LCD frame (block 605). Each value asserted on the select signal line and the common signal line is maintained for a specified amount of time (a time slot), therefore, the number of time slots is also an indicator of the number of values to be provided to the select signal lines and the common signal lines. The number of time slots needed for a given degree of multiplexing can be expressed as: Num_time_slots=(Num_pixels_per_select_signal_line*2)−2, wherein Num_pixels_per_select_signal_line is the number of pixels driven by a single select signal line. For example, in an LCD with ⅓ multiplexing, each select signal line drives three pixels, therefore, Num_time_slots=(3*2)−2=4. The value Num_time_slots is equal to the total number of time slots in an LCD frame period.
After determining the number of time slots in each LCD frame period (block 605), the common waveform sequences can be generated (block 607). Although a large variety of waveforms can be used for the common waveform sequence, some sequences can be better than others. For example, some sequences may be easier to generate via hardware techniques, while others may use less power when the values of the sequences are driven onto the common lines. An example of good common waveform sequences can be generated by having the sequences meet two criteria. A first criterion is that all sequences should have only a single high-value state, such as a state “1” in a binary active high system. A second criterion is that for a given unique time slot, there should be only one single state “1.” The exemplary common waveform sequences can easily be generated by marching a single “1” through the different sequences.
After determining the number of time slots in each LCD frame period (block 605) and computing the common waveform sequences (block 607), a total number of potential drive waveform sequences that can be provided to the select signal lines can be determined (block 610). According to a preferred embodiment of the present invention, since each value within a time slot can have one of two values, the total number of potential drive waveform sequences can be expressed as: Num_sequences=Num_time_slots ˆ2. The potential drive waveform sequences themselves can be generated by listing every possible binary sequence of length equal to Num_time_slots. Referring back to the above discussed example of the LCD with ⅓ multiplexing, with Num_time_slots=4, the Num_sequences=4ˆ2=16 and the potential drive waveform sequences can be a list of 16 unique four-valued sequences, wherein each value is a binary value.
After the generation of the potential drive waveform sequences, the desired RMS off voltage (Vrmsoff) and RMS on voltage (Vrmson) is computed using the formulas below (block 612):
Vrmsoff=Vdd*sqrt((Num_time_slots/2−1)Num_time_slots)
Vrmson=Vdd*sqrt((Num_time_slots/2+1)Num_time_slots)
Wherein Vdd is the voltage level represented by logic state “1.”
Then, for each potential value sequence and sequence of values to be provided to the common signal line (block 615), the RMS voltage across each pixel in the multiplexed set is computed. For example, referring back to the above discussed example of the LCD with ⅓ multiplexing, for a given potential value sequence, an RMS voltage for each of the three pixels in a single select signal line can be computed. A first pixel RMS voltage value can be computed with the given potential value sequence and a first sequence of values to be provided to the common signal line, a second pixel RMS voltage value can be computed with the given potential value sequence and a second sequence of values to be provided to the common signal line, and a third pixel RMS voltage value can be computed with the given potential value sequence and a third sequence of values to be provided to the common signal line.
Then, a binary table with a size (number of columns) equal to the number of pixels coupled to a select signal line may be created (block 620). However, rather than using 0's and 1's in the binary table, the ‘0’ values can be replaced with the desired Vrmsoff voltage value, and the ‘1’ values can be replaced with the desired Vrmson voltage value (both values computed above, in block 612). Using the binary table, for each entry in the binary table, a drive waveform sequence with a computed sequence of pixel RMS voltage values that results in a match in the desired RMS off voltage and the desired RMS on voltage results is found (block 625). If more than one potential drive waveform sequence has a computed sequence of pixel RMS voltage values that match, then one potential drive waveform sequence may be selected at random. The selected potential drive waveform sequence will be the sequence of values that will be provided to the select signal line when it is desired that the pixels in the select signal line be set to a certain state. After selecting a potential drive waveform sequence for each entry in the binary table, the drive value sequences can be stored for subsequent use and the algorithm 600 can terminate.
With reference now to
If the common signal line sequences used by the algorithm 600 are shifted, for example, a right shift or a left shift, the drive waveform sequences for the shifted common signal line sequence can readily computed by simply performing the same shift on the drive waveform sequences. For example, if the common signal line sequences are shifted to the right by one bit, the drive waveform sequences for the shifted common signal line sequences can be derived by simple shifting the drive waveform sequences to the right by one bit, rather than needing to apply the algorithm 600 to the shifted common signal line sequences.
With reference now to
With reference now to
Although the present invention and its advantages have been described in detail, it should be understood that various changes, substitutions and alterations can be made herein without departing from the spirit and scope of the invention as defined by the appended claims.
Moreover, the scope of the present application is not intended to be limited to the particular embodiment of the process, machine, manufacture, composition of matter, means, methods and steps described in the specification. As one of ordinary skill in the art will readily appreciate from the disclosure of the present invention, processes, machines, manufacture, compositions of matter, means, methods, or steps, presently existing or later to be developed, that perform substantially the same function or achieve substantially the same result as the corresponding embodiments described herein may be utilized according to the present invention. Accordingly, the appended claims are intended to include within their scope such processes, machines, manufacture, compositions of matter, means, methods, or steps.