Jump to content

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

From Flowcode Help
XML import
 
No edit summary
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.
==Detailed description==


==[[File:Component Icon 70a3bead_e66d_4a76_bc7b_fb1baa86d2e6.png|Image]] DAC (MCP47x6) (MCP47x6) component==
''No detailed description exists yet for this 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.


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


===<span style="font-weight: normal;"><u><tt>SetOutput</tt></u></span>===
{| 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 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''
|}


8-Bit: Range 0-255


10-Bit: Range 0-1023
{| 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''
|}


12-Bit: Range 0-4095


'''Parameters'''
{| 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''
|}


:[[Variable Types|UINT]] ''DAC_Value''
::The value to output to the DAC


{| 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''
|}


'''Return value'''


:''This call does not return a value''
{| 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''
|}




===<span style="font-weight: normal;"><u><tt>Disable</tt></u></span>===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
Disables the DAC output.
|-
| 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.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | LED_Byte
|-
| colspan="2" | &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''
|}


'''Parameters'''


:''This macro has no parameters''
{| 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&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''
|}




'''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''
===<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==
==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''.
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
Selects which DAC IC is connected and therefore the bit depth available.
| 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>Disabled Pull Down</u></span>
|-
 
|-
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''DisPullDown''.
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="90%" | DAC IC
Sets the pull down resistance when the IC's DAC output is disabled.
|-
 
| colspan="2" | Selects which DAC IC is connected and therefore the bit depth available.&nbsp;
<span style="font-weight: normal;"><u>Voltage Reference</u></span>
|-
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''VRef''.
| width="90%" | Disabled Pull Down
 
|-
Sets the Voltage reference option
| colspan="2" | Sets the pull down resistance when the IC's DAC output is disabled.&nbsp;
 
|-
<span style="font-weight: normal;"><u>Gain Option</u></span>
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="90%" | Voltage Reference
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''GainOP''.
|-
 
| colspan="2" | Sets the Voltage reference option&nbsp;
Provides a 1x or 2x gain on the output. For 2x gain the vref must be max 1/2 VCC.
|-
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
<span style="font-weight: normal;"><u>Vref Voltage</u></span>
| width="90%" | Gain Option
 
|-
This property is of type ''Floating point'' and can be referenced with the variable name ''VrefVol''.
| colspan="2" | Provides a 1x or 2x gain on the output. For 2x gain the vref must be max 1/2 VCC.&nbsp;
 
|-
Reference Voltage, Used to calculate the Voltage resolution.
| width="10%" align="center" | [[File:Fc9-type-15-icon.png]]
 
| width="90%" | Vref Voltage
<span style="font-weight: normal;"><u>Steps</u></span>
|-
 
| colspan="2" | Reference Voltage, Used to calculate the Voltage resolution.&nbsp;
This property is of type ''Unsigned integer'' and can be referenced with the variable name ''Steps''.
|-
 
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
Number of discrete output states available from the DAC.
| width="90%" | Steps
 
|-
<span style="font-weight: normal;"><u>Control Bits</u></span>
| colspan="2" | Number of discrete output states available from the DAC.&nbsp;
 
|-
This property is of type ''Signed integer'' and can be referenced with the variable name ''BITS''.
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 
| width="90%" | Control Bits
Number of digital control bits
|-
 
| colspan="2" | Number of digital control bits&nbsp;
<span style="font-weight: normal;"><u>Resolution</u></span>
|-
 
| width="10%" align="center" | [[File:Fc9-type-10-icon.png]]
This property is of type ''Line of text'' and can be referenced with the variable name ''Res''.
| width="90%" | Resolution
 
|-
Maximum output resolution based on number of control bits.
| colspan="2" | Maximum output resolution based on number of control bits.&nbsp;
 
|-
<span style="font-weight: normal;"><u>Voltage Resolution</u></span>
| width="10%" align="center" | [[File:Fc9-type-15-icon.png]]
 
| width="90%" | Voltage Resolution
This property is of type ''Floating point'' and can be referenced with the variable name ''VoltRes''.
|-
 
| colspan="2" | Specifies the Resolution per digital bit in terms of Voltage.&nbsp;
Specifies the Resolution per digital bit in terms of Voltage.
|-
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
<span style="font-weight: normal;"><u>User Address Bits</u></span>
| width="90%" | User Address Bits
 
|-
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''AddrBits''.
| colspan="2" | Specifies the bottom three "user" bits of the I2C 7-bit address&nbsp;
 
|-
Specifies the bottom three "user" bits of the I2C 7-bit address
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="90%" | Channel
<span style="font-weight: normal;"><u>Channel</u></span>
|-
 
| colspan="2" | Channel selection&nbsp;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_i2c1::CHANNEL''.
|-
 
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
Channel selection
| width="90%" | SDA
 
|-
<span style="font-weight: normal;"><u>SDA</u></span>
| colspan="2" | Pin used for SDA (data signal)&nbsp;
 
|-
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-5-icon.png]]
 
| width="90%" | SCL
Pin used for SDA (data signal)
|-
 
| colspan="2" | Pin used for SCL (clock signal)&nbsp;
<span style="font-weight: normal;"><u>SCL</u></span>
|-
 
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
This property is of type ''Single digital pin'' and can be referenced with the variable name ''cal_i2c1::SCL''.
| width="90%" | Stop Delay
 
|-
Pin used for SCL (clock signal)
| 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;
 
|-
<span style="font-weight: normal;"><u>Stop Delay</u></span>
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="90%" | Baud Select
This property is of type ''True or false'' and can be referenced with the variable name ''cal_i2c1::StopDel''.
|-
 
| colspan="2" | Baud rate option selector&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-14-icon.png]]
a 10ms delay between an I2C stop event and the next I2C start event.
| width="90%" | Baud Rate
 
|-
 
| colspan="2" | Baud rate to be used&nbsp;
 
|-
Most modern microcontrollers will not have a problem so this property can be disabled to speed up the  
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-conn-icon.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Connections'''  
I2C communications.
|-
 
