PMIC配MCU的便携设备电源管理设计:以PCA9422与PIC18F57Q43为例
最近在整理一套便携设备的电源子系统方案最终定成 PCA9422 这颗 PMIC 配合 PIC18F57Q43 这颗8位MCU一起把电池充电、多路电源轨输出、上下电时序、故障保护和低功耗调度串成了一套完整电源管理。这个组合做下来最大的感受是“功率”和“策略”分工清楚了PCA9422 负责把电池和适配器的能量变成各路稳定、可配置的电压PIC18F57Q43 负责根据系统状态决定这些电压什么时候给、给多少、出故障了怎么处理。如果你现在正纠结于“用分立LDO加比较器还是集成PMIC”或者已经定了PMIC但不知道怎么把软件调度和硬件保护做完整这篇文章可以把我的整个设计思路和踩坑过程都给你参考。1. 为什么电源管理要交给“PMIC通用MCU”这套组合1.1 传统分立方案的三个痛我之前做过一些手持设备早期习惯用多颗LDO加一颗DC-DC再用几个电阻分压做电源管理。这也不是不能用但一旦系统里出现主处理器、显示模组、传感器、通信模块等多个电压域问题就暴露了。第一是调压麻烦。想改输出电压就要焊电阻研发阶段几乎每天都在改电源网络每次改完还要重新测纹波和瞬态响应非常耗时。第二是时序控制粗糙。早期用RC延时加比较器硬搭上电顺序温度一变参数全漂而且电压建立时间和负载电容、输入电压都有关RC算出来只能当参考经常复现上电失败的偶发问题。第三是故障信息几乎为零。过流、过热、电池欠压系统只能表现为“突然死机”或“无规律重启”事后查起来完全靠猜。所以后来我就转向了集成PMIC方案。但市面上的PMIC很多是给某颗固定处理器配套的输出电压范围、中断定义、默认上下电顺序都绑得很死。我真正想要的是输出可控、能通过I2C改配置、自带电池充电前端、又有可编程中断的PMIC同时主控端还能参与策略调度而不是把状态寄存器丢在那里不管。1.2 功率链路交给PMIC策略电路交给MCU这套方案里PCA9422 和 PIC18F57Q43 的分工非常清晰。PCA9422 负责功率链路。它内部集成了多路转换器和充电相关功率电路本身就能输出稳定的多路电压轨而且支持通过I2C实时调整输出电压、限流、充电参数。这类“脏活累活”交给PMIC好处是功率密度高、静态电流低、保护齐全不用我在外部堆一堆分立功率器件。PIC18F57Q43 则是电源管理的“大脑”。它的任务不是去转换功率而是决定整套系统的电源策略什么时候上电、电压该设多少、什么条件下降低功耗、检测到故障后怎么处理。PMIC只是执行机构真正让系统在不同运行状态下都能稳定工作的是MCU里的状态机和策略算法。1.3 这套组合具体覆盖的任务清单下面是我在项目里列出的任务分工表画原理图和写驱动之前先把这个表定下来后面能少走很多弯路。任务负责模块说明电压变换PCA9422 Buck/LDO通过I2C设定各路输出电压电池充电PCA9422充电前端配置预充/恒流/恒压/截止参数上下电时序PIC18F57Q43 外部负载开关GPIO使能 ADC/PG反馈闭环确认故障保护PMIC中断 MCU ISR 内部CIP硬件链硬件与软件双重保护低功耗调度PMIC低功耗模式 MCU休眠多状态联动切换表格里最后一行关键——故障保护必须做在“前端”不能只依赖MCU软件轮询。PIC18F57Q43里我用内部比较器、可配置逻辑单元CLC和PWM外设搭了一条硬件保护链这条链不经过CPU执行代码也不依赖软件跑得好不好。这个点后面单独展开。2. PCA9422 的配置入口自主模式、I2C寄存器与最小写入序列2.1 冷启动为什么要靠“自主模式”先解决一个最常见的问题系统刚上电的时候MCU自己还没有程序在跑此时PMIC如果完全等I2C配置才输出电压系统就永远起不来。所以PCA9422这类PMIC都会有一个“自主模式”或者叫默认输出模式只要使能引脚被拉高它就按照芯片出厂配置或OTP默认配置输出一路或多路电压。我在设计上电链路时会把3.3V这一路放在自主模式默认输出让PIC18F57Q43先从这个轨启动。MCU跑起来之后再通过I2C把其他各路按应用需求配置好。这个设计有一个隐藏依赖默认输出必须覆盖MCU自己的供电域。如果MCU被安排在其他电源轨之后上电那它就没有能力控制后续时序整机就只能依赖PMIC内部固化的顺序灵活度会差很多。2.2 I2C读写的基本流程和检查点PCA9422的配置接口是I2C。芯片的器件地址一般由外部地址引脚的电平决定画原理图之前就要把地址定死等PCB做好了再想改只能飞线非常被动。总线频率我建议先从400kHz开始调通后再根据线长和板上寄生电容优化MCU上电早期内部时钟还没稳定I2C跑太快容易出错。写寄存器的基本流程是先发Start发器件地址加写位等ACK再发寄存器偏移再发写入数据最后Stop。PIC18F57Q43的MSSP模块主机模式下可以直接做这件事。下面是一段我惯用的封装方式static uint8_t pca9422_write_reg(uint8_t reg, uint8_t val) { i2c_start(); if (i2c_write(PCA9422_ADDR 1 | 0x00) I2C_NACK) return 1; if (i2c_write(reg) I2C_NACK) { i2c_stop(); return 2; } if (i2c_write(val) I2C_NACK) { i2c_stop(); return 3; } i2c_stop(); return 0; }写完不要直接当成功一定要回读校验。我之前丢过一版板子就是因为I2C数据线上的毛刺导致某个寄存器写入错误系统表现为“偶发启动异常”查了很久才发现是配置被写坏。回读校验只要几条指令能从源头上避免这类问题。2.3 一个最小化的配置序列示例下面是我项目上电时执行的一段配置序列。需要说明的是不同批次、不同版本的数据手册寄存器偏移可能不一样我这里写的是寄存器访问思路不是让你照着抄。实际以你手里的芯片手册为准。/* 先回读设备ID确认I2C通路正常 */ uint8_t id pca9422_read_reg(REG_DEVICE_ID); if (id ! PCA9422_FAMILY_ID) { /* 通信异常进入错误处理 */ } /* 正常工作模式 */ pca9422_write_reg(REG_DEVICE_CTRL, 0x03); /* 核心电源轨暂设1.8V等负载就绪后再降到0.9V */ pca9422_write_reg(REG_BUCK_VOUT, 0x18); /* LDO设3.3V给IO和模拟前端供电 */ pca9422_write_reg(REG_LDO_VOUT, 0x20); /* 输入限流设1A */ pca9422_write_reg(REG_CHG_ILIM, 0x10); /* 充电电流设500mA */ pca9422_write_reg(REG_CHG_CC, 0x14); /* 充电目标电压4.2V */ pca9422_write_reg(REG_CHG_CV, 0x18); /* 使能过热中断关闭其他暂时用不到的中断源 */ pca9422_write_reg(REG_INT_MASK, 0x04);注意到我把核心轨先设成1.8V而不是直接设成0.9V。原因是负载还没就绪时把输出电压压得很低容易触发欠压保护或者让后级负载在上电瞬间工作在非正常电压下。等整机状态机走到“核心轨启动”那一步再通过I2C把电压降下来这样更稳。2.4 配置写入的时机配置写入最好选在“电池已接入、负载还未开启”的窗口期。如果系统已经处于高负载状态再去改Buck输出电压Buck的瞬态响应可能引起电压过冲轻则触发保护重则损伤后级电路。另外PMIC不是配置一次就永远有效的很多寄存器掉电后恢复默认值。我的做法是每次开机都重新写一遍几乎全部寄存器然后回读配置区的校验和不一致就重写。这么做的原因是如果某次运行中因为异常导致PMIC做了复位而MCU不知道后续整个电源策略就会错乱。定期冗余刷新配置是保证长期稳定性的基础。3. PIC18F57Q43 在整套系统里实际干了哪几件事3.1 I2C主机与状态轮询PIC18F57Q43 在系统里是唯一的I2C主机PCA9422是从机。MSSP模块配置成主机模式400kHz单字节寄存器寻址。我在主循环里周期性轮询几个关键寄存器充电状态、中断状态、电池电压寄存器。轮询周期放在1秒比较合适因为充电过程和温度变化都是慢变量1秒足够真正紧急的情况由PMIC的中断脚拉低来通知不需要靠轮询。通信异常恢复策略也很重要。连续3次读不到ACK我就判断PMIC可能进入了异常状态。如果板上给PMIC留了复位控制脚就拉一下复位如果没留就重新初始化I2C总线并重新写入配置。千万不要在通信失败后继续盲目读状态那样反而会掩盖真实故障。3.2 模拟采集链路电压、电流、温度全部采回来PIC18F57Q43 的12位ADC带计算功能很适合做电源管理里的多通道采集。我接了四个信号信号调理方式MCU外设用途电池电压 VBAT1:2分压ADCC 通道0电量估算、充放电判断充电电流10mΩ采样电阻 运放50倍ADCC 通道1充电过程监测系统总电流10mΩ采样电阻 运放50倍ADCC 通道2负载评估电池温度 NTC10k NTC 上拉电阻分压ADCC 通道3充电安全保护ADC参考电压我建议用内部2.048V参考而不是直接用VDD。因为电池供电的设备VDD本身就是在变化的如果拿它当参考源转换结果会跟着电源轨一起漂。比如电池电压4.2V经过1:2分压后是2.1V刚好接近2.048V参考的满量程附近分辨率够用也不会溢出。ADCC 本身支持自动多次采样求平均我配置成每通道连续采样16次取平均CPU只需要在转换完成中断里读一次结果省下来的时间可以去做别的事。3.3 中断响应与硬件保护PCA9422的中断输出脚INTB接到PIC18F57Q43的外部中断输入低有效下降沿触发。ISR里做的事尽量短读取PMIC中断状态寄存器、把事件记录到全局变量、清中断标志然后回到主循环统一处理。不要在中断里做I2C重配置或者状态机迁移那会增加中断延迟和出错的概率。真正让我放心的不是软件ISR而是一条硬件保护链。我用内部比较器监测采样电阻上的电压比较器输出接到可配置逻辑单元CLCCLC把逻辑结果直接送到控制使能脚的输出。一旦电流超过阈值硬件逻辑在几个微秒内就能把负载使能脚拉低完全不依赖CPU执行代码。这套保护我建议别省因为软件再快也可能被看门狗打断硬件保护是最后一道防线。3.4 低功耗状态联动低功耗不是单点工作而是全局状态联动。我在系统里定义了几档运行模式待机、正常工作、充电中、故障保护。每一档模式下PMIC各路的输出电压、充电参数、MCU休眠时间、外设电源开关都是一组同时切换的变量。待机时PCA9422只保留3.3V待机轨关闭核心轨ADC和外部传感器都断电PIC18F57Q43进入休眠用内部定时器每1秒唤醒一次检查是否有充电事件。充电时系统可以进入低功耗但持续监测的状态NTC温度和充电状态每30秒采一次。只让PMIC待机、却不把MCU睡下去或者只让MCU睡下去、PMIC还全速输出都达不到省电效果。4. 上下电时序整个项目最容易翻车的一环4.1 时序错位会带来什么后果很多处理器和外设芯片的数据手册里都有明确的电源轨上下电顺序要求违反顺序不会立刻烧芯片但长期可靠性会受影响。最典型的问题是闩锁电流。如果核心电压先建立而IO电源轨还没上电IO引脚相当于接在浮空电位上芯片内部的二极管路径就可能形成低阻通路产生异常电流。我手上的一个模块就出现过这种情况核心电压先于IO上电后模块表面温度在几分钟内明显上升IO口还输出不规律的脉冲。这个现象不是每次都复现但一旦出现就很头疼最终只能靠严格遵守时序来解决。4.2 上电状态机的设计与超时保护上电时序我建议用状态机来做而不是简单的延时。原因很简单电压建立时间受输入电压、负载电容、软启动配置影响不同批次的板子可能差几十毫秒死等延时要么太保守要么不够稳。我的状态机定义如下typedef enum { PWR_OFF, PWR_WAIT_IO, PWR_WAIT_ANA, PWR_WAIT_CORE, PWR_ACTIVE, PWR_SUSPEND } pwr_state_t;迁移条件是闭环反馈使能3.3V负载开关后不是睡50ms就算完成而是用ADC检测3.3V输出是否高于3.0V或者读取电源正常PG信号确认到位后进入下一状态。1.8V模拟轨也一样等待输出稳定到1.7V以上再启动最后的核心电压轨。核心轨通过I2C把Buck输出配置成0.9V并拉高使能等待它的电源正常信号再进入ACTIVE状态。每个状态我设置了100ms超时。真正值钱的是超时后的动作选择前两次超时可以做重试第三次超时说明存在硬件级问题此时保持IO轨供电、关闭其余电源轨、记录故障代码再通过状态指示接口上报而不是无限循环重试。4.3 掉电同样要按顺序来掉电流程是上电的逆序先关核心轨再关1.8V模拟轨最后关3.3V。但很多人忽略了两个细节。第一掉电前要先通知业务层。如果系统里有裸机任务或者轻量级调度器要先把外设停止、数据保存再执行电源关闭。否则正在操作的闪存写操作会被瞬时断电打断产生坏块或文件系统错误。第二每一路都要等电压真正降下来再关下一路。我通常用ADC确认当前电源轨已经降到阈值以下再关掉下一路。如果PMIC支持内部放电电阻配置成掉电后自动放电如果不支持外围就要预留负载电阻否则残压会导致系统复位不干净下次上电时序乱套。我的状态机里OFF状态不是“把EN拉低就算关机”而是“所有电源轨电压都验证降到安全范围之后”才算真正关机。这个细节帮我挡掉了很多重启复现的怪问题。5. 电池充电与运行状态迁移5.1 锂电充电阶段的完整拆解单节锂电池的充电流程不是“一直恒流充到4.2V就完事”而是分阶段控制。PCA9422内部具备完整的充电前端MCU要做的就是配置参数、监测状态、按温度和系统负载动态调整。我按这个流程来配置充电阶段触发条件目标典型参数预充电池电压低于3.0V小电流恢复电池100mA恒流CC3.0V至4.2V之间以设定电流快速充电500mA恒压CV达到4.2V电压不变电流逐渐下降4.2V / 递减电流截止充电电流小于终止电流认为充满50mA复充电压回落到复充阈值重新启动充电4.05V为什么电池电压低于3.0V时不能直接大电流充因为深度放电后的电池内部化学反应还没跟上大电流会加速负极析锂长期来看容量衰减会变快。所以预充阶段用100mA小电流先把电池“唤醒”再进入恒流阶段。这里有个实操坑不要直接用ADC读到的在线电压判断充电阶段。充电路径上有内阻和线阻电池端电压在充电过程中是包含压降的直接读会偏高或偏低。我以PMIC的充电状态寄存器为准ADC的电压值只用于电量估算和低电量报警两者分开用。5.2 温度与充电策略联动电池温度直接决定充电参数。我用10k NTCB值3435接在电池上分压后进ADC。充电过程中每30秒读一次温度连续两次超限才做停充动作避免单次跳变导致系统抖动。温度策略上我是这样做的0℃以下和45℃以上停止充电0到10℃降到0.25C电流充电10到40℃按正常500mA充电40到45℃再降到0.25C。这个策略不一定适合所有电池但方向是通用的低温充电析锂风险高高温充电加速老化中间温区才适合满速充电。5.3 充电状态如何影响整机运行策略充电不只是“PMIC自己充”它跟整机运行状态强相关。我在系统里做了三级低电量策略电量低于20%时降低屏幕亮度、关闭非必要传感器低于10%时关闭通信模块低于5%时进入保电模式只保留按键唤醒和PMIC监测。充电过程中如果系统负载很重输入限流和充电电流会互相抢电流。我配置输入限流1A充电电流500mA系统负载余量留0.5A实测比较稳。如果你把充电电流设得太大适配器输入能力又不足PMIC会回退输入限流导致充电电流反而上不去这个问题后面还会提到。充满之后PMIC自动停充系统可以切到适配器直供模式。满电状态不代表永远不动电池电压回落到复充阈值之后PMIC会重新开启充电MCU只需要读状态寄存器、做好记录不用干预太多。6. 实测、调试和复盘6.1 测试仪表与关键测量点电源管理调试需要把信号看清楚我常用的仪表是四通道示波器、可编程直流电源、电子负载和一台功率分析仪。示波器的四个通道同时挂使能信号、电源正常PG、目标电源轨输出电压、PMIC中断输出。这样一条上电波形能直接看出顺序有没有问题。关键测量点包括电池端、VBUS输入、每路输出、PMIC使能脚、INTB中断脚、I2C的SCL/SDA。注意I2C波形抓取要用逻辑分析仪或示波器同时抓SCL和SDA配合触发条件才能看到有效的读写序列。6.2 三个高频问题与排查过程问题一I2C写不进去或读回来不对。先看ACK波形器件地址对不对再查上拉电阻我遇到过因为上拉电阻用了10k总线上升沿太慢400kHz下随机失败的情况换成4.7k后正常还要检查SDA的建立保持时间MCU和PMIC双方都没有明显违反协议的话问题基本出在电平域匹配上。问题二上电时序和预期不符。表现为使能脚顺序正确但电压翻转总是慢半拍。后来发现是软启动时间设置过大寄存器里的软启动参数被配成几十毫秒而状态机的超时判断比它短导致状态机误认为超时。把软启动时间和状态机超时对齐之后就正常了。这类问题的排查思路是先把每路使能和对应的输出电压波形叠在一起看确认延迟到底发生在哪个环节。问题三充电电流达不到设定值。明明配置了500mA实际只有300mA左右。用电流探头看实际波形后发现输入线缆压降太大VBUS在充电启动时被拉低PMIC认为自己进了输入限流回退。换粗输入线、把输入限流挡位调高之后充电电流才回到设定值。排查这类问题要记住一个原则充电电流是“系统给出来的”不是“寄存器写出来的”外部寄生参数和输入能力都会影响最终结果。6.3 一组实测数据参考我手头这套板子实测的一组数据供你参考。数据只代表我这里的布板、电感和电池状态不同项目会有明显差别。项目实测值说明整机待机电流58µAMCU休眠 PMIC低功耗模式3.7V转1.8V效率约85%100mA负载下实测1.8V输出纹波小于15mV示波器20MHz带宽限制上电时序3.3V → 50ms → 1.8V → 50ms → 0.9V由状态机闭环控制0.5C充电完成时间约80分钟从3.6V充到4.2V6.4 长期稳定运行的几项习惯经验总结下来长期稳定运行靠的是几个习惯每次开机都做配置回读校验配置写入后等PMIC状态稳定再操作后级负载修完板子之后做回归测试至少要看上电时序波形、充电全程温度、待机电流三项故障记录要保存到非易失区方便日后复盘。电源管理这块最怕的就是软件和硬件对系统状态的预期不一致。我会在项目一开始就列一张电源状态表把每个状态下PMIC各路的输出电压、限流、使能状态、中断条件、MCU的外设开关全部写清楚后续写代码和调板子都围绕这张表走。这套PCA9422加PIC18F57Q43的组合让我改动输出电压时不用再焊电阻故障也有据可查整体跑下来比较稳。

