Difference between revisions of "Component: DAC (MCP47x6) (MCP47x6) (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 (MCP47x6) component==
 +
Component to drive a digital to analogue converter (DAC) IC from Microchip via an I2C interface. Compatible with MCP4706 (8-Bit), MCP4716 (10-Bit) and MCP4726 (12-Bit) devices.
  
==[[File:Component Icon 70a3bead_e66d_4a76_bc7b_fb1baa86d2e6.png|Image]] DAC (MCP47x6) (MCP47x6) component==
+
==Component Source Code==
Component to drive a digital to analogue converter (DAC) IC from Microchip via an I2C interface.
 
Compatible with MCP4706 (8-Bit), MCP4716 (10-Bit) and MCP4726 (12-Bit) devices.
 
  
==Examples==
+
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_DAC_MCP47x6.fcfx FC_Comp_Source_DAC_MCP47x6.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_MCP47x6.fcfx FC_Comp_Source_DAC_MCP47x6.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|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>Disable</tt></u></span>===
 
Disables the DAC output.
 
  
'''Parameters'''
 
  
:''This macro has no parameters''
 
  
  
'''Return value'''
 
  
:''This call does not return a value''
 
  
  
===<span style="font-weight: normal;"><u><tt>Enable</tt></u></span>===
 
Enables the DAC Output.
 
  
'''Parameters'''
 
  
:''This macro has no parameters''
 
  
  
'''Return value'''
 
  
:''This call does not return a value''
+
''No detailed description exists yet for this component''
  
 +
==Examples==
  
===<span style="font-weight: normal;"><u><tt>Initialise</tt></u></span>===
 
Configures the I2C 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>Disabled Pull Down</u></span>
 
  
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''DisPullDown''.
 
  
Sets the pull down resistance when the IC's DAC output is disabled.
 
  
<span style="font-weight: normal;"><u>Voltage Reference</u></span>
 
  
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''VRef''.
 
  
Sets the Voltage reference option
 
  
<span style="font-weight: normal;"><u>Gain Option</u></span>
 
  
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''GainOP''.
 
  
Provides a 1x or 2x gain on the output. For 2x gain the vref must be max 1/2 VCC.
 
  
<span style="font-weight: normal;"><u>Vref Voltage</u></span>
+
''<span style="color:red;">No additional examples</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>
 
  
This property is of type ''Line of text'' and can be referenced with the variable name ''Res''.
 
  
Maximum output resolution based on number of control bits.
 
  
<span style="font-weight: normal;"><u>Voltage Resolution</u></span>
+
==Macro reference==
  
This property is of type ''Floating point'' and can be referenced with the variable name ''VoltRes''.
+
===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" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
  
Specifies the Resolution per digital bit in terms of Voltage.
 
  
<span style="font-weight: normal;"><u>User Address Bits</u></span>
+
===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" 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 ''AddrBits''.
 
  
Specifies the bottom three "user" bits of the I2C 7-bit address
+
===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 I2C 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''
 +
|}
  
<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_i2c1::CHANNEL''.
+
===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-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''
 +
|}
  
Channel selection
 
  
<span style="font-weight: normal;"><u>SDA</u></span>
+
==Property reference==
  
This property is of type ''Single digital pin'' and can be referenced with the variable name ''cal_i2c1::SDA''.
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
+
|-
Pin used for SDA (data signal)
+
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
 
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''  
<span style="font-weight: normal;"><u>SCL</u></span>
+
|-
 
+
|-
This property is of type ''Single digital pin'' and can be referenced with the variable name ''cal_i2c1::SCL''.
+
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
+
| width="90%" | DAC IC
Pin used for SCL (clock signal)
+
|-
 
+
| colspan="2" | Selects which DAC IC is connected and therefore the bit depth available.&nbsp;
<span style="font-weight: normal;"><u>Stop Delay</u></span>
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
This property is of type ''True or false'' and can be referenced with the variable name ''cal_i2c1::StopDel''.
+
| width="90%" | Disabled Pull Down
 
+
|-
On older microcontroller devices there is a potential for the I2C hardware channel to lock up if there is not  
+
| colspan="2" | Sets the pull down resistance when the IC's DAC output is disabled.&nbsp;
 
+
|-
a 10ms delay between an I2C stop event and the next I2C start event.
+
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
+
| width="90%" | Voltage Reference
 
+
|-
 
+
| colspan="2" | Sets the Voltage reference option&nbsp;
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-16-icon.png]]
I2C communications.
+
| width="90%" | Gain Option
 
+
|-
<span style="font-weight: normal;"><u>Baud Select</u></span>
+
| colspan="2" | Provides a 1x or 2x gain on the output. For 2x gain the vref must be max 1/2 VCC.&nbsp;
 
