2.2 网段的划分
确定了网络节点和信号需求后,就可以对这些信号进行汇总和分析,评估和预测总线的负载率,规划网络拓扑结构(即是采用单网段的总线结构,还是采用多网段的总线结构)。从成本、技术上分析,单网段的总线结构是最简单、最经济、最容易实现的方案,但是,一旦网络负载率超过了临界值(经验值为30%左右),总线的通信就会受到影响,可能出现总线拥堵、报文不能及时发送而丢失的后果。出现这种情况,需要考虑采用多网段的总线结构,从而降低网络负载率。
对于目标车型,如果将以上所有节点接人同一个网段,初步估算网络负载率将达到38.5%左右,大幅超出了负载临界值,不利于网络可靠运行,也不利于网络的扩展,因此需要采用多网段结构。由于EMS、 TCU、 ESC、EPB、 EPS节点信号交互频繁、集中,故将这些节点划为一个网段,负责动力、制动、安全、转向、车身稳定等系统的通信,称为动力网段;将BCM、 IC、 VIS、 ACU、TPMS、PEPS划为另一个网段,负责车身、娱乐、信息、舒适、防盗等系统的通信,称为车身网段。初步估算,上述动力网段和车身网段的网络负载率分别为27.5%和13.2%,低于负载率的临界值,具备网络扩展的空间。对于混合动力车型需要新增加的BMS、MCU、 VCU节点,三者的网络负载率估算为18.75%,规划一个新网段,称为混合动力网段,负责混合动力系统的通信。
2.3 网关的确定
在确定了总线网络的网段后,对于多网段的网络,还需要确定网关的设计,即网关通过什么方式实现。目前,有两种实现方式,一种是独立式网关,另一种是集成式网关。独立式网关由单独的控制器实现,只负责网络信号或报文的路由,不负责车辆控制功能。独立式网关由单独的控制器负责路由,故通信功能可以做得很强大,方便扩展和升级,但会增加网络设计的成本,较少采用。集成式网关集成在某个CAN节点内,除实现该控制器自身的功能外,还负责网络路由,常见的集成式网关集成在BCM、IC、 VCU等控制器中。集成式网关由某个控制器节点实现,可以节省网络成本,但会占用该节点的资源,对节点的性能要求较高,不方便网关的扩展和升级。
目标车型是量产车型,对成本有严苛的控制,因此本着成本最优、功能够用的原则,目标车型采用集成式网关方案。由于BCM是通用化较高的产品,而仪表盘IC在不同车型平台有不同的配置规格,通用化程度相对低,目标车型的仪表盘本身就需要全新设计,综上考虑,选择仪表盘IC作为网关。经过上述方案设计后,目标车型的网络结构就基本形成,见图1。
目标车型基础上的混合动力车型,有车身、动力、混合动力3个网段,对网关的路由能力要求较高,需要网关有足够的资源及时地处理信号或者报文的路由,应对方案是在仪表的基础上升级网关,或者开发独立式网关,其中独立式网关的网络结构见图2。
2.4 网络信号矩阵的设计
前文已经提到,在设计车辆CAN总线方案前,需要调查网络上传输的信号,调查的内容包括信号名称、信号由哪个节点采集并发送、信号传输周期、信号长度、信号精度、信号偏移量、信号定义、信号接收节点等信息。以车门状态、发动机状态、发动机转速信号为例,调查结果见表3。
可以看出,一个总线信号需要用一个或多个bit来表示,因此需要对总线上传输的信号进行组合,以此提高数据场的利用率。信号组合遵循的原则有:同一个节点采集的信号可以进行组合,不同节点上的信号不能直接组合;相同发送周期的信号可以组合,不同发送周期的信号不可以组合;尽可能提高数据场的利用率,减少报文的数量,同时预留必要的空余位,以便扩展其他信号。
完成信号的组合后,需要给各个报文分配ID。CAN协议支持两种报文格式,一种是11位标识符的标准帧,另一种是29位标识符扩展帧,目前各大乘用车制造厂采用11位标识符的标准帧。11位标识符ID不仅表示了报文的代码,用于报文的识别,还规定了报文的优先级。根据CAN总线的通信机制,多个节点同时发送数据、竞争总线的访问权时,标识符ID数值较小的报文获得总线控制权,其他竞争的节点自动转人监听状态,其余节点也进人监听状态。基于此,与车辆动力系统、制动及安全系统相关的报文优先分配较小的ID。此外,发送周期短、实时性要求高的报文,也应该优先分配较小的ID。发动机、变速器、BCM部分报文发送周期、ID见表4。
目标车型的网络信号经组合封装、分配ID后就形成了报文,所有报文经列表汇总就形成了信号矩阵,见表5。信号矩阵能够直观、清楚地定义信号和报文的信息,是网络应用层开发的依据。
2.5 网关的设计
前面提到,多网段的CAN总线网络必须配置网关,实现报文或信号的路由和转发,目前网关采用报文路由和信号路由两种方式。报文路由指网关从源网段接收到需要路由的报文后,直接将其转发到目标网段,报文的ID、发送周期可根据需要做些更改。报文路由一般在网关的底层程序就能实现,无需上层应用程序的支持,因此可以节省网关的资源。信号路由指网关将接收到的多个报文进行解析,提取需要的信号,并将提取的信号重新封装,分配ID,转发到目标网段。信号路由可以提高报文数据场的利用率,降低目标网段的网络负载,但会占用网关的资源,对网关处理器的要求较高。
举例说明:在目标车型中,车速报文由ESC节点发送,位于动力网段,同网段内的EMS、 TCU、EPS、EPB等节点可直接接收车速报文,而车身网段的IC、 VIS、 PEPS节点也需要车速报文。仪表盘IC作为网关,将车速报文从动力网段路由到车身网段后,车身网段的IC、VIS、PEPS节点就可获得车速报文了。再如发动机的冷却水温度、变速器的档位信号、发动机的状态信号,位于动力网段,由不同的节点通过不同的报文发送,车身网段上的IC、PEPS节点需要这些信号。仪表IC作为网关,如果直接转发这些报文,虽然达到了信号共享的目的,但增加了车身网段的网络负载率。合适的做法是IC解析这些信号,重新封装后发送到车身网段上,这样可以减少车身网段报文的数量,降低网络负载率。