第八章DSP事件管理器

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

8.2 通用定时器


1个可读写的16位计数器TxCNT(x=1~4) 1个可读写的16位比较寄存器(双缓冲)TxCMPR(x=1~4) 1个可读写的16位的周期寄存器(双缓冲) TxPR(x=1~4) 可读写的定时器控制寄存器TxCON(x=1~4) 输入时钟可编程预定标器 控制和中断逻辑 定时器比较输出 输出控制逻辑 定时器2(4)可以选择定时器1(3)的周期寄存器值作为自己的 定时周期
B B B B B B B B B B B B B B B
PHANTOM PHANTOM PHANTOM PHANTOM PHANTOM PHANTOM PHANTOM PHANTOM PHANTOM PHANTOM PHANTOM PHANTOM PHANTOM PHANTOM PHANTOM


连续增减计数:GP定时器按照定标的输入时钟加计
数,直到计数器的值和周期寄存器的值匹配,之后的 下一个时钟的上升沿,GP减计数直到计数器为0,并开 始以加计数的方式开始下一个计数周期,其间外设周 期匹配、下溢、上溢等中断事件产生并产生可以启动 ADC模块的事件(中断允许的条件下)。 定时周期: 2*TxPR*定标时钟 说明:TxCON.TENABLE位控制定时器的启动计数; GPTCONA/B中的状态位指示当前的计数方向; 适合产生对称的PWM波形。
说明:TDIRA/B引脚变化后,计数方向的改变在当前计
数完成一个时钟周期之后。在该方式下,第一个计数 脉冲将会丢失。

该方式能够用于事件管理器模块的QEP脉 冲计数或者作为外部脉冲计数。
例子
通用定时器1在定向增减计数模式下的初始化 LDP #DP_EVA ;指向7400h~7480h单元 SPLK #41H,GPTCONA ;TCOMPOE=1 允许定时器比较输出 SPLK #5H,T1PR ;设置周期寄存器 SPLK #3H,T1CMPR ;设置比较寄存器 SPLK #0H,T1CNT ;设置计数寄存器 SPLK #9852H,T1CON ;TMODE=11 定向增/减计数模式,TPS=000,预分频为1 ;TENABLE=1 定时器计数使能,TCLKS=01 外部时钟 ;TECMPR=1 定时器1比较使能,SELT1PR=0




中断请求:外设的中断标志位和中断屏蔽位置1,产生 CPU INT 中断申请。 CPU响应:IFR标志位和IMR使能位有效,CPU向PIE发 布中断确认,IFR标志位被自动清除,CPU结束当前指 令执行,取中断向量,之后操作由软件管理。 PIE响应:确认CPU响应,清除PIRQ标志位,刷新PIVR 寄存器,等待下一次中断。 中断软件:GISR—保护现场,读PIVR确定外设中断; SISR---清除外设中断标志,中断返回前使能CPU的 INTM位(清除)。
2 控制寄存器
3 定时器的计数模式

停止/保持模式:GP定时器保持当前状态停止运行; 连续加计数:GP定时器按照定标的输入时钟计数,直到 计数器的值和周期寄存器的值匹配,之后的下一个时 钟的上升沿,GP定时器复位为0并开始下一个计数周期, 同时外设周期匹配中断产生并产生可以启动ADC模块 的事件(中断允许的条件下)。在GP复位为0之后一个 时钟周期,下溢中断产生并产生可以启动ADC模块的 事件(中断允许的条件下)。 定时周期: (TxPR+1)*定标时钟 说明:TxCON.TENABLE位控制定时期的启动计数
4 定时器的比较操作



特点:由TxCMPR和TxCON.1(比较输出使能) 控制TxPWM引脚输出,由计数方式控制产生对 称或非对称的PWM波形。 比较运行:比较匹配后,经过一个CPU时钟周 期产生比较中断信号和启动ADC模块的信号 (如果中断允许且可以作为ADC的SOC触发条 件),同时改变PWM的输出状态(由 GPTCONA/B设置)。 输出逻辑:高/低有效,强制高/低
非对称波形产生
对称波形产生




