DFSDM模块的配置

发布时间:2024-01-11  

1、引言

客户在使用 STM32H743 的 DFSDM 模块时,配置有误。于是协助客户按照下面的方法进行配置并分享之。


2、参数的计算

使用 NUCLEO-H743 开发板进行测试。由于客户需要 16KHz 音频数据, 24bits 的音频数据,因此配置如下。

PDMMic -> PDM data -> 滤波器类型 -> 过采样率 Fosr(滤波器)-> 过采样率 Isor(积分器)-> 右移位器 -> 偏移补偿 -> 采样数据

Clock out (CKOUT)的计算

Fs= Fclockout/( Fosr*Iosr)

Fs= 16kHz 音频数据

Fosr:滤波器过采样率,也就是抽取率,在这里取 128

Iosr:积分器过采样率,在这里取 1

则 Fclockout = 2.048MHz

相应的寄存器配置可以参考下图:

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

174a3de8-55e8-11ed-a3b6-dac502259ad0.png

2. SAI clock 的计算

(FSAIclock/ Divider) =Fclockout => FSAIclock = Fclockout * Divider

FSAIclock:当时钟源选 audio clock 时,即 STM32CubeMX 中 Output clock:

selection-> source of output clock is audio clock.

Divider : Audio clock 经过的预分频比,在下面的配置中取 7(见图 3.

Output Clock 配置)

Fclockout:为 2.048Mhz

则 FSAIclock = (Fclockout * Divider) = 2.048 * 7 = 14.336MHz

因此下图中的 SAI clock 需要配置到 14.336Mhz。

滤波器阶数 FORD:取 4,即 sinc Order : sinc 4 filter type.

3. 右移位数的计算

B = N*log2(M) +Bin

B:中间变量位宽

N:Ford,滤波器阶数,此例中取 sinc 4 阶。

M:滤波器过采样率,抽取率,此例中取 128 ,见图 4Channel 配置,Fosr。Bin:积分器过采样率,滤波器输入位宽,此例中取 1

位宽 = 4* log2(128)+1 = 4*7+1 =29(位)

因此积分器处理后的数据需要右移 5 位,然后变为 24 位。STM32CubeMX 中 Right

Bit Shift = 0x5.

也可以参考下表来规划右移位:

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

3、STM32CubeMX 的配置

根据上面的计算值配置时钟参数。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、小结

关于DFSDM 模块寄存器的配置,需要计算合适的参数值方可进行。需要时可以参考上面内容来操作。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    板子采用得是s29AL016M90TFI02,这里我选择s29AL016M90TFI02 设置好前面这些之后,就可以进行下面的烧写工作了,通过这种方式一次烧写成功。 如果你没有这个配置文件,不要紧,下面我将这个配置文件对应j......
    助力大家厘清插混市场的发展脉络,展望未来发展趋势。 第一期,我们将围绕2022年插混市场最抢手的十辆热门车型,分析其背后的“爆款秘诀”。 1、 PLUS DM-i(配置|询价) 全年销量388048辆 2022......
    需要从FreeRTOS7.0.2的源文件中找到匹配我这个开发工具与目标芯片的config.h的配置文件。这个文件在Demo文件夹中,把这个配置文件拷贝到include文件夹内,配置......
    到此,几个配置已经完成,然后就是重启Fedora或者用source命令使配置文件中的脚本生效。 配置好这一切,我们就可以很容易做到: (1)在Windows下轻松访问linux共享的目录; (2......
    上的镜像功能。 18.出端口VID(外部VLAN)的重新标记已标准化。这意味着您可以在记录的数据上找到配置好的VLAN标记,以便通过端口轻松过滤数据。 由于使用镜像功能,这里......
    发现实现起来似乎并没有那么顺畅,这里基于STM32F1系列芯片做个配置示例。之所以选择STM32F1芯片主要是考虑到有部分人使用STM32F1芯片并基于标准库做开发,那么,我这里就Cube库和标准库给出两套相关主从配置......
    、can初始化。三、filter(过滤器初始化)。这三个配置好之后,再封装两个函数发送和接收函数就可以了,接收的话也可以使用接收终端来接收,当FIFO里面有数据时产生标志,进入中断处理数据。 配置IO口......
    于CMake来管理项目的,所以首选我们需要配置好预设的MinGW和CMake环境。 打开File-Settings-Build,Execution,Deployment选项卡,在Toolchains下面......
    出口,当中断发生时候改变IO口极性。 配置中断优先级(NVIC),并使能中断 同样的,在mian.c的MX_GPIO_Init中,设置好中断线和 GPIO 映射关系,然后又设置好......
    。(Ps:我之前安装过,所以会是绿色方块,如果没安装过应该是白色方块) 安装完成之后选择新建工程,选择好芯片,就可以进行管脚配置了,如下图所示。 管脚配置要知道外设都接了哪个IO,本次......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>