Troubleshooting discrete I/O

Discrete I/O refers to signals that have a dedicated connector pin for a given input or output function. This is in contrast to network or communication I/O such as CAN.


Digital outputs

My simple digital output doesn't seem to be doing anything - what's wrong?

  1. We would recommend that you use a boolean calibration to drive your digital output during troubleshooting. This will allow you to easily control the output.
  2. Confirm that you have a correct external load on your digital output.
    • Most low-side outputs require a load pulled to battery or pulled to one of the ECUs high-side supplies.
    • Without the external load, you are unlikely to see the voltage of the digital output pin change since most outputs will be near the ground voltage when not driven.
    • See your technical specification for details regarding your digital outputs.

  3. Double check your application to confirm that you are controlling the correct boolean calibration.
  4. Try moving to a different output pin.

My PWM/frequency output doesn't seem to be doing anything - what's wrong?

  1. We would recommend that you use a real_T calibration to drive your PWM output during troubleshooting. This will allow you to easily control the output.
  2. Confirm that you have a correct external load on your PWM output.
    • Most low-side outputs require a load pulled to battery or pulled to one of the ECUs high-side supplies.
    • Without the external load, you are unlikely to see the voltage of the output pin change since most outputs will be near the ground voltage when not driven.
    • See your technical specification for details regarding your digital outputs.

  3. Double check your application to confirm that you are controlling the correct calibration.
    • Note that the PWM output takes a value from 0.0 - 1.0. Any input greater than 1.0 will result in outputting 100% duty cycle.
  4. Try moving to a different output pin.

My output seems inverted compared to what I thought it should be (or compared to other outputs)

Some outputs are inverted. See the Digital outputs section of your technical specification for details regarding your digital outputs.

Low Side vs. High Side Digital Outputs

Most digital outputs like PWM and Frequency signals are Low Side Drive, as shown in the diagram below. In order to measure a change on the output pin, you must connect a load resistance between the output pin and a supply voltage.

Some OpenECU modules have 1 or more high side outputs, which have a High Side Drive circuit as shown in the diagram below. In order to measure a change on the output pin, you must connect a load resistance between the output pin and ground.

My M670 is indicating a fault on Monitor (Fault) - what's wrong?

This signal, Monitor (Fault), is an active low fault that is reported by the pre-driver that controls the outputs. When it is low, it indicates that at least one fault has been detected on one or more of the listed digital outputs:

See the Internal signals section of your technical specification for details.


Digital inputs

My digital input doesn't seem to be doing anything - what's wrong?

  1. Check the voltage on the pin of your digital input when the input is driven high and low.
  2. Open the technical specification for your ECU and find the Digital inputs section.

    • Check your high and low voltages from step 1 to confirm that your input is correctly crossing the switching thresholds.
  3. Double check your application and data dictionaries to confirm that you are watching the correct signal.
    • Check that the signal label is on the correct signal line in Simulink.
    • Check that the data type is correct in Simulink and in the data dictionary.
    • Check that the signal properties in Simulink are set to Exported Global in the Real-Time Workshop tab.
  4. Try moving to a different input pin.

My input seems inverted compared to what I thought it should be (or compared to other inputs)

Some inputs are inverted. See the Digital inputs section of your technical specification for details regarding your digital inputs.


Analog inputs

  1. Measure the voltage at your analog input pin to confirm that the voltage at the pin changes as expected.
  2. Double check your application and data dictionaries to confirm that you are watching the correct signal.
    • Check that the signal label is on the correct signal line in Simulink.
    • Check that the data type is correct in Simulink and in the data dictionary.
    • Check that the signal properties in Simulink are set to Exported Global in the Real-Time Workshop tab.
  3. Try moving to a different output pin.


Frequency inputs

The hall effect / VRS signal looks great on a scope, but OpenECU shows no input or a timed-out signal.

See our page on this topic.

      Copyright © 2016 Pi Innovo, All rights reserved