第6章-03事件管理器捕获单元0320课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第6章-03事件管理器捕获单元0320课件.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 03 事件 管理器 捕获 单元 0320 课件
- 资源描述:
-
1、1第第6 6章章 事件管理器及其应用事件管理器及其应用6.1 事件管理器功能概述事件管理器功能概述6.2 通用定时器通用定时器6.8 比较单元比较单元6.11 捕获单元捕获单元6.14 正交编码脉冲电路正交编码脉冲电路6.15 事件管理器中断事件管理器中断光电编码器光电编码器霍尔传感器霍尔传感器功率放大器功率放大器电流传感器电流传感器2n捕获单元是一种输入设备,用于捕获引脚上捕获单元是一种输入设备,用于捕获引脚上电平的变化并记录它发生的时刻。电平的变化并记录它发生的时刻。n普通的微处理器能做到这一点,但需要由普通的微处理器能做到这一点,但需要由CPU完成判断和记录工作,占用了完成判断和记录工作
2、,占用了CPU的资源。的资源。6.11 捕获单元结构捕获单元结构3n对于两次间隔很短的跳变对于两次间隔很短的跳变(微秒级微秒级)的捕获,的捕获,普通的微处理器就显得力不从心。普通的微处理器就显得力不从心。nDSP控制器的捕获单元不需要占用控制器的捕获单元不需要占用CPU的的资资源,与源,与CPU并行工作。并行工作。n它有二级深度它有二级深度FIFO堆栈对于两次间隔很短跳堆栈对于两次间隔很短跳变的捕获得心应手。变的捕获得心应手。6.11 捕获单元结构捕获单元结构4n事件管理器总共有事件管理器总共有6个捕获单元个捕获单元,每个事件管理,每个事件管理器有器有3个捕获单元。个捕获单元。n事件管理器事件
3、管理器A(EVA模块模块)的捕获单元为的捕获单元为CAP1、CAP2和和CAP3,事件管理器,事件管理器B(EVB模块模块)的捕获的捕获单元为单元为CAP4、CAP5和和CAP6,每一个捕获单元,每一个捕获单元都有一个相应的捕获输入引脚。都有一个相应的捕获输入引脚。n捕获单元的结构示意图如书捕获单元的结构示意图如书P204所示。所示。6.11 捕获单元结构捕获单元结构56.11 捕获单元结构捕获单元结构n当捕获引脚输入脉冲波形时,捕获单元能够捕当捕获引脚输入脉冲波形时,捕获单元能够捕获指定的电平变化。获指定的电平变化。n例如捕获脉冲的上升沿。当捕获到脉冲指定的例如捕获脉冲的上升沿。当捕获到脉冲
4、指定的电平变化时,捕获单元记录此时定时器的时间。电平变化时,捕获单元记录此时定时器的时间。n假设捕获到第假设捕获到第1个脉冲时定时器的时间为个脉冲时定时器的时间为t1,捕获到第捕获到第2个脉冲时定时器的时间为个脉冲时定时器的时间为 t2,那么这,那么这个脉冲的宽度是个脉冲的宽度是 t2-t1。n捕获单元可以用于测量脉冲的宽度。捕获单元可以用于测量脉冲的宽度。捕获单元功能模块捕获单元功能模块(EVA)PWM 电路电路PWM 电路电路PWM 电路电路输出逻辑输出逻辑输出逻辑输出逻辑输出逻辑输出逻辑通用定时器通用定时器1比较器比较器通用定时器通用定时器1通用定时器通用定时器2比较器比较器通用定时器通
5、用定时器2全比较单元全比较单元1全比较单元全比较单元2全比较单元全比较单元3 捕获单元捕获单元MUX QEP 电路电路Output Logic输出逻辑输出逻辑EV 控制寄存器控制寄存器/逻辑逻辑ResetPIETCLKINA/TDIRA/2ADC 启动启动Data BusCLKDIRT1PWM_T1CMPT2PWM_T2CMPPWM1PWM2PWM3PWM4PWM5PWM6CAP1_QEP1CAP2_QEP2CAP3_QEPI178捕获单元框图0 0选择定时器选择定时器2 21 1选择定时器选择定时器1 10000禁止禁止CAP1&2CAP1&20101使能使能CAP1&2CAP1&20 0禁
6、止禁止CAP3CAP31 1使能使能CAP3CAP3D12D12D14:13D14:13D10D10CAP3CAP3D9D9CAP1&2CAP1&20000不检测不检测0101检测上升沿检测上升沿1010检测下降沿检测下降沿1111检测两个边沿检测两个边沿0 0寄存器清零寄存器清零1 1无操作无操作D8D8D7:6D7:6CAP1CAP1D5:4D5:4CAP2CAP2D3:2D3:2CAP3CAP3Capture Control RegisterCapture Control RegisterCAPCONACAPCONAD15D150 0无操作无操作1 1CAP3CAP3中断置位中断置位 时
7、启动时启动ADCADCT2CNTT2CNTT1CNTT1CNT910捕获单元包含:捕获单元包含:(1)一个一个16位的捕获控制寄存器位的捕获控制寄存器 (CAPCONA对对EVA模块模块,CAPCONB对对EVB模块模块)(2)一个一个16位捕获位捕获FIFO状态寄存器状态寄存器CAPFIFOAB。6.11 捕获单元结构捕获单元结构11(3)可选择通用定时器可选择通用定时器1/2(对对EVA模块模块)或者定时或者定时器器3/4(对对EVB模块模块)作为时间基准。作为时间基准。注意:注意:nCAP1和和CAP2一定要选择相同的定时器作为它一定要选择相同的定时器作为它们的时基;们的时基;nCAP3
8、可独立使用一个时基可独立使用一个时基(对对 EVA 模块模块);6.11 捕获单元结构捕获单元结构12nCAP4和和CAP5一定要选择相同的定时器一定要选择相同的定时器作为它们的时基。作为它们的时基。nCAP6 可选择独立的时基可选择独立的时基。n (对对 EVB 模块模块)。6.11 捕获单元结构捕获单元结构13(4)3个个16位位2级级FIFO堆栈堆栈(CAPxFIFO),每个对应一个捕获单元。每个对应一个捕获单元。(x=1 3或或=4 6)(5)3个个施密特触发式的捕获输入引脚施密特触发式的捕获输入引脚 (对于对于EVA模块,模块,CAP123;对于对于EVB模块,模块,CAP456),
9、6.11 捕获单元结构捕获单元结构14n引脚引脚CAP1、CAP2和和CAP4、CAP5是功能复是功能复用的用的,也是,也是正交编码脉冲电路正交编码脉冲电路(QEP)的输入引脚的输入引脚。n所有的输入和内部时钟同步,为了使跳变被捕所有的输入和内部时钟同步,为了使跳变被捕获,输入必须在当前电平保持当前状态两个时钟获,输入必须在当前电平保持当前状态两个时钟周期。周期。6.11 捕获单元结构捕获单元结构15(6)用户可指定所用户可指定所检测的电平跳变信号检测的电平跳变信号 (上升沿检测、下降沿检测上升沿检测、下降沿检测或两者都检测或两者都检测)。(7)3个个可屏蔽的中断标志位。可屏蔽的中断标志位。每
10、个标志位对应于一个捕获单元。每个标志位对应于一个捕获单元。(EVA和和EVB共共6个)个)6.11 捕获单元结构捕获单元结构16n捕获单元使能后,捕获单元不停地检测捕捕获单元使能后,捕获单元不停地检测捕获输入引脚的跳变。获输入引脚的跳变。n当检测到一个设定的转换时,通用定时器当检测到一个设定的转换时,通用定时器计数寄存器的值被捕获并存储在相应的计数寄存器的值被捕获并存储在相应的2级级深度深度FIFO堆栈中。堆栈中。6.11 捕获单元结构捕获单元结构176.12.1 捕获控制寄存器捕获控制寄存器 n捕获单元的操作由四个捕获单元的操作由四个16位用户可读写控位用户可读写控制寄存器即捕获控制寄存器制
11、寄存器即捕获控制寄存器CAPCONAB和捕获和捕获FIFO状态寄存器状态寄存器CAPFIFOA/B 控控制。制。n因为捕获电路的时间基准是由通用定时器因为捕获电路的时间基准是由通用定时器12或或34提供的,所以定时器是捕获单元提供的,所以定时器是捕获单元的基础。的基础。181.捕获控制寄存器捕获控制寄存器CAPCONx(x=A,B)(1)捕获控制寄存器捕获控制寄存器A(CAPCONA)地址:地址:7420h CAPCONA各位的定义如下各位的定义如下:6.12.1 捕获控制寄存器捕获控制寄存器 196.12.1 捕获控制寄存器捕获控制寄存器 20位位1515 CAPRES CAPRES。捕捕获
12、单元获单元复位复位,只能写,读为,只能写,读为0 0。向位向位1515写写0 0将将清除所有的捕清除所有的捕获获和和QEPQEP寄存器寄存器。但是,使能捕但是,使能捕获获功能时不需要向位功能时不需要向位1515写写1 1。0 0 所有捕所有捕获获单元和正交编码脉冲电路的寄存器清单元和正交编码脉冲电路的寄存器清0 0 1 1 无动作无动作位位14-1314-13 CAP12EN CAP12EN。捕捕获获单元单元1 1和和2 2的控制位。的控制位。00 00 禁止捕禁止捕获获单元单元1 1和和2 2,FIF0FIF0堆栈保持原内容堆栈保持原内容 0101 使能捕使能捕获获单元单元1 1和和2 2
13、1010 保留保留 1111 保留保留6.12.1 捕获控制寄存器捕获控制寄存器 2122232425捕获捕获FIFO状态寄存器状态寄存器CAPFIFOx中包括捕获单元的中包括捕获单元的3个个FIFO堆栈的状态位。堆栈的状态位。1.捕获捕获 FIFO状态寄存器状态寄存器A(CAPFIFOA)地址地址7422h,Capture FIFO Status Register A(CAPFIFOA)各位的)各位的定义如图定义如图6-49所示。所示。6.12.2 捕获状态寄存器捕获状态寄存器 26276.12.2 捕获状态寄存器捕获状态寄存器 282.捕获捕获 FIFO状态寄存器状态寄存器B(CAPFIF
14、OB)地地址址7522h。Capture FIFO Status Register B(CAPFIFOB)各位的定义如图各位的定义如图6-50所示。所示。6.12.2 捕获状态寄存器捕获状态寄存器 296.12.3 捕获单元捕获单元FIFO堆栈堆栈nFIFO是英文是英文First In First Out 的缩写,是一种先进先出的缩写,是一种先进先出的数据缓存器,与普通存储器的区别是没有外部读写地址线,的数据缓存器,与普通存储器的区别是没有外部读写地址线,特点是顺序写入数据,顺序读出数据。特点是顺序写入数据,顺序读出数据。n数据地址由内部读写指针自动加数据地址由内部读写指针自动加1完成。不像普
15、通存储器完成。不像普通存储器那样由地址线决定读取或写入某个指定的地址。那样由地址线决定读取或写入某个指定的地址。n当捕获单元捕获到输入引脚指定的电平变化时,就会将当捕获单元捕获到输入引脚指定的电平变化时,就会将定时器计数器的值保存到定时器计数器的值保存到FIFO堆栈中。堆栈中。306.12.3 捕获单元捕获单元FIFO堆栈堆栈nFIFO的宽度是的宽度是FIFO一次读写操作的数据位。一次读写操作的数据位。nFIFO的深度是的深度是FIFO可以存储多少个可以存储多少个N位的数据(如果宽度位的数据(如果宽度为为N)。)。n例如一个例如一个8位的位的FIFO,若深度为,若深度为8,它可以存储,它可以存
16、储8个个8位的数位的数据。据。n在没有使用在没有使用FIFO堆栈时,如果有数据需要堆栈时,如果有数据需要CPU处理,有一处理,有一个数据个数据CPU就要读取一次。如果有就要读取一次。如果有8个数据,个数据,CPU就要读取就要读取8次。次。n当使用当使用8级深度的级深度的FIFO堆栈时,有一个数据就将数据放入堆堆栈时,有一个数据就将数据放入堆栈中。新的数据到来时,之前的数据都往栈顶移动一个位置。栈中。新的数据到来时,之前的数据都往栈顶移动一个位置。新的数据始终放在栈底。新的数据始终放在栈底。n当堆栈放满当堆栈放满8个数据时,再通知个数据时,再通知CPU来读取。来读取。316.12.3 捕获单元捕
17、获单元FIFO堆栈堆栈nF2812的事件管理器的事件管理器EVA和和EVB的每个捕获单元都有一的每个捕获单元都有一个个2级深度级深度FIFO堆栈。如图堆栈。如图6-51所示。所示。nEVA的捕获单元的捕获单元1的顶层堆栈由的顶层堆栈由CAP1FIFO组成,底层堆组成,底层堆栈由栈由CAP1FBOT组成。组成。n捕获单元捕获单元2的顶层堆栈由的顶层堆栈由CAP2FIFO组成,底层堆栈由组成,底层堆栈由CAP2FBOT组成。组成。n捕获单元捕获单元3的顶层堆栈由的顶层堆栈由CAP3FIFO组成,底层堆栈由组成,底层堆栈由CAP3FBOT组成。组成。326.12.3 捕获单元捕获单元FIFO堆栈堆栈
18、nEVB的捕获单元的捕获单元4的顶层堆栈由的顶层堆栈由CAP4FIFO组成,底层堆栈组成,底层堆栈由由CAP4FBOT组成。组成。nEVB的捕获单元的捕获单元5的顶层堆栈由的顶层堆栈由CAP5FIFO组成,底层堆栈组成,底层堆栈由由CAP5FBOT组成。组成。nEVB的捕获单元的捕获单元6的顶层堆栈由的顶层堆栈由CAP6FIFO组成,底层堆栈组成,底层堆栈由由CAP6FBOT组成。组成。336.12.3 捕获单元捕获单元FIFO堆栈堆栈每个捕获单元有一个每个捕获单元有一个2级深度级深度FIFO堆栈堆栈。如图所示。如图所示。顶部寄存器(存旧值)顶部寄存器(存旧值)CAPxFIFO底部寄存器(存新
19、值)底部寄存器(存新值)CAPxFBOT2级深度级深度FIFO堆栈堆栈示意图示意图出出 进进 346.13.1 捕获单元操作捕获单元操作n当捕获输入引脚发生跳变时,捕获单元将该当捕获输入引脚发生跳变时,捕获单元将该时刻时基的通用定时器计数寄存器时刻时基的通用定时器计数寄存器TxCNT(x=1,2,3,4)的的值装入相应的值装入相应的FIFO堆栈中堆栈中,可以装入两个值。,可以装入两个值。n第三个值装入时,会将第一个值挤出堆栈。第三个值装入时,会将第一个值挤出堆栈。FIFO堆栈的状态可以从捕获堆栈的状态可以从捕获 FIFO状状态寄存器态寄存器 CAPFIFOAB 中得知中得知。35n捕获单元的捕
20、获单元的FIFO堆栈是堆栈是2级深度级深度FIFO先进先出先进先出的的堆栈,顶层堆栈包括堆栈,顶层堆栈包括CAP1FIFO、CAP2FIFO和和CAP3FIFO(对于对于 EVA 模块),模块),CAP4FIFO、CAP5FIFO和和CAP6FIFO(对于对于EVB 模块模块);n底层堆栈包括底层堆栈包括CAP1FBOT、CAP2FBOT和和CAP3FBOT(对于对于 EVA 模块模块),CAP4FBOT、CAP5FBOT和和CAP6FBOT(对于(对于 EVB 模块)模块)。6.13.1 捕获单元操作捕获单元操作36nFIFO栈的顶层寄存器是只读寄存器,它总是栈的顶层寄存器是只读寄存器,它总
21、是存放相应捕获单元捕获到的旧计数值。存放相应捕获单元捕获到的旧计数值。n对捕获单元对捕获单元FIFO栈的读访问总是读取栈中旧栈的读访问总是读取栈中旧的计数值。的计数值。n当当FIFO栈的顶层寄存器中的旧计数值被读取栈的顶层寄存器中的旧计数值被读取时,栈底层寄存器中的新计数值(如果有)将时,栈底层寄存器中的新计数值(如果有)将被压入顶层寄存器中。被压入顶层寄存器中。6.13.1 捕获单元操作捕获单元操作37(1)第一次捕获第一次捕获:此时堆栈应该为空。当捕获:此时堆栈应该为空。当捕获单元的输入引脚出现指定的跳变时,选定的通单元的输入引脚出现指定的跳变时,选定的通用定时器计数寄存器的值就会被捕用定
22、时器计数寄存器的值就会被捕获获。n捕获单元将捕获到的计数寄存器的值写入空捕获单元将捕获到的计数寄存器的值写入空栈的顶层寄存器栈的顶层寄存器CAPxFIFO中。中。n对对EVA模块:模块:x=1,2,3;n对对EVB模块:模块:x=4,5,6。6.13.1 捕获单元操作捕获单元操作38n与此同时,与此同时,FIFO状态寄存器状态寄存器CAPFIFOA/B相应的状态位相应的状态位 CAPxFIFO 被置成被置成(01),表,表明已有一个值压入栈。明已有一个值压入栈。n如果在下一次捕获前对如果在下一次捕获前对FIFO堆栈顶层寄存堆栈顶层寄存器进行了读访问,则状态位器进行了读访问,则状态位CAPxFI
23、FO 被复被复位为位为(00),FIFO堆栈又成为空栈。堆栈又成为空栈。6.13.1 捕获单元操作捕获单元操作39(2)第二次捕获第二次捕获:如果在:如果在FIFO堆栈顶层寄存器被堆栈顶层寄存器被读取之前产生了第二次捕获,即在读取之前产生了第二次捕获,即在CAPxFIFO中还中还有数据时发生第二次捕获,则新捕获的计数寄存器有数据时发生第二次捕获,则新捕获的计数寄存器的值送至栈底层寄存器的值送至栈底层寄存器CAPxFBOT。(对对EVA:x=1,2,3;对;对EVB:x=4,5,6)。n与此同时,相应的状态位与此同时,相应的状态位CAPxFIFO 被置成被置成(10),表明现在堆栈中有),表明现
24、在堆栈中有2个数据。个数据。6.13.1 捕获单元操作捕获单元操作40n若在再一次捕获发生前,对若在再一次捕获发生前,对FIFO堆栈顶层寄堆栈顶层寄存器存器CAPxFIFO进行读访问,则顶层寄存器中进行读访问,则顶层寄存器中的旧值被读出,的旧值被读出,底层寄存器中的新值底层寄存器中的新值被压入顶被压入顶层寄存器,并且相应的状态位层寄存器,并且相应的状态位CAPxFIFO将被将被置成置成(01),又变成只有一个值压入栈。,又变成只有一个值压入栈。n若此时再发生捕获,若此时再发生捕获,FIFO堆栈不会溢出。堆栈不会溢出。6.13.1 捕获单元操作捕获单元操作41n第二次捕获会将寄存器相应的捕获中断
25、标志位第二次捕获会将寄存器相应的捕获中断标志位置置1。n如果中断没有被屏蔽,则会产生一个中断请求。如果中断没有被屏蔽,则会产生一个中断请求。6.13.1 捕获单元操作捕获单元操作42(3)第三次捕获第三次捕获:如果发生了二次捕获已经存储了如果发生了二次捕获已经存储了2个数据而又未进行顶层寄存器个数据而又未进行顶层寄存器CAPxFIFO的读访问,的读访问,此时若再发生一次捕获,则位于堆栈顶层寄存器中此时若再发生一次捕获,则位于堆栈顶层寄存器中的旧值将被挤出丢弃,而堆栈底层寄存器中的值将的旧值将被挤出丢弃,而堆栈底层寄存器中的值将被压入顶层寄存器中。被压入顶层寄存器中。n新捕获的通用定时器时基计数
展开阅读全文