本文演示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)冲突:


修改一下代码:
&pwm1_8ch_0 { pinctrl-names = "active"; pinctrl-0 = <&rm_io24_pwm1_ch0>; status = "okay"; };
CONFIG_PWM_ROCKCHIP=y
完成配置后对源码进行编译,并烧录至开发板。
配置测试环境
使用2块触觉智能RK3506开发板搭建环境,以下简称A和B开发板(2个板准备工作一致),A开发板进行PWM信号捕获,B开发板发出PWM信号。
以正常输入模式输出,将波形发生接到的PWM1引脚进行测试:
代码如下:
cd /sys/class/pwm/pwmchip0/ echo 0 > export cd pwm0
周期为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
进行测试
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; };
若配置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的开发评估板,还可直接用于工业控制、网关、智能家电、物联显控等领域。如需选购,淘宝搜索 触觉智能官方企业店。
全部0条评论
快来发表一下你的评论吧 !