gpt4 book ai didi

beagleboneblack - BeagleBone Black (v4.14) 上的 PWM 芯片到引脚映射

转载 作者:行者123 更新时间:2023-12-04 04:38:40 24 4
gpt4 key购买 nike

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

基于 BeagleBone Black documentation 中的 Cape Expansion Headers 图片,我知道:

  • EHRPWM0A = P9_22
  • EHRPWM0B = P9_21
  • EHRPWM1A = P9_14
  • EHRPWM1B = P9_16
  • EHRPWM2A = P8_19
  • EHRPWM2B = P8_13
  • ECAP0 = P9_42

当我运行 ls -lh/sys/class/pwm 查看可用的 PWM 接口(interface)时,我看到了:

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 example 进行比较时,我看到可用的芯片和地址不同。该示例确实提到 PWM 可以更改,因此我需要找出新的映射。

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

最佳答案

TI AM335x and AMIC110 Sitara Processors Technical Reference Manual 的第 184 页给出 PWM 芯片的内存映射:

PWM Subsystem 0: 0x48300000

  • eCAP0: 0x48300100
  • ePWM0: 0x48300200

PWM Subsystem 1: 0x48302000

  • eCAP1: 0x48302100
  • ePWM1: 0x48302200

PWM Subsystem 2: 0x48304000

  • eCAP2: 0x48304100
  • ePWM2: 0x48304180

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

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

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

因此,鉴于此接口(interface)配置,EHRPWM0AEHRPWM0B 位于:

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 接口(interface)和地址列表可能与问题中提供的列表不同,但此方法仍然可以确定最终的引脚映射。

关于beagleboneblack - BeagleBone Black (v4.14) 上的 PWM 芯片到引脚映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50204329/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com