查看: 2598|回复: 2

STM32中的DFSDM应用介绍

[复制链接]
发表于 2017-4-25 10:44:47 | 显示全部楼层 |阅读模式
前言
STM32超低功耗系列中基于Cortex M4内核的STM32L4系列芯片内部集成了DFSDM数字滤波模块,配合Σ-Δ器件的使用,可进行高精度、高速率的AD测量。这里就DFSDM做些基本介绍,并结合STM32L4 MCU做一个实例应用演示。

应用系统框图

系统被分为两部分:STM32外部的模拟前端Σ-Δ模块和内置的数字部分DFSDM模块。
       DFSDM是STM32产品内置的一个新的数字外设,通常搭配外部的Σ-Δ器件使用。可根据相应的应用选择外部的模拟部分,进行测量、马达控制等应用。模拟部分提供串行数据给DFSDM,DFSDM负责对数字信号进行处理。
        DFSDM数字部分集成了模拟看门狗、注入和常规转换、灵活的触发系统、中断信号生成、极值检测等。
Σ-Δ模块
  • 输入模拟信号。
  • 输出1位或2位的快速串行数字信号,可达20MHz速率。
  • 广泛的厂商支持: ST, TI,Analog Devices。

DFSDM= Digital Filter for Sigma Delta Modulators
  • 从Σ-Δ模块接收串行数据
  • 对接收到的Σ-Δ模块数据进行滤波
  • 最大24位的输出精度

典型应用
  • 电信号测量:电流电压等。
  • 马达控制
  • 医疗应用
  • 麦克风音频

STM32 DFSDM架图如下:
  • 快速串行输入(20MHz)
  • SPI或曼切斯特编码模式
  • 时钟生成
  • 内部并行输入
  • 由CPU/DMA写入的16位寄存器数据输入
  • 收发器提供串行连接到外部Σ-Δ模块,支持SPI、曼切斯特协议。收发器也支持通过CPU或DMA写入到DFSDM数据寄存器的内部16位并行数据输入,

  • Sinc1,Sinc2,Sinc3,Sinc4,Sinc5,FastSinc内插滤波器,过采样因子可达1024.
  • 积分器过采样因子可达1024

STM32 DFSDM应用框图如下:
整个DFSDM模块包含如下接口:
  • 8个串行收发器
  • 4个Sinc滤波器和积分器
  • 4个输出数据单元
  • 4个模拟看门狗
  • 8个短路检测器
  • 4个极值检测器
  • 8个并行数据进入寄存器

串行收发器
功能
  • 从Σ-Δ模块接收1位的串行数据,提供时钟和数据给滤波阶段,最大支持8个输入串行通道。
    支持的协议
  • 1线曼切斯特编码
  • SPI模式(时钟和数据线)
  • 上升沿、下降沿采样
  • 数据速率测量
  • 时钟缺失检测
  • 时钟速率高达20MHz
  • 串行输入(时钟和数据)通道的 DFSDM_DATINy和DFSDM_CKINy引脚可被重定向,通道重定向用于收集来自立体麦克风类型的PDM音频数据,PDM立体麦克风具有时钟和数据信号,数据通道提供左右声道信息,左声道进行时钟上升沿采样,右声道进行时钟下降沿采样。

并行收发器
功能
  • 从内部数据源接收16位的并行数据,并提供数据给滤波阶段。多达8个并行通道。
    内部并行输入数据源
  • RAM数据后期处理
  • 来自内部ADC的数据处理
  • 来自被收集数据的后期处理数据
  • CPU或者DMA提供数据到DFSDM输入寄存器

利用STM32 DFSDM进行温度测量的应用原理图如下:
STPMS2是一个双通道的二阶Σ-Δ模块,一个通道感知PT100的电压,另一个通道感知PT100的电流。使用1秒定时器来触发2个通道进行注入扫描转换。PC7(DFSDM1_DATIN3)是通道3,时钟为PC2(DFSDM1_CKOUT)。通道3测量PT100的电压,通道2测量PT100的电流。
PT100温度计算公式为:T = (PT100 – 100) / (0.385),只要通过能够测量出PT100的电压和电流,就能计算出PT100电阻值,进而得到温度值。


------ 微信公众号   融创芯城(一站式电子元器件、PCB/PCBA购买,项目众包,方案共享平台)

发表于 2017-5-2 22:31:01 | 显示全部楼层
不错,学习了
 楼主| 发表于 2017-5-9 10:16:11 | 显示全部楼层
aliyun 发表于 2017-5-2 22:31
不错,学习了

融创芯城微信公众号有更多学习资料哦
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表