编辑: ok2015 | 2019-09-09 |
10 1/10 March 31,
2017 BS87xxxA OPA (OCVP Module) 应用须知 文件编码:AN0449S 简介 BS87xxxA Touch 系列 MCU, 除了内建触摸按建, 并内建 OCVP (Over Current/Voltage Protection) Module,提供了一个过电流(OCP)或过电压(OVP)的保护机制.OCVP 包含有一个 OPA(运算 放大器)、一个 CMP(比较器)与一个
8 bits D/A(数字/模拟转换器),特别适合于小家电的功率 控制应用. OPA 可将 OCVPAI[2:0]引脚上的电流根据电流值转换为相关的电压值,并且具有 PGA(可编 程增益运算放大器)功能,可对引脚输入信号进行同相或反相的增益调整.接着 OPA 的输出 电压与一个 8-bit D/A 转换器产生的参考电位进行比较.CMP 并且可产生 MCU 中断,通知 MCU 软件进行相应处理. 另外, OPA 与CMP 均内建输入失调电压校准功能(Input Offset Cancellation), 可以将失调电压 校准至±4mV 以内. 本文主要介绍 OPA 与比较器 CMP 的操作, 寄存器设定以及基本 OPA 应用, 例如: OCP/OVP、 同相放大器、反相放大器和电压跟随器等. 功能说明 此OCVP Module 除OPA、CMP 与8bits D/A 的整合式应用外,尚搭配有多个开关,可通过 软件设定输入路径以及参考电压,并可将 OPA、CMP 和8bits D/A 端点引到 IC 的脚位,所以,也可将其拆开,依需求单独使用,增加使用弹性. 8-bit D/A OCVPDA[7:0] Debounce To A/D internal input R1 R2 6.6KΩ or 13.2KΩ Gain=1/4/6/10/15/25/40/65 OCVPO S3 S2 S4 S5 OCVPG[2:0] fDEB=fSYS OCVPSWn (n=0~6) OPA VDD OCVPVR OCVPVRS OCVPSPOL OCVPCOUT OCVPDEB[2:0] OCVPAO OCVPINT CMP OCVPAI1 OCVPCPS OCVPEN OCVPCI OCVPEN OCVPSW7 S7 OCVPG2XEN OCVPAI2 S6 OCVPAI0 S1 S0 OCVPCHY OCVPEN OCVPCOUT 图1. OCVP (Over Current / Voltage Protection = O.C.V.P) 方块图 BS87xxxA OPA (OCVP Module) 应用须知 AN0449S V1.10 2/10 March 31,
2017 工作原理 OCVP 是由 OCP 与OVP 两种功能模块组成,底下将以应用角度分别说明 OCP 与OVP 工作 原理. OVP (Over Voltage Protection) 在电源管理,小家电应用等领域过电压保护 OVP 是一个重要保护功能,此功能可避免因电 压波动或在系统受干扰情况下破坏系统工作.下面以锂电池充电电路为例说明 BS87xxxA OVP 模块的具体应用. 一般 OVP 信号为被侦测电压的分压, 不须经过 OPA 放大, 以CMP 搭配 D/A 即可. 下方以 Battery Charge Over-Voltage Protection 应用为例, BS87xxxA 可通过 PTM 的PWM 调整占空比(Duty Cycle) 进行充电电流控制,电池 BAT 电压经 R1 和R2 电阻分压由 OCVPCI 输入,OCVPCI 电压上升 超过 8-bit D/A 的设定值,经由 OCVPINT 产生中断通知,促使 F/W 对PTM 进行调控. BS87xxxA 内部方块图 8-bit D/A OCVPDA[7:0] Debounce To A/D internal input R1 R2 6.6KΩ or 13.2KΩ Gain=1/4/6/10/15/25/40/65 OCVPO S3 S2 S4 S5 OCVPG[2:0] fDEB=fSYS OCVPSWn (n=0~6) OPA VDD OCVPVR OCVPVRS OCVPSPOL OCVPCOUT OCVPDEB[2:0] OCVPAO OCVPINT CMP OCVPAI1 OCVPCPS OCVPEN OCVPCI OCVPEN OCVPSW7 S7 OCVPG2XEN OCVPAI2 S6 OCVPAI0 S1 S0 OCVPCHY OCVPEN OCVPCOUT Supply Voltage PTM R1 R2 Rs BAT 图2. BS87xxxA 电池充电 OVP 保护内部方块图 ? 简化电路图如下 图3. BS87xxxA 电池充电 OVP 保护简化电路图 在此充电电路中,OVP 保护电路用比较器(CMP)来完成,电池电压经 R1/R2 分压后与 D/A 设置的参考电压进行比较, 当电池电压过高大于设置电压值时, 则比较器发生反转, 产生中断进行保护. BS87xxxA OPA (OCVP Module) 应用须知 AN0449S V1.10 3/10 March 31,
2017 ? 程序代码 VP_FUNCTION: MOV A,00000000B MOV OCVPC0,A MOV A,10000010B ;
bit7:OCVP 功能使能 MOV OCVPC1,A ;
bit1:OCVP 比较器同相输入来自 OCVPCI 引脚 MOV A,00000001B ;
BIT0~2:去抖(1~2)*tDEB MOV OCVPC2,A MOV A,10000001B ;
OCVP 引脚使能 MOV OCVPC3,A MOV A,0D7H ;
转换器输出=(DAC 参考电压/256)*D[7:0] MOV OCVPDA,A SET OCVPE ;
开OCVP 中断 SET EMI ;
开总中断 OCP (Over Current Protection) 一般 OCP 信号相当微小,需搭配 OPA 放大.下方以 Battery Charge / Discharge OCP 应用以及 电磁炉应用为例,说明 OCP 保护电路的应用方法.BS87xxxA 可通过 PTM 进行电流控制. 电池充电 OCP 保护 Battery Charge 时,OCVPAI0 电压高于 VSS 端,OPA 设定为同相放大,于OPA 的输出超过 8-bit D/A 的设定值,经由 OCVPINT 产生中断通知,促使 F/W 通过 PTM 进行电流调控. ? BS87xxxA 内部方块图 8-bit D/A OCVPDA[7:0] Debounce To A/D internal input R1 R2 6.6KΩ or 13.2KΩ Gain=1/4/6/10/15/25/40/65 OCVPO S3 S2 S4 S5 OCVPG[2:0] fDEB=fSYS OCVPSWn (n=0~6) OPA VDD OCVPVR OCVPVRS OCVPSPOL OCVPCOUT OCVPDEB[2:0] OCVPAO OCVPINT CMP OCVPAI1 OCVPCPS OCVPEN OCVPCI OCVPEN OCVPSW7 S7 OCVPG2XEN OCVPAI2 S6 OCVPAI0 S1 S0 OCVPCHY OCVPEN OCVPCOUT Supply Voltage PTM Rs BAT Ic 图4. BS87xxxA 电池充电 OCP 保护内部方块图 BS87xxxA OPA (OCVP Module) 应用须知 AN0449S V1.10 4/10 March 31,
2017 ? 简化电路图如下 图5. BS87xxxA 电池充电 OCP 保护简化电路图 在此充电电路中,电流检测引入到 OPA 的同相端,放大倍数则为 (1 + R2 / R1),可用 ADC 采样电流,用PTM 进行控制,利用 D/A 设置 OCP 电压保护点. ? 程序代码 AT_CH_OCP_FUNCTION: MOV A,10100010B ;
S1,S5,S7 ON MOV OCVPC0,A MOV A,10000000B ;
bit7:OCVP 功能使能 MOV OCVPC1,A MOV A,00011001B ;
BIT3~5:PGA R2/R1=10;
BIT0~2:去抖(1~2)*tDEB MOV OCVPC2,A MOV A,00010010B ;
OCVP 引脚使能 MOV OCVPC3,A MOV A,052H ;
转换器输出=(DAC 参考电压/256)*D[7:0] MOV OCVPDA,A SET OCVPE ;
开OCVP 中断 SET EMI ;
开总中断 RET 电池放电 OCP 保护 Battery Discharge 时,OCVPAI0 电压低于 VSS 端,OPA 设定为反相放大,于OPA 的输出超 过8-bit D/A 的设定值,经由 OCVPINT 产生中断通知,促使 F/W 通过 PTM 进行电流调控. ? BS87xxxA 内部方块图 8-bit D/A OCVPDA[7:0] Debounce To A/D internal input R1 R2 6.6KΩ or 13.2KΩ Gain=1/4/6/10/15/25/40/65 OCVPO S3 S2 S4 S5 OCVPG[2:0] fDEB=fSYS OCVPSWn (n=0~6) OPA VDD OCVPVR OCVPVRS OCVPSPOL OCVPCOUT OCVPDEB[2:0] OCVPAO OCVPINT CMP OCVPAI1 OCVPCPS OCVPEN OCVPCI OCVPEN OCVPSW7 S7 OCVPG2XEN OCVPAI2 S6 OCVPAI0 S1 S0 OCVPCHY OCVPEN OCVPCOUT Rs PTM Load Id BAT 图6. BS87xxxA 电池放电 OCP 保护内部方块图 I BS87xxxA OPA (OCVP Module) 应用须知 AN0449S V1.10 5/10 March 31,
2017 ? 简化电路图如下 图7. BS87xxxA 电池放电 OCP 保护简化电路 在此放电电路中,电流检测引入到 OPA 的反相端,放大倍数则为 (R2/R1),可用 ADC 采样电流,用PTM 进行控制,利用 D/A 设置 OCP 电压保护点. ? 程序代码 AT_DISCH_OCP_FUNCTION: MOV A,10011000B ;
S3,S4,S7 ON MOV OCVPC0,A MOV A,10000000B ;
bit7:OCVP 功能使能 MOV OCVPC1,A MOV A,00011001B ;
BIT3~5:PGA R2/R1=10;
BIT0~2:去抖(1~2)*tDEB MOV OCVPC2,A MOV A,00010010B ;
OCVP 引脚使能 MOV OCVPC3,A MOV A,052H ;
转换器输出=(DAC 参考电压/256)*D[7:0] MOV OCVPDA,A SET OCVPE ;
开OCVP 中断 SET EMI ;
开总中断 RET 电磁炉 OCP 保护 下方以电磁炉电流侦测为范例说明电流侦测及 OCP 保护的工作原理,一般电磁炉电流侦测 用康铜丝电阻来取样,再经 OPA 放大后,到ADC 进行采样,再通过 PTM 控制 IGBT,达到 控制电流的目的. 电流输入端接到 OCVPAI0 端,将开关 S4 设置到 ON 状态,则电流输入到 OPA 的负(-),将 开关 S7 置到 ON 状态接入回馈电阻,则R2 及R1 决定了电流的放大增益,将开关 S3 置到 ON 状态即同相端接到地.OCVPCPS(OCVP 比较器同相输入选择位)接到地,选择 OPA 的输 出端接到 OPA 的正端. OPA 的输出到两条路,一路进入到 IC 内部 ADC 进行行转换,根据此值及电压大小可控制 功率,另一路进入到比较器(CMP)进行 OCP 保护处理. 设置
8 bits D/A 值,即设置 OCP 电流保护的参考值,当放大后的电流信号大于此值时,比较 器发生反转产生中断,在中断服务程序中进行保护处理. I BS87xxxA OPA (OCVP Module) 应用须知 AN0449S V1.10 6/10 March 31,
2017 ? BS87xxxA 内部方块图 图8. BS87xxxA 电磁炉电流侦测 OCP 保护内部方块图 ? 简化电路图如下 图9. BS87xxxA 电磁炉电流侦测 OCP 保护简化电路 在此简化电路中, 电流流向是从 OPA 的负端流至硅桥的负端, 因此当电流增大时, OPA 的输出电压增大, 当OCP 发生保护时, 比较器的输出是由低变高. 可用 ADC 采样电流, 用PTM 进行控制,利用 D/A 设置 OCP 电压保护点. ? 程序代码 AT_DISCH_OCP_FUNCTION: MOV A,10011000B ;
S3,S4,S7 ON MOV OCVPC0,A MOV A,10000000B ;
bit7:OCVP 功能使能 MOV OCVPC1,A MOV A,00011001B ;
BIT3~5:PGA R2/R1=10;
BIT0~2:去抖(1~2)*Tdeb MOV OCVPC2,A MOV A,00010010B ;
OCVP 引脚使能 MOV OCVPC3,A MOV A,052H ;
转换器输出=(DAC 参考电压/256)*D[7:0] MOV OCVPDA,A SET OCVPE ;
开OCVP 中断 SET EMI ;
开总中断 RET O C V P nA I0 O C V P nG [2:0] O P A + - R
1 S
0 S
1 O C V P nE N S
2 S
3 S
4 S
5 S
6 O C V P nG 2X E N R
2 O C V P nA O O C V P nIN T O C V P nC H Y - + O C V P nC O U T D ebounce O C V P nO O C V P nD E B [2:0] fS Y S C M P O C V P nE N O C V P nC P S O C V P nC I O C V P nS
7 O C V P nA I1 O C V P nA I2 S
7 O C V P nS x S x (x =
0 ~ 6) O C V P nS P O L (6.6kO or 13.2kO ) 8bit D/A O C V PEN O C V PD A [0-7] O C V PV R S O C V PV R V D D L N ~ ~ + - Coil IGBT 0.01R PTM T o A /D internal input I BS87xxxA OPA (OCVP Module) 应用须知 AN0449S V1.10 7/10 March 31,
2017 Current-to-Voltage Converter 经由 OCVPSWn 的设定, 可将电流信号转换成电压信号, 下图以 TIA(Transimpedance amplifier) 将光二极管电流转换为电压为例.OPA 的输出电压 V 为光二极管电流 I 的R2 倍,此信号可 经由 BS87xxxA 内的 ADC 读取电压值,来得知光二极管电流 I 的大小. ? BS87xxxA 内部方块图 8-bit D/A OCVPDA[7:0] Debounce To A/D internal input R1 R2 6.6KΩ or 13.2KΩ Gain=1/4/6/10/15/25/40/65 OCVPO S3 S2 S4 S5 OCVPG[2:0] fDEB=fSYS OCVPSWn (n=0~6) OPA VDD OCVPVR OCVPVRS OCVPSPOL OCVPCOUT OCVPDEB[2:0] OCVPAO OCVPINT CMP OCVPAI1 OCVPCPS OCVPEN OCVPCI OCVPEN OCVPSW7 S7 OCVPG2XEN OCVPAI2 S6 OCVPAI0 S1 S0 OCVPCHY OCVPEN OCVPCOUT I V=I x R2........