最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

STM32學(xué)習(xí)筆記—DAC基礎(chǔ)內(nèi)容及常見問題

2020-04-23 10:41 作者:電堂科技  | 我要投稿

DAC,Digital-to-Analog Converter(數(shù)模轉(zhuǎn)換器),DA轉(zhuǎn)換和AD轉(zhuǎn)換有著同樣重要的作用,在許多場合都能看到DAC的應(yīng)用。

今天是第8篇分享,《STM32學(xué)習(xí)筆記》之DAC基礎(chǔ)內(nèi)容及常見問題。

DA轉(zhuǎn)換器是把數(shù)字量轉(zhuǎn)變成模擬量的器件,按模擬量輸出類型通常分為:電流和電壓輸出類型。常見的DAC是電壓輸出型,在STM32中集成的DAC轉(zhuǎn)換模塊為電壓輸出型數(shù)模轉(zhuǎn)換器。


STM32 DAC 基礎(chǔ)內(nèi)容

STM32內(nèi)部集成的DAC輸出通道和功能與型號有關(guān),一般有1到3個通道。

下面結(jié)合STM32F4描述一下DAC基本的參數(shù)信息:

1. DAC分辨率

分辨率決定了DAC的轉(zhuǎn)換精度,目前STM32內(nèi)部集成的DAC分辨率為12位。

對于大部分應(yīng)用來說,12位分辨率的DAC已經(jīng)足夠了,同時還可通過軟件配置成 8 位分辨率。

2. DAC參考電壓

參考電壓是DA轉(zhuǎn)換輸出電壓的參考基準(zhǔn),STM32大部分芯片具有DAC和ADC共用的參考電壓引腳VREF+、VREF-。沒有參考電壓引腳的芯片使用VDDA作為參考電壓。

STM32參考電壓要求:1.8V ≤?參考電壓?≤?3.6V,而且參考電壓≤VDDA。不同系列不同型號參考電壓范圍有差異,具體請參看數(shù)據(jù)手冊。

3. DAC對齊格式

STM32數(shù)據(jù)位數(shù)可配置為12位或者8位,對齊格式分為左對齊和右對齊。

4.DAC觸發(fā)選擇

STM32觸發(fā)DAC轉(zhuǎn)換有多種選擇,外部引腳、定時器、軟件觸發(fā)等,可根據(jù)實際情況選擇。

放一張STM32F4的DAC框圖和引腳讓大家更加直觀了解DAC:

STM32 DAC的功能可能不同型號之間略有差異,具體細(xì)節(jié)內(nèi)容可查閱芯片對應(yīng)的手冊。

STM32 DAC?參數(shù)配置

使用STM32的DAC功能只需要很簡單的配置即可,不管是使用STM32CubeMX配置,還是使用標(biāo)準(zhǔn)外設(shè)庫配置都很簡單。

1.STM32CubeMX配置

使用STM32CubeMX工具可“一鍵”配置相關(guān)的參數(shù):使能Buffer、?觸發(fā)源選擇、?使能三角波形等。

想要在項目中快速使用STM32 DAC功能,建議使用STM32CubeMX工具“一鍵”配置,避免遺漏配置,或者錯誤配置引起的不必要麻煩。

2.標(biāo)準(zhǔn)外設(shè)庫配置

STM32部分系列提供標(biāo)準(zhǔn)外設(shè)庫,對于DAC來說,包含:DAC時鐘、引腳、使能Buffer、?觸發(fā)源選擇、?使能三角波形等一些最基礎(chǔ)的參數(shù)。

void DAC_Configuration(void){ ?DAC_InitTypeDef ?DAC_InitStructure;
?DAC_InitStructure.DAC_Trigger = DAC_Trigger_Software; ?DAC_InitStructure.DAC_WaveGeneration = DAC_WaveGeneration_None; ?DAC_InitStructure.DAC_LFSRUnmask_TriangleAmplitude = DAC_LFSRUnmask_Bit0; ?DAC_InitStructure.DAC_OutputBuffer = DAC_OutputBuffer_Enable; ?DAC_Init(DAC_Channel_1, &DAC_InitStructure);
?DAC_Cmd(DAC_Channel_1, ENABLE);}

