ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:266.15KB ,
资源ID:9542574      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9542574.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(2DSP28335ePWM模块.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

2DSP28335ePWM模块.docx

1、2DSP28335ePWM模块1、 模块特性 增强型脉宽调制模块都由两个 PWM 输出组成, ePWMxA 和 ePWMxB。 ePWM 模块通过 同步时钟组合连接在一起用于工作在单一的系统中。此外,这些同步组合被扩展到外设 模块的捕获( eCAP)。每个 PWM 的特点如下: 精确地 16 位时间基准计数器,控制输出周期频率; 2 个 PWM 输出可配置为如下方式: 2 个独立单边操作的 PWM 输出; 2 个独立的双边 对称操作 PWM 输出; 1 个独立的双边不对称操作 PWM 输出;与其他 ePWM 模块有关的可编程相位超前和滞后控制; 在每个周期的基础上硬件锁定同步相位关系; 独立的

2、上升沿或下降沿延时的死区控制;PWM 输出强制为高、低、高阻逻辑电平的控制条件; 所有的事件都可以触发 CPU中断和 ADC 开始转化信号; 用于脉冲变换器门级驱动的高频 PWM 斩波;ePWM 模块的同步信号通过菊花链结构连接在一起,每一个模块都可以配置成使用或 者不使用同步输入信号,时钟的同步输入输出信号都来源于 ePWM1 ,ePWM1 的同步输出连接到第一个增强捕获模块的 SYNC;I每个 ePWM 模块都有两个 ADC转换开始信号,每个 ePWM 模块都可以触发两个排序 器中的一个开始转换,这个启动 AD 转换的触发事件可以在 ePWM 的事件触发子模块中 配置; 32 位的外设总线

3、允许写 16 位或者 32 位数据到 ePWM 的寄存器中。ePWM 模块共有 7 个子模块,分别是:时间基准子模块 TB;计数器比较模块 CC;动作限定子模块 AQ;死区控制子模块 DB;PWM 斩波模块 PC;错误控制子模块 TZ;事 件触发子模块 ET。常用模块为 TB、CC、AQ、DB、ET,下面分别介绍这 5 个子模块的功 能以及相应寄存器配置。2、 TB限制 ePWM 时基计数器的频率和周期,去控制多长时间发生一次事件;管理其他 ePWM 模块的时间基准同步信号;保持与其他 ePWM 模块的相位关系; 设置时间基准计数器的计数模式:增计数、减计数、增减计数; 产生如下时间:CTR

4、= PRDCTR = Zero配置时基时钟的速率, CPU时钟的 n 次分频。允许时基计数器在低速率时可以增加也 可以减少。2.1、TBPRD该位决定了时基计数器的周期,决定了 PWM 的频率; 该寄存器的阴影寄存器的使能与禁止由 TBCTLPRDLD决 定,缺省状态下是使能的;如果 TBCTLPRDLD = ,0 则阴影寄存器使能,任何读写操作都会自动进入阴影寄存器里。 在这种情况下,当时基计数器为 0 时,活跃寄存器的值从阴影寄存器中装载;如果 TBCTLPRDLD = ,1 则阴影寄存器禁止,任何的读写操作都会直接到活跃寄存器中, 这样寄存器就会主动地控制硬件;阴影寄存器与活跃寄存器共用

5、同一个地址。2.2、TBPHS这些位设置选择的 ePWM 时基计数器的相位相对于提供同步输入信号的时基;如果 TBCTLPHSEN = ,0 那么这个同步事件会被忽视,时基计数器不会装载 TBPHS;如果 TBCTLPHSEN = 1,当同步事件发生时,时基计数器会装载 TBPHS。通过输入的同步信号来初始化同步事件或者软件强制同步。2.3、TBCTR该位的值表示当前时基计数器的值;向该位写数据可以设置当前时基计数器的值。 该值会在写进去后立即更新, 写操作并不与 时基时钟同步并且写进去的值并不是阴影寄存器。2.4、TBCTLRFEE,SOFT 仿真模式位,该位的值决定了 ePWM 的时基计数

6、器在仿真事件时的动作00 在下一个时基计数器增加或者减小时停止;01 在计算器完成一个周期时停止增计数模式:当 TBCTR = TBPRD时停止;减计数模式:当 TBCTR = 0时停止;增减模式:当 TBCTR = 0时停止;1X 无影响。PHSDIR 此位只在增减计数模式时才有用,在增模式或者减模式时忽略0 在同步事件后减少1 在同步事件后增加CLKDIV 时基时钟预分频位,该位决定时基时钟的预分频值的一部分000001010011100101110/1 (复位后的缺省值)/2/4/8/16/32/64/128高速时基时钟预分频位,该位决定时基时钟的预分频值的一部分,/1/2 (复位后的缺

7、省值)/4/6/8/10/12111SWFSYNC/14 软件强制同步脉冲 0 写 0 无影响,读该位返回值常为 0 ; 1 写 1 强制产生一次同步脉冲 SWFSYNC只有在 EPWMxSYNCI被选择时有效,即 SYNCOSEL = 0; SYNCOSEL 同步输出选择,该位选择 EPWMxSYNCO的信号源 00EPWMxSYNCCTR = 0 CTR = CMPB 禁止 EPWMxSYNCO信号 活跃周期寄存器从阴影寄存器中装载0 当 TBCTR = 0时, TBPRD从其阴影寄存器中装载;通过阴影寄存器对 TBPRD进行读写操作1 不使用阴影寄存器, TBPRD 立即装载;直接通过活

8、跃寄存器对 TBPRD 进行读写操作PHSEN 计数器寄存器从相位寄存器装载的使能位 0 TBCTR不从 TBPHS装载1 当 EPWMxSYNCI 输入信号产生或者通过 SWFSYNC位强制软件同步时, TBCTR 从 TBPHS装载。CTRMODE 计数模式位时基计数器模式一旦配置以后, 在正常情况下都不会去改变, 如果改变了 计数模式, 这一改变会在下一个 TBCLK边缘产生影响并且当前的计数器的值会 在模式改变前的计数器的值上增加或者减小。00 增计数模式01 减计数模式10 增减计数模式11 不计数(复位后的缺省值)2.5、TBSTS3、 CC计数比较子模块作为时基计数器值的输入。这

9、个值连续的和 CMPA、CMPB 作比较,当时基计数器等于 CMPA、 CMPB中的一个值时,计数比较器会产生一个正确的事件;利用 CMPA、CMPB 寄存器产生事件CTR = CMPACTR = CMPB当动作限定子模块合理配置时,可以控制 PWM 的占空比;对于增计数和减计数模式, 每个周期只产生一次事件; 对于增减计数模式, 当比较值 TBCTR 在 0-TBPRD之间时,每个周期产生两次事件,当比较值 TBCTR 为 0 或者 TBPRD时,每个周期只产生一次事件 ;CMPA、CMPB 寄存器都有一个与自己相关联的阴影寄存器,阴影寄存器使得寄存器的值 随着硬件同步更新计数比较模块在三种

10、计数模式下的时序图如下图所示: 、增计数模式 、减计数模式 、增减计数模式3.1、CMPA、CMPB活跃寄存器 CMPA的值连续的与 TBCTR作比较, 当这两个值相等时, CC模块产生一个 事件( CMPA与 TBCTR相等的事件) ,该事件会被传到动作限定子模块中, 动作限定模块 会将该事件转换为一个至多个动作, 这些动作会应用在 EPWMxA和 EPWMxB中,EPWMxA 和 EPWMxB 的输出由 AQCTLA、 AQCTLB寄存器配置。这些动作也由这两个寄存器配置, 具体包括:忽略;使得 EPWMxA 和 EPWMxB输出低电平;使得 EPWMxA 和 EPWMxB输出高电平;使得

11、 EPWMxA 和 EPWMxB电平信号翻转。该寄存器的阴影寄存器的使能与禁止由 CMPCTLSHDWAMODE位 决定。 缺省状态下为使能。如果 CMPCTLSHDWAMODE = 0,阴影寄存器使能,任何的读写操作会立即传递 到阴影寄存器。在这种情况下, CMPCTLSHDWAMODE位 决定了当发生什么事件时,活 跃寄存器会从阴影寄存器装载值;在对 CMPCTLSHDWAMODE进 行写操作之前,通过对 CMPCTLSHDWAFULL位 的 读取来确定阴影寄存器当前是否溢出;如果 CMPCTLSHDWAMODE = 1,阴影寄存器被禁止,任何的读写操作都会直接 作用与活跃寄存器在其他模式

12、下,阴影和活跃寄存器共用同一个寄存器地址。3.2、CMPCTLSHDWBFULL CMPB 阴影寄存器溢出状态标志位0 没有溢出1 CMPB 阴影寄存器已经溢出, CPU写操作将会覆盖当前的阴影寄存器的值 SHDWBMODE CMPB 寄存器工作模式0 阴影模式,双缓存,所有的写通过 CPU 传到阴影寄存器中;1 立即模式,所有的读写操作直接送入活跃寄存器中LOADBMODE CMPB 的活跃寄存器从阴影寄存器装载的模式位, 该位在立即模式中无效。00 当 CTR = 0时,活跃寄存器从阴影寄存器装载值01 当 CTR = PRD时,活跃寄存器从阴影寄存器装载值10 当 CTR = 0,或者

13、CTR = PRD时,活跃寄存器从阴影寄存器装载值11 不装载3.3、CMPAHR4、 AQ在下列情况发生时,动作限定模块限定和产生动作;CTR = PRDCTR = 0CTR= CMPACTR = CMPB当事件同时发生时,管理优先级; 当时基计数器处于递增或者递减模式时,提供事件的独立控制; 当一个事件发生以后,动作限定子模块会使 PWMxA、 EPWMxB 做出相应的动作,包括置高、置低、翻转、什么都不做。在这种情况下, 事件 软件强制的事件通 具体的优先级如下表事件输入到动作限定子模块,会被计数器方向(增、减)进一步限定;动作限定子模块在同一时间收到一个以上的事件发生也是有可能的, 可

14、以被硬件分配优先级, 一般的规则是后发生的事件具有更高的优先级, 常具有最高的优先级, 事件的优先级与计数器的工作模式有一定关系, 所示:在系统中, CMPA、 CMPB 的值每经过一个周期都会更新一次,用户可以指定在一个周期的哪一个位置更新。 这儿有一些需要注意的点, 当动作依照新的值时会延时一个周期; 当动 作依照旧的值时,会对其他的周期产生影响。可以通过如下的配置方法避免这种情况:1使用增减计数模式产生一个对称的 PWM 波形时:当你想装载 CMPA、 CMPB为 0 时, CMPA、CMPB的值最好大于等于 1;当你想装载 CMPA、 CMPB为 TBPRD时, CMPA、CMPB 的

15、值最好小于等于 TBPRD-1; 意味着在 PWM 波形中至少有一个 TBCLK长度的脉冲。2使用增减计数模式去产生一个不对称的 PWM 波形时:要产生一个 50%-0%的不对称 PWM 波形可以经过下面的配置: 每个周期装载 CMPA、 CMPB的值,当 TBCTR = TBPRD时,清除 PWM;当 TBCTR = CMPA时,置位 PWM。调节 比较值从 0-TBPRD,从而产生占空比在 0-0.5 的 PWM 波形。3使用增加计数模式去产生一个不对称的 PWM 波形时:要产生一个 0%-100%的不对称 PWM 波形可以经过下面配置: 将 TBPRD装载到 CMPA、 CMPB 中,当

16、 TBCTR = 0时,置位 PWM ;当 TBCTR = CMPA时,清除 PWM 。调节比较值从 0-BPRD+1去实现占空比从 01。4.1、AQCTLACBD 当 TBCTR = CMPB,且计数器为减计数时,产生动作00 不动作;01 EPWMxA = 0;10 EPWMxA = 1;11 EPWMxA 输出翻转。CBU 当 TBCTR = CMPB,且计数器为增计数时,产生动作00 不动作;01 EPWMxA = 0;10 EPWMxA = 1;11 EPWMxA 输出翻转。PRD 当 TBCTR = TBPRD时,产生动作在计数器增减模式中, TBCTR = TBPRD时,认为方

17、向为 0 或减计数00不动作;01EPWMxA = 0;10EPWMxA = 1;11EPWMxA 输出翻转。ZRO当 TBCTR = 0时,产生动作在计数器增减模式中, TBCTR = 0时,认为方向为 1或增计数00 不动作;01 EPWMxA = 0;10 EPWMxA = 1;11 EPWMxA 输出翻转。4.2、AQSFRCRLDCSF AQSFRC的活跃寄存器从阴影寄存器装载选择位00 TBCTR = 0时,装载;01 TBCTR = TBPRD时,装载;10 TBCTR = 0或 TBCTR = TBPRD时,装载 ;11 立即装载,活跃寄存器直接通过 CPU而不是阴影寄存器装载

18、。 OTSFB 输出 B 上产生一次软件强制事件0 写 0 无影响,读回来的常为 0 ; 当向该寄存器写数据或强制初始化时,该位自动清 0;该位只产生一次事件,当输出 B 后面有别的事件时,该事件被覆盖;1 初始化一个单一的软件强制事件。ACTSFB 当发生一次软件强制 B 唤醒时动作00 不动作;01 清除;10 置高 ;11 翻转。4.3、AQCSFRCCSFB 在输出 B 上连续的软件强制; 在立即模式时,连续的强制会在下一个 TBCLK边沿产生影响;在阴影模式时,在阴影寄存器的值装载到活跃寄存器后,连续的强制会在下一个TBCLK边沿产生影响00 强制禁止,无作用;01 强制输出 A 连

19、续为低;10 强制输出 A 连续为高 ;11 软件前置禁止,无影响;5、DB单一的 EPWMxA 输入,经过死区控制模块后,产生一对合适的 EPWMxA 和 EPWMxB;可以工作在以下几种工作模式:AH(高电平有效输出) AL(低电平有效输出) AHC(高电平有效互补输出) ALC(低电平有效互补输出)增加了可编程的上升沿延时时间( RED); 增加了可编程的下降沿延时时间( FED) ;该死区控制子模块可以完全旁路; 死区子模块提供了两组独立的选择方式:1输入源的选择: 输入到死区子模块的信号即动作限定子模块输出的信号,通过配置DBCTLIN_MODE位可以选择每一次延时是在上升沿还是下降

20、沿: 在缺省状态下, EPWMxA 既作为上升沿延时又作为下降沿延时的信号源; EPWMxA 作为下降沿延时的信号源, EPWMxB 作为上升沿延时的信号源; EPWMxA 作为上升沿延时的信号源, EPWMxB 作为下降沿延时的信号源; EPWMxB 既作为上升沿延时又作为下降沿延时的信号源;2输出模式控制: 输出模式由 DBCTLOUT_MODE位 控制。该位决定了作用于输入信号的是上升沿延 时或者下降沿延时还是两者都有;3极性控制: 极性控制允许用户指定上升沿延时或者下降沿延时在输出死区子模块前是否需要 翻转电平。面介绍几种典型的死区模块的配置模式,具体参数配置和波形见表 14 和图 3

21、2。1模式 1:旁路上升沿延时和下降沿延时;2模式 2-5 :典型的死区极性设置;3模式 6:旁路上升沿延时;模式 7 :旁路下降沿延时;死区子模块支持独立的上升沿延时和下降沿延时时间的设置, 寄存器配置。FED = DBFED * TRED = DBRED * (T T 是 TBCLK的周期值)5.1、DBCTLIN_MODE1死区输入模式控制位;2位 5 控制 S5 开关,位 4 控制 S4 开关(如上图) ;3允许用户选择上升沿延时和下降沿延时的输入源;4在缺省状态下, EPWMxA 同时作为上升沿和下降沿的输入源;00 EPWMxA 既作为上升沿延时又作为下降沿延时的信号源;01 EP

22、WMxA 作为下降沿延时的信号源, EPWMxB 作为上升沿延时的信号源;10 EPWMxA 作为上升沿延时的信号源, EPWMxB 作为下降沿延时的信号源;11 EPWMxB 既作为上升沿延时又作为下降沿延时的信号源; POLSEL1极性选择控制位;2位 3 控制 S3,位 2 控制 S2;3允许用户选择信号在输出死区模块前是否需要翻转电平;4可以用于一个桥臂上上下两个开关的控制;00 AH 模式, EPWMxA 和 EPWMxB 都不翻转(缺省状态) ;01 ALC模式, EPWMxA 翻转;10 AHC模式, EPWMxB 翻转;11 AL模式, EPWMxA 和 EPWMxB都翻转。O

23、UT_MODE死区输出模式控制位;位 1 控制 S1,位 0 控制 S0;该位允许用户旁路或使能死区模块;00 死区模块被旁路;输出为动作限定模块的输出; POLSEL和 IN_MODE 位没有作用;01 上升沿延时被禁止;10 下降沿延时被禁止;11 死区模块的上升沿延时和下降沿延时都被使能。5.2、DBRED5.3 、 DBFED6、ET接收时基模块和计数比较模块产生的事件; 利用时基模块的方向信息确定递增递减计数;利用预先设定的逻辑去保证中断请求和 ADC 开始转换;1每次事件;2每两次事件;3每三次事件; 上述事件包括:1TBCTR = 0;2TBCTR = TBPRD;3TBCTR

24、= CMPA且为计数器的值在增加;4TBCTR = CMPA且为计数器的值在减小;5TBCTR = CMPB 且为计数器的值在增加;6TBCTR = CMPB 且为计数器的值在减小; 通过时间计数器和相应标志位产生事件标示; 允许软件强制中断和 ADC开始转换; 事件触发子模块管理来自于时基子模块、计数比较子模块和逻辑比较子模块产生的事件。 当所选择的事件发生时,事件触发子模块会向 CPU发送一个中断请求或者向 ADC 发送一个开始转换的脉冲;事件发生的次数可以从中断事件计数器寄存器 ETPSINTCNT位 读取,当指定的事件发生时,ETPSINTCNT加 1 知道增加到指定的值 ETPSIN

25、TPRD, 当 ETPSINTCNT = ETPSINTPR时D, 中 断事件计数器停止计数并输出置位。只有中断送到 PIE 级时该计数器的值才会被清除; 当 ETPSINTCNT = ETPSINTPR时D,会发生以下几种情况:1当 ETSELINTEN = 1且 ETFLGINT = 0时,然后一个中断脉冲产生, 中断标志位置位, 事件计数器清 0。计数器会从头开始计数;2当 ETSELINTEN = 0且 ETFLGINT = 1时,当 ETPSINTCNT = ETPSINTPRD时 ,事件 计数器停止计数;3当 ETSELINTEN = 1且 ETFLGINT = 1时,计数器输出保

26、持为高,直到 ETFLGINT被 清除。6.1、ETSELSOCBEN ADC转换序列 B 启动使能位;0 禁止;1 使能;SOCBSEL EPWMxB 脉冲生产选择位;000 保留;001 TBCTR = 0;010 TBCTR = TBPRD;011 保留;100 TBCTR = CMPA且计数器数值在增加时;101 TBCTR = CMPA且计数器数值在减小时;110 TBCTR = CMPB且计数器数值在增加时;111 TBCTR = CMPB且计数器数值在减小时; INTEN ePWM 中断使能位;0 禁止;1 使能;INTSEL ePWM 中断生产选择位;000 保留;001 TBCTR = 0;010 TBCTR = TBPRD;011 保留;100 TBCTR = CMPA且计数器数值在增加时;101 TBCTR = CMPA且计数器数值在减小时;110 TBCTR = CMPB且计数器数值在增加时;111 TBCTR = CMPB

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1