In digital-to-analog conversion systems, a method and system for increased effective resolution in an N-bit DAC are provided. Additional resolution may be provided in an N-bit DAC by increasing the number of periods that an N-bit PWM may utilize to generate an output train of pulse widths with a desired duty cycle. An increased resolution bits parameter may correspond to the additional bits necessary to provide the increased resolution. An iterative process by which a desired value is converted into a sequence of N-bit control words may be based on a desired analog value and the increased resolution bits parameter. In addition to higher resolution, most of the output pulse AC energy is concentrated at the N-bit PWM basic frequency and above, allowing for simpler analog filtering of the pulse width modulated signal.

Claim:

What is claimed is:

1. A method for digital-to-analog signal conversion, the method comprising: generating a plurality of control words based on a number of increased resolution bits and adigital representation of a desired analog value; generating a plurality of pulse width modulated signals, wherein a duty cycle of each of said plurality of pulse width modulated signals corresponds to one of said generated plurality of control words; and generating said desired analog value based on said generated plurality of pulse width modulated signals.

2. The method according to claim 1, further comprising generating said plurality of control words by an iterative process, wherein a round of processing in said iterative process comprises: generating a current accumulator value by adding saiddigital representation of said desired analog value to a previous accumulator value; generating a duty cycle by shifting down said generated current accumulator value by said number of increased resolution bits; shifting up said generated duty cycle bysaid number of increased resolution bits; and generating a next accumulator value by adding said shifted up generated duty cycle to said generated current accumulator value.

3. The method according to claim 2, further comprising assigning said generated duty cycle to one of said plurality of control words that corresponds to a current round of processing.

4. The method according to claim 2, further comprising assigning a zero value to said previous accumulator value before a first round of processing in said iterative process.

5. The method according to claim 2, further comprising performing said iterative process until a new desired analog value is provided.

6. The method according to claim 2, further comprising performing said iterative process until an interrupt signal is provided.

7. A machine-readable storage having stored thereon, a computer program having at least one code for digital-to-analog signal conversion, the at least one code section being executable by a machine for causing the machine to perform stepscomprising: generating a plurality of control words based on a number of increased resolution bits and a digital representation of a desired analog value; generating a plurality of pulse width modulated signals, wherein a duty cycle of each of saidplurality of pulse width modulated signals corresponds to one of said generated plurality of control words; and generating said desired analog value based on said generated plurality of pulse width modulated signals.

8. The machine-readable storage according to claim 7, further comprising code for generating said plurality of controls words by an iterative process, wherein a round of processing in said iterative process comprises: generating a currentaccumulator value by adding said digital representation of said desired analog value to a previous accumulator value; generating a duty cycle by shifting down said generated current accumulator value by said number of increased resolution bits; shifting up said generated duty cycle by said number of increased resolution bits; and generating a next accumulator value by adding said shifted up generated duty cycle to said generated current accumulator value.

9. The machine-readable storage according to claim 8, further comprising code for assigning said generated duty cycle to one of said plurality of control words that corresponds to a current round of processing.

10. The machine-readable storage according to claim 8, further comprising code for assigning a zero value to said previous accumulator value before a first round of processing in said iterative process.

11. The machine-readable storage according to claim 8, further comprising code for performing said iterative process until a new desired analog value is provided.

12. The machine-readable storage according to claim 8, further comprising code for performing said iterative process until an interrupt signal is provided.

13. A system for digital-to-analog signal conversion, the system comprising: a DAC controller that generates a plurality of control words based on a number of increased resolution bits and a digital representation of a desired analog value; anN-bit DAC that generates a plurality of pulse width modulated signals, wherein a duty cycle of each of said plurality of pulse width modulated signals corresponds to one of said generated plurality of control words; and said N-bit DAC generates saiddesired analog value based on said generated plurality of pulse width modulated signals.

