(7) - 模拟子系统 ADC DAC CMP SDFM(上)

+荐课 提问/讨论 评论 收藏
  • 本课程为精品课,您可以登录eeworld继续观看:
  • (7) - 模拟子系统 ADC DAC CMP SDFM(上)
  • 登录
大家好 这一章我们给大家介绍一下F2837X系列产品的 模拟子系统 它的C2000系列的最新产品 这代产品在模拟外设方面性能大大提升 我们会在这一章给大家详细讲解 这一章的目的是讲解模拟子系统 包括ADC模块 比较器模块 DAC模块 以及SDFM 为了让大家进一步了解模拟子系统 我们会用一个试验结合ADC DAC的功能 给大家演示 首先 我们看看模拟子系统的组成 从ADC方面 系统外设 较大的改变 是增加了16位差分模式的采样 拥有最快1兆的采样速度 增加了多个ADC转换器 从而实现最多四个ADC模块并行处理采样的一个 情况 产品有多达八个不比较器模块 每个比较器模块包含两个DAC 两个智慧比较器 和数字滤波器 同时 还有可以输出模拟电压的DAC 和SDFM模块 ADC模块有四个转换器 加采样保持 每个模块可以配置12位 或者16位的ADC 而且需要一个外部基准源来提供基准 每个模块的AC输入引脚数量不同 比如ADCA有6个 ADCB6个 ADCC只有4个 所以在使用时 要注意每个模块的ADC引脚的配置 部分引脚可作为DAC的输出 通过内部DAC输出模拟电压 在实时处理性能方面 解决了采样的平行问题 这是F2837X采样多个模块 要达到的效果 ADC的采样方式还是保持了PQ SOC的采样模式 区别与F28335 也就是老的DF系列的序列采样模式 采样优先级根据SOC优先级决定 每个SOC可以对应任何一个外部引脚 以及设置不同的触发事件 包括PWM触发 CPU定时器的触发 以及外部引脚 软件强制触发 同时每个SOC事件可以设置不同的采样窗大小 满足不同的模拟信号采样 比如精度更高更慢的信号 可以设置较大的采样窗 对于系统的采样时钟 时间比较长 但如果需要更快 但精度要求不高的采样 可以设置较小的采样窗 对应系统时间比较短 每个ADC SOC的结果都会对应到结果寄存器 我们叫做ADC result寄存器 比如SOC0的采样 也就是SOC的最高优先级 它的转换结果会放到SOC result 0 同时任意一个SOC事件 都可以触发一次SOC中断 可以在采样保持结束后触发 或者所存寄存器前 一个时钟触发 这一页我们看看采样保持到中断触发的过程 首先 ADC的触发源分为几种 软件强制触发 定时器 0 1 2的定时匹配 外部ADC EXTSOC的管脚 EPW每个模块的SOC ABCD的事件触发 以及重复定时器的时间匹配触发 并且 在F2837X中 ADC的中断可以进行ping pong模式的再次触发 也就是当某个SOC触发ADC中断后 比如ADC中断1 或2 这两个中断可以触发一个序列的ADCSOC采样 叫做ping pong功能 这样就可以循环反复的做两组SOC的互相采样 当SOC触发 进入转换器 转换以后 数据会存放到结果寄存器 最后会产生一个EOC信号 EOC信号触发ADC的中断 每一个ADC模块 都是这样的功能 具体看一个例子 PWM1的SOC信号 设置为SOC12的触发源 当PWM1的事件匹配 触发SOC信号产生时 三个SOC会对应优先级的管脚 信号采样 然后在SOC信号完成时 转换并产生EOC信号 触发ADC中断 ADC中断1 三个SOC设置不同的采样保持周期 七个系统时钟 10个系统时钟 和8个系统时钟 然后 SOC345也是同样 但是软件强制触发SOC 并且在 SOC5转换完以后 会触发ADC中断2 同时 ADC中断2还可以触发SOC345的触发采样 进入这样的一个ping pong模式 如果不设置PIE 及CPU打开相应的中断 将不会被触发 ADC中断2的标志位会被置起 刚刚提到除了和PQ SOC触发机制同样的SOC触发外 F2837X的SOC增加了额外的ping pong触发功能 既可以采用ADC的中断 来触发另一组的采样 图中的例子是从SOC0 1 2 由软件触发 设置相同的采样窗 然后ADC中断1的标志 会有SOC2的EOC产生 SOC3 4 5 由ADC中断1作为触发源 也就是当ADC1的标志置起的时候 就会被触发进入采样 需要强调的是 只有ADC中断2 中断1这两个中断标志 才能作为ping pong模式的采样触发源 ADC采样优先级是用户非常关心的一点 C2000的PQ产品 都会用SOC的采样方式 这种方式相比老的SEQ 序列采样模式 会更灵活 并且模式round robin 优先轮转模式 为默认优先级 当然可以设置某几个SOC取得永久的优先级 同时 F2837X在此基础上 增加了round robin burst mode 这个模式可以在一次触发事件后 同时触发多个SOC事件 让现有的round robin更灵活 下面对这三种模式来介绍 首先看普通的round robin加上high priority模式 假如目前的寄存器中设置了SOC0到4为high priority 也就是他们不受round robin的轮转控制 那round robin就在剩下的SOC5 到15 11个SOC中轮转 我们先看所有的SOC均处于round robin的情况 初始化时 优先级是SOC0 从小到大降低 也就是SOC0 默认情况下 是最高优先级 SOC15是最低优先级 这是在上电的那个时刻 也就是当前 round robin指针在SOC15上 SOC0是最高优先级 此时SOC机被触发以后 就会将指针指到SOC7 然后它进入采样转换 在SOC7完成后 此时指针指到SOC7 此时SOC8是最高优先级 往后以此类推 这个时候SOC7是最低优先级 当此时SOC12和SOC2同时触发 这个时候SOC8是最高优先级 所以SOC12的优先级高于SOC2 系统会先处理SOC12 指针指向SOC12 当SOC12转换完成后 此时SOC2采样转换 当然 这个时候指针指到SOC2时 以此类推 SOC3是最高优先级 SOC2是最低优先级 那如果有最高优先级 是怎么样的情况呢 假设SOC0到3 拥有了最高优先级 也就是如图所示 它们不在圈子里进行round robin的轮转 圈内只有SOC4 到15 当系统上电 初始化完以后 SOC15是最低优先级 是指针的位置 SOC4是最高优先级 此时 我们重复刚才的情况 SOC7被触发 那SOC7马上进入采样转换 然后重复刚才的情况 SOC2和SOC12 同时被触发 由于SOC2退出了round robin 所以SOC2有最高优先级 就先做SOC2的采样转换 然后回到SOC12做采样转换 之后 SOC12变成round robin中的最低优先级 SOC13是最高优先级 除了前面两种在PQ中广泛使用的模式外 F2837X在ADC的采样中增加了burst mode 它需要对三个寄存器的设置 使能寄存器 bursten 然后是burst mode的尺寸 也就是一次burst事件触发多少SOC来采样转换 最后设置burst事件的触发源 它和ADCSOC的触发源比较类似 都可以是软件或者定时器 或者是PWM的SOC 这个时候 我们举个例子 和之前的high priority一样 设置SOC0到3 为最高优先级 其他的在round robin中轮转 我们把burst size设为1 也就是一次burst事件触发会采样转换2个SOC 第一次burst信号来的时候 由于当前最高优先级是SOC4 所以在转换完SOC4 5后 指针在SOC5 此时的最高优先级是SOC6 此时 如果SOC1和burst触发信号同时来到 SOC1在圈外 拥有最高优先级 所以先执行SOC1的采样转换 然后再执行下一次burst事件 假设下一次burst事件 已经到来 对SOC6 7 进入转换 然后SOC7的采样转换完成后 SOC8是最高的采样优先级
课程介绍 共计28课时,4小时27分22秒

