選單
快速瀏覽
硬件脈寬調製
介紹
引腳位置、編號和名稱請參見引腳圖。
J2 – 2×20 針腳
默認引腳狀態 | GPIO 和導出 否 | 網名 | 密碼 | 密碼 | 網名 | GPIO 和導出 否 | 默認引腳狀態 |
---|---|---|---|---|---|---|---|
—— | —— | 3.3V | 1 | 2 | 5.0V | —— | —— |
我(P/D) | GPIOX.17 (#493) | I2C0_SDA | 3 | 4 | 5.0V | —— | —— |
我(P/U) | GPIOX.18 (#494) | I2C0_SCL | 5 | 6 | 地線 | —— | —— |
我(P/D) | GPIOX.5 (#481) | 7 | 8 | TXD1 | GPIOX.12 (#488) | 我(P/U) | |
—— | —— | 地線 | 9 | 10 | RXD1 | GPIOX.13 (#489) | 我(P/U) |
我(P/U) | GPIOX.3 (#479) | 11 | 12 | 脈寬調製_E | GPIOX.16 (#492) | 我(P/U) | |
我(P/U) | GPIOX.4 (#480) | 13 | 14 | 地線 | —— | —— | |
我(P/U) | GPIOX.7 (#483) | 脈寬調製_F | 15 | 16 | GPIOX.0 (#476) | 我(P/U) | |
—— | —— | 3.3V | 17 | 18 | GPIOX.1 (#477) | 我(P/U) | |
我(P/U) | GPIOX.8 (#484) | SPI0_MOSI | 19 | 20 | 地線 | —— | —— |
我(P/U) | GPIOX.9 (#485) | SPI0_味噌 | 21 | 22 | GPIOX.2 (#478) | 我(P/U) | |
我(P/U) | GPIOX.11 (#487) | SPI0_SCLK | 23 | 24 | SPI0_CS0 | GPIOX.10 (#486) | 我(P/U) |
—— | —— | 地線 | 25 | 26 | SPI0_CS1 | GPIOH.6 (#433) | 我(P/D) |
我(P/U) | GPIOA.14 (#474) | I2C1_SDA | 27 | 28 | I2C1_SCL | GPIOA.15 (#475) | 我(P/U) |
我(P/U) | GPIOX.14 (#490) | 29 | 30 | 地線 | —— | —— | |
我(P/U) | GPIOX.15 (#491) | 31 | 32 | GPIOH.7 (#434) | 我(P/D) | ||
我(P/U) | GPIOX.6 (#482) | 脈寬調製_A | 33 | 34 | 地線 | —— | —— |
我(P/D) | GPIOX.19 (#495) | 脈寬調製_B | 35 | 36 | GPIOH.5 (#432) | —— | |
ADC.AIN2 | 37 | 38 | 參考電壓 1.8V | ||||
—— | —— | 地線 | 39 | 40 | ADC.AIN0 |
使能脈寬調製
在使用 PWM 之前,您應該通過 dtbo 啟用 PWM。
請檢查DTBO頁面
PWM 硬件引腳映射
您可以使用 sysfs 接口訪問每個 PWM 引腳。
下表顯示了可用的 pwm 引腳。
頂部索引顯示您的 dtbo 選擇。
僅 PWM_AB | 僅 PWM_EF | PWM_AB & PWM_EF | |
---|---|---|---|
PWM_AB | PWM芯片0 | X | PWM芯片0 |
脈寬調製_EF | X | PWM芯片0 | PWM芯片4 |
硬件連接 | Linux內核sysfs控制 | ||||
---|---|---|---|---|---|
脈寬調製 | GPIO | 40 針數 | PWM芯片 | pwm_pins | 導出命令 /sys/class/pwm/ |
脈寬調製_A | GPIOX.6 | 33 | PWM芯片<編號> | 1 | 迴聲 1 > pwmchip<num>/export |
脈寬調製_B | GPIOX.19 | 35 | PWM芯片<編號> | 0 | 迴聲 0 > pwmchip<num>/export |
脈寬調製_E | GPIOX.16 | 12 | PWM芯片<編號> | 0 | 迴聲 0 > pwmchip<num>/export |
脈寬調製_F | GPIOX.7 | 15 | PWM芯片<編號> | 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
快速瀏覽