微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI WIFI设计交流 > 3200产生pwm

3200产生pwm

时间:10-02 整理:3721RD 点击:

你好,我使用下面的代码产生38kHz的pwm 发现每3个下降沿就会有一个低于38kHz的脉冲存在,

#define TIMER_INTERVAL_RELOAD   2105 
#define DUTYCYCLE_GRANULARITY   1052
    while(1)
    {
            MAP_UtilsDelay(8000);
            MAP_TimerDisable(TIMERA2_BASE,TIMER_B);
        	MAP_UtilsDelay(80000);

            MAP_TimerLoadSet(TIMERA2_BASE,TIMER_B,TIMER_INTERVAL_RELOAD);/*TIMER_INTERVAL_RELOAD = 80Mhz/38khz = 2105*/
            MAP_TimerMatchSet(TIMERA2_BASE,TIMER_B,DUTYCYCLE_GRANULARITY);/*DUTYCYCLE_GRANULARITY = 1052   占空比50%*/

            MAP_TimerEnable(TIMERA2_BASE,TIMER_B);
    }

下面是我用逻辑分析仪得到的结果:每3组下降沿就会有一个不是38Khz的脉冲存在,请问是我的程序有什么问题吗?

1、参考TI的\examples\CC32xx_PWM的例子进行验证PWM的配置,关于PWM例程中需要注意的几点我列在下面,在你的程序中会不会有CC3200进入低功耗模式的情况?

2、在PWM的例子中需要注意以下几点:

SetupTimerPWMMode()函数中

MAP_TimerControlLevel(ulBase,ulTimer,ucInvert);

//输出高低电平 1=ture-低电平 0=False-高电平
//当LoadSet=MatchSet值时,PWM输出的电平是高电平还是低电平
// 1=ture-低电平 当LoadSet≥MatchSet 时PWM输出低电平 ---Green/Yellow LED
// 当LoadSet<MatchSet 是PWM输出高电平
// 0=False-高电平
// 当LoadSet≥MatchSet 时PWM输出高电平 ---RED LED
// 当LoadSet<MatchSet 是PWM输出低电平

// 修改自己的PWM引脚可以通过以下步骤-(1)先用PinMux-PWM -->PIN_02 for TimerPWM7 GT_PWM07
// (2)通过PWM_OUT7--在TRM中Table 9-1. Available CCP Pins and PWM Outputs/Signals Pins 找到对应的定时器 --- Timer3->Timer B
// (3)配置TIMERA3_BASE TIMER_B TIMER_CFG_SPLIT_PAIR/TIMER_CFG_B_PWM 及默认PWM输出电平 ---测试OK
// 注意:如果PWM_OUT6和PWM_OUT7同时使用的话必须在在最后一个TIMER_B配置中打开TIMER_CFG_A_PWM配置,否则会将TIMER_A的配置清除!
// TIMER_CFG_A_PWM 0x0000000A
// TIMER_CFG_B_PWM 0x00000A00 ---最终的配置如下:
// HWREG(ulBase + TIMER_O_TAMR) = ulConfig & 255; //取低八位
// HWREG(ulBase + TIMER_O_TBMR) = (ulConfig >> 8) & 255; //取低八位的前八位 ---可以加个判断来避免这个问题
SetupTimerPWMMode(TIMERA3_BASE, TIMER_B, (TIMER_CFG_SPLIT_PAIR | TIMER_CFG_A_PWM | TIMER_CFG_B_PWM), 1); //保留低八位数据 并配置--TIMER_B --测试OK

在PWM程序中并未使用分频功能,如果使用分频功能注意
// 设置分频,记得一定要修改这个寄存器,这个寄存器包含了比较值的高 8bit,请记住 CC3200 的 PWM 的计数器其实 24bit的。不是 16bit 的。
// 下面给出修改这个寄存器的库函数
// TimerPrescaleMatchSet(ulBase,ulTimer,n);

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top