DEM decoding method of digital-to-analog converter and digital-to-analog converter

Through the DEM decoding method, the current source array is controlled by using dynamic pseudo-random binary sequence generator and thermometer code, which solves the problems of current source mismatch and timing mismatch in traditional digital-to-analog converters, and improves the accuracy and dynamic characteristics of DAC. Efficient error reduction and noise conversion are achieved.

CN118611675BActive Publication Date: 2024-12-13NANJING RES INST OF ELECTRONICS TECH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410693809.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-05-31
Publication Date
2024-12-13
Estimated Expiration
2044-05-31

AI Technical Summary

Technical Problem

Traditional digital-to-analog converters have problems such as current source mismatch error, timing mismatch and layout wiring in high-speed DACs, resulting in reduced accuracy and impact on performance. The traditional thermometer decoder calls the current source regularly, resulting in increased errors. .

Method used

Using the DEM decoding method, the current source array is controlled by a dynamic pseudo-random binary sequence generator, and the pseudo-random code and a 7-bit thermometer code are generated to control the current source array, which realizes random call and combination of the current source, and improves the randomness of the decoder output and the current source utilization rate. .

Benefits of technology

It effectively reduces the strong correlation errors with the input signal in the output signal, improves the accuracy and dynamic characteristics of the DAC, converts static mismatch noise and dynamic mismatch noise into white noise independent of the input signal, and expands the spurious-free dynamic range.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118611675B_ABST
    Figure CN118611675B_ABST
Patent Text Reader

Abstract

The present invention discloses a DEM decoding method of a digital-to-analog converter and a digital-to-analog converter. The DEM decoding method is implemented based on a DEM decoding circuit. The DEM decoding circuit includes a dynamic pseudo-random binary sequence generator and a DEM decoding module. The output end of the DEM decoding module is connected to a current source array of a digital-to-analog converter. The dynamic pseudo-random binary sequence generator generates 7 pseudo-random codes. The DEM decoding module controls the current source array of the digital-to-analog converter through 7 pseudo-random codes and a 7-bit thermometer code. The present invention greatly improves the randomness of the decoder output selection current source array, can convert the static mismatch noise and dynamic mismatch noise of the current source into white noise unrelated to the input signal, and improves the spurious-free dynamic range of the digital-to-analog conversion chip compared to the traditional thermometer decoder.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention belongs to the technical field of integrated circuit design and application, and in particular relates to a DEM decoding method of a digital-to-analog converter and a digital-to-analog converter. Background Art

[0002] A digital-to-analog converter is a chip that converts digital signals into analog signals, and it serves as a bridge between the digital domain and the analog domain. In recent years, with the rapid development of 5G communications, radar and other fields, the requirements for digital-to-analog converters (DACs) have become increasingly high, which are mainly reflected in two aspects: high speed and high precision. Among the many types of DACs, current-steering DACs have inherent characteristics of high speed and high precision. Under this application background and demand, the use of a suitable thermometer decoding method and circuit is of great significance to the realization of high-performance DAC chips.

[0003] Due to the deviation, operating temperature and voltage in the production and manufacturing process, the transistor size, threshold voltage and resistance value of the chip components will be mismatched, and the accuracy of the current steering DAC is limited by the mismatch error between different current sources. Due to the non-ideal current source switch, there are also different transmission delays between the control signals of different bit switches, which makes the output end produce some spikes at the moment of switching when the input digital code jumps, which will seriously affect the performance of the system. To solve the above problems, data synchronization technology is currently widely used in high-speed DAC. This technology can offset the delay error accumulated in the actual transmission process, but in the actual chip layout design, there is always a situation where the transmission path is unequal in length due to clock wiring. In addition, there is an imbalance in the parasitic load between different current source units, and there is a timing mismatch in the actual circuit. The burrs introduced by this timing mismatch are closely related to the difference in the input codewords and are particularly susceptible to the layout and wiring in the actual layout. Another method is the current source calibration technology, which can effectively reduce the systematic error and random error and improve the accuracy of the DAC, but the chip area will be greatly increased.

[0004] The principle of binary weighted current steering DAC is shown in the attached abstract. Figure 1 As shown. Figure 1 It can be seen that the binary weighted current steering DAC is composed of a MOS current source array, a current source switch, a reference voltage, and an op amp. The op amp is not necessary. In high-speed applications, the current of the current source array can be directly allowed to flow through the resistor to increase the speed. The weight network composed of MOS current sources, although the current increases exponentially by 2, can be achieved by increasing the width-to-length ratio of the MOS tube or increasing the number of parallel MOS tubes. Figure 1 The output voltage in is given by Equation 1

[0005] (Formula 1)

