专业互联网培训机构——完成蜕变以后轻松拿高薪
电话+V:159999-78052 ,欢迎咨询以太网适配器的自动配置,[python实用课程],[C++单片机原理],[C#、PHP网站搭建],[Nodejs小程序开发],[ios游戏开发],[安卓游戏开发],[教会用大脑用想法赚钱实现阶层跨越]
一、win10系统怎么关闭自动配置IPv4?
在Windows10系统中,设置完静态IP后若仍出现自动配置IPv4的情况,可以通过以下步骤关闭自动配置功能:
1.打开“控制面板”,选择“网络和共享中心”,然后点击左侧的“更改适配器设置”。
2.在网络适配器列表中,找到并右键点击你想要配置的网络适配器(如以太网或Wi-Fi),选择“属性”。
3.在属性窗口中,找到“Internet协议版本4(TCP/IPv4)”选项,双击它或点击其下方的“属性”按钮。
4.在IPv4属性窗口中,取消勾选“自动获得IP地址”选项,此时下方的输入框将变为可编辑状态。
5.手动输入你想要的静态IP地址、子网掩码、默认网关等信息,并确保这些信息与你的网络环境相匹配。
6.点击“确定”保存设置。这样,你的网络适配器将不再自动获取IP地址,而是使用你手动设置的静态IP地址进行连接。
二、如何让网络适配器禁用自动配置?
可以通过本地连接的设置关闭自动配置,具体设置步骤如下:
1、打开网络连接,右键本地连接或者以太网的属性。
2、在弹出的页面选中“TCP/IPV4”选项。
3、然后点击旁边的“属性”选项。
4、在弹出的页面点击底部的“高级”。
5、在高级选项里面点击“WINS”。
6、然后将netBIOS设置改成“启动TCP/IP上的netBIOS”就可以了。
车载以太网|TSMaster的DoIP功能操作指南
2024-04-16 15:13·盖世汽车Gasgoo
本文介绍:车载以太网诊断协议,DiagnosticsoverInternetProtocol简称为DoIP,可以通过以太网协议进行汽车诊断。DoIP是一种用于在车辆之间或车辆与诊断设备之间进行通信和诊断的标准协议。通过DoIP,诊断工程师可以通过以太网或远程访问和诊断车辆的电子系统,并可以进行以太网控制器的诊断访问和刷写。DoIP是TSMaster支持的重要功能之一,本文主要介绍TSMaster的DoIP模块中诊断服务功能操作,以及相应的传输层配置,并结合诊断功能常见的使用操作进行展开,本文要点如下:1.TSMasterDoIP的同星以太网硬件准备2.TSMasterDoIP模块如何开始使用3.TSMaster被测仪IP网络接口配置4.TSMasterDoIP诊断传输层配置5.TSMaster基础诊断配置6.TSMaster诊断控制台7.TSMaster自动诊断流程与注册系统变量8.诊断典型应用本文关键词:DoIP,车载以太网诊断,基础诊断,自动诊断流程,以太网1、TSMasterDoIP的同星以太网硬件准备TSMaster的DoIP软件功能的实现,是以同星的以太网硬件作为基础。其中应用于DoIP的同星以太网硬件有TE1051、TE1054(规划中)、TE1021。TE1051是一路以太网转USB接口的设备,可以将标准以太网100Base-Tx1000Base-T或车载以太网100/1000Base-T1的数据通过USB接口传输到PC上,并通过TSMaster软件实现以太网数据的仿真、分析、测试,也可以实现DoIP和SOMEIP等功能。同时,TE1051设备小巧且外壳坚固,无需外部供电,适用于各种环境工况下的DoIP诊断刷写。
图1-1TE1051硬件TE1021是一路车载以太网转普通以太网接口(100/1000Base-T1to100Base-Tx/1000Base-T)的介质转换工具。用户可以将100Base-T1转换为100Base-Tx或将1000Base-T1转换为1000Base-T。可适用于不同以太网接口的DoIP应用场景,同时TE1021小巧且外壳坚固,携带方便。
图1-2TE1021硬件2、TSMasterDoIP模块如何开始使用TSMaster的DoIP模块的创建与基本使用流程如下:▲Step1:DoIP位于主菜单【应用】->【DoIP】,如图2-1。
图2-1DOIP▲Step2:【添加DoIP】模块,可以添加多个DoIP模块,如图2-2。
图2-2添加DoIP模块▲Step3:根据ECU的配置设置车载以太网传输层参数,比如诊断仪类型、通道、被测件IP地址等以太网参数和安全访问算法。具体操作流程在下文第3章节展开。▲Step4:当配置好传输层相关参数与安全算法,启动工程后,点击【ConnectDUT】连接车载控制器。当连接成功后,基础诊断窗口和系统消息窗口会提示:连接以太网被测件成功,如图2-3。以及在ISO15765-2的地方可以看到连接的服务消息,如图2-4。
图2-3连接以太网被测件
图2-4ISO5765-2消息▲Step5:服务以及流程都配置好之后,在【自动诊断流程】处直接打开启动按钮,执行诊断流程。如图2-5所示。
图2-5执行自动诊断流程3、TSMaster诊断仪IP网络接口配置TSMaster的网络接口配置流程如下:▲Step1:找到主菜单【硬件】->【TCP/IPStack】,如图3-1。
图3-1TCP/IPStack▲Step2:【EthCH1】右键选择【AddNetworkCard】,如图3-2。
图3-2添加网络接口▲Step3:在【GeneralSetting】中选择【用户自定义Mac】,输入自定义Mac地址。如图3-3。
图3-3自定义Mac地址▲Step4:【使能IPV4】,然后打开【添加】按钮,输入诊断测试仪的IP地址和IP掩码,如图3-4。
图3-4添加IP地址4、TSMasterDoIP诊断传输层配置TSMaster提供了DoIP的诊断传输层的配置功能,用户可以根据需求配置相应的传输层配置比如诊断仪类型、通道、IP地址、端口和请求和应答ID、以及安全算法等一系列配置。4.1诊断传输层诊断传输层的配置根据诊断仪类型分为两种:TE系列设备和系统TCP/IP。4.1.1TE系列设备TE系列设备类型以TE1051为例,TE1051是一个1路以太网转USB接口的工具,通过USB接口传输到PC上,并通过TSMaster软件实现以太网数据的DoIP功能。对于DoIP诊断传输层ISOTP,包含被测件和测试仪的以太网参数和诊断ID参数,如图4-1所示。
图4-1DoIP诊断传输层ISOTP配置DoIP诊断传输层ISOTP的具体参数如下分类介绍:▲总线类型:诊断传输层类型。使用同星DoIP功能选择总线类型为【Ethernet】,如图4-2所示。
图4-2DoIP诊断总线类型▲诊断仪类型:诊断设备类型。通过USB连接PC,选择的诊断仪类型为【TE系列设备】,若是传统的网线连接PC则选择系统TCP/IP,如图4-3所示。
图4-3Ethernet诊断仪类型选择▲通道:诊断模块用到的逻辑通道。TSMaster支持多个诊断模块同时在线工作,这里用于选择当前诊断模块的应用逻辑通道,通过下拉列表进行选择,如图4-4所示。
图4-4Ethernet通道选择▲IP地址掩码:以太网通信使用的IP地址掩码。▲被测件IP:被测件的IP地址。在DoIP通信中,IP地址掩码和被测件IP地址需要根据具体的网络拓扑结构和通信需求进行设置。▲被测件端口:被测件端口号。在ISO13400标准中端口13400被指定为DoIP通信的默认端口号。▲测试仪IP:测试仪的IP地址。测试仪IP为连接PC的测试设备(如同星的TE051)的IP地址。根据IP地址掩码和被测件IP,将PC的IP地址和被测件IP配置在同一网段内,以此两者可以正常连接和通信。测试仪IP地址的配置在前面的第3章已详细说明。▲测试仪端口:测试仪或PC的端口注意:对于诊断工具的端口号设置并没有固定的规定,用户可以根据需求自己设置或者使用软件自动分配的端口号。▲请求ID/应答ID/功能ID:设置诊断模块PC工具端的诊断请求/应答/功能帧的ID。4.1.2系统TCP/IP系统TCP/IP类型以TE1021为例,TE1021是直接通过系统的网口连接PC。DoIP诊断传输层ISOTP,包含被测件和测试仪的以太网参数和诊断ID参数,如图4-5所示。
图4-5DoIP诊断传输层ISOTP配置DoIP诊断传输层ISOTP的具体参数如下分类介绍:▲总线类型:诊断传输层类型。使用同星DoIP功能选择总线类型为【Ethernet】,如图4-6所示。
图4-6DoIP诊断总线类型▲诊断仪类型:诊断设备类型。诊断仪通过PC系统的网口连接PC,则选择的诊断仪类型为【系统TCP/IP】,如图4-7所示。
图4-7Ethernet诊断仪类型选择▲通道:诊断模块用到的逻辑通道。用于选择当前诊断模块的应用逻辑通道,这里默认是【SystemEthernetInterface】,如图4-8所示。
图4-8Ethernet通道选择▲IP地址掩码:以太网通信使用的IP地址掩码。▲被测件IP:被测件的IP地址。在DoIP通信中,IP地址掩码和被测件IP地址需要根据具体的网络拓扑结构和通信需求进行设置。▲被测件端口:被测件端口号。在ISO13400标准中端口13400被指定为DoIP通信的默认端口号。▲测试仪IP:PC的系统的网口的IP地址。根据IP地址掩码和被测件IP,将PC的IP地址和被测件IP配置在同一网段内,使得两者可以正常连接和通信。找到电脑的【设置】->【网络和Internet】,找到网口所连接的以太网,选择【属性】,在【IP分配】选择【编辑】按钮。选择手动,打开IPv4,填写IP地址以及子网掩码。如图4-9所示。图4-9PC端以太网IP地址设置▲测试仪端口:测试仪或PC的端口注意:对于诊断工具的端口号设置并没有固定的规定,用户可以根据需求自己设置或者使用软件自动分配的端口号。▲请求ID/应答ID/功能ID:设置诊断模块PC工具端的诊断请求/应答/功能帧的ID。4.2诊断服务层诊断服务层参数主要包含路由激活,S3,P2时间参数,以及加载SeedKey的安全访问。如图4-10所示。
图4-10诊断服务层参数4.2.1路由激活【连接DUT之后自动执行路由激活命令】:勾选后,当测试仪或PC与被测件建立网络连接后,软件自动执行路由激活命令。【TCP初始化激活超时时间】:这个参数描述了从TCP_Data连接建立过后到失效的最大超时时间。如果在设定时间范围内都不执行激活路由的指令,DoIP模块会主动关闭TCP_Data套接字。规范定义时间为2000ms。【激活类型】,共有5种类型:1.【Default】:默认激活模式(DefaultActivationMode),这是最基本的路由激活类型,通常用于建立标准的DoIP通信会话。在默认激活模式下,设备之间会进行基本的身份验证和参数交换,以建立通信连接。2.【WWH-OBD】:全球调和车载诊断系统要求的诊断通信激活,在这种模式下,设备之间可能需要进行额外的身份验证和安全验证,以确保通信的合规性和安全性。3.【ISO/SAEReserved】:为未来的标准或特定应用保留的路由激活模式。4.【CentralSecurity】:CentralSecurity(中央安全)路由激活模式,它涉及到车辆网络安全的核心管理和认证机制。这种模式通常用于确保只有经过授权和验证的设备才能与车辆的网络系统进行通信。5.【AdditionalOEM-SpecificUse】:为原始设备制造商(OEM)提供的特定用途而保留的额外路由激活模式。不同的OEM可以根据自己的需求和车辆网络架构,定义和使用特定的路由激活模式,以满足其独特的诊断、通信或安全要求。4.2.2P2时间参数【P2超时时间】:表示ECU收到诊断请求帧过后,最短回复的时间间隔。对于诊断工具端,该参数可以作为发送请求过后,等待回复的超时判断参数。比如诊断工具发送了一个诊断报文,P2超时时间段内都没有收到回复,则认为请求失败,超时退出。【P2扩展时间】:当诊断工具发出诊断报文过后,被测ECU来不及在P2超时时间段内做出应答,则回复一帧7FXX78报文,告诉诊断工具端自己来不及响应,需要延长等待时间再回复。ECU发送了延迟等待报文后,则把等待时间参数切换为P2扩展时间。诊断工具端的超时判断参数在收到延迟等待报文后,需要切换到P2扩展时间。上述两个参数可以点开【详情】按钮,查看图示说明,如图4-11所示。
图4-11P2时间参数设置4.2.3诊断仪在线诊断仪在线包括S3服务器时间和S3客户端时间参数。【S3服务器时间】:表示该ECU从Default会话被切换到其他会话过后,经过多长时间会自动切换回默认会话的超时时间。【S3客户端时间】:表示作为诊断Tester端,发送TesterPresent帧的时间间隔。上述两个参数的示意图,可以点开【详情】按钮,查看图示说明,如图4-12所示。
图4-12S3时间参数设置【诊断仪在线】:TSMaster断模块中,可以选择配置并使能诊断仪在线命令,如图4-13所示。
图4-13诊断仪在线设置当使能【诊断仪在线】,在诊断模块上方会出现启动【诊断仪在线】的开关。设置诊断仪在线为【打开】状态,则按照设定的S3客户端时间间隔发送该报文。诊断仪在线的发送字节是可选的。支持三种类型:【默认诊断仪在线服务】:为最常用的0x3E0x80。【从基础配置中选择】:从基本诊断配置中选择配置好的3E命令。【用户自定义】:用于自定义的字节。4.2.4种子密钥TSMaster中提供了两种SeedKey种子密钥的处理方法。第一种就是常用的加载主流的种子密匙的DLL动态链接库;第二种是提供了内置的种子密钥的解释器,可以直接编写SeedKey源代码,并可以保存生成DLL动态链接库。—4.2.4.1载入动态链接库TSMaster不仅支持了C/C++,Delphi等语言封装的DLL文件,也新增支持基于DotNet平台如C#,VB.Net等语言编写的DLL动态链接库,可以高效兼容不同平台生成的安全访问DLL,为工程师带来更便捷的使用体验。载入动态链接库加载界面,如图4-14所示。图4-14载入动态链接库图标从左往右依次为:【1】加载DLL【2】删除DLL【3】打开DLL校验器,通过DLL校验器,用户可以判断加载的DLL接口是否正确,算法是否符合设计要求。比如,用户选择Seed的Level过后,输入Seed值,点击GenKey进行判断。如果该DLL接口跟模板定义接口统一,则会输出提示信息:GenerateKeySuccess,然后用户根据Key值跟目标值对比,进一步确认DLL中的算法是否符合设计要求。如图4-15。图4-15SeedKey校验器【4】可打开TSMaster安装目录下SeedKey接口工程所在的文件路径。在TSMaster安装目录中,提供了封装SeedKey算法的模板工程。如GenerateKeyEx,GenerateKeyExOpt,
ASAP1A_CCP_ComputeKeyFromSeed,基于此模板工程开发即可得到能够直接加载的DLL函数。TSMaster默认支持SeedKey函数接口具体为如下:函数接口1:unsignedintGenerateKeyEx(constunsignedchar*ipSeedArray,/*Arrayfortheseed[in]*/unsignedintiSeedArraySize,/*Lengthofthearrayfortheseed[in]*/constunsignedintiSecurityLevel,/*Securitylevel[in]*/constchar*ipVariant,/*Nameoftheactivevariant[in]*/unsignedchar*iopKeyArray,/*Arrayforthekey[in,out]*/unsignedintiMaxKeyArraySize,/*Maximumlengthofthearrayforthekey[in]*/unsignedintoActualKeyArraySize);/*Lengthofthekey[out]*/函数接口2:unsignedintGenerateKeyExOpt(constunsignedchar*ipSeedArray,/*Arrayfortheseed[in]*/unsignedintiSeedArraySize,/*Lengthofthearrayfortheseed[in]*/constunsignedintiSecurityLevel,/*Securitylevel[in]*/constchar*ipVariant,/*Nameoftheactivevariant[in]*/constchar*iPara,/**/unsignedchar*iopKeyArray,/*Arrayforthekey[in,out]*/unsignedintiMaxKeyArraySize,/*Maximumlengthofthearrayforthekey[in]*/unsignedintoActualKeyArraySize)/*Lengthofthekey[out]*/函数接口3:boolASAP1A_CCP_ComputeKeyFromSeed(constunsignedchar*ipSeedArray,/*Arrayfortheseed[in]*/unsignedshortiSeedArraySize,/*Lengthofthearrayfortheseed[in]*/unsignedchar*iopKeyArray,/*Arrayforthekey[in,out]*/unsignedshortiMaxKeyArraySize,/*Maximumlengthofthearrayforthekey[in]*/unsignedshort*opSizeKey)/*Lengthofthekey[out]*/如何兼容其他函数接口在日常使用中经常出现用户已经开发好了SeedKeyDLL,同时该DLL的接口不是上述三种中的任何一种,则无法直接加载到TSMaster的诊断模块中。对此,可以通过二次封装的形式将存在的SeedKey算法库进行包装,生成可以直接加载到TSMaster诊断模块中的DLL。以一个实际的实例来讲解如何兼容其他接口函数的DLL文件,二次封装流程的示意图,如图4-16。图4-16二次封装流程▲第一步:查看当前的DLL,名称为UserSeedKey.DLL。该函数内部的API函数有:●Seed等级为1的时候,调用函数voidGetKeyFromSeed01(byte*ASeed,byte*AKey);●Seed等级为3的时候,调用函数voidGetKeyFromSeed03(byte*ASeed,byte*AKey);●Seed等级为11的时候,调用函数voidGetKeyFromSeed11(byte*ASeed,byte*AKey);进而得知当前DLL不支持上述三种函数接口,需要进行二次封装。▲第二步:选择TSMaster安装目录中提供的GenerateKeyEx的模板工程,在该工程中用上述DLL的函数接口。基本思路是:1.采用Loadlibrary动态用户现有的DLL。2.根据传入的Level参数,采用GetProcAddress函数动态获取实际的用于计算Key的函数指针。3.如果获取函数指针成功,则使用该函数指针传输Seed值,并计算对应的Key值。GenerateKeyEx工程二次封装示例,如图4-17。
图4-17GenerateKeyEx工程二次封装示例▲第三步:该GenerateKeyEx工程开发结束后,TSMaster直接加载GenerateKeyEx所在的DLL。需要注意的是,用户需要把现有的UserSeedKey.DLL拷贝到TSMaster根目录或者GenerateKeyEx.DLL所在的目录。如果不拷贝过去,GenerateKeyEx.DLL执行的时候会出现找不到对应依赖DLL的情况,解锁失败。—4.2.4.2编写SeedKey代码在TSMaster的内置算法编辑器里的操作流程,示意如图4-18所示。
图4-18内置算法编辑器【1】选择SeedKey算法的函数;【2】打开算法校验器,可以于检查算法结果是否正确;【3】打开编写代码的窗口;【4】可用于导出所编写代码的为DLL文件;【5】选择一个需要的SeedKey函数接口,并支持扩展自定义函数接口;【6】SeedKey源代码编辑工作区,用于解密算法代码的输入与编辑。值得注意的是,TSMaster目前提供了最常用的算法函数的接口形式,如果使用自己特殊的函数接口形式,可以联系上海同星支持,可将相应接口增加到选项中。另外,所有的接口函数都定义了返回值类型为s32。增加此约束,主要是增加函数的严谨性。其中,返回值为0表示成功,返回值为其他值则有对应的错误码。因此,在编辑代码的时候,最后一行需要加上return返回值,如图4-19所示,否则系统执行函数过后会认为算法执行失败,不予往后面执行。图4-19函数return返回值5、TSMaster基础诊断配置基础诊断模块包含基本诊断服务和组合服务。对于诊断过程中独立执行的命令,在基本诊断服务中;用于文件下载的$34、$36和$37放入组合服务中。如图5-1所示。
图5-1基础诊断配置5.1添加删除服务命令把鼠标放到需要添加和删除的服务命令上方,右键展开,选择是否需要添加和删除该服务,如图5-2所示。图5-2添加和删除的服务命令5.2配置基本诊断参数以诊断会话控制为例,主要包含如下参数的配置,如图5-3所示。
图5-3配置基本诊断参数【1】配置服务名称:用户可以配置一个易于理解和管理的服务名称。【2】是否功能标识符:本诊断服务是否采用功能标识符发送诊断请求。【3】是否有回复:用户可配置是否检查此服务的回复内容。【4】选择子服务类型:比如SessionControl中的DiagnosticSessionType就包含如上图所示的Session类型。【5】参数列表的字节序:支持Motorola和Intel字节序。【6】参数列表:诊断服务除了诊断ID和子服务类型ID,还可以带着参数发送给被测ECU。参数列表包含请求和应答帧的参数列表,可以选择增加/删除多种类型的参数。如图5-4。
图5-4新增与删除参数其中,根据不同服务指令,可以设置不同的ID参数。比如诊断请求会话里的诊断会话类型参数是必选设置,而参数列表是可选的。在修改配置后,界面上方会实时显示实际诊断报文的示例报文,如请求协议数据包是:【1001xxxx】:xx表示该参数是可变的,根据用户实际填入的数据确定;诊断仪将要收到的应答协议数据包为【5001xx】。
图5-5请求与应答参数设置5.3诊断服务参数诊断模块参数支持7种数据类型。包括:UInt,Int,Single,Double,HexArray,Ascii和SystemVar。如图5-6。
图5-6诊断模块参数类型【1】UInt:无符号整型,其数据长度必须小于32bits,并且为8的倍数,可以为8,16,24,32bits。【2】Int:有符号整形,其数据长度必须小于32bits,并且为8的倍数,可以为8,16,24,32bits【3】Single:单精度浮点数,数据长度为固定的32bits。用户直接输入输出浮点数据。【4】Double:单精度浮点数,数据长度为固定的64bits。用户直接输入输出浮点数据。【5】HexArray:十六进制数组,数据长度为8的倍数。输入数据满足16禁止数据类型。【6】ASCII:ASCII字符串,数据长度为8的倍数。输入数据为ASCII字符数组,转化为16进制后进行发送。【7】SystemVar:系统变量,数据长度为8的倍数。TSMaster系统变量可支持Uint,Int,Single,Double,UintArray,DoubleArray,HexArray,String等各种数据类型。其具体的数据类型由系统变量自身定义所决定。5.4配置组合服务