基于MC9S08DZ60处理器CAN总线型车身控制系统的设计

发布时间:2010-12-14 阅读量:3428 来源: 发布人:

【中心议题】

  •        *提出了一种基于MC9S08DZ60处理器CAN总线型车身控制系统
  •        *给出了设计方案

【解决方案】

  •        *使用飞思卡尔MC9S08DZ60处理器
  •        *4个车控模块通过CAN总线互联

0引言

随着人们对汽车行驶安全性、舒适性、功耗的要求越来越高,车身控制系统的功能也变得越发复杂化。传统的车身控制系统存在着功能单一、排线复杂、功耗高等缺点,已经成为提高车身各项性能的障碍。为了有效解决这种矛盾,本文提出了基于飞思卡尔8位单片机MC9S08DZ60处理器芯片,并通过CAN总线实现车身控制系统的设计方法。该设计方案可以大大丰富车身控制系统的功能、并简化各个控制单元间的连线,在保证系统功能的基础上降低了系统的功耗。

1系统结构设计

本系统由车前模块、车后模块、主驾模块和副驾模块4个部分组成。所有模块通过CAN总线连接起来,实现对各种灯光与信号、门锁、后视镜、车窗的控制。仪表通过CAN总线和4个模块连接在一起,这样可以根据具体的控制行为进行相应的信号显示。

2系统模块设计

2.1处理器

汽车是一种使用环境比较恶劣的大众消费品,所以汽车电子需要具有高可靠性和低成本特性。目前生产的车用处理器种类非常多,本系统使用的是飞思卡尔MC9S08DZ60处理器。

 

MC9S08DZ608HCS08系列中央处理器,具有40M主频、60K的片内存储器、53I/O端口、24个中断引脚、支持两种超低功耗模式。MC9S08DZ60内嵌的MSCAN模块支持CAN2.0A/B协议[1]。以MC9S08DZ60为核心的车身控制系统能够在-40~85范围内正常工作,并具有高可靠性和低能耗的特点。

2.2 CAN总线设计

本系统中的4个车控模块通过CAN总线互联,使得彼此之间能够传输数据。CAN总线是一种支持分布式或实时控制的串行通信网络。CAN总线采用多主方广播方式工作,每个CAN节点都可以根据优先权向整个网络广播数据。CAN总线采用无损结构的逐位仲裁机制,使得CAN节点之间的竞争不会拖延高优先级数据的传输时间。CAN总线的设计包括物理设计和协议设计两部分。

2.2.1 CAN总线硬件设计

CAN总线物理设计包括CAN总线的时钟源、波特率、工作模式、数据帧接受判断等。

1MSCAN模块的时钟源可以选择外部振荡器或总线时钟。在本系统中,通过设置CANCTL0寄存器中的CLKSRC位为0,使得MSCAN模块的工作时钟频率为8M外部振荡器。

2)波特率决定了CAN总线的数据传输速率。所有CAN的节点都必须使用统一的波特率。波特率的大小受限于CAN总线传输介质的长度。根据车身的实际应用要求,本系统中的波特率选定为125Kb/s。波特率的值是通过所设的CAN总线时钟频率、波特率预分频器、位时间内的时间段固定每个位时间的时钟周期数和采样点位置确定的。该系统中,CAN总线时钟频率为8M、波特率预分频器值为4、时钟周期数为8个时间冲量的时钟周期。

 

3)为了降低系统能耗,当CAN总线上没有数据传输时MSCAN模块需要进入休眠模式。当CAN总线上有数据传输时,MSCAN模块会从休眠模式转成正常工作模式。设置CANCTL1寄存器中的WUPE位和CANRIER寄存器的WUPIE位为1,使MSCAN在检测到CAN总线上有流量时能够从休眠模式中启动。

4)由于CAN总线采用的是广播方式传输数据,所以每个CAN节点需要屏蔽无关的数据,不使其进入节点寄存器,以提高处理CAN数据的效率。MSCAN模块通过标识符验收控制寄存器CANIDAC和标识符掩码寄存器CANIDMR实现数据帧的屏蔽功能。根据CANIDMR中指定的需要判断的位,把接受到的数据帧标识符和CANIDAC中的标识符进行比对。如果比对的位全部相同,则把该数据帧存入MSCAN模块的接受寄存器中。本系统中,根据数据帧标识符中的目标地址数据进行屏蔽,最大限度的提高了数据屏蔽的效率。

2.2.2 CAN总线协议设计

