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

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

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

用于驅(qū)動外部數(shù)字麥克風(fēng)的時鐘配置

STM32單片機 ? 來源:STM32單片機 ? 作者:STM32單片機 ? 2022-06-23 16:15 ? 次閱讀

1.引言

DFSDM 全稱為 Digital filter for sigma delta modulators。顧名思義,其作用主要是對外部 Σ?調(diào)制的數(shù)字信號進行濾波。STM32L462xx 系列支持最多 4 個外部串行通道,2 個數(shù)字濾波器,最大可達到 24bit 的 ADC 分辨率。并且支持 SPI 接口和曼切斯特編碼 1-wire接口。

2.問題分析

客戶使用 STM32L462xx 的 DFSDM 連接數(shù)字麥克風(fēng),將麥克風(fēng)的 PDM 信號轉(zhuǎn)化為 PCM 信號,并采集數(shù)據(jù)。使用的參數(shù)為 16KHz 采樣,2M 左右的時鐘驅(qū)動數(shù)字麥克風(fēng),能夠正常讀取麥克風(fēng)數(shù)據(jù)。了解到他們所使用的數(shù)字麥克風(fēng)可以使用 768K 時鐘驅(qū)動,從而達到更低功耗的狀態(tài),但是客戶無法配置出合適的時鐘,即使勉強配置到了768K 附近,通過 DFSDM 采集到的數(shù)據(jù)也是混亂的,完全無法解析。

了解到基本需求后,我們需要對 DFSDM 的時鐘有一定了解。從 RM0394 參考手冊中可以找到如下內(nèi)容:

71298bde-f224-11ec-ba43-dac502259ad0.png

DFSDM 可以提供一個時鐘用于驅(qū)動外部 sigma delta 調(diào)制器,并且時鐘來源可以是DFSDM 時鐘或者 Audio 時鐘,其中 Audio 時鐘就是 SAI1 的時鐘。

在處理和時鐘相關(guān)的配置問題時,強烈建議使用 CubeMX 的時鐘配置界面進行配置。我們先來看下客戶用于驅(qū)動外部數(shù)字麥克風(fēng)的時鐘配置。

7146747e-f224-11ec-ba43-dac502259ad0.png

從圖中可以看出,DFSDM 的時鐘為 36MHz,來自 PCLK2。SAI1 的時鐘約為 34.29MHz來自 PLLSAI1P。

717bfc70-f224-11ec-ba43-dac502259ad0.png

這是關(guān)于 DFSDM 輸出時鐘的代碼片段,可以看到使用了 AUDIO 的時鐘作為輸出,并且使用 17 分頻,那么最終驅(qū)動數(shù)字麥克風(fēng)的時鐘為 34.29/17≈2.02MHz。

再來看看濾波器部分參數(shù)的設(shè)計:

71937562-f224-11ec-ba43-dac502259ad0.png

其中,使用了 4 階 SINC 濾波,過采樣參數(shù)為 128,那么 2.02MHz/128≈16KHz。也就是說這種配置參數(shù)下,可以接近 16KHz 的采樣率來對音頻數(shù)據(jù)采樣。

客戶想要將麥克風(fēng)驅(qū)動時鐘重新配置為 768K,但只考慮修改 Divider 和 Oversampling 參數(shù)是配置不出來的。

3.問題解決

我們可以反過來推,要想獲得 16KHz 采樣率,768KHz 的時鐘,首先需要滿足以下公式:768K/ Oversampling = 16K, 那么 Oversampling=48。Oversampling 這個參數(shù)是比較好確定的,而 768K 來自于 CLK_SAI1/Divider, 這兩個參數(shù)目前無法確定,其中 CLK_SAI1 又來自于 PLLSAI1P,它由 PLLSAI1_N, PLLSAI1_P 兩個系數(shù)決定。也就是說要想獲得 768K 的時鐘,需要把這些參數(shù)都配置為合適的值。到這一步,實際上沒有直接的公式可以求下去了,只能自己測試并調(diào)整,建議可以先將 Divider 定好,然后通過 CLK_SAI1/Divider=768K 就可以求出CLK_SAI1 的值,將這個值手動輸入到 Cubemx 的時鐘配置界面可以自動求出合適的

PLLSAI1_N, PLLSAI1_P 系數(shù),這樣可以大大減少調(diào)整時間。如果無法求出合適的值,CubeMX也會進行提示,那么只能重新?lián)Q Divider 來測試了。

最終調(diào)試下來的值如下圖所示:

71a08ec8-f224-11ec-ba43-dac502259ad0.png

