BeagleBone Black板第十一课: PWM子系统简介

BBB板第十一课: PWM子系统简介

查看多达4000多页的AM335X 英文手册,找到其中的15章节PWMSS,我英文学不好,翻译其中的意思真难,建议高手帮翻译一下那4000多页的手册贡献给大家。

在这里简单说下几个专业名词:

PWMMSS全称Pulse-Width Modulation Subsystem 脉冲宽度调制子系统,由eHRPWM、eCAP和eQEP三个模块组成,简单的说就是三种工作模式。

下面的图为PWM子系统图(来自4000多页的手册)

1、eHRPWM全称Enhanced High Resolution PulseWidth Modulator 增强型高分辨率脉冲宽度调制,只有驱动输出功能

2、eCAP全称Enhanced Capture 增强型捕捉,能够在用户空间通过SYSFS接口进行控制,具有输入输出特性,有专用的捕捉输入引脚,通过设置GPIO的模式为eCAP0_in_PWM0_out,具体哪些引脚要查询引脚功能图,同时具有四个32位的时基计数器(估计就是那TIMER4-7我们前面实验只是在eHRPWM模式下,所以用不上)

A、组成4模块eCAP0-3

B、32bit 时间基准寄存器

C、4个32bit时间标志寄存器

D、2bit 计数器使模块在一个循环内,可连续捕捉4个事件,每个捕捉事件的边沿脉冲可以设置为上升沿或下降沿。

E、 利用2bit 计数器可以使模块工作在one-shot状态,既捕捉完4个事件后停止捕捉,或者在连续状态即循环捕捉,循环事件数量可以设置1~4。一个循环最多可以记录4个捕捉事件的发生,这四个捕捉事件可以设置为上升沿捕捉或者下降沿捕捉,每个捕捉时间加载到

CAP1~4寄存器,以求取脉冲的周期和占空比。

F、 相关事件可以触发中断,如果相应中断使能的话。

G、 当模块不做捕捉模块使用时,可以做APWM模块使用,即多出了2个PWM引脚。

但是只能输出不对称PWM,即APWM,同时与EPWM模块间连接有同步信号,可以进行移相PWM输出。


引脚编号


工作模式


名  称


引脚编号


工作模式


名  称


P9_28


Mode4


eCAP2_in/PWM2_out


P9_42


Mode0


eCAP0_in/PWM0_out

3、eQEP 全称Enhanced Quadrature Encoder Pulse 增强型正交编码脉冲,也具有输入的特性,设置GPIO引脚模式为eQEP2A_in或eQEP2B_in

4、参考手册里面还讲到一些控制实例,比如控制三相电机这些,建议大家慢慢研究。

时间: 2024-10-13 07:31:10

BeagleBone Black板第十一课: PWM子系统简介的相关文章

BeagleBone Black板第五课:Shell脚本编程实验

BBB板第五课:Shell脚本编程实验 在一上课我们通过简单的echo命令测试并控制GPIO端口的高低电平输出,实现对一个LED指示灯的点亮和关闭控制,本节将通过Shell脚本编程,来完成两个LED指示灯的交替闪亮的实验. 实验器材:准备两个二极管指示灯,面包板等 使用GPIO端口P8.12和P8.11两个引脚 我们暂时不借助其他工具软件,直接远程登陆到BBB板的图形桌面,使用内置的Ledfpad编辑器来完成Shell脚本的编程. 远程登陆BBB板图形桌面还记得吧,不记得话参考前面的课程,这里就

BeagleBone Black板第六课:C++编程控制GPIO基础

BBB板第六课:C++编程控制GPIO基础 在一上课我们通过Shell脚本编程实现了对GPIO端口的简单输出控制,实现对两个LED指示灯的交替点亮和关闭,接下来的一两节课,将通过C++程序来实现Shell脚本的功能.为了实现对应的程序控制,我查阅了好多资料,测试过程中发觉网上的一些程序套用过来总是出现各种各样的编译错误,压根就控制不了BBB板,不知是我的BBB板太新,还是以前的程序太旧.最后还是从头开始,重新研究BBB板的文件系统,找出头文件,找出所有相关的函数,终于实现GPIO的C++程序控制

BeagleBone Black板第七课:GPIO编程控制

