本设计中,手柄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]。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)