PMB183 中的充电器是一种基于单一锂离子电池的恒流/恒压充电器,设计用于 USB 电源规格。当结温升高
时,内部模块调节电流,以在高功率或高环境温度下运行时保护设备。充电电压固定在 4.2V,充电电流可通过
寄存器编程限制,无需外部电阻器,电流可达 500mA。
当流向电池的电流低于编程值的 1/10 时,充电循环自动
终止。如果卸下外部适配器,充电器将关闭,电池到设备的电流将小于 2μA。
系统特性
1. 2KW OTP 程序储存器
2. 128 Bytes 数据储存器
3. 一个16位定时器
4. 一个8位硬件定时器(可以PWM模式输出,PWM分辨率可以为6/7/8位)
5. 一组3连套11位SuLED (Super LED) PWM生成器
6. 一个通用比较器
7. 13 个IO 引脚带有上拉及下拉电阻选项
8. 每一个IO 引脚都可设定为唤醒功能
9. 通道(PB4 和 PB7)有两个电流选项
IoL = 40mA/20mA IoH = 28mA/10mA @VBAT=5V, VOL=0.5V
10. 时钟源:内部高频RC振荡器(IHRC),内部低频RC振荡器(ILRC)和EOSC
11. 对所有带有唤醒功能的IO,都支持2种可选择地唤醒速度:正常唤醒与快速唤醒
12. LVR 复位电压,从1.8V到4.5V
13. 2个外部中断引脚:PA0/PB5, PA4/PB0
14. Band-gap 电路提供1.2V 参考电压
15. 支持低功耗(NILRC)定时唤醒stopsys
16. VCC输入电压范围:4.3V ~ 6.5V
17. 可编程充电电流高达500mA
18. 无需外接MOSFET,检测电阻,反向二级管等组件
19. 恒流/恒压操作模式且具有热保护功能
20. 预设4.2V充电电压,精度为±1%
21. 自动再充电
22. C/10充电中止
23. 2.9V 涓流充电电压
24. 充电模式待机功耗 57uA (VCC)
25. 多达 11 通道 12 位分辨率 R 型* ADC,其中一个通道来自内部BG。
CPU 特性
1. 工作模式:单一处理单元的工作模式
2. 86个强大指令
3. 绝大部分指令都是单周期(1T)指令
4. 可程序设定的堆栈指针和堆栈深度(使用2 bytes SRAM作为一层堆栈)
5. 数据存取支持直接和间接寻址模式,用数据存取器即可当作间接寻址模式的数据指针(index pointer)
6. IO地址以及存储地址空间互相独立
PMB183 系列是一款单 IO 型,完全静态的,以 OTP 为程序基础的 CMOS 8-bit 微处理器。它运用 RISC
的架构并大部分的指令执行都是一个指令周期的,只有少部分处理间接寻址指令需要两个指令周期。
PMB183 内置 2KW OTP 数据存储器以及 128 字节数据存储器, 一个 11 个通道的 12 位 R 型 ADC,
一个硬件比较器,用于比较两个引脚之间的信号或内部参考电压 Vinternal-R 或内部带隙参考电压 Bandgap。
PMB183 还提供三个硬件定时器:一个 16 位定时器、一个 8 位定时器(可以 PWM 模式输出),和一组 3 连套
11 位 PWM 定时器/生成器(LPWMG0、LPWMG1 和 LPWMG2)。
系统概述和方框图
典型应用
带锂离子充电灯光控制原理图
带反极性输入保护的基本锂离子充电器
USB/墙壁适配器电源锂离子充电器
针对锂电池电源上电及抖动干扰的程序对策
PMB183 应用板在生厂过程中常会有锂电池电极片与应用板需要透过点焊加工做连接。在此状况会造成应用板上
的电源跳动不稳定,使得 PMB183 上电波形出现抖动干扰。此一过程有可能会持续数十至数百毫秒,这对于芯
片上电开机是一严苛的挑战,有可能造成芯片出现死机、程序跑飞、功能异常、系统参数错乱…等状况。针对此
一状况可在程序依照下列几点设置可提升 PMB183 IC 在电源上电及电源抖动时的稳定性。
CodeOption 设置:
● CodeOption 开机速度选择 Slow。(若芯片有支持此功能)
(2) 开机程序在.Adjust_IC 前优先做 IO 输出低及延时设置:
● 上电开机程序以 ILRC 优先执行 IO 输出低 (在 .Adjust_IC 前)。
● IO 输出低后,以 ILRC 系统频率执行延时 (在 .Adjust_IC 前)。
● .Adjust_IC 的参数里加 x_first。
● 建议上电开机延时 100ms ~ 200ms,才进入 Stopexe Mode。
系统频率:
● 建议在 IC 上电开机后保持系统频率为 ILRC 工作,直到进入 Stopexe / Stopsys 模式。
● 建议 Stopexe / Stopsys 唤醒后系统频率才切换至高频工作。
● 建议系统时钟频率设定在 1MHz (含)以下对于稳定性提升有效果。
● 建议ILRC 可以永远保持 Enable 状态,从高频切低频时可以直接切换。
● 系统主频由 ILRC 切换至 IHRC 时,必须先 Enable IHRC,并且等后 2 个以上的指令的运行时间才可以
切换。避免一行指令做完 Enable IHRC 及切换频率的动作。
//----------------------------------------------------------
// Macro Name: PowerOn_Delay
// Parameter: none
//
//----------------------------------------------------------
byte pndt;
PowerOn_Delay macro // delay 2048 ILRC period = 35.31ms
PA = 0x00;
PAC = 0xFF; // change to Output Mode
pndt = 0xFF;
do
{ nop; nop; nop; nop; nop; }
while(pndt--);
PAC = 0x00; // change to Output Mode
endm
void FPPA0 (void)
{
#if _SYS(AT_EV)
$ MISC WDT_64K; // 64K*ILRC = 40ms
#endif
PowerOn_Delay //delay 35ms
.ADJUST_IC SYSCLK=ILRC (IHRC/16), IHRC=16MHz, VDD=4.2V, O_WDRST, X_FIRST;
.wdreset;
.delay 4000 // delay about 69ms for VDD = 5V
//---- ReLoad_All_Param
ReLoad_IHRC //Reload IHRCR Parameter
ReLoad_ChargerCURTRIM //Reload Charger Current Trim Bits
ReLoad_VbatBGTRIM //Reload Charger Vbat Trim Bits
$ MISC WDT_64K; // 64K*ILRC = 1103ms
.wdreset;
$ CLKMD IHRC/16, En_IHRC, En_ILRC, En_WatchDog;
while(1)
{
.delay 10000;
$ PA.6 Out, High;
.delay 10000
$ PA.6 Out, Low;
}
}
5S-I-CB002 为应广科技针推出的仿真工具,需要搭配应广科技的 IDE 软件做联机仿真,5S-I-CB002 使用
时需搭配 5S-I-S01/2(B)使用,参考如下图片