(8) - 模拟子系统 ADC DAC CMP SDFM(下)

+荐课 提问/讨论 评论 收藏
  • 本课程为精品课,您可以登录eeworld继续观看:
  • (8) - 模拟子系统 ADC DAC CMP SDFM(下)
  • 登录
F2837X除了对ADC的采样机制优化外 还增加了ADC的后处理模块 对ADC采样结果处理 把它叫做PPB模块 此模块有四个功能 第一个是偏移校正功能 主要对ADC的结果寄存器的offset来矫正 第二个是误差矫正功能 可以将单端的ADC采样结果 变成带符号的正负值 并且把它输入到PPBresults寄存器 同时可以读取 然后就是过零点 上下线功能 这个功能是基于上一个误差矫正的功能 可以对这个值进行过零点的判断 进行上下线触发中断的功能 最后一个功能是延迟捕捉功能 主要是一个定时器来判断ADCSOC 从触发到转换是否有延迟 延迟时间多少 这页是这个功能的模块框图 大家看到 SOC的延迟捕捉功能 可以捕捉SOC的延迟时间 然后当SOC的结果寄存器 从这边输入 经过一个ADCPPBxOFFCAL 就会做一个误差矫正 再次把它存入ADC结果寄存器 然后进行单端双端的误差矫正功能 这个功能可以把这个值从无符号数变成有符号的值 也就是一个正负值 用于正负电流采样 然后它还可以输入到这模块 也就是门限比较模块 进行上下限幅 以及过零点的检测 主要是通过检测ADCPPB结果寄存器的符号的正负变换 来实现的 PPB模块可以通过寄存器事件来匹配 是否为零 还可以通过PIE触发一个中断 它的中断向量叫ADCEVTINT 它的事件 每一个PPB模块都会多一个ADCEVT1234 也就是一个ADC 模块 带有四个PPB模块 四个ADC模块 带有16个PPB模块 而每个PPB模块 都可以连接到任何一个ADC结果寄存器 这一页介绍ADC时钟 它从系统时钟分频而来 对于F28377 加入我们把系统时钟设置为200兆赫兹的输出 使能 ADC时钟计数器以后 就可以通过分频设置得到ADC的时钟 需要注意ADC时钟最大50兆赫兹 而SOC采样的大小由系统时钟计算 并不是ADC计算 这一点和转换时间 会不一样 这一页我们看ADC寄存器 分为ADC控制寄存器 CTL1和2 还有ADC的SOC控制寄存器 中断控制寄存器 以及中断控制设置寄存器 包括SOC的优先级设置寄存器 以及burstmode设置寄存器 最后还有ADC的偏移校正寄存器 和常规的ADC结果寄存器 我们先看设置寄存器 在CTL1中 它可以读取ADC当前是否忙碌 以及忙于哪个通道 并且可以启动或者停止ADC供电 以及ADC中断事件触发的设置 ADC的中断时间可以设置为 在SOC事件转换完成后 或者结果寄存器所存前的一个周期 CTL2寄存器主要用于ADC的模式 例如单端和差分 以及设置12位或16位的DC 以及ADC的时钟分频数设置 ADCSOCCTL寄存器主要用于设置SOC的触发源 以及SOC对应的通道 如果是单端采样 就对应一个通道 比如这里的ADC通道0到15 如果是差分采样 对应两个通道 比如这里的ADC0 1 以及ADC每个SOC的采样窗大小 ADC中断寄存器 主要用于触发SOC的中断 用于ADC ping-pong模式中 让ADC中断触发一个序列的ADC采样 SOC优先级设置功能寄存器 主要是读取当前robin指针的地方 即最后一个转换的SOC 地点 以及不想在robin中旋转的SOC 可以设置1到16个SOC跳出robin圈外 ADC burst控制器 寄存器 是新加入的功能 主要用于静止或使能burst mode 以及它的尺寸大小 也就是一次burst事件 对于多少个SOC转换 以及设置burst mode的触发信号 中断寄存器用于选择ADC中断的EOC 可以选择任何一个ECO用于中断触发 可选择单次触发或连续触发的模式 ADC的结果寄存器是一个16位的寄存器 当使用12位模式时 只有第12个有效 而且外部源最大为3伏 单模式下 满足是FFFh 最小分辨率是0.0073V 如果是16位模式 就会需要是一个叉分输入 最小可以分别45uV的压差 需要两个ADC引脚 来采样 同样 需要外部基准源输入 如果在12位模式下使用短板采样 而且输入信号是一个正负信号 那我们需要在这边 增加一个1.5伏的偏置 然后在软件中手动减去硬件的偏置 最终才能变成需要的输入电压的采样 或者使用PPB模块的 OFFREF寄存器 得到一个在ADC result寄存器中的一个正负值 ADC的偏差矫正一般有几种方法来完成 如果是上电矫正 可以在OTP中写入一个矫正程序 或者调用device cal函数来完成 这个函数在系统初始化中默认添加调用 当然也可以调用ADC mode函数来循环矫正 或者 偏置和增益误差产生时 可以调整ADC OFFTRIM寄存器来调整偏移误差 如果是增益误差 就可以通过软件补偿全范围增益内的误差 比如通过另一个ADC模块的输入角 基准源来补偿ADC 具体方法可以参见SPRAAD 8A的应用文档 最后提一下 F2837X的基准源 必须使用外部基准源 可以用一个基准用给4个ADC同时提供 最好在基准输入源角的地方加入稳压电容 发挥基准源的最大精度 看完ADC模块 我们看看比较器模块 F2837X最多有8个比较器模块 其中每个比较器带有两个模拟比较器 两个12位DAC 两个数字滤波器 和1个斜率生成器 其中数字滤波器用于滤除 比较器输入端的干扰信号 而斜率生成器是用于控制电流模式的控制的谐波补偿 它还可以被PWM的同步信号 比如PWMsink所同步 这一页是比较器的一个框图 和PQ上一代产品的区别是 现在的比较器带有两个单端比较器 也就是一个比较器模块带有两个比较器 一个负责设置比较的上限 一个负责设置下限 这样不会因为比较器的输入口的电压在干扰下飘动 导致比较器的误触发 每个比较器带有一个12位DAC 精度比以前的10位有提高 每个比较器有单独的数字滤波器 进行抗干扰 比较器模块中还有三个DAC能输入模拟电压 可以用基准源的输出 比如正弦波 方波模拟信号 是从ADC引脚上输出电压 可以带一定的负载 这就是DAC的框图 内部DAC通过内部运放输出 这样比较器就有了使用ADC的电源电压 和外部基准源作为基准 最后看看SDFM滤波器 是F2837X产品最新的外设 主要在四步控制器中用于ADC隔离采样后 输出数字流的场合进行数字解码 或者和旋转解码器来解码连接 F2837X最多有四个SDFM模块 每个模块可以独立接受数字比特流 可以设置四种速度的滤波模式 并且具有compare滤波器 可以快速检测 过流状态 当然也可以根据设置 调整滤波器来进行自定义处理 简单看看框图 总共4个模块 每个模块有独立的时钟和数字流输入 通过输入控制后 进行compare滤波保护 然后触发中断 或者产生时间读取 同时PWM模块的compareC和D匹配 也可以同步SDFM模块的滤波器 让电流采样和PWM周期同时进行
课程介绍 共计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) 等需要实时信号分析的应用需求。

