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.

VIM Crossover interrupt detection



I was looking at a document posted by  last month - a safety manual found here: http://www.ti.com/lit/pdf/spnu511

When talking about the VIM, it says,

"Per guidance found in IEC 61508, a software test for detecting continuous interrupts, no interrupts, and crossover interrupts can be implemented."

Does anyone know what a "crossover interrupt" is, and how we can detect one on the CPU?

Thanks

  • A crossover interrupt is one which is configured to generate a certain interrupt response but instead develops a different response.  For example, the VIM module allows mapping of many different interrupt request lines to a fixed number of interrupt priorities.  If request A is programmed to generate priority B and instead generates a priority C interrupt, it could be considered an example of a crossover interrupt.  Many of the peripherals support generation of forced interrupts for test purposes which could be used to support software based testing of crossover interrupts.

    Regards,

    Karl

  • Thank you for your response and clarification.  I am concerned still about continuously checking for cross over interrupts.  The way I see it, you can use a timer/watchdog to monitor if you are not getting enough interrupts (or no interrupts) or are getting too many interrupts (continuous interrupts).  However, even if I implement a software test of cross-over interrupt detection, and even if I test it periodically, I don't see a way to contiunally monitor and verify that I am detecting crossover interrupts.

  • Continuous is perhaps bad wording here - what we are talking about is a periodic check within the fault tolerant time interval.  This note was added into our safety manual because we have seen some assessors have been very interested in this IEC 61508 recommendation.

    Regards,

    Karl

  • Great, thanks for the note.  One more question I have regarding crossover... the ESM interrupts are hard-coded to VIM channel 0, no matter what you try to program channel 0 to.  Is it possible for crossover to occur such that an ESM interrupt is not mapped correctly to VIM channel 0?

    Thanks for all your responses, you are being a great help.

  • It has been a while since I have reviewed the internal VIM design, but I believe the hard wired channels (such as VIM channel 0), do not go through the priority management logic.  From this standpoint, crossover probability would be highly reduced.  Still, there is a theoretical possibility that the line could become shorted to other VIM channels due to some fault outside the priority management logic.  It may be that less testing could be applied, but I would still recommend some level of periodic test.

    Regards,

    Karl