(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) 等需要实时信号分析的应用需求。

推荐帖子

DSP2808怎么实现can总线发送数据到上位机?
之前在dsp2812将数据通过USBCAN2I将数据发送给了电脑的上位机,现在希望相应的功能在2808上实现,按着之前在dsp2812的代码的功能在dsp2808上敲出来,结果一直发送不了数据,很郁闷。请大神赐教! ...
hebolovecjj DSP 与 ARM 处理器
2553串口波特率问题求助
我设置的时钟是1MHz,波特率为38400,但是发出去的数据收回来全是一些莫名其妙的汉字,这个要怎么办?...
飞扬跋扈 微控制器 MCU
28335计算正余弦函数的时间?
请教下各位一个问题:         在28335中直接调用sin 或cos 函数计算一次大概需要多少时间?         我在dsp中编写了一个简单的小程序,运算100次sin(x),然后toggle-翻转某个gpio的引脚,在示波器中观察了 发现计...
liuguangniao 微控制器 MCU
如何在CCS中给工程添加用户路径
在进行DSP软件调试时,常常从其他地方拷贝程序到用户主机上运行,因此依赖项路径通常需要重新设置,CCS工程组建选项提供了这样一个窗口,用户可以指定路径。 1. Include the following files in application project that uses driver library.  $(ProjectDir)\emac_dm6437\ti\n...
Aguilera 微控制器 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