当比较寄存器为0时,TxPWM始终输出有效电平; 当比较寄存器值大于周期寄存器值时,TxPWM始终输 出无效电平; 当比较寄存器值等于计数器值时,TxPWM输出有效电 平(连续增模式);对于连续增减模式,第二比较相等, 输出无效电平; 有效输出时间:连续增方式—TxPR-TxCMPR+1;连续 增减方式—TxPR-TxCMPRup+TxPR-TxCMPRdn; PDPINTA/B有效或复位时,TxPWM位高阻态。
EV寄存器
EV中断



事件管理器的中断被分为3组,每一组分配1个 CPU中断(INT2,3,4),多中断源的管理和仲 裁由PIE模块处理。 中断源:中断事件发生后,EV中断标志寄存器 EVA(/B)IFRA(/B/C)对应位被置1,该标志位只 能由软件强制写1清除。 中断使能:由中断屏蔽寄存器EVA(B)IMRA, EVA(B)IMRB,EVA(B)IMRC三个16位寄存器管理 所有的中断使能位。
#GPTCONA>>7 #0000000000000000B,GPTCONA #0000000000000000B,T1CNT #1000111101000010B,T1CON #1111111111111111B,T1PR #0000000011111111B,T1CMPR #0000011110000000B,EVAIMRA #0000011110000000B,EVAIFRA #0 #0000000000000010B,IMR INTM
; File name vector.h .sect RSVECT B INT1 B INT2 B INT3 B INT4 B INT5 B INT6 B RESERVED B SW_INT8 B SW_INT9 B SW_INT10 B SW_INT11 B SW_INT12 B SW_INT13 B SW_INT14 B SW_INT15 B SW_INT16 B

编程方式:设置通用定时控制器 GPTCONA---设置周期寄存器TxPR----设 置比较寄存器TxCMPR---清除计数器 TxCNT---设置定时器控制寄存器TxCON, 使能定时器工作
例子
通用定时器1在连续增减计数模式下的初始化 LDP #DP_EVA ;指向7400h~7480h单元 SPLK #41H,GPTCONA ;TCOMPOE=1 允许定时器比较输出 SPLK #5H,T1PR ;设置周期寄存器 SPLK #3H,T1CMPR ;设置比较寄存器 SPLK #0H,T1CNT ;设置计数寄存器 SPLK #8F42H,T1CON ;TMODE=01 连续增/减计数模式,TPS=111,预分频为128 ;TENABLE=1 定时器计数使能,TCLKS=00 内部时钟 ;TECMPR=1 定时器1比较使能,SELT1PR=0




四种计数模式:停止/保持;连续增/减计数; 连续增计数;定向增/减计数; 定时器同步:定时器2/4,通过合适的寄存器 构造可以和定时器1/3同步工作; 事件可以在硬件上自动启动ADC模块的工作, 无需CPU介入; 中断事件:上溢—TxCNT=FFFFh;下溢-TxCNT=0000h;;比较匹配-TxCNT=TxCMPR;周期匹配-- TxCNT=TxPR;
例子:在定时器T1的上溢、下溢、比较 和周期中断中改变引脚IOPB0、IOPB1、 IOPB2和IOPB3的状态
include include .text LDP SETC SPLK LACC SACL LDP SPLK SPLK KICK_DOG LDP SPLK SPLK
ቤተ መጻሕፍቲ ባይዱ
“2407.h” “vector.h”
编程方式:设置通用定时控制器GPTCONA---设 置周期寄存器TxPR----设置比较寄存器 TxCMPR---清除计数器TxCNT---设置定时器控 制寄存器TxCON,使能定时器工作
例子
通用定时器1在连续增计数模式下的初始化 LDP #DP_EVA ;指向7400h~7480h单元 SPLK #41H,GPTCONA ;TCOMPOE=1 允许定时器比较输出 SPLK #5H,T1PR ;设置周期寄存器 SPLK #3H,T1CMPR ;设置比较寄存器 SPLK #0H,T1CNT ;设置计数寄存器 SPLK #9742H,T1CON ;TMODE=10 连续增计数模式,TPS=111 预分频为128 ;TENABLE=1 定时器计数使能,TCLKS=00 内部时钟 ;TECMPR=1 定时器1比较使能,SELT1PR=0




