news 2026/10/22 2:19:46

PMIC+MCU协同设计:PCA9422与PIC18F85K22的嵌入式电源管理方案

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
PMIC+MCU协同设计:PCA9422与PIC18F85K22的嵌入式电源管理方案

先说个结论:一块电池要撑起一个完整嵌入式系统,从来不是“把LDO接上、电压对就完事”那么简单。最近我在做一块便携式采集板,用 PCA9422 电源管理芯片搭配 PIC18F85K22 单片机,把充电、多路供电、电量提示、低电压自动关机全串了起来。排完这个方案之后我最大的感受是:PMIC 负责“把电伺候好”,MCU 负责“知道什么时候该省电、什么时候该切断”,两者各管一摊,整体设计反而变得清晰很多。这篇文章把这次项目里的架构划分、电源树规划、I2C 控制流程、低功耗与电量策略、实测踩坑都写出来,给正在做手持设备、电池记录仪、便携仪表的朋友一个可直接抄作业的参考。

1. 系统架构与芯片分工:PCA9422管电,PIC18F85K22管脑

1.1 为什么要把电源管理拆成“执行”和“决策”两端

以前做简单产品时,我也试过用“DC-DC 芯片 + 单片机 ADC + 分压电阻”自己拼电源方案。低负载、单路输出的情况确实能跑,但一碰到锂电池充电就麻烦:预充电、恒流、恒压、截止电流判断、温度保护、过放切断,这些环节如果用单片机软件一点点判断,响应速度跟不上不说,代码耦合也高。最难受的是故障场景——比如负载短路时瞬间电流飙升,MCU 正在执行其他任务,轮询到故障时可能已经过了几百毫秒,硬件早该被保护了。

PMIC 存在的意义就是把稳压、充电、保护这些模拟域的事情在芯片内部闭环解决,MCU 只通过寄存器配置参数、读取状态。PCA9422 在我的板子上承担了这一整套“电力执行层”的角色:锂电池充电管理、多路 DC-DC/线性稳压输出、过压过流过热保护、电源状态中断,全部由它管。我需要的只是通过 I2C 告诉它“输出几伏、充电电流多大、什么温度下停止充电”,然后它自己盯着反馈环路干活。

而 PIC18F85K22 在这个项目里是一个纯粹的“策略大脑”。它不直接控制功率回路,而是把 PMIC 传来的状态翻译成产品行为:电量剩 20% 时关掉传感器供电、充满电时更新指示灯、检测到充电故障时进入安全模式。这种拆分的最大好处是:模拟电路上的风险被 PMIC 兜住了,软件侧只需要关心状态机和业务逻辑,两边都能做得干净。

1.2 PCA9422 在系统里具体承担的工作

按我手上的这颗样片来看,PCA9422 集成了锂电池充电管理、降压转换通道、线性稳压通道和一些系统保护功能。放到这个项目里,它实际负责四件事。

第一,充电管理。输入侧接 5V USB,电池是单节锂离子电池,充电过程被内部状态机分成预充、恒流、恒压、截止几个阶段。我只需要配置充电电流上限、终止电流阈值和温度保护范围,剩下的状态切换全部由芯片内部完成。

第二,多路电源输出。系统需要 3.3V、1.8V 和 3.0V 三路电源,一部分来自降压通道,一部分来自线性稳压通道,每一路都可以通过寄存器开关。这种“软件可控断电”的特性在后面做低功耗设计时非常有用——睡眠模式里直接把不用的通道关掉,整机电流很快就降下来。

第三,保护功能。过压、欠压、过流、过温这些保护阈值都可以配置。以前用分立方案时,这些电路要自己搭比较器、基准源、MOS 管控制逻辑,现在 PMIC 内部默认就有,省掉大量外围。

第四,状态通知。充电完成、电池电压低、输入插入、故障发生这些事件都会拉低 INT 引脚,MCU 被中断唤醒后再通过 I2C 读取详细状态寄存器。做低功耗唤醒时,这个中断脚是系统的“事件门铃”。

1.3 PIC18F85K22 为什么够用且合适

选 PIC18F85K22 不是因为它最强,而是因为在这个结构里,MCU 完全不需要参与模拟环路控制,真正需要的其实就是 I2C、ADC、中断、几个定时器、足够的 Flash 和 RAM 来跑状态机和数据记录。