BBB板第七课:GPIO编程控制 在一上课我们通过IO函数做了简单的GPIO端口输出高低电平输出,实现对一个LED指示灯的点亮和关闭控制,本节将通过完整的C++程序,实现第四课Shell脚本的全部功能,实现两个LED指示灯的交替闪亮. 直接通过进入功能程序 1.实现echo 44 > export 打开端口功能 上一课简单测试中,通过手工在BBB板终端模式下打开gpio44端口可通过以下程序实现: #include <stdio.h> #define GPIO_DIR "/sy

BeagleBone Black 板第三课:Debian7.5系统安装和远程控制BBB板

BBB板第三课:Debian7.5系统安装和远程控制BBB板 因为BBB板系统是Debian 7.4,据说使用Debian系统可以实现很多BBB板的无缝连接,可以更好的学习和控制BBB板,所以就决定下载Debian7.5系统安装,采用虚拟机的安装方式. 一.系统安装 1.我下载了Debian7.5 32位系统,有三张DVD盘,网上有不少安装资料了,我这里就不详细介绍安装过程了.不过有一点可能很多人都会遇到的问题,就是安装过程中提示插入光盘的问题.虚拟机是Vmware workstation 10

BeagleBone Black板第八课:建立Eclipse编程环境

BBB板第八课:建立Eclipse编程环境 最近新建了一个编程环境,感觉到非常方便,分享给大家.之前除了在BBB板远程桌面直接编写shell脚本或C程序外,通过Debain 7.5系统下使用编辑软件也试过,写完程序还是转存到BBB板编译,反正觉得挺麻烦.不熟悉linux是个原因,但没汉化的软件更是个问题.最后重新回来熟悉的XP的环境,根据网上一些点子,安装Eclipse C/C++,没想到用过后感觉非常好,起码现阶段是认可.特别是对我这种初学者来说,真的觉得方便.好用. 我的基本环境是Windo

BeagleBone Black板第十课:测试PWM功能

BBB板第十课:测试PWM功能 上一节课我们初步学习了BBB板上ADC数据的读取方法,本节课将把学到的PWM的知识贡献给和我一样的初学者.以下这张彩图来自网上,详细标明了14个PWM和四个定时器的引脚位置.本实验中,我们只测试其中的P8_13引脚,名称为eHRPWM2B. 需要准备的实验工具:一个二极管发光管和数字万用表及其他小线材 一.PWM知识(部分知识直接摘自网上) PWM全称Pulse WidthModulation,脉冲宽度调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有

BeagleBone Black板第九课:测试读取ADC数据

BBB板第九课:测试读取ADC数据 之前我们初步学习了GPIO的使用方法,接下来认识下BBB板上ADC数据的读取操作,因为用BBB板做外部控制,接收外部传感器的一些模拟数据,模数转换ADC是需要用到的.所以在这里我也测试一下这BBB板的ADC简单功能,以后有深入学习到知识再进行补充. ADC资源引脚,P9_32至P9_40共九个引脚,其中P9_32为电源正极,P9_34为共地,其他七个对应七个ADC输入脚,因为有一个Ain_7估计是内部使用了,所以我们只使用Ain_0至Ain_6这七个ADC.

【C++探索之旅】第一部分第十一课:小游戏,猜单词

内容简介 1.第一部分第十一课:小游戏,猜单词 2.第一部分第十二课预告:指针一出,谁与争锋 小练习 上一课<[C++探索之旅]第一部分第十课:文件读写,海阔凭鱼跃>中我们学习了读写文件的知识. 第一部分的课程也快接近尾声了,下一课我们会学习很重要的指针的知识.之后,我们就进入第二部分:面向对象编程了.哈哈哈,激动不? 目前为止,我们也学了不少内容:编译基本原理,IDE,变量,函数,条件语句,循环语句,引用,数组,文件读写,等等.你应该为自己感到自豪. 俗语说得好:实践是最好的老师.我们学了那

MiS603开发板 第十一章 CY7C68013A Slave FIFO回传输

作者:MiS603开发团队 日期:20150911 公司:南京米联电子科技有限公司 论坛:www.osrc.cn 网址:www.milinker.com 网店:http://osrc.taobao.com EAT博客:http://blog.chinaaet.com/whilebreak 博客园:http://www.cnblogs.com/milinker/ MiS603开发板 第十一章 CY7C68013A Slave FIFO回传输 CY7C68013A提供了强大和灵活的外部接口通信方式,