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.

IWR6843ISK: Custom Binary for CLI + LVDS + HW Trigger

Part Number: IWR6843ISK
Other Parts Discussed in Thread: DCA1000EVM, MMWAVEICBOOST, AWR1642BOOST, AWR1642BOOST-ODS, UNIFLASH

Hello,

I am trying to generate a custom version of the demo binary in either the SDK (v3.5.0.4) or the Platform Toolbox (CLI-tool) which enables HW trigger, CLI interface, and streaming LVDS data to DCA1000VEM from the IWR6843ISK. (This follows from my question here https://e2e.ti.com/support/sensors/f/sensors-forum/972898/iwr6843isk-pre-built-binaries-for-iwr6843isk-in-mmwave-studio-cli-tool)

From my understanding, the current binaries allow SW trigger, CLI interface, and streaming LVDS data to DCA1000EVM. I need to simply change the source code to enable HW trigger and compile the binary.

Where in the source code is the SW trigger defined?

I have looked through the mmwavelink code and found the triggerSelect property on line 1006 of rl_sensor.h and I believe we need to change this value to 0x0002 to enable HW trigger mode. However, I cannot find where it is actually defined. I am not sure if I am looking in the correct place and I think mmwavelink may be the framework for passing the commands over CLI, not necessary for the binary installed on the radar. Please direct me to the correct code to change for enabling HW trigger.

Additionally, I have successfully built the binary from the SDK and set up the environment following the user manual.

I believe all I need to do is find the proper code to change in the source code and compile the binary. Please advise.

Regards,

Josiah W. Smith

  • Hello

    THe HW trigger built is available for Devices that support cascade functionality.

    You may use the alternative to use GPIO  input and use that internally trigger a software based chirp.

    THank you,

    Vaibhav

  • Hello Vaibhav,

    Thanks for offering your help.

    From what you are saying, the out-of-the-box demo binary for the 6843 does support HW trigger natively?

    Thanks,

    Josiah W. Smith

  • Update:

    I was able to attempt to use the HW trigger with the OOB demo and it did not work.

    I am using the IWR6843ISK + MMWAVEICBOOST + DCA1000EVM.

    I installed the OOB SDK demo and everything works with the demo visualizer with the software trigger enabled. I have written my own implementation to send the commands and read in the data from Ethernet. I can see the data coming across when I use the software trigger mode, but I am unable to see the data coming in when I use the hardware trigger.

    To debug, I used the same setup with a 77 GHz board with known compatability for HW trigger. AWR1642BOOST + DCA1000EVM. With the HW trigger, I do see data streaming in, demonstrating that my SYNC_IN pulse is working. Thus, the issue must be with the software on the 6843.

    I am looking for direction on how to enable HW trigger in the source code of the demo binary for the SDK or CLI platform.

    Thanks,

    Josiah W. Smith

  • Josiah:

    We do not support HW trigger on our single chip devices. Just use a GPIO to trigger an SW trigger. That would be the best solution for single chip solutions.

    Best regards,

    Connor Desmond

  • Hello Connor,

    Thanks for your reply. To my understanding, issuing the trigger using a GPIO would constitute a hardware trigger. Perhaps I am wrong about that, but I do want to leave some answers that I have here for future interested parties. Currently, I have gotten the HW trigger using SYNC_IN to work for both the AWR1642BOOST-ODS and IWR6843ISK using the SDK demo firmware.

    Here are my setups for both radars:

    1) AWR1642BOOST-ODS (rev B) + DCA1000EVM

    2) IWR6843ISK (rev D) + MMWAVEICBOOST (rev B) + DCA1000EVM

    In both cases, I am setting up the device using the CLI commands, triggering with an external HW pulse, and streaming over LVDS to the DCA1000EVM and to the PC via Ethernet. I am using a custom software for sending the CLI commands over the serial port.


    I) Initialization steps for either radar

    - Prerequisite steps: connect all USB and power, setup DCA1000EVM Ethernet port IP address properly, configure a microcontroller to send a pulse with the proper constraints (pulse width between 25 ns and 1 us, etc.), connect radar to DCA1000EVM using 60 pin connector

    a) Flash the SDK demo firmware (SDK 3.5.04 User Guide Section 4.2)

    - Set device to Flash Programming Mode: short SOP2 and SOP0

    - Power cycle radar

    - Download the demo firmware using Uniflash 

    - Once the download is complete, set the device to Function Mode: short only SOP0

    - Power cycle radar

    II) Connecting the HW trigger to radar GPIO

    - Prerequisite steps: remove R120 from DCA board as suggested here: https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/710632/awr1243-dca1000-and-1243-hardware-trigger-sts_no_lvds_data 

    a) AWR1642BOOST-ODS

    - From https://www.ti.com/tool/AWR1642BOOST-ODS#design-files, download AWR1642EVM-ODS Schematic - SPRR341.zip

    - On page 10, AR_SYNC_IN is already connected to J6 by R165 so no hardware modification is necessary

    - Connect microcontroller to GND (pin 4) and AR_SYNC_IN (pin 9) on J6

    b) IWR6843ISK

    - From https://www.ti.com/tool/IWR6843ISK#design-files, download xWR6843 EVM Schematic Drawing, Assembly Drawing, and Bill of Materials - SWRR164C.zip

    - On page 9 of PROC074B(001)_Sch.pdf (for rev B of the MMWAVEICBOOST), under "RNR FOR SYNC IN", 40PIN_SYNC_IN needs to be routed to RADAR_SYNC_IN

    - From that diagram, DCA_SYNC_IN is shorted via R346 to RADAR_SYNC_IN.

    - Hence, remove R346 and place 0 ohm resistor over R348 (suggested here: https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/972613/iwr6843isk-hardware-trigger). Now 40PIN_SYNC_IN is routed to RADAR_SYNC_IN

    - IMPORTANT: On page 12 of the same document, 40PIN_SYNC_IN is on pin 9 of J5. This contradicts what is said here: https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/972613/iwr6843isk-hardware-trigger, although the picture on that thread does show the connection to J5 pin 9.

    - Connect microcontroller to GND (pin 4) and 40PIN_SYNC_IN (pin 9) on J5

    III) Send the CLI commands and DCA1000 CLI Utility commands to start the frames 

    a) Configure the radar using CLI commands

    - Send the commands over serial to setup the radar

    - Unsure that frameCfg has the desired triggerSelect value (6th argument). Example:

    HW trigger: "frameCfg 0 1 4 0 50 2 0"

    SW trigger: "frameCfg 0 1 4 0 50 1 0"

    (I recommend testing with SW trigger before attempting HW trigger. Even with hardware modifications, the SW trigger works just fine for me)

    - A full example of the commands can be found here: https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/750656/iwr6843-sync_in-hardware-trigger (commands are different for each radar type. A good place to start is using the demo visualizer and seeing what commands it sends based on which radar you are using)

    - Commands are SDK version dependent. For SDK 3.5.0.4, follow section 3.4 of user guide for each CLI serial command

    - Prepare the DCA1000EVM using the DCA1000 CLI Utility (for mmWave Studio 2.1.1.0, see section 3 of user guide)

    b) Start the DCA listening and radar listening for HW pulse

    - Call the start_record function of the DCA1000 CLI Utility (see the DCA1000 CLI user guide under /mmWaveStudio/ReferenceCode/DCA1000/Docs/

    - Send the sensorStart command over serial CLI 

    - Send the HW pulses

    - Data will stream over LVDS to DCA1000EVM and to PC over Ethernet when frames are triggered by HW pulse