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.

AWR1243BOOST: HostINT of AWR1243BOOST seems to be pulled up by default

Part Number: AWR1243BOOST


Hi there,

When I powered up my AWR1243BOOST with 5V power, I saw that the HostINT line was at 3.3V by default . But I think it should be pulled down by default and raise up when mmwave device needs to write data to external MCU and cause an Ext-Int of external MCU?

Then I powered up a brand new AWR1243BOOST, its HostINT line was at 3.3V by default as well.

Is this normal ? Or do I misunderstand it ? If necessary, I can provide the mmwavelink callback function I wrote about interruption.

Hope for your advice.

Regards,

Junzhe

  • Hello Junzhe,

    The AWR1243BOOST has a 10k pulldown on the HOSTINTR pin, so I would expect it to be pulled down by default. 

    Where are you probing on the board?

    Do you have any software running on the board?

    Do you have any other boards connected (DCA1000, DevPack, etc)?

    Regards,

    Adrian 

  • Hi Adrian,

    Thank you for your reply.

    1.I tested the HostINT on the 20-pin launchpad  connector(J5) , 

    2.Yes,I tried to use an external processor to communicate with AWR1243BOOST via SPI with NRESET line, 4 SPI lines and HostINT line connected , but failed(Because IRQ is not low level at the beginning ) . Firmware has been downloaded into AWR1243BOOST.

    3.No ,I got 3.3V at HostINT when I disconnected AWR1243BOOST from my external processor . And I pressed the reset switch , it was still 3.3V.

    Hope for your advice.

    Regards,

    Junzhe

  • Hello Junzhe,

    HOSTINTR is on J6, pin 16. Can you please confirm that you are probing the correct location? Your post says you were probing on J5.

    Regards,

    Adrian

  • Hi Adrian,

    Sorry, that was a mistake. I'm pretty sure I was probing the right pin of J6 as well as connecting it to external MCU's gpio.

    I found a description similar to my situation: 

    https://e2e.ti.com/support/sensors/f/1023/t/874079

     Vivek mentioned that when the nRESET of AWR device is released the Host IRQ signal should go high.

    Would you mind reveal more detail about this?

    Regards,

    Junzhe

  • Hello Junzhe,

    Can you please erase the flash, put the device into development mode (SOP0 and SOP1 = 1; SOP2 = 0) and measure the HOSTINTR signal after powering on?

    Do you have a DCA1000 or DevPack? If so, can you confirm if you are able to connect SPI in mmWave Studio using either one?

    Regards,

    Adrian

  • Hi Adrian,

    I erased the flash and put the device into development mode then powered it on. The HOSTINTR signal was at low level (about 0V). But in functional mode ,HOSTINT was still at high level.

    I don't have a DCA1000 or a Devpack and my mmwave Studio always report an error about matlab initialization(I had installed matlab runtime engine according to the user guide).

    But I connected AWR1243BOOST to a FTDI chip dev-board , the FTDI chip is the same as Devpack's. Then I ran the mmwave-example-nonos, and SPI could work because I saw SPI wrote & read bytes correctly and HOSTINT went high or low correctly according to the communication sequence. 

    In fact, I ran the code I wrote about mmwavelink callbacks and several mmwavelink APIs. I found my external MCU's SPI could write correctly, but the HOSTINT just couldn't be triggered , so it couldn't go to the IRQhandler and SPI couldn't read the data from the mmwave device.

    Hope for your advice.

    Regards,

    Junzhe

  • Hello Junzhe,

    I have just checked on my EVM and the behavior matches with your EVM.  After powering on the board functional mode, the HOSTINT signal is high by default.

    However, once I issue a SPI connect in mmWave Studio and the MSS successfully boots the HOSTINT line goes low. 

    So, it appears from a hardware perspective your board is functioning as expected and the issue is on the application side. Once the MSS boots if everything is configured properly it should drive the HOSTINT line low.

    Regards,

    Adrian 

  • Hi Adrian,

    Thank you for your reply.

    I transferred the CNYS and DUMMY to 1243 device after I powering up it. And the HOSTINT pulled down successfully and my external MCU could read Subblock AE_MSSPOWERUPDONE from 1243 device. It seems that the 1243 device always pulls the HOSTINT up once the NRESET has been released.

    But in the mmwavelink_example_nonos of using mmwavelink api, it seems to be different from the boot-up above. It never sends CNYS and DUMMY to 1243 device at the boot-up time.

    So if I want to use mmwavelink api to boot-up, what should I modify about the mmwavelink api function?

    Regards.

    Junzhe

  • Hello Junzhe,

    In the host application, you need to release NRESET then HostIRQ will interrupt the application (mmwavelink) then only it writes the CNYS+DUMMY Bytes to AWR device over SPI.

    You need to check and correctly implement all the mmwavelink callbacks to handle all the device scenarios.

    In the mmwavelink_example_nonos:

    rlRegisterInterruptHandler is the callback which you need to register in the GPIO interrupt handler:

    ----------------------------------------------------------------------------------------------------------------------------

    clientCtx.devCtrlCb.rlRegisterInterruptHandler = mmWaveLinkIntHandler;

    RL_P_EVENT_HANDLER  gLinkIntHandler ;

    rlUint32_t mmWaveLinkIntHandler(rlUInt8_t deviceIndex, RL_P_EVENT_HANDLER pHandler, void* pValue)

    { /* assuming single device is connected, so ignoring deviceIndex */

    gLinkIntHandler = pHandler; /* storing the mmwavelink pHandler to global func pointer */

    }

    void gpioIntHandler() {

    /* at HostIRQ interrupt invoke mmwavelink callback */

    gLinkIntHandler ();

    }

    ----------------------------------------------------------------------------------------------------------------------------

    This gLinkIntHandler  calls mmwavelink's rlDriverHostIrqHandler function where it writes the CNYS and DUMMY pattern  (rlDriverRxHdrRead function)

    Along with all Implement rlDeviceEnable callback at the Host application where it needs to do these steps:

    1. Hold the NRESET line and Set all the SOP lines to make device in functional mode.

    2. after few usec release NRESET line to boot up the AWR device. 

    (effectively power cycle the AWR device so it can raise the HostIRQ line again and Host application can get the interrupt at the connected GPIO line) 

    Refer mmwavelink.h file rlDeviceCtrlCbs_t structure where it explains about all the callback or refer the doxygen document for more info.

    Regards,

    Jitendra