E88新能源汽车网关软件设计方案_第1页
E88新能源汽车网关软件设计方案_第2页
E88新能源汽车网关软件设计方案_第3页
E88新能源汽车网关软件设计方案_第4页
E88新能源汽车网关软件设计方案_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、密级: E88 新能源汽车网关软件设计方案 长春启阳信息技术股份有限公司长春启阳信息技术股份有限公司目目 录录1引言(引言(INTRODUCTION).31.1网关软件设计.51.2网关路由功能设计 .51.2.1 接收中断处理.51.2.2 接收处理任务.71.3报文周期发送报警处理 .71.3.1 采用操作系统提供的报警.71.3.2 发送定时器更新模块.91.3.3 路由过程中发送定时器处理模块.91.4报文发送任务.101.5报文处理.102网关直接网络管理功能设计及实现网关直接网络管理功能设计及实现.122.1OSEK/VDX 直接网络管理介绍.122.1.1 直接网络管理概念.12

2、2.1.2 直接网络管理的内部状态.122.1.3 直接网络管理的通信消息.122.2.1 任务总体设计.142.2.2 定时器总体设计.162.2.3 NMPDU 到 CAN 报文的映射.173网关间接网络管理功能设计及实现网关间接网络管理功能设计及实现.183.1OSEK/VDX 间接网络管理介绍.183.2间接网络管理功能设计 .193.2.1 报文接收状态配置表.193.2.2 接收定时器.193.2.3 报文接收过滤及处理模块.213.2.4 接收定时器更新模块.223.2.5 接收超时处理模块.231引言(引言(Introduction)针对电动汽车车身网络平台而言,作为网络交通枢

3、纽的中央网关控制器需要将接收到的报文存入数据缓冲区,同时还需要将转发的数据重新拆分打包,进行协议转换出来,因此在网关控制器的选择上要求其具有较高的内存容量和较快的处理速度。随着全球汽车电子行业的迅猛发展,从 C51 单片机到 ARM9 微处理器,车内控制器的性能一直不断提高。目前 32 位 RISC 内核微处理器不但占据了高端控制器市场,同时也向低端控制器领域发展,凭借其低功耗、高性价比等提点,在汽车控制网络中得到广泛应用是可以预见的,因此本方案选取了 NXP 公司汽车专用的V850ES/FK3 的 32 位 RISC 内核微处理器,其丰富的外设接口和强大性能有利于后续网络的扩展功能。本文档介

4、绍网关的基本工作原理和系统结构,提出基于 CAN/LIN 总线的车身网关功能定义和整体设计方案,针对电动汽车特点制定了基于 SAEJ1939 的 CAN 应用层协议。CAN/LIN 网关在硬件架构上采用了 NEC 基于RISC 内核内核的 32 位控制器 V850ES/FK3 和容错低速 CAN 接收器(TJA1054)。CAN 节点采用 V850ES/FK3 系列单片机,完成了电动机控制节点和状态显示节点的电路板制作和程序设计。 最后将各节点与网关组合起来,借助硬件节点与仿真软件相结合的方法对整个通信网络的关键性能进行测试分析,在调试过程中对设计中存在的不足进行优化和改善。实验结果表明 CA

5、N、LIN 节点与网关软硬件工作稳定,实现了网关的报文转发和模拟电动机控制、车身控制台和门锁控制节点的功能,对车身控制中的其他部分有着借鉴意义,为整车控制网络平台和其他功能节点提供了参考模型1.1网关软件设计网关软件设计网关软件整体结构包括三部分,分别是操作系统,底层驱动程序和应用软件,其中应用软件部分包括路由功能模块和网络管理模块。网关软件整体结构如下图 1 所示。操操作作系系统统底底层层驱驱动动程程序序网络管理功能路由功能应应用用软软件件任务管理中断报警资源管理事件管理CAN驱动I/O驱动看门狗驱动定时器驱动图 1 网关软件整体结构操作系统采用符合 OSEK/VDX 标准的 osCAN 实

6、现,由于 osCAN 硬件平台基于 MPC555,因此该部分重点是针对网关所采用的控制器进行操作系统的移植。OSEK 操作系统在 NEC32 位硬件平台的移植工作已经完成,经过验证,目前操作系统在 32 位 NEC 单片机中可以正常运行。单片机底层驱动程序的设计与实现中,重点针对网关的实际应用,对 CAN 模块、定时器模块以及中断模块等底层驱动程序进行了设计及实现。CAN 底层驱动程序包括 CAN 模块寄存器初始化、CAN 报文发送、CAN 报文接收、CAN 中断设置以及总线睡眠与唤醒设置等。 应用软件是实现网关信息交互和网络管理功能的关键,本文档主要介绍网关应用软件的设计。1.2网关路由功能

7、设计网关路由功能设计1.2.1接收中断处理接收中断处理为了减少中断处理时间,在接收中断中只进行接收滤波工作,包括接收报文帧类型、报文 ID 以及报文数据长度滤波,然后将需要路由的报文存入接收队列缓冲区中,同时激活接收处理任务。接收队列的结构设计如下:#define RX_FRM_QUEUE_LEN (GATEWAY_RX_FRM_CNT(TTyp)|J K,J0;N-1被监控节点的故障必须被逻辑环内所有其他节点识别,当 NMReset 后的第一个 ring 消息被发送时,所有节点必须再次进入 NMNormal。这就得出对网络系统内部报警精度的要求(不考虑消息发送时间和软件的实时性)。(TMax

8、 + TTyp)|K(TTyp)|J K,J0;N-1对于每个节点,每个报警都应具有一个容许范围(|min和|max)。在网络内部所以节点必须满足如下要求:(TMax|min + TTyp|min)|K(TTyp|max)|J K,J0;N-1(TMax|min)|K(TTyp|max)|J K,J0;N-1对于报警 TError没有特别需要考虑的要求。报警 TError的典型值是 TTyp的 10 倍。范围计算不重要。在具有设定位 sleep.ack 的 ring 消息成功发送后,在发送队列中仍然可以有用户消息。处于状态 limp-home 的节点正以延时 TError发送 limp-hom

9、e 消息。在此周期中几个 limp-home 消息可以被接收,因此状态 NMBusSleep 的转换可以正常进行。时间 TWaitBusSleep的定义遵照定时器 TError。在网络范围内要满足TWaitBusSleep|minTError|max。TWaitBusSleep典型值为 TError的 1.5 倍。2.2.3NMPDU 到到 CAN 报文的映射报文的映射网络管理协议数据单元(NMDPU)通常应该包括用于区别网络管理消息和其它应用消息的 IDBase、本地节点的标识号 sourceID、目的节点的标识号 destinationID、标识网络管理消息类型的操作码 opCode、物理

10、网络的标识号 NetID 和网络状态数据NetworkStatus。将这些信息映射成 CAN 数据帧,如表 4-4 所示。表 4-4NMPDU 到 CAN 的映射CAN 标识符CAN 数据域(位)IDBaseSourceIDDestinationIDopCodeNetIDNetworkStatusData3(21)888816网络管理报文过滤发送节点的标识号目的节点的标识号网络管理消息类型网络号网络配置数据操作码格式为 xxxx0000,其中从最右面开始第一位和第二位代表消息类型是 Ring 消息或 Alive 消息或 Limp Home 消息,第三位代表是否要求总线睡眠,第四位代表是否确定总

11、线睡眠,具体如下图。操作码(xxxx0000)含义xxxx0100睡眠指示位 sleep.indxxxx1000睡眠确认位 sleep.ackxxxx0001Ring 消息xxxx0010Alive 消息xxxx0011LimpHome 消息网络状态数据 NetworkStatus 长度为 16 位,采用位编码方式时最多可以标识 16 种网络状态。目前网络状态数据定义如下表所示。表 4-5 网络状态的译码位描述置 0 的解释置 1 的解释0当前网络配置稳定不稳定稳定1网络物理接口的操作模式没有错误错误,总线阻塞2NM 模式 active/passiveNMPassiveNMActive3NM

12、模式 on/offNMOnNMOff4Limp Home 模式不是 NMLimpHome是 NMLimpHome5Bus Sleep 模式不是 NMBusSleep是 NMBusSleep6等待总线睡眠不等待 Twbs 到时等待 Twbs 到时7Ring 数据有效允许 Ring 数据访问不允许 Ring 数据访问8GoToMode 调用Awake 调用BusSleep 调用1) 在逻辑环中最后的 NM 消息循环中配置保持不变;2) NM 消息成功接收和发送3) 比如 CAN busoff3网关间接网络管理功能设计及实现网关间接网络管理功能设计及实现3.1OSEK/VDX 间接网络管理介绍间接网

