背景
芯片:AURIX TC3xx
软件:Vector DaVinci CFG(简称达芬奇)
目标:配置AURIX TC3xx的P34.4脚为30HZ的PWM输出
配置过程
1.AUTOSAR架构
下图显示了PWM在AUTOSAR架构中的位置,在MCAL区。
2.Port模块配置
主要配置Port的输出模式与输出类型。
查看手册
配置P34.4引脚为PWM输出(手册:Infineon-TC39x-DataSheet-v01_02-EN.PDF)
其中O1对应ALT1,在后面的达芬奇配置中会使用。
达芬奇
配置Port为输出模式(PORT_PIN_OUT),初始化为ALT1模式,输出方式配置为推挽输出(PORT_PIN_OUT_PUSHPULL).
3.MCU模块配置
定时器通道
查询配置的定时器通道:GtmTimerPortPinSelect:TOUT149_SELI_8_PORT34_PIN4
其中“TOUT149”和"PORT34_PIN 4"可通过Port的手册可知(P34.4的手册截图)。
其中“SELI_8”通过查看手册确定(手册:Infineon-AURIX_TC39x-UserManual-v01_00-EN.PDF)
点击如图2位置跳转到下放截图,根据3找到SELx(x=5)位置如下截图,可选择定时器,我选择定时器为ATOM0_6_N所以为8,又因为I排在8位置(0到8==A到I)所以为"SELI_8"。
由于上一步确定定时器为ATOM0_6_N接下来配置达芬奇。
达芬奇
开启定时器ATOM0_6通道为PWM
定时器通道Port管脚选择
4.PWM配置
PWM信号的两种不同可能性:
1.如果极性为PWMHIGH,则占空比为高电平时间与周期时间的关系。
2.如果极性为PWM_LOW,则占空比是低电平时间与周期时间的关系。
选择API函数
选择clock3时钟
添加定时器ATOM0_6
配置波特率为30HZ
选择为GTM clock3,分频设置:99+1=100 ,即:100MHz/100=1MHz
配置波特率1MHz/33333=30Hz,占空比为50%.
5.Init配置
代码生成后的位置
6.添加PWM的工程包
如果在该工程中第一次配置PWM模块,需要收到在SIP包中取出PWM模块添加到该项目工程MCAL文件下.
SIP包内部PWM模块:
\ThirdParty\Mcal_Tc3xx\Supply\MC-ISAR_AS422_TC3xx_BASIC_1.40.0\McIsar\Src\Mcal\Tricore
添加到项目工程MCAL文件下MCU_A\Source\MCAL\McIsar\Src\Mcal\Tricore
7.PWM模块
SIP包技术参考PwmVTT手册:所有API函数
代码使用PWM,需要包含头文件使用如下函数启动PWM输出
#include"Pwm_17_GtmCcu6_Cfg.h"
#include "Pwm_17_GtmCcu6.h"
//该函数用来设置占空比和周期,启动PWM输出, 30Hz
Pwm_17_GtmCcu6_SetPeriodAndDuty(Pwm_17_GtmCcu6Conf_PwmChannel_Camera_Frequency_PwmChannel,33333,16666);