14. The system according to claim 13, wherein said DAC controller generates said plurality of controls words by an iterative process and a round of processing in said iterative process comprises: generating a current accumulator value by addingsaid digital representation of said desired analog value to a previous accumulator value; generating a duty cycle by shifting down said generated current accumulator value by said number of increased resolution bits; shifting up said generated dutycycle by said number of increased resolution bits; and generating a next accumulator value by adding said shifted up generated duty cycle to said generated current accumulator value.

15. The system according to claim 14, wherein said DAC controller assigns said generated duty cycle to one of said plurality of control words that corresponds to a current round of processing.

16. The system according to claim 14, wherein said DAC controller assigns a zero value to said previous accumulator value before a first round of processing in said iterative process.

17. The system according to claim 14, wherein said DAC controller performs said iterative process until a new desired analog value is provided.

18. The system according to claim 14, wherein said DAC controller performs said iterative process until an interrupt signal is provided.

19. The system according to claim 13, wherein said N-bit DAC is based on a pulse width modulator (PWM).

20. The system according to claim 13, wherein said N-bit DAC is a conventional DAC.

Description:

FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

Not applicable.

MICROFICHE/COPYRIGHT REFERENCE

Not applicable.

FIELD OF THE INVENTION

Certain embodiments of the invention relate to the conversion of digital signals to analog signals. More specifically, certain embodiments of the invention relate to a method and system for increased effective resolution in an N-bitdigital-to-analog converter.

BACKGROUND OF THE INVENTION

In electronic processing systems there are many instances in which it may be necessary or desirable to derive, from a digital number, an analog voltage that is proportional to the digital number. For example, in the operation of VoltageControlled Oscillators (VCO), an analog voltage value that controls the frequency of oscillation of the VCO may be derived from a frequency control digital signal. Such derivation is called digital-to-analog conversion and the electronic device orcircuit that implements this function is called a Digital-to-Analog Converter (DAC). In a traditional current steering implementation of a DAC, analog circuitry may be utilized in which each bit of the digital value controls an appropriately sizedcurrent source. For example, for an N-bit DAC there may be N current sources each coupled to one of the bits in the N-bit number and proportionally sized to the binary weight of the corresponding bit. The N current sources may then be coupled to acommon resistor, where the voltage across the common resistor is proportional to the value of the N-bit digital number. When a zero (0) value is to be represented, the N current sources may be turned off and no voltage develops across the commonresistor. The large area required for an analog-based DAC may be excessively costly for integrated circuits (IC) where most of its components are digital.

When the rate of change of the converted analog signal is low relative to the frequency of operation of the digital circuitry, a DAC may be implemented utilizing mostly digital circuitry. In such a case, the conversion may be accomplished by afirst digital stage that generates a digital waveform that has an average duty cycle proportional to the digital value to be converted. This first digital stage is a pulse width modulation operation and a device that implements this operation is calleda Pulse Width Modulator (PWM). Duty cycle refers to the fraction of time that the digital waveform is high during a specified period of time or cycle time. A second analog stage in the conversion may require passing the generated digital waveformthrough a low pass analog filter, resulting in an accurate approximation of the correct analog value from the duty cycle of the digital waveform. In this approach, only the analog filter stage of the DAC may require the implementation of analogcomponents in or external to an IC.

In some instances, while the accuracy of a PWM-based DAC may be sufficient for an application, the resolution provided may be limited by the resolution available in the PWM. Moreover, the spectral properties of a PWM-based DAC may be such thatthe filtering operation performed by the second analog stage is difficult and costly to implement since a large portion of the AC energy of the digital waveform is concentrated at the PWM output frequency.

In other DAC implementations, for example, a Sigma-Delta (.SIGMA.-.DELTA.) DAC, the first digital stage may utilize oversampling and digital filtering to generate a more complex digital waveform which may have desirable spectral properties. Thisapproach may reduce the cost of the second analog stage to filter out the unwanted high frequency components without affecting the desired analog signal. However, the first digital stage in .SIGMA.-.DELTA. DACs may be very complex and therefore costlyto implement in digital ICs.

Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of skill in the art, through comparison of such systems with some aspects of the present invention as set forth in the remainder of thepresent application with reference to the drawings.