相关新闻

PCA9422+STM32F070RB构建高可靠嵌入式电源管理系统

PCA9422+STM32F070RB构建高可靠嵌入式电源管理系统

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:01:24 阅读更多 →
杭州工业段码屏定制工厂怎么挑?格钠电子生产厂家行业现状与选择指南

杭州工业段码屏定制工厂怎么挑?格钠电子生产厂家行业现状与选择指南

杭州工业段码屏定制工厂怎么挑?这是不少工控仪表、充电桩、电梯、小家电设备企业采购负责人反复琢磨的问题。今天围绕这个话题,介绍一家深耕细分领域十余年的本土厂商——杭州格钠电子有限公司(简称格钠电子),并给出一套实用的选择参考。一句话定位&…

2026/10/10 5:01:24 阅读更多 →
多 Reactor 线程池负载均衡倾斜治理:连接调度器防热点设计

多 Reactor 线程池负载均衡倾斜治理:连接调度器防热点设计

在构建支撑单机数百万长连接的高性能 API 网关、自研 RPC 框架或实时推送系统时,主从多 Reactor 模型(Main-Sub Multi-Reactor) 已经成为事实上的工业标准设计模式。主 Reactor 线程专职负责通过 accept() 快速握手接入新连接,随后…

2026/10/10 5:01:24 阅读更多 →

