MOD110 Isolated DIO Module
Guide to the MOD110 Isolated DIO Module, detailing its DIO, CAN, PWM, and QEP features, and control via the Hardware Control Application.
Features
The (optional) MOD110 digital input/output (DIO) expansion adds up to eight digital inputs and outputs to the system, and an additional CAN port. It also optionally provides support for pulse width modulation (PWM) on three of the eight digital output pins, and support for using a quadrature encoder peripheral (QEP) in place of the first and/or second group of three digital inputs.

DIO
The isolated digital inputs/outputs are enabled by default, and require an external power source (9 ~ 48 VDC) in order to operate.
The outputs function as open-drains, and should not be used to source more than 150mA of current. The input of the DIO are pulled high when floating.
CAN
The additional CAN device supported by the MOD110 DIO Module supports CAN 2.0 A/B at bitrates from 100000 to 1000000. The CAN device is not internally terminated, so a properly terminated CAN cable should be used when connecting to the device.
PWM
Digital outputs 0, 1, and 2 can be optionally configured to operate in PWM mode. This configuration is performed in the system UEFI BIOS (Setup Menu > Advanced > OnLogic Feature Configuration).
The frequency of the PWM is limited by the switching speed of the isolating optocouplers to 10KHz.
QEP
Groups of digital inputs (0, 1, 2 and 3, 4, 5) can be optionally configured to operate as a QEP (Quadrature Encoder Peripheral). This configuration is performed in the system UEFI BIOS (Setup Menu > Advanced > OnLogic Feature Configuration).
Usage
Interfaces on the MOD110 DIO Module are managed of the system’s Host Embedded Controller Interface (HECI). Installing the system Windows driver for this interface is a required prerequisite to using the MOD110, and it can be found as part of the HX310/K400’s system driver package.
On Linux systems, see K400 PSE Configuration (Ubuntu) for driver installation instructions.
Once the driver is installed, the MOD110 can be controlled programmatically over the HECI connection, or by using the provided hardware control command line application.
Hardware Control Application (HWC)
v1.2.1
10/11/2023
Download HWC Program must run as administrator in CMD
Fixes issue with Version-Check warning. * Note that the CAN baudrate is fixed at 1M. Please see our C-Based PSE-Examples for setting the baudrate programmatically.
Make sure your system’s drivers are installed and up-to-date
Sample code (in C) is also available for Linux. Windows sample code is not currently available.
DIO
The hardware control application can be used to read and write the states of the digital outputs and inputs.
Additionally, digital-inputs track the number of signal edges detected since device power-on; this count can be reported and cleared by the command line interface:
Contextual help information is also available in the application:
CAN
The hardware control application support reading and writing CAN frames, as well as enabling/disabling the device.
NOTE The MOD110’s CAN device is referenced as device one (-d 1) the onboard CAN is device zero (-d 0).
Contextual help information is also available in the application:
PWM
The PWM supports starting/stopping output, as well as setting the period and pulse of the PWM signal.
In-application help is also available:
QEP
The Quadrature Encoder Peripheral supports a number of configurations and commands, including setting the edge trigger type, index gating, and switching between edge capture and decoder mode:
Troubleshooting
Permissions
Interfacing with the HECI driver requires elevated permissions on both Windows and Linux. The commands in this guide should be run from an elevated command prompt.
Hardware Control CLI
The hardware control application supports verbose debug output:
$ hwc.exe -v debug dio read digital-input 0
Capturing this output is helpful if you’re reaching out to OnLogic for support with an issue using your hardware.
Last updated
