首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

哈工大DSP精品讲义!!!(连载)


如果读取了底层寄存器的值,那么捕获FlFO状态寄存 器的相应位将发生变化。 如果读取前捕获FlFO状态寄存器的相应位为10或11, 则读取后变成为01,即堆栈中只有一个值。 如果读取前捕获FlFO状态寄存器的相应位为01,则读 取后变成为00,即堆栈为空。 (1)第1次捕获 当捕获单元的输入引脚出现一个指定的转换时,选 定的GP定时器的计数器值就会被捕获,如果堆栈是 空的,这个计数器值就会被写入到FlFO堆栈的项层 寄存器。同时,相应的状态位被设置为0。

如果另外一个捕获发生之前对FlFO堆栈进行了读访问,

则FlFO状态位被复位为00。

(2)第2次捕获

如果在以前的捕获的计数值被读取之前,又发生一次捕

获,那么捕获的计数器值就会进入底部寄存器。同时,

寄存器中相应的FlFO状态位被置为10。当在另外一次

捕获之的读FlFO堆栈时,顶部寄存器中的旧计数器值

被读出,底部寄存器中的新计数器值被压入顶部寄存

器,相应的状态位设置为01。

第2捕获会将寄存器相应的捕获中断标志位置1,如果中

断没有被屏蔽,则会产生一个中断请求。


(3)第3次捕获 当FlFO堆栈中已有两个计数器值,这时如果又有一个捕 获发生,堆栈顶部寄存器中最旧的计数器值被推出并 且丢失,然后堆栈底部寄存器的计数器值被向上一次 压入到顶部寄存器,新捕获的计数器值被写入底部寄 存器,并巳状态位设置为11,表明一个或更多的旧计 数器值被丢失。 第3次捕获会将寄存器相应的捕获中断标志位置1,如果 中断没有被屏蔽,则会产生一个中断请求
6.8.5  捕获中断   当一个捕获单元执行了一次捕获,且FlFO中至少有一个     捕获到的计数值时(CAPFlFO位不为0),则相应的中     断标志位置1。如果该中断没有被屏蔽,则会产生一     个外设中断请求信号。   如果使用了捕获中断,则可在中断服务程序中读取捕获     到的一对计数值。   如果没有使用中断,也可以通过查询中断标志位和FlFO     堆栈的状态位来确定是否发生捕获事件,如果已发生     捕获事件则可以从相应的捕获单元的FlFO堆栈中读取     捕获到的计数值

6.9 正交编码器脉冲电路(QEP) 每个事件管理器模块都有一个正交编码器脉冲(QEP)电 路。当QEP电路被使能时,可以对CAP1/QEP1和 CAP2/QEP2(EVA模块)或CAP3/QEP3和CAP4/QEP1(EVB 模块)引脚上的正交编码输入脉冲进行解码和计数。 正交编码脉冲电路可用于连接光电编码器获得旋转机 械的位置和速率等信息。当QEP电路被使能时, CAP1/CAP2和CAP4/CAP5引脚上的捕获功能将被禁止。

6.9.1 正交编码器脉冲引脚 两个QEP输入引脚由捕获单元1和 2(或3和4,对于EVB 模块)和QEP 电路共亨。因此CAPCONx寄存器中相应的

位必须被正确设置,以使能QEP电路,并禁止捕获单元, 这样就把相应的输入引脚分配给正交编码器脉冲QEP 电路,

6.9.2 正交编码器脉冲电路事件基准 QEP电路的时间基准可以由通用定时器2(EVB模块的为 通用定时器4)提供。 通用定时器必须设置成定向的增/减汁数模式。并以QFP 电路作为时钟源。图6-19为EVA模块中正交编码器 (QEP)脉冲电路的原理框图。

位必须被正确设置,以使能QEP电路,并禁止捕获单元, 这样就把相应的输入引脚分配给正交编码器脉冲QEP 电路,

