TI中文支持网
TI专业的中文技术问题搜集分享网站

pwmss下使用ecap输出pwm,裸板初始化写寄存器出错的问题

目前准备在UBOOT阶段开始喂狗操作,想裸板输出pwm波,遇到以下几个问题:

(1)初始化时,对于pwmss的时钟使能,我目前是在CM_PER中使能了,不知道是否有问题?

(2)在写ecap2的ECCTL2寄存器时,不能写,上面明确表示可读写,但我进行写操作时,不成功,从而导致整个PWM波不能输出

(3)整个初始化的过程是怎样的?

大家可以交流交流,谢谢

Shine:

请问使用的是哪款器件?”裸板“是指代码不基于操作系统吗?

Jie Li24:

回复 Shine:

谢谢你的回答

用的是am3352,我目前是在系统中,利用驱动测试在uboot阶段是否可行,也就是说,我想看下整个操作寄存器的过程是否能够产生PWM波,我用的是PWMSS2下的ecap2来进行,在驱动中我是利用ioremap来操作寄存器,但在操作ECCTL2时,发现写寄存器总是失败

Shine:

回复 Jie Li24:

请问是否有初始化ecap模块的时钟树? 通常访问一个普通的寄存器出错,常见的原因是忘了初始化该模块的时钟树,直接去操作模块本身了。

Jie Li24:

回复 Shine:

谢谢你的回答

请问一下如何初始化ecap2模块时钟树?,目前我使能了CM_PER_EPWMSS2_CLKCTRL和pwmss_ctrl,这里的两个地方,对这个时钟使能不是特别懂,能再讲的详细一点吗?我参照了数据手册上面的p2421上面的初始化过程,但在操作ECCTL2时,不成功

Jie Li24:

回复 Shine:

这里是关于pwmss子系统的时钟描述,就一个时钟,然后我再

这里将其使能了,你看下对不对?

Eggsy Pang:

回复 Jie Li24:

Core_CLKOUTM4使能了没?

Jie Li24:

回复 Eggsy Pang:

谢谢你的回复

有一个问题不明白,这里的时钟用的是这个,但有很多地方都使用的是这个时钟,我在这里使能,其他模块也使能,那怎么能判断这个时钟到底产生给谁的时钟呢?

还有,我使能这个的寄存器是不是应该是这个寄存器?

Eggsy Pang:

回复 Jie Li24:

这个时钟,我在这里使能,其他模块并不一定也使能啊

每个模块都有自己的时钟使能位,两个地方同时使能,模块时钟才使能,

相当于要开两个开关,两个开关串联

Jie Li24:

回复 Eggsy Pang:

谢谢你的回答

目前貌似明白一点了,明天去试试使能那个时钟看一下能不能成!就怕那个时钟已经被其他模块使能过了!

Jie Li24:

回复 Eggsy Pang:

你好,我测试了一下,我再这里读取到时钟已经打开

然后结果还是跟以前一样,

这里其他的寄存器都能正常的写入,唯独只有ECCTL2时,写入总是不行,时钟我感觉该使能的我也都使能了

赞(0)
未经允许不得转载:TI中文支持网 » pwmss下使用ecap输出pwm,裸板初始化写寄存器出错的问题
分享到: 更多 (0)