浅谈DFSDM 模块的配置

1、引言
客户在使用 stm32h743 的 dfsdm 模块时,配置有误。于是协助客户按照下面的方法进行配置并分享之。
2、参数的计算
使用 nucleo-h743 开发板进行测试。由于客户需要 16khz 音频数据, 24bits 的音频数据,因此配置如下。
pdmmic -> pdm data -> 滤波器类型 -> 过采样率 fosr(滤波器)-> 过采样率 isor(积分器)-> 右移位器 -> 偏移补偿 -> 采样数据
1)clock out (ckout)的计算
fs= fclockout/( fosr*iosr)fs= 16khz 音频数据fosr:滤波器过采样率,也就是抽取率,在这里取 128iosr:积分器过采样率,在这里取 1则 fclockout = 2.048mhz相应的寄存器配置可以参考下图:
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) +binb:中间变量位宽n:ford,滤波器阶数,此例中取 sinc 4 阶。m:滤波器过采样率,抽取率,此例中取 128 ,见图 4channel 配置,fosr。bin:积分器过采样率,滤波器输入位宽,此例中取 1位宽 = 4* log2(128)+1 = 4*7+1 =29(位)因此积分器处理后的数据需要右移 5 位,然后变为 24 位。stm32cubemx 中 rightbit shift = 0x5.也可以参考下表来规划右移位:
3、stm32cubemx 的配置
根据上面的计算值配置时钟参数。sai clock 配置为 14.336mhz。
3、小结
关于dfsdm 模块寄存器的配置,需要计算合适的参数值方可进行。需要时可以参考上面内容来操作。
来源:stm32单片机
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理


谐波治理指的是治理谐波电流还是谐波电压
基于FEKO仿真的天线设计和EMI设计的挑战
天行网安天行安全数据交换系统Topwalk-DTP通过IPv6 Ready Logo认证
基于处理器STR912FW44X6条码技术的测量系统
功率放大器的选购技巧有哪些
浅谈DFSDM 模块的配置
开关电源能用直流电子负载测试吗?
如何实现孵化箱的远程远程实时监控
双十二无线充电器选哪些品牌好,最好的无线充品牌推荐
基于TMS320F2812的智能接口板设计
iphone 3g上网设置
区块链平台的优势怎样充分的利用上
成为摄影达人必不可少的工具
工信部积极将5G、集成电路、生物医药等纳入国家专项规划
配电箱参数什么意思 配电箱功率怎么确定 配电柜上的功率表怎么看
仿真器是什么?语音芯片的仿真器有几种?
智能手机在未来12-18个月供应链将出现强劲的投资机会
以太网物理层IOP测试设备TESTBASE-EIOP
浅析国内射频滤波行业现状
vivo X80系列正式发布 共三款机型