4.3SUSI Application Library

4.3.1SUSI 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, I2C, SMBus, GPIO, and VGA control. Each category of API in SUSI is briefly described below.

4.3.2SUSI Functions

4.3.2.1The 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.2The I2C API

I2C 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 I2C protocol has been taken care of by SUSI. Instead of asking application programmers to figure out the strict timing requirements in the I2C protocol, the I2C API in SUSI can be used to control I2C 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.3The 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 I2C 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.

Chapter 4 S/W Introduction & Installation

39

PCM-9588 User Manual

Page 49
Image 49
Advantech PCM-9588 user manual Susi Application Library, Susi Introduction, Susi Functions