在第一版硬件设计中存在很多问题,最大的两个问题是:
1. 板载调试器和FPGA的引脚相连,但是当调试器上电而FPGA未上电时,调试器的IO会漏电到FPGA,这样会使VCCO网络带有2.5V左右的电压,会影响VCCO网络上的器件的工作状态,也会影响FPGA的上电时序。2. BQ25606的BC快充的识别简直是个迷,测试一圈从未触发,而且使用D+,D-来识别就要占用一个USB口。

改进:
1. 不同供电的器件之间的IO脚,增加了隔离,防止漏电,实际上增加隔离之后依然有漏电,但是基本上小到等于没有。隔离包括了JTAG、SWD、UART等信号线。
2. 充电方案换成了HUSB238+BQ25892+STM32G031G8U6,HUSB是PD的Sink识别芯片,可用电阻/I2C进行配置,BQ25892也需要使用I2C进行配置,因此增加了STM32G031G8U6作为独立的控制器来配置电源模块,同时,电量计也是连接到了STM32G031G8U6的另一路I2C上面。由于使用的是PD充电,那么调试器的USB就可以和充电合并成一个Tyoe-C接口。同时为了调试电源模块,在USB Hub上增加了一路CH340E连接到STM32G031G8U6,但是只连接了MCU的TXD,因为没有足够的引脚来提供RXD了,仅有TXD的话能看信息也足够了。

其它部分也有略微修改优化,较为具体的系统设计可以参考下图,工程文件在文末给出。

下图是修改后的充电模块,以及STM32G031G8U6:

下图是新增的IO隔离:

IO隔离这个很简单,仅需要两个N-MOSFET就行了,用的是2N7002V,该型号一个封装内有两颗N-MOSFET,但是需要注意的是,有的2N7002的Vgs(th)在2V左右,不适用于1.8V IO的线路,在做隔离或是电平转换时需要注意。

实物验收-主板:

为了更好的管理电池,还额外设计了电池包,电池包采用的是高倍率锂电池,规格是574069,容量2900mAh。保护板采用的是BQ298010(保护)+BQ27542(电量计),该电量计需要使用BQStudio软件+EV2400桥接器进行配置。

电池包和主板的工程文件,Cadence设计。