Difference between revisions of "Component: DAC Dual (MCP49x2) (Analog Output)"

From Flowcode Help
Jump to navigationJump to search
(XML import)
 
 
(15 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
+
{| style="width:50%"
 
 
{| 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 (Release)
+
| 1.0
 
|-
 
|-
| width="20%" style="color: gray;" | Category
+
| width="20%" style="color:gray;" | Category
 
| Analog Output
 
| Analog Output
 
|}
 
|}
  
  
 +
==DAC Dual (MCP49x2) component==
 +
Component to drive a dual digital to analogue converter (DAC) IC from Microchip via an SPI interface. Compatible with MCP4902 (8-Bit), MCP4912 (10-Bit) and MCP4922 (12-Bit) devices.
  
==[[File:Component Icon b66f5769_5e9d_40e7_9159_c6a0552ff86e.png|Image]] DAC Dual (MCP49x2) component==
+
==Component Source Code==
Component to drive a dual digital to analogue converter (DAC) IC from Microchip via an SPI interface.
 
Compatible with MCP4902 (8-Bit), MCP4912 (10-Bit) and MCP4922 (12-Bit) devices.
 
  
==Examples==
+
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_DAC_MCP49x2.fcfx FC_Comp_Source_DAC_MCP49x2.fcfx]
''<span style="color:red;">No additional examples</span>''
 
  
 +
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_DAC_MCP49x2.fcfx FC_Comp_Source_DAC_MCP49x2.fcfx]
  
==Downloadable macro reference==
+
==Detailed description==
  
===<span style="font-weight: normal;"><u><tt>SetOutput</tt></u></span>===
 
Sets the output voltage of the DAC
 
  
8-Bit: Range 0-255
 
  
10-Bit: Range 0-1023
 
  
12-Bit: Range 0-4095
 
  
'''Parameters'''
 
  
:[[Variable Types|BYTE]] ''Channel''
 
::0=DAC Channel 0 , 1=DAC Channel 1
 
  
:[[Variable Types|UINT]] ''DAC_Value''
 
::The value to output to the DAC
 
  
  
'''Return value'''
 
  
:''This call does not return a value''
 
  
  
===<span style="font-weight: normal;"><u><tt>ControlPins</tt></u></span>===
 
Allows Shutdown (SHDN) and Latch (LDAC) pins to be controlled directly if enabled.
 
  
'''Parameters'''
 
  
:[[Variable Types|BOOL]] ''Shutdown''
 
::0 = Shutdown Device, 1 = Device Active
 
  
:[[Variable Types|BOOL]] ''Latch''
 
::0 = Data output driven from DAC register, 1 = Data output locked
 
  
  
'''Return value'''
 
  
:''This call does not return a value''
 
  
  
===<span style="font-weight: normal;"><u><tt>Disable</tt></u></span>===
 
Disables the DAC output.
 
  
'''Parameters'''
 
  
:[[Variable Types|BYTE]] ''Channel''
 
::0=DAC Channel 0 , 1=DAC Channel 1
 
  
 +
''No detailed description exists yet for this component''
  
'''Return value'''
+
==Examples==
  
:''This call does not return a value''
 
  
  
===<span style="font-weight: normal;"><u><tt>Enable</tt></u></span>===
 
Enables the DAC Output.
 
  
'''Parameters'''
 
  
:[[Variable Types|BYTE]] ''Channel''
 
::0=DAC Channel 0 , 1=DAC Channel 1
 
  
  
'''Return value'''
 
  
:''This call does not return a value''
 
  
  
===<span style="font-weight: normal;"><u><tt>Initialise</tt></u></span>===
 
Configures the SPI peripheral ready for communications and initialises the internal variables. DAC needs to be enabled before any output voltage can be generated.
 
  
'''Parameters'''
 
  
:''This macro has no parameters''
 
  
  
'''Return value'''
 
  
:''This call does not return a value''
 
  
  
  
==Simulation macro reference==
 
  
''This component does not contain any simulation macros''
 
  
  
==Property reference==
 
