BeagleBone Black(v4.14)上的PWM

3
很少有关于如何在新版本内核上配置Beaglebone的PWM的信息。通过slots文件与PWM进行交互的过去的说明已经过时,因为在内核的v4.14中,slots文件和bone_capemgr被禁用如何在新内核下为BeagleBone Black配置PWM?我正在使用TI AM335x BeagleBone Black Wireless,运行的是kernel version 4.14.37-ti-r46。
2个回答

4
如问题所述,内核v4.14中的slots文件和bone_capemgr已被禁用,取而代之的是U-Boot叠加层
正如BeagleBone内核开发人员的回应所解释的那样,现在U-Boot处理叠加层并自动启用与cape_enable=bone_capemgr.enable_partno=univ-all,BB-ADC,BB-PWM0,BB-PWM1,BB-PWM2相当的内容:

所有这5个都已在最新的映像下默认启用:

https://beagleboard.org/latest-images

对于PWM,请确保参考https://github.com/beagleboard/bb.org-overlays/blob/master/examples/cape-unversal-pwm.txt和config-pin pwm <pin#>..

因此,PWM接口已经配置好了!现在只需导出并使用PWM即可。例如,要访问pwm0:
root@beaglebone:~# cd /sys/class/pwm/pwmchip0
root@beaglebone:/sys/class/pwm/pwmchip0# ls
device  export  npwm  power  subsystem  uevent  unexport

root@beaglebone:/sys/class/pwm/pwmchip0# echo 0 > export
root@beaglebone:/sys/class/pwm/pwmchip0# ls
device  export  npwm  power  pwm-0:0  subsystem  uevent  unexport

root@beaglebone:/sys/class/pwm/pwmchip0# ls pwm-0:0
capture  device  duty_cycle  enable  period  polarity  power  subsystem  uevent

注意:如果引脚已被使用,您可能需要在/boot/uEnv.txt中使用disable_uboot_overlay_video=1禁用HDMI。

要确定PWM接口的引脚映射,请参阅我的后续帖子“BeagleBone Black(v4.14)上PWM芯片到引脚的映射”


1

针对BeagleBone的Debian 10.3 buster版本,最新镜像给出了pwm输出的下一个引脚映射:

P8.13 corresponds to folder: /sys/class/pwm/pwm-6:1
P8.19 corresponds to folder: /sys/class/pwm/pwm-6:0
P9.14 corresponds to folder: /sys/class/pwm/pwm-3:0
P9.16 corresponds to folder: /sys/class/pwm/pwm-3:1
P9.21 corresponds to folder: /sys/class/pwm/pwm-1:1
P9.22 corresponds to folder: /sys/class/pwm/pwm-1:0

默认周期为P8.13、P8:19、P9.14和P9.16为500000。另一方面,P9.21和P9.22的默认周期为20000。
与PWM配合工作的关键是下一条指令,在有关PWM接口的引脚映射的最后一篇帖子中提到了该链接。
config-pin P8.13 pwm
config-pin P8.19 pwm
config-pin P9.14 pwm
config-pin P9.16 pwm
config-pin P9.21 pwm
config-pin P9.22 pwm

完成这个步骤后,对所有需要的PWM输出执行相同操作:
debian@beaglebone:~$ cd /sys/class/pwm/pwm-6:1
debian@beaglebone:~$ echo 250000 > duty_cycle
debian@beaglebone:~$ echo 1 > enable

对我来说,有不同的编号。我的芯片编号是1、4和7。可能是因为我正在使用1 Gb最新镜像的原因。 - Alexandr Zarubkin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接