[0006] In formula 1, I is the current of the LSB unit current source, I out is the DAC output current source, R is the amplifier feedback resistor, and B n-1 …B 1 , B 0 Represents an n-bit binary code, where n represents the input bit width. Since the weighted network of the binary weighted current steering DAC is composed of MOS current sources, it can achieve very high speeds. However, when the number of input bits increases, the magnitude of the current source of the MSB bit is still very different from that of the LSB bit. When the current of this binary weight is very large, a large static error will be generated. In order to reduce the error, high-weight input codes cannot use this mode of increasing width-to-length ratio in sequence.

[0007] The principle of the thermometer decoding current steering DAC is as follows Figure 2 If a current steering DAC with a resolution of n bits uses thermometer decoding for all n bits, it means that 2 n -1 switch controls the unit current source. The increase in the number of switches will not only cause difficulties in layout routing but also make it difficult to achieve signal synchronization. The numerous time feedthrough effects will also produce glitches in the DAC output, affecting the overall performance of the DAC.

[0008] The principle of segmented current steering is as follows Figure 3 As shown in the figure. The combination of binary code and thermometer code not only solves the problem of high and low current source matching, but also reduces the number of switches. Choosing the right number of decoding bits is very important for improving the performance of current steering DAC.

[0009] Due to the characteristic of the traditional thermometer decoder that the current source is fixedly called, the DAC will generate an error at the output end that is strongly correlated with the input, reducing the accuracy of the DAC. Summary of the invention

[0010] In order to solve the above problems, the present invention proposes a DEM decoding method for a digital-to-analog converter. The DEM decoding method is implemented based on a DEM decoding circuit. The DEM decoding circuit includes a dynamic pseudo-random binary sequence generator and a DEM decoding module. The output end of the DEM decoding module is connected to a current source array of the digital-to-analog converter. The dynamic pseudo-random binary sequence generator generates 7 pseudo-random codes. The DEM decoding module controls the current source array of the digital-to-analog converter through the 7 pseudo-random codes and a 7-bit thermometer code.

[0011] Specifically, the 7-bit thermometer code includes a first thermometer code and a second thermometer code, the first thermometer code is B2B2B1, which is used to control the current sources U6~U4 of group A; the second thermometer code is B2B2B1B0, which is used to control the current sources U3~U0 of group B, and if a bit of the first or second thermometer code is 1, the current source at the corresponding position is selected; in the initial state, the current source at the corresponding position of B2B2B1 of the first thermometer code is U6~U4, and the current source at the corresponding position of B2B2B1B0 of the second thermometer code is U3~U0;

[0012] The seven pseudo-random codes include random step lengths (1) to (3), random directions (1) to (3) and random combinations (1). The random step length (1) is used to control the number of steps of random movement of the first thermometer code, and the random step lengths (2) and (3) are used to control the number of steps of random movement of the second thermometer code in the first step and the second step, respectively. The random direction (1) is used to control the direction of random movement of the first thermometer code, and the random directions (2) and (3) are used to control the direction of random movement of the second thermometer code in the first step and the second step, respectively. The random combination (1) is used to control the overall combination mode of the current sources of group A and group B.

[0013] Furthermore, the decoding process of the current source of group A is specifically as follows: the first thermometer code B2B2B1 is input to the first signal combination module, the first signal combination module generates three groups of combination modes, and the three groups of combination modes are sent to the first and second data selectors MUX1 and MUX2, MUX1 and MUX2 are both 3-to-1 data selectors, and selection is performed through a random step size (1), the outputs of the first and second data selectors MUX1 and MUX2 are connected to the input end of the third data selector MUX3, MUX3 is a 2-to-1 data selector, and selection is performed through a random direction (1), and output after a fixed delay.

[0014] Furthermore, the decoding process of the current source of group B is specifically as follows:

[0015] The first step is to input the first thermometer code B2B2B1 to the second signal combination module, and the second signal combination module generates three groups of combination modes, and sends the three groups of combination modes to the third and fourth data selectors MUX4 and MUX5. The third and fourth data selectors MUX4 and MUX5 are both 3-to-1 data selectors, and selection is performed through a random step size (2). The outputs of the third and fourth data selectors MUX4 and MUX5 are connected to the input end of the sixth data selector MUX6. The sixth data selector MUX6 is a 2-to-1 data selector, and selection is performed through a random direction (2).

[0016] In the second step, the output signal of the first step of group B and the combination of B0 in the second thermometer code are sent to the input of the seventh and eighth data selectors MUX7 and MUX8. The seventh and eighth data selectors MUX7 and MUX8 are both 4-to-1 data selectors, and the selection is made through the random step size (3). The outputs of the seventh and eighth data selectors MUX7 and MUX8 are connected to the input of the ninth data selector MUX9. The ninth data selector MUX9 is a 2-to-1 data selector, and the selection is made through the random direction (3). The outputs of group A and group B are sent to the input of the tenth data selector MUX10 after passing through the fourth combination module. The tenth data selector MUX10 is a 2-to-1 data selector, and the selection is made through the random combination (1).

