新闻  |   论坛  |   博客  |   在线研讨会
iTOP-RK3568开发板应用层操控 PWM
红李亚 | 2023-07-17 11:22:21    阅读:104   发布文章

PWM 和之前讲解的 LED、GPIO 相同,都是通过 sysfs 方式进行操控的。开发板系统启
动之后进入到/sys/class/pwm 目录下,如下所示:

在 pwm 目录下存在 3 个以 pwmchipX(X 表示数字)命名的文件夹。在本章节的开始部
分,重新烧写了设备树内核镜像,该设备树中总共使能了三个 PWM,分别为 PWM0,PWM4
和 PWM5,系统会根据 PWM 的编号大小进行排序,在这里 PWM0 对应 pwmchip0、PWM4 对
应 pwmchip1,PWM5 对应 pwmchip2。
通过查询网盘“TOP-3568 开发板\01_【iTOP-RK3568 开发板】基础资料\01_iTOP-RK3568
硬件资料\03_芯片数据手册\01_rk3568 数据手册和参考手册”路径下的 Rockchip RK3568 Data
sheet V1.0-20201210.pdf 数据手册得知,RK3568 总共有 16 个 PWM 控制器(具体的查询会
在之后的驱动手册中进行讲解,本章节只是学习 PWM 的使用),本章节将会以 LED9 用户灯
控制引脚 GPIO0_B7 对应的 PWM0 为例进行讲解和演示。使用以下命令进入 PWM0 对应的
pwmchip0 目录下如下图所示:

在这个目录下总共有七个文件分别为 device、export、npwm、power、subsystem、uevent 和

unexport。需要关注的是 export、npwm 以及 unexport 这三个属性文件,下面一一进行介绍:

npwm:是一个只读属性,读取该文件可以得知该 PWM 控制器下共有几路 PWM 输出,

如下所示:

export:在使用 PWM 之前,通过 export 属性进行导出,以下所示:

echo 0 > export

unexport:当使用完 PWM 之后,需要将导出的 PWM 删除,譬如:

echo 0 > unexport

写入到 unexport 文件中的编号与写入到 export 文件中的编号是相对应的;需要注意的

是,export 文件 和 unexport 文件都是只写的、没有读权限。

再次使用以下命令导出 pwm0 目录,导出成功之后进入该文件夹如下图所示:

echo 0 > export

cd pwm0

可以看到 pwm0 文件夹下分别有 capture、duty_cycle、enable、period、polarity、power、

uevent 七个文件,而需要了解的文件是 duty_cycle、enable、period 以及 polarity 这四个属性

文件,接下来分别介绍这四个属性文件的作用:

polarity:用于 PWM 极性的查看,只读属性,这里为 inversed 表示极性反转,如下图所示:

period:用于配置 PWM 周期,可读可写;写入一个字符串数字值,以 ns(纳秒)为单

位,譬如配置 PWM 周期为 10us(微秒):

echo 10000 > period

duty_cycle:用于配置 PWM 的占空比,可读可写;写入一个字符串数字值,同样也是以

ns 为单位,譬如:

echo 5000 > duty_cycle

enable:使能 PWM 输出通常配置好 PWM 之后,再使能 PWM。可读可写,写入"0"表

示禁止 PWM;写入"1"表示使能 PWM。

允许 PWM 输出:

echo 1 > enable

禁止 PWM 输出:

echo 0 > enable

更多内容可以B站搜:迅为RK3568开发板


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客