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协议格式变更
相关推荐
w1wi10 小时前
安卓抓包完全指南(一):从入门到 SSL Pinning 绕过
android·网络协议·ssl
牛奶12 小时前
抛弃TCP改用UDP,HTTP3疯了吗?
前端·tcp/ip·http3
TechWayfarer13 小时前
IP归属地API实战指南:用IP数据云解析日志挖掘用户地域分布
大数据·开发语言·网络·python·tcp/ip
刘马想放假13 小时前
OpenVPN 深度解析:从协议原理到生产实践
运维·网络协议
00后程序员张14 小时前
HTTPS单向认证、双向认证、抓包原理与反抓包策略详解
网络协议·http·ios·小程序·https·uni-app·iphone
2601_9577875814 小时前
多平台矩阵账号防关联技术深度解析:2026年IP隔离与设备指纹的攻防战
网络·tcp/ip·矩阵
June bug15 小时前
Failed to fetch+HTTP 422=Agent ID 不匹配
网络·网络协议·http
切糕师学AI17 小时前
计算机网络中的 TTL:从 IP 到 DNS 的全面解析
tcp/ip·计算机网络·dns·ttl
minji...17 小时前
Linux 网络基础之传输层协议TCP(九)从内核源码的角度打通系统与网络之间的关系,套接字多态的体现
linux·运维·服务器·网络·网络协议·tcp/ip·http
想唱rap18 小时前
IO多路转接Select
运维·服务器·网络·数据库·sql·tcp/ip·mysql