omnet AFDX各模块功能介绍

ES模块

1. AFDXMessagesource模块

是queueing::source的派生类

实现功能:①派生类的createjob函数覆盖基类的createjob函数

                 ②createjob函数生成一个AFDXMessage类型的消息,消息中含有virtualLinkId(在ini文件中为intuniform(0,3))

2.RegulatorLogic模块

实现功能:流量整形,同一VL的两相邻帧间隔时间>BAG

3.RedundancyController模块

实现功能:①首先设置消息的seqNum从0开始,按顺序加1

                  ②设置消息的InterfaceId,A链路为1,B 链路为2

3.txQueue PassiveQueue模块

实现功能:①按照队列是堆或栈,发送消息

                  ②按照发送算法优先级、轮询等发送消息

4.MAC模块

实现功能:①作为发送端,设置帧长度+8,发送消息至链路

                  ②作为接收端,设置帧长度-8,接收消息并发送至integritychecker

                  ③添加MAC约束,设置帧间隔IFG

5.IntegrityChecker模块

实现功能:①去除顺序号重复的帧expectedSeqNum = currSeqNum + 1

                  ②增强鲁棒性    expectedSeqNum = currSeqNum + 2

6.RedundancyChecker模块

实现功能:①按顺序接收帧

②大于SKEW MAX的帧都会被保留,复位时间大于skew max

switch模块(分了两部分,switchPort、switchFabric)

switchPort中mac模块同上

1.FrameFilter模块

实现功能:检验接收帧的大小是否在Lmax、Lmin之间

在自己编写的这部分程序中,原本使用的getModuleBypath("^.^.^.ES0.RegulatorLogic")获得Lmax、Lmin的参数,但这样做的问题就是一旦修改ES0的名字,程序就崩溃了。这也是我返回来重新梳理这个程序的原因。

omnet报错:Simulation terminated with exit code: -1073741819(而且没有的debug,错误在哪里,我看到网上有人说这种错误代码也可能是数组索引越界的问题)

2.TrafficPolicy模块

实现功能:流量管制算法,AC以Lmax/BAG的速度增长

omnet:在ini文件中,jitter单位为1ms,若在ned文件中定义double jitter @unit(s),则.cc程序中实际存储jitter值为0.001

switchFabric模块

1.Classifier模块

实现功能:根据帧的kind,获得输出门 (0->high queue,1->low queue)

INFO:priorityclassifer kindname1
INFO:className:afdx::AFDXMessage
INFO:fullName:
INFO:fullPath:simpleAFDXExampleNetwork.switchA.switchFabric.priorityClassifier.
INFO:info:len=128B src=simpleAFDXExampleNetwork.switchA.switchPort[0].trafficPolicy (id=35) dest=simpleAFDXExampleNetwork.switchA.switchFabric.priorityClassifier (id=130)
INFO:name:
INFO:owner:
INFO:schedulingPriority:0
INFO:targetObject:
INFO:isScheduled:false
INFO:arrivalTime:1.00001088s
INFO:id:33
INFO:treeId:33
INFO:kind:0
INFO:displayString:
INFO:controlInfo:
INFO:parList:
INFO:isSelfMessage:false
INFO:creationTime:1s
INFO:sendingTime:1.00001088s
INFO:timestamp:1.00001088s
INFO:senderModuleId:35
INFO:senderGateId:3
INFO:senderModule:
INFO:senderGate:
INFO:arrivalModuleId:130
INFO:arrivalGateId:1048576
INFO:arrivalModule:
INFO:arrivalGate:
INFO:bitLength:1024
INFO:byteLength:128
INFO:hasBitError:false
INFO:encapsulatedPacket:
INFO:isReceptionStart:false
INFO:duration:0s
INFO:priority:1
INFO:totalQueueingTime:0s
INFO:totalServiceTime:0s
INFO:totalDelayTime:0s
INFO:queueCount:0
INFO:delayCount:0
INFO:generation:0
INFO:networkId:0
INFO:equipmentId:0
INFO:interfaceId:1
INFO:virtualLinkId:1
INFO:seqNum:0
INFO:partitionId:0
INFO:udpSrcPort:1234
INFO:udpDestPort:5678
INFO:priprity classifer kind result0

2.high queue、low queue模块同passive queue 模块

3.schedueler模块同server模块

4.router模块

实现功能:虚拟链路ID+1或-1门,待完善

 passivequeue、server模块

1.passivequeue模块

实现功能:如果server为空,直接发送帧;server非空,将帧插入队列

2.server模块

实现功能:接收queue发来的帧,且根据算法request前面的队列给其发帧

omnet AFDX各模块功能介绍

上一篇:linux 安装php8


下一篇:php 快速导出Excel的方式