当前位置: 首页 > news >正文

深入ADC采样

同步采样

需要同时采集多个信号怎么办,有没有一种方式可以让两个ADC同时开始转换,同时得到采样信息,这样的采样能更好的固定信号的相位差异
有的,兄弟有的
请看同步采样

同步采样的简单实现

基于一个ADC采集交流信号,TIM同时触发两个ADC进行采样

graph LRA[TIM] -->|TRGO触发|B[ADC1]A --> |TRGO触发|C[ADC2]

学习文章

同步采样的一般实现

ADC配置

ADC_Mode

  1. Independent mode 独立模式
  2. 双ADC模式
  • Dual Combined regular simultaneous mode
    同步规则组模式:两个ADC同步采样同一个规则通道(常用于差分输入或提高采样精度)
  • Dual Combined interleaved mode
    交叉模式:两个ADC交替采样同一个规则通道(ADC1转换时ADC2采样下一数据,实现单通道采样率翻倍)
  • Dual Combined alternate trigger mode
    交替触发模式:两个ADC轮流响应同一个触发信号(每次触发仅启动一个ADC,提高触发资源利用率)
  • Dual Combined injected simultaneous mode
    同步注入组模式:两个ADC同步采样同一个注入通道
  • Dual Injected simultaneous only mode
    仅注入组同步模式:只有注入通道使用同步模式,规则通道仍各自独立工作
  • Dual Regular simultaneous + injected simultaneous mode
    规则通道和注入通道都使用同步模式
  • Dual Interleaved + injected simultaneous mode
    规则通道使用交替模式(追求极高采样率),注入通道使用同步模式

学习文章

同步采样
请先食用上述主食再继续以下的饭后甜点
文中将ADC配置为双ADC规则同步模式。在这种模式下,ADC1和ADC2同时采样不同的通道(但使用同一个触发),然后将两个结果合并成一个32位数据(ADC1在低16位,ADC2在高16位)
ADC1 扫描通道CH0,CH1,CH2和CH3
ADC2 扫描通道CH4
双ADC同步模式下的转换过程
在双ADC规则同步模式下,每次触发(软件触发)会同时启动ADC1和ADC2的转换。转换规则如下:

  1. 第一次触发:
    • ADC1转换Rank1(Channel0,PA0)
    • ADC2同时转换Rank1(Channel4,PA4)
      转换完成后,数据组合成一个32位数据:
    • 低16位:ADC1的转换结果(PA0)
    • 高16位:ADC2的转换结果(PA4)
      这个32位数据被DMA传输到内存数组的第一个元素(ADC_result[0])。
  2. 第二次触发:
    • ADC1转换Rank2(Channel1,PA1)
    • ADC2同时转换Rank2(Channel4,PA4)-> 再次采样PA4
      转换结果组合后存入ADC_result[1]:
    • 低16位:ADC1结果(PA1)
    • 高16位:ADC2结果(PA4)
  3. 第三次触发:
    • ADC1转换Rank3(Channel2,PA2)
    • ADC2转换Rank3(Channel4,PA4)-> 再次采样PA4
      存入ADC_result[2]。
  4. 第四次触发:
    • ADC1转换Rank4(Channel3,PA3)
    • ADC2转换Rank4(Channel4,PA4)-> 再次采样PA4
      存入ADC_result[3]。
  5. 由于配置了连续转换模式,且DMA为循环模式,上述过程会不断重复。
*************这样的检验方式属于作者的别出心裁,希望不要在有其他兄弟纠结再这里*****************
http://www.njgz.com.cn/news/391.html

相关文章:

  • 学习笔记:MySQL :eq_range_index_dive_limit参数
  • Python字符串知识点总结
  • SQL Server 2025年7月更新 - 修复 CVE-2025-49718 Microsoft SQL Server 信息泄露漏洞
  • 读书笔记:Oracle数据库内存结构:系统全局区(SGA)详解
  • 小飞标签
  • 服务器配置的精细化控制(3960)
  • TCP连接优化的实战经验(7340)
  • 家庭主妇人到中年的生活困境很难突破防
  • 中间件架构的优雅实现(0454)
  • 梦醒时分
  • Hyperlane框架最全教学(6165)
  • 并发处理能力的巅峰对决:异步编程的艺术(3501)
  • 实战项目:全栈在线群聊系统(7048)
  • HTTP响应处理的灵活设计(0782)
  • Rust异步Web框架性能突破之路(6359)
  • 服务器配置的精细化控制(7138)
  • 内存使用效率的终极对决:零拷贝技术的实战应用(0345)
  • 明源相关漏洞自查清单(2025)
  • TCP连接优化的实战经验(3513)
  • 异步编程在Web开发中的应用(3842)
  • Proxmox Backup Server 4.0 Beta - 开源企业级备份解决方案
  • Proxmox Mail Gateway 8.2 - 全面的开源邮件安全平台
  • 数控编程利器!Mastercam 2025 安装教程+汉化全流程解析
  • 阿里云AI安全护栏
  • 浅谈一类容量很大但重量很小的背包——2025.7.27 鲜花
  • Centos8搭建hadoop高可用集群
  • 连载小说《Server》 Part 1 《简幻欢》 序言
  • 折腾笔记[30]-使用bun_python通过javascript优雅调用python库
  • Linux系统目录结构完全指南:目录与文件夹的本质区别
  • 【2025最新】官方Claude API中转服务 | 快速接入Claude 4 API | 国内Claude API接口中转指南