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.

[参考译文] AWR1642:如何在 MMW 演示中从 TI 读取 ADC 原始数据。

Guru**** 2540720 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/626230/awr1642-how-to-read-adc-raw-data-from-ti-in-mmw-demo

器件型号:AWR1642

您好!

在 MMW 演示中、我尝试使用以下代码更改来读取一个线性调频脉冲的原始 ADC 数据、请确认是否正确。

1) dss_main.c:从 obj->ADCdataBuf 读取原始数据到  MmwDemo_dssSendProcessOutputToMSS()函数中的 UART 本地缓冲区 ptrCurrent Buffer。

/*发送原始数据信息*/


itemPayloadLen = obj->numRx天 线*obj->numRangeBins*sizeof (cmplx16Reim_t);
totalHsmSize += itemPayloadLen;
if (totalHsmSize > outputBufSize)

RetVal =-1;
转到出口;

memcpy (ptrCurrent Buffer、(void *) obj->ADCdataBuf、itemPayloadLen);
for (i=0;i numRangeBins*obj->numRx天 线;i++)

校验和=校验和+obj->ADCdataBuf[i].Real;
校验和=校验和+obj->ADCdataBuf[i].imag;


iptr1 =(int32_t *)((uint32_t) ptrHsmBuffer + totalHsmSize);
//iptr1[0]=校验和;
itemPayloadLen = itemPayloadLen+4;//4用于校验和
totalHsmSize += 4;//4用于校验和

message.body.detObj.tlv[tlvIdx].length = itemPayloadLen;
message.body.detObj.tlv[tlvIdx].type = MMWDEMO_OUTPUT MSG_STATS;//当前为虚拟
message.body.detObj.tlv[tlvIdx].address =(uint32_t) ptrCurrent Buffer;;
tlvIdx++;

/*递增指向 HSM 缓冲区的指针*/
ptrCurrent Buffer =(uint8_t *)((uint32_t) ptrHsmBuffer + totalHsmSize);
//totalPacketLen += sizeof (MmwDemo_output_message_tl)+ itemPayloadLen;//不递增、以便可以将相同的代码与 TI GUI 一起使用

2) MSS_main.c:在 MmwDemo_mboxReadTask()中将原始 ADC 数据从本地 UART 缓冲区发送到 PC。

3) Scilab 中 ADC 数据的原始图和 FFT 图。

4) 4)用于绘制原始数据的 Scilab 代码。





NumAdcSamples = 256;
ComplexSamples =(2个 NumAdcSamples);
ChRawDataStartIndex = 2;
Numch = 4;

Ch1Start = 2;
Ch1End =(Ch1Start+ComplexSamples-1);
Ch2Start = Ch1End+1;
Ch2End =(Ch2Start+ComplexSamples-1);
Ch3Start = Ch2End+1;
Ch3End =(Ch3Start+ComplexSamples-1);
Ch4Start = Ch3End+1;
Ch4End =(Ch4Start+ComplexSamples-1);

B = Read_csv (D:\ScilabModel\DataRawAdc1.csv'、'、'、'、'可');
Tag = evstr (B (B (:1)));

Temp1 = size (B);
TotFrames = Temp1 (1);

对于 frm=1:TotFrames
如果 ch=1:Numch
startIndex = ChRawDataStartIndex+((ch-1)* ComplexSamples);
EndIndex = startIndex+ComplexSamples-1;
RawIQ (ch、:)= evstr (B (frm、startIndex:EndIndex));
Rawi (ch、:)= RawIQ (ch、1:2:ComplexSamples);
RawQ (ch、:)= RawIQ (ch、2:2:ComplexSamples);
cmplxIq (ch、:)= Rawi (ch、:)+sqrt (-1)* RawQ (ch、:);
//D1 = CmplxIQ (ch、(64+1):(64+64));
FFTCMPLxIQ (ch、:)= FFT (CMPLxIQ (ch、:));
PHASE_FFTCmplxIQ (ch、:)= atan (imag (FFTCmplxIQ (ch、:))、Real (FFTCmplxIQ (ch、:))));
//FFTCMPLxIq = FFT (D1);
//Phase_FFTCMplxIq = atan (imag (FFTCMplxIq)、Real (FFTCMplxIq));

SCF (1);
CLF(1);
抽取();
Subplot (3、1、1);plot (Rawi (ch、:)');plot (RawQ (ch、:)');
标题("通道、IQ");
子图(3、1、2);图(abs (FFTCMplxIQ (ch、:)'));
//子图(3、1、2);图(abs (FFTCMplxIQ'));
标题("通道、Mag FFT IQ");
子图(3、1、3);图(Phase_FFTCmplxIQ (ch、:)');
//子图(3、1、3);图(Phase_FFTCmplxIQ');
标题("通道、相位 FFT IQ");
drawnow ();
睡眠(100);
结束结束


  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Maruthi、  

    就"C"代码而言、它看起来是正确的。 确保"帧周期"足够大、以便通过 UART 传输额外的数据。  

    除了前几个样本中的毛刺脉冲外、您正在绘制的 ADC 数据看起来也很好。 您能否绘制其他通道的前几个 ADC 样本? 并查看是否出现了该干扰? 还要确保符号扩展算法正常工作。 nbsp;

    此致、

    Anil

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Anil:

    谢谢、我也看到了其他通道中的干扰、请查看所附图像、其中包含所有4个通道的64个样本。

    此致、

    Maruthi。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Maruthi。  

    您能否共享用于此捕获的配置文件、尤其是配置文件和线性调频脉冲配置的行。 提供的空闲时间可能不足以满足您的配置。  

    让我与同事核实一下。  

    此致、

    Anil

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Anil:

    使用以下配置。

    sensorStop
    FlushCfg
    DfeDataOutputMode 1
    通道配置15 3 0
    ADCfg 2 1.
    AdcbufCfg 0 1 1
    ProfileCfg 0 77 3 56 0 8 1 256 5000 0 30
    线性调频脉冲配置0 0 0 0 0 0 0 0 1
    线性调频脉冲配置1 1 0 0 0 0 2
    帧配置0 1 64 0 100 1 0
    低功耗0 0
    guiMonitor 1 1 0 1
    cfarCfg 0 8 4 0 5000
    cfarCfg 1 0 8 4 0 5000
    PeakGrouping 1 1 1 224
    multiObjBeamForming 0 0.5
    calibDcRangeSig 1-5 8 256
    sensorStart


    此致、
    Maruthi。