dsPIC33F+FRM+-+第+12+章+输入捕捉

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

ICM<2:0>
休眠 / 空闲 唤醒模式
置 1 标志位 ICxIF (在 IFSx 寄存器中) 001 111
DS70198C_CN 第 12-2 页
© 2009 Microchip Technology Inc.
第 12 章 输入捕捉
12.2 输入捕捉寄存器
dsPIC33F 系列器件提供的每个捕捉通道都具有以下寄存器: • ICxCON:输入捕捉控制寄存器 • ICxBUF:输入捕捉缓冲寄存器 寄存器 12-1: U-0 — bit 15 R/W-0 ICTMR bit 7 图注: R = 可读位 -n = POR 时的值 bit 15-14 bit 13 HC = 硬件清零位 W = 可写位 1=置1 U = 未实现位,读为 0 0 = 清零 x = 未知 R/W-0 R/W-0 ICI<1:0> R-0, HC ICOV R-0, HC ICBNE R/W-0 R/W-0 ICM<2:0> bit 0 ICxCON:输入捕捉 x 控制寄存器 U-0 — R/W-0 ICSIDL U-0 — U-0 — U-0 — U-0 — U-0 — bit 8 R/W-0
第 12 章 输入捕捉
目录
本章包括下列主题: 12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 12.10 12.11 简介 ............................................................................................................................. 12-2 输入捕捉寄存器 ........................................................................................................... 12-3 捕捉事件产生 .............................................................................................................. 12-4 捕捉缓冲区操作 ........................................................................................................... 12-6 输入捕捉中断 .............................................................................................................. 12-7 节能模式下的输入捕捉操作 ....................................................................................... 12-11 I/O 引脚控制 .............................................................................................................. 12-11 寄存器映射 ................................................................................................................ 12-12 设计技巧 .................................................................................................................... 12-13 相关应用笔记 ............................................................................................................ 12-14 版本历史 .................................................................................................................... 12-15
输入捕捉模块具有 4 级深先进先出 (First-In First-Out, FIFO)缓冲区。用户应用程序可以选择 产生 CPU 中断所需的捕捉事件数。 注: 每个不同型号的 dsPIC33F 器件具有一个或多个输入捕捉模块。在引脚、控制 / 状态 位和寄存器的名称中使用的 “x”表示特定的输入捕捉模块编号。更多详细信息,请 参见具体器件数据手册。
图 12-1:
输入捕捉框图
ICM<2:0> 预分频器模式 (第 16 个上升沿)
101
预分频器模式 (第 4 个上升沿)
TMR2 TMR3 100 ICTMR
上升沿模式 ICx 引IFO 控制
下降沿模式
010
ICxBUF FIFO
边沿检测模式
ICI<1:0> 001 /N
12.4.1
输入捕捉缓冲区非空 (ICBNE)
ICBNE 只读状态位 (ICxCON<3>)在第一个输入捕捉事件发生时被置 1,并且一直保持置 1 状 态,直到所有捕捉事件都被从捕捉缓冲区中读出。例如,如果发生了 3 个捕捉事件,则必须对捕 捉缓冲区执行 3 次读操作后才能将 ICBNE (ICxCON<3>)位清零。类似地,如果发生了 4 个捕 捉事件,则必须进行 4 次读操作才能将该位清零。捕捉缓冲区的每次读操作都将使余下的字移动 到下一个可用的顶部单元。
bit 12-8 bit 7
bit 6-5
bit 4
bit 3
bit 2-0
© 2009 Microchip Technology Inc.
DS70198C_CN 第 12-3 页
dsPIC33F 系列参考手册
12.3 捕捉事件产生
12.3.1 定时器选择
每个 dsPIC33F 系列器件都有一个或多个输入捕捉通道。每个通道可以选择 Timer2 和 Timer3 之 一作为其时基。可通过输入捕捉控制寄存器中的输入捕捉定时器选择位 ICTMR (ICxCON<7>) 实现定时器资源的选择。定时器可被设置为使用内部时钟源 (FOSC/2) ,或使用在 TxCK 引脚上 外接的时钟源。
12.4.2
输入捕捉溢出 (ICOV)
当捕捉缓冲区溢出时, ICOV 只读状态位 (ICxCON<4>)被置 1。当缓冲区已满,即含有 4 个捕捉 事件时,如果在读缓冲区之前发生了第 5 个捕捉事件,则会产生溢出,并且 ICOV (ICxCON<4>) 位被设为逻辑 1。 要清除溢出条件,必须对捕捉缓冲区进行 4 次读操作。第 4 次读取时, ICOV (ICxCON<4>)状 态标志被清零。当 FIFO 缓冲区满时,捕捉事件不会将定时器值写入 FIFO 缓冲区中。 图 12-3:
更多详细信息,请参见具体器件数据手册中的 “电气特性”章节。

