关注公众号,点击公众号主页右上角“ ··· ”,设置星标,实时关注智能汽车电子与软件最新资讯
以太网在视频数据传输、宽带骨干网络、IP诊断(DoIP)以及电动汽车与充电站之间的通信等领域特别有用。Ethernet.Option扩展 CANoe 以包括对以太网网络的支持,允许使用接口硬件,例如VN5600系列以太网接口或PC上可用的以太网接口,还扩展了CANoe,以包括特定的协议,如SOME/IP,SOME/IP-SD,IP,TCP,UDP,TSN / AVB等等。
VN5600 系列以太网接口专为仿真和测量目的而设计,具有特定优势,例如高时间戳分辨率、与其他vector总线接口同步、点对点连接监控和拓扑精确的仿真。VN5600还支持特定于汽车的物理层,例如 100BASE-T1 (OABR) 和 1000BASE-T1这样就可以直接访问物理层。
CANoe可以模拟多个以太网节点的。每个网络节点在这里都由其自己的 TCP/IP 堆栈表示。这确保了与真实节点对应的通信行为。此外,通过对以太网数据包进行有针对性的伪造,可以测试可重现的嵌入式实现,并提高其对协议错误的鲁棒性。通过支持汽车领域典型的数据库格式(AUTOSAR ARKML和Fibex)和协议(SOME/IP,DoIP等),用户可以直接访问应用信号。这大大支持并简化了通信和应用程序数据的分析。
连同VN5600系列以太网接口,CANoe .Ethernet也适用于测量网关到其他车辆网络的信号转换中的延迟时间。例如,这样就可以跟踪整个车辆的诊断信息,并检查其一致性。以太网协议第2层(数据链路层)上的错误不仅可以可靠地检测和显示,还可以被激发。
2 新建CANoe工程
新建一个普通Demon(ETH工程)
配置Vector Channel
在Option中配置1路以太网(其余无所谓)
配置HardWare
在AccessMode中,VN56x0设备使用Channel-Base Mode(新驱动中体现,旧驱动则默认为Channel-Base Mode)
在Device Configuration中使用Direct Connection模式
具体的Channel模式(Master/Slave)则视DUT而定
配置IP/Stack
在Simulation中配置V56x0的TCP/IP工作信息
配置8021 Vlan信息
配置TCP/IP信息
需要注意的是如果控制器支持普通多路信息则需要分别配置IP信息(如下图),详情请关注公众号「车端」
普通信息
带Vlan的信息
编写仿真脚本
新建CAPL节点后需要单独配置其IP/Stack属性,具体方式为沿用CANoe硬件设置即可
以一个TCP握手为例,代码如下
// An highlighted block
on key 'i'
{
dword gClientSocket; // The client socket
IP_Endpoint localEndpoint;
IP_Endpoint remoteEndpoint;
char IPV4_DesADD[16]= "172.16.6.4";
dword Port_Des=51001;
/**************配置信息******************/
remoteEndpoint.ParseEndpointFromString( IPV4_DesADD );
remoteEndpoint.PortNumber = Port_Des;//@sysvar::ChatClient1::ServerPortNumber;
localEndpoint = IP_Endpoint(172.16.6.2:0);
/**************开启本地Socket端口******************/
gClientSocket = TcpOpen( localEndpoint );
/**************开始连接******************/
TcpConnect( gClientSocket, remoteEndpoint );
}
测试结果