DAC Module¶
The buffered digital to analog converter (DAC) API provides a set of functions for programming the digital circuits of the DAC. Functions are provided to set the reference voltage, the synchronization mode, the internal 12-bit DAC value, and set the state of the DAC output.
-
group
dac_api
Defines
-
DAC_REG_BYTE_MASK
(0xFFU)¶ Register Byte Mask.
-
DAC_LOCK_KEY
(0xA000U)¶ DAC Lock Key.
-
DAC_LOCK_CONTROL
(0x1U)¶ Lock the control register.
-
DAC_LOCK_SHADOW
(0x2U)¶ Lock the shadow value register.
-
DAC_LOCK_OUTPUT
(0x4U)¶ Lock the output enable register.
Enums
-
enum
DAC_ReferenceVoltage
¶ Values that can be passed to DAC_setReferenceVoltage() as the source parameter.
Values:
-
enumerator
DAC_REF_VDAC
= 0¶ VDAC reference voltage.
-
enumerator
DAC_REF_ADC_VREFHI
= 1¶ ADC VREFHI reference voltage.
-
enumerator
-
enum
DAC_LoadMode
¶ Values that can be passed to DAC_setLoadMode() as the mode parameter.
Values:
-
enumerator
DAC_LOAD_SYSCLK
= 0¶ Load on next SYSCLK.
-
enumerator
DAC_LOAD_PWMSYNC
= 4¶ Load on next PWMSYNC specified by SYNCSEL.
-
enumerator
Functions
-
uint16_t
DAC_getRevision
(uint32_t base)¶ Get the DAC Revision value
This function gets the DAC revision value.
- Parameters
base
: is the DAC module base address
- Return
Returns the DAC revision value.
-
void
DAC_setReferenceVoltage
(uint32_t base, DAC_ReferenceVoltage source)¶ Sets the DAC Reference Voltage
This function sets the DAC reference voltage.
- Parameters
base
: is the DAC module base addresssource
: is the selected reference voltage
The source parameter can have one of two values:
DAC_REF_VDAC - The VDAC reference voltage
DAC_REF_ADC_VREFHI - The ADC VREFHI reference voltage
- Return
None.
-
void
DAC_setLoadMode
(uint32_t base, DAC_LoadMode mode)¶ Sets the DAC Load Mode
This function sets the DAC load mode.
- Parameters
base
: is the DAC module base addressmode
: is the selected load mode
The mode parameter can have one of two values:
DAC_LOAD_SYSCLK - Load on next SYSCLK
DAC_LOAD_PWMSYNC - Load on next PWMSYNC specified by SYNCSEL
- Return
None.
-
void
DAC_setPWMSyncSignal
(uint32_t base, uint16_t signal)¶ Sets the DAC PWMSYNC Signal
This function sets the DAC PWMSYNC signal.
- Parameters
base
: is the DAC module base addresssignal
: is the selected PWM signal
The signal parameter must be set to a number that represents the PWM signal that will be set. For instance, passing 2 into signal will select PWM sync signal 2.
- Return
None.
-
uint16_t
DAC_getActiveValue
(uint32_t base)¶ Get the DAC Active Output Value
This function gets the DAC active output value.
- Parameters
base
: is the DAC module base address
- Return
Returns the DAC active output value.
-
void
DAC_setShadowValue
(uint32_t base, uint16_t value)¶ Set the DAC Shadow Output Value
This function sets the DAC shadow output value.
- Parameters
base
: is the DAC module base addressvalue
: is the 12-bit code to be loaded into the active value register
- Return
None.
-
uint16_t
DAC_getShadowValue
(uint32_t base)¶ Get the DAC Shadow Output Value
This function gets the DAC shadow output value.
- Parameters
base
: is the DAC module base address
- Return
Returns the DAC shadow output value.
-
void
DAC_enableOutput
(uint32_t base)¶ Enable the DAC Output
This function enables the DAC output.
- Parameters
base
: is the DAC module base address
- Note
A delay is required after enabling the DAC. Further details regarding the exact delay time length can be found in the device datasheet.
- Return
None.
-
void
DAC_disableOutput
(uint32_t base)¶ Disable the DAC Output
This function disables the DAC output.
- Parameters
base
: is the DAC module base address
- Return
None.
-
void
DAC_setOffsetTrim
(uint32_t base, int16_t offset)¶ Set DAC Offset Trim
This function sets the DAC offset trim. The
offset value should be a signed number in the range of -128 to 127.- Parameters
base
: is the DAC module base addressoffset
: is the specified value for the offset trim
- Note
The offset should not be modified unless specifically indicated by TI Errata or other documentation. Modifying the offset value could cause this module to operate outside of the datasheet specifications.
- Return
None.
-
int16_t
DAC_getOffsetTrim
(uint32_t base)¶ Get DAC Offset Trim
This function gets the DAC offset trim value.
- Parameters
base
: is the DAC module base address
- Return
None.
-
void
DAC_lockRegister
(uint32_t base, uint16_t reg)¶ Lock write-access to DAC Register
This function locks the write-access to the specified DAC register. Only a system reset can unlock the register once locked.
- Parameters
base
: is the DAC module base addressreg
: is the selected DAC registers
The reg parameter can be an ORed combination of any of the following values:
DAC_LOCK_CONTROL - Lock the DAC control register
DAC_LOCK_SHADOW - Lock the DAC shadow value register
DAC_LOCK_OUTPUT - Lock the DAC output enable/disable register
- Return
None.
-
bool
DAC_isRegisterLocked
(uint32_t base, uint16_t reg)¶ Check if DAC Register is locked
This function checks if write-access has been locked on the specified DAC register.
- Parameters
base
: is the DAC module base addressreg
: is the selected DAC register locks to check
The reg parameter can be an ORed combination of any of the following values:
DAC_LOCK_CONTROL - Lock the DAC control register
DAC_LOCK_SHADOW - Lock the DAC shadow value register
DAC_LOCK_OUTPUT - Lock the DAC output enable/disable register
- Return
Returns true if any of the registers specified are locked, and false if all specified registers aren’t locked.
-
void
DAC_tuneOffsetTrim
(uint32_t base, float32_t referenceVoltage)¶ Tune DAC Offset Trim
This function adjusts/tunes the DAC offset trim. The
referenceVoltage value should be a floating point number in the range specified in the device data manual.- Parameters
base
: is the DAC module base addressreferenceVoltage
: is the reference voltage the DAC module is operating at.
- Note
Use this function to adjust the DAC offset trim if operating at a reference voltage other than 2.5v. Since this function modifies the DAC offset trim register, it should only be called once after Device_cal. If it is called multiple times after Device_cal, the offset value scaled would be the wrong value.
- Return
None.
-
The code for this module is contained in driverlib/dac.c, with driverlib/dac.h containing the API declarations for use by applications.