目录

  • 简介
    • 构成
      • 特性
      • CMPSS模块系统框图
    • 比较器
    • 参考DAC
    • 斜坡发生器
      • 斜坡发生器概述
      • 斜坡发生器特性
    • 数字滤波器
  • 参考文献

简介

比较器子系统(CMPSS)由模拟比较器和支持电路组成,被用于功率应用,如峰值电流模式控制、开关模式电源、功率因数校正、电压跳闸监测等。

构成

比较器子系统是围绕许多模块构建的。每个子系统包含两个比较器两个12位参考DAC两个数字滤波器一个斜坡发生器。比较器在每个模块内表示为“H”或“L”,其中H和L分别表示高和低。每个比较器产生一个数字输出,用来指示同相输入电压是否大于反相输入电压。比较器的同相输入由外部引脚或PGA驱动(请参阅模拟子系统章节,了解CMPSS可用的多路复用选项)。反相输入可以由外部引脚或可编程参考12位DAC驱动。每个比较器输出经过一个可编程数字滤波器,可以去除杂散跳闸信号。如果不需要滤波,也可以使用未经滤波的输出。斜坡发生器可选地用于控制子系统中高比较器的12位参考DAC值。

特性

每个CMPSS模块包含:

  • 两个模拟比较器
  • 两个可编程12位参考DAC
  • 一个斜坡发生器
  • 两个数字滤波器
  • 使用EPWMSYNCPER同步子模块的功能
  • 使用EPWMBLANK扩展清晰信号的功能
  • 与SYSCLK同步输出的功能
  • 锁定输出的功能
  • 反转输出的功能
  • 对输入使用迟滞的选项
  • 选择比较器的同相输入端是由外部信号或PGA驱动
  • 选择比较器的反相输入端是由外部信号或参考DAC驱动
  • 选择VDDA或VDAC作为DAC参考电压

CMPSS模块系统框图

  • CTRIPx(x= “H"或"L”)信号连接到ePWM X-BAR,用于ePWM跳闸响应。
  • CTRIPxOUTx(x= “H"或"L”)信号连接Output X-BAR,用于外部信号。

比较器

当同相输入电压大于反相输入电压时,比较器产生高数字输出;当同相输入电压小于反相输入电压时,比较器产生低数字输出。比较器如图16-2所示。

参考DAC

每个12位参考DAC可以被配置为驱动一个参考电压到其各自的比较器的反相输入端。12位参考DAC输出是内部的,不能从外部观察到。
每个12位对于每个参考的12位DAC,都有两套DACxVAL寄存器,即DACxVALA和DACxVALS。DACxVALA是一个只读寄存器,它可以控制参考的12位DAC值。DACxVALS是一个可写的影子寄存器,可以立即加载到DACxVALA,也可以与下一个EPWMSYNCPER事件同步。高参考12位DAC (DACH)可以选择从斜坡发生器而不是从DACHVALS获得其DACHVALA值
12位参考DAC的工作范围由DACREF和VSSA限定。**高电压参考默认为VDDA,但也可以配置为VDAC。**参考的12位DAC如图16-3所示。

12位参考DAC的理想输出由下式计算:

斜坡发生器

斜坡发生器概述

斜坡发生器为12位高参考DAC产生一个下降斜坡输入。在这种模式下,12位参考DAC使用RAMPSTS倒计时寄存器中最重要的12位作为输入。RAMPSTS倒计时寄存器的低4位有效地作为下降斜坡率可配置的RAMPDECVALA的预刻度。
通过设置DACSOURCE = 1,可以启用斜坡生成器。在设置DACSOURCE = 1时,值
RAMPSTS从RAMPMAXREFS加载,并且寄存器保持静态,直到接收到选定的EPWMSYNCPER信号。接收到选定的EPWMSYNCPER信号后,在随后的每个SYSCLK周期上从RAMPSTS中减去RAMPDECVALA的值。
为了防止在EPWMSYNCPER事件之后开始SYSCLK周期的减法,可以使用作为延迟计数器的RAMPLYA寄存器来延缓RAMPSTS减法。在接收到EPWMSYNCPER事件时,RAMPDLYA的值在每个SYSCLK周期上减少1,直到寄存器达到零。RAMPSTS减法只在RAMPDLYA为零时开始。

斜坡发生器特性

斜坡发生器在 DACSOURCE, EPWMSYNCPER 和
COMPHSTS 的每个上升沿都发生状态变化。
在DACSOURCE的上升沿,RAMPMAXREFA、RAMPDECVALA和RAMPDLYA加载它们的影子寄存器。RAMPSTS是用RAMPMAXREFS加载的,并且当RAMPDLYA计数器达到0时开始减小。
在RAMPLOADSEL = 1的COMPHSTS上升沿,RAMPMAXREFA、RAMPDECVALA和RAMPDLYA是用它们的影子寄存器加载的。RAMPSTS是用RAMPMAXREFS加载的,并且停止递减。
在RAMPLOADSEL = 0的COMPHSTS上升沿,RAMPSTS被加载RAMPMAXREFA并停止递减。
此外,如果RAMPSTS的值达到0,则RAMPSTS寄存器将保持静态为零,直到接收到下一个EPWMSYNCPER。图16-4中的斜坡发生器框图说明了这些状态的变化

数字滤波器

数字滤波器工作在取自输入的FIFO采样(SAMPWIN)。滤波器输出解析为示例窗口的majority值,其中majority由阈值(THRESH)值定义。如果不满足多数阈值,则滤波器输出保持不变。
为了正常工作,THRESH值必须大于SAMPWIN / 2且小于等于SAMPWIN。
预分频函数(CLKPRESCALE)决定滤波器采样率,其中滤波器FIFO在每个预分频系统时钟捕获一个采样。丢弃FIFO中的旧数据。
请注意,对于SAMPWIN、THRESH和CLKPRESCALE,在所有情况下数字滤波器使用的内部数都是+ 1。本质上,samples = SAMPWIN + 1, threshold = THRESH + 1, precale = CLKPRESCALE + 1。
数字滤波器的概念模型如图16-6所示。

