|
|
| (13 intermediate revisions by 2 users not shown) |
| Line 15: |
Line 15: |
| 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 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== | | ==Detailed description== |
| | |
| | |
| | |
| | |
|
| |
|
| 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]
| |
|
| |
|
| ==Detailed description==
| |
|
| |
|
|
| |
|
| Line 40: |
Line 42: |
|
| |
|
| ==Examples== | | ==Examples== |
| | |
| | |
| | |
| | |
| | |
| | |
|
| |
|
|
| |
|
| Line 61: |
Line 69: |
|
| |
|
|
| |
|
| ==Macro reference==
| |
|
| |
|
| {| 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
| |
| |-
| |
| |-
| |
| | 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;" | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | ==Macro reference== |
| | |
| | ===Disable=== |
| | {| class="mtx-class-macrotable wikitable" |
| |- | | |- |
| | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] |
| | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Disable''' | | | width="90%" class="mtx-class-macrohead" | '''Disable''' |
| |- | | |- |
| | colspan="2" | Disables the DAC output. | | | colspan="2" | Disables the DAC output. |
| Line 94: |
Line 95: |
|
| |
|
|
| |
|
| {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | | ===Enable=== |
| | {| class="mtx-class-macrotable wikitable" |
| |- | | |- |
| | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] |
| | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Enable''' | | | width="90%" class="mtx-class-macrohead" | '''Enable''' |
| |- | | |- |
| | colspan="2" | Enables the DAC Output. | | | colspan="2" | Enables the DAC Output. |
| Line 107: |
Line 109: |
|
| |
|
|
| |
|
| {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | | ===Initialise=== |
| | {| class="mtx-class-macrotable wikitable" |
| |- | | |- |
| | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] |
| | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise''' | | | 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. | | | 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. |
| Line 120: |
Line 123: |
|
| |
|
|
| |
|
| | | ===SetOutput=== |
| | | {| class="mtx-class-macrotable wikitable" |
| ==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%" | DAC IC
| |
| |-
| |
| | colspan="2" | Selects which DAC IC is connected and therefore the bit depth available.
| |
| |-
| |
| | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| | width="90%" | Disabled Pull Down
| |
| |-
| |
| | colspan="2" | Sets the pull down resistance when the IC's DAC output is disabled.
| |
| |-
| |
| | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| | width="90%" | Voltage Reference
| |
| |-
| |
| | colspan="2" | Sets the Voltage reference option
| |
| |-
| |
| | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| | 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.
| |
| |-
| |
| | width="10%" align="center" | [[File:Fc9-type-15-icon.png]]
| |
| | width="90%" | Vref Voltage
| |
| |-
| |
| | 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.
| |
| |-
| |
| | width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
| |
| | width="90%" | Control Bits
| |
| |-
| |
| | colspan="2" | 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]]
| |
| | width="90%" | Voltage Resolution
| |
| |-
| |
| | colspan="2" | Specifies the Resolution per digital bit in terms of Voltage.
| |
| |-
| |
| | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| |
| | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | I2C Connections
| |
| |-
| |
| |-
| |
| | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| | width="90%" | User Address Bits
| |
| |-
| |
| | colspan="2" | 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
| |
| |-
| |
| | 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-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.
| |
| |-
| |
| | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| |
| | width="90%" | Baud Select
| |
| |-
| |
| | colspan="2" | Baud rate option selector
| |
| |-
| |
| | width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
| |
| | width="90%" | Baud Rate
| |
| |-
| |
| | colspan="2" | Baud rate to be used
| |
| |-
| |
| | 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" |
| |
| |}==Macro reference==
| |
| | |
| {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
| |
| |- | | |- |
| | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] |
| | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetOutput''' | | | 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 | | | colspan="2" | Sets the output voltage of the DAC 8-Bit: Range 0-255 10-Bit: Range 0-1023 12-Bit: Range 0-4095 |
| Line 240: |
Line 140: |
| | width="90%" style="border-top: 2px solid #000;" | ''Return'' | | | 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;" | '''Disable'''
| |
| |-
| |
| | colspan="2" | Disables the DAC output.
| |
| |-
| |
| |-
| |
| | 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" 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 I2C 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''
| |
| |}
| |
|
| |
|
| |
|
| |
|
|
| |
|
| ==Property reference== | | ==Property reference== |
|
| |
|
| {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | | {| class="mtx-class-macrotable wikitable" |
| |- | | |- |
| | width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]] | | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]] |
| | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties''' | | | width="90%" class="mtx-class-macrohead" | '''Properties''' |
| |- | | |- |
| |- | | |- |
| Line 336: |
Line 195: |
| | colspan="2" | Specifies the Resolution per digital bit in terms of Voltage. | | | colspan="2" | Specifies the Resolution per digital bit in terms of Voltage. |
| |- | | |- |
| | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]] | | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] |
| | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | I2C Connections | | | width="90%" class="mtx-class-propfolder" | I2C Connections |
| |- | | |- |
| |- | | |- |
| Line 375: |
Line 234: |
| | colspan="2" | Baud rate to be used | | | colspan="2" | Baud rate to be used |
| |- | | |- |
| | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]] | | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] |
| | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation | | | width="90%" class="mtx-class-propfolder" | Simulation |
| |- | | |- |
| |- | | |- |
| Line 384: |
Line 243: |
| | colspan="2" | | | | colspan="2" | |
| |} | | |} |
| | |
| | ==Component Source Code== |
| | |
| | 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] |
| | |
| | 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] |