CAPL学习-AVB交互层-概述

AVB Interaction Layer

功能函数

1. AVB交互层(AVB Interaction Layer)

CAPL函数 >> 以太网 >> AVB交互层
仅在.Ethernet选项下可用。

使用CAPL函数需包含AVB_IL.DLL。

本页内容
  • 回调函数(Callback Functions)
  • 控制函数(Control Functions)
  • 通用函数(General Functions)
  • 监听器函数(Listener Functions)
  • 监听器/发送器函数(Listener/Talker Functions)
  • 发送器(Talker)
回调函数
函数名 描述
OnAvbConnect 异步连接操作完成时触发。
OnAvbListen 指定监听器收到连接请求时触发。
OnAvbReceive 监听器异步接收操作完成时触发。
OnAvbSend 发送器异步发送操作完成时触发。
控制函数
函数名 描述
AvbILControlInit 初始化AVB交互层。
AvbILControlResume 恢复先前暂停的AVB/TSN自动消息发送行为。
AvbILControlStart 启动AVB交互层。
AvbILControlStop 停止AVB交互层。
AvbILControlWait 停止发送AVB/TSN相关消息。
通用函数
函数名 描述
AvbGetLastError 检查AVB交互层最后调用的函数是否成功执行。
AvbGetLastErrorText 获取AVB交互层最后发生的错误(字符串形式)。
AvbSetProperty 设置属性以配置AVB交互层行为。
AvbSetVerbosity 设置AVB交互层消息在"输出窗口"中的详细级别。
PtpSetProperty 通过属性配置PTP层行为。
PtpSimulationTimespanFromPtpTimespan 将PTP时间跨度转换为等效的仿真时间跨度。
PtpTimeFromSimulationTime 将仿真时间转换为对应的全局PTP时间。
PtpTimeNow 返回当前全局PTP时间。
监听器函数
函数名 描述
AvbAccept 接受指定监听器上的传入连接请求,创建新监听器。
AvbCloseListener 关闭监听器。
AvbListen 使监听器监听传入连接请求。
AvbOpenListener 创建用于基于连接的面向消息通信的监听器。
AvbReceive 将数据接收到指定缓冲区。
监听器/发送器函数
函数名 描述
AvbGetMediaType 获取监听器或发送器的媒体类型。
AvbGetProtocol 获取监听器接收或发送器生成的流中AAF样本的位深度。
AvbGetStreamId 获取监听器或发送器的流标识符(ID)。
AvbGetStreamSourceAddress 获取监听器或发送器的流源地址。
AvbGetStreamUniqueId 获取监听器或发送器流的唯一标识符(作为流ID的一部分)。
发送器函数
函数名 描述
AvbCloseTalker 关闭发送器。
AvbConnect 与指定目标建立连接。
AvbOpenTalker 创建用于基于连接的面向消息通信的发送器。
AvbSend 将数据接收到指定缓冲区(原文可能有误,应为"发送数据")。
AvbSetMediaType 设置发送器的媒体类型。
AvbSetProtocol 设置发送器的AVTP协议。

2. AVB交互层:设置(AVB IL: Setup)

以太网 >> AVB交互层 >> 设置

AVB交互层通过添加CAPL函数扩展仿真节点功能。需将AVB交互层分配给节点,节点才能使用AVB扩展。

操作步骤
  1. 从上下文菜单打开节点配置对话框。
  2. 切换到"组件"页。
  3. 点击 [添加...] 打开文件选择对话框。
  4. 选择CANoe安装目录中exec32文件夹下的AVB_IL.DLL文件。
  5. 点击 [确定] 关闭对话框。
  6. 从上下文菜单打开节点的TCP/IP配置对话框。
  7. 在"TCP/IP堆栈选择"区域,启用"独立TCP/IP堆栈实例"选项。
  8. 为每个通道配置唯一MAC地址。
    (可选)若需自定义VLAN ID和PCP,可配置发送器的VLAN设置。
  9. 点击 [确定] 关闭对话框。

完成上述步骤后,即可通过CAPL API使用AVB交互层功能。

3. AVB交互层错误码(AVB IL Error Codes)

CAPL函数 >> 以太网 >> AVB交互层 >> AVB交互层错误码

错误码 描述
0 成功/无错误
46-0600 通用错误
46-0603 参数无效
46-0604 函数无效
46-0606 配置无效
46-0607 缓冲区不足
46-0608 状态无效
46-0609 I/O挂起
46-0610 无可用接收缓冲区
46-0611 数据被遗漏
46-0614 字段值无效
46-0615 字段访问无效
46-0616 数据长度无效
46-0617 序列号无效
46-0618 呈现时间小于数据包时间戳
46-0620 已建立流中AVTP协议变更
46-0621 已建立流中AVTP协议格式变更
相关推荐
阿巴~阿巴~35 分钟前
NAT技术:互联网连接的隐形桥梁
服务器·网络·网络协议·架构·智能路由器·nat·正反向代理
DevOps-IT38 分钟前
HTTP状态码(常见 HTTP Status Code 查询)
运维·服务器·网络·网络协议·http
YJlio39 分钟前
Registry Usage (RU) 学习笔记(15.5):注册表内存占用体检与 Hive 体量分析
服务器·windows·笔记·python·学习·tcp/ip·django
阿巴~阿巴~1 小时前
打通局域网“最后一公里”:ARP协议原理、流程与安全解析
服务器·网络·网络协议·tcp/ip·tcp·ipv4·arp
阿巴~阿巴~1 小时前
从不可靠到100%可靠:TCP与网络设计的工程智慧全景解析
运维·服务器·网络·网络协议·tcp/ip·智能路由器
持续升级打怪中1 小时前
WebSocket:从“写信”到“打电话”的实时通信革命
网络·websocket·网络协议
三两肉1 小时前
深入理解 HTTPS RSA 握手:从原理到流程的完整解析
网络协议·http·https·rsa·tls四次握手
食咗未1 小时前
Linux iptables工具的使用
linux·运维·服务器·驱动开发·网络协议·信息与通信
阿巴~阿巴~1 小时前
从IP到MAC,从内网到公网:解密局域网通信与互联网连接的完整路径
服务器·网络·网络协议·架构·智能路由器·tcp·arp
liulilittle2 小时前
OPENPPP2 Code Analysis Three
网络·c++·网络协议·信息与通信·通信