推荐帖子

坛里用ADI的DSP的同学多不多
说说大家都用TI的还是ADI的?   还有,我是DSP菜鸟,想问下TI和ADI的DSP各有什么样的优势,用的最多的什么型号?主要用在哪里?...
wanghongyang DSP 与 ARM 处理器
关于TMS320C30的外部数据存储器
各位高手,请教一个问题,TMS320C30的外部数据存储器必须是32位的还是可以用16位数据宽度!请高手答复,不胜感激!...
wycemail DSP 与 ARM 处理器
还是不能下载程序
我用LM3S601或者是LM3S6611芯片,软件是IAR6.3,工具:JLINK V8。 当我程序编译没有错误时,点击下载,出现以下2个错误,究竟是哪配置不对啊? 1:fatal error: Conmunication timed out:Requested 1 bytes,received 0 bytes. 2.failed to load flash loader:安装目录\IAR6...
feiante 微控制器 MCU
恳请版主和各位大哥帮忙!如何在430中使用队列数据结构?
各位高手,由于项目需要,须在程序中使用队列,对列的成员是一个结构。写了个测试程序但是新节点总是挂不到队列中去,请各位大侠指点!我的代码如下: struct queueNode { long int data; struct queueNode *nextPtr; }; typedef struct queueNode QUEUENODE; typedef QUE...
pqwgh 微控制器 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