本文演示PWM輸入信號采集,基于觸覺智能RK3506開發板,搭載3核Cortex-A7+Cortex-M0多核異構處理器,支持2路CAN FD,5路串口,RGB、MIPI、音頻、USB2.0 OTG等各類接口;板載雙百兆網口+4G+星閃SLE+WiFi6+BLE5.2。
PWM信號簡介
PWM全稱為脈寬調制Pulse Width Modulation,是利用微處理器的數字輸出,來對模擬電路進行控制的一種非常有效的技術,通過對一系列脈沖的寬度進行調制,來等效的獲得所需要的波形(含形狀和幅值),即通過改變導通時間占總時間的比例,也就是占空比,達到調整電壓和頻率的目的。
廣泛應用在從測量、通信到功率控制與變換的許多領域中,用于調壓調頻,最突出的是針對各種類型的電機應用。
PWM輸入信號采集說明
瑞芯微默認實現了狀態獲取和申請兩個函數,并沒有實現輸入捕獲相關的函數,要想在RK3506上實現PWM的輸入捕獲,則需通過DTS和內核進行相應配置:
- 準備工作
根據引腳說明,這里我們選擇配置PWM1,避免與屏幕背光控制(PWM0)沖突:


- DTS配置
修改一下代碼:
&pwm1_8ch_0 { pinctrl-names = "active"; pinctrl-0 = <&rm_io24_pwm1_ch0>; status = "okay"; };
- Kernel配置
CONFIG_PWM_ROCKCHIP=y
完成配置后對源碼進行編譯,并燒錄至開發板。
配置測試環境
使用2塊觸覺智能RK3506開發板搭建環境,以下簡稱A和B開發板(2個板準備工作一致),A開發板進行PWM信號捕獲,B開發板發出PWM信號。
以正常輸入模式輸出,將波形發生接到的PWM1引腳進行測試:
- A開發板配置Capture模式
代碼如下:
cd /sys/class/pwm/pwmchip0/ echo 0 > export cd pwm0
- B開發板配置Continous模式
周期為20us,占空比10us,代碼如下:
cd /sys/class/pwm/pwmchip0/ echo 0 > export cd pwm0 echo 20000 > period echo 10000 > duty_cycle echo normal > polarity echo 1 > enable
進行測試
- A開發板測試代碼&結果
root@rk3506-buildroot:/sys/class/pwm/pwmchip0/pwm0# cat capture 20000 10000
獲取到的值分別是PWM周期 和占空比 (period,duty_cycle) 單位是ns。可以看到結果為20000ns和10000ns,正好對應配置的20us和10us數據,表示測試成功。
/** * struct pwm_capture - PWM capture data * @period: period of the PWM signal (in nanoseconds) * @duty_cycle: duty cycle of the PWM signal (in nanoseconds) */ struct pwm_capture { unsigned int period; unsigned int duty_cycle; };
- FAQ
若配置Capture模式,沒有采集到pwm波形,會提示采集超時
root@rk3506-buildroot:/# cd /sys/class/pwm/pwmchip0/ root@rk3506-buildroot:/sys/class/pwm/pwmchip0# echo 0 > export root@rk3506-buildroot:/sys/class/pwm/pwmchip0# cd pwm0/ root@rk3506-buildroot:/sys/class/pwm/pwmchip0/pwm0# root@rk3506-buildroot:/sys/class/pwm/pwmchip0/pwm0# root@rk3506-buildroot:/sys/class/pwm/pwmchip0/pwm0# cat capture [ 961.782711] rockchip-pwm ff170000.pwm: Failed to wait for LPR/HPR interrupt [ 962.783876] rockchip-pwm ff170000.pwm: Failed to wait for LPR/HPR interrupt cat: read error: Connection timed out root@rk3506-buildroot:/sys/class/pwm/pwmchip0/pwm0#
觸覺智能RK3506開發板簡介
創新支持華為星閃無線通信技術(星閃SLE+WiFi+BLE三模),板載雙百兆網口、2路CAN FD、5路串口等豐富接口,不僅作為RK3506的開發評估板,還可直接用于工業控制、網關、智能家電、物聯顯控等領域。如需選購,淘寶搜索 觸覺智能官方企業店。
-
PWM
+關注
關注
116文章
5881瀏覽量
226231 -
開發板
+關注
關注
26文章
6358瀏覽量
119653 -
觸覺智能
+關注
關注
1文章
64瀏覽量
889 -
RK3506
+關注
關注
0文章
99瀏覽量
976
發布評論請先 登錄
米爾基于RK3562與RK3506開發板有什么區別?
【技術簡析】觸覺智能RK3506 Linux星閃網關開發板有什么奧妙?
瑞芯微RK3506開發板必備之LVGL應用開發手冊,深圳觸覺智能出品
米爾基于瑞芯微RK3506核心板開發板
瑞芯微RK3506 Flexbus技術開發指南,從原理、內核配置到測試的完整攻略
瑞芯微RK3506開發板PWM輸入捕獲驅動調試記錄
評論