C2837x入门指南

TI C2000 MCU PWM F2837xD ADC DAC DMA CLA C2837x CMP SDFM CAP QEP c28x

F2837x系列的最新 C2000™ Delfino™ 32 位 F2837xD 微控制器 (MCU),为工业实时控制实现最新创新,并设定了全新性能标准。这些最新 MCU 支持双核 C28x 处理功能与双实时控制加速器(也称为控制律加速器或 CLA),可提供 800 MIPS 浮点性能,从而可帮助设计人员为计算要求严格的控制应用开发低时延系统。此外,设计人员还可通过将多个嵌入式处理器整合在单个 MCU 中以降低复杂性,充分满足高级伺服驱动器、太阳能中央逆变器以及工业不间断电源 (UPS) 等需要实时信号分析的应用需求。

推荐帖子

C6000 DSP移植在CCS环境下编写测试程序
修改完EMCV源码之后,需要编写测试程序进行测试。这里编写的程序只完成几个很简单的任务:创建图像,在其中添加一个矩形框,释放图像。虽然程序很简单,但是它也包含了一部分OpenCV的基础数据结构,包括CvPoint,CvScalar,CvSize和IplImage,以及几个基本的函数,包括cvCreateImage,cvRectangle和cvReleaseImage。如果这些代码能够运行,那么表明...
fish001 DSP 与 ARM 处理器
工业数字模拟转换器:如何设计二线制变送器
在工业DAC系列的上一篇文章中,我们探讨了如何创建和保护三线制工业模拟输出。今天,我们将转而研究二线制模拟输出。 图 1:典型二线制变送器简图 图1为设计二线制模拟输出最常用方法的简化电路图。对于许多模拟工程师而言,二线制方法比三线制和四线制更难于理解。理解二线制电路的困难大多数源自变送器电路中缺少接地符号——对于大学电路课程而言似乎是“具有挑战性的问题”。 为了更好地理解这一电路,图2中...
maylove 模拟与混合信号
DM81xx DVR_RDK Memory Map
在DVR RDK中支持多种不同的usecases,为了更有效地利用内存,在SYS/BIOS侧将物理内存配制成多个段,不同的段的大小是可以配置的,具体属性各不相同。    下面简单介绍下各个区域的用途:Linux Memory:分配给linux管理的内存区域Shared Regions:受限制的共享内存区,根据配置不同,其属性也各不相同,具体配置请参考syslink文档l Sys...
Ternence.Hsu DSP 与 ARM 处理器
launchpad串口通信程序设计
虽然经常使用到UART,但今天使用launchpad的来进行串口通信时,发现自己对串口通信, 尤其在串口通信程序编写上,仍是模模糊糊的感觉。 下面是launchpad的一个例程: include "msp430g2553.h" void main(void) {   WDTCTL=WDTPW+WDTHOLD; //关闭看门狗复制代码寄存器配置是理解的。使能接收中断,若接收...
qiwan 微控制器 MCU

luck_gfb

电机驱动的软件还是很复杂的。也就是说 你用我们的技术 你不需要做很多的操作调整 重新标定啊等等这些工作 只需要将我们的板子连接到电机 在10分钟内 可以让我们的电机转起来 而且这是无传感的技术 InstaSPIN TM motion是有传感的 会带给编码器的 我们会将速度网和[听不清]结合成一个环路 用IDC控制起来做 它的性能比较高端 而且只需要调整一个参数就可以了。

2020年09月02日 17:07:38

hawkier

哈哈哈,学完这章要点时间啊

2019年11月21日 16:12:10

大明58

学习C2837x入门指南

2019年08月22日 12:32:36

zhangleiat185

好好学习天天向上。。

2019年07月12日 16:34:47

hellokt43

好好学习天天向上。。

2019年06月09日 11:05:30

dingxilindy

学习C2000开发所需软件工具

2019年05月16日 14:51:31

zx1988ZX

终于看完了,不错的!

2019年04月25日 06:53:06

wudianjun2001

不错的视频资料。。。。。。

2019年03月04日 10:15:26

59477cq

学习了

2019年01月21日 20:28:50

凤凰息梧桐

学习一下

2019年01月21日 17:28:12

分享到X
微博
QQ
QQ空间
微信

EEWorld订阅号

EEWorld服务号

汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新文章 手机版

站点相关: EEWORLD首页 EE大学堂 论坛 下载中心 Datasheet 活动专区 博客

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2023 EEWORLD.com.cn, Inc. All rights reserved