[0017] Furthermore, the random steps (1) and (2) are 2-bit binary numbers whose values ​​are between 0 and 2, and the random step (3) is a 2-bit binary number whose value is between 0 and 3; the random directions (1), (2) and (3) are 1-bit binary numbers, when they are 0, the thermometer code moves to the right, and when they are 1, the thermometer code moves to the left; the random combination (1) is a 1-bit binary number, when it is 0, it means that group A is in front, and when it is 1, it means that group B is in front.

[0018] Specifically, the dynamic pseudo-random binary sequence generator includes a 10-bit linear feedback shift register and a feedback network. Whether each bit of the shift register output participates in the feedback logic is determined by the feedback coefficient Ci (i=0,1,2…10). When Ci is 0, it means not participating in the feedback, and when Ci is 1, it means participating in the feedback.

[0019] Specifically, the current source decoding of group A obtains 3 combinations, and the current source decoding of group B obtains 3*4=12 combinations. By randomly exchanging the positions of group A and group B, a total of 36+36-6=66 different combinations are achieved.

[0020] A digital-to-analog converter is also provided, comprising a thermometer decoding circuit and a DEM decoder. The digital-to-analog converter adopts a 6+10 structure, wherein the lower 10 bits of input are subjected to binary weighted decoding, and the upper 6 bits of input are subjected to DEM decoding. The DEM decoder executes any of the above decoding methods. The thermometer decoding circuit converts the 3-bit binary code b2b1b0 into a 7-bit thermometer code B2B2B1B2B2B1B0, wherein b2 corresponds to the thermometer decoding B2B2B2B2, and if b2 is 0, then B2B2B2B2 are all 0, and if b2 is 1, then B2B2B2B2 are all 1; b1 corresponds to the thermometer decoding B1B1, and b0 corresponds to the thermometer decoding B0.

[0021] Compared with the prior art, the present invention has the following advantages:

[0022] (1) During the decoding process, the direction and step size of movement can be randomly selected by pseudo-random numbers. By changing the initial state of the current source {U6 U5 U4 U3 U2 U1 U0}, the output combination mode of the DEM decoder is increased. Compared with the traditional thermometer decoding circuit, the call of the current source is more random, which effectively reduces the error in the output signal that is strongly correlated with the input signal, can improve the mismatch resistance and accuracy of the DAC, make the current source utilization more uniform, and better improve the dynamic characteristics of the current-steering DAC.

[0023] (2) The randomness of the decoder output selection current source array is greatly improved, and the static mismatch noise and dynamic mismatch noise of the current source can be converted into white noise that is unrelated to the input signal. Compared with the traditional thermometer decoder, the spurious-free dynamic range of the digital-to-analog conversion chip is improved. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] Figure 1 This is the structure diagram of the traditional binary code current steering DAC.

[0025] Figure 2 This is the structure diagram of the traditional thermometer code current steering DAC.

[0026] Figure 3 FIG. 4 is a structural diagram of a binary code-thermometer code segmented current steering DAC according to an embodiment of the present invention.

[0027] Figure 4 DAC overall decoding architecture according to an embodiment of the present invention.

[0028] Figure 5 3-bit DEM decoding principle structure diagram of an embodiment of the present invention

[0029] Figure 6 A structural block diagram of a dynamic pseudo-random binary sequence generator according to an embodiment of the present invention.

[0030] Figure 7 Decoding flow chart of the thermometer decoding circuit according to an embodiment of the present invention.

[0031] Figure 8 An example diagram of the DEM decoding process of group A and group B with randomized step size and direction according to an embodiment of the present invention. DETAILED DESCRIPTION

[0032] The purpose of the present invention is to address the design difficulties of a high-precision digital-to-analog converter (DAC) and the lack of randomness in the selection of a traditional thermometer decoding current source. A DEM decoding circuit design method in a 16-bit digital-to-analog converter is proposed, which greatly improves the randomness of the decoder output selection current source array, can convert the static mismatch noise and dynamic mismatch noise of the current source into white noise that is unrelated to the input signal, and improves the spurious-free dynamic range of the digital-to-analog conversion chip compared to the traditional thermometer decoder.

[0033] In order to facilitate understanding of the present application, the present application will be described more fully below with reference to the relevant drawings. Embodiments of the present application are provided in the drawings. However, the present application can be implemented in many different forms and is not limited to the embodiments described in the present embodiment. On the contrary, the purpose of providing these embodiments is to make the disclosure of the present application more thorough and comprehensive.

[0034] Unless otherwise defined, all technical and scientific terms used in this embodiment have the same meaning as those commonly understood by those skilled in the art of the present application. The terms used in this embodiment in the specification of this application are only for the purpose of describing specific embodiments and are not intended to limit this application.

[0035] It should be noted that when an element is considered to be "connected" to another element, it can be directly connected to the other element, or connected to the other element through an intermediate element. In addition, the "connection" in the following embodiments should be understood as "electrical connection", "communication connection", etc. if there is transmission of electrical signals or data between the connected objects.

