当前位置:首页 > 汽车电子 > 汽车电子
[导读]Freescale的S12系列16位MCU在车身控制系统中应用广泛,用于车身控制器BCM、门锁模块、RKE接收器、智能执行器、灯光模块等车身ECU中。在某整车厂开发的车身控制模块中,采用MC9S12XS128做为中央处理器,实现了车身控制

Freescale的S12系列16位MCU在车身控制系统中应用广泛,用于车身控制器BCM、门锁模块、RKE接收器、智能执行器、灯光模块等车身ECU中。在某整车厂开发的车身控制模块中,采用MC9S12XS128做为中央处理器,实现了车身控制的大部分功能,包括门锁控制、灯光控制、雨刷控制、车窗控制和防盗报警,还实现了CAN/LIN网关功能,通过CAN总线接收车速和碰撞信号,从而实现安全驾驶和紧急操作,通过LIN总线接收来自雨量传感器的信号,控制雨刷的快速、慢速或间歇操作。下面从硬件设计和软件设计中的关键技术方面介绍MC9S12XS128在BCM中的应用。

1 硬件设计

1.1 MC9S12XS128简介

MC9S12XS128是一款针对汽车电子市场的高性能16位单片机,具有速度快、功能强、成本低、功耗低等特点。其芯片资源及特性如下:

1)总线速度高达40 MHz;

2)128 KB程序Flash和8 KB DataFlash,用于实现程序和数据存储,均带有错误校正码(ECC);

3)可配置8位、10位或12位ADC,3μs的转换时间;

4)内嵌MSCAN模块用于CAN节点应用,内嵌支持LIN协议的增强型SCI模块及SPI模块;

5)4通道16位计数器;

6)出色的低功耗特性,带有中断唤醒功能的10,实现唤醒休眠系统的功能;

7)8通道PWM,易于实现电机控制。

1.2 系统结构

基于S12XS128实现的BCM硬件系统结构如图1所示。由图可见,BCM硬件电路包括开关信号检测、CAN/LIN通讯、负载控制及监控几部分。其中开关信号检测通过多路开关检测芯片MC33993实现,LIN通讯通过UART模块和LIN总线物理层收发器TJA1021共同实现,CAN通讯通过CAN模块和CAN总线物理层收发器TJA1055共同实现,负载控制通过智能功率器件实现,智能功率器件除了实现对负载的功率驱动,还可以提供镜像工作电流,这样通过对其镜像工作电流取样ADC转换便可以监测负载的工作状况。

图1 基于S12XS128实现的BCM硬件系统结构

1.3 开关信号检测

在BCM的设计实现中,由开关状态及其状态变化触发对控制负载的控制是最常见也是最重要的一种控制方式,由于开关信号繁多,而且BCM的控制负载多采用10的方式进行控制,这样在XS128的IO引脚有限的情况下,怎样完成对多个开关状态的监测成为设计中的一大挑战。同时对于电池供电的汽车电子应用而言,BCM本身有低功耗的需求,当满足低功耗条件时,进入低功耗模式,系统关断不必要的模块,降低功耗;当若干特定开关的状态发生变化时,系统需要启动相关模块,进入正常工作模式,这样不仅要实现正常工作模式下的开关状态采集及其状态变化的捕捉,还需要实现低功耗模式下的唤醒功能。

对部分开关信号采用分立的方式进行采集,其余则采用Freescale可编程多路开关检测接口芯片MC33993实现,其硬件电路如图2所示。

图2 硬件电路图

MC33993通过SPI和处理器通信,可检测22路开关量输入信号,并可以设置哪些开关通道可以触发中断。首先XS128通过SPI向MC33993发送控制命令字,进行初始化设置,设定MC33993的工作方式,并使能那些中断唤醒的开关通道的可触发中断功能。在正常工作模式下XS128通过SPI接口周期读取MC33993的开关状态,在低功耗模式下可触发中断的开关通道状态发生变化时,便可以唤醒XS128,进入正常工作模式。

2 软件设计

2.1 软件流程设计

BCM的软件设计采用初始化+循环体的软件结构,软件流程图如图3所示。首先进行全局变量和所用外设(包括IO、ADC、SPI、PWM、TIME-R、SCI)的初始化,然后在循环体内依次进行开关信号检测、LIN通信、RKE通信以及负载控制。对负载控制逻辑而言,开关信号、LIN信号和RKE信号都是触发其控制操作的输入信号,而且由于需要把若干开关信号填充到LIN帧中,所以把负载控制放在循环体的最后,各软件模块次序如图3所示。

图3 软件流程图

2.2 开关信号检测软件设计

