基于S12ZVL的AFS执行控制器设计
2014-10-16 来源:21ic
0 引 言
汽车前照灯是汽车上重要的安全部件。当前大部分汽车头灯的照射角度是固定的,当汽车在弯道上行驶时,由于光束不能偏转,光照视野不能满足驾驶要求。所以当在夜间行驶转弯的时候,会因为行驶角度问题出现一定的“盲区”,这会在一定程度上影响行车的安全。在照明光线固定的情况下,这个盲区是不可避免的,所以“AFS灯光随动转向系统”就应运而生了。它能根据汽车的转向信号以及车速信号等,自动调节车灯光束的方向,确保车辆在转弯时无延迟的对准即将进入驾驶员视野的路面,为驾驶员提供最优的照明效果,确保夜间转弯行车的安全,提高了汽车的主动安全性。
如图1所示,AFS 系统以车辆在转弯时方向盘的转角以及汽车瞬时车速作为控制参数输入,根据设计的控制算法得到与车速和方向盘转角相适应的车灯转角,并以之作为目标角度来对汽车前大灯进行随动调节。同时通过计算车身前后桥传感器信号,自动调节大灯高度位置,以适应不同道路坡度的照明需求。本文提出了基于S12ZVL的AFS执行控制器设计,从而实现与AFS主控模块之间的LIN通信,并驱动步进电机转动HID灯。
图1 AFS系统效果图
1 S12ZVL特点
S12ZVL系列是S12 MagniV混合信号微控制器组合的一部分,提供智能、优化集成的高电压组件。此新系列基于LL18UHV技术,可在单一芯片上结合高度可靠的180纳米非易失性存储器和高电压模拟组件,这些高电压模拟组件能够承受负载突降时汽车环境的严苛要求。S12ZVL产品系统集成了一个LIN物理层、受ESD保护的12V输入引脚(能够进行ADC测量)以及在3.5V至40V之间操作的汽车稳压器(为霍尔传感器或RGB LED等片上和片外功能提供稳定的电源)。S12ZVL系列包括可扩展和引脚兼容的MCU,提供广泛的内存和封装选件。它重新利用最新推出的S12Z内核、IP和工具,轻松从现有的S12 16位产品进行迁移。此外,S12ZVL MCU集成了一些主要特性,包括所有内存(闪存、EEPROM和RAM)上的ECC功能和精确到1.3%的片上振荡器,这可消除外部晶体振荡器或共振器对LIN通信的要求,其结构框图如图2所示。
同时S12ZVL系列包括属于飞思卡尔Safe Assure功能安全保障计划的第一款16位MCU,旨在符合ISO 26262(ASIL A)要求的功能安全标准。
图2 S12ZVL系列结构框图
2 AFS执行控制器设计
AFS 执行机构是由一系列的电机和光学机构组成。一般有投射式前照灯,对前照灯垂直角度进行调整的调高电机,对前照灯水平角度进行调整的旋转电机,对基本光型进行调整的可移动光栅,此外还有一些附加灯,如角灯等等。
如图3所示,电控单元 LCM 通过 CAN 总线从方向盘角度、车速、车身高度位移传感器分别取得转向轮旋转角度、车体速度和车身倾斜度的精确信息。角度和速度信息通过LCM模块精确计算后产生输出信号,通过LIN总线通讯分别控制左右两个执行机构,来控制旋转电机对前照灯进行水平旋转,倾斜度信息控制调高电机对前照灯进行垂直旋转。
图3 AFS系统结构
2.1 硬件设计
执行控制器采用S12ZVL来实现LIN通讯并控制步进电机调整车灯上下左右运动,同时实现一些辅助功能等。由于S12ZVL集成了LDO,LIN物理层等,所以可以简化电路设计,减小PCB的尺寸。S12ZVL通过SPI接口来配置两路NCV70522的电机控制参数,比如步进电机控制细分数,运行电流等,同时S12ZVL通过Timer模块产生不同频率脉冲来控制步进电机的速度,硬件结构图如图4所示。
图4 AFS执行器硬件结构图
2.2 软件设计
S12ZVL的编程调试可以使用飞思卡尔的Code Warrior 10.6环境,界面比较人性化。AFS执行控制器程序包含主程序,LIN驱动程序,步进电机芯片的控制程序及标定程序等部分。其中主程序流程图如图5所示,LIN驱动程序可以使用飞思卡尔的LIN软件包,其初始化可以通过LIN软件包提供的接口函数实现,步进电机驱动IC的初始化主要通过SPI通讯来实现,可以配置电机驱动IC的工作电流,步进电机的细分数等参数。在主循环中通过使用状态机来实现函数的跳转,从而实现LIN报文接收。
除了主程序之外,还有timer的中断服务程序,中断服务程序可以控制两个步进电机的运行及停止,实现步进电机的加减速运动,同时也能实现一些LIN报文命令的动作,比如自校准运动,停止命令,复位命令等。
图5 主程序流程图
3 LIN通信实现
针对S08,S12以及S12 Magniv系列,飞思卡尔提供了符合LIN2.1, LIN2.0和SAE2602规范的软件包,从而可以帮助开发者非常方便快速的开发出LIN通讯程序。图6为飞思卡尔的LIN驱动程序结构图,LIN2.1 Core API 和J2602 Core API可以实现对LIN的初始化以及应用层与core层之间的信号传递功能,LIN2.1 TL层可以给测试者发送诊断请求,Low Level层处理程序与硬件之间的信号传递功能,比如字节发送,接收响应,Break检测等。
图6 LIN软件包结构框图 该软件包除了驱动程序之外,还提供了方便开发者使用的图形化配置工具NCF GUI,该工具可以根据LIN配置描述文件LCF和节点描述文件NCF自动生成节点的配置.c和.h文件,将LIN代码配置文件,LIN驱动程序以及用户应用软件一起编译,就可以生成实现LIN通讯的可执行程序,如图7所示。从而可以方便开发者将更多的时间放在应用程序的开发上。
图7 LIN配置流程
4 总结
本文详细介绍了飞思卡尔S12ZVL混合集成芯片在AFS中的应用,其中包括S12ZVL芯片的特点,AFS控制系统的结构,同时也详细介绍了飞思卡尔的LIN通讯软件包。通过飞思卡尔S12ZVL混合信号集成芯片及飞思卡尔LIN通讯软件包,开发者可以快速实现LIN通讯功能,同时可缩小产品尺寸、加快AFS执行控制器的开发过程。