DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1438|回复: 0
打印 上一主题 下一主题

[待整理] 基于MC9S08DZ60的AMT手柄ECU的设计

[复制链接]
跳转到指定楼层
楼主
发表于 2015-4-27 20:15:43 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
采用数字电路可以方便快捷地实现换挡手柄挡位信号的传递,但是控制单元间通信的可靠性、实时性、安全性等方面没有CAN总线技术好。本设计中,手柄ECU可以通过CAN总线向AMT_ECU传递驾驶员的驾驶意图,AMT的ECU根据手柄ECU所传递的报文信息控制变速器进行换挡动作。同时,AMT的ECU也可以通过CAN总线把变速器的当前状态(例如档位状态和故障状态)传送给换挡手柄电路。驾乘人员通过换挡手柄选择当前期望的挡位,手柄ECU根据接收到霍尔传感器传递的手柄位置信息,执行输入信号处理,并将处理后的挡位信息通过CAN总线发送给AMT的ECU,传递驾驶员的驾驶意图。AMT的ECU根据手柄ECU所传递的报文信息控制变速器的换挡动作。由于自身有单片机作为处理单元,可以采用CAN/LIN总线的方式与TCU通信,基本不占用TCU的接口资源。当信号采集电路出现问题时,单片机可自行诊断,简单故障甚至可代替TCU进行处理[1]。本设计控制电路结构简单、成本低廉、功能强。

1 硬件设计

本设计硬件电路是以MC9S08DZ60微控制器为核心,主要包括单片机外围电路、电源转换电路、开关量输出处理电路以及CAN通信电路。

1.1 单片机最小系统

由于手柄ECU系统小但功能全,因此采用摩托罗拉公司的8位微控制器MC9S08DZ60。该微控制器尺寸小、成本低、功能强大、资源齐全,具有很高的性能价格比,适合汽车手柄换挡的功能要求以及汽车的运行环境。其主要资源包括:一个CAN模块、一个串行外设接口SPI模块、两个串行通信接口SCI模块、多达24通道的12 bit的A/D转换模块、一个基本时钟模块、60 KB的片上Flash、4 KB的片上RAM、2 KB的E2PROM、看门狗定时器(COP Watch-dog),另外还有I2C总线模块和多个定时器、计数器等。该控制器采用PLL锁相环技术,能够产生最高40 MHz的总线频率。其独特的片上仿真/调试模块(BDC)更是大大简化了设计,从而确保了MC9S08DZ60在本设计中的应用地位[3]。其外围电路如图1所示。

1.2 电源模块
该模块采用7805(U1)芯片实现+12 V转换成+5 V,MIC29510-3.3(U2)芯片实现+5 V转换+3.3 V,从而满足了整个系统的供电,包括单片机的供电。其电路图如图2。
1.3 开关量处理模块

为了使开关量输入信号更加可靠,每一个开关量的输入都要通过上拉、限流等处理后送入单片机。当手柄选到期望挡位、进入霍尔传感器的磁栅范围内时,传感器输出的高电平信号为+3.3 V;其余传感器输入端的磁栅范围内没有接通的,输出低电平信号为0 V。本设计采用的霍尔传感器输入电压为+12 V。

1.4 CAN通信电路

本设计作为整车分布式控制系统的一个节点,与其他车载控制器通信采用CAN网络通信。本设计采集系统状态量,并通过CAN命令消息上传给整车控制器进行工作,CAN收发器采用PHILIPS公司的PCA82C250收发器。其硬件电路如图3所示。

同时,本设计还预留了一个开关量输出电路,它与CAN总线的功能相同。其电路如图4,其中包括执行机构驱动电路。


2 软件设计

系统软件设计主要包括数据采集存储和CAN通信两大模块。

2.1 CAN通信模块

MC9S08DZ60内部集成了应用CAN 2.0A/B协议的CAN控制器,包含5个先进先出的接收寄存器、3个使用本地优先级的发送寄存器。在ID识别方面提供了64 bit的掩码寄存器,可分用为2个32 bit的满值寄存器,或4个16 bit、8个8 bit的寄存器,这使总线上的消息寻址更加灵活方便。为满足低功耗需求,该模块提供睡眠、掉电和MSCAN使能3种模式[5]。

CAN总线中的数据帧由7个不同的位场组成:帧起始、仲裁场、控制场、数据场、CRC场、应答场、帧结尾。其中数据场的长度可以为0,但模块封装的帧最多不超过8个字节。根据仲裁位的不同可分为标准帧(11 bit标识符)和扩展帧(29 bit标识符)。扩展帧格式包括4个ID寄存器IRD0~IRD3,8个数据寄存器DSR0和1个数据长度寄存器DLR,其中IRD0首位是ID28,IRD3末位是ID0。两者之间还存有信号标识位SRR、IDE和RTR[4]。

2.2 CAN通信协议

CAN总线的通信采用主叫轮询方式。由于CAN的限制,每个网络内子节点不宜超过1 000个,这里取10 bit作为源和目的设备的ID标识。因为ID28只能为1,这里规定ID27~ID18为帧源ID,而ID17~ID8为帧目的ID。因为通信需要传输的数据多于8个字节,这里把DSR0作为传输多帧数据的总帧数寄存器,把DSR1作为传输多帧数据的当前帧数寄存器,DSR2作为帧功能寄存器,DSR3~DSR6传输数据,DSR7为校验寄存器[2]。

2.3 程序设计

Initialize()完成单片机硬件初始化(手柄ECU初始化、应用程序初始化等)。上电初始化后,单片机开始采集I/O口挡位的电压信号,并存储到片上存储单元。与主机的CAN通信将以中断形式完成。图5为系统整体流程。
各挡位位置对应的逻辑电平如表1。

经过试验,CAN总线传送的挡位变化信息如图6所示。

经试验证明,该手柄ECU在实验室条件下能够实现数据采集和网络通信,并达到换挡目标。采用CAN总线技术的手柄ECU不仅可以降低成本、实现数据共享,同时还可以提高AMT的性能。其最高1 Mb/s(40 m以内)的传输速度使得手柄ECU实时性好、可靠性高、运行情况良好。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-11-17 20:33 , 耗时 0.175620 秒, 21 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表