刚步入BSP充电行业记录下来偶发灵感和学习心得欢迎前辈指导新人们共同探讨在充电驱动开发学习过程中由于充电模块与硬件连接很紧密所以很容易踩到软硬件边界不清的坑协议识别是谁干的 充电过程中恒压恒流切换是谁管控的温控限流又是谁在管所以本文从MOS管、与非门讲起一路打通到上层充电状态机从而划分清楚充电系统软硬件边界。一、先从最底层讲起硬件 自动运行 到底是怎么实现的绝大多数人对硬件自动运行的认知存在误区认为设备自动化、智能运行必须依赖 CPU、程序指令、固件代码。但实际上纯硬件电路模拟电路数字逻辑电路完全可以脱离处理器、脱离指令、脱离固件独立实现完整的自动控制逻辑。从充电启停、延时时序、状态切换到闭环控制基础自动化功能都可以通过硬件电路的物理逻辑永久固化实现。1.1模拟电路无记忆的实时信号执行单元模拟电路是硬件系统的信号采集与功率执行底层核心处理连续变化的电压信号0V、0.2V、0.6V、3.3V等任意幅值。核心器件包含MOS管、电阻、电容、运算放大器、电压比较器、基准电压源等。模拟电路最核心的特性无记忆、无状态、无历史依赖。它的输出结果只由当前瞬时输入信号唯一决定和过往信号、过往状态无关。一旦输入信号撤销电路中的能量会逐步消散不会保存任何历史数据也无法自主完成时序判断、步骤跳转等逻辑行为。其工作本质是通过元器件的电气特性完成连续电信号的实时运算依托电容、电感等储能元件实现信号的时域积分、微分处理是纯实时的信号运算网络。以充电芯片为例核心模拟功能模块及作用如下电压比较器模拟域转数字域的核心器件。拥有两路输入待测电压Vin、基准电压Vref实时对比电压大小Vin Vref输出高电平反之输出低电平。核心作用是将连续的模拟电压转化为数字电路可识别的 0/1 逻辑信号。模拟开关由MOS管构成双向可控通路通过数字电平控制栅极电压精准控制电路通路的导通与断开是数字逻辑控制模拟功率通路的核心桥梁。功率与采样模块包含Buck充电功率管、电流采样电阻、误差放大器负责电能转换、电流电压实时采样、闭环误差调节完成充电功率的硬件级实时调控。1.2数字电路实现逻辑判断与时序自动跳转数字电路是硬件自动化的逻辑核心与记忆核心。它摒弃了连续电压信号只识别两种离散电平低电平0、高电平1底层硬件依旧由MOS管构成但所有晶体管均工作在饱和/截止的纯开关状态。数字电路整体分为两大体系组合逻辑电路无记忆时序逻辑电路有记忆二者配合实现硬件的判断、计时、状态跳转全套自动化能力。1.2.1 组合逻辑硬件并行判断无记忆实时运算核心单元为基础逻辑门与门、或门、非门、与非门等其中CMOS与非门是工业芯片最通用的基础标准单元所有复杂数字逻辑均可通过与非门拼接实现批量生产成本最低、效率最高。以最基础的CMOS单元为例核心工作逻辑CMOS非门数字电路最基础单元输入高电平→PMOS截止、NMOS导通→输出低电平输入低电平→PMOS导通、NMOS截止→输出高电平实现信号反向。CMOS双输入与非门上方两只PMOS并联任意一路输入为0即可导通将输出上拉至VDD下方两只NMOS串联必须两路输入同时为1才会全部导通将输出拉至GND。逻辑真值表全1出0有0出1。组合逻辑的本质硬件并行版if判断。软件中if(AB) out1的串行代码逻辑在硬件中只需将A、B两路信号直接接入与门即可实时、并行、无延迟完成逻辑判断全程无需CPU运算、无需代码执行。和模拟电路一致组合逻辑无记忆能力输出仅取决于当前输入。1.2.2 时序逻辑硬件记忆能力实现步骤化自动运行1、核心记忆单元D触发器D触发器是数字电路的1bit存储单元是所有硬件记忆、状态保存的基础。引脚定义D数据输入、CLK时钟节拍输入、Q状态输出工作规则仅在时钟上升沿瞬间更新输出 QD其余所有时刻Q 保持原有状态不变。多个D触发器并联阵列即可构成寄存器、状态寄存器用于保存设备当前的工作状态空闲、延时、采样、充电、完成等。2、硬件延时原理计数器时序累加纯硬件无需CPU即可实现精准延时核心结构N位D触发器级联 组合比较逻辑。工作流程时钟脉冲为全局统一节拍每输入一个时钟脉冲触发器级联组成的二进制计数器自动累加1通过与门阵列搭建比较逻辑实时对比当前计数值与预设阈值当计数值等于阈值时输出溢出脉冲触发后续逻辑动作精准完成硬件延时。3、自动化核心有限状态机FSM硬件所有自动跳转、流程闭环全部依托有限状态机FSM实现这是纯硬件自动化的核心架构结构固定、逻辑闭环流片时通过金属连线永久固化无法后期修改。FSM固定由三部分组成状态寄存器触发器阵列核心记忆单元保存设备当前工作状态。下一状态组合逻辑以「当前状态外部输入条件」为输入通过逻辑门实时计算出下一个跳转状态。输出组合逻辑根据当前锁定状态输出对应的控制电平驱动模拟电路执行动作。4、纯硬件自动运行完整链路充电场景示例时钟提供统一运行节拍触发器保存当前步骤逻辑门计算跳转规则时钟沿完成状态切换全程硬件自主闭环上电初始化 → 触发器复位默认空闲状态VBUS插入供电 → 模拟比较器检测到电压有效输出高电平数字信号信号送入FSM组合逻辑 → 逻辑判定空闲状态供电有效 → 下一状态为充电初始化下一个时钟脉冲到来 → 触发器刷新状态切换为充电初始化状态状态对应输出信号生效 → 导通模拟开关、启动硬件延时计数器计数器累加至预设阈值 → 溢出信号触发逻辑判断FSM重新计算状态 → 关闭计数器、开启电压采样环路循环往复完成充电、稳压、截止全流程硬件自动化1.3 模数交互模拟域与数字域的闭环边界整套纯硬件自动化系统本质是模拟信号采集 → 数字逻辑判断 → 模拟功率执行的双向闭环两个域分工明确、交互固定1. 模拟→数字信号采样与量化外部物理信号VBUS供电、D/D-信号、电池电压VBAT等连续电压通过电压比较器量化为0/1数字逻辑信号为数字FSM、计数器、寄存器提供判断依据。2. 数字→模拟逻辑转执行数字电路完成状态判断、时序调度、逻辑跳转后输出固定控制电平驱动模拟开关、基准源、Buck功率环路等模拟模块最终实现引脚电平切换、充电功率调节、设备启停等物理动作。1.4 总结1. 模拟电路无记忆、纯实时执行负责物理信号采集、功率转换、实时闭环调节2. 数字组合逻辑无记忆、并行判断硬件化实现所有条件判断逻辑3. 数字时序逻辑有记忆、时序可控通过触发器、计数器、FSM实现步骤化、自动化状态跳转4. 整套硬件自动化无需CPU、无需代码、无需固件逻辑固化在硬件电路中实时性、稳定性远高于软件实现。二、充电系统软硬件完整划分讲完底层原理回到正题一套完整的充电系统里哪些是硬件自动干的哪些是软件管的2.1 纯硬件自动运行不需要CPU实时参与在MCU/AP休眠、不开机、主控不上电照样独立工作功能硬件模块说明CC/CV 充电双闭环误差放大器 PWM Buck给定目标电流 / 电压后硬件自动调节占空比CC→CV 平滑切换BC1.2 充电器识别硬件方案芯片内置硬件 FSMVBUS 插入后自动跑 DCD 时序识别 SDP/DCP/CDP结果存寄存器硬件保护OVP/OCP/OTP比较器 保护电路微秒级响应直接切断充电通路软件来不及干预Type-C CC 基础检测比较器 Rd/Rp 检测识别插入 / 拔出、插头正反、Sink/Source 角色Dead Battery 死电池预充硬件 FSM主控未上电时硬件独立小电流预充到开机电压AICL 输入限流硬件模式比较器 限流环路VBUS 跌落时自动降低充电电流防止适配器掉压重启硬件计数器 / 看门狗 / 振荡器触发器级联提供时钟节拍、延时、超时保护⚠️ 值得注意的以上全部是纯硬件电路软件能做的只有提前写寄存器配置参数使能 / 禁用、设置阈值事后读取结果寄存器。2.2 软件执行MCU/DSP/Linux 内核驱动必须处理器运行才能工作主控休眠后逻辑停止。功能说明充电大状态机预充→CC→CV→终止判断什么时候切换阶段动态修改 FCC/FV 寄存器参数JEITA 温控策略读取 NTC 温度多档位限流 / 停充温度曲线由软件定义充电电流投票Voter 机制多模块温控、PD、热管理、APP抢电流取最严格限制生效SOC 电量估算算法OCV 开路电压校正、温度补偿、老化补偿、库仑积分漂移修正PD/PPS 快充协商解析适配器 PDO 能力、选择电压档位、发送 Request、超时重试、失败回退电池 Profile 配置根据电池型号加载充电曲线、容量参数、内阻表非标充电器兼容重试识别失败后切换探测模式、增加重试逻辑、兼容各种山寨配件系统联动策略系统高负载降功率、充电 UI 上报、电量广播、关机充电唤醒逻辑IIO/ADC 数据抽象把原始 ADC 采样值封装成标准接口供各模块读取2.3 混合模式硬件做底层时序软件做上层策略—— 最常见场景硬件负责软件负责PD 快充CC 引脚 BMC 编码、数据包收发、硬件超时检测解析 PDO、协商策略、档位选择、异常恢复Type-C OTGBoost 升压电路、过流保护何时开启 OTG、功率限制、负载检测、关闭时序QC 快充底层 D/D - 时序引擎启停控制、档位选择、超时恢复电量计库仑计硬件积分电流、ADC 采样电压SOC 算法、OCV 校正、温度 / 老化补偿BC1.2 识别部分方案底层 D/D - 电平切换、采样探测流程编排、非标兼容、结果上报三、充电三层架构根据上述内容因此可以将充电系统浓缩成三层架构层级名称执行主体核心职责层 3策略决策层软件判断该充多少电流、多少电压什么时候停层 2执行调节层纯硬件给定目标值后自动调节维持电流 / 电压稳定层 1安全保护层纯硬件过压 / 过流 / 过温时直接切断软件来不及管打个设定空调通俗的比方第一层硬件保护就是保险丝短路直接烧断。第二层硬件闭环就是空调压缩机温控电路自动维持26度第三层软件就是空调遥控器设定26度。空调硬件会自己维持 26℃但它不会自己决定今天该设 26℃还是 22℃—— 这个决策是人软件做的。充电系统完全同理硬件 CC/CV 环路 维持设定好的充电电流FCC、浮充电压FV软件充电状态机 动态修改 FCC、FV 参数切换充电阶段CC→CV 的平滑切换是硬件模拟环路自发完成的但 目标电流设多少、什么时候彻底关断充电是软件决定的。