WARP Project Forums - Wireless Open-Access Research Platform

You are not logged in.

#1 2008-Oct-21 14:30:10

Amir
Member
Registered: 2007-Jun-18
Posts: 92

Radio board calibration problem

We received a new batch of radio boards (v1.4) recently. I loaded the TX DCO calibration bit-stream (the most recent one from TxDCOffset page) and noticed that none of the boards had been pre-calibrated. So I successfully initialized the EEPROM and proceeded with the calibration. The write and readback of the new values to all radio boards were successful and I did not receive any error messages during the whole process.

Then I loaded the reference design v08 bitstream and to my surprise the I/Q values reported at initialization were back to 0/0 for both radios. Then I reloaded the DCO calibration bit-stream and verified that the new non-zero I/Q values were still there but for some reason the reference design bit-stream is not able to load them and reports 0.

Offline

 

#2 2008-Oct-21 22:42:12

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

Re: Radio board calibration problem

Earlier this year we discovered a bug with the way TxDCO values were written to the EEPROM. The values were being stored at a bad address, one also used for other things. We fixed this by relocating the TxDCO values. New radios (anything shipped since May) are calibrated properly with the values stored at the new, final address.

Reference design v08 used the old (bad) address. You can see this in the version of warpphy.c from v08 (svn r834 - line 827):

Code:

calReadback = WarpEEPROM_ReadRadioCal((unsigned int*)XPAR_EEPROM_BASEADDR, 2, 0);

The new code (svn r1111 - line 992):

Code:

calReadback = WarpEEPROM_ReadRadioCal((unsigned int*)XPAR_EEPROM_BASEADDR, 2, 1);

That last parameter maps to the EEPROM address and needs to be 1. The TxDCO calibration program we provide will write the values to the correct address. You can safely re-run the calibration anytime to double check or update the values stored in the EEPROM.

Offline

 

#3 2008-Oct-22 09:45:41

Amir
Member
Registered: 2007-Jun-18
Posts: 92

Re: Radio board calibration problem

So in my case, if I want to keep using reference design v08 code with both pre and post-May radio boards, would it suffice to change the XPAR_EEPROM_CONTROLLER base and high addresses in the xparameters.h file to the new addresses, do the above change in the warpphy.c, and recalibrate?

Last edited by Amir (2008-Oct-22 09:47:17)

Offline

 

#4 2008-Oct-22 10:18:52

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

Re: Radio board calibration problem

Don't change the base/high address parameters; those are fixed by the hardware design. You need to change the last argument to the WarpEEPROM_ReadRadioCal function from 0 to 1 (this number corresponds to an address inside the EEPROM, not its address on the bus).

Offline

 

#5 2008-Oct-22 12:08:27

Amir
Member
Registered: 2007-Jun-18
Posts: 92

Re: Radio board calibration problem

Thanks. That solved the problem.

Offline

 

Board footer