打印
[技术问答]

hc32l110的比较器怎么配置才能实现输入正端和输入负端电压是一致的?

[复制链接]
2329|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
比较器配置代码:
void bspCMP_Init(void)
{
    stc_vc_general_config_t stcVcGeneralCfg;
    stc_vc_channel_config_t stcVcChannelCfg;
    //变量清0
    DDL_ZERO_STRUCT(stcVcGeneralCfg);
    DDL_ZERO_STRUCT(stcVcChannelCfg);
    Clk_SetPeripheralGate(ClkPeripheralVcLvd, TRUE);//开启VC时钟
    Clk_SetPeripheralGate(ClkPeripheralAdcBgr, TRUE);//配置ADC时钟
  
    M0P_BGR->CR_f.BGR_EN = 0x1u;//必须使能
    delay100us(1);
  
    Gpio_SetAnalog(3, 2, TRUE);
    Gpio_SetAnalog(3, 3, TRUE);
  
          genChannel = VcChannel1;//配置VC输入通道
    stcVcGeneralCfg.bDivEn = FALSE;//6位DAC不使能
    // stcVcGeneralCfg.enDivVref = VcDivVrefAdc;
    stcVcGeneralCfg.enDivVref = VcDivVrefAvcc;//VcDivVrefAvcc;//分压的参考电压为VCC
    stcVcGeneralCfg.u8DivVal = 0x3F;//分压值为1
    stcVcChannelCfg.enVcChannel = genChannel;//VC通道设置-----------------
    stcVcChannelCfg.enVcCmpDly = VcDelayoff;//迟滞配置
    stcVcChannelCfg.enVcBiasCurrent = VcBias20ua;//功耗选择
//    stcVcChannelCfg.enVcFilterTime = VcFilter7us;//输出滤波时间配置
    stcVcChannelCfg.enVcInPin_P = VcInPCh2;//P3.2
    stcVcChannelCfg.enVcInPin_N = VcInNCh3;//
    stcVcChannelCfg.enVcOutConfig = VcOutDisable;//输出配置寄存器
    stcVcChannelCfg.enVcIrqSel = VcIrqFall;
    stcVcChannelCfg.pfnAnalogCmpCb = VcIrqCallback;
    Vc_GeneralInit(&stcVcGeneralCfg);
    Vc_ChannelInit(genChannel, &stcVcChannelCfg);
   
    Vc_EnableFilter(genChannel);
          Vc_ConfigIrq(stcVcChannelCfg.enVcChannel, stcVcChannelCfg.enVcIrqSel);
          Vc_EnableIrq(stcVcChannelCfg.enVcChannel);
          Vc_EnableChannel(stcVcChannelCfg.enVcChannel);
}

模拟电压比较器经过配置后,正端的电压降到0V,而负端的电压保持与电源一致3.3V,如图。
file:///C:/Users/panpan/AppData/Local/Temp/ksohtml8248/wps1.jpg
若是正端的输入电压没有电源电压那么高,比较器不就一直输出低电平吗?

使用特权

评论回复
沙发
huangwentao|  楼主 | 2024-9-13 16:48 | 只看该作者

使用特权

评论回复
板凳
更多更合适ii| | 2024-9-30 17:35 | 只看该作者
模拟电压比较器经过配置后,正端的电压降到0V,而负端的电压保持与电源一致3.3V

使用特权

评论回复
地板
hhdhy| | 2024-10-28 20:11 | 只看该作者
在华大HC32L110微控制器中,比较器模块可以用来比较两个输入电压,并根据比较结果产生输出信号。要实现输入正端(VINP)和输入负端(VINN)电压一致,通常需要配置比较器的输入源和参考电压,以确保两个输入端的电压相等

使用特权

评论回复
5
wamed| | 2024-10-28 21:16 | 只看该作者
首先,确保比较器模块的时钟已经使能。配置比较器输入源,比较器的输入源可以通过配置寄存器来选择。你需要确保VINP和VINN的输入源是相同的,或者它们的电压是相等的

使用特权

评论回复
6
yuliangren| | 2024-10-28 22:25 | 只看该作者
比较器的参考电压可以通过配置寄存器来设置。你可以选择内部参考电压(如VREF)或外部参考电压。

使用特权

评论回复
7
gongqijuns| | 2024-10-28 23:37 | 只看该作者
比较器的输出可以通过读取寄存器来获取。如果VINP和VINN的电压一致,比较器的输出应该是稳定的。

使用特权

评论回复
8
pe66ak| | 2024-10-29 08:21 | 只看该作者
输入源选择,确保VINP和VINN的输入源是相同的,或者它们的电压是相等的。

使用特权

评论回复
9
星星点点didi| | 2024-10-29 09:13 | 只看该作者
参考电压,选择合适的参考电压,以确保比较器的精度

使用特权

评论回复
10
canfeil| | 2024-10-29 10:00 | 只看该作者
时钟配置,确保比较器模块的时钟已经使能。

使用特权

评论回复
11
teaccch| | 2024-10-29 12:06 | 只看该作者
正常来说应该外部电路设置应该能实现比较器正端和负端电压一致

使用特权

评论回复
12
suiziq| | 2024-10-29 14:09 | 只看该作者
这么操作的意义是啥呢?

使用特权

评论回复
13
eleg34ance| | 2024-10-29 16:00 | 只看该作者
你配置寄存器呗,一般通过配置寄存器应该可以

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

11

帖子

0

粉丝