STM32的PWM和DAC練習中生成音訊和波形

2021-10-13 19:42:17 字數 2411 閱讀 1573

二、 dac

pwm

pmm是 pulse width modulation 的縮寫,中文意思就是脈衝寬度調製,簡稱脈寬調變。它是利用微處理器的數字輸出來對模擬電路進行控 制的一種非常有效的技術,其控制簡單、靈活和動態響應好等優點而成 為電力電子技術最廣泛應用的控制方式。

脈寬調變(pwm)基本原理

控制方式就是對逆變電路開關器件的通斷進行控制,使輸出端得到一系列幅值相等的脈衝,用這些脈衝來代替正弦波或所需要的波形。也就是在輸出波形的半個週期中產生多個脈衝,使各脈衝的等值電壓為正弦波形,所獲得的輸出平滑且低次諧波少。按一定的規則對各脈衝的寬度進行調製,既可改變逆變電路輸出電壓的大小,也可改變輸出頻率 。

了解了這麼多現在開始實驗。

首先我們找到**,這裡使用的野火開發板,他自帶有相關**,我們直接用。

開啟一看

我們只輸入1路,這個是4路,找到bsp_generaltim.c檔案,找到輸出比較通道gpio初始化部分,把通道2、3、4都注釋掉。登出掉主要是怕之後需要又找不到。

上圖2、3、4路都用\登出掉。

然後我們連線開發板,配置,然後進行燒錄(連線和配置的關鍵點之前的部落格有提到,可以看一下)然後開發板和示波器相連。最後得到如下波形:

為數字/模擬轉換模組,故名思議,它的作用就是把輸入的數字編碼,轉換成對應的模擬電壓輸出,它的功能與adc相反。在常見的數碼訊號系統中,大部分感測器訊號被化成電壓訊號,而adc把電壓模擬訊號轉換成易於計算機儲存、處理的數字編碼,由計算機處理完成後,再由dac輸出電壓模擬訊號,該電壓模擬訊號常常用來驅動某些執行器件,使人類易於感知。如音訊訊號的採集及還原就是這樣乙個過程。

stm32具有片上dac外設,它的分辯率可配置為8位或12位的數字輸入訊號,具有兩個dac輸出通道,這兩個通道互不影響,每個通道都可以使用dma功能,都具有出錯檢測能力,可外部觸發。

dac構成特點

dac主要由數字暫存器、模擬電子開關、位權網路、求和運算放大器和基準電壓源(或恆流源)組成。用存於數字暫存器的數字量的各位數碼,分別控制對應位的模擬電子開關,使數碼為1的位在位權網路上產生與其位權成正比的電流值,再由運算放大器對各電流值求和,並轉換成電壓值。

根據位權網路的不同,可以構成不同型別的dac,如權電阻網路dac、r–2r倒t形電阻網路dac和單值電流型網路dac等。權電阻網路dac的轉換精度取決於基準電壓vref,以及模擬電子開關、運算放大器和各權電阻值的精度。它的缺點是各權電阻的阻值都不相同,位數多時,其阻值相差甚遠,這給保證精度帶來很大困難,特別是對於積體電路的製作很不利,因此在整合的dac中很少單獨使用該電路 。

它由若干個相同的r、2r網路節組成,每節對應於乙個輸入位。節與節之間串接成倒t形網路。r–2r倒t形電阻網路dac是工作速度較快、應用較多的一種。和權電阻網路比較,由於它只有r、2r兩種阻值,從而克服了權電阻阻值多,且阻值差別大的缺點 。

電流型dac則是將恆流源切換到電阻網路中,恆流源內阻極大,相當於開路,所以連同電子開關在內,對它的轉換精度影響都比較小,又因電子開關大多採用非飽和型的ecl開關電路,使這種dac可以實現高速轉換,轉換精度較高 。

輸出乙個週期2khz的正弦波

我們用的野火開發板,官方**如下位置

開啟工程

輸出乙個週期為2khz的正弦波,通過計算公式,我們可以得到,一共需要3600個取樣點。對**進行修改。或者我們不用取樣,直接改週期節點,找到bsp_dac.c檔案,找到tim2基本定時器配置部分,為了輸出2khz正弦波,把箭頭所指的定時週期從(20-1)改為(1125-1)

然後我們進行編譯並配置成功後把程式燒錄到開發板,順便把示波器連線到開發板上。顯示如下

STM32的PWM和DAC練習

二 dac 總結參考資料 pwm是 pulse width modulation 的縮寫,中文意思就是脈衝寬度調製,簡稱脈寬調變。它是利用微處理器的數字輸出來對模擬電路進行控 制的一種非常有效的技術,其控制簡單 靈活和動態響應好等優點而成 為電力電子技術最廣泛應用的控制方式。stm32f1 除了基本...

STM32的PWM和DAC練習

1.pwm簡介 pwm是 pulse width modulation 的縮寫,中文意思就是脈衝寬度調製,簡稱脈寬調變。它是利用微處理器的數字輸出來對模擬電路進行控 制的一種非常有效的技術,其控制簡單 靈活和動態響應好等優點而成 為電力電子技術最廣泛應用的控制方式。2.原理 脈寬調變 pwm 基本原...

STM32定時器輸出PWM做DAC

上一節介紹了stm32定時器產生pwm波的用法,pwm波有很多種用途,如控制led的亮度,控制電機的轉速等。還有乙個常用的功能就是做dac 數模轉換器 用。有時候,專案中可能會需要輸出多路電壓訊號,而外部的多路dac晶元會增加不少成本,如果對輸出訊號的精度等要求不高,這時可以用pwm 加低通濾波器的...