這是最基礎(chǔ)的配置參數(shù),如果還使用了定時器觸發(fā)、DMA等功能,就需要配置對應(yīng)的內(nèi)容。


STM32 DAC 常見問題

STM32的DAC功能比較簡單,往往容易忽視一些細(xì)節(jié)問題,換一個硬件環(huán)境可能問題就暴露出來了。

問題一:DAC轉(zhuǎn)換觸發(fā)源選擇和配置問題

觸發(fā)DAC轉(zhuǎn)化的方式有多種,選擇了對應(yīng)的觸發(fā)源就需要進(jìn)行相關(guān)的配置,有不少人配置都遺漏一些相關(guān)配置,從而導(dǎo)致無輸出電壓,或者電壓輸出不同步等問題。

比如:選擇了定時器觸發(fā),但定時器沒有配置成對應(yīng)觸發(fā)源。

TIM_SelectOutputTrigger(TIM2, TIM_TRGOSource_Update);

還比如:定時器參數(shù)不對,導(dǎo)致定時觸發(fā)頻率不對。

TIM_TimeBaseStructure.TIM_Prescaler

TIM_TimeBaseStructure.TIM_Period

解決辦法:參考官方例程,不遺漏配置、不把參數(shù)配錯?;蛘呤褂肧TM32CubeMX工具配置。


問題二:DAC輸出電壓不穩(wěn)定問題

STM32部分型號沒有參考電壓引腳,就使用VDDA模擬電源作為參考電壓。

在實際應(yīng)用中,系統(tǒng)的電壓受到負(fù)載的影響比較常見,如果STM32數(shù)字電源、模擬電源和參考電壓共用一個電源,就會存在參考電壓不穩(wěn)定的情況,從而導(dǎo)致DAC輸出電壓不穩(wěn)定的情況。

解決辦法:增加電源輸出功率、使用獨立VDDA模擬電源、更換使用有參考電壓引腳的芯片等。


問題三:DAC無法輸出0V問題

相信有不少人都遇到過這樣的問題:DAC無法輸出0V。

引起這個問題有可能是因為使能了Buffer(輸出緩沖器),STM32的DAC輸出緩沖器,與常人思維的理解可能有點不同。

輸出緩沖器作用是減小輸出阻抗,可用來降低輸出阻抗并在不增加外部運(yùn)算放大器的情況下直接驅(qū)動外部負(fù)載。

在數(shù)據(jù)手冊中還有一點說明:使能緩沖器之后,輸出電壓下限為0.2V。(同時,上限電壓為VDDA - 0.2)。

解決辦法:關(guān)閉輸出緩沖器。(關(guān)閉之后,驅(qū)動能力會減弱,建議添加電壓跟隨器或運(yùn)放電路)

DAC_InitStructure.DAC_OutputBuffer = DAC_OutputBuffer_Disable;

關(guān)注微信公眾號“STM32”了解更多相關(guān)內(nèi)容
















STM32學(xué)習(xí)筆記—DAC基礎(chǔ)內(nèi)容及常見問題的評論 (共 條)

分享到微博請遵守國家法律
正蓝旗| 苍山县| 赣榆县| 四子王旗| 威宁| 百色市| 双柏县| 宁晋县| 万山特区| 平罗县| 陵川县| 太湖县| 平原县| 古交市| 会同县| 临沂市| 玛曲县| 岳西县| 会同县| 灌阳县| 铅山县| 阿拉善右旗| 丘北县| 蓝田县| 蕲春县| 霍林郭勒市| 同江市| 平谷区| 江北区| 盘山县| 富蕴县| 阳新县| 射洪县| 齐齐哈尔市| 综艺| 巫溪县| 承德县| 娄底市| 印江| 思南县| 稷山县|