DSP TMS320F2803x、TMS320F2806x COMP比较器模块开发笔记(代码基于TMS320F28069 详解)

这篇具有很好参考价值的文章主要介绍了DSP TMS320F2803x、TMS320F2806x COMP比较器模块开发笔记(代码基于TMS320F28069 详解)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

详解DSP F28069的COMP比较器模块,及代码讲解(适用于2802x、2803x、2806x、M35x、M36x 型号)

比较器 (COMP) 模块

比较器模块是一个真正的模拟电压比较器在VDDA领域。核心模拟电路包括比较器,它的输入和输出,以及内部的DAC参考。支持的数字电路包括DAC控制、与其他片上逻辑的接口、输出确认块和可编程控制信号。
比较器块可以监视两个外部模拟输入,或者使用内部DAC引用监视另一个输入的外部模拟输入。比较器的输出可以异步传递,也可以限定并同步到系统时钟周期。比较器输出被路由到ePWM Trip Zone模块,以及GPIO输出多路复用器。
dsp比较器,DSP F28x系列开发,单片机,嵌入式硬件,dsp开发,c语言,个人开发

比较器功能

dsp比较器,DSP F28x系列开发,单片机,嵌入式硬件,dsp开发,c语言,个人开发
没有条件电压A =电压B的定义,因为比较器输出的响应存在滞后。请参考设备数据表了解该迟滞量的值。这也限制了比较器输出对输入电压噪声的灵敏度。
经过限定后,比较器的输出状态由COMPSTS寄存器中的COMPSTS位反映。如果模块时钟未启用,COMPSTS寄存器将不会更新。

DAC Reference

每个比较器块包含一个内部10位电压DAC参考,可用于提供比较器的反相输入(B端输入)。DAC的电压输出由控制器控制DACVAL寄存器中的DACVAL位字段来设定。DAC的输出由公式给出:
dsp比较器,DSP F28x系列开发,单片机,嵌入式硬件,dsp开发,c语言,个人开发
由于DAC也在模拟域中,它不需要时钟来维持其电压输出。然而,需要一个时钟来修改控制DAC的数字输入。

Ramp Generator Input

当选择斜坡发生器(见图9-3)时,可以产生一个下降斜坡DAC输出信号。在这种模式下,DAC使用16位RAMPSTS倒计时寄存器中最重要的10位作为输入。
dsp比较器,DSP F28x系列开发,单片机,嵌入式硬件,dsp开发,c语言,个人开发
当接收到选中的PWMSYNC信号时,RAMPSTS寄存器被设置为RAMPMAXREF_SHDW的值,然后在此后的每个syclk周期中从RAMPSTS中减去RAMPDECVAL_ACTIVE的值。当通过设置DACSOURCE = 1首次启用斜坡生成器时,RAMPSTS的值从RAMPMAXREF_SHDW加载,并且寄存器保持静态,直到接收到第一个PWMSYNC信号。
如果COMPSTS位是由比较器在ramp生成器激活时设置的,RAMPSTS寄存器将重置为RAMPMAXREF_ACTIVE的值,并保持静态,直到接收到下一个PWMSYNC信号。如果RAMPSTS的值为零,RAMPSTS寄存器将保持静态为零,直到接收到下一个PWMSYNC信号。
为了减少在更新斜坡生成器RAMPMAXREFA和RAMPDECVALA值时出现竞争条件的可能性,只有影子寄存器RAMPMAXREF_SHDW和RAMPDECVAL_SHDW具有写权限。影子寄存器的值在下一个PWMSYNC信号上复制到活动寄存器。用户软件应采取进一步措施,避免在PWMSYNC信号的同一周期内写入阴影寄存器,否则之前的阴影寄存器值可能会丢失。
PWMSYNC信号宽度必须大于SYSCLK,以确保斜坡发生器能够检测到PWMSYNC信号。

斜坡发生器的行为在图9-4中进一步说明。
dsp比较器,DSP F28x系列开发,单片机,嵌入式硬件,dsp开发,c语言,个人开发

Initialization

在使用比较器块之前,必须执行两个步骤:
1、 通过在ADCCTL1内的ADCBGPWD位写入1来启用ADC内部的带隙电源(内部参考源)。
2、 通过在COMPCTL寄存器的COMPDACEN位上写入1来启用比较器块。

Digital Domain Manipulation

在比较器的输出端,还有两个功能块可用于影响比较器输出的行为。它们是:
1、 Inverter circuit: 由COMPCTL寄存器中的CMPINV位控制,将对比较器的输出应用逻辑反相。这个功能是异步的,而它的控制需要一个时钟来改变它的值。
2、 Qualification block: 由COMPCTL寄存器中的QUALSEL位域控制,并由COMPCTL寄存器中的SYNCSEL位门控。这个块可以用作一个简单的过滤器,只在比较器的输出与系统时钟同步时才传递它。并且由QUALSEL位域中定义的系统时钟数量限定。

