首页 > 其他分享 >CH32X035 运放OPA和比较器CMP的应用

CH32X035 运放OPA和比较器CMP的应用

时间:2023-09-02 09:33:08浏览次数:43  
标签:输出 正端 引脚 运放 OPA 电压 CH32X035 CMP

CH32X035 运放OPA和比较器CMP的应用

 

一、关于CH32X035介绍

CH32X035内置USB和PD PHY,20KB RAM,62KB FLASH,支持USB Host主机和USB Device设备功能、USB PD及Type-C快充功能,内置可编程协议I/O控制器,提供了OPA运放、CMP电压比较器、USART串口、I2C、SPI、定时器、12位ADC、Touchkey等丰富外设资源。 

CH32X035系列提供最多2个可独立配置的运算放大器OPA和3个可独立配置的电压比较器,其中OPA支持增益选择,也可用于电压比较器。

OPA和CMP通常应用于电控应用当中,OPA主要用于电流的放大,比较器主要用于“刹车”,当检测到电流过大时,及时进行刹车。OPA也可用于电压比较器,但其相较于专门的CMP,延迟会高一些,CMP的延时大概在50ns以内,若OPA用作比较器,延迟时间估计会在100ns以上。

 

二、关于OPA的应用

关于OPA的应用,其输入输出引脚示意图如下:

OPA主要特性如下:

OPA输出引脚可选择通用I/O口或ADC采样通道;

OPA支持正端输入轮询功能;

OPA支持PGA增益选择;

1、OPA输出引脚选择通用I/O

(1)作为电压跟随器

当输出引脚选择通用IO时,负端和输出端直接连接,若不加反馈电路,则作为电压跟随器使用,具体电路如下图1。输出IO的电压则就是正端输入电压。注意IO引脚的电压范围是0-VDD,不要超过MCU的供电电压。

图1 电压跟随器

 

(2)作为运算放大器

当负反馈电路加入电阻之后,则会形成运算放大器,将会对输入端电压进行放大,具体电路如下图2。其中3K电阻用R2表示,1K电阻用R1表示。

正端输入电压1.5V,输出电压4.5V,具体放大倍数计算公式如下:

即4.5V=(3K/1K)*1.5

此外还有另一种运算放大电路,如下图,此时放大计算公式和上有所不同

正端输入电压1.5V,输出电压6V,具体放大倍数计算公式为:

即6V=(3/1+1)*1.5

 

2、OPA输出引脚选择为ADC采样通道

当OPA输出引脚选择为ADC采样通道时,输出电压直接被ADC采集,通过ADC值得到输出值的大小。

 

3、当OPA设置正端输入轮询功能

当OPA设置正端输入轮询功能时,正端引脚是固定的,不需要配置,如下图。直接配置正端轮询的个数即可。负端引脚以及输出引脚还是需要配置的,输出引脚同样可以配置为通用IO或ADC采样通道。具体电路类似下图,会依次对正端通道进行轮询。

配置为轮询模式时,还需要配置轮询的间隔时间,会根据该时间依次对正端输入进行轮询。类似于单刀三掷开关切换的时间。

 

4、当使用OPA设置PGA增益时

当配置使用PGA增益时,无需对负端引脚进行配置,直接配置增益倍数即可,可选4倍、8倍、16倍、32倍放大。输出引脚同样可以配置为通用IO或ADC采样通道。

比如当你程序中配置4倍增益,当正端输入电压为0.8V时,输出电压为3.2V。

 

5、当使用OPA复位功能时

当使用OPA复位功能时,只要输出端为高电平,则就会进行复位。

 

6、当使用OPA刹车功能时

当使用OPA刹车功能时,只要输出端为高电平,对应的定时器就会停止PWM输出,注意使用OPA刹车功能时,需要对定时器刹车和死区寄存器即BDTR寄存器的BKP位置1。

 

7、当使用OPA中断功能时

当使用OPA中断功能时,当正端输入高电平时,进入中断。

 

三、关于CMP的应用

关于CMP的应用,其输入输出引脚示意图如下:

其输出通道可配置为I/O或者内部定时器通道。

(1)当输出通道配置为普通I/O时

当输出通道配置为普通I/O,作为CMP,当正端电压大于负端电压,则输出端IO口引脚电平为高电平,否则为低电平;

 

(2)当输出通道配置为内部定时器通道

