十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
本文档介绍了基于i.MX6UL实现PWM脉冲计数的基本实现原理。
成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:做网站、成都网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的武侯网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!基本需求为在i.MX6UL上利用PWM输出固定频率的脉冲波形,并严格控制该频率下的脉冲输出个数。应用程序调用系统接口设置PWM输出的频率和脉冲输出个数,之后PWM启动脉冲输出,当输出指定的脉冲个数后,产生中断提示应用程序。此时应用程序再次设置最新的PWM输出频率和脉冲个数,循环往复工作。
PWM频率范围 :最小0Hz,大25KHz;
计数个数范围:最小0,大60000。
由于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用户调用流程
打开PWM设备、EPIT设备,设置PWM设备和EPIT工作的默认频率。将PWM设备与EPIT设备关联,以使EPIT中断中可以禁用对应的PWM脉冲输出。
关闭PWM设备、EPIT设备。
按照如下公式,根据用户设置的PWM频率和计数数值,换算为EPIT定时的数值。
之后设置PWM工作的频率,启动PWM输出;设置EPIT定时时长,启动EPIT定时。
调用EPIT设备提供的接口,阻塞等待定时器到期后的中断。
PWM输出的大频率为50KHz,最小为25Hz。
PWM占空比默认为50%,目前暂不支持调整。
PWM脉冲计数理论大值为0xFFFFFFFF,但计数值Count实际受以下关系制约:
Freq为PWM实际设置的输出频率,当Freq减小时,Count大可计数值随之减小。
当设置50KHz频率,20次输出时,示波器抓到如图 4-1所示波形。
图 4-1 50KHz,输出20次
当设置25KHz频率,33次输出时,示波器抓到如图 4-2所示波形。
图 4-2 25KHz,输出33次
当设置10KHz频率,60次输出时,示波器抓到如图 4-3所示波形。
图 4-3 10KHz,输出60次
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。