news 2026/10/21 5:18:07

基于PCA9422与PIC18F66K40的嵌入式电源管理系统设计实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于PCA9422与PIC18F66K40的嵌入式电源管理系统设计实战

1. 项目全景:为什么这个组合值得折腾

先聊点实在的。电源管理在嵌入式系统里一直是个“又关键又琐碎”的活,说它关键是因为一颗芯片的供电纹波、上电时序、掉电保护稍微出点问题,系统就有可能随机死机、复位或者数据丢失;说它琐碎是因为传统方案往往要一堆分立元件、多路LDO、几个电源监控芯片来回配合,画板子的时候走线绕得头疼,调试的时候示波器探头恨不得多长两只手。

我这次要分享的项目是“使用 PCA9422 和 PIC18F66K40 实现完整电源管理”,核心思路很直接:用一颗专用的电源管理芯片 PCA9422 负责多路电压输出、充电管理和时序控制,用一颗 PIC18F66K40 单片机负责状态读取、逻辑判断和系统级保护策略。两者配合起来,能在一个不算大的板子上实现“上电时序可控、电压可调、欠压过压可监测、关键状态可视化”的完整电源管理方案。

先说结论:这套方案我实际做下来之后,感觉最适合的场景是便携式仪器、电池供电的数据采集设备、以及一些对功耗和稳定性要求都比较高的低功耗产品。如果你现在还在用一堆 LDO 加复位芯片硬凑电源系统,或者被多路电源时序问题折磨过,那这篇文章应该能给你一些可以“直接抄作业”的经验。

全文会从芯片选型逻辑讲起,然后拆解 PCA9422 和 PIC18F66K40 各自扮演的角色,再给出完整的电路设计思路和固件实现流程,最后聊一聊我实际调试中踩过的坑和排查方法。内容偏工程实操,不绕弯子。

2. 选型思路:为什么是这两颗芯片

2.1 PCA9422 到底是什么来头

PCA9422 是一颗集成度比较高的电源管理芯片,它的定位就是“为低功耗微控制器系统提供完整电源方案”。我第一次看到这颗料的时候,第一反应是它长得不像传统的 PMIC,功能上更“单片机友好”。

它内部集成了多路 DC-DC 降压转换器,以及一个充电管理模块。输出通道的电压不是固定死的,可以通过 I2C 接口或者引脚配置来调整。这意味着你在项目早期可以用默认电压先跑起来,后期想调低内核电压省电,或者调高某路外设供电电压,都不用改板子,直接改寄存器就行。

还有一个很实际的好处:PCA9422 有完整的上电时序控制逻辑。它允许你配置各路输出的上电顺序和时间间隔,这对于多电源轨的系统来说太重要了。以前靠 RC 延时或者专用时序芯片做的活,现在一颗芯片就搞定。

2.2 PIC18F66K40 在这里的角色

PIC18F66K40 属于 Microchip 的 8 位单片机家族,选它主要出于三个考虑:

第一是它有足够的模拟外设。电源管理里需要检测电压、电流,PIC18F66K40 内置了多个 ADC 通道,可以直接采样关键节点的电压,省掉外部 ADC 芯片。

第二是它有多个通信接口。PCA9422 是通过 I2C 控制的,PIC18F66K40 自带 MSSP 模块,支持 I2C 通信,两者配合起来不需要软件模拟 I2C,省心很多。

第三是功耗表现。PIC18F66K40 有多个低功耗模式,在系统空闲时可以进入睡眠,由 PCA9422 的中断引脚唤醒。这对于电池供电产品来说是刚需。

还有一个细节,PIC18F66K40 是带 Flash 自读写的,后期做校准数据存储、运行日志记录都方便,不需要额外挂 EEPROM。

2.3 这套组合解决了什么痛点

如果你只用单颗 PMIC,问题在于控制逻辑太死板,很多状态你拿不到,只知道输出有没有,不知道为什么没有;如果你只用单片机加一堆分立电源电路,问题在于模拟部分太占精力,运放、基准源、比较器、MOS 驱动一堆东西画完,调试周期直接翻倍。

