0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

淺談DFSDM 模塊的配置

jf_pJlTbmA9 ? 來源:STM32單片機(jī) ? 作者:STM32單片機(jī) ? 2023-09-28 17:36 ? 次閱讀

1、引言

客戶在使用 STM32H743 的 DFSDM 模塊時,配置有誤。于是協(xié)助客戶按照下面的方法進(jìn)行配置并分享之。

2、參數(shù)的計算

使用 NUCLEO-H743 開發(fā)板進(jìn)行測試。由于客戶需要 16KHz 音頻數(shù)據(jù), 24bits 的音頻數(shù)據(jù),因此配置如下。

PDMMic -> PDM data -> 濾波器類型 -> 過采樣率 Fosr(濾波器)-> 過采樣率 Isor(積分器)-> 右移位器 -> 偏移補(bǔ)償 -> 采樣數(shù)據(jù)

1)Clock out (CKOUT)的計算

Fs= Fclockout/( Fosr*Iosr)Fs= 16kHz 音頻數(shù)據(jù)Fosr:濾波器過采樣率,也就是抽取率,在這里取 128Iosr:積分器過采樣率,在這里取 1則 Fclockout = 2.048MHz相應(yīng)的寄存器配置可以參考下圖:

1666884073498360.png

1666884083543264.png

2)SAI clock 的計算

(FSAIclock/ Divider) =Fclockout => FSAIclock = Fclockout * Divider
FSAIclock:當(dāng)時鐘源選 audio clock 時,即 STM32CubeMX 中 Output clock:selection-> source of output clock is audio clock.Divider : Audio clock 經(jīng)過的預(yù)分頻比,在下面的配置中取 7(見圖 3. OutputClock 配置)Fclockout:為 2.048Mhz則 FSAIclock = (Fclockout * Divider) = 2.048 * 7 = 14.336MHz因此下圖中的 SAI clock 需要配置到 14.336Mhz。濾波器階數(shù) FORD:取 4,即 sinc Order : sinc 4 filter type.

3)右移位數(shù)的計算

B = N*log2(M) +BinB:中間變量位寬N:Ford,濾波器階數(shù),此例中取 sinc 4 階。M:濾波器過采樣率,抽取率,此例中取 128 ,見圖 4Channel 配置,F(xiàn)osr。Bin:積分器過采樣率,濾波器輸入位寬,此例中取 1位寬 = 4* log2(128)+1 = 4*7+1 =29(位)因此積分器處理后的數(shù)據(jù)需要右移 5 位,然后變?yōu)?24 位。STM32CubeMX 中 RightBit Shift = 0x5.也可以參考下表來規(guī)劃右移位:

1666884128509110.png

3、STM32CubeMX 的配置

根據(jù)上面的計算值配置時鐘參數(shù)。SAI clock 配置為 14.336Mhz。

1666884158428161.png

1666884166391196.png

1666884174972088.png

1666884184509489.png

1666884192543319.png

1666884200327656.png

1666884220746165.png

3、小結(jié)

關(guān)于DFSDM 模塊寄存器的配置,需要計算合適的參數(shù)值方可進(jìn)行。需要時可以參考上面內(nèi)容來操作。

來源:STM32單片機(jī)

免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請聯(lián)系小編進(jìn)行處理


審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 濾波器
    +關(guān)注

    關(guān)注

    158

    文章

    7596

    瀏覽量

    176581
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5253

    瀏覽量

    119205
  • STM32
    +關(guān)注

    關(guān)注

    2258

    文章

    10828

    瀏覽量

    352490
