F280049C内部包含两个12-bit的DAC内核DACa、DACb,可以产生多种波形,比如正弦波、方波、锯齿波等。可选内部参考源1.65V或2.5V、外部参考源,输出增益可编程x1、x2。DAC内部框图如下所示:
(1)建立工程
F280049C工程的建立请参考这篇博客:
https://blog.csdn.net/fanxianyan1993/article/details/88090308
(2)DAC外设库函数介绍
TI为F280049C DSP编写了较多的库函数,在编写外设驱动程序时可直接调用其API函数,方便开发。F280049C的DAC部分的库函数如下所示:(其中 base 为DAC外设的基地址)
(1)uint16_t DAC_getRevision (uint32_t base);
获取DAC的版本号。
(2)void DAC_setReferenceVoltage (uint32_t base, DAC_ReferenceVoltage source)
设置DAC的参考源
宏:
DAC_REF_VDAC (使用DAC输出作为参考源)
DAC_REF_ADC_VREFHI (使用内部参考源或外部参考源)
(3)void DAC_setGainMode (uint32_t base, DAC_GainMode mode)
设置DAC输出的增益模式
宏:
DAC_GAIN_ONE (输出电压x1)
DAC_GAIN_TWO (输出电压x2)
(4)void DAC_setLoadMode (uint32_t base, DAC_LoadMode mode)
设置ADC Value的装载模式
宏:
DAC_LOAD_SYSCLK (在下一个时钟周期装载)
DAC_LOAD_PWMSYNC (在下一个PWM同步信号时装载)
(5)void DAC_setPWMSyncSignal (uint32_t base, uint16_t signal)
设置PWM的同步信号
(6)uint16_t DAC_getActiveValue (uint32_t base)
获取DAC的Value值
(7)void DAC_setShadowValue (uint32_t base, uint16_t value)
设置DAC的Value值(范围0~4095)
(8)uint16_t DAC_getShadowValue (uint32_t base)
获取DAC的Value值
(9)void DAC_enableOutput (uint32_t base)
DAC输出使能
(10)void DAC_disableOutput (uint32_t base)
DAC输出失能
(11)void DAC_setOffsetTrim (uint32_t base, int16_t offset)
设置DAC的偏置
(12)int16_t DAC_getOffsetTrim (uint32_t base)
获取DAC的偏置
(13)void DAC_lockRegister (uint32_t base, uint16_t reg)
设置DAC寄存器上锁
宏:
DAC_LOCK_CONTROL (控制寄存器上锁)
DAC_LOCK_SHADOW(影子寄存器上锁)
DAC_LOCK_OUTPUT(输出寄存器上锁)
(14)bool DAC_isRegisterLocked (uint32_t base, uint16_t reg)
判断DAC寄存器是否上锁
(15)DAC_tuneOffsetTrim (uint32_t base, float32_t referenceVoltage)
DAC微调偏置
(3)DAC外设的配置
DAC的配置步骤如下:
- 设置DAC的参考源
- 设置输出增益模式
- 配置DAC Value装载模式
- DAC使能输出
- 设置DAC Value的值
DAC的配置程序如下:
void configureDAC()
{
ASysCtl_setAnalogReferenceInternal(ASYSCTL_VREFHIA);
ASysCtl_setAnalogReference2P5(ASYSCTL_VREFHIA);
DAC_setReferenceVoltage(DACA_BASE,DAC_REF_ADC_VREFHI);
DAC_enableOutput(DACA_BASE);
DAC_setGainMode(DACA_BASE,DAC_GAIN_ONE);
DAC_setLoadMode(DACA_BASE,DAC_LOAD_SYSCLK);
DAC_setShadowValue(DACA_BASE,256);
DEVICE_DELAY_US(10);
}
(4)DAC外设的配置
F280049C的DAC例程文件如下,需要的可以自行下载。大家有任何疑问都可以给我留言,我会在第一时间给大家回复的哈。
https://download.csdn.net/download/fanxianyan1993/11020308