PCA9422 + PIC18F66K40 的组合,本质上是把“复杂但重复性高”的电源管理功能交给专用芯片,把“灵活但需要逻辑判断”的策略部分交给通用 MCU。两者各干各擅长的活,整体系统的可靠性和可维护性都会好很多。

3. 整体架构设计:先画框架再谈细节

3.1 系统框图与信号流向

整个电源管理系统可以分成三层来看:

最底层是电源输入层,支持 USB 5V 输入或者锂电池供电。这个选择很实际,现在便携设备基本都这两个输入来源。

中间层是 PCA9422 核心电源层。它负责把输入电压转换成多路输出,包括主控核心电压、IO 电压、以及给传感器或射频前端供电的电压。它同时负责电池充电管理,以及各路输出的时序控制。

最上层是 PIC18F66K40 控制与监测层。它通过 I2C 读取 PCA9422 的状态寄存器,了解每路输出的健康状况;通过 ADC 采样输入电压、电池电压、系统电流等关键物理量;运行软件保护逻辑;控制电源开关状态;并通过 UART 或显示接口把状态呈现给用户。

层与层之间的信号流是闭环的:PCA9422 输出电源给 MCU 和整个系统,MCU 反过来监控和管理 PCA9422,形成管理闭环。

3.2 电源拓扑的选择

PCA9422 内部集成了多路 DCDC,所以主拓扑是同步降压。这里有一个关键设计决策:哪一路输出给 MCU,哪一路输出给外设。

我的建议是:MCU 核心电压走单独一路,外设电源走另一路。原因是 MCU 对供电质量最敏感,单独一路可以保证纹波和瞬态响应;外设比如传感器、显示屏、无线模块启动时电流冲击大,如果和 MCU 共用一路,很容易把 MCU 的供电电压拉得波动很大。

实际项目中,我把 PCA9422 的第一路输出配成 3.3V,给整个数字逻辑系统;第二路配成可调电压,给模拟前端。两路之间有独立的反馈环路和电容配置,互不干扰。

3.3 状态监测点设计

硬件上需要预留几个关键监测点,这是很多人容易忽略的。

输入电压检测点要放在 PCA9422 输入端的前面,这样能看到实际的输入电压跌落情况。如果你放在 LDO 或 DCDC 后面,就看不到前端的问题。

电池电压检测点不能直接接电池正极,最好经过一个分压电阻。这个大家都知道,但分压比例怎么选有讲究,后续会说。

每路输出的电流检测,PCA9422 本身不一定直接提供高精度电流采样,所以我会在外设电源路上放一个采样电阻,配合 PIC18F66K40 的 ADC 和运放做电流监测。这样既能看电压又能看电流,判断负载状态就准了。

4. 核心硬件设计:PCA9422 配置与外围电路

4.1 PCA9422 关键引脚和配置方式

PCA9422 的不少功能可以通过外部引脚在启动时设定默认值,然后运行中再用 I2C 修改。这种“引脚初始化 + 寄存器动态调整”的双重机制,用好了非常方便。

上电默认电压是由引脚电平组合决定的,具体映射关系查芯片手册的启动配置表。实际设计时我建议把默认配置设成自己系统最常用的方案,这样即使在 MCU 固件没有正常工作时,系统也能以一个安全的电压组合跑起来。

I2C 地址方面,PCA9422 支持通过引脚选择地址,这样如果你的系统里还有其他 I2C 设备,可以避开地址冲突。我这颗用默认地址,这条总线上只挂了 MCU 和 PMIC,简单干净。

4.2 输入电源与电池充电电路

PCA9422 的输入支持 USB 和电池两个源,内部有电源路径管理。这意味着插上 USB 时,系统优先用 USB 供电,同时给电池充电;拔掉 USB 时自动切到电池。这个功能对于电池供电设备来说非常省心,因为不需要外部再搞一个电源切换电路。

充电电流需要根据电池容量来设置。我的电池是 18650 单节锂电,容量 2200mAh,充电电流设在 1A 左右比较合适。如果充电电流设太大,电池发热严重,寿命受影响;设太小,充电时间又太长。