这颗单片机有 64KB 程序 Flash、3.6KB SRAM、1KB EEPROM,板级项目里跑一个电源状态机加日志存储绰绰有余。I2C 硬件外设挂 PMIC,ADC 采集电池电压和系统温度,外部中断接 PMIC 的 INT 脚,再加几个 GPIO 控制外围负载供电。整个电源管理功能的“思维量”并不大,但需要 MCU 睡得够深、醒得快,PIC18 的低功耗模式和快速唤醒特性正好对得上。

这里多说一句:如果你手里的 MCU 比我这个还紧张,也不必照搬。只要保留“PMIC 执行、MCU 决策”的架构,任意带 I2C 和外部中断的单片机都能做同样的电源管理。芯片型号只是载体,架构才是核心。

2. 硬件电源树设计:从电池输入到多路稳压输出

2.1 输入侧充电通路的设计思路

系统采用单节锂离子电池,标称 3.7V,充电截止电压 4.2V,容量我选了 800mAh 的规格,兼顾体积和续航。充电输入来自 USB 5V,经过 PCA9422 内部的充电管理路径给电池充电。

充电参数上,我设置恒流阶段电流为 400mA,也就是约 0.5C,这样既不会让电池发热太严重,充电时间也在可接受范围。终止电流设置为 40mA,约 0.05C,低于这个值就判定充满。预充阶段是默认行为:当电池电压低于 3.0V 时,充电电流会被主动限制到 80mA 左右,先把电池“缓一缓”,避免深度放电后的电池直接被大电流冲击。

输入端保护也不能省。USB 口进来后我先放了一颗 TVS 管,防止热插拔时浪涌电压损坏 PMIC;输入通路再串联一个 1A 自恢复保险丝,万一后级异常短路,先断输入而不是让电池硬扛。电池端则加了 NTC 热敏电阻,贴在电池表面,接到 PMIC 的温度检测引脚,超过 45°C 时充电电流降半,超过 55°C 直接停止充电。这套是我在原型阶段就验证过的方案,核心经验是:不要贪图省两个器件而跳过这些保护,电源管理的第一课永远是“先不出故障,再谈效率”。

2.2 三路输出电压与负载分配

电源树按“先分轨、再分配负载”的思路规划。三条供电轨如下表:

电源轨电压主要负载说明
VDD_MAIN3.3VPIC18F85K22、数字逻辑、外部接口主工作电源,电流需求最大
VDD_SENSOR1.8V传感器模拟部分、参考电压可软件关断,睡眠时省电
VBAT_BACKUP3.0VRTC 备份、掉电保持域常开通道,电流极小

3.3V 是系统的核心电源,PIC18F85K22 的工作电压范围较宽,选 3.3V 是为了和传感器、调试接口电平匹配。1.8V 那一路不参与 MCU 主供电,而是给模拟前端模块单独供电,模拟部分单独走一路的好处是数字开关噪声不会直接串进模拟供电,ADC 采样稳定性会好一些。3.0V 备份轨一直保持输出,睡眠时也不关,确保 RTC 和关键配置寄存器不掉电。

每条通道的电流预算我都留了 30% 以上的余量。比如 3.3V 主轨实际峰值负载约 120mA,我设置的通道能力在 200mA 左右。电源芯片长期贴着标称电流跑,发热和纹波都会变差,这个余量是给温度和电感饱和留的缓冲。

2.3 上电顺序不是小事

多路供电的系统,上电顺序直接影响 MCU 的可靠性。我的设计顺序是:先让 1.8V 传感器轨稳定,再开 3.3V 主轨,最后使能 3.0V 备份轨。原因很简单:如果 MCU 先上电、传感器后上电,传感器还没供电的那段时间,MCU 的 I/O 如果恰好输出高电平,会通过传感器芯片的 ESD 保护二极管倒灌电流,长期看是一种隐性损伤。

PCA9422 的多路输出是否默认全开,取决于寄存器配置。我在初始化代码里会显式控制每一路输出的使能顺序,同时在每路输出后增加固定延时,等前一路输出电容充分充电、电压稳定后,再开下一路。原型板调试时用示波器同时抓两路电源的上升沿,可以非常直观地看出顺序是否正确。实测下来的经验是:上电顺序这种问题,软件里多写 20 行延时,能避掉大量硬件上的隐性问题。

2.4 引脚级连接表