BRIEF SUMMARY OF THE INVENTION

Certain embodiments of the invention may be found in a method and system for increased effective resolution in an N-bit digital-to-analog converter (DAC). Aspects of the method may comprise generating a plurality of control words based on anumber of increased resolution bits and a digital representation of a desired analog value. The number of increased resolution bits may be determined based on the desired analog value and an N number of bits of resolution provided by an N-bit DAC. Aplurality of pulse width modulated signals may be generated, wherein a duty cycle of each of the plurality of pulse width modulated signals corresponds to one of the generated control words. The amplitude of the generated desired analog value may bemodified.

The method may also comprise an iterative process for generating the control words. The iterative process may comprise a plurality of rounds of processing, where in each round of processing a current accumulator value may be generated by addingthe digital representation of the desired analog value to a previous accumulator value. The round of processing in the iterative process may also comprise generating a duty cycle by shifting down the generated current accumulator value by the number ofincreased resolution bits. Also in a round of processing in the iterative process, the generated duty cycle may be shifted up by the number of increased resolution bits. Moreover, during a round of processing in the iterative process, subtracting theshifted-up generated duty cycle to the generated current accumulator value may generate a next accumulator value. The duty cycle generated during a current round of processing in the iterative process may be assigned to one of the control words thatcorrespond to the current round of processing. A zero value may be assigned to the previous accumulator value before a first round of processing in the iterative process. The iterative process may be performed until a new desired analog value isprovided or until an interrupt signal is provided.

Another embodiment of the invention may provide a machine-readable storage having stored thereon, a computer program having at least one code for increasing the effective resolution in an N-bit DAC, at least one code section being executable by amachine for causing the machine to perform the method described herein.

Aspects of the system may comprise a DAC controller that generates a plurality of control words based on a number of increased resolution bits and a digital representation of a desired analog value. The DAC controller may determine the number ofincreased resolution bits based on the desired analog value and an N number of bits of resolution provided by an N-bit DAC. The N-bit DAC may comprise an N-bit pulse width modulator (PWM) and an analog filter. The N-bit DAC may generate a plurality ofpulse width modulated signals, wherein a duty cycle of each of the plurality of pulse width modulated signals corresponds to one of the generated control words.

The DAC controller may generate the control words by an iterative process. The iterative process may comprise a plurality of rounds of processing, where in each round of processing in the DAC controller a current accumulator value may begenerated by adding the digital representation of the desired analog value to a previous accumulator value. The round of processing in the iterative process may also comprise generating a duty cycle by shifting down the generated current accumulatorvalue by the number of increased resolution bits. Also in a round of processing in the iterative process, the generated duty cycle may be shifted up by the number of increased resolution bits. Moreover, during a round of processing in the iterativeprocess, subtracting the shifted-up generated duty cycle to the generated current accumulator value may generate a next accumulator value. The DAC controller may assign a duty cycle generated during a current round of processing in the iterative processto one of the control words that correspond to the current round of processing. The DAC controller may also assign a zero value to the previous accumulator value before a first round of processing in the iterative process. The DAC controller mayperform the iterative process until a new desired analog value is provided or until an interrupt signal is provided.

These and other advantages, aspects and novel features of the present invention, as well as details of an illustrated embodiment thereof, will be more fully understood from the following description and drawings.

BRIEF DESCRIPTION OFSEVERAL VIEWS OF THE DRAWINGS

FIG. 1 is a block diagram of an exemplary system for digital-to-analog conversion utilizing a pulse width modulator, in connection with an embodiment of the invention.

FIG. 2 illustrates exemplary modulated pulse width signals from a 4-bit pulse width modulator, in connection with an embodiment of the invention.

FIG. 3A is a block diagram of a digital-to-analog conversion system with increased effective resolution, in accordance with an embodiment of the invention.

FIG. 3B is a block diagram of an N-bit DAC, in accordance with an embodiment of the invention.