[0036] When used herein, the singular forms "a", "an", and "said / the" may also include plural forms, unless the context clearly indicates otherwise. It should also be understood that the terms "include / comprise" or "have" and the like specify the presence of stated features, wholes, steps, operations, components, parts, or combinations thereof, but do not exclude the possibility of the presence or addition of one or more other features, wholes, steps, operations, components, parts, or combinations thereof. At the same time, the term "and / or" used in this specification includes any and all combinations of the relevant listed items.

[0037] In order to make the purpose, technical solution and advantages of the present application clearer, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0038] The present embodiment provides a DEM decoding method for a digital-to-analog converter. The DEM decoding method is implemented based on a DEM decoding circuit. The DEM decoding circuit includes a dynamic pseudo-random binary sequence generator and a DEM decoding module. The output end of the DEM decoding module is connected to the current source array of the digital-to-analog converter. The dynamic pseudo-random binary sequence generator generates 7 pseudo-random codes. The DEM decoding module controls the current source array of the digital-to-analog converter through the 7 pseudo-random codes and the 7-bit thermometer code.

[0039] The digital-to-analog converter includes a thermometer decoding circuit and a DEM decoder. The digital-to-analog converter adopts a 6+10 structure, the lower 10 bits of input are subjected to binary weighted decoding, and the upper 6 bits of input are subjected to DEM decoding. The DEM decoder is implemented based on the above decoding method. The thermometer decoding circuit converts the 3-bit binary code b2b1b0 into a 7-bit thermometer code B2B2B1B2B2B1B0, wherein b2 corresponds to the thermometer decoding B2B2B2B2, if b2 is 0, then B2B2B2B2 are all 0, if b2 is 1, then B2B2B2B2 are all 1; b1 corresponds to the thermometer decoding B1B1, and b0 corresponds to the thermometer decoding B0.

[0040] Considering factors such as chip area, circuit design complexity, and current source high-low bit mismatch, the digital-to-analog converter adopts a segmented structure. The segmented structure adopts a 6+10 structure. The lower 10-bit input of the DAC is binary-weighted decoded, and the upper 6-bit input is DEM decoded. The upper 6-bit DEM code is divided into two independent 3-bit DEM codes of 3+3, thereby obtaining Figure 4 The overall decoding architecture of the 16-bit DAC is shown.

[0041] Among them, each 3-bit DEM decoding circuit can randomly control the on and off of seven unit current sources. Therefore, the 10-bit binary code output by the two 3-bit DEM codes and the data delay module controls the on and off of the current source array after data synchronization and switch coding. The data synchronization and switch coding output a total of 25 bits (in order to achieve data synchronization, the data is bound to a 1-bit synchronization signal, so it is 25 bits. In terms of DEM decoding output, the output is 7+7+10=24 bits. The current sources u0~u9 increase exponentially, corresponding to 2 0 I~2 9 I; u10~u17 current sources are of the same size, all 2 10 I; u18~u23 current sources are of the same size, all 2 13 I) to control 24 current sources. This design combining binary decoding and DEM decoding can simplify the layout of the current source.

[0042] The example process of 3-bit DEM decoding is shown in Table 1. {B2 B1 B0} are the high, medium and low bits of the binary code. The output port of the DEM decoder corresponds to the seven current sources {U6 U5 U4 U3 U2 U1 U0}. The current sources are divided into two groups A and B according to the order of high and low. Group A is {U6 U5 U4} and Group B is {U3 U2 U1 U0}.

[0043] Table 1

[0044]

[0045] The 7-bit thermometer code includes a first thermometer code and a second thermometer code. The first thermometer code is B2B2B1, which is used to control the current sources U6~U4 of group A; the second thermometer code is B2B2B1B0, which is used to control the current sources U3~U0 of group B. If a bit of the first or second thermometer code is 1, the current source at the corresponding position is selected; in the initial state, the current source at the corresponding position of B2B2B1 of the first thermometer code is U6~U4, and the current source at the corresponding position of B2B2B1B0 of the second thermometer code is U3~U0; that is, in the initial state of the DEM decoder, the current source corresponding to B2 is {U6 U5 U3 U2}, the current source corresponding to B1 is {U4U1}, and the current source corresponding to B0 is {U0}.