为了避免空谈,我把这次的硬件连接整理成了一张功能级对照表。具体引脚编号会因芯片封装批次和应用电路有所不同,但功能对应关系是一样的:

PCA9422 功能脚外部网络PIC18F85K22 对应
充电输入USB_5V不参与
电池正极BAT+ADC 采样电池电压
NTC 检测电池NTC不参与
输出1VDD_MAIN_3V3VDD 主供电
输出2VDD_SENSOR_1V8传感器供电控制
输出3VBAT_BACKUP_3V0备份域
I2C 时钟SCLMSSP 模块
I2C 数据SDAMSSP 模块
中断输出PMIC_INT外部中断输入
按键输入POWER_KEYGPIO 检测

这里特别说明两点。一是 PMIC 的 INT 脚是开漏输出,必须加上拉电阻,不是我一开始想的那样“芯片内部已经拉好了”,不加直接接 MCU 会读不到边沿。二是电池电压的 ADC 采样点,要从电池正极单独走一根采样线到 MCU,不要就近接在充电芯片的 VIN 或 BAT 引脚上,否则充电电流在走线电阻上的压降会污染采样值,电量判断会偏差很大。

3. I2C 控制链路与固件流程:配置、监控、中断响应

3.1 总线的地址、速率和上拉选择

PCA9422 的 I2C 地址是通过外部地址引脚或内部默认值确定的,我这边配置为 7 位地址 0x58,总线上的其他器件避开这个地址。这里提醒一句:不同批次的样片默认地址可能有差异,画板之前务必对照数据手册的 ADDR 引脚逻辑,最好留一颗 0 欧电阻做地址切换的余地。

总线速率我跑 400kHz,在标准模式之上、快速模式的标准范围内,稳定性没有问题。上拉电阻经过实测,最终选了 2.2kΩ。最初用 10kΩ 上拉时,400kHz 下的上升沿明显偏缓,I2C 偶发通信失败;换到 2.2kΩ 后波形干净很多。上拉电阻也不是越小越好,太小的上拉会增加静态电流,但这个系统的主耗电在负载和睡眠之外,2.2kΩ 的损耗可以接受。

另外一个值得注意的地方:如果系统进入深度睡眠,I2C 总线上拉电阻仍然会形成从 3.3V 到地的静态电流。两个 2.2kΩ 上拉就大约是 3mA 的电流,这会影响整机睡眠电流。我的处理是:睡眠前将 I2C 引脚切为高阻输入,同时用 GPIO 关断上拉电阻的供电,唤醒后再恢复。至于上拉供电怎么切换,最简单的方法是把上拉电阻接到一个由 GPIO 控制的 MOSFET 开关上。

3.2 基础读写函数与初始化配置

PIC18F85K22 的 MSSP 模块可以很方便地做 I2C 主机。我把寄存器读写封装成两个基础函数,后面所有配置都基于这两个原语。大致代码结构如下:

#define PCA9422_ADDR 0x58 // 7位地址 static uint8_t pmic_read_reg(uint8_t reg) { uint8_t val = 0; i2c_start(); i2c_write_byte((PCA9422_ADDR << 1) | 0); // 写方向 i2c_write_byte(reg); i2c_restart(); i2c_write_byte((PCA9422_ADDR << 1) | 1); // 读方向 val = i2c_read_byte(0); // NACK结束 i2c_stop(); return val; } static void pmic_write_reg(uint8_t reg, uint8_t val) { i2c_start(); i2c_write_byte((PCA9422_ADDR << 1) | 0); i2c_write_byte(reg); i2c_write_byte(val); i2c_stop(); }

初始化流程我放在系统上电后的首选。配置项包括:启用 3.3V 与 1.8V 输出、设置各通道目标电压、配置充电电流和终止电流、使能相关保护、最后打开中断屏蔽。因为寄存器地址和具体位定义在不同批次资料里存在差异,我这里不写死原始寄存器号,只记录配置逻辑和先后顺序。

