WARP Project Forums - Wireless Open-Access Research Platform

You are not logged in.

#1 2015-Feb-26 01:38:27

multiwarp
Member
Registered: 2014-Apr-15
Posts: 47

Ethernet receive regularly?

Hi,

Question about the 802.11 ref design. I was wondering how we can receive from ethernet regularly or at a higher frequency? I can see that it is a callback activated by interrupt, is the interrupt ensured to be as a fixed frequency? Is it possible to make this callback a fine schedule event using the SCHEDULE_FINE scheduler? A little observations from my experiments is that two boards are not receiving the same broadcasted message from ethernet coherently. Any suggestion to make that happen?

Thanks

Offline

 

#2 2015-Feb-26 09:00:43

chunter
Administrator
From: Mango Communications
Registered: 2006-Aug-24
Posts: 1212

Re: Ethernet receive regularly?

multiwarp wrote:

A little observations from my experiments is that two boards are not receiving the same broadcasted message from ethernet coherently. Any suggestion to make that happen?
Thanks

Can you clarify what you mean by "coherently"? You'd expect there to be some delay between receptions of a broadcast Ethernet frame. Most Ethernet switches don't broadcast to each port simultaneously -- they cycle through each port and transmit the same broadcast message.

Offline

 

#3 2015-Feb-26 11:49:23

multiwarp
Member
Registered: 2014-Apr-15
Posts: 47

Re: Ethernet receive regularly?

I see. That may very well be the cause. Nevertheless, correct me if i'm wrong. The interrupt for ethernet reception is triggered by hardware whenever there is indeed an ethernet packet comes in? Therefore, theoretically, if the switch is possible to send the packets together to two warp boards, they should have them by MAC HIGH at around the same time, right?

By coherent I mean when one warp receive a broadcast message from ethernet, the others connected to the same switch should have them as well.

Offline

 

#4 2015-Feb-26 12:04:10

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 5159

Re: Ethernet receive regularly?

The axi_dma core will trigger an interrupt when an Ethernet packet has been received. However if the MicroBlaze is already processing another interrupt (from the UART, timers, user IO, the IPC mailbox for wireless packet Tx/Rx, etc) it will not service the Ethernet Rx interrupt until the previous interrupt routine is complete. In other words interrupt service routines cannot be interrupted. Because these other events are asynchronous across nodes, the absolute time at which each node processes a given Ethernet Rx will be randomly distributed.

Offline

 

#5 2015-Feb-26 16:41:39

multiwarp
Member
Registered: 2014-Apr-15
Posts: 47

Re: Ethernet receive regularly?

OK. Then is it a good idea to make it a finely scheduled event? which only have 100us miss? How does the schedule event work with interrupts? Many thanks

Offline

 

#6 2015-Feb-26 22:14:29

welsh
Administrator
From: Mango Communications
Registered: 2013-May-15
Posts: 612

Re: Ethernet receive regularly?

First, taking a step back, what exactly are you trying to accomplish?

The current reference design has been configured to process incoming packets on Eth A as fast as possible.  While there will be some jitter from the time the packet is received to when the packet is processed due to the other interrupts that are occurring in the system, the overall latency is minimized with the current configuration. 

The scheduler uses a periodic interrupt from the Timer peripheral and then processes tasks that are required to be processed during at the given time interval.  If you want to see how the scheduler works, you can see the code in wlan_mac_schedule.c.  Specifically, you can see the interrupt handler callback here.

Offline

 

Board footer