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

下载本文档

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

文档简介

密级:E88新能源汽车网关软件设计方案长长春启阳信息技春启阳信息技术术股份有限公司股份有限公司E88网关项目软件设计文档2目目录录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.1OSEKVDX直接网络管理介绍.122.1.1直接网络管理概念.122.1.2直接网络管理的内部状态.122.1.3直接网络管理的通信消息.122.2.1任务总体设计.142.2.2定时器总体设计.162.2.3NMPDU到CAN报文的映射.173网关间接网络管理功能设计及实现网关间接网络管理功能设计及实现.183.1OSEKVDX间接网络管理介绍.183.2间接网络管理功能设计.193.2.1报文接收状态配置表.193.2.2接收定时器.193.2.3报文接收过滤及处理模块.213.2.4接收定时器更新模块.223.2.5接收超时处理模块.23E88网关项目软件设计文档31引言(引言(Introduction)针对电动汽车车身网络平台而言,作为网络交通枢纽的中央网关控制器需要将接收到的报文存入数据缓冲区,同时还需要将转发的数据重新拆分打包,进行协议转换出来,因此在网关控制器的选择上要求其具有较高的内存容量和较快的处理速度。随着全球汽车电子行业的迅猛发展,从C51单片机到ARM9微处理器,车内控制器的性能一直不断提高。目前32位RISC内核微处理器不但占据了高端控制器市场,同时也向低端控制器领域发展,凭借其低功耗、高性价比等提点,在汽车控制网络中得到广泛应用是可以预见的,因此本方案选取了NXP公司汽车专用的V850ESFK3的32位RISC内核微处理器,其丰富的外设接口和强大性能有利于后续网络的扩展功能。本文档介绍网关的基本工作原理和系统结构提出基于CANLIN总线的车身网关功能定义和整体设计方案针对电动汽车特点制定了基于SAEJ1939的CAN应用层协议。CANLIN网关在硬件架构上采用了NEC基于RISC内核内核的32位控制器V850ESFK3和容错低速CAN接收器(TJA1054)。CAN节点采用V850ESFK3系列单片机完成了电动机控制节点和状态显示节点的电路板制作和程序设计。最后将各节点与网关组合起来借助硬件节点与仿真软件相结合的方法对整个通信网络的关键性能进行测试分析在调试过程中对设计中存在的不足进行优化和改善。实验结果表明CAN、LIN节点与网关软硬件工作稳定实现了网关的报文转发和模拟电动机控制、车身控制台和门锁控制节点的功能对车身控制中的其他部分有着借鉴意义为整车控制网络平台和其他功能节点提供了参考模型E88网关项目软件设计文档41.1网关软件设计网关软件设计网关软件整体结构包括三部分,分别是操作系统,底层驱动程序和应用软件,其中应用软件部分包括路由功能模块和网络管理模块。网关软件整体结构如下图1所示。操操作作系系统统底底层层驱驱动动程程序序网络管理功能路由功能应应用用软软件件任务管理中断报警资源管理事件管理CAN驱动IO驱动看门狗驱动定时器驱动图1网关软件整体结构操作系统采用符合OSEKVDX标准的osCAN实现,由于osCAN硬件平台基于MPC555,因此该部分重点是针对网关所采用的控制器进行操作系统的移植。OSEK操作系统在NEC32位硬件平台的移植工作已经完成,经过验证,目前操作系统在32位NEC单片机中可以正常运行。单片机底层驱动程序的设计与实现中,重点针对网关的实际应用,对CAN模块、定时器模块以及中断模块等底层驱动程序进行了设计及实现。CAN底层驱动程序包括CAN模块寄存器初始化、CAN报文发送、CAN报文接收、CAN中断设置以及总线睡眠与唤醒设置等。应用软件是实现网关信息交互和网络管理功能的关键,本文档主要介绍网关应用软件的设计。1.2网关路由功能设计网关路由功能设计1.2.1接收中断处理接收中断处理为了减少中断处理时间,在接收中断中只进行接收滤波工作,包括接收报文帧类型、报文ID以及报文数据长度滤波,然后将需要路由的报文存入接收队列缓冲区中,同时激活接收处理任务。接收队列的结构设计如下:#defineRX_FRM_QUEUE_LEN(GATEWAY_RX_FRM_CNT(TTyp)|JKJ0N-1对于每个节点,每个报警都应具有一个容许范围(|min和|max)。在网络内部所以节点必须满足如下要求:(TMax|min+TTyp|min)|K(TTyp|max)|JKJ0N-1E88网关项目软件设计文档16(TMax|min)|K(TTyp|max)|JKJ0N-1对于报警TError没有特别需要考虑的要求。报警TError的典型值是TTyp的10倍。范围计算不重要。在具有设定位sleep.ack的ring消息成功发送后,在发送队列中仍然可以有用户消息。处于状态limp-home的节点正以延时TError发送limp-home消息。在此周期中几个limp-home消息可以被接收,因此状态NMBusSleep的转换可以正常进行。时间TWaitBusSleep的定义遵照定时器TError。在网络范围内要满足TWaitBusSleep|minTError|max。TWaitBusSleep典型值为TError的1.5倍。2.2.3NMPDU到到CAN报文的映射报文的映射网络管理协议数据单元(NMDPU)通常应该包括用于区别网络管理消息和其它应用消息的IDBase、本地节点的标识号sourceID、目的节点的标识号destinationID、标识网络管理消息类型的操作码opCode、物理网络的标识号NetID和网络状态数据NetworkStatus。将这些信息映射成CAN数据帧,如表4-4所示。表4-4NMPDU到CAN的映射CAN标识符CAN数据域(位)IDBaseSourceIDDestinationIDopCodeNetIDNetworkStatusData3(21)888816网络管理报文过滤发送节点的标识号目的节点的标识号网络管理消息类型网络号网络配置数据操作码格式为xxxx0000,其中从最右面开始第一位和第二位代表消息类型是Ring消息或Alive消息或LimpHome消息,第三位代表是否要求总线睡眠,第四位代表是否确定总线睡眠,具体如下图。操作码(xxxx0000)含义xxxx0100睡眠指示位sleep.indxxxx1000睡眠确认位sleep.ackxxxx0001Ring消息xxxx0010Alive消息E88网关项目软件设计文档17xxxx0011LimpHome消息网络状态数据NetworkStatus长度为16位,采用位编码方式时最多可以标识16种网络状态。目前网络状态数据定义如下表所示。表4-5网络状态的译码位描述置0的解释置1的解释0当前网络配置稳定不稳定稳定1网络物理接口的操作模式没有错误错误,总线阻塞2NM模式activepassiveNMPassiveNMActive3NM模式onoffNMOnNMOff4LimpHome模式不是NMLimpHome是NMLimpHome5BusSleep模式不是NMBusSleep是NMBusSleep6等待总线睡眠不等待Twbs到时等待Twbs到时7Ring数据有效允许Ring数据访问不允许Ring数据访问8GoToMode调用Awake调用BusSleep调用1)在逻辑环中最后的NM消息循环中配置保持不变;2)NM消息成功接收和发送3)比如CANbusoff3网关间接网络管理功能设计及实现网关间接网络管理功能设计及实现3.1OSEKVDX间接网络管理介绍间接网络管理介绍间接网络管理通过监控周期性应用消息来确定连接至网络中的节点状态,也就是说,一个节点发出的特定周期信息被一个或多个节点接收,接收节点通过监督这个周期性信息完成间接网络管理。间接网络管理常用于中央控制型网络,由功能强大的独立网关作为网络管理的主ECU,其他节点ECU被网关节点监控,每个节点ECU必须要发送特定的周期性信息来实现被监督。一个网络节点存在两种状态:接收状态或者发送状态。对于给定节点i,发送方状态用E88网关项目软件设计文档18于检查节点i是否确实能够发送报文。包括两种情况:节点不是沉默的(特定的应用消息可以被发送);节点沉默(特定的应用消息没有在一个超时期间被发送,扩展时为节点静态沉默,指特定的应用消息没有在数个超时期间被发送)。对于接收方状态,给定的节点i监控网络中的k个节点,节点i仅仅监控它接收周期性应用消息的源节点。因此节点i会保持k个接收方状态子集,k是由节点i监控的源节点数目。接收方状态用来检查节点i确实从它的源节点中接收信息。包括两种情况:节点在线(特定的应用消息被接收);节点离线(特定的应用消息没有在超时期间被接收,扩展时为节点静态的离线,指特定的应用消息没有在数个超时期间被接收)。3.2间接网络管理功能设计间接网络管理功能设计3.2.1报文接收状态配置表报文接收状态配置表报文接收状态配置表包括短超时配置表和长超时配置表。配置表结构设计如下图所示。FrmShortToutTblFRM_TOUT_TBL_SIZE(16位数组)行数组元素16位整型数01514131211109876543210131302928272625242322212019181716第0行的第0位表示接收报文标识号为0的报文超时状态,第1位表示接收报文标识号为1的报文超时状态,依次类推,长度为FRM_TOUT_TBL_SIZE的配置表可以表示(FRM_TOUT_TBL_SIZE16)个报文的超时状态。设报文标识号为frame_no,则将该报文设置为超时即对应位置“1”的算法为:FrmShortToutTblframe_no4|=(14&=(1RxTimerPrescaler)=counter)定时器更新处理;系统定时计数值处理counter+E88网关项目软件设计文档20ifthelowestnibbleis10clearitandincrementnibble1if(counter&0 x0f)=10)counter&=0 xf0counter+=0 x10接收定时器定义在网关路由表的接收报文描述中,这样可以利用网关路由表生成工具自动生成接收报文描述。更改的接收报文描述结构体定义如下:memberoftheRxTablearraytypedefstructunsignedshortID:11IDoftheframeunsignedshortnode:5nodenumberunsignedshortRxToutReload:4theRxTimeoutHandlerisonlycalledafterspecifiednumberoftimeouts0meansneverunsignedshortRxToutCntr:4counteroftimeoutsunsignedshortSignalCount:8numberofsignalstSignalDescrpSignalDescrpointertoSignaldescriptorstTimerRxTimerRxtimeoutunsignedshortRxTimerPrescaler:5prescalleroftheRxTimerunsignedshortDataSize:4expecteddatasizeforthisframeunsignedshortbyte_copy:1signalsspecifynumbersandpositionsofbytesratherthanbits-thisistospeedupprocessiongof1:1framesunsignedshortIndirectNM:1indicateiftheframeisusedforindirectnmtRxFrmDescrdescriptoroftimertypedefstructunsignedcharload_valueunsignedcharcountertTimerE88网关项目软件设计文档213.2.3报文接收过滤及处理模块报文接收过滤及处理模块此模块负责对接收的CAN报文进行过滤,检查其是否用于间接网络管理,如果是则更新接收定时器计数值和接收超时计数值,同时更新报文接收超时配置表。程序流程图10如下:开始间接网络管理报文?YN接收定时器计数值=定时器预载值接收超时计数值=超时预载值更新短超时配置表为报文接收正常返回更新长超时配置表为报文接收正常图10报文接收过滤及处理流程图3.2.4接收定时器更新模块接收定时器更新模块此模块负责在系统定时中断中更新接收定时器计数值和接收超时计数值,判断定时器是否溢出并调用定时器超时处理函数。接收定时器更新流程如下图11所示。E88网关项目软件设计文档22定时器计数值减1分频时间到?开始接收定时器在运行?接收定时器溢出?重新加载定时器短超时处理接收超时计数在运行?超时计数值减1长超时时间到?重新加载超时计数长超时处理结束YYYYY

温馨提示

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

评论

0/150

提交评论