静脉中的MAC层

时间:2018-11-20 06:44:37

标签: omnet++ veins

我正在使用omnet ++-5.4.1,vines-4.7.1和sumo-0.25.0来模拟车架传输。

关于WAVE的mac层中EDCA的行为,据我了解,可以通过以下计算获得发送的等待时间。

等待时间= AIFS [AC] +退避
AIFS [AC] = SIFS + AIFSN [AC] *时隙长度

但是,在Mac 1609_4.cc的startContent函数中,其编写方式如下

if (idleTime > possibleNextEvent) {
    DBG_MAC << "Could have already send if we had it earlier" << std::endl;
    //we could have already sent. round up to next boundary
    simtime_t base = idleSince + DIFS;
    possibleNextEvent =  simTime() - simtime_t().setRaw((simTime() - base).raw() % SLOTLENGTH_11P.raw()) + SLOTLENGTH_11P;
}

即使在仿真期间,也无需等待刚发生传输请求之后计算出的时间即可执行传输。

如上所述,认为尚未执行原始EDCA(CSMA / CA)的操作,并且未检测到信道的繁忙状态。

我对该Mac层了解得还不够?如果我错过了一些信息,请告诉我。

谢谢。

0 个答案:

没有答案