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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章