<span style="font-weight: normal;"><u>DAC IC</u></span>
 
  
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''DAC_IC''.
 
  
Selects which DAC IC is connected and therefore the bit depth available.
 
  
<span style="font-weight: normal;"><u>Gain Option</u></span>
+
''<span style="color:red;">No additional examples</span>''
  
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''GainOP''.
 
  
Selects the maximum reference value for the DAC
 
  
<span style="font-weight: normal;"><u>Vref Voltage</u></span>
 
  
This property is of type ''Floating point'' and can be referenced with the variable name ''VrefVol''.
 
  
Reference Voltage, Used to calculate the Voltage resolution.
 
  
<span style="font-weight: normal;"><u>Steps</u></span>
 
  
This property is of type ''Unsigned integer'' and can be referenced with the variable name ''Steps''.
 
  
Number of discrete output states available from the DAC.
 
  
<span style="font-weight: normal;"><u>Control Bits</u></span>
 
  
This property is of type ''Signed integer'' and can be referenced with the variable name ''BITS''.
 
  
Number of digital control bits
 
  
<span style="font-weight: normal;"><u>Resolution</u></span>
+
==Macro reference==
  
This property is of type ''Line of text'' and can be referenced with the variable name ''Res''.
+
===ControlPins===
 +
{| 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.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL
 +
| width="90%" | Shutdown
 +
|-
 +
| colspan="2" | 0 = Shutdown Device, 1 = Device Active&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL
 +
| width="90%" | Latch
 +
|-
 +
| colspan="2" | 0 = Data output driven from DAC register, 1 = Data output locked&nbsp;
 +
|-
 +
| 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''
 +
|}
  
Maximum output resolution based on number of control bits.
 
  
<span style="font-weight: normal;"><u>Voltage Resolution</u></span>
+
===Disable===
 +
{| 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.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Channel
 +
|-
 +
| colspan="2" | 0=DAC Channel 0 , 1=DAC Channel 1&nbsp;
 +
|-
 +
| 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''
 +
|}
  
This property is of type ''Floating point'' and can be referenced with the variable name ''VoltRes''.
 
  
Specifies the Resolution per digital bit in terms of Voltage.
+
===Enable===
 +
{| 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.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Channel
 +
|-
 +
| colspan="2" | 0=DAC Channel 0 , 1=DAC Channel 1&nbsp;
 +
|-
 +
| 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''
 +
|}
  
<span style="font-weight: normal;"><u>Channel</u></span>
 
  
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_spi1::CHANNEL''.
+
===Initialise===
 +
{| 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.&nbsp;
 +
|-
 +
|-
 +
| 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''
 +
|}
  
SPI Channel selector
 
  
<span style="font-weight: normal;"><u>Prescale</u></span>
+
===SetOutput===
 +
{| 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;" | '''SetOutput'''
 +
|-
 +
| colspan="2" | Sets the output voltage of the DAC 8-Bit: Range 0-255 10-Bit: Range 0-1023 12-Bit: Range 0-4095&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Channel
 +
|-
 +
| colspan="2" | 0=DAC Channel 0 , 1=DAC Channel 1&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | DAC_Value
 +
|-
 +
| colspan="2" | The value to output to the DAC&nbsp;
 +
|-
 +
| 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''
 +
|}
  
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_spi1::PR_SCALE''.
 
  
Prescale option selector
+
==Property reference==
  
<span style="font-weight: normal;"><u>MOSI</u></span>
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
+
|-
This property is of type ''Single digital pin'' and can be referenced with the variable name ''cal_spi1::MOSI''.
+
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
 
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''  
SPI Data Out Pin SDO - Also Known as Master Out Slave In (MOSI) when used in Master mode.
+
|-
 
+
|-
<span style="font-weight: normal;"><u>MISO</u></span>
+
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
+
| width="90%" | DAC IC
This property is of type ''Single digital pin'' and can be referenced with the variable name ''cal_spi1::MISO''.
+
|-
 
+
| colspan="2" | Selects which DAC IC is connected and therefore the bit depth available.&nbsp;
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-16-icon.png]]
<span style="font-weight: normal;"><u>CLK</u></span>
+
| width="90%" | Gain Option
 
+
|-
This property is of type ''Single digital pin'' and can be referenced with the variable name ''cal_spi1::CLK''.
+
| colspan="2" | Selects the maximum reference value for the DAC&nbsp;
 
+
|-
SPI Clock Pin CLK - The Clock signal is driven by the SPI master.
+
| width="10%" align="center" | [[File:Fc9-type-15-icon.png]]
 
+
| width="90%" | Vref Pin Voltage
<span style="font-weight: normal;"><u>CS / SS</u></span>
+
|-
 
