天天看點

STM32DAC音頻播放一、DAC簡介二、使用DAC輸出周期2khz的正弦波三、将wav檔案轉化成C語言四、轉換一個音樂中的音頻五、總結參考文獻

基于片内Flash的提示音播放程式。

1)實驗資料準備:用Adobe audition或goldwave等音頻編輯軟體錄制“您好歡迎光臨!”的幾秒鐘的聲音(8khz采樣、8bit量化編碼的單聲道wav格式),確定音頻資料盡量小(最大不超64KB)。然後程式設計将其分批次寫入stm32f103c8t6晶片内部flash區域。

2)數字音頻還原播放任務:程式設計讀取此段音頻,分别通過 (a)stm32f103c8t6自帶的DAC通道,轉換為模拟音頻進行播放,并用示波器觀察波形,用耳機/喇叭收聽,評判音樂還原效果

目錄

  • 一、DAC簡介
    • 1、DAC介紹
    • 2、DAC的主要特性
    • 3、DAC子產品功能框圖
  • 二、使用DAC輸出周期2khz的正弦波
  • 三、将wav檔案轉化成C語言
  • 四、轉換一個音樂中的音頻
  • 五、總結
  • 參考文獻

一、DAC簡介

1、DAC介紹

DAC,與ADC相對,是數字量轉模拟量,經常用來作為信号發生器

2、DAC的主要特性

●2個DAC轉換器:1個輸出通道對應1個轉換器

● 8位或者12位單調輸出

● 12位模式下資料左對齊或者右對齊

● 同步更新功能

● 噪聲波形生成

● 三角波形生成

● 雙DAC通道同時或者分别轉換

● 每個通道都有DMA功能

● 外部觸發轉換

● 輸入參考電壓V REF+

3、DAC子產品功能框圖

STM32DAC音頻播放一、DAC簡介二、使用DAC輸出周期2khz的正弦波三、将wav檔案轉化成C語言四、轉換一個音樂中的音頻五、總結參考文獻

①中表示的是DAC子產品模拟部分的供電和DAC子產品的參考電壓 ,STM32 的 DAC 規定了它的參考電壓 輸入範圍為 2.4——3.3V。一般,取值為3.3V。

②中DAC_OUTx表示DAC輸出通道,對應引腳是PA4或者PA5。

二、使用DAC輸出周期2khz的正弦波

首先,使用Audition輸出一個周期為2khz的正弦波

點選

檔案

->

建立

->

音頻檔案

在彈窗中,作出如下的配置

  • 檔案名:test
  • 采樣率:2000,
  • 聲道為單聲道
  • 位深度:16
    STM32DAC音頻播放一、DAC簡介二、使用DAC輸出周期2khz的正弦波三、将wav檔案轉化成C語言四、轉換一個音樂中的音頻五、總結參考文獻
    點選

    效果

    ->

    生成基本音色

    作出如下的配置
    STM32DAC音頻播放一、DAC簡介二、使用DAC輸出周期2khz的正弦波三、将wav檔案轉化成C語言四、轉換一個音樂中的音頻五、總結參考文獻
    點選

    檔案

    .>

    導出

    .>

    檔案

    配置導出格式如圖所示
    STM32DAC音頻播放一、DAC簡介二、使用DAC輸出周期2khz的正弦波三、将wav檔案轉化成C語言四、轉換一個音樂中的音頻五、總結參考文獻
    點選确定之後,可以看見生成了一個test.wav檔案
    STM32DAC音頻播放一、DAC簡介二、使用DAC輸出周期2khz的正弦波三、将wav檔案轉化成C語言四、轉換一個音樂中的音頻五、總結參考文獻

三、将wav檔案轉化成C語言

打開軟體WavToC,這個軟體可以将Wav檔案轉化成為C語言代碼

導入剛剛生成的test.wav檔案

STM32DAC音頻播放一、DAC簡介二、使用DAC輸出周期2khz的正弦波三、将wav檔案轉化成C語言四、轉換一個音樂中的音頻五、總結參考文獻

點選生成代碼,可以看到右邊輸出了c語言代碼

STM32DAC音頻播放一、DAC簡介二、使用DAC輸出周期2khz的正弦波三、将wav檔案轉化成C語言四、轉換一個音樂中的音頻五、總結參考文獻

點選試聽,如果是正弦波,可以聽到嘟的聲音

STM32DAC音頻播放一、DAC簡介二、使用DAC輸出周期2khz的正弦波三、将wav檔案轉化成C語言四、轉換一個音樂中的音頻五、總結參考文獻

打開DAC輸出正弦波的程式

在bsp_dac.c中,替換内容,可以輸出不同的波形,因為沒有示波器是以,沒有辦法示範

STM32DAC音頻播放一、DAC簡介二、使用DAC輸出周期2khz的正弦波三、将wav檔案轉化成C語言四、轉換一個音樂中的音頻五、總結參考文獻

四、轉換一個音樂中的音頻

用Adobe Audition打開一首音樂

截取一段音頻

STM32DAC音頻播放一、DAC簡介二、使用DAC輸出周期2khz的正弦波三、将wav檔案轉化成C語言四、轉換一個音樂中的音頻五、總結參考文獻

右鍵,點選

存儲選區為

然後,點選

更改

,更改配置資訊

STM32DAC音頻播放一、DAC簡介二、使用DAC輸出周期2khz的正弦波三、将wav檔案轉化成C語言四、轉換一個音樂中的音頻五、總結參考文獻

做出如圖的更改,然後選擇

确定

STM32DAC音頻播放一、DAC簡介二、使用DAC輸出周期2khz的正弦波三、将wav檔案轉化成C語言四、轉換一個音樂中的音頻五、總結參考文獻

生成了一個.wav檔案

STM32DAC音頻播放一、DAC簡介二、使用DAC輸出周期2khz的正弦波三、将wav檔案轉化成C語言四、轉換一個音樂中的音頻五、總結參考文獻

打開WavToC軟體,将.wav轉化為.c檔案

STM32DAC音頻播放一、DAC簡介二、使用DAC輸出周期2khz的正弦波三、将wav檔案轉化成C語言四、轉換一個音樂中的音頻五、總結參考文獻

還是需要使用相同的方法檢測波形,但是沒有條件,就不完成了

五、總結

總體來說,還是比較順利。但是因為沒有示波器,是以沒有辦法去展示最終成果還是比較可惜的,希望下次有條件的時候,還可以再嘗試一下。

參考文獻

https://blog.csdn.net/qq_43279579/article/details/111990896

繼續閱讀