死区计数器减少为4位(8),预标定时间因子增加为5 位(3) 每个独立外设的中断控制逻辑被统一管理,外设只有 产生中断标志的中断申请信号和相应的使能信号,中 断交由外设中断扩展控制器PIE管理 取消了外设中断响应自动清除相应标志的操作,中断 标志位必须由软件写1清除 PDPINTA/B在系统复位后被使能 初始化写COMCONA/B只需一次(在C240中需要2次)
EV引脚
功率保护引脚
PDPINTA/B, 低有效(保持6或者12个状态 周期)封锁所有的PWM输出为高阻态(要求 PDPINT中断使能,否则无效),该信号由内 部时钟信号确认和同步,系统复位后即被使能。
C240和240XA的EV比较



取消了单调加和单调加减计数模式; 取消了32位计数器模式 取消了GP定时器的驻留模式,在周期匹配、上溢和下 溢使能自动反向计数 捕获事件可以触发ADC转换 捕获单元可以使用T1或T2时基 在捕获FIFO中有1个或2个事件均可产生捕获中断标志 捕获FIFO的状态可随时访问 QEP只能作为T2或T4的时基 3个简单比较单元被取消,全比较模式只在PWM模式中 使用
1 基本特点




输入信号:内部的CPU时钟;外部时钟TCLKINA/B TDIRA/B(最大频率为CPU时钟的1/4);复位信号。 输出信号:定时器比较输出TxPWM;ADC模块的启动 信号;事件信号(上溢、下溢、比较匹配、周期匹配 等);计数方向指示位。 双缓冲方式:比较寄存器和周期寄存器带有影子寄存 器;比较寄存器在特定事件发生时才刷新加载,而周 期寄存器仅当计数寄存器TxCNT为零时刷新。 定时器的比较输出模式:高/低有效(输出随比较和周 期匹配的事件而变化);强制高/低(一旦有效不再改 变)
8 事件管理器

8.1 8.2 8.3 8.4 8.5
结构概述 通用定时器 比较单元 捕捉单元 QEP处理单元
8.1 结构概述

包括两套独立的EVM模块 每个EVM模块


2个通用的16位定时器; 三个比较单元; PWM电路:空间矢量PWM、死区发生器和输出逻辑 控制; 3个捕获单元; 光电编码器脉冲处理电路(QEP); 中断逻辑。
START
#0 INTM #0,IMR IFR IFR #WDKEY>>7 #0004H,SCSR1 #006FH,WDCR
#0E1H #0000000000000000B,MCRA #1111111100000000B,PBDATDIR
LDP SPLK SPLK SPLK SPLK SPLK SPLK SPLK LDP SPLK CLRC NOP B

定向增减计数方式:根据定标的时钟(内部或外部)
和TDIRA/B引脚的输入来增或减计数,当TDIRA/B为高 时,定时器加计数直到周期匹配或上溢,之后定时器 复位为0,并继续增计数;当TDIRA/B为低时,定时器 减计数直到为0,定时器的计数器重新加载周期寄存器 的值,开始新的减计数。其间外设周期匹配、下溢、 上溢等中断事件产生并产生可以启动ADC模块的事件 (中断允许的条件下)
“vectors” START GISR1 GISR2 GISR3 GISR4 GISR5 GISR6 PHANTOM PHANTOM PHANTOM PHANTOM PHANTOM PHANTOM PHANTOM PHANTOM PHANTOM PHANTOM
TRAP NMI EMU_TRAP SW_INT20 SW_INT21 SW_INT22 SW_INT23 SW_INT24 SW_INT25 SW_INT26 SW_INT27 SW_INT28 SW_INT29 SW_INT30 SW_INT31
相关文档
最新文档