最新新闻

缩短招聘周期:从人才画像到Offer的11个高效策略

缩短招聘周期:从人才画像到Offer的11个高效策略

招聘周期拉长,用人部门催、候选人等不起、HR夹在中间两头受气——这是过去几年我在各类企业里反复看到的真实场面。尤其遇到急招岗位,从职位发布到人选入职动辄拖上三四十天,错过业务窗口不说,还经常出现“谈好的Offer被对手截胡”…

2026/10/10 5:45:40 阅读更多 →
MyBatis动态SQL核心用法:多条件查询、批量操作与安全实践

MyBatis动态SQL核心用法:多条件查询、批量操作与安全实践

做后端几年,动态 SQL 基本是每天都要打交道的东西。业务方今天要按名称筛,明天要加时间范围,后天又要排除某几个状态,如果每换一种组合就写一条 SQL,代码量会无限膨胀。更麻烦的是,条件一变,拼接…

2026/10/10 5:45:40 阅读更多 →
C++函数传参与内存模型:对象生命周期与RAII解析

C++函数传参与内存模型:对象生命周期与RAII解析

我记得带过不少刚学编程的新同学,很多人是在“指针”“内存”“类”这三座大山面前开始动摇的。前两讲我们把语法基础过了一遍,第三讲正好站在一个分水岭上:如果只看代码表面,你写的还是C;但如果理解了函数回调机制、内…