Comparator Registers

dsp比较器,DSP F28x系列开发,单片机,嵌入式硬件,dsp开发,c语言,个人开发
dsp比较器,DSP F28x系列开发,单片机,嵌入式硬件,dsp开发,c语言,个人开发

代码讲解

本次实验使用比较器3,COMP3A端接到IO输入,COMP3B内部接到DAC产生比对电压3V。当COMP3A端电压大于3V时输出为低电平,反正输出高电平。在输出脚接LED灯,可以方便的观察到LED灯会随着比较值的不同来响应亮灭。

  • COMP.h
/*
 * COMP.h
 *
 *  Created on: 2023年3月11日
 *      Author: chends
 */

#ifndef USER_INC_COMP_H_
#define USER_INC_COMP_H_

#include "DSP28x_Project.h"

void comp3_init(void);



#endif /* USER_INC_COMP_H_ */

  • COMP.c
/*
 * COMP.c
 *
 *  Created on: 2023年3月11日
 *      Author: chends
 */
#include "COMP.h"

void comp3_init(void)
{
    EALLOW;
    //gpio口配置
    GpioCtrlRegs.GPBPUD.bit.GPIO34 = 1;    // Disable pull-up for GPIO34 (CMP3OUT)
    GpioCtrlRegs.GPBMUX1.bit.GPIO34 = 3;  // Configure GPIO34 for CMP3OUT operation

    GpioCtrlRegs.AIOMUX1.bit.AIO6 = 2;    // Configure AIO6 for CMP3A (analog input) operation
    //GpioCtrlRegs.AIOMUX1.bit.AIO14 = 2;   //不需要配置AIO14,CMP3B将在内部接到DAC。 Configure AIO14 for CMP3B (analog input) operation

    AdcRegs.ADCCTL1.bit.ADCBGPWD=1;//1-给带隙缓冲器核心内的电路通电
    SysCtrlRegs.PCLKCR3.bit.COMP3ENCLK=1;//使能COMP3时钟

    //在传递给EPWM/GPIO块之前,比较器输出的同步选择位
    //0-传递的是异步样式的Comparator输出;1-传递的是同步样式的Comparator输出
    Comp3Regs.COMPCTL.bit.SYNCSEL =1;

    //比较器同步输出的确认期选择位,由于SYNCSEL选择位异步则QUALSEL无效
    //在Qual块的输出可以改变之前,块的输入必须连续5个时钟保持一致
    Comp3Regs.COMPCTL.bit.QUALSEL=5;

    Comp3Regs.COMPCTL.bit.CMPINV=1;//比较器反相选择。1-比较器的反向输出通过;0-比较器的输出直接通过
    Comp3Regs.COMPCTL.bit.COMPSOURCE=0;//比较器反向输入端(COMP-)的源选择。0-连接到内部DAC;1-连接到外部引脚

    //Comp3Regs.COMPSTS.bit.COMPSTS //比较器的逻辑锁存值,只读

    //(调试使用的,随便选即可)模拟模式行为。在模拟暂停期间选择斜坡生成器行为。
    //0-立即停止;1-完成当前斜坡,并在下一个PWMSYNC信号时停止;2-3:Run free
    Comp3Regs.DACCTL.bit.FREE_SOFT=2;

    Comp3Regs.DACCTL.bit.DACSOURCE=0;//DAC源选择,0-DAC由DACVAL控制;1-DAC由斜坡发生电器控制
    Comp3Regs.DACCTL.bit.RAMPSOURCE=0;//(DACSOURCE=1才此位有效)斜坡发生器源同步选择。0-PWMSYNC1是源同步;n-1:PWMSYNCn是源同步

    Comp3Regs.DACVAL.bit.DACVAL=930;//Vdac=930*3.3V/1023=3V

    //Comp3Regs.RAMPMAXREF_SHDW=0;//(DACSOURCE=1才此位有效)下斜坡发生器的16位最大参考阴影值。

    //Comp3Regs.RAMPDECVAL_SHDW=0;//(DACSOURCE=1才此位有效)下斜坡发生机的16位递减有源值

    //Comp3Regs.RAMPSTS//只读,下斜坡发生器的16位值。

    Comp3Regs.COMPCTL.bit.COMPDACEN=1;//Comparator/DAC Enable,1-Comparator/DAC logic is powered up. 0-Comparator/DAC logic is powered down.



    EDIS;
}

实验现象

在main函数中调用comp3_init();进行初始化后,即可使用。此时只需在AIO6 接大于3V的电压,GPIO34 就输出低电平;在AIO6 接小于3V的电压,GPIO34 就输出高电平。文章来源地址https://www.toymoban.com/news/detail-640663.html