在BCM的开关控制逻辑中,开关信号的状态及其变化经常作为某个控制逻辑的背景条件和激励信号,所以在程序设计时,对单个物理开关信号需要确定其当前状态及状态跳变(包括开关闭合到断开和开关断开到闭合的变化)。由于BCM需要采集的开关信号比较多,为了程序的简洁和逻辑的清晰,定义一个结构体将各路开关信号统一起来,利用结构体的位变量特性节约变量空间,利用结构的统一性节约开关信号检测函数的代码空间。设计结构体如下:

在上述结构体中Switch表示开关信号的当前状态,Swon_event和Swoff_event分别表示开关从断开到闭合和从闭合到断开的变化,CurSw和Detect_cnt用于开关信号采集、的软件消抖功能。设计一10 ms的定时器,周期读取开关当前状态,3次确认以判断Switch、Swon_event、Swoff_event。其代码实现如下:

3 结束语

采用MC9S12XS128设计实现了一款车身中央控制器BCM,从处理器特性、硬件结构、多路开关扩展及开关信号检测等方面描述了BCM的硬件设计,从软件流程设计,开关信号状态监测及变化捕捉的软件实现上描述了BCM的软件设计。该BCM经装车试验,运行稳定,功能可靠,已经进入小批量预生产阶段,具有很高的实用价值。

 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

一切电子设备都要用电,电源也就无处不在。电源在我们印象中就是输入端进电,输出端对用电设备供电,它的电路是由一堆的电阻、电容、电感还有变压器、风扇之类构成。

关键字: 处理器 电源管理 模块设计

摘要:结合无线充电产品设计经验,对无线充电设计细节进行探究。介绍了无线充电划分及电磁感应无线充电结构、测试指标,在此基础上对电磁感应无线充电设计进行了分析,并总结了电磁感应无线充电产品常见问题及改善措施,阐述了电磁感应无...

关键字: 模块设计 线圈 散热

摘要:基于Zynq-7000系列芯片,利用其ARM+FPGA的组合架构,搭建了千兆以太网模块。介绍了该模块的硬件平台设计,并在硬件基础上设计了FPGA和ARM程序。经测试,模块成功实现了数据上下行传输功能,传输速度达到6...

关键字: ARM+FPGA 千兆以太网 模块设计

摘要:介绍了混联机构高速高精度贴片机的设计内容,主要包括机械结构设计及控制系统设计,并研制了样机,通过调试,初步达到设计预期,对混联机构应用于工业生产具有一定的指导意义。

关键字: 混联机构 模块设计 控制系统

摘要:介绍了混联机构高速高精度贴片机的设计内容,主要包括机械结构设计及控制系统设计,并研制了样机,通过调试,初步达到设计预期,对混联机构应用于工业生产具有一定的指导意义。

关键字: 混联机构 模块设计 控制系统

×为可编程逻辑控制器(PLC)或分布式控制系统(DCS)模块等过程控制应用设计模拟输入模块时,主要权衡因素通常是性价比。传统上,此应用领域使用双极性±15V电源轨来提供有源前端组件,用于输入信号的衰减或增益。这会影响物料...

关键字: 模块设计 系统级 模拟输入 ADC

×为可编程逻辑控制器(PLC)或分布式控制系统(DCS)模块等过程控制应用设计模拟输入模块时,主要权衡因素通常是性价比。传统上,此应用领域使用双极性±15V电源轨来提供有源前端组件,用于输入信号的衰减或增益。这会影响物料...

关键字: 模块设计 系统级 模拟输入 ADC

摘要:给出了基于物联网的体系结构模型,以温湿度传感器作为信息采集基点。利用Freescale单片机MC9S12XS128对温湿度传感器实时采集的数据进行处理,并通过NRF24L01无线模块将温湿度信息传送至上位机,最后通...

关键字: 无线传感器网络 MC9S12XS128 NRF24L01 RS232转USB

我们七月份的活动内容为:基于单片机的自动浇花系统,经过网友后台留言建议和调研,最终定下来咱们的自动浇花系统大概由如下功能模块组成: LED指示灯 土壤干燥程度指示; 比如可以绿色代表正常,红色代表缺水状态; 普通的单色L...

关键字: 自动浇花系统 基于单片机 功能模块

我们六月份的活动题目为:基于单片机的智能风扇,经过网友后台留言建议和调研,最终定下来咱们的智能风扇选用如下功能模块组成: PCB线路板采用核心板+底板实现 核心板:排针引脚间距为2.54mm,2排,双排间距为2.54mm...

关键字: 智能风扇 基于单片机 功能模块
关闭
关闭