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

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

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

DFSDM模塊的配置

STM32單片機 ? 來源:STM32單片機 ? 作者:STM32單片機 ? 2022-10-28 10:44 ? 次閱讀

1、引言

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

2、參數(shù)的計算

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

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

Clock out (CKOUT)的計算

Fs= Fclockout/( Fosr*Iosr)

Fs= 16kHz 音頻數(shù)據(jù)

Fosr:濾波器過采樣率,也就是抽取率,在這里取 128

Iosr:積分器過采樣率,在這里取 1

則 Fclockout = 2.048MHz

相應(yīng)的寄存器配置可以參考下圖:

17241b22-55e8-11ed-a3b6-dac502259ad0.png

174a3de8-55e8-11ed-a3b6-dac502259ad0.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.

Output Clock 配置)

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) +Bin

B:中間變量位寬

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 中 Right

Bit Shift = 0x5.

也可以參考下表來規(guī)劃右移位:

190a8aca-55e8-11ed-a3b6-dac502259ad0.png

3、STM32CubeMX 的配置

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

1945854e-55e8-11ed-a3b6-dac502259ad0.png

19c1ce56-55e8-11ed-a3b6-dac502259ad0.png

19e2dfe2-55e8-11ed-a3b6-dac502259ad0.png

1a23f91e-55e8-11ed-a3b6-dac502259ad0.png

1a64b8aa-55e8-11ed-a3b6-dac502259ad0.png

1a8d3122-55e8-11ed-a3b6-dac502259ad0.png

1ac29c86-55e8-11ed-a3b6-dac502259ad0.png

3、小結(jié)

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

審核編輯:湯梓紅

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

    關(guān)注

    7

    文章

    2626

    瀏覽量

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

    關(guān)注

    31

    文章

    5268

    瀏覽量

    119646
  • STM32H743
    +關(guān)注

    關(guān)注

    0

    文章

    24

    瀏覽量

    1633

原文標(biāo)題:工程師筆記|DFSDM 模塊的配置

文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

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

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

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

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

    使用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

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

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

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

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

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

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

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

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

    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

    STM32中的DFSDM應(yīng)用介紹

    前言STM32超低功耗系列中基于Cortex M4內(nèi)核的STM32L4系列芯片內(nèi)部集成了DFSDM數(shù)字濾波模塊,配合Σ-Δ器件的使用,可進行高精度、高速率的AD測量。這里就DFSDM做些基本介紹,并
    發(fā)表于 04-25 10:42

    DFSDM外設(shè)的代碼生成問題求解

    附帶的簡單項目包含一個配置 DFSDM 外圍設(shè)備的 ioc 文件:通道 0 和通道 1;通道 0 的濾波器 0 和通道 1 的濾波器 1。此外,我還配置了 TIM6;但這與問題無關(guān)。這一切都基于一個
    發(fā)表于 12-06 07:18

    STM32L4 DFSDM為什么值在大約高1到2位中是非線性的?

    某個地方的溢出。測試輸入為直流,在本例中使用 AMC3336 TI 調(diào)制器。我在這里錯過了什么?設(shè)置:static void MX_DFSDM1_Init(void){/* USER CODE
    發(fā)表于 12-07 07:19

    在“DFSDM 配置器”表中,B6單元格上的“采樣頻率”是什么意思?

    在“DFSDM 配置器”表中,B6 單元格上的“采樣頻率”是什么意思?我正在設(shè)置時鐘頻率(MEMS 麥克風(fēng)為 2~3.25MHz),結(jié)果采樣率與實際數(shù)據(jù)圖相似。 我想確保我正確理解了參數(shù)。
    發(fā)表于 01-06 06:35

    淺談DFSDM 模塊配置

    DFSDM 模塊配置
    的頭像 發(fā)表于 09-28 17:36 ?738次閱讀
    淺談<b class='flag-5'>DFSDM</b> <b class='flag-5'>模塊</b>的<b class='flag-5'>配置</b>

    DFSDM時鐘配置問題

    電子發(fā)燒友網(wǎng)站提供《DFSDM時鐘配置問題.pdf》資料免費下載
    發(fā)表于 09-19 14:58 ?0次下載
    <b class='flag-5'>DFSDM</b>時鐘<b class='flag-5'>配置</b>問題

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

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