3 susi application library, 1 susi introduction, 2 susi functions – Advantech PCM-9588 User Manual

Page 49: 1 the gpio api, 2 the i2c api, 3 the smbus api, Susi application library 4.3.1, Susi introduction, Susi functions, Chapter 4 s /w introduction & installation

Advertising
background image

39

PCM-9588 User Manual

Chapter 4

S

/W Introduction

&

Installation

4.3

SUSI Application Library

4.3.1

SUSI Introduction

To make hardware easier and convenient for programmers to access, Advantech has
released a suite of API (Application Programming Interface) in the form of a program
library. The program library is called Secured and Unified Smart Interface or SUSI for
short.

In modern operating systems, user space applications cannot access hardware
directly. Drivers are required to access hardware. User space applications access
hardware through drivers. Different operating systems usually define different inter-
face for drivers. This means that user space applications call different functions for
hardware access in different operating systems. To provide a uniform interface for
accessing hardware, an abstraction layer is built on top of the drivers and SUSI is
such an abstraction layer. SUSI provides a uniform API for application programmers
to access the hardware functions in different Operating Systems and on different
Advantech hardware platforms.

Application programmers can invoke the functions exported by SUSI instead of call-
ing the drivers directly. The benefit of using SUSI is portability. The same set of API is
defined for different Advantech hardware platforms. Also, the same set of API is
implemented in different Operating Systems including Windows XP and Windows
CE. This user’s manual describes some sample programs and the API in SUSI. The
hardware functions currently supported by SUSI can be grouped into a few catego-
ries including Watchdog, I

2

C, SMBus, GPIO, and VGA control. Each category of API

in SUSI is briefly described below.

4.3.2

SUSI Functions

4.3.2.1

The GPIO API

General Purpose Input/Output (GPIO) is a flexible parallel interface that allows a vari-
ety of custom connections, and supports digital I/O devices.

4.3.2.2

The I

2

C API

I

2

C is a bi-directional two-wire bus that was developed by Philips for use in their tele-

visions in the 1980s and nowadays is used in various types of embedded systems.
The strict timing requirements defined in the I

2

C protocol has been taken care of by

SUSI. Instead of asking application programmers to figure out the strict timing
requirements in the I

2

C protocol, the I

2

C API in SUSI can be used to control I

2

C

devices by invoking other function calls. SUSI provides a consistent programming
interface for different Advantech boards. That means user programs using SUSI are
portable among different Advantech boards as long as the boards and SUSI provide
the required functionalities. Overall product development times can be greatly
reduced using SUSI.

4.3.2.3

The SMBus API

The System Management Bus (SMBus) is a two-wire interface defined by Intel® Cor-
poration in 1995. It is based on the same principles of operation of I

2

C and is used in

personal computers and servers for low-speed system management communica-
tions. Nowadays, it can be seen in many types of embedded systems. As with other
API in SUSI, the SMBus API is available on many platforms including Windows XP
and Windows CE.

Advertising