新闻中心

EEPW首页>嵌入式系统>设计应用> 基于CAN总线技术的汽车ECU设计

基于CAN总线技术的汽车ECU设计

作者: 时间:2013-05-18 来源:网络 收藏

  3.2软件设计
  系统软件设计主要包括信号采集和CAN接口通信程序。利用AT90CAN128片上集成的ADC模块可以采集一些常规传感器的模拟信号,如油压、水温、气压等信号;利用定时器/计数器模块采集传感器脉冲信号,如转速、行驶里程信号等。对于模拟量信号,在经过放大器处理之后,可以直接控制单片机的ADC模块对其进行采集;对于脉冲信号,在对其进行采集时需要进行整形处理,如转速传感器获取发动机飞轮旋转时轮齿的信号,是正弦交流信号,将其整形为方波信号,利用定时器/计数器模块采集方波的频率来完成速度采集。为提高转速采集的实时性,通常采集脉冲信号的周期(两个脉冲信号上升沿或下降沿之间的时间)来计算其频率,并计算发动机转速,计算公式如如式(1)所示。

式(1)中为系统时钟周期,为分频系数,为发动机飞轮齿圈齿数(对于康明斯发动机为为轮齿脉冲两次上升(或下降)沿的计数器值。

  CAN接口通信程序主要包括CAN的初始化、数据接收和数据发送程序。主程序通过调用函数来实现数据的接收和发送,流程图如图3所示,在数据接收程序中,通过查询方式读取相应消息对象中的数据。

  CAN初始化工作主要包括波特率参数设置、接收屏蔽寄存器及接收代码寄存器的设置、使能允许寄存器的设置等。通过总线定时器寄存器CANBT1、CANBT2、CANBT3来设置波特率参数。AT90CAN128中提供了一组由4个验收码寄存器(CANIDT1~CANIDT4)和4个验收屏蔽寄存器(CANIDM1~CANIDM4)组成的验收滤波器,信息只有通过它的验收滤波才能被接收;所有验收屏蔽寄存器为0的位,验收码寄存器和CAN信息帧的对应位必须相同才能验收通过,而所有验收屏蔽寄存器中为1的位,验收码寄存器对应位的验收滤波功能则被屏蔽。通过设置验收滤波器,既可以实现节点与节点之间的点对点通信,也可以实现一点对多点的广播式通信,使整个数据通信网络更加灵活。
  4、实验
  采用本文设计的汽车对车辆上的模拟信号(水温、压力等),脉冲信号(转速、里程等)进行采集,并通过发送和接收数据。采用IXXAT公司的CAN分析仪(USBtoCAN)对进行监控,利用计算机与CAN分析仪连接,并通过采集传输的数据,CAN总线的通信波特率设定为125kbps,实验中测得的总线状态如图4(a)所示,实验中采用CAN2.0B扩展帧协议,采集某节点的CAN总线数据如图4(b)所示,其中节点204060为脉冲信号采集,节点204061为模拟信号采集,数据长度为8字节,空余字节用FF填补,可用来扩展信息量。

  根据实际测量结果,可以看出总线没有接收到出错帧,接收到数据帧,反映总线工作状态正常。从接收的数据表明,每个ECU节点发送的ID码和数据与预定义的ID码和数据相同,总线接收和发送正常。另外,在软件中加入了异常处理,如果某节点一直向总线发送错误标志,总线会自动终止该节点,其他节点也会检测到错误条件,停止向该节点发送数据,这样可以避免总线瘫痪。
  5、结论
  本文设计的基于AT90CAN128单片机的汽车ECU,由于其本身接口丰富,可以采集多种传感器数据,并集成了CAN接口模块,这样提高了EUC的工作可靠性和CAN接口通信的可靠性,非常适宜于组建汽车CAN总线网络。另外,在硬件上做了优化处理,提高了系统的抗干扰能力。实验表明,该ECU能准确采集数据,并能通过CAN总线进行可靠通信

尘埃粒子计数器相关文章:尘埃粒子计数器原理
晶振相关文章:晶振原理
脉冲点火器相关文章:脉冲点火器原理

上一页 1 2 下一页

关键词:CAN总线ECU控制器

评论


相关推荐

技术专区

关闭