STM32G4系列MCU——数字电源入门(2)

2)COMPARATOR(比较器)配置:

COMP1

COMP3与COMP1的配置类似,不同点是比较器的负向输入端为DAC3的1通道输出。

当配置完COMP后,还要设置COMP输出高电平时,PWM关断的条件。

当电感电流大于参考值时,将TA1和TB1设为低电平,关断PWM输出。

这样就搭建完成内部的峰值电流环。

3)DAC

DAC的输出就是COMP负向输入引脚。

每个DAC都有两个输出通道,但不是每个DAC的输出电压都能通过引脚进行输出。从上图中可以看到DAC1的两个通道都能通过MCU的引脚进行输出,而DAC3的两个通道输出只能连接到片内的外设上。

4)ADC3配置:

ADC3(输出电压采样)

在配置ADC的触发选项之前,需要先配置HRTIM的ADC触发事件(ADC Trigger 3),所以再回到HRTIM的配置界面:

在External Trigger Conversion Source中选择High Resolution Timer Trigger 3 event。

因为ADC3是通过DMA传递采样值的,因此配置完ADC3后,要直接配置DMA外设。

5)DMA配置

选择(1)DMA外设后,在(2)处按“Add”,然后在(3)处选择添加ADC3,产生DMA请求信号,接着在(4)处取消勾选,在(5)选择“Word”,在(6)的工作模式选择“Circular”。因为本例中并不需要手动处理DMA中断,所以在生成的代码中不需要生成DMA的中断服务。如下图:

DMA传送的输出电压采样值是直接送到FMAC中进行处理的,接下来进行FMAC的配置。

6)FMAC配置

FMAC只要在页面中激活就行,比较简单。因为要在FMAC中断中进行恒压环路的计算,所以要使能FMAC中断。

并且由代码生成器负责生成FMAC中断服务。

ADC3通过DMA通道将输出电压采样值直接传送到一个内存地址指向的变量,而FMAC的X1缓存的基地址指针也指向该内存变量的地址,ADC3的采样值就送到FMAC的缓冲区里面了。这样从ADC3开始采样到采样值的读取,再到电压环路的计算都不占用CPU的开销时间,也没有进入中断和出中断的延时,这样加大了电压环路的相位裕度,有利于电压环路稳定性的改善。

7)ADC1的配置:

ADC1(输出电流采样)

选择ADC1的IN3通道做为Iout_FB的采样通道。

给该通道设个标签,方便以后引用。

然后返回到HRTIM外设配置界面,配置ADC的触发事件(ADC Trigger 1)。

ADC Trigger 1用来触发ADC1。返回到ADC1的配置界面:

ADC1的采样值在ADC1的中断服务中直接读取,不要通过DMA传递,所以不要使能DMA的请求。

因为ADC1采样完成后需要在中断中计算恒流环路,所以要使能ADC1的中断。

需要代码生成器产生中断服务

这样ADC1配置完成了。

说明一下:ADC的采样方式分为规则采样和注入采样,这两种采样方式的差别自行查找。DMA传送的ADC采样值只能用规则采样方式,不能用注入采样。且ADC Trigger1、3只能用于规则方式,ADC Trigger2、4只能用于注入方式。

所以,可以看到前面的ADC工作方式都是在“ADC_Regular_ConversionMode”标签下进行配置的。

8)串口的配置

配置通讯波特率,字长及校验位、停止位。

使能USART2的全局中断。

由代码生成器生成相应的中断服务

完成上面工作后,配置生成外设的代码结构

为每个外设都独立生成一对c\h文件,方便查找和修改。

最后可以生成代码了。

生成的代码如上图所示,接下来就要进行代码的编写了。

在本文附件中提供笔者的ioc配置文件。

声明:本内容为作者独立观点,不代表电子星球立场。未经允许不得转载。授权事宜与稿件投诉,请联系:editor@netbroad.com
本篇所含全部资料,点击此处留下邮箱我会发给你
资料明细:2KW_InterLeave_DCDC_DPL_G474VET6_Ver1.1.rar
觉得内容不错的朋友,别忘了一键三连哦!
赞 2
收藏 3
关注 509
成为作者 赚取收益
全部留言
0/200
  • dy-13ytKv7V 18小时前
    老师,能不能发我一下资料,谢谢! 36****@****.com
    回复 1条回复
  • dy-Ny3lDL2S 1天前
    老师,能不能发我一下资料,谢谢! 18****@****.com
    回复 1条回复
  • dy-AEBEKduV 1星期前
    老师,能不能发我一下资料,谢谢! ku****@****.com
    回复 1条回复
  • anono 2星期前
    老师,能不能发我一下资料,谢谢! 10****@****.com
    回复 1条回复
  • lqwuliang 09-26 11:25
    老师,能不能发我一下资料,谢谢! 74****@****.com
    回复 1条回复
  • tom_ynhe 08-28 22:39
    老师,能不能发我一下资料,谢谢! 13****@****.com
    回复 1条回复
  • ouxinhi 06-19 14:43
    老师,能不能发我一下资料,谢谢! ou****@****.com
    回复 1条回复
  • zhanzekun 06-04 13:41
    老师,能不能发我一下资料,谢谢! zz****@****.com
    回复 1条回复
  • 老师,能不能发我一下资料,谢谢! 10****@****.com
    回复 1条回复
  • dy-DJRYP28P 04-24 11:15
    老师,能不能发我一下资料,谢谢! xc****@****.com
    回复 1条回复
  • 杨晓华6688 04-10 15:30
    老师,能不能发我一下资料,谢谢! 53****@****.com
    回复 1条回复
  • dy-XhiiUS1Z 02-23 23:11
    老师,能不能发我一下资料,谢谢! 30****@****.com
    回复 1条回复
  • dy-sh2zv67r 02-03 09:58
    老师,能不能发我一下资料,谢谢! el****@****.com
    回复 1条回复
  • dy-iGugTBNk 01-31 15:48
    老师,能不能发我一下资料,谢谢! pe****@****.com
    回复 1条回复
  • Free election pair 01-26 16:43
    老师,能不能发我一下资料,谢谢! 15****@****.com
    回复 1条回复
  • Free election pair 01-26 16:41
    老师,能不能发我一下资料,谢谢! 15****@****.com
    回复 1条回复
  • dy-XHeGgAvl 01-05 11:37
    老师,能不能发我一下资料,谢谢! go****@****.com
    回复 1条回复
  • dy-fr7bqalt 01-04 14:59
    老师,能不能发我一下资料,谢谢! da****@****.com
    回复 1条回复
  • jyxu053 2023-12-08 13:48
    老师,能不能发我一下资料,谢谢! xu****@****.com
    回复 1条回复
  • dy-ZTCluVnv 2023-12-02 15:19
    老师,能不能发我一下资料,谢谢! 99****@****.com
    回复 1条回复