FIG. 4 is a flow diagram illustrating exemplary steps for increasing the effective resolution of the N-bit DAC, in accordance with an embodiment of the invention.

FIG. 5A illustrates an exemplary output of a 4-bit DAC that generates a desired value of 17 with an additional 4-bits of resolution, in accordance with an embodiment of the invention.

FIG. 5B illustrates an exemplary output of a 4-bit DAC that generates a desired value of 33 with an additional 4-bits of resolution, in accordance with an embodiment of the invention.

DETAILED DESCRIPTION OF THE INVENTION

Certain embodiments of the invention may be found in a method and system for increased effective resolution in an N-bit digital-to-analog converter (DAC). Additional effective resolution may be provided in a DAC by increasing the number ofperiods or cycles that a pulse width modulator (PWM) in the DAC utilizes to generate a train of output pulses that, together, have a desired duty cycle. In accordance with the invention, a relatively low resolution DAC may be controlled on a cycle bycycle basis by an iterative process to produce a train of pulse width modulated signals that, when low pass filtered, has a higher resolution than that of the base PWM in the DAC. This may be possible in systems and/or applications where changes orvariations in analog signal values are significantly slower than the speed of operation in the digital circuitry. Since, in most instances, the AC energy in a PWM is at the PWM basic frequency, this approach may provide the benefit of utilizing a lowerresolution PWM at a higher frequency of operation.

FIG. 1 is a block diagram of an exemplary system for digital-to-analog conversion utilizing a pulse width modulator, in connection with an embodiment of the invention. Referring to FIG. 1, a DAC system 100 may comprise suitable logic, circuitry,and/or code that may be adapted to generate a desired analog value from a digital representation of the desired analog value. The DAC system 100 may comprise an N-bit PWM 102 and an analog filter 104. The N-bit PWM 102 may comprise a digital counter106 and a digital comparator 108. The DAC system 100 may be adapted to generate a desired analog signal from a digital representation of the desired analog value, Vd. An accurate approximation of the desired analog signal, Vd*, may be generated by lowpass filtering a pulse width modulated signal with a duty cycle that corresponds to the digital representation of the desired analog signal. The DAC system 100 may generate a similar pulse width modulated signal for each cycle or period where thedigital representation of the desired analog value remains the same.

The digital counter 106 may comprise suitable logic, circuitry, and/or code that may be adapted to operate as an N-bit free running counter. The digital counter 106 may increment its output value, Vcounter, once each clock cycle and may countfrom 0 to 2.sup.N-1, for example. Once the digital counter 106 reaches its highest value, it may go back to zero at the next clock cycle. The digital counter 106 may repeat the counting process continuously or until a reset signal is provided to resetthe counter value to zero at the next clock cycle regardless of the current counter value.

The digital comparator 108 may comprise suitable logic, circuitry, and/or code that may compare the digital values of Vd and Vcounter, where Vd and Vcounter may be N-bit digital words, for example. The digital comparator 108 may generate anoutput pulse, Vout, which may remain high until Vd and Vcounter are equal. In this regard, the duty cycle of the pulse with modulated signal from the digital comparator 108 may correspond to the digital representation of the desired analog value. Theduty cycle may represent the percentage of time the pulse width modulated signal from the digital comparator 108 remains high relative to the entire period or cycle. For example, a signal that is high for 40% of the period and low for the remaining 60%of the period has a 40% duty cycle. For N-bit digital values, the number of pulse width sizes may be, for example, 2^N, when a pulse width of zero is included, and the highest allowed value produces an output that is high for the entire period. Acontrol word value of 0 may produce no pulse at all.

The analog filter 104 may comprise circuitry that may be adapted to low pass filter the pulse width modulated signal from the digital comparator 108 to generate An accurate approximation of the desired analog value, Vd*. In this regard, theanalog filter 104 may convert the duty cycle of the pulse width modulated signal into a corresponding analog value. For example, a pulse width modulated signal with a 40% duty cycle may be converted into an analog signal with an amplitude of 40% themaximum available amplitude. In the case of a simple RC filter, for example, the amplitude of the output is determined by the amplitude of the input when it is high.

