You are not logged in.
I have some questions:
1)Is there a connection between slot in SD card and warp board id? If i use slot 0 does warp id needs to be 0?
2)In OFDM reference design Is ACK automatically sent only when txMacframe.header.pktType is equal to 1? So if i set i.e. txMacframe.header.pktType=4 ACK won't be sent?
Thank you
Offline
juvebogdan wrote:
1)Is there a connection between slot in SD card and warp board id? If i use slot 0 does warp id needs to be 0?
What do you mean by "board id"? The WARPLab Node ID is set with the User I/O dip switches. In the OFDM Reference Design, these same User I/O dip switches set the node ID. There is no connection between SD card slot and the Node ID.
juvebogdan wrote:
2)In OFDM reference design Is ACK automatically sent only when txMacframe.header.pktType is equal to 1? So if i set i.e. txMacframe.header.pktType=4 ACK won't be sent?
In this code of the OFDM Reference Design, you can see one of the conditions for generating an ACK that packet->header.pktType is PKTTYPE_DATA. In CSMAMAC, PKTTYPE_DATA is defined as 1. I'm not sure what pktType=4 is, since CSMAMAC only defines DATA and ACK packet types.
Offline
Thank you.
Also in dataFromNetworkLayer_callback, payload is parameter but i can't see where is it inserted in tx buffer
Offline
The payload is copied to the appropriate Tx packet buffer before the dataFromNetworkLayer_callback() method is called. This is handled by the Ethernet processing code (for Ethernet receptions) or the dummy packet generation code (for dummy packet mode). The payload argument is a pointer to the payload in the packet buffer. The MAC code can use this pointer to analyze the packet before transmission.
Offline
Thank you murpho. I have another question.
Can you explain me more mechanism of maintaining sequence number of packets. In CSMA.c two arrays are declared rxSequences[16] and txSequences[16] and in dataFromNetworkLayer_callback() function there is this line txSequences[destNode] = (txSequences[destNode] + 1) % 256 which is not clear to me. How can you access txSequences[destNode] when there is no such element? Elements of these arrays are not declared
Offline
In retrospect, the elements in the array should be explicitly initialized so that the sequence numbers always start at zero on boot. However, in practice this code works b/c it relies on the fact that BRAM is initialized to zero inside the FPGA when a bitstream is downloaded. As opposed to memory on embedded processors (for example DSPs, microcontrollers, etc) which is random on power up, when a bitstream programs the FPGA, all memories start at zero unless explicitly set to one by the bitstream. Not explicitly initializing variables in the program becomes an issue when you want to support a "soft reset" where you start execution of the code over but do not re-download the bitstream.
Based on this, you can see that all elements in txSequences start with a value of zero and then are incremented accordingly.
Offline
When i asked before in this topic is there a connection between node id and SD card slot i meant how does board knows from which slot of SD card to boot. SD card has 8 slots and it is possible to record different .bin files into different slots.
Offline
See the FPGA Configuration page in the Hardware User Guide for more information.
Offline