我選擇的 Divider=50,那么可以算出CLK_SAI1=50*768K=38.4MHz,輸入到上圖界面中可以得到 PLLSAI1_N=12, PLLSAI1_P=5。

至此,已經(jīng)可以正確得到 768KHz 的時鐘驅(qū)動麥克風(fēng)了,但是目前仍然無法獲取到準確的音頻數(shù)據(jù)。

由于前面修改了 Oversampling,該參數(shù)會影響采樣值。在參考手冊中可以找到下表:

71adb71a-f224-11ec-ba43-dac502259ad0.png

從表中可以看到,之前是 FOSR=128,Sinc4,對應(yīng)的數(shù)值為+/-268435456,但是DFSDM 的數(shù)據(jù)寄存器只有 24bit,2^23<268435456 的,也就是說需要進行移位,只能以損失精度為代價進行轉(zhuǎn)換??蛻舸a中有以下配置:

71c44a48-f224-11ec-ba43-dac502259ad0.png

數(shù)據(jù)需要右移 5 位保存到數(shù)據(jù)寄存器,那么現(xiàn)在我們的 FOSR 修改為了 48,對應(yīng)上表可以看到數(shù)值是比較小的,不需要移位處理,所以改為:

71d08786-f224-11ec-ba43-dac502259ad0.png

到這里,我們需要修改的內(nèi)容就全部結(jié)束了。將這些修改內(nèi)容通知客戶,讓其進行測試,測試結(jié)果也比較滿意。

小結(jié)

DFSDM 在數(shù)字音頻應(yīng)用中比較常見,主要用于將數(shù)字麥克風(fēng)的 PDM 信號轉(zhuǎn)換為PCM 信號,如果沒有DFSDM 外設(shè),就只能使用軟件庫進行轉(zhuǎn)化,效率比較低。當(dāng)然,也可以用于一些模擬信號的采集,需要外部 Sigma Delta 調(diào)制器調(diào)制好之后再進行濾波,這樣得到的 ADC 精度要比通用的 ADC 精度更高,在要求高精度 ADC 的場合,不失為一種較好的方案。

原文標題:工程師筆記|DFSDM 時鐘配置問題

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

審核編輯:湯梓紅

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

    關(guān)注

    15

    文章

    630

    瀏覽量

    54718
  • 數(shù)字濾波器
    +關(guān)注

    關(guān)注

    4

    文章

    266

    瀏覽量

    46950
  • 時鐘
    +關(guān)注

    關(guān)注

    10

    文章

    1702

    瀏覽量

    131188
  • 調(diào)制器
    +關(guān)注

    關(guān)注

    3

    文章

    826

    瀏覽量

    45054

原文標題:工程師筆記|DFSDM 時鐘配置問題

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

