输出控制
BCM的控制负载包括门锁电机、车灯、雨刷电机、报警喇叭和LED,输出控制不仅要实现对负载的功率驱动,还要提供一定的保护和故障诊断功能。对于车灯和电机负载,输出功率比较大,通过综合比较各种方案,选用英飞凌的智能功率芯片实现对车灯和电机的控制。下面以左右转向灯的输出控制为例,阐述智能功率芯片的特点和输出控制的实现。
BCM需要同时驱动前转向、后转向和侧转向灯,前后转向灯功率均为24W/12V,侧转向灯为6W/12V。经过比较,选择智能高端功率开关BTS5246实现对转向灯的控制。该芯片内部集成了功率驱动、电流检测、温度传感器等电路,提供双路高端输出,输出功率高达480W,完全可以满足转向灯功率要求,同时提供了完善的故障检测及保护功能。相比分立元件的方式,电路更为简单,工作频率更高,大大减小了电路板空间,并提高了模块的EMC性能。基于BTS5246的转向灯控制电路如图4所示。
在BCM的负载控制功能中,不仅要实现对负载的功率驱动,还要满足一定的时间特性。在转向灯控制中,需要实现对功率芯片BTS5246的开关控制,而且由于转向灯依工作模式的不同有两种闪烁频率80次/min和160次/min,需要实现定时和计时功能。
在BCM的负载控制中,无论是周期闪烁的转向灯、报警警示灯,PWM启动和熄灭的钥匙孔灯和室内顶灯,还是门锁电机和车窗电机等,其功率开关都是采取IO控制的方式,而且很多都具有时间特性。这样每个负载的控制信号对应两个变量,分别表示其IO控制和时间特性。以左转向灯控制为例:
#dene FASTFLASH 1
#dene SLOWFLASH 2
#dene SHUTDOWN 3
extern uchar LnLgt_Cyout;
extern Bool LnLgt_Port;
其中LftnLgt_Cyout表示左转向灯的输出及其时间特性,LftnLgt_Cyout=FASTFLASH 表示左转向灯以160次/min频率闪烁;LftnLgt_Cyout=SLOWFLASH表示左转向灯以80次/min频率闪烁;LftnLgt_Cyout=SHUTDOWN表示处于关断状态。LftnLgt_Port是CPU上控制左转向灯的IO端口,它直接控制BTS5246的功率开关,其接口函数为DrivePort(Driverport Drport,Bool Oper);其中Drport为输出控制端口宏定义,Oper有DRIVEON、DRIVEOFF两个取值,控制智能功率开关的开启与关闭。
作为分布式车身控制系统的主节点,BCM与其它节点通过LIN总线进行通讯,采用LIN物理层收发器TJA1021和MCU片上外设UART完成LIN接口电路的设计,如图5所示。TJA1021是Philips(编者注:现在是NXP公司)的LIN物理层芯片,波特率高达20kbit/s,实现总线波形整形和电平转换功能[3],具有很高的抗电磁干扰性和极低的电磁发射,可以满足汽车环境的苛刻要求。它内部集成从机端电阻,在从机节点应用中无须再外接电阻便可以实现LIN总线的阻抗匹配,BCM是LIN主节点,如图5所示,需要外接1k主机端电阻到VEE。