当前位置: 首页 > news >正文

XCP协议在以太网上实现的配置

1. XCP协议在以太网上实现

(1)背景与需求

  • 带宽限制问题:CAN 2.0标准最大带宽仅1M,即使CAN FD标准也小于10M,实际使用中仅采集几个高速数据就可能占满总线带宽。
  • 应用场景需求:复杂标定工作中,XCP协议在CAN线上运行受带宽限制,需频繁调整数据采集对象和周期。
  • 解决方案:将XCP协议移植到以太网上,利用以太网更高带宽满足实际需求。

(2)配置设备窗口

  • 物理连接差异:XCP on IP使用以太网与控制器连接,区别于XCP on CAN的CAN总线连接。
  • 配置一致性:除物理总线类型不同外,其他配置部分与XCP on CAN基本一致。

(3)启动工程并配置

  • 工程相似性:工程结构与XCP on CAN高度类似,启动后可正常获取ECU数据。
  • 实时修改能力:支持实时修改信号参数(如正弦波振幅),数据采集功能正常。
  • 带宽优势:以太网XCP可采集大量数据(采样周期短至1毫秒),仅占用19%以太网带宽,远优于CAN网络。
  • 报文差异:以太网报文突破CAN的8字节限制,大幅提升通信带宽和时效性。
  • 功能实现:同一应用层协议在CAN和以太网总线均能实现XCP功能,但以太网提供更高灵活性。

2. XCP协议的网络层级关系

在这里插入图片描述

(1)层级划分

  • 应用层到传输层:由BSW的XCP模块及其内部XCP on IP传输层协议实现;
  • 网络层:由SOAD模块和TCP/IP模块实现;
  • 数据链路层:由BSW的ETHIF模块实现;
  • 物理层:由ETH Controller(ETH驱动)实现。

(2)配置差异

  • 相比XCP on CAN,XCP on IP新增网络层配置;
  • 需定义ECU的socket连接、网络地址传输协议等CAN通信中无相关的配置项。

(3)数据传输流程

  • 发送过程:XCP模块→XCP on IP→SOAD→TCP/IP→ETHIF→ETH Net;
  • 接收过程:ETH Net→ETHIF→TCP/IP→SOAD→XCP模块;
  • PDU转换:SOAD模块将套接字内容转换为PDU,实现AUTOSAR BSW层与以太网通信的交互。

3. 实际操作

(1)配置步骤

  • 必要模块检查:开始前确认xcpiip相关模块已创建,包括叉CP核心模块、TCP/IP、so AD either if和eth模块;
  • 配置顺序原则:采用自底向上方式,先在底层声明上层可用的元素;
  • 复用性说明:若已完成以太网通信配置,eth和if模块无需额外修改;
  • 新增需求:需在TCP/IP模块的网络层新建socket链接,供xCP模块使用。

(2)TCP协议配置

① TCP协议的config创建
  • 创建流程:在TCP IP模块中新建TCP协议的config,系统自动填充默认内容;
  • 配置继承:沿用以太网章节已完成的general配置(含IPV4地址、socket owner和UDP配置)。
② TCP协议的config配置
  • 关键参数设置
    • 拥塞控制:禁用TCP congestion avoidance enabled;
    • 延迟确认:关闭delay acknowledgement enable;
    • 动态重传:禁用TCP dynamic re tx timer enable;
    • 上界值:upper bound设为60(默认值过小);
    • 快速恢复:启用fast recovery enable;
    • 挥手超时:TCP fee wait to time out设为3;
    • 保活机制:keep alive probes设为5,最大重连次数3;
    • 缓冲区:最大发送buffer per socket设为1500(原4096过大);
    • 分段生命周期:tc pm sl设为5秒(需小于默认值);
    • 接收窗口:receive window max设为1500;
    • 重传超时:retransmission timeout设为1;
    • 同步重置:TCP同步最大重置次数设为5。
③ 参数配置的依据与建议
  • 网络适配原则
    • TTL设置:根据网络规模确定,示例给10;
    • 用户超时:user timeout从0调整为15;
    • ZWP配置:启用z WP,max retries从255降为100;
  • 调试建议:参数需结合具体网络场景调整,可参考工程实例验证;
  • 性能影响:参数配置直接影响通信表现,调试阶段需与配置联动检查。
④ TCP协议站的配置说明
  • 全局性说明:当前配置针对整个TCP协议栈,与具体功能通道无关;
  • 通道关联:具体通道配置在socket配置阶段完成;
  • 完整性检查:确认TCP模块已提供TCP和UDP传输协议配置。
⑤ IP地址的配置
  • 地址复用:可继续使用以太网通信的IP地址;
  • 新增规则:如需为xCP单独配置地址,需在TCP模块新增声明;
  • 地址绑定:必须为TCP模块声明控制器网络地址,才能正常使用传输协议;
  • 元素检查:配置完成后确认所有必要元素已完备。
