This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AWR2944: AWR2944 phase shiftier calibration

Part Number: AWR2944

Hi expert:

  My company are developing some applications using AWR2944,I have some questions when using SDK mmwave_mcuplus_sdk_04_02_00_03,

as below,

1.I have designed TDMA mode for phase shiftier calibration, can we only calibrate the phase shiftier code partly?(Only the phase we use in DDMA mode )

2.There is no definition for Tx3, only Tx0 to Tx2.

3.The command in rlPhShiftCalibrationStore_t describe there are different cyclic shift for every Tx, but I have tested using rlRfPhShiftCalibDataStore API, The calibration data seem look in same order

Data stored in phaseShiftCalibData

(Tx0 :0 27 48 66 82 96 109 122 133 145 156 169 183 198 215 235 261 286 305 321 335 347 358 369 379 389 399 411 423 437 453 472... 

 Tx1:0 27 48 66 82 96 109 122 133 145 156 169 183 198 215 235 261 286 305 321 335 347 358 369 379 389 399 411 423 437 453 472...)

4. In DDMA mode, we need to use the phase shiftier to generate orthogonal signal for each Tx, the phase code word for phase shiftier is 5.625 degree one step, how can we calibrate the phase shiftier for better orthogonality since we need continuous phase by using phase shiftier?

(Ex: Expected phase for Tx: 0 300 240 180 120 60 0.... Actually: 0(0) 298.125(53) 236.25(42) 180(32) 118.125(21) 56.25(10))

Thanks for reply

Lin Henry

  • Hi,

        Can you please try the new mmWave mcuplus SDK 4.3.0.1 available on ti.com? I think with that you must be able to overcome your issues.

        Also in SDK 4.2.0.3, tou can refer to the function MmwDemo_configPhaseShifterChirps in mss_main.c under the path C:\ti\mmwave_mcuplus_sdk_04_02_00_03\mmwave_mcuplus_sdk_04_02_00_03\ti\demo\awr294x\mmw\mss\mss_main.c to get more information on how the phase shifter is done for 4-Tx.

       Let me know if you have any questions.

    Thanks and Regards,

    Akshay

  • Hi Akshay:

      I have downloaded SDK 4.3.0.1 and there still the same command in rlPhShiftCalibrationStore definition as below

    There still do not have the definition of Tx3.

    Can you help me to confirm the data format of calibration structure and the phase compensation mechanism behind the calibrating each code word of phase shiftier?

    Thanks for reply

    Lin Henry

  • Hi Lin,

              Please find the snip from mmWave DFP 02_04_05_00 in mmWave SDK 4.3.0.1:

          Can you please confirm if use of this solves your issue?

          Let me know if you have any questions.

    Thanks and Regards,

    Akshay

  • Hi Akshay:

      There definition of Tx3 is clearly for your attachment, but there still some hesitations about phase shiftier calibration,

    Let me describe the procedure as below,

    1.Turn off FW based boot time phase shiftier calibration

    2.Set 4 Tx in TDMA mode and the phase for the chirp sequences

    [Tx0code0 Tx0code1.... Tx0code63 Tx1code0 Tx1code1... Tx1code63... Tx3code0 Tx3code1 Tx3code63]

    3.Calculate the phase and stored in flash in increment order (n = 0 1 2 3 ~63)

    gCalibDataStorage.phaseShiftCalibData.PhShiftcalibChunk[0].observedPhShiftData = {0,27,48,66,82....}
    gCalibDataStorage.phaseShiftCalibData.PhShiftcalibChunk[1].observedPhShiftData = {0,27,48,66,82....}

    gCalibDataStorage.phaseShiftCalibData.PhShiftcalibChunk[2].observedPhShiftData = {0,27,48,66,82....}

    gCalibDataStorage.phaseShiftCalibData.PhShiftcalibChunk[3].observedPhShiftData = {0,27,48,66,82....}

    4.Re start the sensor and read the data from flash、 restored the calibration data,after that, open the sensor.

    I have collected the phase response after calibration and the results are incorrectly and I have already checked the read/write function flash, it work.

    Thanks for reply

    Lin Henry

  • Hi Lin,

    Can you specify if you have set the TX index in your application code. (See one example config below)

    phShiftCalibData.PhShiftcalibChunk[0].txIndex=0.
    Also, can you specify what value you are setting in the structure member below.
    phShiftCalibData.PhShiftcalibChunk[0].calibApply 
    Thanks,
    Pradipta.