06 FAN 检测案例
1 案例简介
本案例旨在介绍如何测试开发板上风扇接口控制风扇启停与调速功能
2 FAN接口介绍
开发板上 FAN 接口是一个 4P 接口,但有作用的只有三个口,分别是 12V,PWM,GND,风扇是通过 PWM 信号控制实现对其的调试功能。
3 操作流程
打开终端,将本案例 bin 目录下(05-开发资料\软件开发资料\linux_demo\smdt_fan_demo\bin)的可执行程序 smdt_fan_demo 拷贝至开发板文件系统 (源码可以在 src 路径下查看)。
可选操作 : 因为开发板有配备无线网卡,所以如果终端一直显示无线网卡驱动程序生成的日志信息,可以通过以下代码修改Linux内核日志的显示级别。
#修改 Linux 内核日志的显示级别,内核的日志级别被设置为只显示紧急或更高级别的消息
echo 1 4 1 7 > /proc/sys/kernel/printk
首先检查 PWM 设备是否被导出,如果存在未导出,我们则需要导出 PWM 设备,这里我们选择设备 pwmchip0 导出第一个通道(pwm0)
#检查 /sys/class/pwm/pwmchip0 目录中是否有 pwm0
ls /sys/class/pwm/pwmchip0
#若没有,则导出 PWM 设备
echo 0 > /sys/class/pwm/pwmchip0/export
#再次检查是否成功导出 PWM 设备
ls /sys/class/pwm/pwmchip0
在终端执行如下指令,切换到 smdt_fan_demo 可执行程序所在目录
#切换到 smdt_fan_demo 可执行程序所在目录
cd ‘可执行文件所在目录’
#查看 smdt_fan_demo 是否在该目录下
ls
若可执行文件 smdt_fan_demo 在当前目录下,则修改可执行文件的权限
#修改文件权限
chmod 777 smdt_fan_demo
#查询是否修改成功
ls -ld smdt_fan_demo
查询确认文件修改权限成功后,执行 ./smdt_fan_demo -h 可以查看该程序的帮助信息 本测试脚本中部分设置的默认参数如下: period:200000 即 PWM 波形周期为 200ms polarity:normal 在该模式下duty_cycle表示一个周期内高电平持续的时间
#查看帮助信息
./smdt_fan_demo -h
执行结果如下图:

输入下面指令,可以测试风扇的启动,停止和调速
#查看帮助信息
#风扇启动
./smdt_fan_demo -s
#风扇调速
./smdt_fan_demo -p 50 #50%占空比
#风扇停止
./smdt_fan_demo -k
风扇启动执行结果:

风扇调成50%占空比执行结果:

风扇停止执行结果: