徽州骆驼 · 2 天前

车身座椅调节功能软件组件设计

01 概  述

汽车座椅的调节功能是车身电子舒适域中的重要组成部分,汽车座椅通常提供前后、上下、靠背角度等多向调节功能,允许驾驶员根据个人体型和驾驶习惯调整座椅位置,以获得最佳的支撑和舒适度。现在很多座椅配备记忆功能,可以存储不同驾驶员的座椅设置,方便多人使用时快速切换,也有助于实现座椅迎宾、送宾等功能,增强实用性和仪式感。

本文将设计座椅调节功能的软件组件,首先会对座椅功能子模块进行划分,再给出相关SWC的功能设计以及各个SWC之间的接口交互信息。

02 座椅调节功能配置

座椅调节功能允许用户根据个人偏好和驾驶需求,调整座椅的位置、角度和功能。该功能通常包括以下方面:

  • 座椅高度调节:调整座椅的垂直位置,以适应不同身高用户的驾驶姿势。
  • 座椅前后滑动:调整座椅在车辆纵向上的位置,以优化腿部空间和踏板操作的便利性。
  • 座椅靠背倾斜:调节座椅靠背的角度,以提供更舒适的支撑和驾驶姿势。
  • 头枕高度调节:调整头枕的高度,以确保乘客的头部得到适当支撑,减少颈部疲劳。
  • 腰部支撑调节:提供腰部支撑的调节功能,以改善驾驶时的舒适性和支撑性。
  • 座椅记忆功能:存储和恢复用户的座椅位置设置,方便用户在不同车辆或不同驾驶场景下快速调整座椅。
  • 按摩功能:提供按摩功能,以缓解驾驶疲劳。

座椅调节功能支持多种座椅配置,包括驾驶员座椅、前排乘客座椅、中间座椅和后排座椅。每种座椅配置都有其特定的调节轴和功能。例如,驾驶员座椅可能支持高度调节、前后滑动、靠背倾斜和头枕高度调节,而后排座椅可能仅支持前后滑动和靠背倾斜。

下面给出座椅位置、调节轴的缩写。

image.png

image.png

image.png

03 座椅调节功能设计分解

座椅调节功能的分解如下图所示,相关软件组件通过箭头指示的数据流进行通信。

图片

座椅调节功能软件组件分解

某些端口名称中使用方括号[...] 作为占位符,意味着这些端口可以进行多次实例化。比如说:

图片

DoorLockFrnt端口可以实例化为驾驶员车门和乘客车门对应的端口;

DoorLockRe端口可以实例化为左后车门和右后车门对应的端口

关于这个座椅调节功能的软件组件分解,补充以下几点说明来理解上面的功能分解示意图:

1. 每个座椅的独立信号:

例如,查看接口SeatAdjMan1:

软件组件MmedTelmHmi(HMI)为每个座椅设置了一个端口,如PanAdjManOfDrvrSeat(驾驶员座椅调平管理)、PanAdjManOfPassSeat(乘客座椅调平管理)等。

每个座椅的[Seat]SeatAdjMgr SWC 都有一个PanAdjMan端口。

例如,信号传递路径为:MmedTelmHmi/PanAdjManOfDrvrSeat ->DrvrSeat/SeatAdjMgr/PanAdjMan,MmedTelmHmi/PanAdjManOfPassSeat -> PassSeat/SeatAdjMgr/PanAdjMan,以此类推。

2. 每个座椅的独立移动状态信号:

例如,查看接口SeatMoveSts1:

每个座椅的[Seat]SeatAdjMgr SWC 都有一个SeatMoveSts 端口。

每个座椅的[Seat]MgrOfSeatAdjAutReqByUsr SWC也都有一个SeatMoveSts 端口。

注意:每个座椅的[Seat]SeatAdjMgr 和[Seat]MgrOfSeatAdjAutReqByUsr SWC之间存在一对一的连接关系。

