• Recent
    • Docs
    • Github
    • 百度网盘
    • Onedrive
    • Official
    • Shop
    • Register
    • Login

    CoolPi-4B硬件扩展五:PWM

    Scheduled Pinned Locked Moved Hardware
    1 Posts 1 Posters 403 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • G
      george
      last edited by george

      如下表所示,40pin连接器包含7个可用于输出PWM信号的GPIO,其中PIN5 PIN12共用PWM3,PIN38 PIN40共用PWM15,这两个PWM信号同一时刻只能从一个GPIO输出,不能2个GPIO同时输出,所以40PIN连接器一共有5个独立的PWM口可以同时工作 :

      序号 端口定义 描述 IO电平 设备节点
      5 GPIO0_D4 PWM3_IR_M0 TTL 3.3V /sys/class/pwm/pwmchip3
      7 GPIO1_B7 PWM13_M2 TTL 3.3V /sys/class/pwm/pwmchip13
      12 GPIO1_A7 PWM3_IR_M3 TTL 3.3V /sys/class/pwm/pwmchip3
      32 GPIO3_B1 PWM2_M1 TTL 3.3V /sys/class/pwm/pwmchip2
      36 GPIO4_B2 PWM14_M1 TTL 3.3V /sys/class/pwm/pwmchip14
      38 GPIO4_B3 PWM15_IR_M1 TTL 3.3V /sys/class/pwm/pwmchip15
      40 GPIO3_C3 PWM15_IR_M0 TTL 3.3V /sys/class/pwm/pwmchip15

      DTS配置

      PWM2口配置如下,其它接口类似,首先配置PWM接口对应的pinctrl,比如PWM2为PWM2_M1,然后使能节点即可。

      &pwm2 {
      	pinctrl-0 = <&pwm2m1_pins>;
      	status = "okay";
      };
      

      操作PWM

      • 使用 echo 命令将要操作的 PWM 编号 export,注意操作需要root权限。
      root@coolpi-4b:/# echo 0 >/sys/class/pwm/pwmchip2/export  
      /*export 之后就会生成/sys/class/pwm/pwmchip2/pwm0目录*/
      root@coolpi-4b:/sys/class/pwm/pwmchip2/pwm0# ls
      capture  duty_cycle  enable  output_type  period  polarity  power  uevent
      
      • 使用 echo 命令设置 PWM 的周期:
      echo 1000000 > /sys/class/pwm/pwmchip2/pwm0/period
      /*设置PWM一个周期的时间,单位为ns,即一个周期为1KHZ。*/
      
      • 使用 echo 命令设置 PWM 的占空比:
      echo 500000 > /sys/class/pwm/pwmchip2/pwm0/duty_cycle
      /*设置PWM一个周期中“ON”的时间,单位为ns,即占空比=duty_cycle/period=50%。*/
      
      • 使用 echo 命令使能 PWM
      echo 1 > /sys/class/pwm/pwmchip2/pwm0/enable 
      
      1 Reply Last reply Reply Quote 1
      • 大法师大 大法师 referenced this topic on
      • 1 / 1
      • First post
        Last post