电荷泵(Charge Pump)电路及工作原理

一、电荷泵简介

1、电荷泵:是一种用于产生高压信号的拓扑电路 ,通常集成在芯片内部;

2、基本思想:利用电容器的充放电过程来传递和转换电荷以达到降压或升压的目的;

3、优缺点:

      优点:a、电路简单,尺寸小,成本低,一般只需要接外部陶瓷电容;

                 b、效率高,转换率高达80%;

                 c、低电磁干扰(EMI),消除了电感带来的磁场干扰(对比boost升压电路);

      缺点:a、由于电容及二极管自身特性,电荷泵的输出电压范围有限;

                 b、电荷泵电路工作在开关状态,输出会有一定的纹波和EMI;

二、电荷泵电路

1、迪克森电荷泵电路

 A点12V电源输入,B点给一个0-12V的脉冲,下面详细描述迪克森电路是如何升压的:

1)t1时刻: B点电压为0V,电源VCC通过两个二极管分别给C1,C2充电到12V;

2)t2时刻: B点电压为12V,而C1在t1时刻已经被充电到12V,此时脉冲电压12V与C1串联,C1的电压变为24V,但是C2电压只有12V,两个电容之间会发生电荷转换,最终C1,C2电容会平衡到18V(忽略二极管压降);

3)t3时刻:B点电压变为0V,C1电压降到6V,  VCC开始继续向C1充电到12V(根据上述分析,此刻C2电容电压为18V,但是由于二极管的单向导电性,所以它不能给C1转换电荷);

4)t4时刻:B点12V,C1电压又被抬升至24V,C1继续向C2转移电荷,最终平衡到21V(忽略二极管压降);

依次类推,C2输出电容的电压将被升到24V;

5)迪克森电路仿真

第一个脉冲周期,C2电压18V(仿真结果17.7V,二极管压降0.3V),第二个周期C2电压20.3V;最终输出23V;

注:理想输出电压24V,仿真输出电压23V,真实输出电压与二极管选型、电容容值有关;

2、倍压式(2倍压)电荷泵电路

1) 上方所示电路中开关S1,S4与S2,S3由互补的时钟信号控制,C1为飞跨电容,C2为输出电容;

S1,S4闭合时,12V电源给C1充电到12V;

S2,S3闭合时,电源与C1串联(相当于两节12V电池串联),给输出供电,C2也被充电至24V;

继续切换至S1,S4闭合,12V电源给C1充电,C2给输出提供24V电源;

2)倍压式电路仿真

注:相对于迪克森电路,上述这种电路没有管压降,所以输出基本为24V;

3、电荷泵应用电路

以下就是某一芯片内部的电荷泵模块:三倍压电荷泵电路

1)工作原理:

低电平时,nCLK导通: VSD输入电压给CCPS1进行充电,同时将CCPS2的能量转移到输出端,提高电容器CVCP的电压VCP;

高电平时,CLK导通:VSD与CCPS1串联,CCPS1向CCPS2转移电荷,输出电压VCP则由大体积电容CVCP进行缓冲;

2)电路仿真

真实输出电压35V(因为有内阻以及二极管压降);

### 如何实现和配置 Modbus Slave 设备或软件 #### 安装指南 为了确保顺利安装Modbus Slave软件,需遵循详细的安装步骤。这不仅涵盖了操作系统兼容性的确认,还包括了必要的环境准备和依赖库的安装[^1]。 #### 软件界面介绍 了解Modbus Slave软件的操作界面对于高效使用至关重要。该软件提供了直观易懂的图形化用户界面(GUI),其中包含了多个用于管理和监控的数据表视图、寄存器设置选项卡等功能模块。这些特性使得即使是初次接触此工具的新手也能迅速上手并掌握基本操作技巧。 #### 配置与使用教程 具体到如何配置Modbus Slave以实现与其他Master设备之间的通讯,则可以通过一系列具体的实例来学习。例如,在建立连接前要先定义好通信参数(如端口号、波特率等),接着创建相应的数据映射关系以便于双方交换信息;最后启动服务监听来自外部请求的消息,并按照预设逻辑做出响应处理。 ```python from pymodbus.server.sync import StartTcpServer from pymodbus.datastore import ModbusSequentialDataBlock, ModbusSlaveContext, ModbusServerContext def setup_modbus_slave(): store = ModbusSlaveContext( di=ModbusSequentialDataBlock(0, [0]*100), co=ModbusSequentialDataBlock(0, [0]*100), hr=ModbusSequentialDataBlock(0, [0]*100), ir=ModbusSequentialDataBlock(0, [0]*100)) context = ModbusServerContext(slaves=store, single=True) # 启动TCP服务器 StartTcpServer(context, address=("localhost", 502)) setup_modbus_slave() ``` 这段Python代码展示了怎样基于`pymodbus`库搭建一个简单的Modbus TCP slave服务器。它初始化了一个内存中的数据存储区,并设置了默认值为零的一系列离散输入(DI)、线圈(CO)、保持寄存器(HR)及输入寄存器(IR)。 #### 常见问题解答 针对可能出现的问题也进行了总结归纳,比如当无法正常接收到来自master端发送过来的数据包时,可能是由于网络配置错误或者是防火墙阻止所致。此时应仔细检查IP地址/子网掩码设定是否正确无误,同时调整安全策略允许特定端口上的流量通过。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值