这里要注意的是充电电流的设置路径:PCA9422 可以通过 I2C 寄存器配置,也可以通过外部电阻设定。我建议用外部电阻设定硬上限,再用 I2C 寄存器根据电池温度动态降低充电电流,这样安全性更好。

4.3 输出电容与电感的选型

DCDC 的输出电容和电感选择直接影响纹波和瞬态响应,这是电源设计的经典话题。PCA9422 的数据手册会给出推荐值,但实际项目里不能盲目照抄,要结合负载特性调整。

我的负载情况是:MCU 主电源路最大瞬态电流约 300mA,模拟前端路约 150mA。输出电容我选的是 2 颗 22uF 陶瓷电容并联,等效 ESR 低,纹波表现好。电感按手册推荐值来,但选了饱和电流裕量比较大的型号,防止瞬态电流过大时电感饱和。

调试的时候我发现一个细节:陶瓷电容的 DC 偏压特性会导致实际容量下降,所以如果输出纹波偏大,不要急着怀疑电感,先查一下电容在目标电压下的实际容量还剩多少。这个问题容易忽视。

4.4 实际电路清单

核心电路做下来,BOM 大致如下:

  • PCA9422 电源管理芯片,1 颗
  • PIC18F66K40 单片机,1 颗
  • 输入防反接及 ESD 保护,1 套
  • 充电电流设定电阻,1 颗
  • DCDC 电感,2 颗
  • 输出陶瓷电容若干
  • 电压采样分压电阻若干
  • I2C 上拉电阻,2 颗
  • 状态 LED 及其驱动电阻,3 组

这个方案相对传统分立电源方案,BOM 数量减少非常明显,PCB 面积也能省下一大块。

5. 软件与固件实现:PC18F66K40 如何管好电源

5.1 I2C 通信初始化与寄存器读写

PIC18F66K40 的 MSSP 模块配置成 I2C 主机模式,通信速率用 400kHz 标准快速模式。PMIC 的寄存器访问逻辑比较标准,先写寄存器地址,再读写数据。但有一点要注意:PCA9422 的寄存器不是所有地址都能随便写,有些是只读状态位,有些需要先解锁才能修改配置。

我在代码里封装了 PMIC 的读写函数,所有对芯片寄存器的操作都走这两个函数,方便统一处理错误重试和日志记录。下面是简化的 I2C 读写函数写法:

uint8_t pmic_write_reg(uint8_t reg_addr, uint8_t data) { uint8_t status; I2C_START(); status = I2C_WRITE(PMIC_I2C_ADDR_W); if (status) return status; status = I2C_WRITE(reg_addr); if (status) return status; status = I2C_WRITE(data); if (status) return status; I2C_STOP(); return 0; } uint8_t pmic_read_reg(uint8_t reg_addr, uint8_t *data) { uint8_t status; I2C_START(); status = I2C_WRITE(PMIC_I2C_ADDR_W); if (status) return status; status = I2C_WRITE(reg_addr); if (status) return status; I2C_RESTART(); status = I2C_WRITE(PMIC_I2C_ADDR_R); if (status) return status; *data = I2C_READ_NACK(); I2C_STOP(); return 0; }

实际用下来我发现,I2C 通信的稳定性很大程度取决于上拉电阻的取值。总线电容不同,上拉强度需求不同。如果你发现通信偶尔出错,先用示波器看 SCL 和 SDA 的波形,确认上升沿是否太缓。典型配置是 2.2k 上拉到 3.3V,但如果总线上挂的设备多,可能需要换成 1k。

5.2 开机时序与默认电压配置逻辑

系统上电后,PIC18F66K40 的工作要分阶段进行,不能一下子就跑到完整工作模式。

第一个阶段是“低功耗等待阶段”。这个阶段 MCU 只做最小初始化,I2C 外设起来,其他外设都不要打开。然后读取 PCA9422 的状态寄存器,确认几路输出是否都达到了预设电压。

第二个阶段是“配置应用阶段”。根据产品需求,通过 I2C 配置 PCA9422 的 DCDC 输出电压、限流值、时序参数。这里我特意加了一个延时,确保之前的电源状态已经稳定再调整。

