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

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

3天内不再提示

飞凌国产芯片系列干货|A40i开发板应用笔记-PWM 的应用

飞凌嵌入式 2021-11-26 14:36 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文讲解了国产A40i 开发板PWM的应用,本篇文章主要适用于飞凌 OKA40i 平台 Linux3.10.65 操作系统,其他arm 平台也可以参考,但是不同平台之间会存在差异,请自行修改以适应自己的使用。 写本文章的主要目的是协助客户加速产品的研发速度,由于水平有限, 不提供任何的完整性、可靠性等保证,软件版本更新之后,有些位置名称等内容可能会及时更新,修改方法请参考使用。

FETA40i-C核心板基于全志工控行业平台级处理器四核Cortex-A7 A40i设计,主频1.2GHz,集成MAli400MP2GPU,内存1GB/2GB DDR3L,存储8GB eMMC。支持绝大部分当前流行的视频及图片格式解码,具有稳定可靠的工业级产品性能和高性价比低功耗等优势,搭载LinuxAndroid操作系统,适用于基于视觉交互的工业控制产品,目标应用包含,嵌入式设备、智能终端、工业控制、数据采集、机器视觉工业物联网 、移动互联设备、数字标牌 等。
特点:
●全志工业级A40I四核Cortex-A7,主频最高为1.2GHz,集成Mali400MP2 GPU;
●支持双屏同显异显和多种显示接口RGB/MIPI /双8位 LVDS/HDMI/TV OUT,1920x1080@60fps;
●支持1路千兆网络,1路百兆网络,支持WIFI/BT4.0,支持4G
●支持多路摄像头输入,两路DVP摄像头接口,最高支持500W像素,四路TVIN,支持NTSC与 PAL制式
CPU内部集成Audio Codec,支持1路差分PHONEOUT,1路立体声耳机输出 ,1路microphone输入
●外部扩展接口丰富UART *8、SD*4、USB*3、SPI *4、IIC*5、SATA、PWM*8等;
●支持Linux和Android操作系统;

正文开始:

一、PWM的应用

1、pwm的添加

增加一路 pwm,以 pwm4 为例说明,其他方法类似,只做为参考。

arch/arm/boot/dts/sun8iw11p1.dtsi

中添加

pwm = &pwm; pwm0 = &pwm0; pwm4 = &pwm4; pwm: pwm@01c23400 { compatible = "allwinner,sunxi-pwm"; reg = <0x0 0x01c23400 0x0 0x154>; pwm-number = <1>; pwm-base = <0x4>; pwms = <&pwm4>; }; pwm4: pwm4@01c23400 { compatible = "allwinner,sunxi-pwm4"; pinctrl-names = "active", "sleep"; reg_base = <0x01c23400>; reg_peci_offset = <0x00>; reg_peci_shift = <0x04>; reg_peci_width = <0x01>; reg_pis_offset = <0x04>; reg_pis_shift = <0x04>; reg_pis_width = <0x01>; reg_crie_offset = <0x10>; reg_crie_shift = <0x08>; reg_crie_width = <0x01>; reg_cfie_offset = <0x10>; reg_cfie_shift = <0x09>; reg_cfie_width = <0x01>; reg_cris_offset = <0x14>; reg_cris_shift = <0x08>; reg_cris_width = <0x01>; reg_cfis_offset = <0x14>; reg_cfis_shift = <0x09>; reg_cfis_width = <0x01>; reg_clk_src_offset = <0x28>; reg_clk_src_shift = <0x07>; reg_clk_src_width = <0x02>; reg_bypass_offset = <0x28>; reg_bypass_shift = <0x05>; reg_bypass_width = <0x01>; reg_clk_gating_offset = <0x28>; reg_clk_gating_shift = <0x04>; reg_clk_gating_width = <0x01>; reg_clk_div_m_offset = <0x28>; reg_clk_div_m_shift = <0x00>; reg_clk_div_m_width = <0x04>; reg_pdzintv_offset = <0x38>; reg_pdzintv_shift = <0x08>; reg_pdzintv_width = <0x08>; reg_dz_en_offset = <0x38>; reg_dz_en_shift = <0x00>; reg_dz_en_width = <0x01>; reg_enable_offset = <0x40>; reg_enable_shift = <0x04>; reg_enable_width = <0x01>; reg_cap_en_offset = <0x44>; reg_cap_en_shift = <0x04>; reg_cap_en_width = <0x01>; reg_period_rdy_offset = <0xe0>; reg_period_rdy_shift = <0x0b>; reg_period_rdy_width = <0x01>; reg_pul_start_offset = <0xe0>; reg_pul_start_shift = <0x0a>; reg_pul_start_width = <0x01>; reg_mode_offset = <0xe0>; reg_mode_shift = <0x09>; reg_mode_width = <0x01>; reg_act_sta_offset = <0xe0>; reg_act_sta_shift = <0x08>; reg_act_sta_width = <0x01>; reg_prescal_offset = <0xe0>; reg_prescal_shift = <0x00>; reg_prescal_width = <0x08>; reg_entire_offset = <0xe4>; reg_entire_shift = <0x10>; reg_entire_width = <0x10>; reg_active_offset = <0xe4>; reg_active_shift = <0x00>; reg_active_width = <0x10>; }