FIG. 2 illustrates exemplary modulated pulse width signals from a 4-bit pulse width modulator, in connection with an embodiment of the invention. Referring to FIG. 2, an exemplary train of pulse width modulated signals 200 generated by a 4-bitpulse width modulator (PWM) is shown. The 4-bit PWM in the DAC system 100 in FIG. 1 may be utilized, for example, and may generate 16 levels of resolution. The 4-bit PWM may produce no pulse at all when Vd is 0000, for example. For period 1 shown inFIG. 2, where period 1 may represent any period or cycle in the operation of the 4-bit PWM, a Vd of 1001 may generate a pulse width modulated signal with a duty cycle (DC) of 60%. Similarly, for periods 2, 3, and 4, Vds of 1100, 0011, and 0110 maygenerate pulse width modulated signals with duty cycles of 80%, 20%, and 40% respectively. Increasing the resolution of the N-bit PWM 102 by simply increasing the number N of resolution bits may prove to be an inefficient approach to increasing theresolution of the DAC system 100 in FIG. 1. Increasing the resolution of a PWM without increasing the clock frequency that it is counting decreases the cycle frequency. The AC energy at the cycle frequency needs to be removed by the analog filter.

As the output frequency decreases, the requirements of the analog filter 104 may increase and the ability of the DAC system 100 to change values quickly diminishes. For example, the use of an 8-bit PWM instead of a 4-bit PWM may increase theresolution of the DAC system 100 by a factor of 16 during a period or cycle, but the spectral requirements imposed on the analog filter 104 by the pulse width modulated signals from the 8-bit PWM may be difficult and/or costly to achieve in apredominantly digital IC.

FIG. 3A is a block diagram of a digital-to-analog conversion system with increased effective resolution, in accordance with an embodiment of the invention. Referring to FIG. 3A, the increased resolution DAC system 300 may comprise a DACcontroller 302 and an N-bit DAC 304. The increased resolution DAC system 300 may be adapted to generate a desired analog signal from a digital representation of the desired analog value, Vd. An accurate approximation of the desired analog signal, Vd*,may be generated by low pass filtering a sequence of pulse width modulated signals generated from the digital representation of the desired analog signal.

The DAC controller 302 may comprise suitable logic, circuitry, and/or code that may be adapted to generate a sequence of control words based on a digital representation of a desired analog value, Vd, and a number FB of increased resolution bitsor fractional bits. The N-bit DAC 304 may comprise suitable logic, circuitry, and/or code that may be adapted to generate a desired analog value from a sequence of control words generated by the DAC controller 302.

The DAC controller 302 may generate, for example, a sequence of N-bit control words by utilizing an iterative process that generates a control word for a period or cycle of operation of the N-bit DAC 304. The sequence of control words may beutilized to generate a sequence of pulse width modulated signals in the N-bit DAC 304 with the appropriate duty cycle to generate the desired analog value. In this regard, once the iterative process provides the desired analog value it may be continuedas long as necessary or until a new desired analog value is needed. The desired value may be changed at any time. Although any desired analog value may result in a pattern that eventually repeats, the length of each repetition may not be the same forall desired analog values.

The pseudo C code that follows describes an exemplary iterative process initialization and processing rounds that may be utilized to generate the sequence of control words:

where Accumulator (ACC) is a holding variable, FB is the number of increased resolution bits or fractional bits, Desired Value (DV) is the digital representation of the desired analog value, the operators "<<" and ">>" correspond tobit shift down and bit shift up operations, and Current Duty Cycle (CDC) is a duty cycle for the pulse width modulated signal that may be generated from a control word corresponding to the current round in the iterative process. The Accumulator valuemay be initialized to 0 before a first round of processing in the iterative process. The iterative process described in the pseudo C code may be performed for a plurality of rounds of processing. The iterative process may be continued even when, forexample, a new DV is needed. The iterative process, however, may be stopped when an interrupt signal is provided for that purpose.

