打印
[技术问答]

NUC980 PWM驱动配置与测试

[复制链接]
949|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
rosemoore|  楼主 | 2024-11-27 21:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一、查看电路PWM引脚


分别是PF7与PF8引脚
再查手册,PF7与PF8都属于PWM0下PWM02与PWM03

二、内核配置1、→ Device Drivers使能PWM驱动

2、→ Device Drivers → Pulse-Width Modulation (PWM) Support

使能PWM通道,下面的通道选择不启用,使用设备树进行配置

3、设备树配置

编辑DTS文件
使能PWM0,修改为okay

编辑DTSI文件
修改对应的引脚号

对应的PWM引脚修改为PF7、PF8

我这里只使用PWM02,PWM03,但新唐的PWM驱动有点问题,需要把PWM00与PWM01也使能,PWM的序号与驱动才正常

4、make & make uImage,更新内核及设备树5、PWM驱动加载

cd sys/class/pwm文件夹

可看到有4个PWM驱动设备,后面2个才是我需要

三、测试

echo 0 > export 执行完成多了一个pwm0文件夹

cd pwm0

可以看到PWM的关键参数
输入周期、占空比、使能,参数的单位是ns,启动PWM输出

通过逻辑分析仪PWM的参数与测试输入数据一致


使用特权

评论回复
沙发
huahuagg| | 2024-11-28 15:33 | 只看该作者
NUC980 系列采用 ARM926EJ-S 核心,执行速度高达 300 MHz 。
这种都是跑工业linux系统了。

使用特权

评论回复
板凳
tpgf| | 2024-11-29 11:58 | 只看该作者
NUC980总共有PWM0和PWM1两个PWM模块,每个模块有4个PWM通道,每两个通道共用一个预分频器

使用特权

评论回复
地板
paotangsan| | 2024-11-29 13:00 | 只看该作者
每个PWM通道分别有一个周期值寄存器(PWM_CNR),PWM周期=CNR+1

使用特权

评论回复
5
keaibukelian| | 2024-11-29 15:00 | 只看该作者
每个PWM通道也有一个比较值寄存器,用于设置PWM占空比

使用特权

评论回复
6
renzheshengui| | 2024-11-29 16:11 | 只看该作者
NUC980的PWM功能可以通过调用相应的驱动函数来开启和使用,如pwmInit()、pwmOpen()、pwmWrite()等

使用特权

评论回复
7
xinxianshi| | 2024-11-29 21:47 | 只看该作者
这比普通单片机难搞啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

59

主题

1365

帖子

2

粉丝