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.

AWR1642BOOST: CSS: Adding SPI interface to an Existing Project (OOB Demo)

Part Number: AWR1642BOOST
Other Parts Discussed in Thread: AWR1642

Hi,

I have posted many questions on this forum and to summarize:

My goal is to use two AWR1642BOOST in a master slave configuration to get the object detection data to one radar to another. I have successfully added the SPI interface for both master and slave code and send the data from master to slave. I have used the example code that was sent to me through this forum and I was successfully read and parse the data because only task of the slave was to read the data that was sent. However I could not read the data continuously to parse it and get the necessary data. Continuously means calling the spi_Read() in a while (1) loop. I can only read the header frame since I can only call spi_Read() function in the MmwDemo_transmitProcessedOutput() once otherwise, in a while(1) loop the program cannot execute other tasks and it messes with the flow and the C674X_0 will crash due to non-processed frame.

So, I was wondering, is there a way to stay in a loop as long as a complete frame is sent? Is there a method or an indicator similar to UART interface like serial_instance.in_waiting? Or any other way to do this? I check the SPI driver and found a transmission status but it did not help me or I used it wrong. 

So, if you have any feedback on this issue, can you share with me please?

Thanks in advance,

  • Hi

    What application  do you plan to run on the slave ARM R4F

    From sw architecture perspective you have to decide if you use

    • polling
    • interrupt

    If there no sufficient time for polling, you can use interrupts

    thank you

    Cesar

  • Hi,

    Thank you for your time. I am planning to use an another modified version of OOB with CAN interface on the slave, which will collect the other radar's data and send them through CAN together with its data because I need a bigger FoV than AWR1642 offers. Is there an example usage of interrupt or polling for AWR1642BOOST? 

    Thanks in advance.

  • because I need a bigger FoV than AWR1642 offers.

    I am not clear I understand. The FOV is dependent on the antenna. If the PCB antenna available on the AWR1642BOOST is not sufficient, which antenna are you planning to use?

    Thank you

    Cesar

  • Hi, 

    Maybe I choose the wrong word for that, what I mean by is that, I want to cover more area because 120 degree FoV is not sufficient to meet my requirements. I want to cover approximately 180 degree FoV so, I am planing to use two AWR1642BOOST in a master-slave configuration. I want to transfer one AWR1642BOOST's (master) data to another (slave) and then, the slave board will send both its own data and data that was received through SPI to CAN. They will both use modified version of OOB. However, as I mentioned my original question, the application crashes as I want to read the data from SPI and parse it. I want to use SPI in a non-blocking mode but I know that it is not available. So, addition to my original question, I want to ask another question which is, is there a way that I can implement SPI in a non-blocking mode? Also, if that is not possible, can I use another thread to only read the SPI data? Does AWR1642 supports multi-threading?  

    Thanks in advance,

    Beril.

  • Hi, 

    Also I have another question, if there is no way to implement a non-blocking SPI, which peripheral do I need to use in order to achieve my goal? Do any other peripheral like I2C or UART have a support for non-blocking method? I need a peripheral to transfer data between two boards in a non-blocking fashion since it interference with the flow of the object detection of the AWR1642BOOST. Also, again does AWR1642 supports multi-threading? I know that it includes Cortex R4F at 200-MHz but I could not find any mention of the support of threading. 

    Thanks in advance,

    Beril

  • Hi,

    In the mmWave SDK demo, the TI RTOS is running on both the DSP and the ARM R4F. The demo is running with several threads (tasks). So, it is possible to use  a thread to read the SPI data.

    Please read in SDK 2.1 documentation Software Tasks on MSS and DSS

    Millimeter Wave (mmw) Demo for XWR16XX

    Thank you

    Cesar