FIG. 3B is a block diagram of an N-bit DAC, in accordance with an embodiment of the invention. Referring to FIG. 3B, the N-bit DAC 304 in FIG. 3A may comprise an N-bit PWM 306 and an analog filter 308. The N-bit PWM 306 may comprise suitablelogic, circuitry, and/or code that may be adapted to generate a sequence of pulse width modulated signals that correspond to the sequence of N-bit control words generated by the DAC controller 302 in FIG. 3A. Each pulse width modulated signal maycorrespond to a period or cycle of the N-bit DAC 304. The analog filter 308 may comprise circuitry that may be adapted to convert the sequence of pulse width modulated signals generated by the N-bit PWM 306 into an accurate approximation of the desiredanalog value. The analog filter 308 may low pass filter an entire sequence or train of pulse width modulated signals that correspond to a digital representation of the desired analog value in order to generate the accurate approximation of the desiredanalog value. In some instances, the analog filter 308 may modify the desired analog value by applying a gain, for example. The gain may be utilized to increase or decrease the desired analog value. The approach described herein may also be used witha real DAC instead of a PWM. The advantage there is that a fast low-resolution DAC may be utilized as slower higher-resolution DAC.

FIG. 4 is a flow diagram illustrating exemplary steps for increasing the effective resolution of the N-bit DAC, in accordance with an embodiment of the invention. Referring to FIG. 4, after start step 402, in step 404, the increased resolutionDAC system 300 may receive and/or determine the fractional bits (FB) of increased resolution to be utilized. In step 406, the ACC value may be initialized to 0. In step 408, the increased resolution DAC system 300 may set the Desired Value to beutilized. In step 410, the ACC value may be updated based on the expression ACC=ACC+DV. In step 412, the CDC value may be determined based on the expression CDC=ACC >>FB. Once the CDC value is determined in step 412 it may be transferred in step414 to the N-bit DAC 304 as a control value for a current cycle or period. In step 416, the ACC value may be update based on the expression ACC=ACC-(CDC<<FB). In step 418 the increased resolution DAC system 300 may determine whether a new DV hasbeen received for processing. When a new DV has been received, the flow diagram 400 may proceed to step 406 and the iterative process may continue with the new DV. When a new DV has not been received, the flow diagram 400 may proceed to step 410 andthe iterative process for the current DV may continue. An interrupt signal, for example, may be utilized to stop the iterative process.

FIG. 5A illustrates an exemplary output of an increased resolution 4-bit DAC that generates a desired value of 17 with an additional 4-bits of resolution, in accordance with an embodiment of the invention. Referring to FIG. 5A, a train of pulsewidth modulated signals 500 may be utilized by an increased resolution 4-bit DAC to generate a desired analog value of, for example, a 17/255 resolution, or 00010001 in 8-bit representation. The increased resolution 4-bit DAC may be implemented, forexample, utilizing the architecture of the increased resolution DAC system 300 in FIG. 3A. A conventional 4-bit DAC may only produce 16 analog levels, which in 8-bit number representation may be as follows: 00000000 (0), 00000001 (1), 00000010 (2),00000011 (3), 00000100 (4), 00000101 (5), 00000110 (6), 00000111 (7), 00001000 (8), 00001001 (9), 00001010 (10), 00001011 (11), 00001100 (12), 00001101 (13), 00001110 (14), and 00001111 (15). Conventionally, the 4-bit DAC cannot reproduce an analogoutput value corresponding to 17/255 in 8-bit representation.