收藏 人收藏

    評論

    相關(guān)推薦

    詳解模擬和數(shù)字MEMS麥克風(fēng)設(shè)計區(qū)別

    模擬和數(shù)字麥克風(fēng)輸出信號在設(shè)計中顯然有不同的考慮因素。本文要討論將模擬和數(shù)字MEMS麥克風(fēng)集成進系統(tǒng)設(shè)計時的差別和需要考慮的因素。##模擬MEMS
    發(fā)表于 04-30 11:05 ?2.4w次閱讀

    TLV320ADC6140和8個PDM麥克風(fēng)設(shè)計麥克風(fēng)陣列,使用TDM格式輸出,每個麥克風(fēng)輸出相位是什么樣的?

    以前使用的是模擬麥克風(fēng),使用兩個4路輸入的CODEC,I2S格式,為了保證時鐘同步,后面使用FPGA進行同步采樣,設(shè)計8麥克風(fēng)陣列效果還可以。為了簡化設(shè)計6140+8個PDM話筒,配置
    發(fā)表于 10-12 08:12

    怎么連接麥克風(fēng)

    連接麥克風(fēng)的時候把正負極接反了,會不會把麥克風(fēng)給燒壞掉,急急急;該怎么檢測,請指教。
    發(fā)表于 08-01 09:16

    數(shù)字麥克風(fēng)測試指南-相當(dāng)全面哦

    {:4_95:}基于TrustSystem!順便加一句:有需要數(shù)字麥克風(fēng)解碼板的可以Q我:807295506(雙數(shù)字麥克風(fēng)
    發(fā)表于 02-18 16:17

    了解麥克風(fēng)靈敏度

    ,模擬麥克風(fēng)完全可以擁有 20 dBV 的靈敏度,其中用于基準電平輸入信號的輸出信號為 10 V。只要放大器、轉(zhuǎn)換器和其他電路能支持所需的信號電平,完全可以實現(xiàn)這一水平的靈敏度。數(shù)字麥克風(fēng)
    發(fā)表于 10-22 16:57

    麥克風(fēng)技術(shù)規(guī)格解析

    其應(yīng)用方式卻比較陌生。本應(yīng)用筆記解釋 MEMS 麥克風(fēng)數(shù)據(jù)手冊中出現(xiàn)的技術(shù)規(guī)格和術(shù)語,以便幫助設(shè)計人員將麥克風(fēng)正確集成到系統(tǒng)之中。靈敏度麥克風(fēng)的靈敏度是指其輸出端對于給定標準聲學(xué)輸入的電氣響應(yīng)。
    發(fā)表于 11-01 11:26

    MEMS與ECM:比較麥克風(fēng)技術(shù)

    數(shù)據(jù)線和時鐘進行通信。另外,由于數(shù)據(jù)的單比特編碼,在接收器處解碼數(shù)字信號變得更容易。圖2:左圖:模擬MEMS麥克風(fēng)的應(yīng)用原理圖。右圖:數(shù)字MEMS
    發(fā)表于 02-23 14:05

    麥克風(fēng)靈敏度探討

    作者: Jerad Lewis靈敏度, 即模擬輸出電壓或數(shù)字輸出值與輸入壓力之比,對任何麥克風(fēng)來說都是一項關(guān)鍵指標。在輸入已知的情況下,從聲域單元到電域單元的映射決定麥克風(fēng)輸出信號的幅度。 本文將
    發(fā)表于 07-23 07:51

    模擬和數(shù)字MEMS麥克風(fēng)有什么不同?

      模擬和數(shù)字麥克風(fēng)輸出信號在設(shè)計中顯然有不同的考慮因素。本文要討論將模擬和數(shù)字MEMS麥克風(fēng)集成進系統(tǒng)設(shè)計時的差別和需要考慮的因素。 
    發(fā)表于 08-20 07:40

    用于FAN3850A麥克風(fēng)前置放大器的典型應(yīng)用立體聲麥克風(fēng)電路

    用于FAN3850A麥克風(fēng)前置放大器的典型應(yīng)用立體聲麥克風(fēng)電路,帶數(shù)字輸出。 FAN3850A集成了前置放大器,LDO和ADC,可將駐極體電容式麥克
    發(fā)表于 06-19 10:45

    rk3308如何配置內(nèi)核做麥克風(fēng)

    rk3308如何配置內(nèi)核做麥克風(fēng)?如何驗證麥克風(fēng)功能是否工作正常?
    發(fā)表于 03-09 06:26

    駐極體麥克風(fēng)電路

    三pin的駐極體麥克風(fēng)和兩pin的駐極體麥克風(fēng)可以共用電路嗎,就如下圖,是2pin的麥克風(fēng)假差分電路,那如果是三pin的麥克風(fēng),應(yīng)用于這個電
    發(fā)表于 04-14 11:21

    請問NUC505是否支持數(shù)字麥克風(fēng)?

    是,NUC505內(nèi)部音訊編譯碼器( Audio CODEC )有支持數(shù)字麥克風(fēng)功能,但只能同時支持一組麥克風(fēng),左右聲道數(shù)據(jù)相同。通過PA2 (Digital MIC clock in)及PA3
    發(fā)表于 06-20 08:15

    數(shù)字麥克風(fēng)原理與應(yīng)用

    數(shù)字麥克風(fēng)介紹
    發(fā)表于 08-08 11:46 ?39次下載

    MEMS 麥克風(fēng)技術(shù)簡介 — 模擬麥克風(fēng)數(shù)字麥克風(fēng)

    MEMS硅麥克風(fēng)廣泛應(yīng)用于手機、助聽器、智能揚聲器、計算機和車輛等各個領(lǐng)域。了解它們的工作原理、用途和可用內(nèi)容的基礎(chǔ)知識。 微機電系統(tǒng)(MEMS)使用最初為集成電路(IC)開發(fā)的技術(shù)在硅上蝕刻和制造
    的頭像 發(fā)表于 01-27 10:51 ?6405次閱讀
    MEMS <b class='flag-5'>麥克風(fēng)</b>技術(shù)簡介 — 模擬<b class='flag-5'>麥克風(fēng)</b>與<b class='flag-5'>數(shù)字</b><b class='flag-5'>麥克風(fēng)</b>