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.

IWR1843: reading data issue of ADCBUF

Part Number: IWR1843
Other Parts Discussed in Thread: SYSBIOS

Hi team,

Customer defined the following parameters in the MSS program:

#define TX_CHANNEL_NUMS (3U)  //The number of transmit antennas
#define RX_CHANNEL_NUMS (4U) //The number of receive antennas
#define Doppler_Number (8U) //chirp number

#define PROFILE_ADC_SAMPLE_VAL (256U) //Number of samples 

Then sniffer defines a function to send over the serial interface, when the chirp number reaches the subframe_usr_NUM_pairs_total(3*8), data is sent out through ADCBUF over the UART: 

static void MRR_MSS_chirpIntCallback(uintptr_t arg)
{
    gMrrMSSMCB.chirpInt++;
    gMrrMSSMCB.chirpIntcumSum++;
    
    if (gMrrMSSMCB.chirpInt == SUBFRAME_USRR_NUM_CHIRPS_TOTAL)
    {
    gMrrMSSMCB.chirpInt = 0;
    
    Semaphore_post(gMrrMSSMCB.uartSendSemHandle);
    }
}

The data size transmitted on the serial interface is as follows: 

        UART_writePolling (gMrrMSSMCB.loggingUartHandle,
                           (uint8_t*)gMrrMSSMCB.adcDataBuf,
                           4*TX_CHANNEL_NUMS*RX_CHANNEL_NUMS*Doppler_Number*PROFILE_ADC_SAMPLE_VAL);

However, the following error occurs: 

[Cortex_R4_0] Debug: Launched the Initialization Task
Debug: frame and chirp interrupt initialized
Debug: Initialized the mmWave module
Debug: Synchronized the mmWave module
Debug: uartSendSemHandle is created
Set LDO Bypass
Debug: MMWave has been configured for MRR.
Debug: Sensor will start momentarily. 
Exception occurred in ThreadType_Task.
Task handle: 0x8001ba8.
Task stack base: 0x8001c08.
Task stack size: 0x1000.
R0 = 0x52008000  R8  = 0xffffffff
R1 = 0x0800b638  R9  = 0xffffffff
R2 = 0x00000008  R10 = 0xffffffff
R3 = 0x00000001  R11 = 0xffffffff
R4 = 0xfff7e700  R12 = 0x08001ba8
R5 = 0x08000cb0  SP(R13) = 0x08002ba8
R6 = 0x00010000  LR(R14) = 0x0000be19
R7 = 0x52000000  PC(R15) = 0x0000d01c
PSR = 0x800c019f
DFSR = 0x00000008  IFSR = 0x00000000
DFAR = 0x52008000  IFAR = 0x00000000
ti.sysbios.family.arm.exc.Exception: line 205: E_dataAbort: pc = 0x0000d01c, lr = 0x0000be19.
xdc.runtime.Error.raise: terminating execution

If the amount of data sent on the serial interface is a bit smaller, it can be successfully sent. If change to size 4*RX_channel_NIMS*Doppler_number*profile_ADC_sample_VAL, it can send data over the serial interface, which is 4 receive antennas and 1 transmit antenna. But this is obviously wrong. Can ADCBUF store data for only one transmit antenna? 

Could you help check this case? Thanks.

Best Regards,

Cherry