Link Search Menu Expand Document

4-Channel USB3.0 with 4-DO and 4-DI interface module

An interface module for up to 4 USB3.0 cameras and with digital I/O.


Description

This module can be used in applications where USB3.0 is required and some input/output interfacing is necessary. The module has 4 USB3.0 standard-A ports and has an internal USB3.0 hub controller on the module which support following speed modes:

  • Super Speed (SS) - 5 Gbps
  • High Speed (HS) - 480 Mbps
  • Full Speed (FS) - 12 Mbps
  • Low Speed (LS) - 1.5 Mbps

This allows you to stream up to 4 cameras in high resolution and a high frame rate. All ports are backwards compatible with USB2.0.

The module has 4 Digital Outputs (DO) and 4 Digital Inputs (DI). Both are 24VDC compatible and optical isolated from the BLOX device. These I/O can used to interface with a remote system such as a PLCs or other industrial systems.

Block diagram

The above diagram shows the block diagram of the interface module. There are 3 main parts:

  • USB3.0 Hub
  • Digital Output circuits
  • Digital Input circuits

The USB3.0 Hub is connected to the BLOX USB3.0 port. This way, the BLOX USB3.0 port is extended with 4 USB3.0 ports P1…P4.

The digital outputs and inputs are galvanic isolated from the BLOX. This allows you to use 2 different power supplies: one for the BLOX (24VDC) and the other for the I/O (24VDC I/O).

Connections

P1 to P4 port

The Px are the USB3.0 ports and compatible with the USB3.0 standard-A.

Pin# Pin Name Description
Shell Shield Metal housing
1 VBUS Power
2 D- USB 2.0 differential pair - negative signal
3 D+ USB 2.0 differential pair - positive signal
4 GND Ground for power return
5 StdA_SSRX- SuperSpeed receiver differential pair - negative signal
6 StdA_SSRX+ SuperSpeed receiver differential pair - positive signal
7 GND_DRAIN Ground for signal return
8 StdA_SSTX- SuperSpeed transmitter differential pair - negative signal
9 StdA_SSTX+ SuperSpeed transmitter differential pair - positive signal

I/O Port

Description Pin Name Pin# Pin# Pin Name Description
I/O Power Supply + 24V I/O 1 20 24V I/O I/O Power Supply +
I/O Power Supply - 0V I/O 2 19 0V I/O I/O Power Supply -
Output Channel 1 OUT 1 3 18 IN 1 Input Channel 1
I/O +24V 24V I/O 4 17 24V_I/O I/O +24V
Output Channel 2 OUT 2 5 16 IN 2 Input Channel 2
I/O +24V 24V I/O 6 15 24V_I/O I/O +24V
Output Channel 3 OUT 3 7 14 IN 3 Input Channel 3
I/O +24V 24V I/O 8 13 24V_I/O I/O +24V
Output Channel 4 OUT 4 9 12 IN 4 Input Channel 4
I/O +24V 24V I/O 10 11 24V_I/O I/O +24V

Accessing I/O Ports

We are developing a python library for accessing the I/O Ports, however this library is not yet available. For now, you can access the I/O Ports through the file system with the commands below.

For MX1030-x (Xavier NX)

  • The table below shows the relationship between the GPIO numbers and the DI/DO ports. You need those GPIO numbers to access the ports:
Port GPIO #
DO1 419
DO2 264
DO3 418
DO4 266
Port GPIO #
DI1 421
DI2 419
DI3 264
DI4 265
  • First we need to make the GPIO pins available to the fs:

    $ sudo echo 417 > /sys/class/gpio/export
    $ sudo echo 420 > /sys/class/gpio/export
    $ sudo echo 418 > /sys/class/gpio/export
    $ sudo echo 424 > /sys/class/gpio/export
    $ sudo echo 421 > /sys/class/gpio/export
    $ sudo echo 419 > /sys/class/gpio/export
    $ sudo echo 264 > /sys/class/gpio/export
    $ sudo echo 265 > /sys/class/gpio/export
    
  • Second, we need to configure the port direction correctly:

    $ echo out > /sys/class/gpio/gpio417/direction
    $ echo out > /sys/class/gpio/gpio420/direction
    $ echo out > /sys/class/gpio/gpio418/direction
    $ echo out > /sys/class/gpio/gpio424/direction
    $ echo in > /sys/class/gpio/gpio421/direction
    $ echo in > /sys/class/gpio/gpio419/direction
    $ echo in > /sys/class/gpio/gpio264/direction
    $ echo in > /sys/class/gpio/gpio265/direction
    
  • Finally, you can control the I/O ports through the value property:

    # For DI1
    $ cat /sys/class/gpio/gpio421/value
    0
      
    # For DO1
    $ echo 1 > /sys/class/gpio417/value