13、络管理介绍间接网络管理通过监控周期性应用消息来确定连接至网络中的节点状态,也就是说,一个节点发出的特定周期信息被一个或多个节点接收,接收节点通过监督这个周期性信息完成间接网络管理。间接网络管理常用于中央控制型网络,由功能强大的独立网关作为网络管理的主 ECU,其他节点 ECU 被网关节点监控,每个节点 ECU 必须要发送特定的周期性信息来实现被监督。一个网络节点存在两种状态:接收状态或者发送状态。对于给定节点 i,发送方状态用于检查节点 i 是否确实能够发送报文。包括两种情况:节点不是沉默的(特定的应用消息可以被发送);节点沉默(特定的应用消息没有在一个超时期间被发送,扩展时为节点静态沉默,指

14、特定的应用消息没有在数个超时期间被发送)。对于接收方状态,给定的节点i 监控网络中的 k 个节点,节点 i 仅仅监控它接收周期性应用消息的源节点。因此节点 i 会保持 k 个接收方状态子集,k 是由节点 i 监控的源节点数目。接收方状态用来检查节点 i 确实从它的源节点中接收信息。包括两种情况:节点在线(特定的应用消息被接收);节点离线(特定的应用消息没有在超时期间被接收,扩展时为节点静态的离线,指特定的应用消息没有在数个超时期间被接收)。3.2间接网络管理功能设计间接网络管理功能设计3.2.1报文接收状态配置表报文接收状态配置表报文接收状态配置表包括短超时配置表和长超时配置表。配置表结构设计

