This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC3220MOD:具有语音生成和单声道 AB 类音频放大器的 CC3220 PWM。 1-2Hz 噪声问题

Guru**** 2540720 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/747652/cc3220mod-cc3220-pwm-with-speech-generation-and-mono-class-ab-audio-amplifier-1-2hz-noise-problem

器件型号:CC3220MOD

您好;

我现在使用 的是 SimpleLink CC3220 SDK 2.30.00.05 (2018年9月17日)   

CCS v8.2.0和 FreeRTOS v10.0.0 即使我产生1kHz 正弦信号、也会产生1-2Hz 噪声。

旧版本没有此噪声  

SDK 1.60.00.04 (2018年1月1日)

CCS v7.2.0和 FreeRTOS v9.0.0

可能会发生变化的情况。 有人可以提供帮助

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好;  

    我使用以下代码来了解问题。

    尽管 PWM 和计时器频率相同。 我看到了一个示波器相移。

    当我在旧 SDK 中尝试相同的代码时、freaks 相同、没有相移。

    我怀疑驱动程序代码中存在错误。  我在摄像头上记录了示波器信号。

    如果您想查看附件中的链接

    空 timerArrangePwmDuty (Timer_handle myHandle1)

    pwmFlag=1;
    GPIO_TOGGLE (Board_BAT_CTRL);

    void pwmtest (void){
    PWM_Handle pwm1 =空;
    PWM_Params 参数1;
    Timer_handle timer0;
    Timer_Params 参数;

    PWM_init();
    PWM_PARAMS_INIT (&params1);
    params1.idleLevel = PWM_IDLE_LOW;
    params1.dutyUnits = PWM_Duty_counts;
    params1.dutyValue = 1800;
    params1.periodUnits = PWM_PERIOD_US;
    params1.periodValue = 45;
    pwm1 = PWM_open (Board_PWM0、&params1);
    占空比= 1800;
    PWM_setDuty (pwm1、Duty);
    PWM_START (pwm1);

    timer_init();
    Timer_Params_init (&params);
    params.period = 45;
    Params.periodUnits = Timer_Period_US;
    params.timerMode = Timer_Continuous_callback;
    params.timerCallback = timerArrangePwmDuty;
    timer0 = Timer_open (Board_Timer1、params);
    Timer_start (timer0);

    while (1)

    if (pwmFlag){
    pwmFlag=0;


  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Taylan、

    您能否将示波器输出图像连接到您看到相移的位置? 我不认为这会导致您的噪声问题。 您是否有要使用的频谱分析仪、以便您可以看到信号中存在的频率? 这样、我们就可以识别1-2 Hz 噪声。

    此外、您是否正在使用 Launchpad? 如果刷写器件而不使用 PC 为器件供电、噪音是否消失?

    此致、
    VR
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    非常感谢您的回复

    你好。 我的系统在使用旧 SDK 时工作正常。 使用 SDK 更新时声音已断开。

    在我的测试结果中、我看到 PWM 周期与定时器周期不同。 计时器和 PWM 均为45uSN。

    我检查了 TI 驱动程序代码。 我看到以下差异: 橙色新绿色旧驱动程序代码。  PWMTimerCC32XX.c   
    当我安装旧的驱动程序库时、我发现错误有所改善。
    我的新问题是如何在新的 TI 库中修复和编辑此更改。  如何编译。

    PWMTimerCC32XX.c   
    /*
    *==== getPeriodCounts ====
    *
    静态 uint32_t getPeriodCounts (PWM_PERIOD_Units 周期单位、
    uint32_t 周期值)

    uint32_t 周期= 0;
    ClockP_FreqHz 频率;

    ClockP_getCpuFreq (&freq);

    开关(周期单位){
    案例 PWM_PERIOD_Counts:
    Period = periodValue;
    中断;

    案例 PWM_PERIOD_Hz:
    if (periodValue && periodValue <= freq.lo){
    周期=(freq.lo / periodValue)-1;

    中断;

    案例 PWM_PERIOD_US:
    周期=(periodValue *(freq.lo/1000000))-1;==>周期= periodValue *(freq.lo/1000000);
    中断;

    默认值:
    /*不受支持的期间单位返回无效的期间*/
    周期= PWM_INVALID_VALUE;

    返回(期间);