一、 前言
二、 Silver_zero
2.1 Silver_zero 介绍
Silver_zero 是大联大世平集团推出基于易冲 CPSQ5206 的 DC/DC 电压调节方案, 本方案支持 3.8V 至 36V 的宽输入电压范围,并提供2.0V至36V的可编程输出电压,分辨率为 10mV。CPSQ5206 符合 AEC-Q100 适用于汽车应用,提供全面的保护,包括输入输出过压保护、输出短路保护、MOSFET 逐周期限流和热关机。所有这些保护旨在确保变流器的安全运行。
使得此方案可以提供低于、高于或完全等于输入电压的调节电压,基于不同的输入电压和输出电压组合,转换器以降压升压或降压模式运行,实现不同操作模式之间的动态无缝切换。
关键特性:
- 符合 AEC-Q100 适用于汽车应用。
- 单电感器,4 开关降压升压控制器,用于高效升压/降压 DC/DC 转换。
- 从 8V 到 36V 宽输入电压范围。
- 无缝转换 Buck、Buckboost 和 Boost 模式。
- 可选择 200kHz、400KHz、600kHz 和 800kHz 开关频率。
- 可编程 0V 到 36V,步长 10mV 的输出电压。
- 可选高达 8A,步长为 50mA(带有 5mΩ 输出电流传感电阻器)的输出电流调节。
- 可选 VOUT 转换速率符合 USB PD 3.0 规范。
- 可选的外部时钟同步,以避免频率干扰和串扰。
- 可编程输入过压保护与输出过压保护。
2.2 方案框图
Silver_zero 方案框图
2.3 电气特性
Parameter |
Description |
Minimum |
Typical |
Maximum |
Unit |
VIN |
Input voltage range |
2.8 |
12 |
36 |
V |
FSW |
inverter switching frequency |
|
120 |
|
KHz |
IIN_NOR |
Normal board input current @ 5W |
|
0.25 |
|
A |
@ 15W |
|
0.75 |
| ||
@ 50W |
|
2.5 |
|
注:供电电流值 IIN_NOR 是VIN = 12V 时采样得到的平均值,具体以实际测量值为准。
2.4 各模块分布
整板尺寸为:55 * 36 mm(4 层板),板上留有多个接口可独立使用或与其它板连接使用。
本方案中的功率传输途径:
- 外部输入直流电压(DC Voltage),经过全桥整流 CPSQ5206。
- 由 CPSQ5206 接收 I2C 信号并按照信号调压输出。
- 由外部给予 EN、SCL、SDA 信号驱动 CPSQ5206 工作。
从各模块分布可以看出,本方案的布局布线合理,大功率与小信号之间隔离较为充分。综合低功耗元件、合理的 layout、充分散热等因素,使得转换效率能够达到 95% 以上。
三、 方案板调试
3.1 调试工具准备
硬件资源
- 直流电源 * 1
- 示波器 * 1
- Silver_zero、S32K144 EVB(含J-link烧录工具) * 1
注:S32K144 EVB 需要额外购买,当然如果你没有 S32K144 EVB 开发板可以使用其它具有 I2C 功能的任意单片机开发板进行调试。S32K144 基于 32位 ARM Cortex-M4F 内核,最快内核频率达 112MHz。NXP Echoes-S32K144评估板采用 14×14mm LQFP100 封装,引脚间距 0.5mm,具有丰富的外设资源。
软件资源
- 代码开发软件:S32 Design Studio for ARM v2.2(推荐);Keil
3.2 硬件连接与输出计算
CPSQ5206 使用 I2C 通信接收数据执行调压操作,因此我们将 S32K144 配置一个 I2C 接口。由于 CPSQ5206 的数据手册说明 ADDR 引脚决定 CPSQ5206 的从机地址是 60H 或者 62H,Silver_zero 方案设计中 CPSQ5206 的 ADDR 引脚通过一个 0 欧姆电阻连接到地所以从机地址为 60H。
Silver_zero ADDR 设计
CPSQ5206 的输出由 0x06、0x07 寄存器控制,对这两个寄存器进行写入可以改变转换器的输出电压。这两个寄存器的输出数据计算根据转换器选择的不同输出反馈而有区别,输出反馈的选择通过 FB 引脚的硬件连接来进行选择,通常情况如果只用自定义的输出分压反馈只需将 FB 引脚连接到需要的分压电路,如果使用 CPSQ5206 内部集成的输出分压反馈则需要将 FB 引脚连接到 VDD 引脚上。
Silver_zero 部分原理图
Silver_zero 的 FB 的引脚通过一个 0 欧姆电阻连接到 VDD 引脚上,使用内部输出分压反馈。当 CPSQ5206 使用内部输出分压反馈时,计算输出寄存器值的将输出电压值(2V-36V)以毫伏为单位除以10.06 后取整数,并将取得整数装换成 2 进制数,将低 8 位数赋予 0x07 寄存器,剩下的 4位赋予 0x06 寄存器。例如,我们需要输出电压为 5V,那么将 5V 转换成 5000mV,使用 5000 除以 10.06 约等于 497.0179,取 497 转化为二进制数得 0001 1111 0001,那么低 8 位的 1111 0001 写入 0x07 寄存器,剩下的 0001 写入0x06 寄存器,为了方便编写程序将二进制数写作十六进制数,即向 0x06 寄存器写入数据 0x01,向 0x07 寄存器写入数据 0xF1,其它输出电压值以此类推即可。
3.3 寄存器列表
ADDR |
REGISTER |
R/W |
Bit7 |
Bit6 |
Bit5 |
Bit4 |
Bit3 |
Bit2 |
Bit1 |
Bit0 |
0x00 |
Product_ID |
RO |
Product_ID | |||||||
0x01 |
Device_ID |
RO |
Device_ID | |||||||
0x02 |
Device_config0 |
R/W |
RESERVED |
LATCHOFF_EN |
VIN_OVP[1:0] |
IIN_OCP[1:0] |
RESERVED | |||
0x03 |
Device_config1 |
R/W |
VOUT_SLEW[1:0] |
FREQ_DITHER[1:0] |
FORCE_DISCHG |
ILIM_DIS |
HICCUP_DIS |
FCCM_EN | ||
0x05 |
Device_config2 |
R/W |
RESERVED |
SW_RST | ||||||
0x06 |
VOUT_0 |
R/W |
RESERVED |
VOUT[11:8] | ||||||
0x07 |
VOUT_1 |
R/W |
VOUT[7:0] | |||||||
0x08 |
ILIM |
R/W |
ILIM[7:0] | |||||||
0x09 |
Device STAT |
RO |
CRC_ERR_STAT |
BIST_ERR_STAT |
FREQ[1:0] |
DVS_DONE_STAT |
PGOOD_STAT |
RESERVED |
ILIM_STAT | |
0x0A |
Device FAULT |
RO |
VOUT_ABS_OVP_STAT |
VOUT_UVP_STAT |
TSHUT_STAT |
IIN_OCP_STAT |
RESERVED |
VOUT_SCP_STAT |
VIN_OVP_STAT |
VOUT_OVP_STAT |
0x0B |
FAULT FLAG |
RO |
VOUT_ABS_OVP_FLAG |
VOUT_UVP_FLAG |
TSHUT_FLAG |
IIN_OCP_FLAG |
RESERVED |
VOUT_SCP_FLAG |
VIN_OVP_FLAG |
VOUT_OVP_FLAG |
0x0C |
FAULT MASK |
R/W |
VOUT_ABS_OVP_MASK |
VOUT_UVP_MASK |
TSHUT_MASK |
IIN_OCP_MASK |
RESERVED |
VOUT_SCP_MASK |
VIN_OVP_MASK |
VOUT_OVP_MASL |
CPSQ5206 寄存器列表
- 0x00:产品 ID 信息 —— 存储产品 ID 信息。
- 0x01:设备 ID 信息 —— 存储设备 ID 信息。
- 0x02:设备配置 0 —— 配置输入过压保护值、逐周期过流保护值等。
- 0x03:设备配置 1 —— 配置电压转换速率、配置频率抖动等。
- 0x05:设备配置 2 —— 寄存器复位 POR 值。
- 0x06:输出配置 0 —— 输出电压高。
- 0x07:输出配置 1 —— 输出电压低。
- 0x08:极限电流密度 —— 配置极限电流密度。
- 0x09:设备状态 —— 设备状态信息。
- 0x0A:设备故障 —— 输出过压状态位、输出欠压状态位等故障位。
- 0x0B:故障标志 —— 输出过压故障标志、输出欠压故障标志等故障标志。
- 0x0C:故障代码 —— 输出过压故障码、输出欠压故障码等故障码。
3.4 程序编写
S32DS 导入 I2C 主机例程后设置从机地址、操作模式、波特率等,设置完成后点击生成代码即可。
S32K144 I2C 设置
I2C 主机例程初始化
S32DS 导入 I2C 主机例程后设置完从机地址更新代码后无需对初始化代码进行修改即可使用。Silver_zero 仅需配置 CPSQ5206 的 0x06、0x07 寄存器设置输出电压,其它寄存器默认设置即可满足 Silver_zero 使用需求,我们创建一个数组来存储需要发送的寄存器地址与数据并且调用 I2C 发送函数来执行数据发送,下图给出输出电压为 5V 代码示例。
I2C 5V 输出电压代码
创建 drivers.h 与 drivers.c 文件将上述代码封装成函数以便更好地调用,在 .h 文件中定义 I2C 发送数据数组长度、枚举 CPSQ5206 的寄存器地址并声明输出函数。为了更好地观察Silver_zero 的工作状态同样声明读取 CPSQ5206 寄存器信息函数并引用串口与系统滴答计时器周期读取寄存器信息使用串口发送,串口发送信息为 13 十六进制数对应 CPSQ5206 13 个寄存器当前工作状态,可对应 CPSQ5206 数据手册了解详细信息(串口与系统滴答定时器为基础配置使用默认已存在)。
drivers.h
drivers.c
main.c
3.5 转换测试
按图将直流电源、Silver_zero 与S32K144 EVB连接。直流电源与 Silver_zero J1 的 VBUS 和 GND 连接为 Silver_zero 提供 12V 直流电,S32K144 EVB 与 Silver_zero J3 连接,各引脚的对应关系如下,Silver_zero 的J2 为 VOUT、GND。使用示波器测量 VIN、SW1(电感左侧)、SW2(电感右侧)与 VOUT 并记录波形,同时记录串口发送 CPSQ5206 当前工作状态。
设备连接图
S32K144 EVB 与 Sliver_zero 引脚对应表
Silver_zero |
SDA |
SCL |
GND |
INT |
EN |
GND |
S32K144 EVB |
PTA2 |
PTA3 |
GND |
|
3.3V |
GND |
注:INT 引脚 CPSQ5206 分压反馈引脚,使用外部分压反馈时连接,Silver_zero 使用内部分压反馈无需连接。
VIN=12V,L=4.7uH, FSW=400KHZ,
- CH1:VIN
- CH2:OUT
- CH3:SW1
- CH4:SW2
VIN=12V,VOUT=5V
VIN=12V,VOUT=5V,工作log
VIN=12V,VOUT=12V
VIN=12V,VOUT=12V,工作 log
VIN=16V,VOUT=20V
VIN=16V,VOUT=20V,工作 log
4. 参考文献
[1] CP-D-31-CA01-Rev0.2 CPSQ5206_Datasheet, CPS
[2] S32K144 Reference Manual.pdf,NXP
[3] S32K144_IO_Signal_Description_Input_Multiplexing,NXP
欢迎在博文下方留言评论,我们会及时回复您的问题。如有更多需求,欢迎联系大联大世平集团 ATU 部门:atu.sh@wpi-group.com
作者:Hobo Xu / 许宁
评论