6.9.3 正交编码器脉冲电路事件基准 正交编码脉冲包括两个脉冲序列,是频率变化的正交 (相差四分之一周期,即90?脉冲序列。当电动机轴 上的光学编码器产生正交编码脉冲时,通过检测两个 序列中哪个序列领先,就可测出电动机的转向。角位 置和速度可以通过脉冲计数和脉冲的频率测出。 1. QEP电路
QEP电路的方向检测逻辑测定哪个脉冲序列的相位领先, 然后产生一个方向信号作为通用定时器2或4的方向输 入。如果CAPl/QEPl(EVB为CAP4/QEP3)输入为相位 领先的脉冲序列,选定的定时器递增计数。如果CAP2 /QEP2(EVB为CAP5/QEP4)输入为相位领先的脉冲序 列,选定的定时器递减计数。 两个正交编码输入脉冲的两个边沿均被QEP电路计数, 因此送到通用定时器2或4的QEP电路产生的时钟频率 是每个输入序列频率的四倍。这个产生的时钟与通用 定时器2或4的时钟输入端相连。

6.9.4 正交编码器脉冲电路的计数 通用定时器2或4总是从计数器中的当前值开始计数, 因此可以在使能QEP工作模式前将所需的值装载到 所选通用定时器的计数器中。当正交编码器脉冲电 路的时钟作为通用定时器的时钟源时,选定的通用 定时器将忽略输入引脚TDIRA和TCLKINA/B(定时 器方向和时钟) 用QEP电路作为时钟的GP定时器的周期、下溢、上 溢和比较中断标志是根据相应的匹配产生的。如果 中断没有被屏蔽,则中断标志将产生外设中断请求 信号。

6.9.5 正交编码器脉冲电路的寄存器设置
(1)EVA模块中启动QEP电路需作以下设置: * 如果需要,为GP定时器2的计数器、周期和比较寄 存器载入设定值。 * 配置T2CON寄存器,将通用定时器2设置成定向的增 /减计数模式,以正交编码器脉冲电路作为时钟源, 并使能通用定时器2。 * 配置CAPCONA寄存器以使能正交编码脉冲电路。

(2) EVB模块中启动QEP电路需作以下设置:   *  如果需要,为GP定时器4的计数器、周期和比较寄      存器载入设定值。   *  配置T2CON寄存器,将通用定时器4设置成定向的增      /减计数模式,以正交编码器脉冲电路作为时钟源,      并使能通用定时器4。   *  配置CAPCONA寄存器以使能正交编码脉冲电路。

6.10 事件管理器中断

事件管理器中断分为3组:事件管理器中断组A、B和C。 每组具有不同的中断标志、中断屏蔽寄存器,见下 表。 表EV中断组的中断标志寄存器和中断屏蔽寄存器

表 所有EVA中断、优先级和分组

EVA中断标志寄存器

以EVA中断标志寄存器A(EVAIFRA)为例,其映射地址为 742Fh,各位描述如下: 位15-11 保留位。读返回0,写无效。 位10 T1OFINT FLAG。通用定时器1的上溢中断标志 读 0:标志被复位;1:标志被置位 写 0:无效 1:复位标志位 位9 T1UFINT FLAG。通用定时器1的下溢中断标志 读 0:标志被复位;1:标志被置位 写 0:无效 1:复位标志位

位8            T1CINT FLAG。通用定时器1的比较中断标志                 读 0:标志被复位;1:标志被置位                 写 0:无效                        1:复位标志位   位7            T1PINT FLAG。通用定时器1的周期中断标志                 读 0:标志被复位;1:标志被置位                 写 0:无效                        1:复位标志位   位6-4          保留位。读返回0,写无效。   位3            CMP3INT FLAG。比较单元3中断标志                 读 0:标志被复位;1:标志被置位                 写 0:无效                        1:复位标志位
位2             CMP2INT FLAG。比较单元2中断标志                 读 0:标志被复位;1:标志被置位                 写 0:无效                           1:复位标志位  位1             CMP1INT FLAG。比较单元1中断标志                 读 0:标志被复位;1:标志被置位                 写 0:无效                           1:复位标志位  位0             PDPINTA FLAG。功率驱动保护中断标志                 读 0:标志被复位;1:标志被置位                 写 0:无效                           1:复位标志位  EVAIFRB、EVAIFRC各位意义不再详述

EVA中断屏蔽寄存器 以EVA中断屏蔽寄存器A(EVAIFRA)为例,其映射地址为 742Ch,各位描述如下: 位15-11 保留位。读返回0,写无效。 位10 T1OFINT ENABLE。通用定时器1的上溢中断使能 0:禁止 1:使能 位9 T1UFINT ENABLE。通用定时器1的下溢中断使能 0:禁止 1:使能

位8          T1CINT ENABLE。通用定时器1的比较中断使能                0:禁止                1:使能   位7          T1PINT ENABLE。通用定时器1的周期中断使能                0:禁止                1:使能   位6-4         保留位。读返回0,写无效。   位3           CMP3INT ENABLE。比较单元3中断使能                0:禁止                1:使能
位2 CMP2INT ENABLE。比较单元2中断使能 0:禁止 1:使能 位1 CMP1INT ENABLE。比较单元1中断使能 0:禁止 1:使能 位0 PDPINTA ENABLE。功率驱动保护中断使能 0:禁止 1:使能 EVAIMRB、EVAIMRC各位意义不再详述
返回列表