例如,信号传递路径为:DrvrSeat/SeatAdjMgr/SeatMoveSts -> DrvrSeat/MgrOfDrvSeatAdjAutReqByUsr/SeatMoveSts,PassSeat/SeatAdjMgr/SeatMoveSts -> PassSeat/MgrOfDrvSeatAdjAutReqByUsr/SeatMoveSts,以此类推。

3. 每个座椅和轴的独立信号:

例如,查看接口SeatAxisPosnSts1:

以驾驶员座椅(DrvSeat)SWC为例,考虑以下可能的嵌套SWC:

DrvSeat/AxisActrHei/SeatAxisActr(高度轴执行器示例)

DrvSeat/AxisActrSld/SeatAxisActr(滑动轴执行器示例)

DrvSeat/AxisActrIncl/SeatAxisActr(倾斜轴执行器示例)

以及对应的执行器适配器(ActuatorAdapter):

DrvSeat/AxisActrHei/SeatAxisActrAdpr(高度轴执行器适配器示例)

DrvSeat/AxisActrSld/SeatAxisActrAdpr(滑动轴执行器适配器示例)

DrvSeat/AxisActrIncl/SeatAxisActrAdpr(倾斜轴执行器适配器示例)

这些SWC 实例(无论是执行器还是执行器适配器)都有一个名为 SeatAxisPosn 的端口。

类似的情况也适用于其他座椅相关的SWC,例如乘客座椅(PassSeat)SWC:

PassSeat/AxisActrHei/SeatAxisActr(高度轴执行器示例)

PassSeat/AxisActrHei/SeatAxisActrAdpr(高度轴执行器适配器示例)

另一方面,DrvSeat/SeatAdjMgr SWC 为每个轴都有一个输入端口:

SeatAxisPosnOfAxisActrHei(高度轴位置)

SeatAxisPosnOfAxisActrSld(滑动轴位置)

SeatAxisPosnOfAxisActrIncl(倾斜轴位置)

当然,类似的情况也适用于其他座椅相关的SWC,例如 PassSeat/SeatAdjMgr。

综合以上说明,端口之间的对应关系示例如下:

DrvSeat/AxisActrHei/SeatAxisActr/SeatAxisPosn -> DrvSeat/AxisActrAdprHei/SeatAxisActrAdpr/SeatAxisPosn -> DrvSeat/SeatAdjMgr/SeatAxisPosnOfAxisActrHei

这一对应关系展示了从执行器到执行器适配器,再到座椅调节管理器的信号传递路径,确保了每个座椅和轴的独立信号能够准确、高效地传输和处理。

3.1 座椅调节的车身传感器(人机交互界面,HMI)

人机交互界面(HMI)包含了所有用于检测驾驶员座椅调节需求的传感器组件。

图片

MassgAdjReq1 接口允许用户从按摩控制面板(例如开关组或触摸屏菜单)中选择一个或多个按摩程序,并将选择信息通知给座椅调节管理器SWC([Seat]/SeatAdjustManager)。除了已定义的座椅轴外,可能还存在特定的“按摩执行器”,这些执行器在此并未命名。

MassgAdjSts1 接口将当前激活的按摩功能状态反馈给HMI,以便用户了解按摩功能的当前操作模式。

SeatAdjMan1 接口使用户能够通过手动移动控制面板(例如开关组或触摸屏菜单)激活座椅执行器,并将操作信息通知给座椅调节管理器SWC。此外,这一信息还会传递给用户座椅调节自动请求管理器SWC([Seat]/ManagerOfSeatAdjustAutoRequestByUser),以便手动操作能够覆盖记忆位置调整操作。

SeatAdjAut1 接口表示用户存储和调用座椅位置的需求。

EntryReq1 接口检测用户对进入后排座椅的需求。这可能导致前排座椅向前移动。这一功能也可能被称为自动滑动功能。类似地,还可以实现轻松进入前排座椅的请求。

3.2车门锁、无钥匙进入和遥控钥匙

中央门锁组件提供了关于车辆访问操作(车门和锁)的信息,这些信息可能表明需要为座椅的控制做准备。

图片

