查看: 819|回复: 1

OPA 输出 是否可以断开与OPA_OUT脚的连接?

[复制链接]

7

主题

10

帖子

116

积分

中级工程师

Rank: 2

积分
116
发表于 2023-8-17 17:31:45 | 显示全部楼层 |阅读模式
使用OPA1的 BUFFER 模式  用ADC检测外部的电压 ,
使用时,测试测试结果不对, 始终为 2.47V  或 0.2V  ,ADC 读取其他不经过OPA buffer 的内外部电压正常 .
其中PC4 设置代码是  :
    GPIO_DisablePinOpendrain(HAL1_EN_PORT, HAL1_EN_PIN);
    GPIO_SetPinMode(HAL1_EN_PORT,HAL1_EN_PIN,GPIO_MODE_OUTPUT);
    GPIO_ResetOutputPin(HAL2_EN_PORT,HAL2_EN_PIN|HAL1_EN_PIN);

    GPIO_DisablePinAnalog(HAL1_EN_PORT,HAL1_EN_PIN);
    GPIO_DisablePinRemap(HAL1_EN_PORT,HAL1_EN_PIN);
    GPIO_DisablePinInput(HAL1_EN_PORT,HAL1_EN_PIN);

   OPA1 设置代码是 (OPA时钟已打开)
     OPA1->CR  = (OPA_CR_BUFFEN_Msk|OPA_CR_MOD_Msk|OPA_CR_EN_Msk)

测试发现 ,原因是  OPA1的输出在芯片内部连接到了 OPA1的输出脚上( PC4  ) , PC4上的电压直接反映到了 ADC的输入上,导致 检测结果不正常 .

必须将PC4 上的 连接断开 , 并将PC4设置为输入状态 且 关闭PC4的输入功能, 此时ADC读取OPA buffer 输出正常

综上 : 逻辑上的解释应该是  :
  芯片内部OPA1 Out 和PC4脚直接连接  , 无法关断?   
  一旦使用OPA1 则OPA 输出脚必须悬空,不能使用 ,   是否有配置可以避免这个问题 ?

回复

使用道具 举报

151

主题

845

帖子

4407

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4407
发表于 2023-8-21 10:30:58 | 显示全部楼层
非常抱歉。经查这是芯片bug,opa开启后 opa的输出脚自动开启且无法关闭, 暂时这个问题无法解决。只能adc换引脚。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表