⑥ SOAD模块衔接
  • Socket创建:需在SOAD模块新增供xCP使用的socket连接;
  • 连接声明:需指定使用的TCP/UDP协议及远程通信站的地址端口;
  • 配置重点:SOAD BSW modules的配置是主要工作内容。

(3)SOAD配置

① 配置SOAD BSW模块
  • 模块声明:需要声明X7P模块来使用SOED模块;
  • 新建模块:在以太网通信建立PDUR模块后,需要新建X7P模块。
② 配置SOAD主要工作
配置Routing Group
  • 建立目的:方便初始化时快速使能和关闭路由;
  • 配置内容
    • 建立4个Routing Group:以太网通信收/发、XCP通信收/发;
    • ID保持默认不配置;
    • 初始化时enable选择“是”。
配置Socket Connection Groups
  • 命名规范:为区分XCP通信,修改以太网通信的UDP0名称;
  • 配置步骤
    • 先创建所需元素;
    • ID不进行引用;
    • header enable选择FALSE;
    • 端口号在0-65535之间随机选择,本地端口暂定为13406。
配置Socket Connections
  • 远程配置
    • 定义同一网段内的远程地址和端口;
    • 声明使用的通信协议;
    • 活动时间:设置为7200(较长持续时间);
  • XCP UDP配置
    • 选择local IP address assignment;
    • 使用远程IP(需结合以太网网络层知识填写),暂定为10000端口;
    • 声明UDP连接方式;
    • 监听模式选择FALSE;
  • TCP配置参考:可参考COM的TCP配置方式;
  • PDU关联:需将SOAD与AUTOSAR层BSW中的PDU进行关联。
③ 配置ECU模块
  • 创建a rx mail文件存储e cuc
    • 专用文件创建:以太网通信部分需专门创建a rx mail文件,存储与以太网通信相关的e cuc配置数据;
    • 存储位置:使用分裂式窗口在工程导航栏中找到对应存储位置;
  • x CP模块下的配置
    • 配置位置选择:将e cuc配置放置在x CP模块下管理;
    • 模块间通信:考虑xsp模块与so AD模块之间的信息交换需求。
④ 交换xsp模块到so AD模块的信息
  • 通信协议规划:未来可能使用TCP两路和UDP两路通信;
  • PDU创建数量:需创建四个PDU满足通信需求。
⑤ 配置的命名与长度选择
  • 命名重要性:配置时需特别注意命名规范;
  • 长度选择:选择1024作为标准长度配置,其余配置按此标准类推。
⑥ 配置的耐心与工具跳转问题
  • 工具特性:配置工具常出现不知名跳转,需保持耐心;
  • 写入过程:完成配置后工具需将内容写入AR XML文件,检索元素耗时较长;
  • 等待提示:切换配置选项时触发写入过程,需适当等待。
⑦ 配置的保存与返回so ED模块
  • 保存操作:完成e cuc配置后及时保存;
  • 后续操作:返回so ED模块继续其他配置。
⑧ 灵活使用筛选功能
  • 元素管理:配置元素增多后,需灵活使用筛选功能提高效率;
  • 操作技巧:合理运用筛选快速定位所需配置项。
⑨ 配置SOAD Tx Pdu Route
  • 配置层级:需先完成第一级目录配置,才能进入第二级目录配置;
  • 核心功能:建立XCP模块使用SOAD发送的socket连接。
⑩ 进入第二级目录的配置
  • 声明内容:需声明整个socket的route destination;
  • 配置顺序:完成第一级目录配置后自动进入此阶段。
⑪ 引用socket connection group
  • 关键步骤:必须引用预先建立的socket connection group;
  • 配置目的:为后续路由配置建立基础连接框架。
⑫ 增加routing group
  • 后续操作:增加路由组后需完成UDP的TX配置;
  • 配置关联:路由组与之前引用的socket连接组形成完整通信链路。
⑬ 完成udp的tx的配置
  • 配置重点:主要完成UDP传输协议的发送端配置;
  • 验证方式:通过数据包发送测试验证配置正确性。
⑭ 建立主机发送的以太网连接
  • 连接类型:建立SOAD socket roots形式的以太网连接;
  • 功能定位:作为主机发送数据的物理层通道。
⑮ 新建元素并命名
  • 操作步骤:新建两个配置元素并命名;
  • 配置原则:名称需具描述性且符合命名规范。
⑯ 引用socket connection group并声明地址
  • 第一层配置:再次引用socket connection group;
  • 地址声明:明确指定链接的目标地址参数。
⑰ 选择rx user、type、pdu reference和routing group
  • 关键参数
    • RX User选择XCP;
    • Type选择IF;
    • PDU Reference选择ECUC中建立的接收PDU;
    • Routing Group选择UDP;
  • 配置顺序:完成此步骤后进入TCP配置阶段。
⑱ 新建文件夹并引用x CP所使用的TCP的pdu
  • 文件夹要求:需新建蓝色文件夹;
  • 引用注意:必须选择RX PDU而非TX PDU;
  • 错误处理:引用错误需及时更正。
