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协议格式变更
相关推荐
我在人间贩卖青春2 小时前
UDP协议
网络·网络协议·udp
m0_549314863 小时前
BIG-IP 介绍 2
tcp/ip·安全·负载均衡·big-ip·f5
卓码软件测评3 小时前
【第三方软件测试测评机构:使用LoadRunner测试HTTPS/SSL协议应用的配置和证书处理 】
网络协议·测试工具·https·测试用例·ssl
七夜zippoe3 小时前
gRPC高性能RPC框架实战:从Protocol Buffers到流式传输的完整指南
网络·python·网络协议·rpc·protocol
一路往蓝-Anbo3 小时前
第 1 篇:对象池模式 (Object Pool) —— 裸机下的动态内存革命
jvm·数据库·stm32·单片机·嵌入式硬件·网络协议·tcp/ip
冀辉4 小时前
局域网部署时实现基于https的业务系统访问
网络协议·http·https
七夜zippoe5 小时前
WebSocket实时通信系统构建:从握手协议到生产级实战
网络·python·websocket·网络协议·心跳
我送炭你添花5 小时前
树莓派 3B+ 部署 TR-069 ACS(自动配置服务器)GenieACS 实录
运维·服务器·网络协议
乐维_lwops5 小时前
利用Zabbix监控指定IP列表的ping
网络·tcp/ip·zabbix
bubiyoushang8885 小时前
C#开发的TCP/UDP网络调试助手
tcp/ip·udp·c#