Component: DAC (AD5662) (Analog Output): Difference between revisions
Appearance
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
{| style="width:50%" | |||
{| | |||
|- | |- | ||
| width="20%" style="color: gray;" | Author | | width="20%" style="color:gray;" | Author | ||
| Matrix TSL | | Matrix TSL | ||
|- | |- | ||
| width="20%" style="color: gray;" | Version | | width="20%" style="color:gray;" | Version | ||
| 1.0 | | 1.0 | ||
|- | |- | ||
| width="20%" style="color: gray;" | Category | | width="20%" style="color:gray;" | Category | ||
| Analog Output | | Analog Output | ||
|} | |} | ||
==DAC (AD5662) component== | |||
== | |||
16-bit external DAC connected to the microcontroller using SPI. | 16-bit external DAC connected to the microcontroller using SPI. | ||
==Detailed description== | ==Detailed description== | ||
===Overview=== | ===Overview=== | ||
| Line 36: | Line 35: | ||
==Examples== | ==Examples== | ||
This example reads a potentiometer that is connected across the supply voltage. | This example reads a potentiometer that is connected across the supply voltage. | ||
| Line 44: | Line 45: | ||
==Downloadable macro reference== | ==Downloadable macro reference== | ||
=== | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
Outputs a value to the DAC, | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''OutputDAC''' | |||
|- | |||
| colspan="2" | Outputs a value to the DAC, | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | |||
| width="90%" | Output | |||
|- | |||
| colspan="2" | Range: 0-65535 / 0=0V / 65535=VCC | |||
|- | |||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | |||
|} | |||
:[[ | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
:: | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise''' | |||
|- | |||
| colspan="2" | Initialise the SPI bus ready for communications, | |||
|- | |||
|- | |||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | |||
|} | |||
'''Return | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''BuzzerOn''' | |||
|- | |||
| colspan="2" | Switch On the Buzzer | |||
|- | |||
|- | |||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | |||
|} | |||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | |||
|- | |||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''BuzzerOnDelay''' | |||
|- | |||
| colspan="2" | Switch the Buzzer on for a fixed amount of time | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | |||
| width="90%" | Time | |||
|- | |||
| colspan="2" | Time in milliseconds to keep the buzzer on | |||
|- | |||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | |||
|} | |||
''' | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WriteLEDs''' | |||
|- | |||
| colspan="2" | Allows control of all 8-LEDs on the front of the Formula Flowcode. | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | |||
| width="90%" | LED_Byte | |||
|- | |||
| colspan="2" | | |||
|- | |||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | |||
|} | |||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | |||
|- | |||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise''' | |||
|- | |||
| colspan="2" | Starts up the formula flowcode PWM for motor control and performs the wait for button press | |||
|- | |||
|- | |||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | |||
|} | |||
==Property reference== | ==Property reference== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | |||
|- | |||
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]] | |||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties''' | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | |||
| width="90%" | Channel | |||
Prescale option selector | |- | ||
| colspan="2" | SPI Channel selector | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | |||
| width="90%" | Prescale | |||
|- | |||
SPI Data Out Pin SDO - Also Known as Master Out Slave In (MOSI) when used in Master mode. | | colspan="2" | Prescale option selector | ||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | |||
| width="90%" | MOSI | |||
|- | |||
| colspan="2" | SPI Data Out Pin SDO - Also Known as Master Out Slave In (MOSI) when used in Master mode. | |||
SPI Data In Pin SDI - Also Known as Master In Slave Out (MISO) when used in Master mode. | |- | ||
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | |||
| width="90%" | MISO | |||
|- | |||
| colspan="2" | SPI Data In Pin SDI - Also Known as Master In Slave Out (MISO) when used in Master mode. | |||
|- | |||
SPI Clock Pin CLK - The Clock signal is driven by the SPI master. | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | ||
| width="90%" | CLK | |||
|- | |||
| colspan="2" | SPI Clock Pin CLK - The Clock signal is driven by the SPI master. | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | |||
Chip Select / Slave Select Pin | | width="90%" | CS / SS | ||
|- | |||
Master Mode: General purpose output pin used to select the remote SPI device. | | colspan="2" | Chip Select / Slave Select Pin Master Mode: General purpose output pin used to select the remote SPI device. Slave Mode: Hardware chip select pin input used to select the SPI device. | ||
|- | |||
Slave Mode: Hardware chip select pin input used to select the SPI device. | | width="10%" align="center" | [[File:Fc9-type-7-icon.png]] | ||
| width="90%" | Console Data | |||
|- | |||
| colspan="2" | Selects if the console data is automatically generated or not | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]] | |||
| width="90%" | Scope Traces | |||
|- | |||
| colspan="2" | Selects if the scope traces are automatically generated or not | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | |||
| width="90%" | API | |||
|- | |||
| colspan="2" | | |||
Selects if the console data is automatically generated or not | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-conn-icon.png]] | |||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Connections''' | |||
|- | |||
|- | |||
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-conn-icon.png]] | |||
Selects if the scope traces are automatically generated or not | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Simulations''' | ||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]] | |||
| width="90%" | Data Recorder Trace | |||
|- | |||
| colspan="2" | | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]] | |||
| width="90%" | Simulate Comms | |||
|- | |||
| colspan="2" | | |||
|} | |||
Revision as of 21:05, 16 November 2021
| Author | Matrix TSL |
| Version | 1.0 |
| Category | Analog Output |
DAC (AD5662) component
16-bit external DAC connected to the microcontroller using SPI.
Detailed description
Overview
The AD5662 is a 3V/5V general purpose SPI compatible, high-resolution digital to analog converter (DAC), capable of generating a rail-to-rail voltage output.
With 16-Bit resolution, the AD5662 is capable of finely tuning the voltage output across 65,536 steps, with an individual step voltage of 5/65536 = 0.0000763 volts DC.
The AD5662 requires an external reference voltage to set the output range of the DAC.
Pin reference from the datasheet:
Circuit Diagram
Examples
This example reads a potentiometer that is connected across the supply voltage. The output from the DAC should mimic the voltage that's across ADC pin & GND.
Downloadable macro reference
| OutputDAC | |
| Outputs a value to the DAC, | |
| Output | |
| Range: 0-65535 / 0=0V / 65535=VCC | |
| Return | |
| Initialise | |
| Initialise the SPI bus ready for communications, | |
| Return | |
| BuzzerOn | |
| Switch On the Buzzer | |
| Return | |
| BuzzerOnDelay | |
| Switch the Buzzer on for a fixed amount of time | |
| Time | |
| Time in milliseconds to keep the buzzer on | |
| Return | |
| WriteLEDs | |
| Allows control of all 8-LEDs on the front of the Formula Flowcode. | |
| LED_Byte | |
| Return | |
| Initialise | |
| Starts up the formula flowcode PWM for motor control and performs the wait for button press | |
| Return | |

