locked
About ACK timer RRS feed

  • Question

  • 你好!

        感觉问题难于用英语描述,还是用母语吧,见谅啊。

        目前我们打算利用Sora实现MAC状态机,其中主要包括BackOff,DIFS,SIFS,以及时隙,并且这些值与802.11a相同。我们在文件umxsdr中做了相应的更改,去除了一些伪功能帧,只是保留了ACK帧,BEACON帧,为便于测试,我们的数据帧并不是来自TCP/IP层,即我们将 hr = SoraUGetTxPacket(&packet, (VOID**)&addr, &len, 10);做了相应替换,生成特定个数的数据帧,以供测试用。我们使用QueryPerformanceCounter()等函数来实现us级别的计时。由于在Sora中没有CCA检测的过程,只有 BB11ARxCarrierSense(),而 BB11ARxCarrierSense()中可以检测到信号的到来与否,其中源程序用了三次延迟相关,为了实现类似的CCA检测,所以我们先实现一次延迟相关,如果成功,则说明CCA成功,然后在做两次延迟相关,如果成功,则说明有数据到来,接下来再执行BB11ARxFrameDemod()函数,即我们将原来的BB11ARxCarrierSense()函数做了拆分,以完成CCA类似功能。当我们进行程序调试的时候,发现A向B发送数据(现在不收发BEACON帧),与原来程序中机制相同,B马上启动ACK回复,A也在发送完毕数据的同时马上转入ACK的接收处理,我们发现A从CCA检测成功到完成BB11ARxCarrierSense()且显示BB11A_OK_POWER_DETECTED的过程为1000us左右,也即A发送完毕数据等待到ACK的时常为1000us左右,我们在测试中A向B发送了100个数据帧,A收到100个ACK,但是A等待ACK的时常基本在1000us左右,这样ACK的时常远远超出了802.11a的规定。

    不知道是不是我们程序的问题,还是其他原因,望赐教。

    Thursday, April 18, 2013 2:33 PM

Answers

  • Hi buptboy,
    So your question is why your modified 'umxsdr' program cannot meet 802.11a timing limitation. Because we did not check your source code, we can only give you general guess and suggestions.
    1. I am not sure which version of SoraSDK are you using. If you check latest SoraSDK v1.8 and the source code of 'umxsdrbrick', you will find refined implementation of 802.11a/b brick based baseband, and more complete MAC implementation, including BackOff/DIFS etc. We have tested it with commercial Wifi router, and the timing meets 802.11a limitation.
    2. If your modification cannot meet timing limitation, please test it with commercial Wifi router
    3. If you want to measure the ACK response time accurately, please use another Sora machine only to listen the Sora-Commercial router communication. You can either dump file (most accurate), or do real time time measurement.

    Any more questions, please let us known.

    -Qi

    Hi!

    I find that the umxsdrbrick is based on the 802.11a/b brick based baseband. As we are sure not to finish the MAC based on the 802.11a/b brick based baseband.So I'd like to konw whether we can make it without brick based baseband. I mean if I continue do MAC with SDK1.6,could it be accomplished. If you could split some time to check our code, I would rather appreciate it. Meanwhile, if we could overcome it ,we hope we can do it by ourselves. If you'd like to contract us,our email is zhipeng0520@126.com.

    Thank you very much!

    • Marked as answer by buptboy Monday, April 22, 2013 3:39 PM
    Friday, April 19, 2013 8:17 AM

All replies

  • Hi buptboy,
    So your question is why your modified 'umxsdr' program cannot meet 802.11a timing limitation. Because we did not check your source code, we can only give you general guess and suggestions.
    1. I am not sure which version of SoraSDK are you using. If you check latest SoraSDK v1.8 and the source code of 'umxsdrbrick', you will find refined implementation of 802.11a/b brick based baseband, and more complete MAC implementation, including BackOff/DIFS etc. We have tested it with commercial Wifi router, and the timing meets 802.11a limitation.
    2. If your modification cannot meet timing limitation, please test it with commercial Wifi router
    3. If you want to measure the ACK response time accurately, please use another Sora machine only to listen the Sora-Commercial router communication. You can either dump file (most accurate), or do real time time measurement.

    Any more questions, please let us known.

    -Qi

    • Proposed as answer by Qi LuoEditor Friday, April 19, 2013 4:12 AM
    • Marked as answer by buptboy Friday, April 19, 2013 6:11 AM
    • Unmarked as answer by buptboy Friday, April 19, 2013 8:19 AM
    Friday, April 19, 2013 2:25 AM
    Answerer
  • Hi buptboy,
    So your question is why your modified 'umxsdr' program cannot meet 802.11a timing limitation. Because we did not check your source code, we can only give you general guess and suggestions.
    1. I am not sure which version of SoraSDK are you using. If you check latest SoraSDK v1.8 and the source code of 'umxsdrbrick', you will find refined implementation of 802.11a/b brick based baseband, and more complete MAC implementation, including BackOff/DIFS etc. We have tested it with commercial Wifi router, and the timing meets 802.11a limitation.
    2. If your modification cannot meet timing limitation, please test it with commercial Wifi router
    3. If you want to measure the ACK response time accurately, please use another Sora machine only to listen the Sora-Commercial router communication. You can either dump file (most accurate), or do real time time measurement.

    Any more questions, please let us known.

    -Qi

    Hi!

    I find that the umxsdrbrick is based on the 802.11a/b brick based baseband. As we are sure not to finish the MAC based on the 802.11a/b brick based baseband.So I'd like to konw whether we can make it without brick based baseband. I mean if I continue do MAC with SDK1.6,could it be accomplished. If you could split some time to check our code, I would rather appreciate it. Meanwhile, if we could overcome it ,we hope we can do it by ourselves. If you'd like to contract us,our email is zhipeng0520@126.com.

    Thank you very much!

    • Marked as answer by buptboy Monday, April 22, 2013 3:39 PM
    Friday, April 19, 2013 8:17 AM