0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

瑞芯微(EASY EAI)RV1126B PWM使用

广州灵眸科技有限公司 2026-01-06 10:49 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1.PWM简介

1.1 开发板PWM资源

图片

1.2 查找PWM节点

rv1126b的pwm资源表如下:

图片

【PWM1 CH0】对应的是pwm1_4ch_0,寄存地址为20700000
【PWM1 CH1】对应的是pwm1_4ch_1,寄存地址为20710000

pwm驱动加载成功后,在文件系统/sys/class/pwm/下会产生pwm节点(pwmchip*),通过下方命令,可得知pwm节点与pwm资源的对应关系。

图片

【PWM1 CH0】对应的节点为【pwmchip1】

【PWM1 CH1】对应的节点为【pwmchip2】

1.3 操作PWM节点

下方以操作【PWM1 CH0】为例:

首先通过命令进入到pwmchip1控制器(/sys/class/pwm/pwmchip1),能看到以下内容:

cd /sys/class/pwm/pwmchip1 ls

图片

export:用于导出pwm定时器设备

unexport:用于释放pwm定时器设备

向export文件写入0,就会打开pwm定时器,会产生一个pwm0目录。

echo 0 > export

图片

进入到pwm0定时器,就能设置它的各种属性,如周期、占空比等。

cd pwm0

图片

echo 1000000 > period ##设置定时器1个周期内的脉冲个数 echo 500000 > duty_cycle ##设置定时器1个周期内低电平的脉冲个数 echo 1 > enable ##使能pwm定时器 echo 0 > enable ##禁能pwm定时器

相反往unexport文件写入0,就会关闭pwm定时器,同时pwm0目录会被删除。

cd .. echo 0 > unexport

图片

2. 快速上手

2.1 开发环境准备

如果您初次阅读此文档,请阅读《入门指南/开发环境准备/Easy-Eai编译环境准备与更新》,并按照其相关的操作,进行编译环境的部署

在PC端Ubuntu系统中执行run脚本,进入EASY-EAI编译环境,具体如下所示。

cd ~/develop_environment ./run.sh

图片

2.2 源码下载以及例程编译

首先,在虚拟机后台终端,执行以下命令,创建外设单例源码管理目录:

首先,到【百度网盘】上下载相关的单例程序:

链接:https://pan.baidu.com/s/1Br608Hiff2Xs65PzWO_qWQ?pwd=1234

提取码:1234

比如把单例程序下载到:此电脑\D:\BaiduNetdisk (无规定,用户可自主选择),如下图所示。

图片

再将下载好的单例复制进入虚拟机的文件系统,过程如下图所示。

图片图片图片

最后,进入到对应的例程目录执行编译操作,具体命令如下所示:

cd EASY-EAI-Nano-TB/demo/10_PWM ./build.sh

注:

* 由于依赖库部署在板卡上,因此交叉编译过程中必须保持/mnt挂载。

图片

编译成功后,会生成1个叫test-pwm可执行程序在Release目录下,并会自动部署到开发板的/userdata/目录中。

2.3 例程运行

通过串口调试或ssh调试,进入板卡后台,定位到例程部署的位置,如下所示:

cd /userdata

图片

执行下方命令以运行PWM输出demo,如下所示。

sudo ./test-pwm

执行效果如下所示。

图片

通过示波器抓取的波形,如下图所示:

图片

3. C语言使用案例

PWM的C语言使用案例,代码地址为10_PWM/test-pwm/main.c,供用户编码参考。以下代码展示了pwm控制器的初始化,调整周期,占空比,资源释放的操作流程:

int main(int argc, const char** argv) { int ret; ret = pwm_init("pwmchip1", "0"); printf("export_ret:%d\n", ret); ret = pwm_set_attr("pwmchip1", "0", "period", "1000000"); printf("set_period_ret:%d\n", ret); ret = pwm_set_attr("pwmchip1", "0", "duty_cycle", "500000"); printf("set_duty_cycle_ret:%d\n", ret); ret = pwm_set_enable("pwmchip1", "0", "1"); printf("set_enable:%d\n", ret); ret = pwm_release("pwmchip1", "0"); printf("unexport_ret:%d\n", ret); //====================================================================== ret = pwm_init("pwmchip2", "0"); printf("export_ret:%d\n",ret); ret = pwm_set_attr("pwmchip2", "0", "period", "1000000"); printf("set_period_ret:%d\n",ret); ret = pwm_set_attr("pwmchip2", "0", "duty_cycle", "500000"); printf("set_duty_cycle_ret:%d\n",ret); ret = pwm_set_enable("pwmchip2", "0", "1"); printf("set_enable:%d\n",ret); ret = pwm_release("pwmchip2", "0"); printf("unexport_ret:%d\n",ret); //====================================================================== return 0; }

其中pwm_init(),pwm_set_attr(),pwm_set_enable(),pwm_release()是对系统调用的易用化封装。具体实现于10_PWM/test-pwm/main.c

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    88

    文章

    11863

    浏览量

    219874
  • 瑞芯微
    +关注

    关注

    27

    文章

    907

    浏览量

    54742
  • EASY-EAI灵眸科技

    关注

    4

    文章

    140

    浏览量

    3754
  • RV1126B
    +关注

    关注

    0

    文章

    135

    浏览量

    285
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    (EASY EAI)RV1126B 音频输入

    1.声卡资源介绍EASY-EAI-Nano-TB仅有一块由RV1126B主控输出的声卡。通过串口调试或ssh调试,可以进入开发板终端。执行aplay命令查看声卡相关的详细信息,如下所示
    的头像 发表于 12-18 13:41 2713次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b>(<b class='flag-5'>EASY</b> <b class='flag-5'>EAI</b>)<b class='flag-5'>RV1126B</b> 音频输入

    (EASY EAI)RV1126B 音频输出

    1.声卡资源介绍EASY-EAI-Nano-TB仅有一块由RV1126B主控输出的声卡。通过串口调试或ssh调试,可以进入开发板终端。执行aplay命令查看声卡相关的详细信息,如下所示
    的头像 发表于 04-01 17:13 8737次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b>(<b class='flag-5'>EASY</b> <b class='flag-5'>EAI</b>)<b class='flag-5'>RV1126B</b> 音频输出

    EASY EAI Nano-TB(RV1126B)开发板试用】+初识篇

    Nano-TB是灵眸科技研发的一款应用于AIoT领域的开发板,它基于RV1126B处理器,集成了4个Cortex-A53及独立的NEON协处理器,它支持4K@30fps的H.
    发表于 10-25 22:06

    EASY EAI Nano-TB(RV1126B)开发板试用】+1、开箱上电

    ,避免因接触不良导致显示或采集异常。 2 硬件解析:强劲AI核心与丰富接口 2.1 核心处理器性能 EASY EAI Nano-TB开发板的核心基于
    发表于 11-19 21:39

    EASY EAI Nano-TB(RV1126B)开发板试用】介绍、系统安装

    ,并介绍了系统镜像安装部署的相关流程。 介绍 EASY-EAI-Nano-TB是灵眸科技研发的一款应用于AIoT领域的AIOT主板。 核心板基于
    发表于 12-23 18:05

    RV1126系列选型指南:从RV1126RV1126B,一文看懂升级差异

    2025年7月,正式发布新一代AI视觉芯片RV1126B。作为其金牌方案商,EASYEAI灵眸科技同步推出搭载该芯片的AIoT核心板EAI11
    的头像 发表于 09-04 10:50 5492次阅读
    <b class='flag-5'>RV1126</b>系列选型指南:从<b class='flag-5'>RV1126</b>到<b class='flag-5'>RV1126B</b>,一文看懂升级差异

    【免费试用】EASY EAI Nano-TB(RV1126B)开发套件评测

    EASY-EAI-Nano-TB是灵眸科技研发的一款应用于AIoT领域的AIOT主板。核心板基于RV1126B处理器设计,并引入了新
    的头像 发表于 09-23 08:09 1411次阅读
    【免费试用】<b class='flag-5'>EASY</b> <b class='flag-5'>EAI</b> Nano-TB(<b class='flag-5'>RV1126B</b>)开发套件评测

    RV1126B特性概述

    RV1126BRockchip在2025年第二季度全新推出的Arm架构AI视觉芯片,搭载4核Cortex-A53与自研3Tops算力NPU。全面替代上一代的
    的头像 发表于 10-09 11:22 2417次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>RV1126B</b>特性概述

    替代升级实锤!实测RV1126B,CPU性能吊打RV1126

    AI智能芯片迭代提速,推出了全新的Arm架构AI视觉芯片RV1126B,是否替换RV1126,CPU性能是挤牙膏还是大突破。带着这些核
    的头像 发表于 12-11 17:13 2762次阅读
    替代升级实锤!实测<b class='flag-5'>RV1126B</b>,CPU性能吊打<b class='flag-5'>RV1126</b>

    (EASY EAI)RV1126B 人体关键点识别

    的特点。本人员检测算法在数据集表现如下所示:基于EASY-EAI-Nano-TB(RV1126B)硬件主板的运行效率:17个人体关键点索引定义:2.快速上手2.1开发
    的头像 发表于 01-23 10:13 4244次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b>(<b class='flag-5'>EASY</b> <b class='flag-5'>EAI</b>)<b class='flag-5'>RV1126B</b> 人体关键点识别

    (EASY EAI)RV1126B rknn-toolkit-lite2使用方法

    1.rknn-toolkit-lite2介绍RKNN-Toolkit-Lite2是(Rockchip)专为旗下RK系列芯片(如RV1126B、RK3576、RK3588等)打造的
    的头像 发表于 04-22 17:38 1103次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b>(<b class='flag-5'>EASY</b> <b class='flag-5'>EAI</b>)<b class='flag-5'>RV1126B</b> rknn-toolkit-lite2使用方法

    (EASY EAI)RV1126B yolov11训练部署教程

    、使用最广泛的YOLO变体。YOLO11将延续YOLO系列的传奇。本教程针对目标检测算法yolo11的训练和部署到EASY-EAI-Nano-TB(RV1126B)进行
    的头像 发表于 05-09 16:59 933次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b>(<b class='flag-5'>EASY</b> <b class='flag-5'>EAI</b>)<b class='flag-5'>RV1126B</b> yolov11训练部署教程

    RV1126B 方案特性

    RV1126B是面向边缘视觉场景的专用处理芯片,凭借低功耗、内置AI-ISP、双路MIPI-CSI接口以及端侧AI算力,可支撑常规监控、双光谱、多目视觉等多类相机产品开发,配合定
    的头像 发表于 05-11 14:27 1582次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>RV1126B</b> 方案特性

    (EASY EAI)RV1126B ubuntu系统SDK源码获取

    1.源代码获取RV1126B的ubuntu系统SDK基于ubuntu22.04进行适配移植,所以建议同样在ubuntu22.04的环境(如EASY-EAI编译环境)下编译开发,并且源码部署在服务器
    的头像 发表于 05-23 16:32 76次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b>(<b class='flag-5'>EASY</b> <b class='flag-5'>EAI</b>)<b class='flag-5'>RV1126B</b> ubuntu系统SDK源码获取

    (EASY EAI)RV1126B kernel

    把烧录工具放进虚拟机任意位置(以~/rv1126b_sdk为例)。如下图所示。然后定位到工具的位置(以~/rv1126b_sdk为例),并修改可执行权限:cd~/rv1126b_sdk
    的头像 发表于 05-25 10:26 81次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b>(<b class='flag-5'>EASY</b> <b class='flag-5'>EAI</b>)<b class='flag-5'>RV1126B</b> kernel