1.1 Overview

The USI enables communication between any external user application and the embedded firmware stacks through multiple serial ports. Therefore, when an external application communicates with the Microchip communication stacks implemented through a serial device, the typical resulting structure is illustrated in the figure below.
Figure 1-1. USI Architecture
As indicated in the preceding image, the USI is divided into two parts:
  • Embedded USI: The wrapper part of the Hardware Abstraction Layer (HAL) is responsible for the interface between the firmware stack and the serial communications channel. It can also be used by the main internal application to communicate through the serial port.
  • USI Host: An example of wrapper to be integrated in the external application which allows to interface with the Microchip PLC firmware stacks using the serial communication channel. It is written in C programming language, and it can run in an embedded system (either bare-metal or Linux®) or in a general purpose computer. The user can also develop their own independent implementation of the USI Host following the indications of this user's guide and examples.
Important: This User's Guide describes the USI Host example implementation written in C programming language. Another possibility to communicate with the USI serialized interface of the Microchip communication stacks is to use the Python libs. These libraries provide a simple way to develop scripts in Python Language that make use of the Microchip communication stacks primitives through a serial connection.