FOTA(Firmware Over-The-Air) 固件在线升级,包括车辆底层算法至顶层应用的综合升级,用户通过刷新程序进行 FOTA 升级,影响的是动力系统、ADAS 系统等,而SOTA(Software Over the Air)软件升级,一般是指离用户更近的应用程序、人机交互界面等功能的升级。

1.汽车OTA流程

车辆从主机厂服务器更新程序到指定ECU的过程中的主要部件。首先通过蜂窝网络建立车辆与服务器之间的安全连接,确保全新的,待更新的固件安全地传输到车辆的TelematicsUnit,然后再传输给OTAManager。OTAManager管理车辆所有ECU的更新过程。它控制着将固件更新分发到ECU,并告知ECU何时执行更新-在多个ECUs需要同时更新的情况下尤为重要-例如推送一项新功能,而该新功能涉及多个ECUs。更新过程完成后,OTAManager将向服务器发送确认。所以OTA主要分为下载安装 两个过程。

2.FOTA车端的自动化测试环境的搭建

无论实车测试亦或仿真测试,“下载”这个过程都是一样的,并且“下载”不必需依赖于实车,所以需要仿真的部分集中在车内网络。主要问题就是解决车内ECU的仿真,总线网络节点建模,ECU逻辑实现。 
分析实车与仿真的差异,先列出脱离实车后组网模型上的必需件。仿真测试方案的必要组件包括12V B+供电源业务触发的必需件ECU(根据TBOX的功能设计可确定必需存在的ECU),仿真设备CANoe, 工作站PC。测试方案中ECU(EPS,PEPS,BCM,ACU,TCU等)全由PC和CANoe仿真实现。
实车测试组网示意图:


 仿真测试组网示意图:
 

3.测试方案实施

TBOX的FOTA安装过程,是基于UDS协议实现的刷写。所以此处FOTA安装流程的本质就是编程模式下的诊断写入过程。
通过分析整个仿真测试只需要做一件事:编程实现车内行为仿真。具体是下面两点:

  1. 解决车内网络通信信号的仿真
  2. 解决TBOX作为诊断仪在总线上诊断请求的实现 与 被刷写ECU的诊断应答(被刷写ECU的应用层业务逻辑封装)

重点讲第2点,需处理单对单的物理寻址请求,单对多的功能寻址请求。
这里的设计思路是建立两条链路,分别支持物理寻址,功能寻址。接下来是选择从哪一层去实现,不同层所用的协议不一样,其实现的复杂程度也不一样。举个例子,要建一个Client与Server进行网络通信,如果你对底层比较清晰,可以直接采用套接字实现。否则你可以选择较上层的协议去实现。

如果从数据链路层/物理层实现,需兼顾帧格式的问题,包含多帧分包传输,流控策略,连续帧拆分与组装等。在保证数据正确性上要写过多逻辑。且对ISO 11898有比较深的了解。 虽然整体框架和逻辑简单,可扩展性差。

如果从传输层实现,托管了数据处理的细节,ECU间的耦合度低,是比较好的选择。不过框架设计会复杂一些。

具体实现方案:基于CANoe的CanTp建模库,在CAN上实现了传输协议ISO/DIS 15765–2,控制传输大量数据,支持多通道并发。仿真整车上支持OTA的节点,每个节点都可通过两个连接(物理寻址-Connection 1 和 功能寻址-Connection 2),使用OSEK TP节点层DLL与诊断仪通信,在同一连接上在同一时间可以发送和接收数据。仿真FOTA刷写流程。
通信模型:

接口模型:

