你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

DFSDM 时钟配置问题

[复制链接]
STMCU小助手 发布时间:2022-8-11 16:56
引言
DFSDM 全称为 Digital filter for sigma delta modulators。顾名思义,其作用主要是对外部 Σ∆调制的数字信号进行滤波。STM32L462xx 系列支持最多 4 个外部串行通道,2 数字滤波器,最大可达到 24bit ADC 分辨率。并且支持 SPI 接口和曼切斯特编码 1-wire接口。

1. 问题描述
客户在使用 STM32L462xx DFSDM 连接数字麦克风,将数字麦克风的 PDM 信号转化为 PCM 信号,并采集数据。使用的参数为 16KHz 采样,2M 左右的时钟驱动数字麦克风,能够正常读取麦克风数据。了解到他们所使用的数字麦克风可以使用 768K 时钟驱动,从而达到更低功耗的状态,但是客户无法配置出合适的时钟,并且勉强配置到了768K 附近,通过 DFSDM 采集到的数据也是混乱的,完全无法解析。
2. 问题分析与定位
在了解到基本需求后,我们需要对 DFSDM 的时钟有一定了解。从 RM0394 参考手册中可以找到如下内容:

HUY%9VG_M5CMI12V2IWL{KL.png

DFSDM 可以提供一个时钟用于驱动外部 sigma delta 调制器,并且时钟来源可以是DFSDM 时钟或者 Audio 时钟,其中 Audio 时钟就是 SAI1 的时钟。
在处理和时钟相关的配置问题时,强烈建议使用 CubeMX 的时钟配置界面进行配置。我们先来看下客户用于驱动外部数字麦克风的时钟配置。

~WIDYH~WK8LISIP$~G0_5_5.png
LAT1099 - Rev 1.0 page 2/6
从图中可以看出,DFSDM 的时钟为 36MHz,来自 PCLK2SAI1 的时钟约为 34.29MHz来自 PLLSAI1P
  1. hdfsdm1_channel1.Init.OutputClock.Activation = ENABLE;
  2. hdfsdm1_channel1.Init.OutputClock.Selection = DFSDM_CHANNEL_OUTPUT_CLOCK_AUDIO;
  3. hdfsdm1_channel1.Init.OutputClock.Divider = 17;
复制代码


完整版请查看:附件


收藏 1 评论0 发布时间:2022-8-11 16:56

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版