当输出通道配置为内部定时器通道,个人理解,通过内部定时器通道,可获取比较器输出端电平变化的一个时间,可通过将该定时器通道配置为输入捕获模式,捕获发生边沿触发时一个计数器的值,比如设置为上升沿触发,当比较器输出高电平,则会触发中断,获取到一个计数值,通过该计数值可得到相应的时间。

 

 

标签:输出,正端,引脚,运放,OPA,电压,CH32X035,CMP
From: https://www.cnblogs.com/liaigu/p/17673220.html

相关文章

  • Ubuntu sudo nopasswd方法
    1运行visudo2假设用户名为yourname,则在最后一行添加:#Userprivilegespecificationroot ALL=(ALL:ALL)ALL#Membersoftheadmingroupmaygainrootprivileges%adminALL=(ALL)ALL#Allowmembersofgroupsudotoexecuteanycommand%sudo ALL=(ALL:ALL)ALLyou......
  • 使用 OpenTelemetry 构建可观测性 05 - 传播和行李(Propagation & Baggage)
    我们开发的应用程序可能具有不同的形态和架构:有些是单体应用,有些是微服务。为单体应用程序添加遥测数据相对来说简单,因为所有数据都在同一进程中。然而对于微服务应用程序,情况可能会更具挑战性。通常,分布式微服务应用程序的不同服务之间仅通过网络连接。然而,当我们想要创建有效的......
  • ZeroPadding 参照
      加密时要处理。解密时,不需要额外处理,直接NoPadding. importsun.misc.BASE64Decoder;importsun.misc.BASE64Encoder;importjavax.crypto.Cipher;importjavax.crypto.spec.IvParameterSpec;importjavax.crypto.spec.SecretKeySpec;importjava.nio.charset.St......
  • 什么是soopat专利搜索?如何使用soopat进行专利搜索?
    网址:http://www.soopat.com/SooPat专利搜索界面第一栏是中国专利检索,搜索人可输入申请人、申请号、IPC分类号、发明人、专利代理机构、专利代理人、申请日期等进行检索。 第一栏中国专利检索右侧还有几个选项,第一个选项是表格检索,表格检索进入后是详细进行的表格检索;第......
  • P9507 [BalkanOI2018] Popa 题解
    原题传送门题目描述Ghiță有一个下标从\(0\)开始的正整数序列\(S\)。因为他是喀尔巴阡的国王,所以他想要构造一个节点编号为\(0,1,\ldots,N-1\)的二叉树,满足:树的中序遍历按节点编号升序排列。二叉树的中序遍历由以根的左子节点(如果存在)为根形成的子树的中序遍历,根的节......
  • Topaz Photo AI - 图片智能降噪软件mac/win版
    TopazPhotoAI是一款由TopazLabs公司开发的人工智能图像处理软件。它基于先进的机器学习技术,提供了一系列强大的功能,可以帮助用户快速、简便地改善和优化照片。点击获取TopazPhotoAI AI增强功能:TopazPhotoAI提供了多种AI增强功能,包括智能增亮、细节增强、降......
  • Gopan-基于go-zero实现慕课网实战仿百度网盘项目
    Gopan-基于go-zero实现慕课网实战仿百度网盘项目项目地址:https://github.com/liuxianloveqiqi/Gopan......
  • 无涯教程-jQuery - Dropable移动函数
    Drop-able功能可与JqueryUI中的交互一起使用。此功能可在任何DOM元素上启用可放置功能。Dropable-语法$("#droppable").droppable();Dropable-示例以下是一个简单的示例,显示了drop-able的用法-<html><head><title>ThejQueryExample</title><s......
  • Spring中propagation的7种事务配置及说明
     http://www.zhano.cn/index.php/Java/40878.html Springpropagation7种事务配置1、简述在声明式的事务处理中,要配置一个切面,其中就用到了propagation,表示打算对这些方法怎么使用事务,是用还是不用,其中propagation有七种配置,REQUIRED、SUPPORTS、MANDATORY、REQUIRES_NEW、......
  • Go安装的设置问题:GOROOT,GOPATH
    Mac下使用Google官方的Go语言安装包:https://code.google.com/p/go/downloads/list 安装的Go,会自动把/usr/local/go/bin目录加入PATH中。这样我们直接在控制台就可以执行go语言的一些命令。http://golang.org/cmd/go/#hdr-GOPATH_environment_variable 下面使用export命令看到......