CANoe编程实现FOTA车端的自动化测试(一)相关推荐

  1. 电脑端应用软件自动化测试,自动化测试是什么?pc端的自动化测试框架有什么?...

    测试是我们经常听到的一个词,无论我们做什么都是要进行测试的,软件同样是如此.测试简单地说,就是为了发现软件的一些错误,而进行的一种操作.而自动化测试就是自己可以运行的操作.接下来我们就来了解一下自动化 ...

  2. IM场景的移动端UI自动化测试平台实践

    在公司做了两三年IM平台开发,基本上把IM的所有能力都搭建齐全了:单聊.群聊.文本消息.语音消息.视频消息.卡片消息.音视频通话等,而且把整个聊天页面各个区域都开放了出去.整个IM系统的框架以及开发流 ...

  3. 特斯拉FSD车端感知解析

    Tesla AI Day过去已经4个多月,其介绍的很多前卫理念和超级详细的技术方案细节都成为全球自动驾驶从业者津津乐道的话题与专研的方向.这段时间以来我重复看了几遍AI Day的视频资料,也看了不少中 ...

  4. 车端激光和双目相机的自动标定算法

    摘要 在车端配置一个双目相机再加上一个激光雷达已经成为一种比较常用的配置.但是为了融合相机和激光数据我们需要一个复杂的标定过程.本文提供了一种不需要人干预的自动化的双目和激光雷达的外参估计方法.本文的 ...

  5. Python tcp编程,TCP服务端和TCP客户端代码编写

    Python网络编程 两种模式: 一种tcp可靠连接,能够保证数据不丢失 一种udp 不关心数据是否会丢失,在乎传输效率 TCP编程 一点:服务端 二点:客户端 客户端如何连接服务端,保证传输的数据可 ...

  6. TCP/IP网络编程之多进程服务端(一)

    TCP/IP网络编程之多进程服务端(一) 进程概念及应用 我们知道,监听套接字会有一个等待队列,里面存放着不同客户端的连接请求,如果有一百个客户端,每个客户端的请求处理是0.5s,第一个客户端当然不会 ...

  7. TCP/IP网络编程之多进程服务端(二)

    TCP/IP网络编程之多进程服务端(二) 信号处理 本章接上一章TCP/IP网络编程之多进程服务端(一),在上一章中,我们介绍了进程的创建和销毁,以及如何销毁僵尸进程.前面我们讲过,waitpid是非 ...

  8. WirelessCar借助亚马逊云科技的安全服务,实现车端到云端的数据安全

    2022年7月18日亚马逊云科技宣布,全球领先的互联汽车服务提供商WirelessCar(维瑞联行)选择亚马逊云科技为首选云服务提供商,构建领先的互联汽车解决方案,打造全场景服务能力.借助亚马逊云科技 ...

  9. 一种很轻松的Excel关键字方式进行Android端APP自动化测试(Java+Appium+TestNG+Excel)

    说明 本次分享Android端APP自动化测试Excel执行逻辑,整体逻辑与Web端类似,没看过的读者可看这里 =========>> 一种很轻松的Excel关键字方式进行网页Web自动化 ...

最新文章

  1. spring-boot的access日志格式修改
  2. 电子产品设计流程_产品设计“学习、就业、留学”全攻略
  3. 向数据中心劳动者致敬!
  4. 全球及中国智能交通行业应用方向分析及创新发展战略报告2021版
  5. 从需求来看《IT人员应聘建议》
  6. 节能以太网EEE(Energy Efficient Ethernet)
  7. linux 改路由表 宕机,网管宕机,服务停止?别担心,解决方案来了
  8. vim 配置文件留存
  9. 基于mysql的可视化日志管理——loganalyzer
  10. H5+springboot(集成ffmpeg)实现前端视频录制以及webm格式转mp4
  11. 获取移动光猫(如HS8545M5等设备)pppoe密码明文
  12. 线性卡尔曼滤波和扩展卡尔曼滤波(KF,EKF)
  13. Win10怎么设置自动锁屏? win10自动锁屏的两种方法
  14. HCIP RS IERS题之OSPF(二)
  15. 记录一次抓取万年历的天干地支,生肖和农历月份
  16. 双因素认证令牌_安全令牌:防止双因素令牌认证攻击
  17. Protel (DXP2004sp2) 许可协议认证过程
  18. 【DP】桐桐的递归函数
  19. Photoshop中的渐变工具
  20. 完整的struts2框架应用实例

热门文章

  1. Spring Boot应用退出
  2. 网页批量更新快照软件-百度快照更新优化
  3. 系列二 帶丄耳機全丗屆跟莪沒關係
  4. win10 mmdetection3d环境搭建
  5. Win10 64位下GPU版本MXNet+Tensorflow 1.3.0的安装
  6. 实战:3种方式安装Jenkins-2022.4.17(博客分享)
  7. 华为 android 5.0系统下载地址,华为emui5.1
  8. 【SVN】SVN的trunk、branches、tag的使用以及分支的概念
  9. 制作一个网站前你应该了解哪些东西?怎么搭建网站?
  10. Azure VM加速网络