2026/10/10 5:45:40 阅读更多 →
基于Python的多元统计分析课设源码:从K-means到PCA实战解析

基于Python的多元统计分析课设源码:从K-means到PCA实战解析

简介:这是一份面向高校生与数据学习者的多元统计分析课程设计源码包,覆盖描述性统计、回归分析、因子分析、主成分分析、k均值与层次聚类、Apriori关联规则等经典方法,每个Python脚本对应一个独立实验,从数据读取、清洗到结果输出…

2026/10/10 5:45:40 阅读更多 →
Python54-55:核心语法-数据容器-字典dict-案例

Python54-55:核心语法-数据容器-字典dict-案例

开发一个购物车管理系统,实现商品信息的添加、修改、删除、查询功能。系统使用字典结构存储商品数据,通过控制台菜单与用户交互。具体功能如下:添加购物车:用户根据提示录入商品名称、以及该商品的价格、数量,保存该商…

2026/10/10 5:45:40 阅读更多 →
开源实时协作Markdown编辑器HedgeDoc:自托管与权限管理指南

开源实时协作Markdown编辑器HedgeDoc:自托管与权限管理指南

如果你所在的环境里,协作记录一直散落在聊天记录、本地文本和邮箱附件之间,我建议你认真了解一下 HedgeDoc。它是一款开源的、基于 Web 的实时协作 Markdown 编辑器,浏览器打开就能用,也能在自己的服务器上搭建。我把团队内部的技…

