首页 > 解决方案 > BeagleBone Black (v4.14) 上的 PWM 芯片到引脚映射

问题描述

关于如何在较新版本的内核上为 PWM 配置 Beaglebone 的信息很少。我按照BeagleBone Black (v4.14)上 PWM 的说明与 PWM 芯片连接,但现在我需要弄清楚每个芯片连接到的引脚。

根据BeagleBone Black 文档中的 Cape Expansion Headers 图像,我知道:

当我运行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

当我将此与BeagleBone PWM 示例进行比较时,我发现可用的芯片和地址是不同的。该示例确实提到 PWM 可以更改,因此我需要找出新的映射。

如何确定 PWM 芯片到引脚的映射?我正在使用运行内核版本 4.14.37-ti-r46 的 TI AM335x BeagleBone Black Wireless。

标签: beagleboneblackpwm

解决方案


TI AM335x 和 AMIC110 Sitara 处理器技术参考手册的第 184 页给出了 PWM 芯片的内存映射:

PWM 子系统 0:0x48300000

  • eCAP00x48300100
  • ePWM00x48300200

PWM 子系统 1:0x48302000

  • eCAP10x48302100
  • ePWM10x48302200

PWM 子系统 2:0x48304000

  • eCAP20x48304100
  • ePWM20x48304180

每个 PWM 接口的地址(在问题中发布)包含硬件地址。匹配这些地址给我们:

  • EHRPWM0( ePWM0) 是pwmchip1
  • EHRPWM1( ePWM1) 是pwmchip3
  • EHRPWM2( ePWM2) 是pwmchip6
  • ECAP0( eCAP0) 是pwmchip0

每个EHRPWM芯片都有两个 PWM 输出通道,因此有AB变体。它们通过回显 a01to导出export。这些通道必须使用相同的频率,但可以具有不同的占空比。

因此,给定这个接口配置,EHRPWM0A并且EHRPWM0B位于:

root@beaglebone:~# cd /sys/class/pwm/pwmchip1
root@beaglebone:/sys/class/pwm/pwmchip1# ls
device  export  npwm  power  subsystem  uevent  unexport

要导出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

要导出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

注意:可用 PWM 接口和地址列表可能与问题中提供的列表不同,但此方法仍可用于确定最终引脚映射。


推荐阅读