⑲ 引用routing group并完成so AD部分的配置
  • 最终步骤:正确引用routing group完成全部配置;
  • 配置验证:确认XCP NI P网络层配置完整;
  • 后续工作:准备进入上一级配置阶段。
⑳ 配置传输层和应用层
  • 配置位置:所有传输层和应用层配置均在XCP模块中进行;
  • 前期准备:已完成XCP模块的General配置和Events Channel配置。
配置TCP
  • 协议声明:第一条transport layer声明给TCP使用;
  • 关键参数
    • Max CTO/DT0:设置为255以突破总线限制(默认值8偏小);
    • Transport Layer Tab:选择Internet TCP;
    • 一致性协议:选择ODT(On-Demand Transmission);
  • PDU配置
    • 新建TCP的RX PDU和TX PDU;
    • 映射Event Channel到XCP通道;
    • 核心映射:需将ECUC中定义的SOAD映射到XCP的PDU。
配置UDP
  • 协议声明:第二条transport layer声明XCP协议运行在UDP上;
  • 配置流程
    • 完成UDP基础配置;
    • 建立对应的RX PDU和TX PDU;
    • 配置TX Package Type时需多选:Response Error Event、Server选项;
  • 注意事项:保持其他参数默认配置。

二、知识小结

知识点核心内容考试重点/易混淆点难度系数
XCP协议基础XCP协议是用于标定和测量的通信协议,支持CAN和以太网等不同总线CAN总线带宽限制(最大1M) vs 以太网带宽优势⭐⭐
XCP on CAN的局限性在CAN总线上,XCP协议受限于带宽,仅能进行有限的数据采集和标定带宽占满问题:高速DAQ可能耗尽总线资源⭐⭐⭐
XCP on IP的优势以太网实现(XCPoIP)大幅提升带宽和灵活性,支持更复杂的数据传输以太网报文突破8字节限制,支持高频率采样(如1ms周期)⭐⭐
XCPoIP的协议栈架构分层实现:应用层(XCP模块)→传输层(XCPoIP)→网络层(SoAd/TCPIP)→数据链路层(EthIf)新增网络层配置:需定义Socket连接、IP地址等⭐⭐⭐⭐
TCP/IP协议栈配置关键参数调整(如TCP重传超时、窗口大小)以优化XCP通信性能动态重传计时器 vs 固定超时值的选择⭐⭐⭐
SoAd模块配置建立Socket连接组(UDP/TCP),关联XCP模块与底层协议栈PDU路由映射:需与ECUC模块定义的PDU严格对应⭐⭐⭐⭐
XCP模块扩展配置新增传输层(TCP/UDP),配置最大报文长度(如255字节突破CAN限制)ODT一致性模式 vs 流模式选择⭐⭐⭐
实操演示对比以太网XCP实现:同时采集多通道数据(带宽占用仅19%) vs CAN带宽瓶颈Trace窗口对比:以太网报文长度灵活性显著提升⭐⭐
http://www.dtcms.com/a/475216.html

相关文章:

  • 榆林高端网站建设如何设计苏州做网站的公司有哪些
  • Go语言手搓深度学习的正向传播和反向传播
  • 【Swift】LeetCode 128. 最长连续序列
  • echarts6.0.0版本,平行坐标图形,series为多组时,横线溢出绘图区域,如何解决
  • 网站授权合同如何做好网站的建设与维护
  • 杭州市萧山区建设局网站江苏建设厅网站首页
  • 树莓派基础以及YOLOv8模型的应用
  • ueditor for wordpress太原百度seo排名软件
  • 网站左边logo图标怎么做网站开发需求分析怎么写
  • llm模型训练防遗忘与同义词训练理解
  • 晒豆网站建设新泰网页设计
  • ssh 密钥怎么配置不同网站用不同密钥,对应不同Git仓库以及帐号
  • 网站建设网站设计哪家专业企业管理系统的构成
  • Razor VB 逻辑:深入理解与最佳实践
  • 怎样做易支付网站网页组件
  • 绥化网站建设兼职python 创建wordpress
  • 陕西交通建设集团蓝商公司网站seo咨询
  • 带偏置的三级运放仪表放大电路与仿真
  • 深度学习优化算法深入分析:从 SGD 到 LAMB
  • 建外贸营销型网站WordPress的light
  • 案例较少如何做设计公司网站视频网站开发费用
  • Shiro
  • 【2025PC端多模态大模型部署推荐】
  • [数据集][xlsx]电力变压器油色谱数据集介绍
  • 基于LoRa的果园智能灌溉无线控制系统的设计(论文+源码)
  • 网站自助服务建设策划佛山电脑培训班哪里有
  • 网站的统计代码是什么意思交互设计要学什么
  • 视频网站怎么做服务器网页代码怎么写
  • 站点可用性监测实验
  • 教育一对一直播网站建设有做火币网这种网站的吗