单片机ADC&GPT功能在马达和电源项目中的应用

文摘   2024-11-20 11:45   四川  

在马达或电源工程中,往往需要采集多路AD信号,且这些信号的优先级和采样时机不相同。本篇介绍在使用RA-T系列芯片建立马达或电源工程时,如何根据需求来设置主要功能模块ADC&GPT,包括采样通道打包和分组,GPT触发启动的设置。本文以RA6T2为范例,结果可推广到RA-T系列其他芯片和相关领域。


在马达或电源工程中,需采样的信号众多。但是采样信号的重要性并不相同,一般按优先级可分为两类:


1)  算法必须使用的采样数据,需在每个载波(算法)周期更新,优先级和实时性要求较高,比如马达工程里的电机的三相电流,电源工程里的输出目标的电压或者电流。


2)  变化频率不高或幅度基本稳定的采样数据,有些不参与算法处理,但是仍需采集,以辅助系统控制,或者监控系统运行状态,比如马达工程的母线电压,电源系统的输入电压,关键元器件温度采样等。


为了使设计更为灵活,RA6T2 ADC模块采用虚拟通道的概念。客户可以不受物理位置的限制,将相同类型功能通道编制到相邻的虚拟通道位置,然后打包成group。通过对整体group属性设置,统一协调控制通道的动作。


特别对于两个单元共享的20-28通道,可以自由选择,灵活使用。


以瑞萨官方提供的无位置传感器FOC样例工程为例,这个应用中需采样5个信号。


更多信息可复制下方链接至浏览器打开:

https://www.renesas.cn/cn/zh/document/scd/sensorless-vector-control-permanent-magnet-synchronous-motor-mckmcb-ra-family-sample-code?r=1542426


其中三相电流信号Iu,Iv,Iw参与FOC算法执行,需每个周期更新,实时处理。母线电压BUS_voltage和驱动信号Rotation speed command实时性没有这么高,可以另行处理。其系统设计框图如下:


我们可以把实时处理的三相电流采样打包成一个group(此样例中为group0)。


把母线电压和其他采样打包成另一个group(此样例中为group1)。


在每个载波周期中需更新AD采样值,则设置group0和group1都由GPT触发启动(在本应用中,使用两组ADC分属不同的ADC单元,所以group标号设置顺序,不影响工程性能,可随意设置),这样AD采样时机与载波周期相关联。


此样例工程所使用方案为三电阻采样,需在每载波周期GPT下溢时刻触发ADC采样。请看本实例,可设置触发在向下计数时触发A/D转换,并且技术匹配点为0,则下溢触发时刻设置完成。


在group0中设置采样完成中断使能,使group0采样完成后立即进入中断,执行FOC算法。这样设计的目的是在采集完FOC算法所必须的三相电流数据后,就立即执行FOC算法。可以使整个系统逻辑运行设计更紧凑、合理。


具体到不同实际应用,如果采样通道确需打包为两个或两个以上的group,建议参考数据手册Table 36.4,将优先级高的采样信号(如此处的三相电流采样)选择同一个采样单元(如此处ADC0)的所属通道(比如本样例工程使用AN000,AN002,AN004),将优先级低的采样信号(如此处的母线电压和驱动信号)选择另外的采样单元(如此处ADC1)的所属通道(比如本样例工程使用AN006,AN008),这样可以使两个采样单元同时触发执行,提高运行效率。


如果需设置超过2个以上group,且由同一个触发源启动,并且使用的是同一个采样单元,此时小标号的group0优先级高,会先执行。比如,group0由采样单元0中的3个通道组成,group1由采样单元0中的2个通道组成,那么当发生触发时,group0优先级高,先执行,然后执行group1。所以,请用户在使用时根据实际情况进行评估,按照系统优先级设置group。

------------ END ------------


MCU代码自检和诊断的常规方法


一年一度MCU/MPU工业技术研讨会亮点来了!


瑞萨MCU这几年的崛起之路


嵌入式专栏
作者黄工【strongerHuang】,专注分享嵌入式软件、硬件、工具等相关内容,通过专栏形式精选并整理更多嵌入式相关教程。关注并回复“1024”查看更多教程。
 最新文章