Jump to content

Component: DAC (MCP47x6) (MCP47x6) (Analog Output): Difference between revisions

From Flowcode Help
XML import
 
m Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder""
 
(22 intermediate revisions by 2 users 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==
==Detailed description==
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==
''<span style="color:red;">No additional examples</span>''




==Downloadable macro reference==


===<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''
''No detailed description exists yet for this component''


==Examples==


'''Return value'''


:''This call does not return a value''




===<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>
''<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''.


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>


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''.
===Disable===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''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''
|}


Maximum output resolution based on number of control bits.


<span style="font-weight: normal;"><u>Voltage Resolution</u></span>
===Enable===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''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 ''Floating point'' and can be referenced with the variable name ''VoltRes''.


Specifies the Resolution per digital bit in terms of Voltage.
===Initialise===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''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>User Address Bits</u></span>


This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''AddrBits''.
===SetOutput===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''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''
|}


Specifies the bottom three "user" bits of the I2C 7-bit address


<span style="font-weight: normal;"><u>Channel</u></span>
==Property reference==


This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_i2c1::CHANNEL''.
{| class="mtx-class-macrotable wikitable"
 
|-
Channel selection
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]]
 
| width="90%" class="mtx-class-macrohead" | '''Properties'''  
<span style="font-weight: normal;"><u>SDA</u></span>
|-
 
|-
This property is of type ''Single digital pin'' and can be referenced with the variable name ''cal_i2c1::SDA''.
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="90%" | DAC IC
Pin used for SDA (data signal)
|-
 
| colspan="2" | Selects which DAC IC is connected and therefore the bit depth available.&nbsp;
<span style="font-weight: normal;"><u>SCL</u></span>
|-
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
This property is of type ''Single digital pin'' and can be referenced with the variable name ''cal_i2c1::SCL''.
| width="90%" | Disabled Pull Down
 
|-
Pin used for SCL (clock signal)
| colspan="2" | Sets the pull down resistance when the IC's DAC output is disabled.&nbsp;
 
|-
<span style="font-weight: normal;"><u>Stop Delay</u></span>
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="90%" | Voltage Reference
This property is of type ''True or false'' and can be referenced with the variable name ''cal_i2c1::StopDel''.
|-
 
| colspan="2" | Sets the Voltage reference option&nbsp;
On older microcontroller devices there is a potential for the I2C hardware channel to lock up if there is not  
|-
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
a 10ms delay between an I2C stop event and the next I2C start event.
| width="90%" | Gain Option
 
|-
 
| colspan="2" | Provides a 1x or 2x gain on the output. For 2x gain the vref must be max 1/2 VCC.&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-15-icon.png]]
 
| width="90%" | Vref Voltage
I2C communications.
|-
 
| colspan="2" | Reference Voltage, Used to calculate the Voltage resolution.&nbsp;
<span style="font-weight: normal;"><u>Baud Select</u></span>
|-
 
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_i2c1::BAUD_LIST''.
| width="90%" | Steps
 
|-
Baud rate option selector
| colspan="2" | Number of discrete output states available from the DAC.&nbsp;
 
|-
<span style="font-weight: normal;"><u>Baud Rate</u></span>
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 
| width="90%" | Control Bits
This property is of type ''Signed integer'' and can be referenced with the variable name ''cal_i2c1::BAUD''.
|-
 
| colspan="2" | Number of digital control bits&nbsp;
Baud rate to be used
|-
 
| width="10%" align="center" | [[File:Fc9-type-10-icon.png]]
<span style="font-weight: normal;"><u>DAC Output Scope Trace</u></span>
| width="90%" | Resolution
 
|-
This property is of type ''True or false'' and can be referenced with the variable name ''ScopeTraces''.
| colspan="2" | Maximum output resolution based on number of control bits.&nbsp;
 
|-
Selects if the scope traces are automatically generated or not
| width="10%" align="center" | [[File:Fc9-type-15-icon.png]]
 
| width="90%" | Voltage Resolution
<span style="font-weight: normal;"><u>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 ''cal_i2c1::ScopeTraces''.
|-
 
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
Selects if the component pin connections are automatically generated on the data recorder window or not.
| width="90%" class="mtx-class-propfolder" | I2C Connections
 
|-
Yes: Automatically add the component pins to a group on the data recorder which will reflect the sim data during simultion.
|-
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
No: Do not show the pin signals on the data recorder window.
| width="90%" | User Address Bits
 
|-
<span style="font-weight: normal;"><u>Console Data</u></span>
| colspan="2" | Specifies the bottom three "user" bits of the I2C 7-bit address&nbsp;
 
|-
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]]
 
| width="90%" | Channel
Selects if the console data is automatically generated or not
|-
| 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" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" class="mtx-class-propfolder" | Simulation
|-
|-
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
| width="90%" | Simulate Comms
|-
| colspan="2" | &nbsp;
|}


<span style="font-weight: normal;"><u>Injector</u></span>
==Component Source Code==


This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_i2c1::Injector''.
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]


Specifies the injector component on the panel to interact with to provide comms simulation.
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]

Latest revision as of 14:36, 13 July 2026

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.

Detailed description

No detailed description exists yet for this component

Examples

No additional examples







Macro reference

Disable

Disable
Disables the DAC output. 
- VOID Return


Enable

Enable
Enables the DAC Output. 
- VOID Return


Initialise

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. 
- VOID Return


SetOutput

SetOutput
Sets the output voltage of the DAC 8-Bit: Range 0-255 10-Bit: Range 0-1023 12-Bit: Range 0-4095 
- UINT DAC_Value
The value to output to the DAC 
- VOID Return


Property reference

Properties
DAC IC
Selects which DAC IC is connected and therefore the bit depth available. 
Disabled Pull Down
Sets the pull down resistance when the IC's DAC output is disabled. 
Voltage Reference
Sets the Voltage reference option 
Gain Option
Provides a 1x or 2x gain on the output. For 2x gain the vref must be max 1/2 VCC. 
Vref Voltage
Reference Voltage, Used to calculate the Voltage resolution. 
Steps
Number of discrete output states available from the DAC. 
Control Bits
Number of digital control bits 
Resolution
Maximum output resolution based on number of control bits. 
Voltage Resolution
Specifies the Resolution per digital bit in terms of Voltage. 
I2C Connections
User Address Bits
Specifies the bottom three "user" bits of the I2C 7-bit address 
Channel
Channel selection 
SDA
Pin used for SDA (data signal) 
SCL
Pin used for SCL (clock signal) 
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.  
Baud Select
Baud rate option selector 
Baud Rate
Baud rate to be used 
Simulation
Simulate Comms
 

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