到了这里,关于DSP TMS320F2803x、TMS320F2806x COMP比较器模块开发笔记(代码基于TMS320F28069 详解)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • DSP_TMS320F28377D_ADC学习笔记

    DSP各种模块的使用,基本上就是 GPIO复用配置、相关控制寄存器的配置、中断的配置。本文主要记录本人对ADC模块的学习笔记。TMS320F28377D上面有24路ADC专用IO,这意味着不需要进行GPIO复用配置。 只需要考虑相关控制寄存器和中断的配置。看代码请直接跳到最后。 在放代码之前

    2024年02月04日
    浏览(36)
  • DSP_TMS320F28377D_ePWM学习笔记

    本人需要使用ePWM来控制一个永磁同步电机(PMSM), 本文记录了对于TMS320F28377D ePWM模块的学习笔记。主要内容是FOC PMSM控制的ePWM配置,同时包含ADC触发源的配置,关于ADC的学习笔记,请参考DSP_TMS320F28377D_ADC学习笔记_江湖上都叫我秋博的博客-CSDN博客。 关于一些PWM的基础知识,

    2023年04月25日
    浏览(47)
  • DSP_TMS320F28377D_算法加速方法1_拷贝程序到RAM运行

    TI C2000系列的DSP芯片算力有限,用于来控制有时候常会出现控制程序无法实现实时运行的情况,因此从本文开始,将陆续推出几篇DSP算法加速的方法 此方法只需要添加 一行代码 和 一个预定义 ,即可达到算法整体加速的目的。先声明本文是讲的是TMS320F28377D,其他C2000系列芯片

    2024年02月10日
    浏览(62)
  • DSP_TMS320F28377D_算法加速方法2_添加浮点运算快速补充库rts2800_fpu32_fast_supplement.lib

    继上一篇博客DSP_TMS320F28377D_算法加速方法1_拷贝程序到RAM运行_江湖上都叫我秋博的博客-CSDN博客之后,本文讲第二种DSP算法加速的方法,该方法的加速效果很明显,但是加速范围仅限于32位浮点数下面这几种函数: 下面稍微解释一下一些可能有疑问的点 1 电机控制中经常对同一

    2024年02月10日
    浏览(36)
  • 11.TMS320C5509V+Win10+CCS8开发环境搭建

    众所周知,相较于TMS320F28335,TMS320C5509V属于较老的平台,在新版本的CCS版本上支持一直是一个问题。 最基本的问题便是,无法新建基础工程。各开发版厂商提供的例程无法在CCS8上使用,只支持CCS3.3环境,但是由于目前Win7、Win10等系统均不再支持CCS3.3,所以只能折腾虚拟机来

    2024年02月07日
    浏览(44)
  • 【TES600】基于XC7K325T与TMS320C6678的通用信号处理平台

    板卡概述         TES600是一款基于FPGA+DSP协同处理架构的通用高性能实时信号处理平台,该平台采用1片TI的KeyStone系列多核浮点/定点DSP TMS320C6678作为主处理单元,采用1片Xilinx的Kintex-7系列FPGA XC7K325T作为协处理单元,具有1个FMC子卡接口,具有4路SFP+万兆光纤接口,具有2路

    2024年02月06日
    浏览(43)
  • 基带信号处理设计原理图:2-基于6U VPX的双TMS320C6678+Xilinx FPGA K7 XC7K420T的图像信号处理板

    基于6U VPX的双TMS320C6678+Xilinx FPGA K7 XC7K420T的图像信号处理板          综合图像处理硬件平台包括图像信号处理板2块,视频处理板1块,主控板1块,电源板1块,VPX背板1块。 一、板卡概述          图像信号处理板包括2片TI 多核DSP处理器-TMS320C6678,1片Xilinx FPGA XC7K420T-

    2024年03月15日
    浏览(59)
  • 图像信号处理板设计原理图:2-基于6U VPX的双TMS320C6678+Xilinx FPGA K7 XC7K420T的图像信号处理板

             综合图像处理硬件平台包括图像信号处理板2块,视频处理板1块,主控板1块,电源板1块,VPX背板1块。 一、板卡概述          图像信号处理板包括2片TI 多核DSP处理器-TMS320C6678,1片Xilinx FPGA XC7K420T-1FFG1156,1片Xilinx FPGA XC3S200AN。实现四路千兆以太网输出,两路

    2024年02月04日
    浏览(55)
  • 复合管、达林顿管(UL2003、ULN2803)了解

    复合管是两只三直管按照一定的方式连接,等效成一个三极管。复合管的极性取决于第一个三极管。 来看下四种复合管的等效电路 复合管电路放大倍数就是两个三极管放大倍数相乘,为了有更大的放大倍数。 大功率的复合管都设有过压保护,这里是采用的稳压管。 我们要

    2024年02月01日
    浏览(40)
  • 【COMP9517】Computer Vision

    COMP9517: Computer Vision Objectives: This lab revisits important concepts covered in the Week 1 and Week 2 lectures and aims to make you familiar with implementing specific algorithms. Preliminaries: As mentioned in the first lecture, we assume you are familiar with programming in Python or are willing to learn it independently. You do not need to be an exp

    2024年02月02日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包