中央门锁系统(CentralLocking)表示来自中央锁定系统的用户请求,这同样可能触发用户座椅调节自动请求管理器SWC执行存储或调用操作。

如果接口LockgCenSts1内的触发源(即用户输入以执行某项操作的信号)表明来自遥控钥匙或无钥匙进入系统的用户请求,这可能会触发[座椅]/用户座椅调节自动请求管理器SWC执行存储或调用操作。比如车辆解锁触发座椅迎宾功能。

DoorSts1接口指示与座椅关联的车门是已打开还是已关闭,这一接口可用于触发座椅移动或防止移动。

3.3跨域接口(Inter-Domain Interfaces)

跨域接口封装了与其他SWC交互的接口,这些组件用于交换跨域信息,如车速、车辆纵向和横向加速度、操作模式或能源管理状态。跨域状态信息通过跨域接口进行交换。

图片

3.4 用户座椅调节自动请求管理器(AutoAdjustUserRequestManager)

对于每个需要座椅调节的座椅,都关联有一个用户座椅调节自动请求管理器SWC([Seat]/ManagerOfSeatAdjustAutoRequestByUser)。

图片

用户座椅调节自动请求管理器会综合并优先处理来自上述所有来源的信息,然后请求座椅移动并存储记忆位置。

3.5 座椅轴执行器适配器(SeatAxisActuatorAdapter)

对于每个需要座椅调节控制的座椅的每个轴,都关联有一个座椅轴执行器适配器SWC([Seat]/[SeatAxis]/SeatAxisActuatorAdapter)。

图片

座椅轴执行器适配器了解座椅单个轴的电气和机械限制。它将来自座椅调节管理器SWC([Seat]SeatAdjustManager)的请求转换为针对单个轴的执行器的命令。它还会比较座椅轴的当前位置与期望位置,以此反馈座椅调节控制是否成功。

3.6 座椅轴执行器(SeatAxisActuator)

对于每个需要座椅调节控制的座椅的每个轴,都关联有一个座椅轴执行器SWC([Seat]/[SeatAxis]/SeatAxisActuator)。

图片

座椅轴执行器是机械执行器的软件表示。它能够在特定方向上移动座椅的一个轴。同时,它还能检测轴的位置和速度。

3.7 座椅轴记忆适配器(SeatAxisMemoryAdapter)

对于每个需要座椅调节控制的座椅的每个轴,都关联有一个座椅轴记忆适配器SWC([Seat]/[SeatAxis]/SeatAxisMemoryAdapter)。

图片

座椅轴记忆适配器负责实际的记忆位置存储和调用。根据个性化控制策略,这可能是本地存储或全局存储。

3.8 座椅调节管理器(SeatAdjustManager)

图片

最后,座椅调节管理器SWC([Seat]/SeatAdjustManager)是座椅调节实现的核心。每个需要座椅调节的座椅都关联有一个座椅调节管理器。该组件负责协调所有不同的请求和触发因素,为座椅制定特定的控制策略。同时,它还确保座椅调节过程安全进行,并符合功能特性的优先级和行为规范。

04 小  结

本座椅调节功能的软件组件设计思想是基于AUTOSAR软件架构的设计思想。提供了座椅调节相关软件组件,即SWCs的分解,并列出了与座椅调节相关的标准化接口列表。

此分解的粒度仅限于传感器组件、适配器组件、核心功能组件和执行器的SWC组件。该设计并非仅关注事件驱动的实现方式,其标准化设计方案同样适用于定期发送信息的“周期循环实现方式”,因此,某些接口会特意包含一个“空闲”值。

本文中对SWC的划分并不是原子级别的,也不是最精细的,这是因为,更细粒度的分解并不会使标准化开发工作变得更容易,相反会带来更多的SWC、内部接口管理等工作,本文中当前的分解程度比较容易让开发者对标准化接口达成共识。

END

作者:不可说
来源:汽车电子与软件

推荐阅读:

更多汽车电子干货请关注汽车电子与软件专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。
推荐阅读
关注数
5797
内容数
535
汽车电子与软件行业的相关技术报道及解读。
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息