ADC模块框图ADC Module Block Diagram

说明:

  • 左上角为ADC的核心模块,实现AD转换功能。
  • 左下角为参考电压选择模块
  • 右上角为模数封装逻辑。

其中:

  • 核心部分为采样保持电路(S/H Circuit)和AD转换器。
  • 有16路启动转换(SOC)
  • 4路后处理模块(PPB)
  • 4路中断模块

信号模式

28002x只支持单端信号模式。

转换结果与参考电压之间的关系为:

启动转换(start-of-conversions,SOC)

说明:

  • 最多有16路SOC用于启动转换;
  • 每一路SOC需要配置3个信号:采样通道、采样持续时间、触发源;
  • 多路SOC同时满足条件时,交给SOC仲裁和控制模块;

触发源可以是:

  • 软件触发:ADCSOCFRC1.SOC0
  • ADC中断触发:ADCINT1和ADCINT2
  • 其他触发源(CPU定时器和PWM事件):具体如下。

触发源:

ADC转换优先级

Round Robin优先级

当同时设置多个 SOC 标志时,两种优先级形式中的一种决定了它们转换的顺序。 默认优先级方法是循环法。 在这个方案中,没有一个 SOC 具有比另一个更高的固有优先级。 优先级取决于循环指针(RRPOINTER)。 ADCSOCPRIORITYCTL 寄存器中反映的RRPOINTER 指向最后转换的SOC。 最高优先级的 SOC 被赋予下一个大于 RRPOINTER 值的值,在 SOC15 之后返回到 SOC0。 复位时该值为 16,因为 0 表示已发生转换。 当 RRPOINTER 等于 16 时,最高优先级被赋予 SOC0。 当 ADCCTL1.RESET 位置位或写入 SOCPRICTL 寄存器时,RRPOINTER 由器件复位复位。

A

复位后,SOC0 为最高优先级 SOC ;

SOC7 收到触发信号;

SOC7 配置的通道立即转换。

B RRPOINTER 更改为指向 SOC 7;
SOC8 现在是最高优先级的 SOC。
C SOC2 & SOC12 同时收到触发信号 ;
SOC12 是循环轮上的第一个;
SOC12 配置的通道在转换的同时
SOC2 保持待定。
D RRPOINTER 更改为指向 SOC 12;
SOC2 配置的通道现已转换。
E RRPOINTER 更改为指向 SOC 2;
SOC3 现在是最高优先级 SOC 。

高优先级SOC

ADCSOCPRIORITYCTL 寄存器中的 SOCPRIORITY 字段可用于将高优先级从单个 SOC 分配给所有 SOC。 当配置为高优先级时,SOC 将在任何当前转换完成后中断循环轮并作为下一个转换插入。 转换完成后,循环轮将在中断的地方继续运行。 如果同时触发两个高优先级 SOC,则编号较低的 SOC 将优先。

高优先级模式首先分配给 SOC0,然后按数字递增的顺序分配。 SOCPRIORITY 字段中写入的值定义了第一个不是高优先级的 SOC。 换句话说,如果将值 4 写入 SOCPRIORITY,则 SOC0、SOC1、SOC2 和 SOC3 被定义为高优先级,其中 SOC0 最高。

其中:

  • RRPOINTER指示了当前轮盘处理的SOC编号。(0x10为初始状态,表示还未开始SOC转换,下一个最高优先级为SOC0)。
  • SOCPRIORITY表示第一个不是高优先级的SOC。比如,值为4则表示SOC0~SOC3为高优先级,SOC4~SOC15是RR优先级。
  • 当高优先级的SOC满足条件时,会中断当前的RR优先级的SOC,处理高优先级的SOC,处理完成后再返回之前的RR优先级。
  • 如果同时有多个高优先级的SOC,则编号最小的优先处理。

下图 给出了使用高优先级 SOC 的示例。

A 复位后,SOC4 在循环轮上为第 1 位;
SOC7 收到触发信号;
SOC7 配置的通道立即转换。
B RRPOINTER 更改为指向 SOC 7;
SOC8 现在在循环轮上排名第一。
C SOC2 & SOC12 同时收到触发信号 ;
SOC2 中断循环轮, SOC 2 配置的通道被转换,而 SOC 12 保持挂起。
D

RRPOINTER 一直指向 7;

SOC12 配置的通道现已转换。

E RRPOINTER 更改为指向 SOC 12;
SOC13 现在在循环轮上排名第一。

突发模式(Burst Mode)

突发模式允许单个触发器一次遍历一个或多个循环 SOC。 设置 ADCBURSTCTL 寄存器中的位 BURSTEN 将 ADC 包装器配置为突发模式。 这会导致 TRIGSEL 字段被忽略,但仅适用于为循环操作(非高优先级)配置的 SOC。

所有循环 SOC 均基于 ADCBURSTCTL 寄存器中的 BURSTTRIG 字段而不是 TRIGSEL 字段触发。 收到突发触发后,ADC 包装器不会设置所有要转换的循环 SOC,而只会设置 (ADCBURSTCTL.BURSTSIZE + 1) SOC。 要设置的第一个 SOC 将是基于循环指针的具有最高优先级的 SOC,并且将设置后续 SOC,直到设置了 BURSTSIZE SOC。

其中:

  • BURSTEN:是否使能BURST转换
  • BURSTSIZE:当BUUST触发时,一次连续转换N+1个SOC。第一个SOC是从RRPOINTER开始。
  • BURSTTRIGSEL:BURST转换的触发源,包括CPU定时器、PWM等。

示例:

A 复位后,循环轮上的SOC4为1;
收到 BURSTRIG 触发;
SOC4 & SOC5 设置和配置通道立即转换。
B RRPOINTER 更改为指向 SOC5;
SOC6 现在在循环轮上为 1。
C BURSTTRIG & SOC1 触发 rcvd。 同时;
设置SOC1、SOC6、SOC7;
SOC1 中断循环轮和 SOC1 配置的通道被转换,而 SOC6 和 SOC7 保持挂起。
D RRPOINTER 一直指向 5;
SOC6/SOC7 配置的通道现已转换。
E RRPOINTER 更改为指向 SOC7;
SOC8 现在在循环轮上为 1,等待 BURSTTRIG。

ADC转换结束产生中断

说明:

每一个ADC模块有4个可配置的中断。可以选择从16个SOC的EOC标志来触发。

参考文档:

https://www.ti.com.cn/cn/lit/pdf/spruin7

TMS320F28002x Microcontrollers Technical Reference Manual (Rev. A) (英文內容)

Chapter 15
Analog-to-Digital Converter (ADC)

TMS320F28xx ADC转换图解相关推荐

  1. AVR系列之ADC转换

    八月的最后一天 待到现在才开始写总结 显得有点慢了 嘿 这完全是因为早上上了两节课后 便去图书管找几本书 又待到了吃午饭时间 然后一直拖到现在 汗 可真多理由呢 找打 汗 还是说多废话了 就整理一下关 ...

  2. zigbee cc2530 adc转换

    cc2530的通用datasheet上没怎么讲到adc的一些特性, http://download.csdn.net/detail/songqqnew/5132088 而是下面这个文档有较多讲解 ww ...

  3. STM32 ADC转换实验

    摘自:STM32 ADC转换实验 作者:追兮兮 发布时间: 2020-10-29 09:42:24 网址:https://blog.csdn.net/weixin_44234294/article/d ...

  4. rsa 模数 指数转换 c语言_模数转换,你必须知道的8个经典ADC转换电路方案

    模数转换器即A/D转换器,或简称ADC,通常是指一个将模拟信号转变为数字信号的电子元件.通常的模数转换器是将一个输入电压信号转换为一个输出的数字信号.由于数字信号本身不具有实际意义,仅仅表示一个相对大 ...

  5. 分享一个stm8s003单片机的ADC转换,附加一个冒泡算法(用于减少误差)

    1.先上脚位图,不要问我为什么是stm8f103,stm8f103和stm8s003只有内存的不同. 2.上代码,选用PC4(AIN2)为ADC转换引脚,只提供函数,自己选择调用,不追求精度的话可以不 ...

  6. NTC热敏电阻温度采集与adc转换

    前言: ntc热敏电阻的R值是10k,B值是3950 使用的是STM32F103RCT6的ADC 文章目录 1.电路理论 2. NTC热敏电阻阻值与温度之间的转换 3.NTC热敏电阻温度采集与adc转 ...

  7. 模数转换,你必须知道的8个经典ADC转换电路方案

    模数转换器即A/D转换器,或简称ADC,通常是指一个将模拟信号转变为数字信号的电子元件.通常的模数转换器是将一个输入电压信号转换为一个输出的数字信号.由于数字信号本身不具有实际意义,仅仅表示一个相对大 ...

  8. ADC 转换:神舟IV实验

    STM32手册中写的很详细:单次转换/连续转换,规则通道/注入通道,扫描模式.很多设置,但是比TIM简单多了感觉.... 双ADC模式还没有看 正点原子的例程网址,给出 http://openedv. ...

  9. 关于ADC转换设计中的基本问题(82问)

    1.如何选择高速模数转换之前的信号调理器件;如何解决多路模数转换的同步问题? ADC之前的信号调理,最根本的原则就是信号调理引起的噪声和误差要在ADC的1个LSB之内.根据这个原则,可以选择指标合适的 ...

最新文章

  1. 李飞飞团队最新研究,真实场景中识别物体具体属性,连表面纹理都识别出来了...
  2. 65% 的钱被头部玩家拿走,人工智能要进入下半场?
  3. skywalking es7_SpringCloud下skywalking的快速入门
  4. triplet loss后面不收敛_你的神经网络真的收敛了么?
  5. 进程锁 读写文件的小例子 C++代码
  6. Android学习笔记(八)
  7. webpack打包教程
  8. 提花织机行业调研报告 - 市场现状分析与发展前景预测
  9. java 启动resin,Resin 启动时报错!解决方法
  10. WIN10系统安装金蝶K3 WISE14.0以下客户端版本
  11. 《TCP/IP详解卷一:协议》学习笔记
  12. 中国大学慕课mooc答题/自动播放脚本(domooc)使用教程
  13. 新书推荐 | 数据流机器学习:MOA实例
  14. 安全狗“老用户推荐新用户”有奖活动进行中 最高IPhone 4S手机
  15. java实现京东登陆界面,京东登陆界面的实现
  16. Scratch的方向
  17. 聊天机器人:DeepMind的sparrow
  18. 大连圣亚海洋世界:寻觅王子与公主的爱情
  19. 阿里的1001个错误:盲目相信空降兵,做死雅虎中国
  20. 你知道OSPF多区域配置和区域优化吗?(华为OSPF多区域理论,路由重分发,末梢区域和完全末梢区域的优化,NSSA区域的优化)

热门文章

  1. 【Arduino】入门篇——SOS求救信号器
  2. 关于深度学习中泛化的几个概念
  3. UBTC——区块链下一个领航大旗
  4. LWN:DVB与头文件和用户空间的regression!
  5. 1333 零存整取问题
  6. 一文总结那些年我们追过的计算机发展史
  7. Python制作【小游戏合集】之愤怒的小鸟
  8. Seagate 酷鱼七代添加ROM方法
  9. DTK进度条控件DWaterProgress
  10. CTF-Misc 文件类型 详细解