void pmic_init(void) { pmic_write_reg(REQ_OUT_EN, 0x07); // 使能三路输出 pmic_write_reg(REG_VSET_OUT1, 0x1A); // 3.3V pmic_write_reg(REG_VSET_OUT2, 0x10); // 1.8V pmic_write_reg(REG_CHG_CTRL, 0x3C); // 400mA充电电流, 40mA终止 pmic_write_reg(REG_PROT_CFG, 0x01); // 使能过压过流保护 pmic_write_reg(REG_INT_MASK, 0x00); // 全开中断 }

写完寄存器后不要立刻相信配置生效。我会回读一次关键寄存器做校验,如果读回值不一致,说明 I2C 时序有问题或者 PMIC 没真正进入可写状态,这时候要主动报错而不是继续往下跑。这个“回读校验”的习惯帮我排掉过一次因上拉电阻偏大导致的偶发写失败问题,强烈建议保留。

3.3 中断响应与主循环协同

PMIC 的 INT 引脚在事件发生时拉低,MCU 的外部中断配置为下降沿触发。我在中断服务程序里做的动作非常少,只置一个标志位然后退出,真正的状态读取和业务处理放在主循环。这样设计不是因为懒,而是 I2C 时序要求时钟稳定,中断里做复杂通信容易和主循环的 I2C 操作冲突,造成总线竞争。

volatile uint8_t pmic_int_flag = 0; void __interrupt() system_isr(void) { if (INT1IF) { INT1IF = 0; pmic_int_flag = 1; // 只记录事件,不读 I2C } } void main_loop(void) { uint8_t status; while (1) { if (pmic_int_flag) { pmic_int_flag = 0; status = pmic_read_reg(REG_INT_STATUS); pmic_handle_event(status); // 具体业务状态机 } // 其他任务 } }

中断服务程序里凡是涉及 I2C 的操作,尽量只读一个状态寄存器,而且要在主循环里加互斥保护。实际项目里我遇到过一次中断频繁触发导致主循环被 I2C 事务占满的情况,后来在中断处理入口加了一个忙标志,超过一定次数没处理完就丢弃旧的 INT 事件,等主循环主动去查状态,问题才彻底解决。

3.4 充电流程的状态机与业务联动

PCA9422 内部的充电管理功能自己会跑状态机,但 MCU 必须知道当前处于哪个阶段,才能正确显示充电进度。充电状态一般分六种:待机、预充、恒流充电、恒压充电、充电完成、故障。

预充阶段对应电池电压低于 3.0V,电流小,可以把它理解为“给深度放电的电池一个温和的唤醒过程”。恒流阶段是主充电阶段,电池电压稳步上升,电量快速回补。进入恒压阶段后电压维持在 4.2V,电流逐渐下降,直到低于终止电流阈值后判定充满。故障状态常见于电池温度超限、输入过压等场景,这时候应立刻停止充电并点亮异常指示灯。

我在代码里维护了一个充电子状态机,读取 PMIC 的充电状态寄存器后,根据该状态切换 LED 显示和 UI 文案。这里有个小经验:充电完成之后 PMIC 可能会因为电压回落又进入短时补充充电,UI 如果频繁“充满-充电中”来回切换会显得很蠢。我加了一个 2 分钟的消抖定时器,充满状态保持 2 分钟以上才允许切换回充电中,实际体验就好很多。

4. 低功耗与电池寿命策略:休眠电流、唤醒源与电量估算

4.1 整机睡眠电流压到 50μA 以内的具体做法

低功耗设计的关键不是“某个芯片有多省”,而是系统里所有漏电路径都堵住以后,电流才能指数级地降下来。这个板子的睡眠电流目标定在 50μA 以内,我做了四件事。

第一,睡眠前把所有不需要的 PMIC 输出通道关掉。1.8V 传感器轨直接关闭,3.3V 主轨保留给 MCU 睡眠供电。第二,MCU 进入深度睡眠模式前,关掉 ADC、定时器、MSSP 模块,只保留外部中断和 RTC 唤醒。第三,所有未使用的 I/O 引脚设为高阻输入,而不是保持输出高或低,防止悬空引脚通过内部保护二极管产生漏电。第四,I2C 上拉电阻通过 MOSFET 断电,避免静态电流损耗。

实测下来,整机睡眠电流在 25°C 环境下大约 45μA,距离目标还有一点余量。如果还要继续压低,可以把 PMIC 自身也放进待机模式,只在唤醒源触发时切换工作模式,代价是唤醒时间变长。睡眠电流和唤醒时间是一对矛盾,需要根据业务场景做取舍。

4.2 开路电压估电量的可行性方案

完整库仑计需要电流采样电阻和积分算法,这个项目规模用不上。我用的是开路电压加温度修正的粗估方案,足够应付百分比显示和低电量告警。

锂离子电池的开路电压和剩余电量存在一个相对稳定的映射关系,但注意必须是“开路电压”。电池带负载时,内阻会造成电压跌落,如果直接用负载状态下的电压查表,电量会明显偏低。所以我的采样策略是:MCU 定时唤醒,唤醒后先不开启大负载,等电压稳定一段时间后读取电池电压,再进入查表逻辑。

下表是我根据这颗电池实测数据整理的简化映射:

开路电压剩余电量参考值
4.15V95%
3.90V80%
3.80V65%
3.70V50%
3.55V30%
3.30V8%
3.00V0%

读数直接查表会有波动,我加了一阶低通滤波,滤波系数取 0.2 左右,也就是新采样值占 20%、历史值占 80%,这样电量显示的跳动会柔和很多。温度修正方面,低温会让电池可用容量下降,软件里把低于 10°C 的读取结果再乘以 0.9 的安全系数,宁可显示保守一点,也不能让用户在半路断电。

4.3 两级低电量保护与数据保存

低电量处理不能等到 0% 才动手,一方面电量估算是近似值,另一方面锂电池过放会永久损坏。我设置了两个阈值。

第一级是电量低警告,约 15%,对应电压大约 3.45V。此时关闭传感器、背光、无线模块等大功率外设,只保留核心 MCU 和 RTC,UI 提示用户准备充电。第二级是临界关机,约 5%,对应电压大约 3.30V。进入这个状态后,MCU 先把工作上下文、日志、关键配置写入 EEPROM,然后配置 PMIC 进入关机模式,MCU 进入深度睡眠,整个系统以微安级电流等待充电器插入。

充电器插入的事件通过 PMIC 的输入检测中断通知 MCU,MCU 唤醒后重新上电,检查 EEPROM 里的恢复标志,如果上次是异常掉电而不是正常关机,就进入数据修复流程。这套两级保护逻辑看起来不复杂,但可以防止很多实际问题:有人把设备放几个月不管,回来发现电池已经过放到无法充电;或者数据没存完就被强行断电,后面恢复时文件不完整。

4.4 日志记录对电池策略的价值

这个项目里我顺手在 EEPROM 里存了电源事件日志:开关机时间、低电量告警次数、充电周期、每次充满时的电压。这些数据平时看没什么用,但产品返修时是判断“电池是否老化”“用户充电习惯是否对电池有害”的第一手资料。

比如我通过日志发现,某测试样机一周内触发了 10 次低电量告警,查看日志发现每天都有多次深度放电记录,说明使用场景比预估苛刻,于是我把第一级告警阈值上调到 18%。如果没有日志,这种问题只能靠用户描述,效率低且不可靠。做电源管理的产品,建议从一开始就把日志埋进去,后面调参时价值非常大。

5. 原型调试与实测反思:纹波、布局和看不见的电流

5.1 PCB 布局对 PMIC 影响极大

电源电路的布局直接决定纹波和发热,这一版板子让我印象尤其深刻。开关节点是高频 dv/dt 信号,走线要尽量短,我把电感和 PMIC 的开关脚放得非常近,节点铜皮面积控制在最低限度,避免形成天线向外辐射噪声。电感选用屏蔽式功率电感,磁屏蔽能显著减少对邻近模拟电路的干扰。

PMIC 底部我铺了大面积地铜,并打过孔连接到完整的地平面,这是散热的必备手段。如果 PMIC 的地没有良好散热,芯片会过早触发过温保护,即使实际负载电流并不高。原型阶段我量过,同样负载下,地平面完整的板子比地平面断开的板子表面温度低了差不多 10°C,这个差距在夏天会变成完全不同的可靠性表现。

5.2 纹波测量和设备选择的经验

测量纹波不能随便把示波器探头地线夹子往地上一夹就完事。长地线夹会形成一个大的测量回路,拾取环境噪声,读出来的纹波值可能比真实值大好几倍。我换成弹簧地线,紧贴被测点,带宽限制设为 20MHz,这样滤掉了高频开关噪声与测量环路噪声,读到的才是真正的电源纹波。

实测数据有两个值得分享的点。1.8V 传感器轨的纹波在正常工作时约 30mVpp,符合预期,但当我用电子负载做瞬态测试,从 10mA 跳到 100mA 时,3.3V 主轨出现了约 80mV 的跌落尖峰,持续约几十微秒,虽然 MCU 不会因此复位,但对于对电压敏感的模拟前端来说已经偏高。我在输出端增加了一颗 22uF 陶瓷电容后,跌落尖峰降到 40mV 以内。输出电容不是越大越好,但针对瞬态响应,容量稍大一点确实有明显的改善效果。

5.3 电池续航的估算与实际差距

实测数据最终要和理论预期对照。以我的配置估算:电池 800mAh,睡眠电流 45μA,理论待机时间约为 800mAh / 0.045mA = 17777 小时,约 740 天。但这是完全不考虑电池自放电和环境温度的理想值。锂电池每月自放电约 2% 到 3%,也就是说放一年,电池自己就会损失三分之一左右的电量。实际待机天数再打对折,约 300 到 400 天,才是一个比较现实的预期。

如果产品有每日定时唤醒的业务,还要把唤醒功耗算进去。每分钟唤醒一次读取一次传感器,每次唤醒 10ms、工作电流 20mA,那这一分钟内的平均功耗是 20mA × 10ms / 60s = 0.0033mA,相对睡眠电流可以忽略不计。但如果唤醒频繁、单次工作时间长,平均功耗就会从睡眠电流主导变成工作电流主导,这两者的分界点建议用电子负载实测并画一张功耗曲线,比单纯看数据手册的静态功耗可靠得多。

5.4 原型阶段遇到的几个典型问题

这里列几个我在这个项目里实际踩过、并且修复后验证有效的坑,给后来者提个醒。

第一,I2C 上拉电阻选太大确实会导致优势下降。10kΩ 上拉在 100kHz 以下没问题,到 400kHz 就会偶发通信失败,表现为初始化时配置偶尔写不进去。统一换 2.2kΩ 后问题消失。

第二,PMIC 启动瞬间的浪涌电流比想象中大。充电接口刚插入的瞬间,输入电容充电会产生较大冲击,TVS 管下面还要加一点输入电容,我加了 10uF 输入电容后,浪涌电压尖峰明显被抑制。

第三,MCU 的 ADC 采样基准如果直接用主电源轨,电池电压波动会直接反射到采样值里。我为电池电压采样单独接入了一颗高精度基准源,或者至少确保采样点远离大电流负载的回路,否则电量显示会跟着负载一起抖。

第四,I2C 回读校验不要省。配置 PMIC 后马上读回关键寄存器,确认写入成功,这一条在批量生产时尤其有用,可以及时发现芯片焊接不良或通信异常。

这个项目的最终版本跑了一个多月的连续充放电循环,电池容量衰减在正常范围内,低电量保护和充电完成判断都稳定。电源管理这块的调参没有捷径,就是不停地测、记、改,但把 PMIC 和 MCU 的职责拆清楚之后,排查问题的路径会短很多,后期迭代也轻松不少。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/16 1:49:54

C99标准库24个头文件系统梳理:从入门到精通的必备指南

C 语言这门手艺&#xff0c;入门容易&#xff0c;用精很难。很多人写了几年 C 代码&#xff0c;遇到一个编译报错还是靠搜索引擎碰运气&#xff0c;根本原因就是对标准库这套“官方工具箱”没有系统性的认知。C99 标准把标准库头文件做了比较清晰的归类&#xff0c;一共 24 个头…

作者头像 李华
网站建设 2026/10/15 7:57:00

Oracle9i补丁安装与维护:解析p4547809_92080_WINNT.zip

简介&#xff1a;面向Windows 32位环境的Oracle 9i数据库安装包&#xff08;补丁号p4547809_92080&#xff09;&#xff0c;为数据库管理员、系统运维人员及需要维护旧系统的技术人员提供完整部署条件&#xff0c;也适合初学者对照学习关系型数据库原理。压缩包共529个文件、24…

作者头像 李华
网站建设 2026/10/20 10:19:07

openJiuwen agent-core 团队权限护栏(Team Permission Guardrails)全面指南:Leader 审批驱动的多智能体工具调用治理

人工智能AI AgentAgent 框架大模型工具调用RAG提示工程强化学习 【免费下载链接】agent-core openJiuwen agent-core可提供AI Agent开发、运行、调优与演进相关的全套SDK能力 项目地址&#xff1a; https://gitcode.com/openJiuwen/agent-core 点击查看 免费下载 导读 本文系…

作者头像 李华