项目时间:2024/8/1——2024/11/5
EDS = Electric Drive System
电动汽车EDS的定义和功能12
电动汽车EDS(Electric Drive System)是一种将电能转化为机械能,驱动车辆行驶的系统。它由电机、控制器、减速器等部件组成,是电动汽车实现电能驱动、高效节能的关键。
电动汽车EDS的工作原理
EDS通过检测车轮转速差异来判断车轮是否失去地面摩擦力,从而防止车轮打滑或悬空。当某一侧驱动轮打滑时,EDS会通过液压控制单元对该车轮进行适当强度的制动,从而提高另一侧驱动轮的附着利用率,使车辆得以顺利脱困,提高车辆的通过能力。
电动汽车EDS的应用和重要性
在电动汽车中,EDS是核心部件之一,负责将电能转化为机械能,驱动车辆行驶。它不仅提高了车辆的行驶稳定性,还在倾斜路面上表现出色,尤其是在起步和低速行驶时,能够有效防止车轮打滑,提高车辆的通过能力。
UDS = Unified Diagnostic Services 统一诊断服务
车用电子的通信协议,用于电子控制器(ECU)中设备诊断的网络传输协议。
UDS协议定义了在陆路车辆的数据链路层汽车诊断服务的独立需求,它是一种通用的、标准化的诊断协议,用于诊断汽车电子设备的问题。这个协议规定了诊断服务的类型和操作方式,包括读取故障码、读取数据流等指令。UDS协议允许工程师通过诊断仪连接OBD端口,进行故障码读取、清除、ECU重置等功能,提高了维修效率和准确性。它不仅支持多种通信总线,如CAN、LIN等,而且可以在这些总线上进行通信。此外,UDS协议属于OSI七层模型的应用层,仅规定了与诊断相关的服务需求,而不涉及具体的通信机制,因此可以在不同的汽车总线上实现。
总的来说,UDS协议在汽车电子领域得到广泛应用,它提供了一套分析汽车问题的诊断服务,帮助用户了解车辆的实时售后排放情况,为用户提供了解决汽车问题的基本框架。
SeedKey 种子和密钥交换的Seed-Key机制
本文详细介绍了UDS诊断服务中的27服务,包括服务功能、应用场景、服务请求和响应,以及常见问题。27服务主要用于汽车ECU的安全解锁,涉及种子和密钥交换的Seed-Key机制,确保重要数据传输的安全。在编程、版本写入和例行程序执行前,通常需要通过27服务进行安全解锁。文章还提供了服务请求和响应的格式及示例,帮助理解27服务的工作原理。
https://blog.csdn.net/usstmiracle/article/details/132319495?fromshare=blogdetail&sharetype=blogdetail&sharerId=132319495&sharerefer=PC&sharesource=out_of&sharefrom=from_link
UDS读写DID = Data Identifier 数据标识符
ECU = Electronic Control Unit (汽车)电子控制单元
汽车技术的飞速发展使得汽车电子控制单元(Electronic Control Unit,ECU)中包含的控制参数大量增加,标定工作复杂度越来越高。在ECU开发过程中,控制参数的标定工作直接影响整车性能的优劣。面对日趋多样的ECU和通信总线类型,开发一种支持多总线的、通用灵活的标定系统,具有非常高的实用价值[1]。目前,CAN总线作为一种可靠的汽车总线已经广泛应用于高档汽车,因而多数标定系统都是基于CCP(CAN Calibration Protocol)协议开发的,具有一定的通用性[2]。但随着更为先进的FlexRay通信总线迅速发展,开发出一种既支持当下主流的CAN总线,又兼容代表汽车总线趋势的FlexRay总线的标定系统,无疑具有很高的技术应用价值。
XCP = Universal Measurement Calibration Protocol 通用计量校准协议
XCP(Universal Calibration Protocol)是通用测量和校准协议的缩写, “X”代表任意的传输层(如CAN、CAN FD、FlexRay、Ethernet…)。主要目的是来自电子控制单元的数据采集和校准访问。因此定义了通用协议层。作为传输介质的不同物理总线和可以使用网络。对于每个授权传输介质,需要一个单独的传输层定义。
CCP = CAN Calibration ProtocolCAN校准协议
CCP(CAN Calibration Protocol)和XCP(Universal Measurement and Calibration Protocol)是由自动化和测量系统标准化协会(ASAM)定义的协议,专门用于从ECU(Electronic Control Unit)进行校准和数据采集,常用于汽车车辆运行时的自动化测试。这些协议采用“主-从”概念,主要功能包括多个节点处理、ECU内部存储器的数据读/写、同步循环数据采集、同时进行数据采集与校准、适应小型8位微控制器和高性能ECU。在CCP中,主设备向从设备发送命令启动通信,支持多种功能,包括资源消耗最少,充分利用高性能平台的潜力,减少对ECU资源的需求,提供最大数据传输量,支持同步数据采集和仿真,以及对校定数据进行读/写访问。
XCP作为CCP的升级版,旨在满足网络上对ECU资源的高需求,实现最大数据传输量。XCP同样使用“主-从”概念进行测量、校准、仿真、轮询、刷新和数据采集,适用于各种总线系统,如FlexRay、Ethernet、CAN、CAN FD和其他高性能平台。与CCP相比,XCP在ECU中实现了更精益的实施,具有高度的可扩展性。支持的功能包括为CAN或SCI提供资源最少的8位微控制器、在高性能平台上充分利用FlexRay或以太网的潜力、减少ECU资源需求、支持通信网络的最大数据传输、同步数据采集和仿真、对校定数据进行读/写访问、内存页管理、支持异步和异步接口以及作为模拟测量的标准化接口。
在CCP/XCP中,只有两种类型的CAN报文:命令接收对象(CRO)和数据传输对象(DTO)。CRO是从主设备发送给从设备的报文,包含指令,其中第一个字节为命令代码(CMD),描述报文的目的,第二个字节为命令计数器(CTR),用于跟踪通信记录。DTO是从设备发送给主设备的报文,作为接收CRO报文的确认,并用于数据采集。DTO中的第一个字节为PID(地址包),描述报文类型,有三种类型:命令返回报文(CRM)、事件报文(用于内部从节点状态变化的错误恢复或其他服务)和数据采集报文(DAQ)。DAQ报文包含ODT(对象描述符表)的值,用于指向存储数据的ECU内存地址。
CCP/XCP中的CTO(命令传输对象)和DTO(数据传输对象)消息在XCP协议中提供了额外的功能改进,如同步数据激励、更有效地利用ECU资源、通过块传输命令优化通信、支持即插即用配置、支持启动测量、通过测量ECU中的时间戳实现更精确的测量数据采集以及允许客户使用单独的A2L文件定义的格式访问ECU上的内存。
数据采集功能允许主设备从从属设备启动数据采集,数据通过特殊的DAQ-DTO从节点发送。数据字节在DAQ列表中组织,该列表由多个ODT列表组成,最多包含7个指向ECU内存地址的指针。ODT列表还可以包含地址扩展和要发送的字节数。主设备需要将数据拆分为单个字节来解决长度超过一个字节的数据元素。DAQ-DTO由PID和ODT列表中的内存点指向的数据元素组成,PID值介于0和253之间,意味着同时最多只能有254个ODT列表。
CCP规范允许同时激活多个DAQ列表,由主设备通过START_STOP命令启动DAQ列表的传输。ODT列表中的数据字节在从设备中采样,然后以DAQ-DTO的形式发送到CAN总线上。如果从设备在正在进行的DAQ周期完成之前收到新的START_STOP命令,则主设备可以选择启动新的DAQ命令,终止正在进行的命令,或忽略新的DAQ命令,继续正在进行的命令直到周期完成。
在Influx公司提供的全系列Rebel数据记录仪中,用户可以使用CCP/XCP在CAN上进行车辆工程测试。通过Influx的DiaLog软件从A2L文件获取通信设置,Rebel系列还提供先进的协议功能,如CAN2.0监控、J1939、CCP、CAN总线上的XCP、OBD2和UDS。欲了解更多信息,请访问Influx大数据库网站的特定页面。请注意,Influx公司提供的知识库仅用于参考,不保证内容研究的准确性。
DBC = data base CAN 数据库CAN
CAN0 PD/DBC =
CAN1 PT/DBC =
NI GOOP cloneVI和cloneClass的功能
UML-Unified Modeling Language 统一建模语言,又称标准建模语言。是用来对软件密集系统进行可视化建模的一种语言。UML的定义包括UML语义和UML表示法两个元素。
UML是在开发阶段,说明、可视化、构建和书写一个面向对象软件密集系统的制品的开放方法。最佳的应用是工程实践,对大规模,复杂系统进行建模方面,特别是在软件架构层次,已经被验证有效。统一建模语言(UML)是一种模型化语言。模型大多以图表的方式表现出来。一份典型的建模图表通常包含几个块或框,连接线和作为模型附加信息之用的文本。这些虽简单却非常重要,在UML规则中相互联系和扩展。
EasyXML
OpenG
JKI
G#
SMO
- 要有自己独立的Launcher,直接运行可以调试,可嵌入主程序使用,可独立生成exe使用
- 配置文件,有独立调试的,也有总体运行时,根据线别站号配置
- 有Base类 Engine类 UI类,Ibase接口 Iengine接口 Iui接口
抽象类
API
通用API(是否定义Base接口?)
Initialize 完成所有准备工作(读取配置文件,打开设备,设定通讯模式,打开输出)
Open 打开设备
Close 关闭设备
ReConnect 重连
CheckStatus 查询设备连接是否为Ready状态
AlarmReset 报警复位清除
DataCollector 数据属收集者
API
Read_VoltCurrent
Dynamic
通讯类Dynamic
发送指令
Read_VoltCurrent_In
反馈解析
Read_VoltCurrent_Out
SubVI
ModbusEnum
具体类
Override
Read_VoltCurrent_In
Read_VoltCurrent_Out
Labview分离式代码的解释见:
https://wenku.baidu.com/view/6d1fd3f3a717866fb84ae45c3b3567ec102ddce8?aggId=6d1fd3f3a717866fb84ae45c3b3567ec102ddce8&fr=catalogMain_&wkts=1725959872153
D1000 用户名:admin 密码:000000
D2000 用户名: 密码:
网页远程连接 用户名:anonymous 密码默认:空
ZLG软件安装见:
产品CAN通讯引脚定义
设备CAN通讯拓补图
DB9插头CAN通讯引脚定义
国际上通用的定义是2脚为CAN低(CANL),7脚为CAN高(CANH)
ZLG CAN_bus_规范见下图:
ZLG软件测试CAN通讯连接是否正常
项目文件.vflash组成:
vFlash软件界面见:
提示:刷写的程序程序不同或刷写到一半中断,会造成产品负载电流变化