15、如下图所示。FrmShortToutTblFRM_TOUT_TBL_SIZE(16 位数组)行数组元素16 位整型数01514131211109876543210131302928272625242322212019181716第 0 行的第 0 位表示接收报文标识号为 0 的报文超时状态,第 1 位表示接收报文标识号为 1 的报文超时状态,依次类推,长度为 FRM_TOUT_TBL_SIZE 的配置表可以表示(FRM_TOUT_TBL_SIZE*16)个报文的超时状态。设报文标识号为 frame_no,则将该报文设置为超时即对应位置“1”的算法为:FrmShortToutTblframe_n

16、o4 |= (1 4 &= (1 RxTimerPrescaler) = counter) 定时器更新处理;/*系统定时计数值处理*/counter+;/* if the lowest nibble is 10 clear it and increment nibble 1 */if (counter&0 x0f)=10) counter&=0 xf0; counter+=0 x10;接收定时器定义在网关路由表的接收报文描述中,这样可以利用网关路由表生成工具自动生成接收报文描述。更改的接收报文描述结构体定义如下:/* member of the RxTable arra

17、y */typedef struct unsigned short ID:11; /* ID of the frame */unsigned short node:5; /*node number*/unsigned short RxToutReload:4; /* the RxTimeoutHandler is only called after specified number of timeouts; 0 means never */unsigned short RxToutCntr:4; /* counter of timeouts */unsigned short SignalCou

18、nt:8; /* number of signals */tSignalDescr * pSignalDescr; /* pointer to Signal descriptors */tTimer RxTimer; /* Rx timeout */unsigned short RxTimerPrescaler:5; /* prescaller of the Rx Timer */unsigned short DataSize:4; /* expected data size for this frame */unsigned short byte_copy:1; /* signals spe

19、cify numbers and positions of bytes rather than bits - this is to speed up processiong of 1:1 frames */unsigned short IndirectNM:1; /*indicate if the frame is used for indirect nm*/ tRxFrmDescr;/* descriptor of timer */typedef struct unsigned char load_value;unsigned char counter; tTimer;3.2.3报文接收过滤及处理模块报文接收过滤及处理模块此模块负责对

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论