您好!
我以48MHz 的频率运行系统时钟、这是我当前设计的固定频率。 我想生成并输出一个10MHz 方波、该方波将用作其中一个外部有效负载的时钟。 我认为使用计时器中断对 GPIO 进行位拆裂可能不是一个好主意。 ePWM 是否能够生成如此高的频率、或者我是否必须使用其他方法来生成? 只需要朝正确的方向走一走:)
谢谢、此致、
Ankit
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.
您好!
我以48MHz 的频率运行系统时钟、这是我当前设计的固定频率。 我想生成并输出一个10MHz 方波、该方波将用作其中一个外部有效负载的时钟。 我认为使用计时器中断对 GPIO 进行位拆裂可能不是一个好主意。 ePWM 是否能够生成如此高的频率、或者我是否必须使用其他方法来生成? 只需要朝正确的方向走一走:)
谢谢、此致、
Ankit
你好、Nima、
由于我必须以100纳秒的脉冲宽度输出每秒的脉冲、因此我认为、鉴于我运行时钟的速度、这是不可能的。
使用以下设置、我获得了脉宽为16微秒的1Hz PWM。
SYSCLK = 48MHz
EPWMCLK = SYSCLK/2 = 48MHz/2 = 24MHz
HSPCLKDIV = 3 (SO /6)
CLKDIV = 6 (SO /64)
因此 TBCLK 变为24000000 /(64*6)= 62500个周期。 (TBPRD 可以保存的最大值为65535、因为它是16位寄存器)
对于1Hz PWM,TBPRD = 62500..
CTRMODE =向上计数
当我将 CMPA 置为0 (可能的最小值)时、我得到的脉宽为1/62500= 16微秒。
当我将 CMPA 设为1时、我得到32微秒的脉冲宽度。
谢谢、此致、
Ankit