第三个阶段是“全速运行阶段”。等所有电源配置完成后,再打开外部设备电源,初始化传感器、显示、通信外设,进入正常业务流程。

你可能会问:为什么不直接把所有配置一次性写好?因为 PCA9422 在启动初期有本身的上电过程,各路 DCDC 的输出电容充电需要时间,如果在输出还没稳定时强行改配置,容易造成意外的电压跳变,对后面的负载冲击很大。

5.3 动态电压调节与负载匹配

PIC18F66K40 可以根据当前工作状态动态调整 PCA9422 的输出电压。

比如系统处于全速运算状态时,MCU 核心电压设为 3.3V,保证性能;进入低功耗睡眠状态之前,先把核心电压调低到 2.8V,降低静态功耗。这个操作通过写 PCA9422 的电压控制寄存器实现,切换时间大约在毫秒级别,完全可接受。

外设电源路更实用的一点是:传感器开始采样时,给模拟前端提供较高电压,获得更好动态范围;采样结束后降低电压,减少漏电。这种动态调整能力是分立方案很难实现的。

5.4 中断处理与异常事件响应

PCA9422 会输出一些中断信号,比如输入电源接入、电池电压低、输出过流保护触发等。这些中断信号可以连接到 PIC18F66K40 的外部中断引脚,触发 MCU 及时响应。

我在固件里把外部中断设为高优先级,响应后立刻读取 PCA9422 的状态寄存器,定位具体事件。如果是电池低电压告警,就把一些非关键外设关掉;如果是输出过流保护触发,就记录错误代码,然后尝试限流重启。

这里有个心得:中断处理里面不要做太多事。正确做法是中断里只置标志位,主循环里再处理业务逻辑。因为电源事件往往伴随系统状态剧烈变化,如果在中断里拖太久,反而容易引入新的问题。

6. 关键参数计算与实际调试记录

6.1 电压采样分压电阻计算

PIC18F66K40 的 ADC 参考电压是 3.3V,如果直接采样 12V 电池电压,必须分压。我设计的分压电路需要满足两个条件:一是待测电压满量程时 ADC 输入不超过 3.3V,二是分压网络的静态功耗尽量小。

以 12V 系统最大输入电压为例,我采用上电阻 100k、下电阻 33k 的分压比,分压系数为 33/(100+33) ≈ 0.248,那 12V 对应 ADC 输入为 12*0.248=2.98V,留了一点裕量。

分压和 ADC 采样之间建议加一个 100nF 的滤波电容,与下电阻并联,可以有效滤除采样瞬间的毛刺。这个电容的取值不能太大,太大会导致 ADC 采样的电压建立时间变长,影响实时性。

6.2 充电电流与热耗估算

充电电流设为 1A,对应充电功率大约是 1A*4.2V = 4.2W(最高)。PCA9422 内部充电管的发热量和输入输出压差有关,如果 USB 输入是 5V,压差约 0.8V,充电管上的热耗大约是 0.8W。

0.8W 的热耗对芯片来说不算大,但也不能完全忽略。实际布局时我在 PCA9422 下方铺了大面积接地铜皮,增加散热面积。测试下来芯片表面温度最高约 55 度,在可接受范围内。

如果你用 2A 充电电流,热耗会翻倍到 1.6W 左右,那就要考虑增加散热过孔或者外置 MOS 的方案了。设计之前一定要算这个账,不要等到实测发烫了再改。

6.3 实测数据记录

整个系统调试完,我用电子负载和示波器做了几组关键测试:

  • 空载时,3.3V 主输出纹波约 15mV,这个表现在可接受范围
  • 在 300mA 满载时,纹波上升到 25mV 左右,峰值抖动不算明显
  • 从空载到满载的瞬态响应过程中,电压跌落约为 120mV,恢复时间约 80us,系统没有出现复位
  • 电池充满后自动停止充电,截止电压 4.18V,非常接近理想值
  • 睡眠模式下,系统总功耗电流约为 55uA,导航级低功耗要求基本能覆盖