按手册 PWM 修改对应的寄存器

修改 sys_config.fex 中 twi2_used=0 且增加

[pwm4] pwm_used = 1 pwm_positive = port:PB20<4><0> [pwm4_suspend] pwm_positive = port:PB20<7><0>

编译镜像并烧写

2、PWM的测试

echo 0 >/sys/class/pwm/pwmchip4/export echo 1000000 > /sys/class/pwm/pwmchip4/pwm0/period echo 500000 > /sys/class/pwm/pwmchip4/pwm0/duty_cycle echo 1 > /sys/class/pwm/pwmchip4/pwm0/enable

测量得到频率为 1K 方波

echo 0 > /sys/class/pwm/pwmchip4/pwm0/enable echo 208333> /sys/class/pwm/pwmchip4/pwm0/duty_cycle echo 416667 > /sys/class/pwm/pwmchip4/pwm0/period echo 1 > /sys/class/pwm/pwmchip4/pwm0/enable

测量得到频率为 2.4K 方波

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

    关注

    462

    文章

    53559

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    既要稳定性,还要性价比的工业级开发板 — 米尔i.MX91

    之前我介绍过NXPi.MX8系列开发板,最近它的下一代产品i.MX9系列产品也有了,我就拿到了这个基于NXPi.MX9系列的米尔MYD-L
    的头像 发表于 11-20 08:05 793次阅读
    既要稳定性,还要性价比的工业级<b class='flag-5'>开发板</b> — 米尔<b class='flag-5'>i</b>.MX91

    【作品合集】嵌入式OK527N-C开发板测评

    嵌入式OK527N-C开发板测评作品合集 产品介绍: OK527-C开发板采用核心+底板分体式设计,共320个引脚,采用4个80Pin
    发表于 09-22 15:54

    佩特科技A40i安卓主板产品介绍

    在工业智能化浪潮汹涌澎湃的当下,传统工业设备正面临着转型升级的迫切需求。从自动化生产线到智能监控系统,工业领域对于设备的性能、功能以及智能化水平都提出了更高的要求。在这样的背景下,A40i 安卓主板凭借其独特的优势,犹如一颗璀璨的新星,为工业应用注入了全新的安卓活力。
    的头像 发表于 09-09 17:29 996次阅读
    佩特科技<b class='flag-5'>A40i</b>安卓主板产品介绍

    送啦!嵌入式联合NXP邀您参加OK-MX9596-C开发板试用活动

    送啦!嵌入式联合NXP邀您参加OK-MX9596-C开发板试用活动
    的头像 发表于 08-22 08:03 765次阅读
    送啦!<b class='flag-5'>飞</b><b class='flag-5'>凌</b>嵌入式联合NXP邀您参加OK-MX9596-C<b class='flag-5'>开发板</b>试用活动

    RK3568开发板暗藏32位兼容开关?嵌入式带你一键解锁!

    RK3568是一款64位处理器,嵌入式为其提供的交叉编译器也是64位的,然而部分用户可能需要在RK3568开发板上运行32位应用。本文将详细阐述如何使用32位交叉编译器,编译出32位应用,并使其能够在
    的头像 发表于 07-19 08:49 4193次阅读
    RK3568<b class='flag-5'>开发板</b>暗藏32位兼容开关?<b class='flag-5'>飞</b><b class='flag-5'>凌</b>嵌入式带你一键解锁!

    T527N开发板试用】T527N开发板开箱评测

    很高兴收到嵌入式申请的T527N开发板,板子的正反面如下图所示: 可以看到,板子上面的资源非常的丰富,有CAN,485, SIM卡槽
    发表于 07-04 11:43

    嵌入式受邀亮相「2025龙芯产品发布暨用户大会」

    6月26日,2025龙芯产品发布暨用户大会在北京隆重举行,嵌入式作为龙芯重要的生态合作伙伴受邀亮相,并带来了基于龙芯2K0300-i处理器设计开发的OK-2K0300
    的头像 发表于 06-27 08:07 1168次阅读
    <b class='flag-5'>飞</b><b class='flag-5'>凌</b>嵌入式受邀亮相「2025龙芯产品发布暨用户大会」

    T527N开发板试用】开箱与开发板介绍视频

    嵌入式OK527N-C开发板开箱介绍】 https://www.bilibili.com/video/BV1sfKSzmEtU/?share_source=copy_web&
    发表于 06-26 09:43

    5分钟学会网络服务搭建!i.MX9352开发板 + Linux 6.1实战示例

    本文就将以嵌入式OK-MX9352-C开发板(搭载了在工业物联网领域广泛应用的NXP i.MX9352处理器)为平台,介绍如何在Linux6.1.36
    的头像 发表于 06-13 16:42 1082次阅读
    5分钟学会网络服务搭建!<b class='flag-5'>飞</b><b class='flag-5'>凌</b><b class='flag-5'>i</b>.MX9352<b class='flag-5'>开发板</b> + Linux 6.1实战示例

    5分钟学会网络服务搭建,i.MX9352 + Linux 6.1实战示例

    本文将以嵌入式OK-MX9352-C开发板(搭载了在工业物联网领域广泛应用的NXP i.MX9352处理器)为平台,介绍如何在Linux6.1.36
    的头像 发表于 05-30 11:08 2148次阅读
    5分钟学会网络服务搭建,<b class='flag-5'>飞</b><b class='flag-5'>凌</b><b class='flag-5'>i</b>.MX9352 + Linux 6.1实战示例

    嵌入式携手龙芯发布2K0300i核心,全国产自主可控新选择

    嵌入式作为龙芯合作伙伴,隆重推出FET-2K0300i-S全国产自主可控工业级核心!FET-2K0300
    的头像 发表于 05-07 11:31 856次阅读
    <b class='flag-5'>飞</b><b class='flag-5'>凌</b>嵌入式携手龙芯发布2K0300<b class='flag-5'>i</b>核心<b class='flag-5'>板</b>,全<b class='flag-5'>国产</b>自主可控新选择

    linux初学者,用这样的开发板合适吗?

    这款是深圳市九鼎创展科技有限公司的全志A40I开发板,适合linux初学者吗? 先用开发板调试,调试成功后,就可以单独用核心,再配合自己做的底板就可以做产品了。 做核心
    发表于 04-10 11:11

    基于小派RK2206开发板:OpenHarmony如何使用IoT接口控制PWM外设

    1、案例简介本案例是在小派-RK2206开发板上使用IoT库PWM接口,进行PWM编程开发。例程将创建一个任务,每隔5秒将
    的头像 发表于 04-09 08:59 2074次阅读
    基于小<b class='flag-5'>凌</b>派RK2206<b class='flag-5'>开发板</b>:OpenHarmony如何使用IoT接口控制<b class='flag-5'>PWM</b>外设

    从DeepSeek到Qwen,AI大模型的移植与交互实战指南-嵌入式

    在不久前发布的《技术实战|OK3588-C开发板上部署DeepSeek-R1大模型的完整指南》一文中,小编为大家介绍了DeepSeek-R1在嵌入式OK3588-C开发板上的移植部
    的头像 发表于 03-28 08:06 2534次阅读
    从DeepSeek到Qwen,AI大模型的移植与交互实战指南-<b class='flag-5'>飞</b><b class='flag-5'>凌</b>嵌入式

    3.1s启动!嵌入式i.MX93开发板部署LVGL,打造更高效的GUI

    近期,嵌入式为基于NXP i.MX93系列处理器打造的OK-MX9352-C开发板成功移植了LVGL v8.3,不仅界面美观精致,启动速
    的头像 发表于 01-16 11:52 1070次阅读
    3.1s启动!<b class='flag-5'>飞</b><b class='flag-5'>凌</b>嵌入式<b class='flag-5'>i</b>.MX93<b class='flag-5'>开发板</b>部署LVGL,打造更高效的GUI