收藏 人收藏

    評論

    相關(guān)推薦

    STM32L4的DFSDM外設(shè)采集PDM數(shù)字MIC后的數(shù)據(jù)

    在采集48KHZ 16bit 2CH的MIC數(shù)據(jù)時。在配置DFSDM外設(shè)時。輸入MIC的時鐘3.072Mhz,濾波器階數(shù)sinc4,過采樣率64,積分器1,右移位1,此時DFSDM的濾波器輸出
    發(fā)表于 08-30 10:15

    WiFi模塊網(wǎng)絡(luò)配置基本設(shè)置

    WiFi模塊網(wǎng)絡(luò)如何配置?WiFi模塊網(wǎng)絡(luò)配置基本設(shè)置如下: ? ? ? ?1、網(wǎng)絡(luò)配置與AT命令 ? ? ? ?請求串口或其他交互接口輸入
    的頭像 發(fā)表于 05-31 10:32 ?419次閱讀

    使用STM32H7的DFSDM獲取注入通道值時的參數(shù)不匹配是怎么回事?

    如下語句所示,在獲取注入?yún)?shù)的時候,第二個參數(shù)應(yīng)該配置為什么值,函數(shù)中也沒有提及到,按我現(xiàn)在的配置,報錯通道的類型不匹配。 HAL_DFSDM_FilterGetInjectedValue( DfsdmFilterHandle,
    發(fā)表于 05-31 06:23

    使用STM32H7的DFSDM模塊對NSI1306M25電信號進(jìn)行采集遇到的幾個疑問求解

    使用STM32H7的DFSDM模塊對NSI1306M25電信號進(jìn)行采集,有幾個問題想請教一下大家 問題1:信號采集過程,需要配置模擬看門狗濾波器和短路檢測器閾值嗎?問題2:DFSDM
    發(fā)表于 05-27 06:52

    STM32H723VGT6只有一個DFSDM模塊,唯一的時鐘輸出,能不能輸出給2個sigma-delta同時采樣電流?

    如題,只有一個DFSDM模塊,唯一的時鐘輸出,能不能輸出給2個sigma-delta同時采樣電流(NSI1306M25,1位未編碼或者曼切斯特編碼位流),如果能,有沒有性能的限制
    發(fā)表于 05-20 06:22

    鴻蒙OpenHarmony開發(fā)板解析:【 模塊配置規(guī)則】

    編譯子系統(tǒng)通過模塊、部件和產(chǎn)品三層配置來實現(xiàn)編譯和打包。模塊就是編譯子系統(tǒng)的一個目標(biāo),包括(動態(tài)庫、靜態(tài)庫、配置文件、預(yù)編譯模塊等)。
    的頭像 發(fā)表于 05-10 14:39 ?667次閱讀
    鴻蒙OpenHarmony開發(fā)板解析:【 <b class='flag-5'>模塊</b><b class='flag-5'>配置</b>規(guī)則】

    只想采集20-2000Hz以內(nèi)的音頻信號改怎么配置DFSDM?

    只想采集20-2000Hz以內(nèi)的音頻信號改怎么配置DFSDM配置44.1K代碼如下:void DFSDM_Init(void){/* Initialize channel 2
    發(fā)表于 04-24 08:00

    使用STM32H750 DFSDM濾波,輸出與設(shè)置不一致的原因?

    ; HAL_DFSDM_ChannelInit(chn); HAL_DFSDM_FilterConfigRegChannel(flt, DFSDM_CHANNEL_1, DFSDM
    發(fā)表于 04-09 07:17

    使用dfsdm單個麥克風(fēng)錄音出現(xiàn)錄音重復(fù)問題,怎么解決?

    在使用dfsdm單個麥克風(fēng)錄音出現(xiàn)錄音重復(fù)(同一個數(shù)據(jù)包會出現(xiàn)兩次,丟掉的數(shù)據(jù)報就是那個重復(fù)的。),可以使用一個麥克風(fēng)嗎,幫忙看下配置是不是正確。 //回調(diào)函數(shù)如下 void
    發(fā)表于 04-01 06:14

    關(guān)于使用STM32F412 DFSDM的幾個問題求解

    spi從ADS1246中獲取的是24位轉(zhuǎn)換結(jié)果信息) 2、片內(nèi)DFSDM的輸入源數(shù)據(jù)可不可以是片內(nèi)ADC的轉(zhuǎn)換結(jié)果,如可以請教下如何設(shè)置? 3、片內(nèi)DFSDM的可不可直接對外部模擬量進(jìn)行采樣,如可以請教下如何設(shè)置? 謝謝!
    發(fā)表于 03-18 06:56

    DFSDM如果使用內(nèi)部并行數(shù)據(jù)輸入,輸入數(shù)據(jù)的最大頻率是多少?

    DFSDM如果使用內(nèi)部并行數(shù)據(jù)輸入,例如直接寫輸入寄存器或者DMA寫入,在這種場景中,輸入數(shù)據(jù)的最大頻率是多少?這個頻率與DFSDM模塊的工作時鐘是什么關(guān)系?
    發(fā)表于 03-11 07:56

    STM32MP135F-DK配置了asound.conf后報錯的原因?

    按照DFSDM Linux driver配置了設(shè)備樹、Linux內(nèi)核驅(qū)動,發(fā)現(xiàn)dfsdm的時鐘是關(guān)著的,配置了asound.conf后,用arecord -D record_
    發(fā)表于 03-11 06:41

    關(guān)于STM32L476 DFSDM時鐘配置的疑問求解

    stm32l4 配置DFSDM 時鐘只能來之 DFSDM_CHANNEL_OUTPUT_CLOCK_SYSTEM不能來自DFSDM_CHANNEL_OUTPUT_CLOCK_AUDIO
    發(fā)表于 03-08 06:26

    STM32使用片內(nèi)外設(shè)DFSDM的應(yīng)用問題

    DFSDM是digitalfilter for sigma-delta modulators的縮寫,即基于∑?調(diào)制器的濾波器,是個數(shù)字外設(shè),常用于對外部模擬信號的數(shù)據(jù)處理。
    發(fā)表于 03-04 11:27 ?1134次閱讀
    STM32使用片內(nèi)外設(shè)<b class='flag-5'>DFSDM</b>的應(yīng)用問題

    如何在STM32F413/423系列器件上同步DFSDM濾波器以及編程脈沖跳頻

    電子發(fā)燒友網(wǎng)站提供《如何在STM32F413/423系列器件上同步DFSDM濾波器以及編程脈沖跳頻.pdf》資料免費下載
    發(fā)表于 09-25 14:58 ?0次下載
    如何在STM32F413/423系列器件上同步<b class='flag-5'>DFSDM</b>濾波器以及編程脈沖跳頻