S32G3使用MCAL配置CTU触发ADC转换

学习目标:

1、了解CTU模块特点
2、使用MCAL配置CTU模块完成PWM通道触发ADC转换的功能

CTU模块详解:

1、触发源
如下图所示为可以触发CTU的外设/外部信号,实际上项目种最常用到的就是使用PWM通道去触发ADC转换,本例中也是实现的该功能。
在这里插入图片描述
2、CTU功能框图详解
在这里插入图片描述
总结来说就是, Sequential mode 模式下只有一个外部触发源是生效的,且只能给SU单元提交一个Tri事件;Triggered mode 模式下所有外部触发源都是生效的,一个control cycle内最多提交8个Tri事件。
比如,该周期内共计提交了4个Tri事件
在这里插入图片描述
对应MCAL配置如下:
在这里插入图片描述
3、ADC命令转换列表
ADC命令列表有两种模式
在这里插入图片描述List execution in Streaming mode
在这里插入图片描述List execution in parallel mode
在并行模式下,最多可以同时执行两个列表。. 为了避免在执行两个并行列表时出现错误,它们不应该同时包含两个adc的命令。因此,如果列表1有针对ADC A的命令,那么列表2应该只有针对ADCB的命令。 还要注意,如果一个列表使用了共享的模拟输入,那么另一个列表不应该使用它,以避免争用,从而产生错误。A.ADC双转换命令也不应该在并行模式下使用。

MCAL配置

1、ADC General中开启CTU相关配置,这里不做赘述
2、添加ADC硬件触发信号,配置 CtuHwUnit->Input Trigger时,需要绑定对应的信号,没啥特殊的,6个外设信号全加上就行了。
在这里插入图片描述
3、配置CTU硬件单元
在这里插入图片描述
4、配置触发TGS的外设信号
在这里插入图片描述
4、配置输入到SU单元的Tri事件
在这里插入图片描述
5、ADC命令列表配置
在这里插入图片描述
如上图所示,笔者配置了两个ADC命令列表,SU的Tri触发ADC命令列表时会从交替转换每一个列表,如果CTU设置为 Sequential mode 模式时,需要外设触发两次才能把整个命令列表转换完成。
6、FIFO的配置
在这里插入图片描述
笔者每一个命令列表的长度均小于8,所以ADC转换的数据均存储到了FIFO_0中,至于FIFO_1、2、3合适会用到就不太清楚了。

以上就是CTU相关的所有配置了,至于ADC的配置和NXP其它型号的配置基本上相同,在此不做赘述。

代码

使用CTU单元时,需要开启的中断资源,当然如果你使用platform进行中断管理,这部分可以跳过
在这里插入图片描述

CTU单元支持通过软件模拟,通过如下代码可以实现软件触发CTU转换

转换结果的读取,注意申请数组的类型,这里边包含了ADC单元、转换通道的相关信息。
在这里插入图片描述

学习产出:

OK,CTU的配置和代码实现就这些了

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
S32K144是一款NXP公司生产的32位汽车级微控制器,适用于汽车电子控制单元(ECU)和其他汽车应用。MCAL(Microcontroller Abstraction Layer)是一个软件层,用于为特定的微控制器提供统一的接口和功能库,以简化软件开发和移植。 在配置S32K144 MCAL之前,首先需要选择合适的开发环境和软件工具,例如基于Eclipse的S32 Design Studio或IAR Embedded Workbench等。然后,根据具体的应用需求,进行以下配置: 1. 时钟配置:根据系统要求,选择适当的时钟源和分频器配置,以满足MCU和外设的时钟需求。 2. 中断配置:根据应用需求,选择需要使用的中断,并进行相应的配置和优先级设置。 3. 外设配置:根据需要使用的外设,选择相应的驱动和功能库,并进行初始化和配置。例如,GPIO口的输入输出配置、UART、SPI和CAN等通信接口的配置等。 4. 中央处理单元(CPU)配置:选择合适的中央处理单元配置,包括时钟频率、优化级别、中断和异常处理等。 5. DMA配置:根据需要使用的DMA通道,进行相应的配置和初始化,以实现高效的数据传输。 6. 低功耗模式配置:根据系统要求,选择适当的低功耗模式,并进行相应的配置和设置。 完成以上配置后,可以开始编写应用程序,使用MCAL提供的接口和功能库进行开发。MCAL提供了一系列的API函数和驱动程序,用于实现外设的控制和数据交换,以及处理器的中断和异常处理。 总之,S32K144 MCAL配置是一项复杂且关键的任务,需要根据具体的应用需求进行仔细配置和调试,以确保系统的可靠性和稳定性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值