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.

TDA4VE-Q1: ESM module error pin not effective

Part Number: TDA4VE-Q1
Other Parts Discussed in Thread: TDA4VH

Tool/software:

hello ti, 

Our own board uses TDA4VE chips and PDK uses ti-processor-sdk-rtos-j721s2-evm-08_06_01_03. We need to use an internal watchdog, which is implemented using MCU_RTI0. When the timer overflows, an event interrupt (event number 104) will be generated to the ESM module, hoping that the ESM module can pull down the error pin MCU_SAFETY_ERRORN. There is a WdgApp_Startup. c routine for j721s2 mcu10 in MCAL. We followed this routine and enabled the MCU's ESM. However, during testing, when timer overflow occurs, it can enter the interrupt handling function, but the error pin has not been lowered. Please help me understand why. I also tried to write 0xA to the ESM_PIN_CTRL register, and according to the manual, it should be able to force the error pin to drop. However, I did not encounter  the error pin drop and the value of the register was still 0. Please also help confirm this phenomenon. I took a screenshot of the register of MCU ESM and didn't find any configuration issues.

  • Hello,

    To my knowledge, there is no guarantee that ESM event would be generated prior to MCU_SAFETY_ERRn being driven.
     
    If user desires that ESM be guaranteed prior to MCU_SAFETY_ERRn, they would need to disable the MCU_SAFETY_ERRn being triggered, and rely on the ESM event being raised. The interrupt handler handing the ESM event would then need to trigger the MCU_SAFETY_ERRn or take desired action.
    Customer has option ,to configure one of, or both of below when an ESM event occurs:
     
    1. trigger the MCU_SAFETY_ERRn pin
    2. handle the ESM event and take an appropriate reaction in S/W.
     
    If both (1) and (2) are enabled, the race condition of (1) MCU_SAFETY_ERRn pin being set vs. (2) handling ESM event exists.  The window for the race condition would be dependent on the external device which the MCU_SAFETY_ERRn is connected to.
     
    When considering (2) alone, if the ESM event which was triggered, indicated that there was an issue the MCU R5 for example, likely the MCU_SAFETY_ERRn pin would be desired, as the MCU R5 may no longer be relied upon to correctly handle the ESM event in S/W.
    Regards
    Tarun Mukesh
  • Hi Tarun Mukesh

    I want to see the automatic triggering of error pin when an ESM event occurs,but when I configured ESM module and make MCU_RTI0 event happen  ,the error pin can't trigger,this is the problem. So can you verify this problem?

  • Hello,

    Can you please try to comprehend from my above reply, i explained whatever you asked for. I explained about the options you have and what happens in race condition for this.

    Regards

    Tarun Mukesh

  • I  tried to write 0xA to the ESM_PIN_CTRL register, and according to the manual, it should be able to force the error pin to drop. However, I did not encounter  the error pin drop and the value of the register  ESM_PIN_STS was 1,which means de-asserted.I think this is a issue,can you verify?

  • Hi, 

    MCU_SAFETY_ERRORn is the output pin from the MCU domain ESM module.

    Please find below the details from the TDA4VH safety Manual: explained in Section 5.26 Error Signaling Module (ESM) -

    When a fault is reported to the ESM module, it will generate an interrupt to the corresponding processing core and at the same time assert an external error I/O pin to indicate an error has occurred.

    In regards to examples, the TI SDL documentation has an example for triggering the MCU_SAFETY_ERRORn, documented in SDL installation at: .../sdl/sdl_docs/userguide/j721s2/examples/esm.html

    Please verify if that is working and you can then use a similar approach for RTI example.

    Regards,

    Josiitaa