This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
resources:quick-start:ad5791 [11 Apr 2013 18:41] – Edits, formatting, adding tables 6 and 7 Yuet Ng | resources:quick-start:ad5791 [16 Apr 2013 16:18] (current) – text edits throughout Yuet Ng | ||
---|---|---|---|
Line 2: | Line 2: | ||
====== AD5781/ | ====== AD5781/ | ||
** Single, 18-/20-Bit, Voltage Output DACs, SPI Interface ** | ** Single, 18-/20-Bit, Voltage Output DACs, SPI Interface ** | ||
- | |||
- | \\ | ||
- | {{ : | ||
- | \\ | ||
- | \\ | ||
- | <WRAP CENTERALIGN>// | ||
- | <WRAP clear></ | ||
- | \\ | ||
===== Features ===== | ===== Features ===== | ||
- | \\ | ||
* High relative accuracy (INL): ±0.5 LSB maximum (18-bit [[adi> | * High relative accuracy (INL): ±0.5 LSB maximum (18-bit [[adi> | ||
* 1 ppm resolution, 1 ppm INL (20-bit [[adi> | * 1 ppm resolution, 1 ppm INL (20-bit [[adi> | ||
Line 24: | Line 15: | ||
* 35 MHz Schmitt triggered digital interface | * 35 MHz Schmitt triggered digital interface | ||
* 1.8 V compatible digital interface | * 1.8 V compatible digital interface | ||
+ | |||
+ | ===== Functional Block Diagram ===== | ||
+ | {{ : | ||
+ | <WRAP CENTERALIGN>// | ||
+ | <WRAP clear></ | ||
\\ | \\ | ||
===== Pin Configuration ===== | ===== Pin Configuration ===== | ||
- | \\ | ||
<WRAP CENTERALIGN> | <WRAP CENTERALIGN> | ||
- | <WRAP CENTERALIGN>// | + | <WRAP CENTERALIGN>// |
<WRAP clear></ | <WRAP clear></ | ||
\\ | \\ | ||
Line 65: | Line 60: | ||
^/ | ^/ | ||
|X< | |X< | ||
- | |X< | + | |X< |
|0 |0 | |0 |0 | ||
|0 |1 | |0 |1 | ||
Line 89: | Line 84: | ||
\\ | \\ | ||
{{ : | {{ : | ||
- | <WRAP CENTERALIGN>// | + | <WRAP CENTERALIGN>// |
\\ | \\ | ||
Line 114: | Line 109: | ||
\\ | \\ | ||
{{ : | {{ : | ||
- | <WRAP CENTERALIGN>// | + | <WRAP CENTERALIGN>// |
\\ | \\ | ||
\\ | \\ | ||
Line 139: | Line 134: | ||
|:::|0 (default) | |:::|0 (default) | ||
|::: | |::: | ||
- | |LIN COMP |Linearity error compensation for varying reference input spans. Note that the reference input span options | + | |LIN COMP |Linearity error compensation for varying reference input spans. Note that the reference input span options for the [[adi> |
|::: | |::: | ||
|:::|0000 (default) | |:::|0000 (default) | ||
Line 156: | Line 151: | ||
\\ | \\ | ||
{{ : | {{ : | ||
- | <WRAP CENTERALIGN>// | + | <WRAP CENTERALIGN>// |
\\ | \\ | ||
\\ | \\ | ||
**Table 5. Software Control Register Functions** | **Table 5. Software Control Register Functions** | ||
^Bit Name ^Description | ^Bit Name ^Description | ||
- | |LDAC< | + | |LDAC< |
|CLR< | |CLR< | ||
|RESET | |RESET | ||
- | < | + | < |
- | < | + | < |
\\ | \\ | ||
Line 187: | Line 182: | ||
To initialize the part, | To initialize the part, | ||
- | * Because this initialization is a write to the part, set the R/W bit to a Logic 0. | + | * Because this initialization is a write to the part, set the R/< |
* Keep the default mode for LIN COMP, SDODIS, and RBUF. | * Keep the default mode for LIN COMP, SDODIS, and RBUF. | ||
* To write in binary coding, select BIN/2sC = 1. | * To write in binary coding, select BIN/2sC = 1. | ||
- | * Set DACTRI = 0 and OPGND = 0 to remove the DAC output clamp to ground and place the DAC in normal operating mode. | + | * Set DACTRI = 0 and OPGND = 0 to place the DAC in normal operating mode and remove the DAC output clamp to ground, respectively. |
- | See Table 6 and Figure 6. | + | Write the following over the serial interface: 0010 0000 0000 0000 0001 0010 (R/< |
\\ | \\ | ||
\\ | \\ | ||
- | Write the following over the serial interface: 0010 0000 0000 0000 0001 0010 (R/< | + | See Table 6 and Figure 6. |
\\ | \\ | ||
\\ | \\ | ||
Line 201: | Line 196: | ||
^Bit(s) | ^Bit(s) | ||
|23 |R/< | |23 |R/< | ||
+ | |[22: | ||
|[9: | |[9: | ||
|5 |SDODIS | |5 |SDODIS | ||
|4 |BIN/ | |4 |BIN/ | ||
- | |[3:2] | + | |3 |DACTRI |
- | |1 |RBUF | 1 |The internal | + | |2 |OPGND |0 | Remove the DAC output clamp to ground |
- | </ | + | |1 |RBUF | 1 |Internal |
- | \\ | + | |
- | \\ | + | |
- | <WRAP important> | + | < |
- | To write in binary coding, | + | To write in offset |
\\ | \\ | ||
\\ | \\ | ||
The default coding is twos complement. The same 24-bit data impacts the values that the user writes to or reads from the part in a different way depending on the coding selected. The user must verify the coding used by writing to the control register or reading | The default coding is twos complement. The same 24-bit data impacts the values that the user writes to or reads from the part in a different way depending on the coding selected. The user must verify the coding used by writing to the control register or reading | ||
</ | </ | ||
+ | </ | ||
\\ | \\ | ||
\\ | \\ | ||
+ | |||
{{ : | {{ : | ||
<WRAP CENTERALIGN>// | <WRAP CENTERALIGN>// | ||
Line 225: | Line 220: | ||
=== Writing to the DAC Register === | === Writing to the DAC Register === | ||
<WRAP tip>To write a midscale code to the DAC register, | <WRAP tip>To write a midscale code to the DAC register, | ||
- | * Set R/W = 0 to select the write option from the read/write bit. | + | * Set R/< |
* Set C[2:0] = 001 for the correspondent register address. | * Set C[2:0] = 001 for the correspondent register address. | ||
* Set D[19:0], the data bits, for a midscale code. | * Set D[19:0], the data bits, for a midscale code. | ||
- | |||
- | See Table 7 and Figure 7. | ||
- | \\ | ||
- | \\ | ||
The 24-bit data to write over the serial interface is as follows: | The 24-bit data to write over the serial interface is as follows: | ||
\\ | \\ | ||
Line 241: | Line 232: | ||
\\ | \\ | ||
where X = don't care. | where X = don't care. | ||
+ | \\ | ||
+ | \\ | ||
+ | See Table 7 and Figure 7. | ||
\\ | \\ | ||
\\ | \\ | ||
Line 247: | Line 241: | ||
|23 |R/< | |23 |R/< | ||
|[22: | |[22: | ||
- | |[19: | ||
</ | </ | ||
\\ | \\ | ||
{{ : | {{ : | ||
- | <WRAP CENTERALIGN>// | + | <WRAP CENTERALIGN>// |
\\ | \\ | ||
Line 266: | Line 259: | ||
\\ | \\ | ||
\\ | \\ | ||
- | 18-bit | + | 18-bit |
+ | \\ | ||
+ | 20-bit [[adi> | ||
+ | \\ | ||
+ | \\ | ||
+ | where X = don't care. | ||
+ | \\ | ||
+ | \\ | ||
+ | See Figure 8. | ||
\\ | \\ | ||
- | 20-bit **AD5791**: 0011 1111 1111 1111 1111 1111 | ||
\\ | \\ | ||
</ | </ | ||
Line 278: | Line 278: | ||
\\ | \\ | ||
=== Writing to the Software Control Register === | === Writing to the Software Control Register === | ||
- | <WRAP tip>Set the CLR bit to a Logic 1 to set the DAC register to a user defined value and update the DAC output. \\ | + | <WRAP tip>Set the CLR bit to a Logic 1 to set the DAC register to a user defined value and update the DAC output. |
- | \\ | + | |
- | See Figure 9. | + | |
\\ | \\ | ||
\\ | \\ | ||
Line 287: | Line 285: | ||
\\ | \\ | ||
The user should see the DAC output value change to full-scale code. | The user should see the DAC output value change to full-scale code. | ||
+ | \\ | ||
+ | \\ | ||
+ | See Figure 9. | ||
</ | </ | ||
\\ | \\ | ||
Line 294: | Line 295: | ||
\\ | \\ | ||
\\ | \\ | ||
- | === Reading | + | === Reading |
- | <WRAP tip>To confirm the clearcode value written to the part, read the data on the clearcode register (Full scale for this example). Write the following over the serial interface: 1011 XXXX XXXX XXXX XXXX XXXX. | + | <WRAP tip>To confirm the clearcode value written to the part, read the data from the clearcode register (full scale for this example). |
+ | \\ | ||
+ | \\ | ||
+ | Write the following over the serial interface: | ||
+ | \\ | ||
+ | \\ | ||
+ | 1011 XXXX XXXX XXXX XXXX XXXX | ||
+ | \\ | ||
+ | \\ | ||
+ | where X = don't care. | ||
+ | \\ | ||
+ | \\ | ||
+ | See Figure 10. | ||
+ | \\ | ||
+ | \\ | ||
<WRAP center round important 60%> | <WRAP center round important 60%> | ||
- | Remember | + | Note that this action is a read function. Therefore, set the R/< |
\\ | \\ | ||
\\ | \\ | ||
- | The data bits are **don't care**, as the aim is to read from the part and not a write function. | + | D19 to D0, the data bits, are don't care bits because |
</ | </ | ||
Line 307: | Line 322: | ||
\\ | \\ | ||
{{ : | {{ : | ||
- | <WRAP CENTERALIGN>// | + | <WRAP CENTERALIGN>// |
\\ | \\ |