[0046] The schematic diagram of the 3-bit DEM decoder is shown in Table 1. Figure 5 shown. Figure 5 The left half corresponds to the current source group A in Table 1, and the right half corresponds to the current source group B. In order to realize the random call of the current source array of the DAC, a pseudo-random number generation method is adopted. Since the linear feedback shift register (LFSR) has a simple structure and a fast operation speed, it can generate a pseudo-random sequence. Therefore, the dynamic pseudo-random number (i.e., the pseudo-random code described below) of the DEM decoding of this embodiment adopts a linear feedback shift register to generate a uniformly distributed pseudo-random number sequence. Its structure is as follows: Figure 6 As shown. Figure 6 In the example, the pseudo-random signal is generated by a 10-bit linear feedback shift register and a feedback network. Whether each shift register output participates in the feedback logic is determined by the feedback coefficient Ci (i=0,1,2…10). When Ci is 0, it means that it does not participate in the feedback, and when Ci is 1, it means that it participates in the feedback. Figure 6 It can be seen that the output sequence is periodic, that is, the previous state will appear periodically on the 10 shift registers, so choosing the optimal feedback method can achieve a maximum of states, and the corresponding period is . Through the primitive polynomial, we can achieve a period of The feedback coefficients C0, C3, and C10 are all 1, and the rest of the feedback coefficients are all 0.

[0047] When the DEM decoder is working, the dynamic pseudo-random binary sequence generator inside the decoder will generate 7 sets of pseudo-random codes:

[0048] (1) In each clock cycle, two pseudo-random codes between 0 and 2 and one between 0 and 3 are generated. These three pseudo-random codes are used to control the number of steps of random movement of the input binary numbers of group A and group B respectively. Among them, one pseudo-random code between 0 and 2 is used to control the number of steps of random movement of the input binary numbers of group A (i.e., random step length (1) in Table 1), one pseudo-random code between 0 and 2 and one pseudo-random code between 0 and 3 are used to control the number of steps of the first and second steps of random movement of the input binary numbers of group B respectively (i.e., random step length (2) and random step length (3) in Table 1);

[0049] (2) Three pseudo-random codes between 0 and 1 are used to control the direction of movement of Group A and Group B (i.e., random directions (1), (2), and (3) in Table 1). When the code is 0, the group moves to the right, and when the code is 1, the group moves to the left.

[0050] (3) A pseudo-random code between 0 and 1 (i.e., random combination (1)) is used to control the overall combination of group A and group B. A value of 0 indicates that group A comes first, and a value of 1 indicates that group B comes first.

[0051] Figure 3 The structure diagram of the thermometer decoding circuit is as follows Figure 7 As shown, firstly, the 3-bit input signal b2b1b0 is thermometer decoded, and then decoded according to the decoding rules of the thermometer code to obtain the 7-bit thermometer code B2B2B2B2B1B1B0, where b2 corresponds to the thermometer decoding B2B2B2B2. If b2 is 0, then B2B2B2B2 are all 0, and if b2 is 1, then B2B2B2B2 are all 1; b1 corresponds to the thermometer decoding B1B1, and b0 corresponds to the thermometer decoding B0. The 7-bit thermometer code is segmented into Group A and Group B. Group A contains B2, B2 and B1, and Group B contains B2, B2, B1 and B0. After the segmentation is completed, Group A and Group B are randomly decoded respectively.

[0052] When the input thermometer code B2B1B0 is 101, if the input code B1 of group A moves to the right with a step length of 2, the input code B1 of group B first moves to the left with a step length of 1 to obtain the transition state {U3* U2* U1*} to {B2 B1 B2}, and then the input code B0 of group B moves to the right with a step length of 2. At this time, B2 controls {U6 U4 U3 U0}, B1 controls {U5 U1}, and B0 controls {U2}. Therefore, the five current sources U6, U4, U3, U2, and U0 controlled by B2 and B0 are selected as outputs. When the input binary code is all 0, no matter what the dynamic pseudo-random code is, the seven current sources will not be selected. When the input binary code is all 1, no matter what the dynamic pseudo-random code is, the seven current sources will be selected. When the input thermometer code B2B1B0 is 100, if the input code B1 of group A moves to the left with a step length of 3, the input code B1 of group B first moves to the right with a step length of 2 to obtain the transition state {U3* U2* U1*} to {B2 B1B2}, and then the input code B0 of group B moves to the right with a step length of 1. At this time, B2 controls {U6, U5, U2, U0}, B1 controls {U4, U1}, and B0 controls {U3}, so the 4 current sources U6, U5, U2, and U0 controlled by B2 are selected for output. For other data inputs, the selection of current sources is achieved in a similar way.

[0053] Finally, the U7U6U5 current source of group A has three output combinations: B2B2B1, B2B1B2, and B1B2B2. The U4U3U2U1 current source of group B has 12 output combinations: B2B2B1B0, B2B2B0B1, B2B0B2B1, B0B2B2B1, B2B1B2B0, B2B1B0B2, B2B0B1B2, B0B2B1B2, B1B2B2B0, B1B2B0B2, B1B0B2B2, and B0B1B2B2. Therefore, there are 36 output combinations for the seven current sources. There are three possible positions for B1 in group A, namely the left side, the middle, and the right side of the two B2s. The three output combinations of group A can be obtained by moving B1 in random directions with random steps. The random process of group B is achieved in two steps. First, B1 randomly moves on the left, middle and right sides of the two B2s, and then the three combinations of the first step output of group B can be obtained, which is achieved by B1 moving random steps in random directions. After the first step is completed, B0 in group B randomly moves in the four positions generated by two B2s and one B1, thereby generating four combinations, which is achieved by B0 moving random steps in random directions. There are 3*4=12 combinations of group B, and 3*12=36 common combinations of {AB}. There are also 36 combinations of {BA}, but there are 6 identical combinations of {AB} and {BA}. By randomly exchanging the positions of group A and group B, a total of 36+36-6=66 different combinations can be achieved.

