基于i.MX6UL实现PWM脉冲计数
admin
2023-03-15 09:41:30
0次

1.适用范围

    本文档介绍了基于i.MX6UL实现PWM脉冲计数的基本实现原理。


2.客户需求

2.1 基本需求

   基本需求为在i.MX6UL上利用PWM输出固定频率的脉冲波形,并严格控制该频率下的脉冲输出个数。应用程序调用系统接口设置PWM输出的频率和脉冲输出个数,之后PWM启动脉冲输出,当输出指定的脉冲个数后,产生中断提示应用程序。此时应用程序再次设置最新的PWM输出频率和脉冲个数,循环往复工作。

2.2 参数需求

  • PWM频率范围 :最小0Hz,最大25KHz;

  • 计数个数范围:最小0,最大60000。


3.原理简介

   由于i.MX6UL的PWM脉冲输出本身不具备计数功能,所以采用了PWM+EPIT结合使用的方式。

   EPIT(Enhanced Period Interrupt Timer)为i.MX6UL实现的高精度周期性中断定时器,其和PWM采用的是同一个时钟源。

   基本思路为:当应用程序设置PWM计数值时启动PWM输出,将PWM计数值换算为EPIT的定时周期,并启动EPIT开始计时,当定时周期到时产生中断, 在EPIT中断中禁用PWM输出,此时PWM脉冲输出的个数也应该达到理论输出个数。

3.1 用户调用流程

   用户调用流程如图 3-1所示。

基于i.MX6UL实现PWM脉冲计数

图 3-1用户调用流程

3.2 ControlLib库实现

3.2.1 ControlOpen操作

   打开PWM设备、EPIT设备,设置PWM设备和EPIT工作的默认频率。将PWM设备与EPIT设备关联,以使EPIT中断中可以禁用对应的PWM脉冲输出。

3.2.2 ControlClose操作

   关闭PWM设备、EPIT设备。

3.2.3 ControlSet操作

   按照如下公式,根据用户设置的PWM频率和计数数值,换算为EPIT定时的数值。


基于i.MX6UL实现PWM脉冲计数


   之后设置PWM工作的频率,启动PWM输出;设置EPIT定时时长,启动EPIT定时。

3.2.4 ControlEventWait操作

   调用EPIT设备提供的接口,阻塞等待定时器到期后的中断。

3.3 参数有效范围

3.3.1 PWM频率范围

  • PWM输出的最大频率为50KHz,最小为25Hz。

  • PWM占空比默认为50%,目前暂不支持调整。

3.3.2 计数有效范围

   PWM脉冲计数理论最大值为0xFFFFFFFF,但计数值Count实际受以下关系制约:

基于i.MX6UL实现PWM脉冲计数

   Freq为PWM实际设置的输出频率,当Freq减小时,Count最大可计数值随之减小。


4.测试结果

   当设置50KHz频率,20次输出时,示波器抓到如图 4-1所示波形。

基于i.MX6UL实现PWM脉冲计数

图 4-1 50KHz,输出20次


    当设置25KHz频率,33次输出时,示波器抓到如图 4-2所示波形。 

基于i.MX6UL实现PWM脉冲计数

图 4-2 25KHz,输出33次


    当设置10KHz频率,60次输出时,示波器抓到如图 4-3所示波形。

基于i.MX6UL实现PWM脉冲计数

图 4-3 10KHz,输出60次

 

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...