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.

PGA450 Interrupts

Other Parts Discussed in Thread: PGA450-Q1, TIDA-00151, PGA450Q1EVM

We are trying to signal to the PGA450 from an external processor that it is time for it to take a distance measurement.

We can put a pulse on a GPIO pin and poll it during main, but our application requires a reading to be taken at a known time so it would be preferable to use an interrupt to initiate the reading by the PGA450.  The GPIO pins do not seem to be able to generate interrupts but the LIN pin might.  Figure 38 in the datasheet suggests that an edge on the LIN pin could generate an external interrupt EX0 on port 3.2 and Table 0.68 in the programmers guide also suggests this.

I have set the LIN_SCI to LIN mode, LIN_CTRL to RX and set EX0 in TCON but applying a pulse of 0 to 7.5V on the LIN pin does not cause an interrupt.  I am not sure exactly what the thresholds are for this pin but with Vpwr set at 9V, I would have thought that 7.5V would be enough.

Any suggestions on getting LIN RX interrupt to work or alternative ways to generate an interrupt from an external pulse?

  • Graham,

    The appropriate applications engineer has been notified of your post and will respond accordingly.

    Regards,
    Eric Hackett
  • Graham,

    I recommend that you consider the Serial Interrupt method.
    This method utilizes the UART connection between the external processor and PGA450-Q1, such that a UART Rx triggers the interrupt. See an example of the serial_ISR implementation in the "TIDA-00151 UART Demo Firmware for PGA450-Q1" available at www.ti.com/.../tidcab3. Refer to the supporting document, "TIDA-00151 UART Instructional", for additional details.

    If you prefer to use the LIN pin for triggering interrupts, ensure that you have initialized your interrupts just as the PGA450Q1EVM Firmware does:
    // * INITIALIZE INTERRUPTS *
    EI5 = 1; // Enable LIN PID Received Interrupt
    EI8 = 1; // Enable LIN Sync ISR
    EA = 1; // Enable All Interrupts
    You may want to considering using the example firmware as the basis of your project code to ensure all timer and interrupt settings match.
    The LIN thresholds depicted on the LIN Timing Diagram are bit rate dependent (i.e. 10.4kbps and 20kbps), but generally:
    THRec(max) = (0.744 to 0.778) x VSUP;
    THDom(max) = (0.581 to 0.616) x VSUP;
    indicating 7.5V should be sufficient to trigger the interrupt.
  • Akeem,

    Thank you for your prompt reply.  However,

    I am not intending to provide a valid LIN message, just an edge on the LIN pin which is supposed to be able to generate an interrupt.  I am already using the UART successfully and I need this asynchronous interrupt on the LIN pin in case the UART is running at the time I wish to sample.  Our code is based on the demo application as is working well except for not being able to initiate the process from an external signal.

    I guess that EI5 and EI8 are not required in the absence of valid LIN protocol?

    Graham

  • hello graham ,

    I try to make communication between the PGA and cypress processor with UART,

    please can you clarify me how you do it the communication with your external processor? because  when I connect the pines  like indicate in the document  (TIDA instructional UART) it does not work !!

    Best regards,