DGu*_*und 2 pwm beagleboneblack
关于如何在较新版本的内核上为PWM配置Beaglebone的信息很少。我遵循了BeagleBone Black(v4.14)上的PWM 指令来与PWM芯片接口,但是现在我需要弄清楚每个芯片所连接的引脚。
基于BeagleBone Black文档中的Cape Cape Expansion Headers图像,我知道:
EHRPWM0A = P9_22EHRPWM0B = P9_21EHRPWM1A = P9_14EHRPWM1B = P9_16EHRPWM2A = P8_19EHRPWM2B = P8_13ECAP0 = P9_42当我运行ls -lh /sys/class/pwm以查看可用的PWM接口时,我看到:
lrwxrwxrwx 1 root pwm 0 May 6 14:31 pwmchip0 -> ../../devices/platform/ocp/48300000.epwmss/48300100.ecap/pwm/pwmchip0
lrwxrwxrwx 1 root pwm 0 May 6 14:31 pwmchip1 -> ../../devices/platform/ocp/48300000.epwmss/48300200.pwm/pwm/pwmchip1
lrwxrwxrwx 1 root pwm 0 May 6 14:31 pwmchip3 -> ../../devices/platform/ocp/48302000.epwmss/48302200.pwm/pwm/pwmchip3
lrwxrwxrwx 1 root pwm 0 May 6 14:31 pwmchip5 -> ../../devices/platform/ocp/48304000.epwmss/48304100.ecap/pwm/pwmchip5
lrwxrwxrwx 1 root pwm 0 May 6 14:31 pwmchip6 -> ../../devices/platform/ocp/48304000.epwmss/48304200.pwm/pwm/pwmchip6
Run Code Online (Sandbox Code Playgroud)
当我将其与BeagleBone PWM示例进行比较时,我发现可用的芯片和地址是不同的。该示例确实提到PWM可以更改,因此我需要找出新的映射。
如何确定PWM芯片到引脚的映射?我正在使用运行内核版本4.14.37-ti-r46的TI AM335x BeagleBone Black Wireless。
TI AM335x和AMIC110 Sitara处理器技术参考手册的第184页提供了PWM芯片的存储器映射:
PWM子系统0:
0x48300000
eCAP0:0x48300100ePWM0:0x48300200PWM子系统1:
0x48302000
eCAP1:0x48302100ePWM1:0x48302200PWM子系统2:
0x48304000
eCAP2:0x48304100ePWM2:0x48304180
每个PWM接口的地址(在问题中张贴)包含硬件地址。匹配这些地址可以给我们:
EHRPWM0(ePWM0)是pwmchip1EHRPWM1(ePWM1)是pwmchip3EHRPWM2(ePWM2)是pwmchip6ECAP0(eCAP0)是pwmchip0每个EHRPWM芯片都有两个PWM输出通道,因此A和B变体。通过回显a 0或1to 导出它们export。这些通道必须使用相同的频率,但可以具有不同的占空比。
因此,给定此接口配置,EHRPWM0A并且EHRPWM0B位于:
root@beaglebone:~# cd /sys/class/pwm/pwmchip1
root@beaglebone:/sys/class/pwm/pwmchip1# ls
device export npwm power subsystem uevent unexport
Run Code Online (Sandbox Code Playgroud)
导出EHRPWM0A(P9_22):
root@beaglebone:/sys/class/pwm/pwmchip0# echo 0 > export
root@beaglebone:/sys/class/pwm/pwmchip0# ls
device export npwm power pwm-1:0 subsystem uevent unexport
Run Code Online (Sandbox Code Playgroud)
导出EHRPWM0B(P9_21):
root@beaglebone:/sys/class/pwm/pwmchip0# echo 1 > export
root@beaglebone:/sys/class/pwm/pwmchip0# ls
device export npwm power pwm-1:1 subsystem uevent unexport
Run Code Online (Sandbox Code Playgroud)
注意:可用的PWM接口和地址的列表可能与问题中提供的列表不同,但是此方法仍然可以确定最终的引脚图。