+
| colspan="2" | The reference voltage applied to the VREF pin.&nbsp;
This property is of type ''Single digital pin'' and can be referenced with the variable name ''cal_spi1::SS''.
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-15-icon.png]]
Chip Select / Slave Select Pin  
+
| width="90%" | Vref Voltage
 
+
|-
Master Mode: General purpose output pin used to select the remote SPI device.
+
| colspan="2" | Reference Voltage, Used to calculate the Voltage resolution.&nbsp;
 
+
|-
Slave Mode: Hardware chip select pin input used to select the SPI device.
+
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
 
+
| width="90%" | Steps
<span style="font-weight: normal;"><u>Use SHDN Pin</u></span>
+
|-
 
+
| colspan="2" | Number of discrete output states available from the DAC.&nbsp;
This property is of type ''True or false'' and can be referenced with the variable name ''UseSHDN''.
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
Allows the SHDN pin to be driven from an output pin on the microcontroller.
+
| width="90%" | Control Bits
 
+
|-
If not used then tie the SHDN pin to VCC to allow the DAC to function.
+
| colspan="2" | Number of digital control bits&nbsp;
 
+
|-
<span style="font-weight: normal;"><u>Use LDAC Pin</u></span>
+
| width="10%" align="center" | [[File:Fc9-type-10-icon.png]]
 
+
| width="90%" | Resolution
This property is of type ''True or false'' and can be referenced with the variable name ''UseLDAC''.
+
|-
 
+
| colspan="2" | Maximum output resolution based on number of control bits.&nbsp;
Allows the LDAC pin to be driven from an output pin on the microcontroller.
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-15-icon.png]]
If not used then tie the LDAC pin to GND to allow the DAC to function.
+
| width="90%" | Voltage Resolution
 
+
|-
<span style="font-weight: normal;"><u>DAC Output Scope Traces</u></span>
+
| colspan="2" | Specifies the Resolution per digital bit in terms of Voltage.&nbsp;
 
+
|-
This property is of type ''True or false'' and can be referenced with the variable name ''ScopeTraces''.
+
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
 
+
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | SPI Connections
Selects if the scope traces are automatically generated or not
+
|-
 
+
|-
<span style="font-weight: normal;"><u>SPI Scope Traces</u></span>
+
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
+
| width="90%" | Channel
This property is of type ''True or false'' and can be referenced with the variable name ''cal_spi1::ScopeTraces''.
+
|-
 
+
| colspan="2" | SPI Channel selector&nbsp;
Selects if the scope traces are automatically generated or not
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
<span style="font-weight: normal;"><u>SPI Console Data</u></span>
+
| width="90%" | Prescale
 
+
|-
This property is of type ''True or false'' and can be referenced with the variable name ''cal_spi1::ConsoleData''.
+
| colspan="2" | Prescale option selector&nbsp;
 
+
|-
Selects if the console data is automatically generated or not
+
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
 
+
| width="90%" | MOSI
<span style="font-weight: normal;"><u>Injector</u></span>
+
|-
 
+
| colspan="2" | SPI Data Out Pin SDO - Also Known as Master Out Slave In (MOSI) when used in Master mode.&nbsp;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_spi1::Injector''.
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
''<span style="color:red;">No additional information</span>''
+
| width="90%" | MOSI Remap Pin
 +
|-
 +
| colspan="2" | Select which the target pin to assign the MOSI hardware pin functionality.&nbsp;
 +
|-
 +
| 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.&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 +
| width="90%" | MISO Remap Pin
 +
|-
 +
| colspan="2" | Select which the target pin to assign the MISO hardware pin functionality.&nbsp;
 +
|-
 +
| 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.&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 +
| width="90%" | CLK Remap Pin
 +
|-
 +
| colspan="2" | Select which the target pin to assign the CLK hardware pin functionality.&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
 +
| width="90%" | CS / SS
 +
|-
 +
| 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. &nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
 +
| width="90%" | Use SHDN Pin
 +
|-
 +
| colspan="2" | Allows the SHDN pin to be driven from an output pin on the microcontroller. If not used then tie the SHDN pin to VCC to allow the DAC to function.&nbsp;
 +
|-
 +
| 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.&nbsp;
 +
|-
 +
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
 +
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
 +
| width="90%" | Simulate Comms
 +
|-
 +
| colspan="2" | &nbsp;
 +
|}

