TI中文支持网
TI专业的中文技术问题搜集分享网站

AWR2243: 移相器校准

Part Number:AWR2243

我想请问一下我们用AWR2243芯片级联时,用了移相器,在做移相器校准时,参考了“Cascade Coherency and Phase Sifter Calibration Application Note”这篇文章,我们打算使用角反进行移相器校准,调用了AWR PHASE SHIFTER CAL DATA RESTORE SB接口,我们使用这个接口时,遇到了以下问题:

1.我想问下bite[0]和bite[1]的顺序问题,比如我现在有一个数258,它的二进制是100000002,那我应该在字节1中存储00000001,字节0中存储00000002,还是字节1中存储00000002,字节0中存储00000001呢?

2.利用角反收集数据时,对每根天线可能的移相值(5.625的倍数)都需要配在同一个frame里么?还是只需要配我们所需要用的移项值?如果是后者,其它我们没有使用到的移相值应该怎么处理,传入的相位值写0么?还是相应的相位值,如移相5.625°,我们没有使用到,那么我们在接口输入移相值时,应该输入5.625,还是0?

3.即使我们使用了某个移相值,如5.625,我们测得移项为0时,得到的角反相位为1°,移项为5.625时,我们理论上得到的角反相位是6.625°,实际利用角反测得的相位为6.5°,那么我们在接口中对应移相值5.625传入的参数应该是什么?是6.5,还是6.5-1=5.5,还是6.5-6.625=-0.125呢?

Gary Lu:

您好

回答您第一个问题:在C语言中,整型数据会根据平台的不同以不同的字节顺序存储。一般来说,有两种主要的字节顺序:大端序(Big-endian)和小端序(Little-endian)。在大端序中,高位字节会被存储在低地址中,低位字节会被存储在高地址中。而在小端序中,高位字节会被存储在高地址中,低位字节会被存储在低地址中。对于您提到的数值258,它的二进制表示为100000002。根据您的描述,我们可以将其转换为两个字节进行存储。如果您希望字节1中存储00000001,字节0中存储00000002,则说明您倾向于使用大端序。在这种情况下,您需要按照高位字节在前、低位字节在后的顺序进行存储。如果您希望字节1中存储00000002,字节0中存储00000001,则说明您倾向于使用小端序。在这种情况下,您需要按照低位字节在前、高位字节在后的顺序进行存储。对于具体的操作,你可以使用C语言中的位操作或者类型转换来实现。下面是我自己敲写的一个示例代码,展示了如何将一个整型数按照指定的字节顺序进行存储:

#include <stdio.h>unsigned int swapEndian(unsigned int num) {unsigned int result = ((num >> 24) & 0xff) | // 取得高位字节,移到最低位((num >> 8) & 0xff00) | // 取得次高位字节,移到次低位((num << 8) & 0xff0000) | // 取得次低位字节,移到次高位((num << 24) & 0xff000000); // 取得低位字节,移到最高位return result;
}int main() {unsigned int num = 258;unsigned char *bytes = (unsigned char *)&num;printf("Original: %02x %02x\n", bytes[0], bytes[1]);unsigned int swapped = swapEndian(num);bytes = (unsigned char *)&swapped;printf("Swapped: %02x %02x\n", bytes[0], bytes[1]);return 0;
}

,

Gary Lu:

您好,对于第二三问题,我已咨询e2e工程师,这需要一些时间,谢谢!

,

Chenke:

当我们把参数传给接口AWR PHASE SHIFTER CAL DATA RESTORE SB时,需要把不同移相的值传入到一个数组byte中,我们并不知道接口是怎么样处理byte内部的数据的,所以我不知道接口要求大端序还是小端序,这应该跟你们设计的接口有关,你可以告诉我们么?还是以258的例子,我应该以byte[0]=00000001,byte[1]=00000002传入,还是以byte[0]=00000002,byte[1]=00000001传入?我这里的byte指的是我提问中的图片里的byte数据,我们的具体的数据接口是下面图片这样的,我们要把数据传到observedPhShiftData这个128元素的数组中。

,

Gary Lu:

您好,您能否提供有关您计划使用的角度反演的更多信息?

,

Chenke:

我们就是将角反射器摆在雷达前面30米处位置,你说的角度反演是指角反射器么?你们想要什么信息?我们的电磁波会通过角反被接收天线收到,对于每根发射天线和接收天线以及移相器的值,我们会得到一个相位,我想要知道我们接口中输入的参数是不是就是这个相位值,还是需要做一些操作,如我在问题中提到的那些操作,我不知道这跟角反射器有什么关系?

,

Gary Lu:

已跟进

,

Chenke:

我们已经通过实验确定了API的用法,但是我们还有一个问题,就是我们的AWR2243芯片是四块级联,我们一共有12根发射天线,12*64=768,也就是说,我们需要在同一帧内配768个chirp,但是一帧内应该只能配512个chirp,关于这个问题我们应该怎么处理呢?或者我们对每根天线不需要配64个chirp,只需要配我们使用到的移相值,那我们那些不使用的移相值怎么处理呢?

,

Gary Lu:

您好,已经反馈您的回复,我这边会继续跟进,谢谢

,

Gary Lu:

您好,

很高兴听到您能够确定 API 的使用情况。

我相信每个 Tx 都会有一定的相移,这会在 12 个线性调频脉冲计数中体现出来。如果我的理解有误,请指正。
每组 64 个线性调频脉冲是彼此唯一的还是连续循环的 12 个相同的线性调频脉冲?
您能否在这里提供更多详细信息:“也就是说,我们需要在同一帧中拥有 768 个线性调频信号,但在一帧中我们只应该有 512 个线性调频信号 ”?

赞(0)
未经允许不得转载:TI中文支持网 » AWR2243: 移相器校准
分享到: 更多 (0)