The train of pulse width modulated signals 500 that may be utilized to achieve the example average of 00010001 (17) may be produced by the increased resolution DAC system 300 using a technique based on the pseudo C code example described above. In particular, the Accumulator value may be initialized to a value of 0, the Desired Value is 00010001 (17), and FB is 4. In the initial iteration or first round of processing, the Accumulator value is increased by an amount equal to the Desired Valueto achieve a new Accumulator value of 00010001 (17). A Current Duty Cycle value of 0001 (1) may be produced by taking the four most significant bits of the Accumulator value. The Accumulator value is then decreased by an amount that is produced byappending four least significant bits to the Current Duty Cycle value, for example, by an amount equal to 0001000 (16), which leaves the Accumulator value with a value of 00000001 (1). The Current Duty Cycle determined during the first round ofprocessing corresponds to the duty cycle (DC) of the pulse width modulated signal in period 1 of the train of pulse width modulated signals 500 in FIG. 5A. The pulse width modulated signal in period 1 has a duty cycle of 0001 or 6.67%, which maycorrespond to a pulse width of one clock cycle in a period with a duration of 15 clock cycles, for example.

In the next iteration or second round of processing, the Accumulator value is increased by an amount equal to the Desired Value to achieve a new Accumulator value of 00010010 (18). The Current Duty Cycle of 0001 (1) may be produced by taking thefour most significant bits of the Accumulator value. The Accumulator value may be decreased by an amount that is produced by appending four least significant 0 bits to the Current Duty Cycle value, for example, by an amount equal to 00010000 (16), whichleaves the Accumulator value with a value of 00000010 (2). As with the signal in period 1, the pulse width modulated signal in period 2 also has a duty cycle of 0001 or 6.67%. In the next round or iteration of the iterative procedure, Current DutyCycle is 0001 (1) and the final Accumulator value is 0011 (3). The pulse width modulated signal in period 3 also has a duty cycle of 0001 or 6.67%.

The Current Duty Cycle value in each round of processing may represent the current output level of a period in the increased resolution 4-bit DAC. Thus, for rounds 1 15 in the current example of achieving the average analog output value of00010001 (17), the output level of an increased resolution 4-bit DAC is represented by 0001 (1) which corresponds in 8-bit terminology to 00010000 (16).

During round 16 in the current example of achieving the average analog output value of 00010001 (17), the Accumulator value starts with a value of 00001111 (15), and the Accumulator value may be increased by 00010001 (17) to a new Accumulatorvalue of 00100000 (32). A Current Duty Cycle value of 0010 (2) may be produced by taking the four most significant bits of the Accumulator value. The Accumulator value may be decreased by an amount equal to 00100000 (32), which leaves the Accumulatorvalue with a value of 00000000 (0). Thus in round or iteration 16, the output level or duty cycle of the increased resolution 4-bit DAC is represented by 0010 (2) which corresponds in 8-bit terminology to 00100000 (32). In this regard, the pulse widthmodulated signal in period 16 of the train of pulse width modulated signals 500 has a duty cycle of 0010 (2) or 13.33%%, which may correspond to a pulse width of two clock cycles in a period with a duration of 15 clock cycles, for example.

In this illustrative example a sequence of 16 periods is produced corresponding to 15 instances of an output level represented by 0001 (1) which corresponds in 8-bit terminology to 00010000 (16) followed by one instance of an output levelrepresented by 0010 (2) which corresponds in 8-bit terminology to 00100000 (32). The average over time of the 15 instances of 00010000 (16) followed by one instance of 00100000 (32) is the desired average 00010001 (17). The iterative process maycontinue past the first 16 periods of processing illustrated in this example and the desired average analog output will be maintained.

FIG. 5B illustrates an additional exemplary output of an increased resolution 4-bit DAC that generates a desired value of 33 with an additional 4-bits of resolution, in accordance with an embodiment of the invention. Referring to FIG. 5B, thetrain of pulse width modulated signals 520 may be utilized by an increased resolution 4-bit DAC to generate a desired analog value of 33, or 00100001 in 8-bit representation. As with the example described in FIG. 5A, the iterative process based on thepseudo C code described above may be utilized to generate the desired analog value output. In this example, rounds 1 15 may generate a Current Duty Cycle value of 0010 (2) that may be utilized to generate pulse width modulated signals with duty cycles(DC) of 13.33% in periods 1 15. In round 16 of the illustrative example in FIG. 5B, the Current Duty Cycle value is 0011 (3) and a pulse width modulated signal with a duty cycle of 20% is generated during period 16 of the train of pulse width modulatedsignals 520. The average over time of the 15 instances of 00100000 (32) followed by one instance of 00110000 (48) is the desired average 00100001 (33). As with the previous example, the iterative process may continue past the first 16 periods ofprocessing and the desired average analog output will be maintained.