2026/10/10 5:44:39 阅读更多 →

日新闻

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

1. 从“卫星轨道分类”这个标题说起:为什么值得花时间搞懂第一次接触“卫星轨道分类”这个概念,很多人会觉得它离自己很远——不就是天上的星星怎么转吗?但如果你正在做航天任务规划、遥感数据接收、星座设计,甚至只是准备一场航天…

2026/10/10 0:00:39 阅读更多 →
Spring AOP 核心原理与实战:从概念到日志切面落地

Spring AOP 核心原理与实战:从概念到日志切面落地

1. 从一个真实痛点说起:为什么你的代码里到处都是重复逻辑刚入行那会儿,我写过一个用户管理模块,注册、登录、改密码、注销四个接口。每个接口里都塞了几乎一样的日志打印、参数校验、事务开启和提交。当时觉得没什么,能跑就行。直…

2026/10/10 0:00:40 阅读更多 →
Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

简介:这是一套面向计算机相关专业学生与项目实战学习者的Python数据采集与分析可视化完整项目,以Boss直聘岗位数据为对象,适合用作毕业设计、课程设计或期末大作业。资源包共38个文件,约246KB,以13个py源码文件为核心&…

2026/10/10 0:00:40 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 1:36:08 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 10:11:06 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 6:17:20 阅读更多 →