[0054] Figure 8 To pass Figure 5 The random decoding process of the segmented DEM decoding circuit is controlled by a dynamic pseudo-random binary sequence generator.

[0055] like Figure 8 As shown, during the decoding process of the current source of group A, the first thermometer code B2B2B1 is input to the first signal combination module, and the first signal combination module generates three groups of combination modes, and sends the three groups of combination modes to the first and second data selectors MUX1 and MUX2. Both MUX1 and MUX2 are 3-to-1 data selectors, and selection is performed through a random step size (1). The outputs of the first and second data selectors MUX1 and MUX2 are connected to the input end of the third data selector MUX3, and MUX3 is a 2-to-1 data selector, which selects through a random direction (1) and outputs after a fixed delay.

[0056] like Figure 8As shown, the implementation process of group B is completed in two steps. The implementation process of the first step is similar to that of group A. The first thermometer code B2B2B1 is input to the second signal combination module, and the second signal combination module generates 3 groups of combination modes, and the 3 groups of combination modes are sent to the third and fourth data selectors MUX4 and MUX5. The third and fourth data selectors MUX4 and MUX5 are both 3-to-1 data selectors, and the selection is performed through a random step size (2). The outputs of the third and fourth data selectors MUX4 and MUX5 are connected to the input end of the sixth data selector MUX6. The sixth data selector MUX6 is a 2-to-1 data selector. The second step of group B is implemented on the basis of the completion of the first step. The output signal of the first step of group B and the combination of B0 in the second thermometer code are sent to the input of the seventh and eighth data selectors MUX7 and MUX8. The seventh and eighth data selectors MUX7 and MUX8 are both 4-to-1 data selectors. The selection is made through the random step length (3). The outputs of the seventh and eighth data selectors MUX7 and MUX8 are connected to the input of the ninth data selector MUX9. The ninth data selector MUX9 is a 2-to-1 data selector. The selection is made through the random direction (3). The outputs of group A and group B are sent to the input of the tenth data selector MUX10 after passing through the fourth signal combination module. The tenth data selector MUX10 is a 2-to-1 data selector. The selection is made through the random combination (1).

[0057] The random sequence of group A decoding is based on Figure 6 The pseudo-random sequence generates a random step (1) of 0~2 and a random direction (1) of 0~1. In the initial state, B1 is at the rightmost position. When the random direction (1) is 0, it means right shift, and the movement is carried out according to the value of the random step (1). The random step (1) of 0 means that the moving step is 0, so the initial state remains unchanged, and the output of {U6U5U4} is {B2B2B1}; the random step (1) of 1 means that the moving step is 1, then B1 is cyclically shifted right by 1 and moved to the leftmost position, and the output of {U6U5U4} is {B1 B2 B2}; the random step (1) of 2 means that the moving step is 2, then B1 is cyclically shifted right by 2 and moved to the middle position, and the output of {U6U5U4} is {B2 B1 B2}. When the random direction (1) is 1, it means left shift, and the movement is carried out according to the value of the random step (1). When the random step (1) is 0, it means the moving step is 0, so the initial state remains unchanged, and the output of {U6U5U4} is {B2B2B1}; when the random step (1) is 1, it means the moving step is 1, then B1 is cyclically shifted left by 1 and moved to the middle position, and the output of {U6U5U4} is {B2 B1 B2}; when the random step (1) is 2, it means the moving step is 2, then B1 is cyclically shifted left by 2 and moved to the leftmost position, and the output of {U6U5U4} is {B1 B2 B2}.

