编辑: 鱼饵虫 | 2014-06-12 |
198 Champion Court ? San Jose, CA 95134-1709 ? 408-943-2600 Document Number: 001-88884 Rev.
*B 修订时间 September 12,
2016 特性 ? 增益范围从-1 到-49 ? 高输入阻抗 ? 可调功耗设置 概述 反相可编程增益放大器(PGA_Inv) 组件实现含用户可编程增益的基于运算放大器的反相放大 器.它是从开关电容/连续时间(SC/CT)模块中派生的. 反相增益的范围为-1.0(0 dB)至-49.0(+33.8 dB).可通过配置窗口选择增益或使用提供的 API 在运行时变更增益.运算放大器的增益带宽限制了最大带宽,增益增加时最大带宽会减小. PGA_Inv 的输入是 轨到轨 (rail-to-rail)运行的,但是最大输入摆幅(Vin 和Vref 之间的差值) 限制为 VDDA/增益.PGA_Inv 的输出为 A 级,并且对于足够高的负载电阻,它也是 轨到轨 运行. PGA_Inv 用于以下情况:输入信号的振幅不足且首选的输出极性与输入极性相反.PGA_Inv 可置 于比较器、模数转换器或混频器之前以增加信号振幅.单位增益 PGA_Inv 可用在其他增益级或缓 冲区之后以生成差分输出. 输入/输出接口 本章节介绍 PGA_Inv 的各种输入和输出接口.I/O 列表中的星号(*)表示,在I/O 说明部分中所 列出的特定条件下,该I/O 可能不可见. Vin ― 模拟 Vin 为输入信号端口. 反相可编程增益放大器(PGA_Inv) 2.0 反相可编程增益放大器(PGA_Inv) PSoC? Creator? Component Datasheet 页2/13 Document Number: 001-88884 Rev. *B Vref ― 模拟 Vref 为参考信号的输入端.参考输入具有高阻抗,并且可连接至固定参考(如VDDA/2)、VDAC8 输出或路由至引脚. Vout ― 模拟 Vout 为输出电压信号终端.Vout 为(Vin ― Vref)与增益乘积的函数: Vout = Vref + (Vin C Vref) * Gain 其中,Gain(增益)是负值 组件参数 将一个 PGA_Inv 组件拖放到您的设计窗口内,并双击以打开 Configure 对话框. Inverting_Gain 该参数用于设置放大器的默认增益.允许的反相增益为:C1(默认值)、C
3、C
7、C
15、C
22、C
24、C
31、C47 以及C49. 下表显示的是使用内部电阻 Ra 和Rb 的增益选择 PSoC? Creator? Component Datasheet 反相可编程增益放大器(PGA_Inv) Document Number: 001-88884 Rev. *B 页3/13 增益 Rb Ra -1
40 40k -3 120k 40k -7 280k 40k -15 600k 40k -22 880k 40k -24 480k 20k -31 620k 20k -47 470k 10k -49 490k 10k 功耗 用于设置 PGA_Inv 的初始驱动功耗.通过设置 Power,可确定 PGA_Inv 响应输入信号变化的速 度.功耗设置共有四种:Minimum Power(最低功耗)、Low Power(低功耗)(默认)、 Medium Power(中功耗)和High Power(高功耗).Low Power 设置会导致最长的响应时 间;
High Power 设置则导致最短的响应时间.使用 PGA_Inv_SetPower() API 可在运行时设置 Power 项. 应用编程接口 通过应用编程接口(API)子程序,您可以使用软件对组件进行配置.下表列出并说明了每个函数 的接口.在后面的内容中,将更加详细地介绍每个函数. 默认情况下,PSoC Creator 将指定设计中组件的第一个实例命名为 PGA_Inv_1 .您可以将该 实例重新命名为符合标识符语法规则的任意唯一值.实例名称会成为所有全局函数名称、变量和 符号常量的前缀.为了便于阅读,下表中使用的实例名称为 PGA_Inv . 函数 说明 PGA_Inv_Start() 启动PGA_Inv. PGA_Inv_Stop() 关闭PGA_Inv电源. PGA_Inv_SetGain() 为预定义的常量设置增益. 反相可编程增益放大器(PGA_Inv) PSoC? Creator? Component Datasheet 页4/13 Document Number: 001-88884 Rev. *B 函数 说明 PGA_Inv_SetPower() 将驱动功耗设置为四种设置之一. PGA_Inv_Sleep() 停止并保存用户配置. PGA_Inv_Wakeup() 恢复并启用用户配置. PGA_Inv_Init() 初始化或恢复默认PGA_Inv配置. PGA_Inv_Enable() 启用PGA_Inv. PGA_Inv_SaveConfig() 空函数.预留以备将来使用. PGA_Inv_RestoreConfig() 空函数.预留将来使用. 全局变量 变量 说明 PGA_Inv_initVar 指示PGA_Inv是否已初始化.该变量被初始化为0,并在第一次调用PGA_Inv_Start()时设置为 1.这样,第一次调用PGA_Inv_Start()子程序后,组件不用重新初始化即可重启. 如需重新初始化组件,可在PGA_Inv_Start()或PGA_Inv_Enable()函数前调用PGA_Inv_Init()函数. void PGA_Inv_Inv_Start(void) 说明: 打开PGA_Inv并设置功耗等级. 参数: 无 返回值: 无 其他影响: 无void PGA_Inv_Stop(void) 说明: 关闭PGA_Inv并启用其最低的功耗状态. 参数: 无 返回值: 无 其他影响: 无.不会影响功耗或增益设置. PSoC? Creator? Component Datasheet 反相可编程增益放大器(PGA_Inv) Document Number: 001-88884 Rev. *B 页5/13 void PGA_Inv_SetGain(uint8 gain) 说明: 将放大器增益设置为-1至-49.下表显示了有效增益设置. 参数: uint8 gain: 将增益设置为特定值.有关有效增益设置,请参见下表. 增益设置 注释 PGA_Inv_GAIN_01 增益 = -1 PGA_Inv_GAIN_03 增益 = -3 PGA_Inv_GAIN_07 增益 = -7 PGA_Inv_GAIN_15 增益 = -15 PGA_Inv_GAIN_22 增益 = -22 PGA_Inv_GAIN_24 增益 = -24 PGA_Inv_GAIN_31 增益 = -31 PGA_Inv_GAIN_47 增益 = -47 PGA_Inv_GAIN_49 增益 = -49 返回值: 无 其他影响: 无void PGA_Inv_SetPower(uint8 power) 说明: 将驱动功耗设置为四种设置之一:最低、低、中等或高. 参数: uint8 power: 将功耗水平设置为四种设置之一:最低、低、中等或高. 功耗设置 注释 PGA_Inv_MINPOWER 有效功耗最低,转换速率最慢 PGA_Inv_LOWPOWER 低功耗和转换速率 PGA_Inv_MEDPOWER 中等功耗和转换速率 PGA_Inv_HIGHPOWER 有效功耗最高,转换速率最快 返回值: 无 其他影响: 无 反相可编程增益放大器(PGA_Inv) PSoC? Creator? Component Datasheet 页6/13 Document Number: 001-88884 Rev. *B void PGA_Inv_Sleep(void) 说明: 这是组件准备进入睡眠模式的首选子程序.PGA_Inv_Sleep()函数保存当前组件的状态.然后 该函数调用PGA_Inv_Stop()函数和PGA_Inv_SaveConfig()来保存硬件配置. 在调用CyPmSleep()或CyPmHibernate()函数之前调用PGA_Inv_Sleep()函数.有关功耗管理 函数的详细信息,请参考 PSoC Creator《系统参考指南》. 参数: 无 返回值: 无 其他影响: 无void PGA_Inv_Wakeup(void) 说明: 这是将组件恢复到调用PGA_Inv_Sleep()时的状态的首选子程序.PGA_Inv_Wakeup()函数调 用PGA_Inv_RestoreConfig()函数以恢复配置.如果组件在系统调用PGA_Inv_Sleep()函数前 已启用,则PGA_Inv_Wakeup()函数也将重新启用组件. 参数: 无 返回值: 无 其他影响: 调用PGA_Inv_Wakeup()函数前未调用 PGA_Inv_Sleep()或PGA_Inv_SaveConfig()函数可能 会产生意外行为. void PGA_Inv_Init(void) 说明: 根据自定义程序 Configure 对话框中的设置初始化或恢复组件.无需调用PGA_Inv_Init(), 因为PGA_Inv_Start()子程序会调用该函数,这是开始组件操作的首选方法. 参数: 无 返回值: 无 其他影响: 根据自定义程序 Configure 对话框中的内容设置所有寄存器. void PGA_Inv_Enable(void) 说明: 激活硬件并开始执行组件操作.无需调用PGA_Inv_Enable(),因为PGA_Inv_Start()子程序会 调用该函数,这是开始组件操作的首选方法. 参数: 无 返回值: 无 其他影响: 无PSoC? Creator? Component Datasheet 反相可编程增益放大器(PGA_Inv) Document Number: 001-88884 Rev. *B 页7/13 void PGA_Inv_SaveConfig(void) 说明: 空函数.预留以备将来使用. 参数: 无 返回值: 无 其他影响: 无void PGA_Inv_RestoreConfig(void) 说明: 空函数.预留以备将来使用. 参数: 无 返回值: 无 其他影响: 无MISRA 合规性 本节介绍了MISRA-C:2004合规性和本组件的偏差情况.定义了两种类型的偏差: ? 项目偏差 ― 适用于所有 PSoC Creator 组件的偏差 ? 特定偏差 ― 仅适用于该组件的偏差 本节介绍了有关组件特定偏差的信息.《系统参考指南》的 MISRA 合规性 章节中介绍了项目 偏差以及有关 MISRA 合规性验证环境的信息. PGA_Inv 组件没有任何特定偏差. 样例固件源代码 在 Find Example Project 对话框中,PSoC Creator 提供了大量的示例项目,包括原理图和代 码的.要获取组件特定的示例,请打开组件目录中的对话框或原理图中的组件实例.要查看通用 示例,请打开 Start Page 或File 菜单中的对话框.根据要求,可以通过使用对话框中的 Filter Options 选项来限定可选的项目列表. 更多有关信息,请参考《PSoC Creator 帮助》中主题为 查找示例项目 中的内容. 功能描述 PGA_Inv 是由通用 SC/CT 模块构建的.可通过调整 Ra 和Rb 两个电阻来选择增益(参见图 1) .根据选择的增益,Ra 可设置为 20k 或40k 欧姆,Rb 可设置为 20k 至1000k 欧姆,以生成 反相可编程增益放大器(PGA_Inv) PSoC? Creator? Component Datasheet 页8/13 Document Number: 001-88884 Rev. *B Configure 对话框或 PGA_Inv_SetGain()函数中可选的增益值. 图1. PGA_Inv 原理图 该模块具有与反馈电阻 Rb 并联的可编程电容.为每种增益选择配置电容值,以保证组件的稳定 性.重新分配 Rb 值但没有选择适当的反馈电容值也可能会导致 PGA_Inv 不稳定.强烈建议使用 提供的 API 进行增益变更. PGA_Inv 的输入电阻是有限的.增益精度取决于源和 Vin 输入之间的布线电阻.增益规范根据布 线电阻的标称变化进行调整. 资源 PGA_Inv 使用一个 SC/CT 模拟模块. API 存储器使用情况 根据编译器、器件、所使用的 API 数量以及组件的配置情况不同,组件占用的存储器大小也不一 样.下表提供了特定组件配置中所有可用的 API 占用的存储器大小. 通过使用 发布 模式下的相应编译........