Latest revision as of 13:09, 7 February 2023

Author Matrix TSL
Version 1.0
Category Analog Output


DAC Dual (MCP49x2) component

Component to drive a dual digital to analogue converter (DAC) IC from Microchip via an SPI interface. Compatible with MCP4902 (8-Bit), MCP4912 (10-Bit) and MCP4922 (12-Bit) devices.

Component Source Code

Please click here to download the component source project: FC_Comp_Source_DAC_MCP49x2.fcfx

Please click here to view the component source code (Beta): FC_Comp_Source_DAC_MCP49x2.fcfx

Detailed description

No detailed description exists yet for this component

Examples

No additional examples







Macro reference

ControlPins

Fc9-comp-macro.png ControlPins
Allows Shutdown (SHDN) and Latch (LDAC) pins to be controlled directly if enabled. 
Fc9-bool-icon.png - BOOL Shutdown
0 = Shutdown Device, 1 = Device Active 
Fc9-bool-icon.png - BOOL Latch
0 = Data output driven from DAC register, 1 = Data output locked 
Fc9-void-icon.png - VOID Return


Disable

Fc9-comp-macro.png Disable
Disables the DAC output. 
Fc9-u8-icon.png - BYTE Channel
0=DAC Channel 0 , 1=DAC Channel 1 
Fc9-void-icon.png - VOID Return


Enable

Fc9-comp-macro.png Enable
Enables the DAC Output. 
Fc9-u8-icon.png - BYTE Channel
0=DAC Channel 0 , 1=DAC Channel 1 
Fc9-void-icon.png - VOID Return


Initialise

Fc9-comp-macro.png 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. 
Fc9-void-icon.png - VOID Return


SetOutput

Fc9-comp-macro.png SetOutput
Sets the output voltage of the DAC 8-Bit: Range 0-255 10-Bit: Range 0-1023 12-Bit: Range 0-4095 
Fc9-u8-icon.png - BYTE Channel
0=DAC Channel 0 , 1=DAC Channel 1 
Fc9-u16-icon.png - UINT DAC_Value
The value to output to the DAC 
Fc9-void-icon.png - VOID Return


Property reference

Fc9-prop-icon.png Properties
Fc9-type-16-icon.png DAC IC
Selects which DAC IC is connected and therefore the bit depth available. 
Fc9-type-16-icon.png Gain Option
Selects the maximum reference value for the DAC 
Fc9-type-15-icon.png Vref Pin Voltage
The reference voltage applied to the VREF pin. 
Fc9-type-15-icon.png Vref Voltage
Reference Voltage, Used to calculate the Voltage resolution. 
Fc9-type-21-icon.png Steps
Number of discrete output states available from the DAC. 
Fc9-type-14-icon.png Control Bits
Number of digital control bits 
Fc9-type-10-icon.png Resolution
Maximum output resolution based on number of control bits. 
Fc9-type-15-icon.png Voltage Resolution
Specifies the Resolution per digital bit in terms of Voltage. 
Fc9-conn-icon.png SPI Connections
Fc9-type-16-icon.png Channel
SPI Channel selector 
Fc9-type-16-icon.png Prescale
Prescale option selector 
Fc9-type-5-icon.png MOSI
SPI Data Out Pin SDO - Also Known as Master Out Slave In (MOSI) when used in Master mode. 
Fc9-type-16-icon.png MOSI Remap Pin
Select which the target pin to assign the MOSI hardware pin functionality. 
Fc9-type-5-icon.png MISO
SPI Data In Pin SDI - Also Known as Master In Slave Out (MISO) when used in Master mode. 
Fc9-type-16-icon.png MISO Remap Pin
Select which the target pin to assign the MISO hardware pin functionality. 
Fc9-type-5-icon.png CLK
SPI Clock Pin CLK - The Clock signal is driven by the SPI master. 
Fc9-type-16-icon.png CLK Remap Pin
Select which the target pin to assign the CLK hardware pin functionality. 
Fc9-type-5-icon.png CS / SS
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.  
Fc9-type-7-icon.png Use SHDN Pin
Allows the SHDN pin to be driven from an output pin on the microcontroller. If not used then tie the SHDN pin to VCC to allow the DAC to function. 
Fc9-type-7-icon.png Use LDAC Pin
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. 
Fc9-conn-icon.png Simulation
Fc9-type-7-icon.png Simulate Comms