[0058] The random sequence for group B decoding is based on Figure 6 The pseudo-random sequence generates a random step length (2) of 0-2 and a random step length (2) of 0-1 for the moving direction, a random step length (3) of 0-3 and a random step length (3) of 0-1 for the moving direction. The decoding process of group B is divided into two steps for iterative decoding. The first step of the decoding process is the same as that of group A. In the initial state, B1 is at the rightmost position. When the random direction (2) is 0, it means right shift, and the movement is carried out according to the value of the random step (2). The random step (2) of 0 means that the moving step is 0, so the initial state remains unchanged, and the output of {U3*U2*U1*} is {B2B2B1}; the random step (2) of 1 means that the moving step is 1, then B1 is cyclically shifted right by 1 and moved to the leftmost position, and the output of {U3*U2*U1*} is {B1 B2 B2}; the random step (2) of 2 means that the moving step is 2, then B1 is cyclically shifted right by 2 and moved to the middle position, and the output of {U3*U2*U1*} is {B2 B1 B2}. When the random direction (2) is 1, it means left shift, and the movement is carried out according to the value of the random step (2). When the random step (2) is 0, it means the moving step is 0, so the initial state remains unchanged, and the output of {U3*U2*U1*} is {B2B2B1}; when the random step (2) is 1, it means the moving step is 1, then B1 is cyclically shifted left by 1 and moved to the middle position, and the output of {U3*U2*U1*} is {B2 B1 B2}; when the random step (2) is 2, it means the moving step is 2, then B1 is cyclically shifted left by 2 and moved to the leftmost position, and the output of {U3*U2*U1*} is {B1 B2 B2}.

[0059] The second step of decoding is performed on the basis of the completion of the first step of decoding of group B. In the initial state, B0 is at the rightmost position, that is, the initial value of {U3U2U1U0} is {U3*U2*U1*B0}. When the random direction (3) is 0, it means right shift, and the movement is carried out according to the value of the random step (3). The random step (3) of 0 means that the moving step is 0, so the initial state remains unchanged, and the output of {U3U2U1U0} is {U3* U2* U1* B0}; the random step (3) of 1 means that the moving step is 1, then B0 is cyclically shifted right by 1 and moved to the leftmost position, and the output of {U3U2U1U0} is {B0 U3* U2* U1*}; the random step (3) of 2 means that the moving step is 2, then B0 is cyclically shifted right by 2 and moved to the middle position on the left, and the output of {U3U2U1U0} is {U3* B0 U2* U1*}; the random step (3) of 3 means that the moving step is 3, then B0 is cyclically shifted right by 3 and moved to the middle position on the right, and the output of {U3U2U1U0} is {U3* U2* B0 U1*}. When the random direction (3) is 1, it means left shift, and the movement is carried out according to the value of the random step (3). When the random step (3) is 0, it means the moving step is 0, so the initial state remains unchanged, and the output of {U3U2U1U0} is {U3* U2* U1*B0}; when the random step (3) is 1, it means the moving step is 1, then B0 is cyclically shifted left by 1 and moved to the middle position on the right, and the output of {U3U2U1U0} is {U3* U2* B0 U1*}; when the random step (3) is 2, it means the moving step is 2, then B0 is cyclically shifted left by 2 and moved to the middle position on the left, and the output of {U3U2U1U0} is {U3* B0 U2* U1*}; when the random step (3) is 3, it means the moving step is 3, then B0 is cyclically shifted left by 3 and moved to the leftmost position, and the output of {U3U2U1U0} is {B0 U3* U2* U1*}. Tables 2 and 3 are summaries of all cases of DEM decoding for Group A and Group B with randomized step size and direction, respectively.

[0060] Table 2

[0061] Table 3

[0062]

[0063]

[0064] use Figure 6The dynamic pseudo-random binary sequence generator generates a random combination of 0~1 (1) to control the arrangement position of the overall group A and group B to form a 7-bit output. When the random combination (1) is 0, it means that the combination of the 7-bit output is {group A group B}, that is, the final output {K6K5K4K3K2K1K0} is {U6U5U4 U3U2U1U0}; when the random combination (1) is 1, it means that the combination of the 7-bit output is {group B group A}, that is, the final output {K6K5K4K3K2K1K0} is {U3U2U1U0U6U5U4}.

[0065] In summary, the present invention uses an improved DEM decoding method to randomly select output current source units as much as possible at the same time, and can convert the static mismatch noise and dynamic mismatch noise of the current source into white noise that is independent of the input signal, thereby improving the static and dynamic characteristics of the DAC. The DEM decoding method is widely used in DACs of various structures. In the DEM decoding process, the random call of the internal current source of the DAC can be realized, and the distortion strongly correlated with the input signal caused by the fixed call of the current source can be converted into noise in the entire frequency band, thereby effectively reducing the error in the output signal that is strongly correlated with the input signal, improving the mismatch resistance and accuracy of the DAC, and improving the spurious-free dynamic range of the DAC.

[0066] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims

