DSP TMS320F280049之数模转换器DAC(库函数版)

         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的配置步骤如下:

  1. 设置DAC的参考源
  2. 设置输出增益模式
  3. 配置DAC Value装载模式
  4. DAC使能输出
  5. 设置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

 

提问方式:有啥不懂的可以随时向我提问哈,扫描下方二维码我会在第一时间给大家回复的哈,谢谢。 

发布了16 篇原创文章 · 获赞 31 · 访问量 8791
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章