本文主要是介绍linux pwm子系统,PWM子系统简介 - BeagleBone论坛 - 电子技术论坛 - 广受欢迎的专业电子论坛!...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
查看多达4000多页的AM335X 英文手册,找到其中的15章节PWMSS,我英文学不好,翻译其中的意思真难,建议高手帮翻译一下那4000多页的手册贡献给大家。
在这里简单说下几个专业名词:
PWMMSS全称Pulse-Width Modulation Subsystem 脉冲宽度调制子系统,由eHRPWM、eCAP和eQEP三个模块组成,简单的说就是三种工作模式。
下面的图为PWM子系统图(来自4000多页的手册)
1、eHRPWM全称Enhanced High Resolution PulseWidth Modulator 增强型高分辨率脉冲宽度调制,只有驱动输出功能
2、eCAP全称Enhanced Capture 增强型捕捉,能够在用户空间通过SYSFS接口进行控制,具有输入输出特性,有专用的捕捉输入引脚,通过设置GPIO的模式为eCAP0_in_PWM0_out,具体哪些引脚要查询引脚功能图,同时具有四个32位的时基计数器(估计就是那TIMER4-7我们前面实验只是在eHRPWM模式下,所以用不上)
A、组成4模块eCAP0-3
B、32bit 时间基准寄存器
C、4个32bit时间标志寄存器
D、2bit 计数器使模块在一个循环内,可连续捕捉4个事件,每个捕捉事件的边沿脉冲可以设置为上升沿或下降沿。
E、 利用2bit 计数器可以使模块工作在one-shot状态,既捕捉完4个事件后停止捕捉,或者在连续状态即循环捕捉,循环事件数量可以设置1~4。一个循环最多可以记录4个捕捉事件的发生,这四个捕捉事件可以设置为上升沿捕捉或者下降沿捕捉,每个捕捉时间加载到
CAP1~4寄存器,以求取脉冲的周期和占空比。
F、 相关事件可以触发中断,如果相应中断使能的话。
G、 当模块不做捕捉模块使用时,可以做APWM模块使用,即多出了2个PWM引脚。
但是只能输出不对称PWM,即APWM,同时与EPWM模块间连接有同步信号,可以进行移相PWM输出。
引脚编号工作模式名 称引脚编号工作模式名 称
P9_28Mode4eCAP2_in/PWM2_outP9_42Mode0eCAP0_in/PWM0_out
3、eQEP 全称Enhanced Quadrature Encoder Pulse 增强型正交编码脉冲,也具有输入的特性,设置GPIO引脚模式为eQEP2A_in或eQEP2B_in
4、参考手册里面还讲到一些控制实例,比如控制三相电机这些,建议大家慢慢研究。
这篇关于linux pwm子系统,PWM子系统简介 - BeagleBone论坛 - 电子技术论坛 - 广受欢迎的专业电子论坛!...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!