1. A DEM decoding method for a digital-to-analog converter, characterized in that: The DEM decoding method is implemented based on a DEM decoding circuit. The DEM decoding circuit includes a dynamic pseudo-random binary sequence generator and a DEM decoding module. The output end of the DEM decoding module is connected to the current source array of the digital-to-analog converter. The dynamic pseudo-random binary sequence generator generates 7 pseudo-random codes. The DEM decoding module controls the current source array of the digital-to-analog converter through the 7 pseudo-random codes and the 7-bit thermometer code. The 7-bit thermometer code includes a first thermometer code and a second thermometer code. The first thermometer code is B2B2B1, which is used to control the current sources U6~U4 of the A group. The second thermometer code is B2B2B1B0, which is used to control the current sources U3~U0 of the B group. When a certain bit of the first or second thermometer code is 1, the current source at the corresponding position is selected. In the initial state, the current source at the corresponding position of B2B2B1 of the first thermometer code is U6~U4, and the current source at the corresponding position of B2B2B1B0 of the second thermometer code is U3~U0. The seven pseudo-random codes include random step lengths (1) to (3), random directions (1) to (3) and random combinations (1). The random step length (1) is used to control the number of steps of random movement of the first thermometer code, and the random step lengths (2) and (3) are used to control the number of steps of random movement of the second thermometer code in the first step and the second step, respectively. The random direction (1) is used to control the direction of random movement of the first thermometer code, and the random directions (2) and (3) are used to control the direction of random movement of the second thermometer code in the first step and the second step, respectively. The random combination (1) is used to control the overall combination mode of the current sources of group A and group B. The decoding process of the current source of group A is as follows: the first thermometer code B2B2B1 is input to the first signal combination module, and the first signal combination module generates three groups of combination modes, and the three groups of combination modes are sent to the first and second data selectors MUX1 and MUX2. Both MUX1 and MUX2 are 3-to-1 data selectors, and selection is performed through a random step size (1). The outputs of the first and second data selectors MUX1 and MUX2 are connected to the input end of the third data selector MUX3, and MUX3 is a 2-to-1 data selector, and selection is performed through a random direction (1), and output after a fixed delay. The decoding process of the current source of group B is as follows: The first step is to input the first thermometer code B2B2B1 to the second signal combination module, and the second signal combination module generates three groups of combination modes, and sends the three groups of combination modes to the third and fourth data selectors MUX4 and MUX5. The third and fourth data selectors MUX4 and MUX5 are both 3-to-1 data selectors, and selection is performed through a random step size (2). The outputs of the third and fourth data selectors MUX4 and MUX5 are connected to the input end of the sixth data selector MUX6. The sixth data selector MUX6 is a 2-to-1 data selector, and selection is performed through a random direction (2). In the second step, the output signal of the first step of group B and the combination of B0 in the second thermometer code are sent to the input of the seventh and eighth data selectors MUX7 and MUX8. The seventh and eighth data selectors MUX7 and MUX8 are both 4-to-1 data selectors, and the selection is made through the random step size (3). The outputs of the seventh and eighth data selectors MUX7 and MUX8 are connected to the input of the ninth data selector MUX9. The ninth data selector MUX9 is a 2-to-1 data selector, and the selection is made through the random direction (3). The outputs of group A and group B are sent to the input of the tenth data selector MUX10 after passing through the fourth combination module. The tenth data selector MUX10 is a 2-to-1 data selector, and the selection is made through the random combination (1).

2. The DEM decoding method of the digital-to-analog converter according to claim 1, characterized in that: The random steps (1) and (2) are 2-bit binary numbers, whose values ​​are between 0 and 2, and the random step (3) is a 2-bit binary number, whose value is between 0 and 3. The random directions (1), (2) and (3) are 1-bit binary numbers, and when they are 0, the thermometer code moves to the right, and when they are 1, the thermometer code moves to the left. The random combination (1) is a 1-bit binary number, and when it is 0, it means that group A is in the front, and when it is 1, it means that group B is in the front.

3. The DEM decoding method of the digital-to-analog converter according to claim 1, characterized in that: The dynamic pseudo-random binary sequence generator includes a 10-bit linear feedback shift register and a feedback network. Whether each bit of the shift register output participates in the feedback logic is determined by the feedback coefficient Ci (i=0,1,2…10). When Ci is 0, it means not participating in the feedback, and when Ci is 1, it means participating in the feedback.

4. The DEM decoding method of the digital-to-analog converter according to claim 1, characterized in that: The decoding of the current source of group A obtains 3 combinations, and the decoding of the current source of group B obtains 3*4=12 combinations. By randomly exchanging the positions of group A and group B, a total of 66 different combinations can be achieved.

5. A digital-to-analog converter, comprising a thermometer decoding circuit and a DEM decoder, wherein the digital-to-analog converter adopts a 6+10 structure, wherein the lower 10 bits of input are subjected to binary weighted decoding, and the upper 6 bits of input are subjected to DEM decoding, wherein the DEM decoder executes the decoding method described in any one of claims 1 to 4, wherein the thermometer decoding circuit converts a 3-bit binary code b2b1b0 into a 7-bit thermometer code B2B2B1B2B2B1B0, wherein b2 corresponds to a thermometer decoding B2B2B2B2, and if b2 is 0, then B2B2B2B2 are all 0, and if b2 is 1, then B2B2B2B2 are all 1; b1 corresponds to a thermometer decoding B1B1, and b0 corresponds to a thermometer decoding B0.