|-
<span style="font-weight: normal;"><u>Baud Select</u></span>
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-conn-icon.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Simulations'''  
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_i2c1::BAUD_LIST''.
|-
 
|-
Baud rate option selector
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
 
| width="90%" | Simulate Comms
<span style="font-weight: normal;"><u>Baud Rate</u></span>
|-
 
| colspan="2" | &nbsp;
This property is of type ''Signed integer'' and can be referenced with the variable name ''cal_i2c1::BAUD''.
|-
 
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
Baud rate to be used
| width="90%" | DAC Output Scope Trace
 
|-
<span style="font-weight: normal;"><u>DAC Output Scope Trace</u></span>
| colspan="2" | Selects if the scope traces are automatically generated or not&nbsp;
 
|-
This property is of type ''True or false'' and can be referenced with the variable name ''ScopeTraces''.
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
 
| width="90%" | Scope Traces
Selects if the scope traces are automatically generated or not
|-
 
| 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.&nbsp;
<span style="font-weight: normal;"><u>Scope Traces</u></span>
|-
 
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
This property is of type ''True or false'' and can be referenced with the variable name ''cal_i2c1::ScopeTraces''.
| width="90%" | Console Data
 
|-
Selects if the component pin connections are automatically generated on the data recorder window or not.
| colspan="2" | Selects if the console data is automatically generated or not&nbsp;
 
|-
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]]
 
| width="90%" | API
No: Do not show the pin signals on the data recorder window.
|-
 
| colspan="2" | Specifies the injector component on the panel to interact with to provide comms simulation.&nbsp;
<span style="font-weight: normal;"><u>Console Data</u></span>
|}
 
This property is of type ''True or false'' and can be referenced with the variable name ''cal_i2c1::ConsoleData''.
 
Selects if the console data is automatically generated or not
 
<span style="font-weight: normal;"><u>Injector</u></span>
 
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_i2c1::Injector''.
 
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


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


Downloadable macro reference

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


Disable
Disables the DAC output. 
- VOID Return


Enable
Enables the DAC Output. 
- VOID Return


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


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


WriteLEDs
Allows control of all 8-LEDs on the front of the Formula Flowcode. 
- BYTE LED_Byte
 
- VOID Return


Initialise
Starts up the formula flowcode PWM for motor control and performs the wait for button press 
- 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. 
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 
Connections
Simulations
Simulate Comms
 
DAC Output Scope Trace
Selects if the scope traces are automatically generated or not 
Scope Traces
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. 
Console Data
Selects if the console data is automatically generated or not 
API
Specifies the injector component on the panel to interact with to provide comms simulation.