测试过程中我发现一个问题:最开始用 47uF 输出电容时,瞬态跌落比较大,后来查了电容的 DC 偏压特性,发现在 3.3V 下那款 47uF 电容实际容量只剩约 30uF,换用两颗 22uF 并联之后,瞬态参数反而更好了。

6.4 时序参数的具体配置思路

上电时序的配置需要结合实际系统要求。

我的系统要求:MCU 电压先起来,MCU 完成基本初始化后,再给外设供电。这是因为如果外设先上电,而 MCU 还没有配置引脚,外设接口可能处于不确定状态,产生额外的灌电流。

因此我把 PCA9422 的 VOUT1(MCU 电源)配置为上电立即输出,VOUT2(外设电源)配置为延时 10ms 后输出。这个 10ms 的窗口足够 MCU 完成最小初始化和 I2C 配置,让 MCU 主动控制外设电源的上电动作。

其实这里还有一个方案:完全不依赖 PCA9422 的时序功能,而是由 MCU 通过一个 GPIO 控制外设电源的使能引脚。这样做的好处是时序灵活性更高,坏处是多一个控制环节,如果 MCU 死机,外设电源可能没被关闭,增加系统风险。我最终选择用 PCA9422 内置时序,因为这样 MCU 崩溃后,PMIC 仍然能按既定时序管理电源,安全性更高。

7. 调试实战:那些我踩过的坑和排查套路

7.1 I2C 通信失败,为什么换了上拉电阻就好了

有一次调试,PCA9422 的通信经常超时,读寄存器偶尔返回错误。我一开始怀疑是 I2C 速率太高,把速率降到 100kHz,问题依旧;又怀疑是芯片虚焊,重新补焊也没用。

最后用示波器抓 SCL 波形,发现上升沿非常平缓,明显是上拉电阻阻值太大,导致总线电容充电太慢。原来的上拉电阻是 4.7k,换成 1k 之后,波形上升沿明显变陡,通信问题全部消失。

这个案例给我的教训是:I2C 的“电气特性”优先级高于“协议逻辑”,遇到通信问题先看波形,不要先怀疑寄存器配置。

7.2 输出电压偏低的奇怪现象

有一次测 VOUT1,正常应该输出 3.3V,实测只有 2.9V。我第一反应是反馈电阻配置不对,查了手册,发现 VOUT1 的默认电压是可以通过引脚配置修改的,我的引脚配置组合对应的正是 3.0V,而不是 3.3V。

那为什么 2.9V 不是 3.0V?进一步查发现芯片内部的基准源校准精度有一个范围,实际输出可能比设定值低一些,尤其是在尚未通过 I2C 校准的情况下。

解决办法很简单,就是让 MCU 启动后强制写一遍电压配置寄存器,覆盖引脚默认值。这个问题提醒我:PCA9422 的默认配置只适合“上电快速验证”,精确定值一定要靠固件主动配置。

7.3 睡眠电流怎么都降不下去

做低功耗测试时,睡眠电流始终维持在 1mA 出头,和预期 55uA 差距很大。我检查了 MCU 的睡眠配置、外设关闭状态,都没发现问题。

后来用电流钳逐一路排查,发现是 PCA9422 的一路输出 VOUT3 没有关闭。虽然 MCU 没用到 VOUT3,但它默认是开启的,白白的给下面的负载供电。

解决方法是:在睡眠之前,通过 I2C 关闭 VOUT3。这个操作在唤醒后再重新打开。整个过程只需要两行代码,但如果你不了解 PCA9422 的默认输出状态,这个问题会困扰很久。

7.4 常见问题速查表

现象可能原因排查与解决
I2C 通信超时上拉电阻过大/总线电容太大检查 SCL/SDA 波形,适当降低上拉电阻值
输出电压偏差明显引脚默认配置与目标不一致读寄存器确认当前配置,用 I2C 重新写入目标电压
瞬态跌落过大输出电容容量因 DC 偏压下降换用更高额定电压的电容,或并联多颗小电容
睡眠电流偏高PMIC 某路输出未关闭逐路睡眠前关闭未用的 DCDC 输出
芯片温度偏高充电压差大或散热面积不足增大接地铜皮,或降低充电电流
上电偶尔失败输入电压上升过慢增加输入电容,确保输入电压稳定后再使能输出

