MMWAVE-STUDIO: 利用MMWAVE-DSP-EVM与MMWAVE-RF-EVM级联配置单发单收采集

Part Number: MMWAVE-STUDIO

尊敬的Ti工程师你们好,我现在利用MMWAVE-DSP-EVM与MMWAVE-RF-EVM级联配置单发单收进行数据采集,这是我修改的官方的Cascade_Configuration_MIMO脚本:

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
--[[
Sequence being followed
A. CONFIGURATION
1. Connecting to TDA
1. Configuring Master from SOP till Channel Config
2. Configuring Slave (i) sequentially from SOP till SPI Connect. i = 1, 2, 3
3. Configuring Slaves together from F/W download till Channel Config
4. Configuring all devices together from LDO Bypass till Frame Config
NOTE:
Update the following in the script accordingly before running
1. metaImage F/W path on line 32
2. TDA Host Board IP Address on line 39
--]]
----------------------------------------User Constants--------------------------------------------
dev_list = {1, 2, 4, 8} -- Device map
RadarDevice = {1, 0, 0, 0} -- {dev1, dev2, dev3, dev4}, 1: Enable, 0: Disable
cascade_mode_list = {1, 2, 2, 2} -- 0: Single chip, 1: Master, 2: Slave
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
在这份为了配置单发单收而修改后的脚本里,我做的主要改动是:
Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
RadarDevice = {1, 0, 0, 0} -- {dev1, dev2, dev3, dev4}, 1: Enable, 0: Disable
function Configure_Chirps(i)
if (i == 1) then
-- Chirp 0
if (0 == ar1.ChirpConfig_mult(dev_list[i], 0, 0, 0, 0, 0, 0, 0, 1, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 0 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 0 Configuration failed\n", "red")
return -4
end
-- Chirp 1
if (0 == ar1.ChirpConfig_mult(dev_list[i], 1, 1, 0, 0, 0, 0, 0, 1, 0, 0)) then
WriteToLog("Device "..i.." : Chirp 1 Configuration successful\n", "green")
else
WriteToLog("Device "..i.." : Chirp 1 Configuration failed\n", "red")
return -4
end
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
然后我利用官方提供的capture脚本采集数据,但是mmwavestudio日志信息会报错:[15:31:01] Create Application Response from Capture Card timed out!!
[15:31:01] TDA ARM Failed

我想请问一下是我的配置脚本有地方没有修改正确还是说capture脚本里面也需要作一定的修改呢?

  • 您好,

    已经收到了您的案例,调查需要些时间,感谢您的耐心等待。

  • Hi

    建议不要修改Device使能和Channel 使能的API与参数,

    通过仅修改chirp API  ar1.ChanNAdcConfig_mult 以实现你需要的射频配置。

    Ken

  • 尊敬的工程师您好,我按照您的意见,仅修改了Profile configuration相关参数、chirpAPI以及ar1.ChanNAdcConfig_mult,这几个部分来设置单发单收,修改后的部分如下:

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    change1
    function Configure_Chirps(i)
    if (i == 1) then
    -- Chirp 0
    if (0 == ar1.ChirpConfig_mult(dev_list[i], 0, 0, 0, 0, 0, 0, 0, 1, 0, 0)) then
    WriteToLog("Device "..i.." : Chirp 0 Configuration successful\n", "green")
    else
    WriteToLog("Device "..i.." : Chirp 0 Configuration failed\n", "red")
    return -4
    end
    end
    if (i == 2) then
    -- Chirp 0
    if (0 == ar1.ChirpConfig_mult(dev_list[i], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)) then
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    然而我发现一个问题,就是在capture的时候总是会报如下错误:[22:23:09] Create Application Response from Capture Card timed out!!         [22:23:09] TDA ARM Failed;后面我尝试把slave的设置更改成:
    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    -- Channel & ADC Configuration
    if (0 == ar1.ChanNAdcConfig_mult(deviceMapSlaves,0,0,0,1,0,0,0,2,1,0,2)) then
    WriteToLog("Slaves : Channel & ADC Configuration Successful\n", "green")
    else
    WriteToLog("Slaves : Channel & ADC Configuration Failed\n", "red")
    return -2
    end
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    之后(即开启一个slave的channel后)可以完成采集流程,但是在mmwavestudio中点击PostProc之后出来是空图: 而此时利用cascade_MIMO_signalProcessing.m可以得到处理后图像,但是跑到一定帧数会报错:
    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    使 reshape
    使 []
    read_ADC_bin_TDA2_separateFiles>readBinFile ( 69 )
    adcData1Complex = reshape(adcData1, numRXPerDevice, numSamplePerChirp, numChirpPerLoop, numLoops);
    read_ADC_bin_TDA2_separateFiles ( 44 )
    [radar_data_Rxchain_master] = readBinFile(fileFullPath_master, frameIdx,numSamplePerChirp,numChirpPerLoop,numLoops, numRXPerDevice, numDevices);
    calibrationCascade/datapath ( 89 )
    [radar_data_Rxchain] = read_ADC_bin_TDA2_separateFiles(fileName,frameIdx,numSamplePerChirp,numChirpPerLoop,numLoops, numRXPerDevice, 1);
    cascade_MIMO_signalProcessing ( 133 )
    adcData = datapath(calibrationObj); % ADC
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    于是乎我尝试将master和slave均开启channel1和channel2:ar1.ChanNAdcConfig_mult(1,1,0,0,1,1,0,0,2,1,0,1)以及ar1.ChanNAdcConfig_mult(deviceMapSlaves,0,0,0,1,1,0,0,2,1,0,2);此时在mmwavestudio之中点击了PostProc之后,能够看到4个device以及开启的2个channel设置的20帧全部结果图,但是利用cascade_MIMO_signalProcessing.m运行时依然会在第10帧的时候报与之前同样的错误,请问这是为什么?我必须要开启4个device的4个channel才行吗?

    渴望您的回复,谢谢!

  • 仅修改chirp API  ar1.ChanNAdcConfig_mult

    另外想请问一下Channel使能部分不就是ar1.ChanNAdcConfig_mult,不知道您说的不要修改channel使能API与参数与后面说的仅修改chirp API  ar1.ChanNAdcConfig_mult是否是冲突的?

  • Hi 

    抱歉这里的笔误给你带来的困扰

    建议不要修改Device使能和Channel 使能 ar1.ChanNAdcConfig_mult  (这里的channel  是指是否对芯片射频通道上电)

    通过仅修改chirp API  ar1.ChirpConfig_mult以实现你需要的射频配置(这个API中的channel是指使用哪些通道进行发射 )。

    这样修改可以最小化修改的工作量,且可以复用之前的处理代码。

    Ken

  • 好的,我再尝试处理一下,非常感谢