快速瀏覽

硬件脈寬調製


 

引腳位置、編號和名稱請參見引腳圖。

J2 – 2×20 針腳
默認引腳狀態GPIO 和導出 否網名密碼密碼網名GPIO 和導出 否默認引腳狀態
————3.3V125.0V————
我(P/D)GPIOX.17 (#493)I2C0_SDA345.0V————
我(P/U)GPIOX.18 (#494)I2C0_SCL56地線————
我(P/D)GPIOX.5 (#481) 78TXD1GPIOX.12 (#488)我(P/U)
————地線910RXD1GPIOX.13 (#489)我(P/U)
我(P/U)GPIOX.3 (#479) 1112脈寬調製_EGPIOX.16 (#492)我(P/U)
我(P/U)GPIOX.4 (#480) 1314地線————
我(P/U)GPIOX.7 (#483)脈寬調製_F1516 GPIOX.0 (#476)我(P/U)
————3.3V1718 GPIOX.1 (#477)我(P/U)
我(P/U)GPIOX.8 (#484)SPI0_MOSI1920地線————
我(P/U)GPIOX.9 (#485)SPI0_味噌2122 GPIOX.2 (#478)我(P/U)
我(P/U)GPIOX.11 (#487)SPI0_SCLK2324SPI0_CS0GPIOX.10 (#486)我(P/U)
————地線2526SPI0_CS1GPIOH.6 (#433)我(P/D)
我(P/U)GPIOA.14 (#474)I2C1_SDA2728I2C1_SCLGPIOA.15 (#475)我(P/U)
我(P/U)GPIOX.14 (#490) 2930地線————
我(P/U)GPIOX.15 (#491) 3132 GPIOH.7 (#434)我(P/D)
我(P/U)GPIOX.6 (#482)脈寬調製_A3334地線————
我(P/D)GPIOX.19 (#495)脈寬調製_B3536 GPIOH.5 (#432)——
  ADC.AIN23738參考電壓 1.8V  
————地線3940ADC.AIN0  

使能脈寬調製

在使用 PWM 之前,您應該通過 dtbo 啟用 PWM。
請檢查DTBO頁面

PWM 硬件引腳映射

您可以使用 sysfs 接口訪問每個 PWM 引腳。
下表顯示了可用的 pwm 引腳。

頂部索引顯示您的 dtbo 選擇。

 僅 PWM_AB僅 PWM_EFPWM_AB & PWM_EF
PWM_ABPWM芯片0XPWM芯片0
脈寬調製_EFXPWM芯片0PWM芯片4
硬件連接Linux內核sysfs控制
脈寬調製GPIO40 針數PWM芯片pwm_pins導出命令
/sys/class/pwm/
脈寬調製_AGPIOX.633PWM芯片<編號>1迴聲 1 > pwmchip<num>/export
脈寬調製_BGPIOX.1935PWM芯片<編號>0迴聲 0 > pwmchip<num>/export
脈寬調製_EGPIOX.1612PWM芯片<編號>0迴聲 0 > pwmchip<num>/export
脈寬調製_FGPIOX.715PWM芯片<編號>1迴聲 1 > pwmchip<num>/export

pwmchip#NUM 可以在 /sys/class/pwm/ 中找到

root@odroid:~$ cd  / sys / class / pwm / 
root @ odroid: / sys / class / pwm #ls
pwmchip0 pwmchip4 pwmchip8
root @ odroid: / sys / class / pwm #

在 ODROID-N2 上測試的示例。

您可以通過簡單的 sysfs 條目控制此 pwm。
此示例使用連接到 GPIO_16(GPIOX_16) 的引腳編號 12。
輸出 PWM_E 到 GPIOX_16 引腳。

各種 SYSFS 屬性
  • 請求設備
root@odroid:~$ cd /sys/class/pwm/
root@odroid:/sys/class/pwm# echo 0 > pwmchip4/export
root@odroid:/sys/class/pwm# cd pwmchip4
root@odroid:/sys/class/pwm/pwmchip4# ls
device  export  npwm  power  pwm0  subsystem  uevent  unexport
root@odroid:/sys/class/pwm/pwmchip4#
  • 釋放設備
root@odroid:~$ cd /sys/class/pwm/
root@odroid:/sys/class/pwm# echo 0 > pwmchip4/unexport
root@odroid:/sys/class/pwm# cd pwmchip4/
root@odroid:/sys/class/pwm/pwmchip4# ls
device  export  npwm  power  subsystem  uevent  unexport
時期

PWM 信號的總週期。
值以納秒為單位,是 PWM 的活動和非活動時間的總和。
默認值為零。如果週期為零,則無法更改 pwm 的其他 sysfs。
必須先更改“期間”。

示例
如果週期為 1 毫秒,請輸入

root@odroid:/sys/class/pwm/pwmchip4/pwm0# echo  1000000  > period

週期將設置為 1 ms,PWM 頻率將為 1 kHz。

開啟通道

啟用/禁用 PWM 通道

  • 啟用 PWM
root@odroid:/sys/class/pwm/pwmchip4/pwm0# echo  1  >  enable
  • 禁用 PWM
root@odroid:/sys/class/pwm/pwmchip4/pwm0# echo  0  >  enable
佔空比

PWM 信號的有效時間。
值以納秒為單位,必須小於句點。

root@odroid:/sys/class/pwm/pwmchip4/pwm0# echo  500000  > duty_cycle
極性

PWM 信號的極性。
值是字符串“normal”或“inversed”。
如果極性為“正常”,則PWM 信號在有效時間(duty_cycle)期間為高電平,而在其他時間(週期-佔空比)期間為低電平。

例子

  • 將極性設置為正常
root@odroid:/sys/class/pwm/pwmchip4/pwm0# echo "normal" > polarity 
  • 將極性設置為反向
root@odroid:/sys/class/pwm/pwmchip4/pwm0# echo "inversed" > polarity 
快速瀏覽

ODROID-C4

四核ARM CORTEX-A55 |4GB RAM |4 USB3 PORTS