7.5 固件升级时的电源处理技巧

这个项目还涉及一个额外问题:固件升级过程中不能断电,否则 MCU 写 Flash 写到一半断电,固件就废了。

电源管理方案为此提供了一个便利:MCU 在进入 Bootloader 升级模式之前,把 PCA9422 的输入优先级设为“外部输入优先”,同时检测电池电量。如果电池电量不足,就拒绝进入升级模式,提示用户先充电。这个逻辑用分立电源方案做起来非常麻烦,有了 PMIC 之后,只是读几个寄存器的事情。

8. 后续可以继续扩展的方向

做完整套方案之后,我最大的感受是:电源管理从来不是“把电压变出来”这么简单,它是一个贯穿硬件、固件、系统策略的完整话题。目前这套系统实现了基础的电压管理、充电管理和状态监测,但还可以继续扩展。

比如多级能耗策略:根据系统的当前功耗,动态调节 DCDC 的开关频率和工作模式,让电源芯片在不同负载下都保持较高转换效率。这个对电池供电产品很有价值。

比如故障日志记录:把每次发生过压、过流、低电压事件时的时间和电源状态记录到 Flash,后期通过 UART 导出分析。这个对现场问题定位非常有用。

再比如远程监控:如果产品需要远程运维,可以把电源状态数据通过无线模块上报,这样就能在设备真正挂掉之前发现问题。这部分继续做下去,就是一套完整的智能电源管理系统了。

我个人在实际调试中还有一个体会:电源管理项目的调试,很多时候不是算法复杂,而是“它的状态本来就在那里,你没有通过正确的通道去读取”。PCA9422 这样集成度高的芯片给了你一个很大的好处——状态是透明可读的,只要你有 PIC18F66K40 这样的 MCU 做桥梁,系统的每一个电源行为都可以被理解和控制。

最后分享一个小技巧:如果你的项目中 PCA9422 和 MCU 之间的 I2C 总线还要挂其他传感器,建议把 PMIC 放在总线的“第一挂载点”,也就是离 MCU 最近的节点。这样能减少总线分支带来的信号反射,也能确保 PMIC 的响应优先级最高。我在多板联调时发现过 PMIC 响应慢的现象,调整了挂载顺序之后明显改善。这个细节常规手册不会写,但真能避免不少麻烦。

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

PCA9422与PIC18F67K40协同实现可编程电源管理

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

作者头像 李华
网站建设 2026/10/16 8:05:53

sqlite-netFx40-2010.rar 实战:.NET 连 SQLite 的 32/64 位兼容与避坑指南

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

作者头像 李华
网站建设 2026/10/17 8:13:00

微电网鲁棒优化调度:应对风光不确定性的MATLAB实现

1. 为什么微电网调度绕不开不确定性1.1 确定性调度的理想世界先问一个问题:如果你手里有一份完全准确的光伏出力曲线和负荷曲线,调度问题会变成什么样?答案很简单——一个线性规划问题。储能、柴油机、微燃机各自的出力,只要在约束…

作者头像 李华
网站建设 2026/10/18 15:05:05

Spring Boot接口文档自动化:SpringDoc集成与工程化实践

这两天给一个新项目做接口联调,前端同事又在群里问:“这个接口的返回status字段到底哪几种值?下单接口的请求体示例怎么和文档对不上?”我一边回消息一边打开Swagger页面去看——其实这些问题本来都不用问,只要文档能跟…

作者头像 李华
网站建设 2026/10/16 12:28:14

俯拍航拍森林火灾检测数据集:6116张双格式标注与YOLO训练实战

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

作者头像 李华
网站建设 2026/10/16 6:32:05

waku-agent记忆系统全解:一个SQLite文件如何教会AI长期记忆

waku-agent记忆系统全解:一个SQLite文件如何教会AI长期记忆 【免费下载链接】waku-agent Waku Waku! Waku Agent is a local-first AI agent harness you actually own, including loop, memory, eval, all in code built to stay legible as it grows. 项目地址:…

作者头像 李华