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.

[参考译文] CC1312PSIP:如何定义具有差分输出的 PWM

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1370336/cc1312psip-how-to-define-a-pwm-with-differential-output

器件型号:CC1312PSIP

工具与软件:

在 CC1312PSIP 器件上使用 TI-RTOS 的当前项目中、我需要生成差分 PWM 信号。 以下是具体要求:

  • 频率: 4 kHz
  • 占空比: 50%
  • 输出: 两个 GPIO 引脚上的差分信号

对于如何有效实施此功能的任何建议、我表示感谢。

谢谢

伊加尔

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

    PWM 驱动器不支持驱动两个 GPIO 引脚、硬件也是如此。

    Br

    Siri

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

    是否有使用传感器控制器实现它的选项?

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

    您好,Yigal

    有一个使用传感器控制器的 PWM 示例。

    我对其修改如下:

    初始化代码:

    // Select SCLK_MF temporarily as clock source to speed up Timer 2 register configuration. All
    // register accesses occur at the selected clock rate.
    timer2SetClockSource(TIMER2_CLOCKSRC_MF);
    timer2WaitForClockSource();
    
    // Configure Timer 2
    timer2SetInitCounterTarget(500);
    
    // Configure red LED Timer 2 channel
    timer2ResetCcChannel(TIMER2_CH_RLED);
    timer2CfgCcChannel(TIMER2_CH_RLED, TIMER2_CCMODE_SET_ON_0_TGL_ON_CMP, 1 << TIMER2_EV_ID0);
    timer2SetInitCmpValue(TIMER2_CH_RLED, 250);
    timer2ConnectEventToGpio(TIMER2_EV_ID0, AUXIO_O_RLED_CTRL);
    
    // Configure green LED Timer 2 channel
    timer2ResetCcChannel(TIMER2_CH_GLED);
    timer2CfgCcChannel(TIMER2_CH_GLED, TIMER2_CCMODE_SET_ON_0_TGL_ON_CMP, 1 << TIMER2_EV_ID1);
    timer2SetInitCmpValue(TIMER2_CH_GLED, 250);
    timer2ConnectEventToGpio(TIMER2_EV_ID1, AUXIO_O_GLED_CTRL);
    
    // Start Timer 2 in "count up repeatedly" mode
    timer2StartWithTarget(TIMER2_CNTRMODE_UP_REP);
    
    // Schedule the first task execution, which starts the PWM output
    fwScheduleTask(1);

    执行代码:

    // Schedule the next execution
    
    fwScheduleTask(1);
    
    

    在逻辑分析仪上、两个输出在同相时似乎同时发生变化、但当一个输出与另一个输出反相时、它们不会同时发生变化( 在一个通道 上使用 TIMER2_CCMODE_SET_ON_0_TGL_ON_CMP、在另一个通道上使用 TIMER2_CCMODE_CLR_ON_0_TGL_ON_CMP)。

    我想您需要自行测试、并使用示波器查看信号是否符合您的规格。

    Br

    Siri