An additional advantage of the increased resolution approach described herein is illustrated by the following example comparing a conventional 16-bit PWM to an increased resolution DAC implemented in accordance with the invention. The examplerelies on the following specifications: PWM clock is 54 MHz and resolution of 16 bits.

The conventional 16-bit PWM may not generate a pulse for a control word with an input value of 0. For a control word with an input of 1, the conventional 16-bit PWM outputs a high value for one cycle of the 54 MHz clock and a 0 for the remaining65534 clock cycles of the pulse period, for example. For a control word with an input of 2, for example, the conventional PWM may output a high value for the first two cycles and a low for the remaining 65533 clock cycles of the pulse period. Thus thebasic operating frequency of the conventional 16-bit PWM is 824 Hz (54 Mhz/65,536). The pulse train that results from a control word with a value of 1 has a frequency component at the basic operating frequency but it is quite small because the dutycycle of the pulse is quite small. As the input value to the 16-bit PWM gets closer to 65,535/2, the amplitude of the basic operating frequency component of the output also increases to the point where it is quite significant and requires significantfiltering to remove.

An exemplary implementation of the invention may comprise an increased resolution DAC implemented by a 9-bit PWM whose output is filtered by an analog filter. The 9-bit PWM in the increased resolution DAC may have 512 different duty cycles andthus may have a basic operating frequency of 105,675.15 Hz (54 MHZ/511). Just as with the conventional 16-bit PWM, a control word with an input value of 1 to the increased resolution DAC results in an output of one clock cycle being high every 65,536clock cycles, for example. However, as a result of the iterative process described herein, a control word with an input value of 2 may result in a one clock wide pulse at twice the frequency while a control word with an input value of 3 may result in aone clock wide pulse at 3 times the frequency. A control word with an input value of 65,536/2 may produce a square wave at the 105 KHz base frequency. Thus in accordance with the invention, most of the AC energy of the output is concentrated at thebasic modulator's output frequency and above. The increased resolution DAC also has the desirable property over most of the of the output range of not generating minimum length pulses. This is desirable because, in at least some cases, due to theanalog nature of output pads on integrated circuits, the average value of a two clock wide pulse train is not exactly twice the average value of a one clock wide pulse train. However, the increase in average with each additional clock after the first isnearly constant.

The approach described herein may provide additional effective resolution in an DAC by increasing the number of periods or cycles that a PWM in the DAC utilizes to generate an output pulse width with a desired duty cycle. In addition to higherresolution, this approach may also concentrate most of the output pulse AC energy at the PWM basic frequency and above, allowing for simpler analog filtering of the train of pulse width modulated signals utilized to generate the desired analog output.

Accordingly, the present invention may be realized in hardware, software, or a combination of hardware and software. The present invention may be realized in a centralized fashion in at least one computer system, or in a distributed fashionwhere different elements are spread across several interconnected computer systems. Any kind of computer system or other apparatus adapted for carrying out the methods described herein is suited. A typical combination of hardware and software may be ageneral-purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein.

The present invention may also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which when loaded in a computer system is able to carry out these methods. Computer program in the present context means any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or aftereither or both of the following: a) conversion to another language, code or notation; b) reproduction in a different material form.

While the present invention has been described with reference to certain embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted without departing from the scope of thepresent invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the present invention without departing from its scope. Therefore, it is intended that the present invention not be limitedto the particular embodiment disclosed, but that the present invention will include all embodiments falling within the scope of the appended claims.