+
|-
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_i2c1::BAUD_LIST''.
+
| width="10%" align="center" | [[File:Fc9-type-15-icon.png]]
 
+
| width="90%" | Vref Voltage
Baud rate option selector
+
|-
 
+
| colspan="2" | Reference Voltage, Used to calculate the Voltage resolution.&nbsp;
<span style="font-weight: normal;"><u>Baud Rate</u></span>
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
This property is of type ''Signed integer'' and can be referenced with the variable name ''cal_i2c1::BAUD''.
+
| width="90%" | Steps
 
+
|-
Baud rate to be used
+
| colspan="2" | Number of discrete output states available from the DAC.&nbsp;
 
+
|-
<span style="font-weight: normal;"><u>DAC Output Scope Trace</u></span>
+
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 
+
| width="90%" | Control Bits
This property is of type ''True or false'' and can be referenced with the variable name ''ScopeTraces''.
+
|-
 
+
| colspan="2" | Number of digital control bits&nbsp;
Selects if the scope traces are automatically generated or not
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-10-icon.png]]
<span style="font-weight: normal;"><u>Scope Traces</u></span>
+
| width="90%" | Resolution
 
+
|-
This property is of type ''True or false'' and can be referenced with the variable name ''cal_i2c1::ScopeTraces''.
+
| colspan="2" | Maximum output resolution based on number of control bits.&nbsp;
 
+
|-
Selects if the component pin connections are automatically generated on the data recorder window or not.
+
| width="10%" align="center" | [[File:Fc9-type-15-icon.png]]
 
+
| width="90%" | Voltage Resolution
Yes: Automatically add the component pins to a group on the data recorder which will reflect the sim data during simultion.
+
|-
 
+
| colspan="2" | Specifies the Resolution per digital bit in terms of Voltage.&nbsp;
No: Do not show the pin signals on the data recorder window.
+
|-
 
+
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
<span style="font-weight: normal;"><u>Console Data</u></span>
+
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | I2C Connections
 
+
|-
This property is of type ''True or false'' and can be referenced with the variable name ''cal_i2c1::ConsoleData''.
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
Selects if the console data is automatically generated or not
+
| width="90%" | User Address Bits
 
+
|-
<span style="font-weight: normal;"><u>Injector</u></span>
+
| colspan="2" | Specifies the bottom three "user" bits of the I2C 7-bit address&nbsp;
 
+
|-
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_i2c1::Injector''.
+
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
+
| width="90%" | Channel
Specifies the injector component on the panel to interact with to provide comms simulation.
+
|-
 +
| colspan="2" | Channel selection&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
 +
| width="90%" | SDA
 +
|-
 +
| colspan="2" | Pin used for SDA (data signal)&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
 +
| width="90%" | SCL
 +
|-
 +
| colspan="2" | Pin used for SCL (clock signal)&nbsp;
 +
|-
 +
| 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. &nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 +
| width="90%" | Baud Select
 +
|-
 +
| colspan="2" | Baud rate option selector&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 +
| width="90%" | Baud Rate
 +
|-
 +
| colspan="2" | Baud rate to be used&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 (MCP47x6) component

Component to drive a digital to analogue converter (DAC) IC from Microchip via an I2C interface. Compatible with MCP4706 (8-Bit), MCP4716 (10-Bit) and MCP4726 (12-Bit) devices.

Component Source Code

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

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

Detailed description

No detailed description exists yet for this component

Examples

No additional examples







Macro reference

Disable

Fc9-comp-macro.png Disable
Disables the DAC output. 
Fc9-void-icon.png - VOID Return


Enable

Fc9-comp-macro.png Enable
Enables the DAC Output. 
Fc9-void-icon.png - VOID Return


Initialise

Fc9-comp-macro.png Initialise
Configures the I2C 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-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 Disabled Pull Down
Sets the pull down resistance when the IC's DAC output is disabled. 
Fc9-type-16-icon.png Voltage Reference
Sets the Voltage reference option 
Fc9-type-16-icon.png Gain Option
Provides a 1x or 2x gain on the output. For 2x gain the vref must be max 1/2 VCC. 
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 I2C Connections
Fc9-type-16-icon.png User Address Bits
Specifies the bottom three "user" bits of the I2C 7-bit address 
Fc9-type-16-icon.png Channel
Channel selection 
Fc9-type-5-icon.png SDA
Pin used for SDA (data signal) 
Fc9-type-5-icon.png SCL
Pin used for SCL (clock signal) 
Fc9-type-7-icon.png Stop Delay
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.  
Fc9-type-16-icon.png Baud Select
Baud rate option selector 
Fc9-type-14-icon.png Baud Rate
Baud rate to be used 
Fc9-conn-icon.png Simulation
Fc9-type-7-icon.png Simulate Comms