为了保证数字滤波器的正常工作,建议采用以下初始化顺序:

  1. 配置并启用比较器以进行操作
  2. 配置数字滤波器参数
    •在FIFO窗口中设置SAMPWIN为要监控的采样数量
    •设置THRESH为多数限制的条件
    •设置“CLKPRESCALE”为数字滤波时钟预分频值
  3. 通过设置FILINIT来初始化数字FIFO窗口中的采样值
  4. 如果需要如果需要锁存路径,可通过COMPSTSCLR清除COMPSTS路径
  5. 配置CTRIP和CTRIPOUT的信号路径
  6. 如果需要,可以配置目标模块接收滤波,例如ePWM、GPIO等

参考文献

1: TMS320F28004x Microcontrollers Technical Reference Manual (Rev. D).

TMS320F280049学习笔记3_CMPSS 比较器子模块相关推荐

  1. FPGA系统性学习笔记连载_Day7【16位比较器设计】 【原理及verilog实现、仿真】篇

    FPGA系统性学习笔记连载_Day7[16位比较器设计] [原理及verilog实现.仿真]篇 连载<叁芯智能fpga设计与研发-第7天>[16位比较器设计] [原理及verilog实现. ...

  2. DSP学习笔记之EPWM

    DSP学习笔记之EWPM学习 \qquad 学习PWM模块的知识,最少需要掌握频率可调.占空比可调.互补死区可调.多个PWM相位差可调等.内容较多,主要是参照英文手册中几个模块的介绍,内容很多,最基本 ...

  3. Python学习笔记(六)

    1. IO编程 1.1 文件读写 1.2 StringIO和BytesIO 1.3 操作文件和目录 1.4 序列化 2. 进程和线程 2.1 多进程 2.2 多线程 2.3 ThreadLocal 2 ...

  4. 《Linux高性能服务器编程》学习笔记

    <Linux高性能服务器编程>学习笔记 Linux高性能服务器编程 TCP/IP协议族 TCP/IP协议族体系结构以及主要协议 数据链路层 网络层 传输层 应用层 封装 分用 测试网络 A ...

  5. Hadoop学习笔记—11.MapReduce中的排序和分组

    Hadoop学习笔记-11.MapReduce中的排序和分组 一.写在之前的 1.1 回顾Map阶段四大步骤 首先,我们回顾一下在MapReduce中,排序和分组在哪里被执行: 从上图中可以清楚地看出 ...

  6. SpringMVC学习笔记

    文章目录 SpringMVC学习笔记 Spring MVC 什么是 MVC 设计模式? Spring MVC 的核心组件 Spring MVC 的工作流程 如何使用? Spring MVC 注解 Sp ...

  7. Vue学习(vuex)-学习笔记

    文章目录 Vue学习(vuex)-学习笔记 含义理解 具体代码 辅助函数 mapGetters mapActions Vue学习(vuex)-学习笔记 含义理解 State Vuex 使用单一状态树- ...

  8. RocketMQ 源码学习笔记 Producer 是怎么将消息发送至 Broker 的?

    RocketMQ 源码学习笔记 Producer 是怎么将消息发送至 Broker 的? 文章目录 RocketMQ 源码学习笔记 Producer 是怎么将消息发送至 Broker 的? 前言 项目 ...

  9. Java 8 实战学习笔记

    Java 8 实战学习笔记 @(JAVASE)[java8, 实战, lambda] 文章目录 Java 8 实战学习笔记 参考内容 Lambda表达式 Lambda环绕执行模式(抽离步骤) 原始代码 ...

最新文章

  1. ip的正则表达式 java,项目实战:Java正则表达式验证IP地址
  2. 如何做好 Android 端音视频测试?
  3. mysql5.7半自动同步设置【转】
  4. java中泛型学习总结
  5. Python返回数组(List)长度的方法
  6. Android 系统(272)---Android中的各种保活
  7. Windows核心编程——内存映射
  8. 如何将img镜像安装到硬盘、解决默认分区小的问题
  9. 编译原理 --- 递归下降分析器
  10. 在pytorch中实现十折交叉验证
  11. yarn启动vue项目
  12. python的reshape(-1)和torch中的torch[-1]都是什么意思
  13. 三菱fx5u plc项目模板程序(含触摸屏程序) 程序注释全面,用的三菱fx5u系列plc和威纶触摸屏
  14. 年薪百万的阿里 P7 到底该具备什么样的能力?!解密篇
  15. Spring Boot【定制化】~ AOP统一结果处理以及异常拦截
  16. Python学习资料全面总结,真的对零基础很有用
  17. Vue进阶(幺贰零):父组件获取子组件验证结果
  18. 狼人杀,对产品经理的好处有哪些?
  19. HTML -超文本标记语言
  20. 第七章 面向对象核心技术

热门文章

  1. 【Java】流式编程学习笔记
  2. 程序设计-在校整理-03 排班系统
  3. ★寒门再难出贵子?太现实了!【下】
  4. 关于AutoCAD 2014的securityload…
  5. AI学习者必备 | 圣母大学公开统计计算课程讲义(视频+PPT+作业)
  6. 企业经营流程重组与Synchro Workflow
  7. iOS 任意切割图片
  8. IDE 10 月指数榜:Eclipse 反超 Visual Studio
  9. word中表格文字居中
  10. 吐血输出:2万字长文带你细细盘点五种负载均衡策略。