WARP Project Forums - Wireless Open-Access Research Platform

You are not logged in.

#1 2014-Jul-03 03:27:21

yeowl
Member
From: Cyberjaya
Registered: 2012-May-15
Posts: 44

802.11 Reference Design with Additional RF Selection

I would like add the support of RFC and RFD to the current 802.11 Reference Design. Where should I look to and where should I start? Are we able to modify the PHY transmitter and receiver for this?

Offline

 

#2 2014-Jul-03 08:06:59

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

Re: 802.11 Reference Design with Additional RF Selection

The PHY is actually already ready for the extra RF paths and currently supports 4-antenna selection diversity. To enable support for the FMC-RF-2X245 radio, you need to make some MHS and UCF constraint changes. The 4RF WARPLab project is a pretty good reference on how to do this. We are also working on a step-by-step write-up on how to do this specifically for the 802.11 design, but that won't be posted until next week at the earliest.

Offline

 

#3 2014-Jul-22 03:38:35

yeowl
Member
From: Cyberjaya
Registered: 2012-May-15
Posts: 44

Re: 802.11 Reference Design with Additional RF Selection

Can I just enable #define WLAN_4RF_EN in the wlan_mac_shared/wlan_mac_low_framework/include/wlan_phy_util.h to make this work? Or I required the wiring in hardware configuration as well?

Offline

 

#4 2014-Jul-22 03:39:57

yeowl
Member
From: Cyberjaya
Registered: 2012-May-15
Posts: 44

Re: 802.11 Reference Design with Additional RF Selection

Also, once I enable 4RF or maybe in 2RF case, can I conduct study which RF is selected on per packet basis?

Offline

 

#5 2014-Jul-22 08:38:19

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

Re: 802.11 Reference Design with Additional RF Selection

Can I just enable #define WLAN_4RF_EN in the wlan_mac_shared/wlan_mac_low_framework/include/wlan_phy_util.h to make this work? Or I required the wiring in hardware configuration as well?

No- the 802.11 Reference Design hardware project does not use the FMC-RF-2X245 module by default. You must modify the hardware project to connect the extra RF interfaces. I've started an app note that lists the requires changes: 802.11/wlan_exp/app_notes/four_radio.

Also, once I enable 4RF or maybe in 2RF case, can I conduct study which RF is selected on per packet basis?

Yes- the active Tx and Rx interface can be selected independently at any time from software in CPU Low. You must assure your code only changes the active antenna at a "safe" time. The hardware will let you change the active antenna mid-transmission / mid-reception, causing a packet loss. For switching the Tx antenna, the period of idle time post-Tx, pre-ACK would be safe. For the Rx antenna, it would be safe to switch while the PHY is blocked after receiving a packet.

Offline

 

#6 2014-Jul-24 04:09:17

yeowl
Member
From: Cyberjaya
Registered: 2012-May-15
Posts: 44

Re: 802.11 Reference Design with Additional RF Selection

After modifying the hardware file, I have tried to enable WLAN_4RF_EN in the software and also use the following addresses in the xparameters.h:

/* Definitions for driver W3_IIC_EEPROM_AXI */
#define XPAR_W3_IIC_EEPROM_NUM_INSTANCES 2

/* Definitions for peripheral W3_IIC_EEPROM_ONBOARD */
#define XPAR_W3_IIC_EEPROM_ONBOARD_DEVICE_ID 0
#define XPAR_W3_IIC_EEPROM_ONBOARD_BASEADDR 0x70400000
#define XPAR_W3_IIC_EEPROM_ONBOARD_HIGHADDR 0x7040FFFF

/* Definitions for peripheral W3_IIC_EEPROM_FMC */
#define XPAR_W3_IIC_EEPROM_FMC_DEVICE_ID 1
#define XPAR_W3_IIC_EEPROM_FMC_BASEADDR 0x70410000
#define XPAR_W3_IIC_EEPROM_FMC_HIGHADDR 0x7041FFFF

However, I have encounter the following problem:

First ADI SPI read was wrong: addr[5C]=0x00000808 (should be 0x08080808), addr[72]=0x00000101 (should be 0x01010101)
Asserting AD9963 resets
.....

What could be the problem?

Offline

 

#7 2014-Jul-24 09:21:18

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

Re: 802.11 Reference Design with Additional RF Selection

There is something wrong with the ad_controller_axi.  If you look, this error message is in the ad_init() function and means that you were not able to talk to the SPI controllers for the AD9963s on the FMC board (the current values mean you were only talking to the on-board AD9963s).

Please check the connections of that block and make sure that it is properly connected to the top level pins.  Also, the parameter: 

Code:

PARAMETER INCLUDE_RFC_RFD_IO = 1

is very important to add to that module.

Offline

 

#8 2014-Jul-24 10:13:21

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

Re: 802.11 Reference Design with Additional RF Selection

Also, did you modify both system.mhs and data/system.ucf? The MHS modifications add the new cores and internal connections. The UCF modifications connect the new internal signals to the correct top-level pins. Both must be updated to use the FMC RF interfaces.

Offline

 

#9 2014-Jul-24 21:09:58

yeowl
Member
From: Cyberjaya
Registered: 2012-May-15
Posts: 44

Re: 802.11 Reference Design with Additional RF Selection

murphupo, yes, I modified both but with mistake. Now, working for 4 antennas.

As pointed out by welsh, I missed out the PARAMETER INCLUDE_RFC_RFD_IO. It should be set 1 instead of 0.

Sorry for the noise.

Last edited by yeowl (2014-Jul-24 22:17:37)

Offline

 

#10 2014-Jul-24 22:18:32

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

Re: 802.11 Reference Design with Additional RF Selection

The parameter is there, however the description is not "INCLUDE_RFC_RFD_IO".

If you double click on the w3_ad_controller_0 component, you will see:  "Include BUFIOs for SPI control of RFC and RFD. Only enable when using FMC-RF-2X245 module." and a check box.  If you hover over that, it will bring up the actual parameter, INCLUDE_RFC_RFD_IO.

Alternatively, you can look in the mpd file for the ad controller in:  edk_user_repository\WARP\pcores\w3_ad_controller_axi_v3_02_a\data\    The mpd files will have the ports and the parameters supported by the module.

Offline

 

Board footer