1: 输入捕捉 (ICx)引脚有最小高低电平时间规范。更多详细信息,请参见具体器件 数据手册。 2: 从 ICx 引脚上发生电平跳变到产生捕捉事件之间的延时为两个指令周期。
© 2009 Microchip Technology Inc.
DS70198C_CN 第 12-5 页
12
输入捕捉
© 2009 Microchip Technology Inc.
DS70198C_CN 第 12-1 页
dsPIC33F 系列参考手册
12.1 简介
本章介绍输入捕捉模块及其相关的工作模式。输入捕捉模块用于在输入引脚上有事件发生时,捕 捉来自两个可选时基之一的定时器值。输入捕捉功能在需要进行频率 (周期)和脉冲测量的应用 中很有用。图 12-1 给出了输入捕捉模块的简化框图。 输入捕捉模块具有多种工作模式。通过输入捕捉控制 (ICxCON)寄存器来选择工作模式,这些 工作模式包括: • • • • • • 每当 ICx 引脚上的输入信号出现下降沿时捕捉定时器值 每当 ICx 引脚上的输入信号出现上升沿时捕捉定时器值 ICx 引脚上的输入信号每出现 4 个上升沿捕捉一次定时器值 ICx 引脚上的输入信号每出现 16 个上升沿捕捉一次定时器值 每当 ICx 引脚上的输入信号出现上升沿和下降沿时都捕捉定时器值 ICx 引脚上的输入信号出现上升沿时将器件从休眠和空闲模式唤醒
DS70198C_CN 第 12-4 页
© 2009 Microchip Technology Inc.
第 12 章 输入捕捉
图 12-2: 输入捕捉事件产生
ICx 引脚
捕捉事件 (上升沿模式)
捕捉事件 (下降沿模式)
12
输入捕捉
捕捉事件 (边沿检测模式)
捕捉事件 (预分频器模式, 4 分频)
注:
dsPIC33F 系列参考手册
12.4 捕捉缓冲区操作
输入捕捉模块可以选择 Timer2 或 Timer3 作为其时基。图 12-3 显示了在每次发生捕捉事件时, 选定的定时器值如何被捕捉并存储到 4 级深的 FIFO 缓冲区中。由于 ICxBUF 寄存器是存储器映 射的,所以它可以提供对 FIFO 缓冲区的访问。 有两个状态标志与 FIFO 缓冲区关联: • 输入捕捉 x 缓冲区空状态 (ICBNE)标志 • 输入捕捉 x 溢出状态 (ICOV)标志 以下情况下,这些状态标志会被清零: • 任何器件复位时 • 通过输入捕捉模式选择 (ICM<2:0>)位禁止模块时
12
输入捕捉
未实现:读为 0 ICSIDL:输入捕捉 x 在空闲模式下停止的控制位 1 = 在 CPU 空闲模式下输入捕捉停止工作 0 = 在 CPU 空闲模式下输入捕捉继续工作 未实现:读为 0 ICTMR:输入捕捉 x 定时器选择位 1 = 发生捕捉事件时捕捉 TMR2 的内容 0 = 发生捕捉事件时捕捉 TMR3 的内容 ICI<1:0>:选择每次发生中断捕捉的个数的位 11 = 每 4 个捕捉事件中断一次 10 = 每 3 个捕捉事件中断一次 01 = 每 2 个捕捉事件中断一次 00 = 每个捕捉事件中断一次 ICOV:输入捕捉 x 溢出状态标志位 (只读) 1 = 发生了输入捕捉溢出 0 = 未发生输入捕捉溢出 ICBNE:输入捕捉 x 缓冲区空状态标志位 (只读) 1 = 输入捕捉缓冲区非空,至少可以再读一个捕捉值 0 = 输入捕捉缓冲区为空 ICM<2:0>:输入捕捉 x 模式选择位 111 = 当器件处于休眠或空闲模式时,输入捕捉仅用作中断引脚(只检测上升沿,所有其他控制位都不 适用) 110 = 未使用 (输入捕捉模块被禁止) 101 = 捕捉模式,每 16 个上升沿捕捉一次 100 = 捕捉模式,每 4 个上升沿捕捉一次 011 = 捕捉模式,每个上升沿捕捉一次 010 = 捕捉模式,每个下降沿捕捉一次 001 = 捕捉模式,每个边沿 (上升沿和下降沿)捕捉一次 (ICI<1:0> 位不控制该模式下的中断产生) 000 = 输入捕捉模块关闭
12.3.2
输入捕捉事件模式
当捕捉事件发生时,输入捕捉模块捕捉所选定时器(Timer2 或 Timer3)的 16 位值。捕捉事件定 义为将定时器值写入捕捉缓冲区中。 输入捕捉模式通过设置输入捕捉控制寄存器中相应的输入捕捉模式位 ICM<2:0> (ICxCON<2:0>) 来配置。 表 12-1 列出了不同位设置的输入捕捉模式和捕捉事件。 用户应用程序必须在更改捕捉模 式之前先禁止输入捕捉模块(即, ICM<2:0>=000) 。图 12-2 给出了各种捕捉模式的捕捉事件的 图示。 表 12-1: ICM<2:0> 值 000 001 010 011 100 101 110 111 输入捕捉模式 输入捕捉模式 模块被禁止 边沿捕捉模式 下降沿模式 上升沿模式 预分频器模式 (4 分频) 预分频器模式 (16 分频) 未使用 (模块被禁止) 休眠 / 空闲唤醒模式 捕捉事件产生 — 在捕捉输入信号的上升沿和下降沿 在捕捉输入信号的下降沿 在捕捉输入信号的上升沿 在捕捉输入信号的每 4 个上升沿 在捕捉输入信号的每 16 个上升沿 — 无捕捉事件
相关文档
最新文档