PSoC Creator™ 组件数据手册 ® 比较器 (Comp) 1.80 特性 低输入失调电压 用户可控的输入失调矫正 多种速度模式 低功耗模式 输出可路由至数字逻辑模块或引脚 可选择输出极性 可配置在睡眠期间的操作模式 概述 比较器 (Comp) 组件提供了一种用硬件来比较两个模拟输入电压的解决方案。输出可在软件中采 样,或者以数字方式路由至另一个组件。提供了三个速度级别,使您能够优化速度或功耗。可以 将内部参考电压或一外部电压连接到任一输入。 您还可以使用极性参数反转比较器的输出。 何时使用比较器 与使用 ADC 相比,比较器可以提供两个电压之间的更快比较。虽然 ADC 可以与软件一起用来比 较多个电压电平,但是比较器更适用于需要快速响应或很少软件干预的应用场合。一些应用场合 示例有:CapSense®、电源或从模拟电平到数字信号的简单转换。 通常的配置是通过将电压 DAC 连接到负输入终端来创建可调整比较器。 Cypress Semiconductor Corporation • 198 Champion Court • San Jose, CA 95134-1709 • 408-943-2600 Document Number: 001-78696 Rev. ** Revised April 26, 2012 比较器 (Comp) PSoC Creator™ 组件数据手册 ® 输入/输出连接 本节介绍比较器的输入和输出连接。I/O 列表中的星号 (*) 表示该 I/O 是可隐藏 I/O, 其隐藏条件在 该 I/O 的说明中。 正输入 – 模拟 此输入通常连接到正在被比较的电压。它可以通过全局模拟总线路由到 GPIO 和内部信号,以及 参考集合。 负输入 – 模拟 此输入通常连接到参考电压。它可以通过全局模拟总线路由到 GPIO 和内部信号,以及参考集 合。 比较器输出 – 数字输出 比较的输出。对于非反转配置,当正输入电压大于负输入电压时,此输出变为高电平。如果极性 设置为反转,则当负输入电压大于正输入电压时,输出将变为高电平。输出可以路由到数字互连 或中断。 时钟 – 数字输入 * 当 Sync(同步)参数设置为 Normal(正常)时,比较器输出将与时钟上升沿同步。这会强制在 时钟上升沿对比较器输出进行采样。 当 Sync(同步)参数设置为 Bypass(绕过)时,不同步输出,时钟输入终端不再显示在组件符 号中。 Page 2 of 17 Document Number: 001-78696 Rev. ** PSoC Creator™ 组件数据手册 ® 同步:正常 比较器 (Comp) 同步:绕过 Document Number: 001-78696 Rev. ** Page 3 of 17 比较器 (Comp) PSoC Creator™ 组件数据手册 ® 元件参数 将比较器拖入设计中,双击它以打开 Configure(配置)对话框。 Page 4 of 17 Document Number: 001-78696 Rev. ** PSoC Creator™ 组件数据手册 比较器 (Comp) ® 比较器提供下列参数。 Hysteresis(迟滞) 通过此参数,可以将大约 10 mV 迟滞添加到比较器中。这有助于确保缓慢变化的电压或稍有噪声 的电压不会导致比较器输出在两个输入电压几乎相等时振荡。 禁用迟滞 使能迟滞 速度 此参数为您优化速度和功耗提供了方法。 速度选项 说明 超低功耗 此设置用于低功耗应用场合。 慢速(默认) 此设置用于要求反应时间大于80 ns的信号。 快速 此设置用于要求反应时间小于80 ns的信号。 PowerDownOverride(断电覆盖) 启用“断电覆盖”参数会导致比较器在睡眠模式期间保持活动。启用了 PowerDownOverride(断电 覆盖)选项时,自定义程序会自动将功耗模式设置为超低功耗并且其余功耗选项会变为不可用。 这是因为对于睡眠模式中的比较器,超低功耗是唯一有效的功耗模式。 注:此参数仅对 PSoC 3 芯片有效。对于 PSoC 5 芯片,不支持此功能,并且 GUI 选项不可用。 Document Number: 001-78696 Rev. ** Page 5 of 17 比较器 (Comp) PSoC Creator™ 组件数据手册 ® 极性 此参数允许您反转比较器的输出。这对于需要将比较器的输出进行翻转的外设非常有用。软件 API 返回的采样信号状态和电源管理器显示的比较器输出(有关备用活动和睡眠,请参见 System Reference Guide(《系统参考指南》)一节)不受此参数影响。 注:比较器的反转逻辑使用 UDB 实现。 极性选项 说明 反转 当正输入小于负输入时输出变为高电平 不反转(默认) 当正输入大于负输入时输出变为高电平 同步 此参数用于选择是将输出与时钟同步,还是直接连接到比较器输出。当选择 Norm(正常)时,输 出将在时钟输入上升沿更改。 同步选项 说明 Norm(正常)(默认值) 将比较器输出与时钟输入同步。 绕过 将模拟比较器直接连接到输出信号。 资源 API 存储器(字 数字模块 节) 控制寄存 引脚(每个外 模拟模块 数据路径 宏单元 状态寄存器 器 计数器 7 闪存 RAM 部 I/O) 比较器固定 不可用 不可用 不可用 不可用 不可用 597 2 3 硬件* *一个比较器组件使用一个硬件模拟比较器模块。 Page 6 of 17 Document Number: 001-78696 Rev. ** PSoC Creator™ 组件数据手册 比较器 (Comp) ® 应用程序编程接口 应用程序编程接口 (API) 子程序允许您使用软件配置组件。下表列出每个函数的接口。以下各节将 更详细地介绍每个函数。 默认情况下,PSoC Creator 将实例名称“Comp_1”分配给指定设计中的第一个组件实例。您可以 将该实例重命名为符合标识符语法规则的任意唯一值。实例名称会成为每个全局函数名称、变量 和常量符号的前缀。为增加可读性,下表中使用了实例名称“Comp”。 函数 说明 Comp_Start() 使用默认自定义程序值初始化比较器。 Comp_Stop() 关闭比较器。 Comp_SetSpeed() 设置比较器的速度。 Comp_ZeroCal() 对比较器的输入失调进行校正。 Comp_GetCompare() 返回比较结果。 Comp_LoadTrim() 设定此较器的校正寄存器的值。 Comp_Sleep() 停止比较器操作,保存用户配置。 Comp_Wakeup() 恢复并启用用户配置。 Comp_Init() 初始化或恢复默认比较器配置。 Comp_Enable() 启用比较器。 Comp_SaveConfig() 空函数。预留将来使用。 Comp_RestoreConfig() 空函数。预留将来使用。 Comp_PwrDwnOverrideEnable() 在睡眠模式下启用比较器操作。仅对于 PSoC 3 芯片有效。 Comp_PwrDwnOverrideDisable() 在睡眠模式下禁用比较器操作。仅对于 PSoC 3 芯片有效。 Document Number: 001-78696 Rev. ** Page 7 of 17 比较器 (Comp) PSoC Creator™ 组件数据手册 ® 全局变量 变量 说明 Comp_initVar 指示比较器是否已初始化。该变量初始时为 0 并在第一次调用 Comp_Start() 时设置为 1。这允许第 一次调用 Comp_Start() 子程序后组件无需重新初始化便可重新启动。 如果需要重新初始化组件,则可以在 Comp_Start() 或 Comp_Enable() 函数之前调用 Comp_Init() 函数。 void Comp_Start(void) 说明: 这是开始执行组件操作的首选方法。Comp_Start() 设置 initVar 变量,调用 Comp_Init() 函数 ,然后调用 Comp_Enable() 函数。 参数: 无 返回值: 无 副作用: 如果已设置 initVar 变量,则此函数仅调用 Comp_Enable() 函数。 void Comp_Stop(void) 说明: 禁用并关闭比较器。 注:不建议将此 API 用于 PSoC 3 ES2 和 PSoC 5 芯片。这些器件有一个缺陷,导致与某些 模拟资源的连接在断电时不可靠。当停止使用该资源的组件时,该不可靠性会在静默失败中表 现出来(例如模拟组件中出现不可预见的失败结果)。使用此芯片时,设计中的所有模拟组件 都应始终加电(通过调用其相应的 _Start() API,例如 Comp_Start())。请勿调用 Comp_Stop() API。 参数: 无 返回值: 无 副作用: 无 Page 8 of 17 Document Number: 001-78696 Rev. ** PSoC Creator™ 组件数据手册 比较器 (Comp) ® void Comp_SetSpeed(uint8 speed) 说明: 此函数为比较器选择三种速度模式之一。较快速度模式下,比较器功耗会上升。 参数: uint8 speed:速度参数,有关有效设置,请参见下表。 速度选项 说明 Comp_LOWPOWER 此设置用于低功耗应用场合 Comp_SLOWSPEED 此设置用于比 80 ns 慢的响应时间 Comp_HIGHSPEED 此设置用于比 80 ns 快的响应时间 返回值: 无 副作用: 无 uint8 Comp_ZeroCal(void) 说明: 执行自定义校准以最大程度地减少特定条件集的输入失调电压:如,比较器参考电压、供电电 压和工作温度。 执行校准时,一个在该比较器的使用范围中的参考电压必须连接到比较器负输入端。当执行校 准时,必须为快速或慢速操作配置比较器组件。如果比较器是在低功耗模式下配置的,校准过 程将无法正常工作。 参数: 无 返回值: uint8:偏移校准完成后比较器裁剪寄存器中的值。 此值的格式与 Comp_LoadTrim() API 子程序的输入参数相同。有关比较器裁剪寄存器的 说明,请参考 PSoC 3、PSoC 5 体系架构 TRM。 ® 副作用: ® 在校准过程期间,比较器输出可能无规律。 在校准过程中,将重新配置比较器正输入的模拟路由开关。此重新配置可能影响连接到比较器 正输入的其他组件的模拟信号路由。 当校准完成时,所有路由和比较器配置寄存器将恢复到它们在校准发生之前的状态。 Document Number: 001-78696 Rev. ** Page 9 of 17 比较器 (Comp) PSoC Creator™ 组件数据手册 ® uint8 Comp_GetCompare(void) 说明: 当连接到正输入的电压大于负输入电压时,此函数返回非零值。此值不受“极性”参数的影响。 此值始终反映不反转状态。 参数: 无 返回值: uint8:比较器输出状态。当正输入电压大于负输入电压时返回非零值;否则返回值为零。 副作用: 无 void Comp_LoadTrim(uint8 trimVal) 说明: 此函数将值写入比较器裁剪寄存器。 参数: uint8 trimVal:要在比较器裁剪寄存器中存储的值。 此值的格式与 Comp_ZeroCal() API 子程序返回值的格式相同。有关比较器裁剪寄存器的说 明,请参考 PSoC 3、PSoC 5 体系架构 TRM。 ® 返回值: 无 副作用: 无 ® void Comp_SaveConfig(void) 说明: 此函数会保存组件配置和非保留寄存器。它还保存 Configure(配置)对话框中定义的或通过 相应 API 修改的当前组件参数值。此函数由 Comp_Sleep() 函数调用。 参数: 无 返回值: 无 副作用: 空函数。实现以供将来使用。调用此函数没有作用。 Page 10 of 17 Document Number: 001-78696 Rev. ** PSoC Creator™ 组件数据手册 ® 比较器 (Comp) void Comp_RestoreConfig(void) 说明: 此函数会恢复组件配置和非保留寄存器。它还将组件参数值恢复为在调用 Comp_Sleep() 函数 之前的值。 参数: 无 返回值: 无 副作用: 空函数。实现以供将来使用。调用此函数没有作用。 void Comp_Sleep(void) 说明: 这是准备组件睡眠的首选子程序。Comp_Sleep() 子程序保存当前组件状态。然后它调用 Comp_Stop() 函数并调用 Comp_SaveConfig() 来保存硬件配置。 调用 CyPmSleep() 或 CyPmHibernate() 函数之前调用 Comp_Sleep() 函数。有关电源管理函 数的更多信息,请参考 PSoC Creator System Reference Guide(系统参考指南)。 参数: 无 返回值: 无 副作用: 无 void Comp_Wakeup(void) 说明: 这是将组件恢复为调用 Comp_Sleep() 时的状态的首选子程序。Comp_Wakeup() 函数调用 Comp_RestoreConfig() 函数以恢复配置。如果在调用 Comp_Sleep() 函数之前组件处于启用 状态,则 Comp_Wakeup() 函数还将重新启用组件。 参数: 无 返回值: 无 副作用: 在不首先调用 Comp_Sleep() 或 Comp_SaveConfig() 函数的情况下调用 Comp_Wakeup() 函 数可能会产生不可预料的结果。 Document Number: 001-78696 Rev. ** Page 11 of 17 比较器 (Comp) PSoC Creator™ 组件数据手册 ® void Comp_PwrDwnOverrideEnable(void) 说明: 这是“断电覆盖”功能。此函数允许组件在睡眠模式期间保持活动。在调用此 API 之前,应使 用 Comp_LOWPOWER 参数调用 Comp_SetPower() API,以便将比较器功耗模式设置为超 低功耗。这是因为对于睡眠模式中的比较器,超低功耗是唯一有效的功耗模式。 Comp_PwrDwnOverrideEnable() 函数仅对于 PSoC 3 芯片有效。它不可用于 PSoC 5 芯片。 参数: 无 返回值: 无 副作用: 无 void Comp_PwrDwnOverrideDisable(void) 说明: 这是“断电覆盖”功能。此函数允许比较器在睡眠模式期间保持不活动。此 API 仅对于 PSoC 3 芯片有效,不可用于 PSoC 5 芯片。 参数: 无 返回值: 无 副作用: 无 void Comp_Init(void) 说明: 根据自定义程序“配置”对话框设置来初始化或恢复组件。通常不需要单独调用 Comp_Init(),因为 Comp_Start() 子程序会调用此函数,这是开始组件操作的首选方法。 参数: 无 返回值: 无 副作用: 所有寄存器将设置为自定义程序“配置”对话框中的值。 Page 12 of 17 Document Number: 001-78696 Rev. ** PSoC Creator™ 组件数据手册 ® 比较器 (Comp) void Comp_Enable(void) 说明: 激活硬件并开始执行组件操作。通常不需要单独调用 Comp_Enable(),因为 Comp_Start() 子 程序会调用此函数,这是开始组件操作的首选方法。 参数: 无 返回值: 无 副作用: 无 固件源代码示例 PSoC Creator 在 Find Example Project(查找示例项目)对话框中提供了许多包括原理图和示例 代码的示例项目。要获取组件特定的示例,请打开组件目录中的对话框或原理图中的组件实例。 要获取通用的示例,请打开 Start Page(开始页)或 File(文件)菜单中的对话框。根据需要, 使用对话框中的 Filter Options(筛选选项)可缩小可选项目的列表。 有关更多信息,请参考 PSoC Creator 帮助中的“查找示例项目”主题。 功能描述 比较器在功能上相当于高增益、高带宽差动放大器(删除了补偿的运算放大器)。比较器出厂时 进行了修正,以实现低输入失调电压。可以在运行时在客户代码中修正它,以便在特定点获得提 高的输入失调电压精度。迟滞通过在输入级添加偏置电流来实现。额定迟滞为 10 mV(最大值 33 mV),这一值足以远远大于比较器的任何输入自身噪声和内部路由干扰之和。 输入失调电压通常指定为当比较器输出反转时两个输入之差的绝对值。 Document Number: 001-78696 Rev. ** Page 13 of 17 比较器 (Comp) PSoC Creator™ 组件数据手册 ® PSoC 3 的直流和交流电气特性 比较器在所有有效电源电压下运行。 比较器直流性能参数 参数 VIOFF VIOFF 说明 条件 最小值 典型值 最大值 单位 快速模式下的输入失调电压 出厂修正 – 2.0 10 mV 慢速模式下的输入失调电压 出厂修正 – 2.0 10 mV 快速模式下的输入失调电压 1 自定义修正 – 1.0 4.0 mV 慢速模式下的输入失调电压 1 自定义修正 – 1.0 4.0 mV – 12 – mV 33 mV VIOFF 超低功耗模式下的输入失调电压 VHYST 迟滞 迟滞使能模式 – 10 VICM 输入共模电压 高电流/快速模式 0 – 低电流/慢速模式 0 – VDDA V 超低功耗模式 0 – VDDA – 0.9 V 30 60 – dB 2 – 250 400 µA 2 – 40 100 µA – 6.0 – µA CMRR 共模抑制比 ICMP 高电流模式/快速模式 低电流模式/慢速模式 超低功耗模式 2 VDDA – 0.1 V 比较器交流性能参数 参数 TRESP 说明 响应时间,高电流模式 条件 2 50-mV 跨压, 最小值 典型值 最大值 – 80 110 单位 Ns 引脚到引脚测量 1 TRM 中可以找到将自定义修正值用于片上比较器的建议过程。 2 基于器件特性表征(未经过生产测试)。 Page 14 of 17 Document Number: 001-78696 Rev. ** PSoC Creator™ 组件数据手册 比较器 (Comp) ® 响应时间,低电流模式 50-mV 跨压, 2 – 155 200 Ns – 55 – µs 引脚到引脚测量 响应时间,超低功耗模式 2 50-mV 跨压, 引脚到引脚测量 PSoC 5 的直流和交流电气特性 比较器在所有有效电源电压下运行。 参数 VIOFF 说明 条件 最小值 典型值 最大值 单位 快速模式下的输入失调电压 出厂修正,Vin ≥ 0.5 V – – 15 mV 慢速模式下的输入偏移电压 出厂修正,Vin ≥ 0.5 V – – 15 mV – ±12 – mV – 10 32 mV VIOFF 超低功耗模式下的输入失调电压 VHYST 迟滞 迟滞使能模式 VICM 输入共模电压 高电流/快速模式 VSSA – VDDA – 0.1 V 低电流/慢速模式 VSSA – VDDA V 超低功耗模式 VSSA – VDDA – 0.9 V – 50 – dB 2 – – 400 µA 3 – – 100 µA – 6 – µA CMRR 共模抑制比 ICMP 高电流模式/快速模式 低电流模式/慢速模式 超低功耗模式 3 比较器交流性能参数 参数 TRESP 3 说明 响应时间,高电流模式 条件 50-mV 跨压, 最小值 典型值 最大值 – 75 110 单位 Ns 基于器件特性表征(未经过生产测试)。 Document Number: 001-78696 Rev. ** Page 15 of 17 比较器 (Comp) PSoC Creator™ 组件数据手册 ® 引脚到引脚测量 响应时间,低电流模式 3 50-mV跨压, – 155 200 Ns – 55 – µs 引脚到引脚测量 响应时间,超低功耗模式 3 50-mV跨压, 引脚到引脚测量 组件更改 本节介绍组件与以前版本相比的主要更改。 版本 1.80 更改说明 更改原因/影响 使用针对已启用迟滞的准确波形更新了配置窗 针对已启用迟滞的以前波形未提供足够信息以便于使 口。 用。 向数据手册添加了 PSoC 5 直流和交流电气特 性。 1.70 PSoC 5 的 Comp_Stop() API 更改。 在使用PSoC 5时, 该修正防止了停止组件会影响不相 关模拟信号的问题。 解决了一个将比较器用作睡眠和备用活动模式 比较器在以前版本中未正确配置以用作睡眠和备用活动 的唤醒源时产生的问题。 模式的唤醒源。 更改了 Comp_SetSpeed() API 以基于速度设 在以前版本的组件中,比较器修正寄存器的值未基于速 置来设置比较器修正寄存器的值。 度设置进行正确设置。 比较器 GUI 更新 用于在启用 PowerDownOverride(断电覆盖)选项时强 制功耗模式为超低功耗。 1.60 使用准确波形(包括迟滞)更新了配置窗口。 以前的配置窗口没有提供足够的易于使用的信息。 更正了迟滞使能位设置实现 错误定义了使能迟滞位的含义。已经更正了此含义,以 便在所有版本的芯片上正确使能迟滞 向数据表中添加了特性数据。 数据手册的微小编辑和更新。 1.50.a 向数据手册添加了已知问题和解决方案 Page 16 of 17 用于为 PSoC 3 ES2 芯片中的迟滞问题提供解决方法。 Document Number: 001-78696 Rev. ** PSoC Creator™ 组件数据手册 比较器 (Comp) ® 版本 1.50 更改说明 添加了睡眠/唤醒和初始化/启用 API。 更改原因/影响 为支持低功耗模式并提供常用接口,以单独控制大多数 组件的初始化和启用。 使用自定义接口更新了“配置”对话框。 更新的“配置”对话框更便于使用。还提供了一个关于组件 将如何基于各种选项更改的预览。 向“配置”对话框添加了“断电覆盖”参数。 目的是允许在睡眠模式期间配置要运行的比较器。 添加了 Comp_PwrDwnOverrideEnable()/Comp_Pwr DwnOverrideDisable() API。 目的是允许组件在睡眠模式期间保持活动/非活动。 © 赛普拉斯半导体公司,2012。此处所包含的信息可能会随时更改,恕不另行通知。除赛普拉斯产品的内嵌电路之外,赛普拉斯半导体公司不对任何其他电路的使用承担任何责任。也不根据专利 或其他权利以明示或暗示的方式授予任何许可。除非与赛普拉斯签订明确的书面协议,否则赛普拉斯产品不保证能够用于或适用于医疗、生命支持、救生、关键控制或安全应用领域。此外,对于 可能发生运转异常和故障并对用户造成严重伤害的生命支持系统,赛普拉斯不授权将其产品用作此类系统的关键组件。若将赛普拉斯产品用于生命支持系统中,则表示制造商将承担因此类使用而 招致的所有风险,并确保赛普拉斯免于因此而受到任何指控。 PSoC® 和 CapSense® 是赛普拉斯半导体公司的注册商标;PSoC® Creator™ 和 Programmable System-on-Chip™ 是赛普拉斯半导体公司的商标。此处引用的所有其他商标或注册商标归其各自 所有者所有。 所有源代码(软件和/或固件)均归赛普拉斯半导体公司(赛普拉斯)所有,并受全球专利法规(美国和美国以外的专利法规)、美国版权法以及国际条约规定的保护和约束。赛普拉斯据此向获许 可者授予适用于个人的、非独占性、不可转让的许可,用以复制、使用、修改、创建赛普拉斯源代码的派生作品、编译赛普拉斯源代码和派生作品,并且其目的只能是创建自定义软件和/或固件, 以支持获许可者仅将其获得的产品依照适用协议规定的方式与赛普拉斯集成电路配合使用。除上述指定的用途之外,未经赛普拉斯的明确书面许可,不得对此类源代码进行任何复制、修改、转 换、编译或演示。 免责声明:赛普拉斯不针对此材料提供任何类型的明示或暗示保证,包括(但不仅限于)针对特定用途的适销性和适用性的暗示保证。赛普拉斯保留在不做出通知的情况下对此处所述材料进行更 改的权利。赛普拉斯不对此处所述之任何产品或电路的应用或使用承担任何责任。对于可能发生运转异常和故障并对用户造成严重伤害的生命支持系统,赛普拉斯不授权将其产品用作此类系统的 关键组件。若将赛普拉斯产品用于生命支持系统中,则表示制造商将承担因此类使用而招致的所有风险,并确保赛普拉斯免于因此而受到任何指控。 产品使用可能受适用的赛普拉斯软件许可协议限制。 Document Number: 001-78696 Rev. ** Page 17 of 17