CAN总线协议设计包括数据链路层协议和应用层协议设计。

CAN2.0A协议:

1CAN2.0A协议和CAN2.0B协议规定了数据链路层中数据帧的组成结构。在CAN2.0A协议中标识符是11位(标准帧),在CAN2.0B协议中标识符是29位(扩展帧)。在本系统中,由于需要采样发动机控制系统中的车速数据(使用扩展帧封装),所以车身控制系统也使用了扩展帧。

2)数据链路层协议定义了数据帧中标识符、数据、检验等组成部分的大小和结构。在实际使用中,为了提高CAN总线软件系统的开发调试效率,往往根据数据帧的应用环境对标识符进行协议编制。目前使用广泛的CAN应用层协议有CANopenNetDeviceSAE-J1939等。在本系统中,根据车身控制系统4个模块之间的通讯需要,设计应用层协议。

 

在该应用层协议中,优先级用于初步反映数据帧的优先级别。数据源模块用于标识该数据帧是由哪个模块发出的。数据目标模块用于标识该数据帧是发给哪个模块的。命令用于标识该数据帧的作用。

3系统软件设计

根据本系统模块功能的特点,车前模块、车后模块、主驾模块和副驾模块的软件结构大致相同,不同的只是对各个子功能的处理算法。这样可以有效提高软件开发与调试的效率。

每个模块软件主要由主控程序、硬件初始化程序、I/O操作程序、CAN总线操作程序等组成。

3.1主控程序

由于本系统是基于MC9S08DZ60单片机的单任务系统,所以主控程序的任务就是以单道批处理的方式控制整个模块软件的运行。为了在满足控制需求的前提下降低处理器的能耗,主控程序在完成调用相关初始化程序后,采用了以10毫秒为间隔周期反复轮询操作各个I/O端口(包括CAN总线模块MSCAN)的工作方式。为了保证轮询间隔的精确性,本系统使用了定时器脉冲宽度调节器TPM作为轮询的时钟控制器。

3.2硬件初始化程序

在本系统中,硬件初始化程序的作用有时钟初始化、I/O端口初始化、定时器初始化、数模采样初始化、CAN模块MSCAN初始化等。通过设置各个硬件初始化寄存器即可完成初始化工作。

 

3.3 I/O操作程序

在本系统中,I/O操作程序的主要任务是通过检测MC9S08DZ60各个I/O端口的电流来获取各种灯光与信号、门锁、后视镜、车窗的操作行为。同时通过和原始标定电流值的比较判断车灯等设备是否有故障,并把故障信号传给仪表。

3.4 CAN总线操作程序

在本系统中,CAN总线操作程序的基本作用是实现MSCAN模块的初始化和CAN扩展数据帧的收发。由于MSCAN模块的扩展帧标识符数据结构不是简单的线性排列,所以需要在应用层协议和数据链路层协议之间进行转换。

4结语

本系统设计的基于MC9S08DZ60处理器CAN总线型车身控制系统具有高可靠性、低能耗、结构简单等特点,完全能够满足现代车身控制的要求。通过实验和整车测试,本系统各项性能指标完全达到了整车的使用要求。

相关资讯
贸泽电子深入探讨以人为本的工业5.0新变革 探索灵活的可持续未来工业机遇

本期EIT探讨了从工业4.0到工业5.0的转变,以及即将实现的技术进步

2025第24届西部全球芯片与半导体产业博览会

CWGCE2025西部芯博会总规模将达到60000㎡,同期举办光电展+工业展+智能展+军工展等相类展会,将有更多集成电路行业新装备、新产品、新材料、新技术、新工艺、新趋势及新应用集中亮相

2025第24届西部芯博会走集团化品牌化之路

CWGCE2025西部芯博会总规模将达到60000㎡,同期举办光电展+工业展+智能展+军工展等相类展会,将有更多集成电路行业新装备、新产品、新材料、新技术、新工艺、新趋势及新应用集中亮相

CWGCE2025第24届西部芯博会4月启幕

CWGCE2025西部芯博会总规模将达到60000㎡,同期举办光电展+工业展+智能展+军工展等相类展会,将有更多集成电路行业新装备、新产品、新材料、新技术、新工艺、新趋势及新应用集中亮相

CCWPE2025第24届西部光电博览会4月启幕

作为我国中西部地区历史最悠久的光电领域全产业链综合性年度盛会,规模和档次逐年增加和提高,CCWPE2025又新增了多个行业组织联办单位,同时将进一步扩容和丰富论坛内容。