MSP430F2 系列 16 位超低功耗单片机模块原理第 15 章 Compare A+ 比较器 A+ 版本 : 1.2 日期 : 2007.7. 原文 : TI MSP430x2xxfamily.pdf 翻译 : 欧浩源中国计量学院编辑 : DC 微控技术论坛版主 注 : 以下文章是翻译 TI MSP430x2xxfamily.pdf 文件中的部分内容 由于我们翻译水平有限, 有整理过程中难免有所不足或错误 ; 所以以下内容只供参考. 一切以原文为准 详情请密切留意微控技术论坛 Page 1 of 10
第 15 章 比较器 A 比较器 A 是一个模拟电压比较器 这一章描述的是比较器 A 在 MSP430x2xx 系列中, 除了 MSP430x20x0 和 MSP430x22x4 的所有设备均具有该比较器 主题比较器 A 概述比较器 A 操作比较器 A 的寄存器 15.1 比较器 A 概述比较器 A 模块支持精确的斜率数模转换, 电压监控和外部模拟信号的监控 比较器 A 的特点如下 : 反向和非反向的终端输入复用器 比较器输出有软件选择的 RC 滤波器 比较器的输出可以作为定时器 A 的捕获输入 端口输入缓冲由软件控制 具有中断功能 可选择的参考电压发生器 比较器和参考电压发生器可关闭 多路输入选择器 比较器 A 的结构框图如图 15-1 所示 Page 2 of 10
15.2 比较器 A 操作比较器 A 模块可以通过软件来进行设置 该比较器的设置和操作通过下面几个部分来进行讨论 15.2.1 比较器比较器比较正端和负端输入的模拟电压 如果正端的电压高于负端的电压, 比较器输出 CAOUT 为高 通过控制位 CAON 可以打开或者关闭比较器 比较器不使用时应该将其关闭以减小消耗电流 当比较器关闭时,CAOUT 总是输出低电平 15.2.2 输入模拟开关通过 P2CAx 位可以控制模拟输入开关, 使两个比较器的输入端连接到或者不连接到相关的端口管脚 比较器的两个输入端可以单独的控制 P2CAx 位允许下面的操作 : 将外部的信号应用到比较器的正负两端 将一个内部参考电压连接到相应的输出端口管脚 在内部, 输入开关使 T 型开关结构的, 这样可以抑制信号链路上的失真 注释 : 比较器输入连接 当比较器打开时, 其输入端应该连接到信号源 电源或者地 否则, 悬空会产生意想不到的中断以及增加电流的消耗 Page 3 of 10
CAEX 位控制输入多路复用器, 交换连接到比较器正端和负端的输入信号 另外, 当比较器两端的信号被交换时, 比较器的输出信号会被反转 这样允许用户测定或者补偿比较器输入的偏移电压 15.2.3 输入短路开关 CASHORT 位短路比较器 A 的输入 它可以用来为比较器建立一个简单的采样保持器, 如图 15-2 所示 需要的采样时间和采样电容 (C S ) 带有短路开关的输入开关序列的电阻 (R i ) 和外部信号源的阻抗 (R S ) 的大小成比例 总共的内部阻抗的典型范围时 2 到 10 千欧 采样电容 C S 应该大于 100 皮法 改变采样电容 C S, 可以通过下面的公式计算时间常数 Tau: 根据需要的精度, 应该用 3 到 5 倍的 Tau 的时间作为采样时间 3 倍的 Tau 采样电容大约可以对输入信号电压进行 95% 的充电 5 倍的 Tau 采样电容可以对输入信号电压进行大于 99% 的充电 10 倍的 Tau 采样的电压可以充分满足 12 位的精度要求 15.2.4 输出滤波器比较器的输出可以使用内部的滤波器, 也可以不使用 当控制位 CAF 位置位时, 输出通过片上的 RC 低通滤波器进行滤波 如果差分电压通过输入端很小, 则任何的比较器的输出都会产生振荡 内部和外部的寄生作用以及信号线 电源线和系统的其他部分产生的耦合都会导致图 15-3 的行为 比较器输出的振荡会降低比较结果精确度和解析度 选择输出滤波会减少由于比较器振荡引起的错误 Page 4 of 10
15.2.5 参考电压发生器参考电压发生器用来产生电压 V CAREF, 该电压提供给比较器的每个输入端 CAREFx 位控制电压发生器的电压输出 CARSEL 位选择比较器端使用那个 V CAREF 如果比较器的两个输入端都使用外部输入信号, 那么内部参考电压应该关闭以降低电流的消耗 该参考电压发生器能够产生部分的设备 V CC 或者确定的发送器 ~0.55V 的门限电压 15.2.6 比较器 A 端口禁用寄存器 CAPD 比较器的输入和输出功能和相关的端口管脚复合使用, 这些管脚都是数字 CMOS 门结构的 当模拟信号加载到数字 CMOS 门时, 会产生从 V CC 流向 GND 的寄生电流 如果输入电压竭尽门的转换电压就会出现寄生电流 禁止端口管脚缓冲区能够消除寄生电流的流动, 从而可以减少整个电流的消耗 当 CAPDx 位被置位时, 相应的 P1 端口输入和输出缓冲器如图 15-4 所示 当对电流的消耗非常敏感时, 任何连接到模拟信号的管脚都应该通过 CAPDx 位禁止 通过 P2CAx 位为比较器复用器选择输入管脚时, 不管其对应的 CAPDx 位状态如何, 该管脚的输入和输出缓冲区都会自动禁止 15.2.7 比较器 A 的中断如图 15-5 所示, 与比较器相关的有一个中断标志一个中断向量 比较器输出的上升沿或者时下降沿都会使中断标志 CAIFG 置位, 输出的上升沿还是下降沿产生中断可以通过 CAIES 位选择 如果 CAIE 和 GIE 同时置位, 随后 CAIFG 则会产生一个中断请求 当中断请求被响应 CAIFG 位会自动复位, 通过软件该位也会复位 Page 5 of 10
15.2.8 比较器 A 用于测量电阻元件利用模拟数字转换的信号斜坡, 比较器 A 能够精确的测量电阻元件 例如, 如图 15-5 所示, 利用热敏电阻, 通过比较热敏电阻电容和参考电阻电容的放电时间, 可以将温度转换成数字信号 参考电阻 R ref 与 R meas 进行比较 下面是通过 R meas 计算温度传感所使用的 MSP430 的资源 : 两个数字 I/O 端口, 用来对电容进行充电和放电 I/O 端口置位输出高电平 (V CC ) 对电容进行充电, 复位则对其放电 I/O 端口不使用时通过置位 CAPDx 位使其切换到高阻态输出 一个输出通过 R ref 对电容进行充放电 一个端口通过 R meas 对电容进行充放电 比较器的正端连接到电容的正极 比较器的负端连接到参考电平, 例如 0.25 V CC 使用滤波器输出使其噪声减到最小 CAOUT 使用门控制 Timer_A CCI1B 捕获电容放电的时间 多于一个电阻元件也可以被测量 另外的一个元件通过可以使用的 I/O 端口连接到 CA0 当其不进行测量的时候该端口管脚切换到高阻态 热敏电阻的测量是基于传感器测量转换原理的 两个电容放电时间的计算如图 15-7 所示 : Page 6 of 10
在转换的过程中, 电源电源 V CC 和电容值应该保持恒定值不变, 但是当他们在分数中可以抵消是不是很关键 15.3 比较器 A 的寄存器在表 15-1 中列出了比较器 A 的寄存器 寄存器格式寄存器类型地址初始状态 比较器 A+ 控制寄存器 1 CACTL1 读 / 写 059h 复位和 POR 比较器 A+ 控制寄存器 2 CACTL2 读 / 写 05Ah 复位和 POR 比较器 A+ 禁止寄存器 CAPD 读 / 写 05Bh 复位和 POR Page 7 of 10
CACTL1, 比较器控制寄存器 1 CAEX: 位 7 交换比较器的输入端 该位交换比较器的输入信号和反转比较器的输出 CARSEL: 位 6 比较器参考选择 该位选择 V CAREF 被用于那一端 当 CAEX=0 时 : 0 V CAREF 用于正端 1 V CAREF 用于负端 当 CAEX=1 时 : 0 V CAREF 用于负端 1 V CAREF 用于正端 CAREF: 位 5-4 比较器 A 参考选择 该位选择参考电压 V CAREF 00 内部参考电源关闭 使用外部参考电源 01 选择 0.25V CC 作为参考电压 02 选择 0.5V CC 作为参考电压 03 选择二极管电压作为参考电压 CAON: 位 3 比较器开关控制 该位可以打开比较器 当比较器关闭的时, 它几乎不消耗电流 其参考电路可以独立的 使能或者禁止 0 关闭 1 打开 CAIES: 位 2 比较器 A 的中断触发沿选择 0 上升沿 1 下降沿 CAIE: 位 1 比较器 A 的中断使能 0 禁止 1 使能 CAIFG: 位 0 比较器 A 的中断标志 0 没有中断请求 1 有中断请求 CACTL2, 比较器控制寄存器 2 CASHORT: 位 7 输入短路 该位将输入的正端和负端短路 Page 8 of 10
0 输入没被短路 1 输入被短路 P2CA4: 位 6 输入选择 该位结合 P2CA0, 在 CAEX=0 时选择正端的输入, 在 CAEX=1 时选择负端的输入 P2CA3: 位 5-3 输入选择 P2CA2: 当 CAEX=0 时选择负端的输入, 当 CAEX=1 时选择正端的输入 P2CA1: 000 没有连接 001 CA1 010 CA2 011 CA3 100 CA4 101 CA5 110 CA6 111 CA7 P2CA0: 位 2 输入选择 该位结合 P2CA4, 在 CAEX=0 时选择正端输入, 在 CAEX=1 时选择负端输入 00 无连接 01 CA0 10 CA1 11 CA2 CAF: 位 1 比较器输出滤波 0 比较器输出不经过滤波器 1 比较器输出经过滤波器 CAOUT: 位 0 比较器 A 的输出 该位反映比较器输出的值, 对该位进行写操作无效 CAPA, 比较器 A 端口禁止寄存器 CAPDx: 位 7-0 比较器 A 端口禁止 这些位可以独立的禁止与比较器 A 相连端口管脚的输入缓冲区 例如, 如果 CA0 是连在管脚 P2.3 上的,CAPDx 位可以用来独立的使能或者是禁止每个 P2.x 的管脚缓冲区 CAPD0 禁止 P2.0,CAPD1 禁止 P2.1 等等 0 输入缓冲区使能 1 输入缓冲区禁止 Page 9 of 10
MSP430F22x4 评估板专业提供 MSP430 单片机开发工具 Page 10 of 10
MSP430F2 系列 16 位超低功耗单片机模块原理第 15 章 Compare A+ 比较器 A+ 版本 : 1.2 日期 : 2007.7. 原文 : TI MSP430x2xxfamily.pdf 翻译 : 欧浩源中国计量学院编辑 : DC 微控技术论坛版主 注 : 以下文章是翻译 TI MSP430x2xxfamily.pdf 文件中的部分内容 由于我们翻译水平有限, 有整理过程中难免有所不足或错误 ; 所以以下内容只供参考. 一切以原文为准 详情请密切留意微控技术论坛 Page 1 of 10
第 15 章 比较器 A 比较器 A 是一个模拟电压比较器 这一章描述的是比较器 A 在 MSP430x2xx 系列中, 除了 MSP430x20x0 和 MSP430x22x4 的所有设备均具有该比较器 主题比较器 A 概述比较器 A 操作比较器 A 的寄存器 15.1 比较器 A 概述比较器 A 模块支持精确的斜率数模转换, 电压监控和外部模拟信号的监控 比较器 A 的特点如下 : 反向和非反向的终端输入复用器 比较器输出有软件选择的 RC 滤波器 比较器的输出可以作为定时器 A 的捕获输入 端口输入缓冲由软件控制 具有中断功能 可选择的参考电压发生器 比较器和参考电压发生器可关闭 多路输入选择器 比较器 A 的结构框图如图 15-1 所示 Page 2 of 10
15.2 比较器 A 操作比较器 A 模块可以通过软件来进行设置 该比较器的设置和操作通过下面几个部分来进行讨论 15.2.1 比较器比较器比较正端和负端输入的模拟电压 如果正端的电压高于负端的电压, 比较器输出 CAOUT 为高 通过控制位 CAON 可以打开或者关闭比较器 比较器不使用时应该将其关闭以减小消耗电流 当比较器关闭时,CAOUT 总是输出低电平 15.2.2 输入模拟开关通过 P2CAx 位可以控制模拟输入开关, 使两个比较器的输入端连接到或者不连接到相关的端口管脚 比较器的两个输入端可以单独的控制 P2CAx 位允许下面的操作 : 将外部的信号应用到比较器的正负两端 将一个内部参考电压连接到相应的输出端口管脚 在内部, 输入开关使 T 型开关结构的, 这样可以抑制信号链路上的失真 注释 : 比较器输入连接 当比较器打开时, 其输入端应该连接到信号源 电源或者地 否则, 悬空会产生意想不到的中断以及增加电流的消耗 Page 3 of 10
CAEX 位控制输入多路复用器, 交换连接到比较器正端和负端的输入信号 另外, 当比较器两端的信号被交换时, 比较器的输出信号会被反转 这样允许用户测定或者补偿比较器输入的偏移电压 15.2.3 输入短路开关 CASHORT 位短路比较器 A 的输入 它可以用来为比较器建立一个简单的采样保持器, 如图 15-2 所示 需要的采样时间和采样电容 (C S ) 带有短路开关的输入开关序列的电阻 (R i ) 和外部信号源的阻抗 (R S ) 的大小成比例 总共的内部阻抗的典型范围时 2 到 10 千欧 采样电容 C S 应该大于 100 皮法 改变采样电容 C S, 可以通过下面的公式计算时间常数 Tau: 根据需要的精度, 应该用 3 到 5 倍的 Tau 的时间作为采样时间 3 倍的 Tau 采样电容大约可以对输入信号电压进行 95% 的充电 5 倍的 Tau 采样电容可以对输入信号电压进行大于 99% 的充电 10 倍的 Tau 采样的电压可以充分满足 12 位的精度要求 15.2.4 输出滤波器比较器的输出可以使用内部的滤波器, 也可以不使用 当控制位 CAF 位置位时, 输出通过片上的 RC 低通滤波器进行滤波 如果差分电压通过输入端很小, 则任何的比较器的输出都会产生振荡 内部和外部的寄生作用以及信号线 电源线和系统的其他部分产生的耦合都会导致图 15-3 的行为 比较器输出的振荡会降低比较结果精确度和解析度 选择输出滤波会减少由于比较器振荡引起的错误 Page 4 of 10
15.2.5 参考电压发生器参考电压发生器用来产生电压 V CAREF, 该电压提供给比较器的每个输入端 CAREFx 位控制电压发生器的电压输出 CARSEL 位选择比较器端使用那个 V CAREF 如果比较器的两个输入端都使用外部输入信号, 那么内部参考电压应该关闭以降低电流的消耗 该参考电压发生器能够产生部分的设备 V CC 或者确定的发送器 ~0.55V 的门限电压 15.2.6 比较器 A 端口禁用寄存器 CAPD 比较器的输入和输出功能和相关的端口管脚复合使用, 这些管脚都是数字 CMOS 门结构的 当模拟信号加载到数字 CMOS 门时, 会产生从 V CC 流向 GND 的寄生电流 如果输入电压竭尽门的转换电压就会出现寄生电流 禁止端口管脚缓冲区能够消除寄生电流的流动, 从而可以减少整个电流的消耗 当 CAPDx 位被置位时, 相应的 P1 端口输入和输出缓冲器如图 15-4 所示 当对电流的消耗非常敏感时, 任何连接到模拟信号的管脚都应该通过 CAPDx 位禁止 通过 P2CAx 位为比较器复用器选择输入管脚时, 不管其对应的 CAPDx 位状态如何, 该管脚的输入和输出缓冲区都会自动禁止 15.2.7 比较器 A 的中断如图 15-5 所示, 与比较器相关的有一个中断标志一个中断向量 比较器输出的上升沿或者时下降沿都会使中断标志 CAIFG 置位, 输出的上升沿还是下降沿产生中断可以通过 CAIES 位选择 如果 CAIE 和 GIE 同时置位, 随后 CAIFG 则会产生一个中断请求 当中断请求被响应 CAIFG 位会自动复位, 通过软件该位也会复位 Page 5 of 10
15.2.8 比较器 A 用于测量电阻元件利用模拟数字转换的信号斜坡, 比较器 A 能够精确的测量电阻元件 例如, 如图 15-5 所示, 利用热敏电阻, 通过比较热敏电阻电容和参考电阻电容的放电时间, 可以将温度转换成数字信号 参考电阻 R ref 与 R meas 进行比较 下面是通过 R meas 计算温度传感所使用的 MSP430 的资源 : 两个数字 I/O 端口, 用来对电容进行充电和放电 I/O 端口置位输出高电平 (V CC ) 对电容进行充电, 复位则对其放电 I/O 端口不使用时通过置位 CAPDx 位使其切换到高阻态输出 一个输出通过 R ref 对电容进行充放电 一个端口通过 R meas 对电容进行充放电 比较器的正端连接到电容的正极 比较器的负端连接到参考电平, 例如 0.25 V CC 使用滤波器输出使其噪声减到最小 CAOUT 使用门控制 Timer_A CCI1B 捕获电容放电的时间 多于一个电阻元件也可以被测量 另外的一个元件通过可以使用的 I/O 端口连接到 CA0 当其不进行测量的时候该端口管脚切换到高阻态 热敏电阻的测量是基于传感器测量转换原理的 两个电容放电时间的计算如图 15-7 所示 : Page 6 of 10
在转换的过程中, 电源电源 V CC 和电容值应该保持恒定值不变, 但是当他们在分数中可以抵消是不是很关键 15.3 比较器 A 的寄存器在表 15-1 中列出了比较器 A 的寄存器 寄存器格式寄存器类型地址初始状态 比较器 A+ 控制寄存器 1 CACTL1 读 / 写 059h 复位和 POR 比较器 A+ 控制寄存器 2 CACTL2 读 / 写 05Ah 复位和 POR 比较器 A+ 禁止寄存器 CAPD 读 / 写 05Bh 复位和 POR Page 7 of 10
CACTL1, 比较器控制寄存器 1 CAEX: 位 7 交换比较器的输入端 该位交换比较器的输入信号和反转比较器的输出 CARSEL: 位 6 比较器参考选择 该位选择 V CAREF 被用于那一端 当 CAEX=0 时 : 0 V CAREF 用于正端 1 V CAREF 用于负端 当 CAEX=1 时 : 0 V CAREF 用于负端 1 V CAREF 用于正端 CAREF: 位 5-4 比较器 A 参考选择 该位选择参考电压 V CAREF 00 内部参考电源关闭 使用外部参考电源 01 选择 0.25V CC 作为参考电压 02 选择 0.5V CC 作为参考电压 03 选择二极管电压作为参考电压 CAON: 位 3 比较器开关控制 该位可以打开比较器 当比较器关闭的时, 它几乎不消耗电流 其参考电路可以独立的 使能或者禁止 0 关闭 1 打开 CAIES: 位 2 比较器 A 的中断触发沿选择 0 上升沿 1 下降沿 CAIE: 位 1 比较器 A 的中断使能 0 禁止 1 使能 CAIFG: 位 0 比较器 A 的中断标志 0 没有中断请求 1 有中断请求 CACTL2, 比较器控制寄存器 2 CASHORT: 位 7 输入短路 该位将输入的正端和负端短路 Page 8 of 10
0 输入没被短路 1 输入被短路 P2CA4: 位 6 输入选择 该位结合 P2CA0, 在 CAEX=0 时选择正端的输入, 在 CAEX=1 时选择负端的输入 P2CA3: 位 5-3 输入选择 P2CA2: 当 CAEX=0 时选择负端的输入, 当 CAEX=1 时选择正端的输入 P2CA1: 000 没有连接 001 CA1 010 CA2 011 CA3 100 CA4 101 CA5 110 CA6 111 CA7 P2CA0: 位 2 输入选择 该位结合 P2CA4, 在 CAEX=0 时选择正端输入, 在 CAEX=1 时选择负端输入 00 无连接 01 CA0 10 CA1 11 CA2 CAF: 位 1 比较器输出滤波 0 比较器输出不经过滤波器 1 比较器输出经过滤波器 CAOUT: 位 0 比较器 A 的输出 该位反映比较器输出的值, 对该位进行写操作无效 CAPA, 比较器 A 端口禁止寄存器 CAPDx: 位 7-0 比较器 A 端口禁止 这些位可以独立的禁止与比较器 A 相连端口管脚的输入缓冲区 例如, 如果 CA0 是连在管脚 P2.3 上的,CAPDx 位可以用来独立的使能或者是禁止每个 P2.x 的管脚缓冲区 CAPD0 禁止 P2.0,CAPD1 禁止 P2.1 等等 0 输入缓冲区使能 1 输入缓冲区禁止 Page 9 of 10
MSP430F22x4 评估板专业提供 MSP430 单片机开发工具 Page 10 of 10