Difference between revisions of "Component: DAC Quad (MCP4728) (MCP4728) (Analog Output)"
From Flowcode Help
Jump to navigationJump to search (XML import) |
|||
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 Quad (MCP4728) component== | ||
+ | Component to drive a quad digital to analogue converter (DAC) IC from Microchip via an I2C interface. Compatible with MCP4728 (12-Bit) devices. | ||
+ | |||
+ | ==Detailed description== | ||
− | + | ''No detailed description exists yet for this component'' | |
− | |||
− | |||
==Examples== | ==Examples== | ||
+ | |||
+ | |||
''<span style="color:red;">No additional examples</span>'' | ''<span style="color:red;">No additional examples</span>'' | ||
Line 25: | Line 27: | ||
==Downloadable macro reference== | ==Downloadable macro reference== | ||
− | === | + | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
− | Sets the output voltage of 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;" | '''SetOutput''' | ||
+ | |- | ||
+ | | colspan="2" | Sets the output voltage of the DAC 12-Bit: Range 0-4095 | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | Channel | ||
+ | |- | ||
+ | | colspan="2" | Range: 0-3 / 0=DAC Channel 0 / 1=DAC Channel 1 ... | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | ||
+ | | width="90%" | DAC_Value | ||
+ | |- | ||
+ | | colspan="2" | The value to output to the DAC | ||
+ | |- | ||
+ | | 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;" | '''ControlPins''' | ||
+ | |- | ||
+ | | colspan="2" | Allows Shutdown (SHDN) and Latch (LDAC) pins to be controlled directly if enabled. | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:]] - | ||
+ | | width="90%" | Latch | ||
+ | |- | ||
+ | | colspan="2" | 0 = Data output driven from DAC register, 1 = Data output locked | ||
+ | |- | ||
+ | | 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;" |
− | ::The value to output 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;" | '''SetInitialEEOutput''' | ||
+ | |- | ||
+ | | colspan="2" | Stores a DAC value into EE memory to be used on power up. | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | Channel | ||
+ | |- | ||
+ | | colspan="2" | Range: 0-3 / 0=DAC Channel 0 / 1=DAC Channel 1 ... | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | ||
+ | | width="90%" | DAC_Value | ||
+ | |- | ||
+ | | colspan="2" | The value to output to the DAC | ||
+ | |- | ||
+ | | 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;" | '''Disable''' | ||
+ | |- | ||
+ | | colspan="2" | Disables the DAC output. | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | Channel | ||
+ | |- | ||
+ | | colspan="2" | Range: 0-3 / 0=DAC Channel 0 / 1=DAC Channel 1 ... | ||
+ | |- | ||
+ | | 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;" | '''Enable''' | ||
+ | |- | ||
+ | | colspan="2" | Enables the DAC Output. | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | Channel | ||
+ | |- | ||
+ | | colspan="2" | Range: 0-3 / 0=DAC Channel 0 / 1=DAC Channel 1 ... | ||
+ | |- | ||
+ | | 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;" | '''SetDeviceAddress''' | ||
+ | |- | ||
+ | | colspan="2" | Writes a new device address into EE memory. The use LDAC pin component property must be set to true and the LDAC pin should be unique for every MCP4728 device connected to the I2C bus. | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | OldAddress | ||
+ | |- | ||
+ | | colspan="2" | Range: 0-7 | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | NewAddress | ||
+ | |- | ||
+ | | colspan="2" | Range: 0-7 | ||
+ | |- | ||
+ | | 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" | Configures the SPI peripheral ready for communications and initialises the internal variables. DAC needs to be enabled before any output voltage can be generated. | ||
+ | |- | ||
+ | |- | ||
+ | | 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%" | Pull Down Option | |
− | + | |- | |
− | + | | colspan="2" | | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | |
− | + | | width="90%" | VREF Option | |
− | + | |- | |
− | + | | colspan="2" | | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | |
− | + | | width="90%" | Gain Option | |
− | Selects the maximum reference value for the DAC | + | |- |
− | + | | colspan="2" | Selects the maximum reference value for the DAC | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | |
− | + | | width="90%" | Vref Voltage | |
− | + | |- | |
− | Reference Voltage, Used to calculate the Voltage resolution. | + | | colspan="2" | Reference Voltage, Used to calculate the Voltage resolution. |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]] | |
− | + | | width="90%" | Steps | |
− | + | |- | |
− | + | | colspan="2" | Number of discrete output states available from the DAC. | |
− | Number of discrete output states available from the DAC. | + | |- |
− | + | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]] | |
− | + | | width="90%" | Control Bits | |
− | + | |- | |
− | + | | colspan="2" | Number of digital control bits | |
− | + | |- | |
− | Number of digital control bits | + | | width="10%" align="center" | [[File:Fc9-type-10-icon.png]] |
− | + | | width="90%" | Resolution | |
− | + | |- | |
− | + | | colspan="2" | Maximum output resolution based on number of control bits. | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | |
− | Maximum output resolution based on number of control bits. | + | | width="90%" | Voltage Resolution |
− | + | |- | |
− | + | | colspan="2" | Specifies the Resolution per digital bit in terms of Voltage. | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | |
− | + | | width="90%" | Device Address | |
− | Specifies the Resolution per digital bit in terms of Voltage. | + | |- |
− | + | | colspan="2" | | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | |
− | + | | width="90%" | Channel | |
− | + | |- | |
− | + | | colspan="2" | Channel selection | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | |
− | + | | width="90%" | SDA | |
− | + | |- | |
− | + | | colspan="2" | Pin used for SDA (data signal) | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | |
− | + | | width="90%" | SCL | |
− | + | |- | |
− | + | | colspan="2" | Pin used for SCL (clock signal) | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | |
− | + | | width="90%" | Baud Select | |
− | Pin used for SDA (data signal) | + | |- |
− | + | | colspan="2" | Baud rate option selector | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]] | |
− | + | | width="90%" | Baud Rate | |
− | + | |- | |
− | Pin used for SCL (clock signal) | + | | colspan="2" | Baud rate to be used |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-7-icon.png]] | |
− | + | | width="90%" | Stop Delay | |
− | + | |- | |
− | + | | colspan="2" | On older microcontroller devices there is a potential for the I2C hardware channel to lock up if there is not a 10ms delay between an I2C stop event and the next I2C start event. Most modern microcontrollers will not have a problem so this property can be disabled to speed up the I2C communications. | |
− | Baud rate option selector | + | |- |
− | + | | width="10%" align="center" | [[File:Fc9-type-7-icon.png]] | |
− | + | | width="90%" | Use LDAC Pin | |
− | + | |- | |
− | + | | colspan="2" | Allows the LDAC pin to be driven from an output pin on the microcontroller. If not used then tie the LDAC pin to GND to allow the DAC to function. | |
− | + | |- | |
− | Baud rate to be used | + | | 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]] | |
− | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Simulations''' | |
− | On older microcontroller devices there is a potential for the I2C hardware channel to lock up if there is not | + | |- |
− | + | |- | |
− | a 10ms delay between an I2C stop event and the next I2C start event. | + | | width="10%" align="center" | [[File:Fc9-type-7-icon.png]] |
− | + | | width="90%" | Simulation Comms | |
− | + | |- | |
− | + | | colspan="2" | | |
− | Most modern microcontrollers will not have a problem so this property can be disabled to speed up the | + | |- |
− | + | | width="10%" align="center" | [[File:Fc9-type-7-icon.png]] | |
− | I2C communications. | + | | width="90%" | DAC Output Scope Traces |
− | + | |- | |
− | + | | colspan="2" | Selects if the scope traces are automatically generated or not | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-7-icon.png]] | |
− | + | | width="90%" | Scope Traces | |
− | Allows the LDAC pin to be driven from an output pin on the microcontroller. | + | |- |
− | + | | colspan="2" | Selects if the component pin connections are automatically generated on the data recorder window or not. Yes: Automatically add the component pins to a group on the data recorder which will reflect the sim data during simultion. No: Do not show the pin signals on the data recorder window. | |
− | If not used then tie the LDAC pin to GND to allow the DAC to function. | + | |- |
− | + | | 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 | |
− | + | |- | |
− | 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" | Specifies the injector component on the panel to interact with to provide comms simulation. | |
− | + | |} | |
− | |||
− | Selects if the component pin connections are automatically generated on the data recorder window or not. | ||
− | |||
− | Yes: Automatically add the component pins to a group on the data recorder which will reflect the sim data during simultion. | ||
− | |||
− | No: Do not show the pin signals on the data recorder window. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | Selects if the console data is automatically generated or not | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | Specifies the injector component on the panel to interact with to provide comms simulation. |
Revision as of 21:05, 16 November 2021
Author | Matrix TSL |
Version | 1.0 |
Category | Analog Output |
Contents
DAC Quad (MCP4728) component
Component to drive a quad digital to analogue converter (DAC) IC from Microchip via an I2C interface. Compatible with MCP4728 (12-Bit) devices.
Detailed description
No detailed description exists yet for this component
Examples
No additional examples
Downloadable macro reference
![]() |
SetOutput |
Sets the output voltage of the DAC 12-Bit: Range 0-4095 | |
![]() |
Channel |
Range: 0-3 / 0=DAC Channel 0 / 1=DAC Channel 1 ... | |
![]() |
DAC_Value |
The value to output to the DAC | |
![]() |
Return |
![]() |
ControlPins |
Allows Shutdown (SHDN) and Latch (LDAC) pins to be controlled directly if enabled. | |
[[File:]] - | Latch |
0 = Data output driven from DAC register, 1 = Data output locked | |
![]() |
Return |
![]() |
Disable |
Disables the DAC output. | |
![]() |
Channel |
Range: 0-3 / 0=DAC Channel 0 / 1=DAC Channel 1 ... | |
![]() |
Return |
![]() |
Enable |
Enables the DAC Output. | |
![]() |
Channel |
Range: 0-3 / 0=DAC Channel 0 / 1=DAC Channel 1 ... | |
![]() |
Return |
![]() |
Initialise |
Configures the SPI peripheral ready for communications and initialises the internal variables. DAC needs to be enabled before any output voltage can be generated. | |
![]() |
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 |