基于SOA的转向灯设计介绍_第1页
基于SOA的转向灯设计介绍_第2页
基于SOA的转向灯设计介绍_第3页
基于SOA的转向灯设计介绍_第4页
基于SOA的转向灯设计介绍_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

转向灯属于车上使用频次较高的功能,运用最多的场景是转弯或变道。此外还有很多场景需要用到转向灯的功能,比如双闪、解锁、闭锁、寻车、防盗报警、自动变道、热失控……等等,在这里就不做一一举例。随着以后功能的丰富,使用转向灯的场景应该还会增加。所以针对这种很多场景都会使用的功能,比较适合运用SOA的方法来进行设计。具体的服务架构方案如下所示:一、转向灯服务接口设计要设计一个服务,首先要思考这个服务本身具备什么样的能力,其次要考虑需要给用户提供什么样的服务。当前转向灯普遍具备以下两个能力:(1)亮和灭的能力。(2)流水和非流水能力。从这两个转向灯的基础能力中可以提取出什么样的服务提供给消费方,以实现不同的功能需求,这需要从具体的场景出发去进行通盘的考虑。比如当用户打转向时,需要某一侧转向灯以一定的频率闪烁;用户按下危险报警灯开关,需要左右两侧的转向灯以一定的频率同时闪烁;用户锁车时,转向灯闪烁一次,持续时间1s;用户解锁车辆时,转向灯以一定的频率闪烁3次;车辆防盗报警触发时,转向灯以一定频率持续闪烁5分钟……服务的设计应能满足当前的功能需求,并尽可能为潜在的需求提前设计服务接口。根据上面的需求,转向灯控制的服务接口需要具备以下能力:(1)转向灯开和关。(2)转向灯开启方位选择(左侧、右侧和左右两侧)。(3)转向灯频率可调。(4)转向可设置闪烁次数。(5)转向灯可设置闪烁时间。这5项是比较基础的能力,因为很多场景需要用到转向灯,比如哨兵模式触发报警需要亮转向灯,智能驾驶时主动变道需要亮转向灯。为了满足不同的场景对转向灯的需求,有些场景优先级是比较高的,所以需要定义一个接口,可进行转向灯优先级的设置。定义好服务的接口内容后,需要对每一个接口进行详细描述,明确告知用户应该怎么使用该接口。

服务接口使用手册:TurnLightPosition:用户可以根据需求,控制单侧或者双侧的转向灯,此外还提供了单个转向灯的控制。TurnLightOnOff:转向灯的开启或者关闭。TurnLightDutyCycle:转向灯的占空比可以进行设置,默认为50%。TurnLightCycle:转向灯的亮/灭周期可进行设置,默认为500ms。TurnLightTimes:可单独设置转向灯工作的时间,当设置该参数时,转向灯执行完设置的时间后会自行熄灭。TurnLightNumber:可单独设置转向灯工作的次数,当设置该参数时,转向灯执行完设置的周期后会自行熄灭。TurnLightPriority:转向灯的优先级可进行设定,数字越小代表的优先级越大,比如当优先级1的转向灯在工作时,不响应其他优先级的转向灯控制请求。另外同一个优先级的转向灯控制请求,采用后来者优先的处理方式,意思是同一优先级的转向灯请求可相互打断,服务会响应后一个转向灯请求,并直接丢弃前一个转向灯的请求。优先级的定义如下:Default:当用户选择Default时,等同于priority4的优先级。Priority1:安全类。Priority2:报警类。Priority3:行车功能类。Priority4:场景功能类。Priority5:辅助类。有了以上这些配菜之后,厨师可以根据需求进行创作。各个产品工程师,可以根据自身的业务需求对转向灯进行控制,每一个业务板块之间相互独立,互不影响。这是各类的APP擅长的事情,这些APP不单单指的是独立的APP,也代表各个控制器内的独立的软件模块。二、转向灯场景设计介绍完服务的接口设计,针对具体的应用场景,进行详细分析。比如开车时,用户左转需要点亮转向灯,那么该软件模块只要识别到左转向灯开关触发,然后去调用转向灯的服务接口即可,具体设计如下:车辆电源为ON挡,且左转灯开关为激活状态时,调用该转向灯服务接口,具体定义为:TurnLightPosition=0x1TurnLightOnOff=0x2TurnLightDutyCycle=0x0TurnLightTimes=0x0TurnLightNumber=0x0TurnLightPriority=0x3当电源不为ON挡或者左转向灯开关为非激活状态时,调用该服务接口,具体定义为:TurnLightPosition=0x1TurnLightOnOff=0x1TurnLightDutyCycle=0x0

TurnLightTimes=0x0TurnLightNumber=0x0TurnLightPriority=0x3还有我们比较常见的场景在地下车库找不到爱车时,用户使用钥匙或者手机寻找车辆,寻车功能激活时,一般是转向灯会激活30s或者1min。此时只要检测到钥匙的寻车按键触发或者用户通过手机APP触发了寻车功能,对应的软件APP就可直接去调用转向灯的接口服务,具体设计如下:当车辆电源模式为OFF挡,用户按下寻车按键或者激活手机APP的寻车功能时,对应的软件模块调用该转向灯服务接口,具体定义为:TurnLightPosition=0x3TurnLightOnOff=0x2TurnLightDutyCycle=0x0TurnLightTimes=0x1FTurnLightNumber=0x0TurnLightPriority=0x4只要调用该接口,那么车辆两侧的转向灯亮了30s后会自动停止。如果触发了寻车功能后,用户想暂停寻车功能,那么调用以下的服务定义就可:TurnLightPosition=0x3TurnLightOnOff=0x1TurnLightDutyCycle=0x0TurnLightTimes=0x0TurnLightNumber=0x0TurnLightPriority=0x4以上是对服务封装以及应用实例的具体描述,根本上和硬件进行了解耦,软件模块不用关心具体的硬件方案,可根据自身需求,对转向灯进行控制。

三、转向灯驱动设计分析完上层方案,需要设计服务以下的实现方案,这样才算是一个完整的设计。目前主流的整车架构方案是中央域控,外加几个域控。中央域控和域控之间用以太网相连,这两者之间走的服务还是信号的方式,每家主机厂的设计不一样,我本次设计基于信号的链路。后续有需要的话,可进行服务的分析设计。域控以下控制器原则上仅仅做一个执行器的功能,控制的信号最终是经过中央域控进行下发,拿转向灯为例,左侧转向灯分别由左前大灯控制器和左后尾灯控制器进行控制,这两个控制器仅仅需要接收中央域控的控制信号,控制转向灯点亮或者熄灭就可以。因此控制转向灯仅仅需要一个信号即可,信号可定义如下所示:TurnLightControl_Left:0x0=Norequest,0x1=OFF,0x2=ONTurnLightControl_Right:0x0=Norequest,0x1=OFF,0x2=ON结合前面的两个使用场景,服务被调用时,可以把对应的转向灯控制信号进行赋值。

当左前大灯控制器和左后尾灯控制器收到相应的CAN

温馨提示

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

评论

0/150

提交评论