23.03.2017 Views

wilamowski-b-m-irwin-j-d-industrial-communication-systems-2011

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

47-8 Industrial Communication Systems<br />

A part of the first safety-related firmware layer is called network access layer interface. It is an abstraction<br />

layer that makes access to the LON possible regardless of the underlying third-party software.<br />

Functions of the network access layer are declared in such a way that they encapsulate functions of<br />

the third-party API. Since only Safety Chip 1 is connected to the LON, the network access layer is not<br />

implemented on Safety Chip 2. Another part of the first safety-related firmware layer is the safety chip<br />

interface that handles data exchange between both safety chips. It includes a hardware dependent driver<br />

and a software API that interfaces with the safety layer. It offers a function to send data to and receive<br />

data from the corresponding safety chip.<br />

The safety layer is located in the middle of the software design and comprises all software functionality<br />

directly referring to safety. It interfaces with the application layer interface, and the network access<br />

layer interface and safety chip interface. The safety layer is surrounded by two other layers; in other<br />

words, the safety firmware is separated into three layers, to make it absolutely independent from the<br />

third-party software. Second, the third layer is specified to hide safety functionality from the application<br />

programmer. Such a layer eases programming and avoids misuse of safety functions since it must<br />

be assumed that application programmers are not familiar with details of the firmware functionality.<br />

The safety firmware layer 2 consists of multiple parts related to safety, i.e., so-called primary functions:<br />

online self test module, safety-related input/output module, software monitoring, or the SafetyLon<br />

protocol stack. Other parts are supporting the desired functionality called supporting functions like the<br />

Safety Chip interface. Albeit not part of layer 2, the scheduler and state machine, and the safety chip<br />

interface are also supporting functions.<br />

The online self test module includes online tests that are executed to guarantee a high integrity of<br />

the hardware by revealing faults in the different parts of the hardware. Tests are separated into volatile<br />

memory (RAM), nonvolatile read only memory (FLASH), and CPU tests. In [8], implementation<br />

examples are presented. In [9] different test algorithms are outlined.<br />

In general, volatile memory test algorithms differ in test effort and diagnostic coverage. A high test<br />

effort and a high diagnostic coverage is ensured when using the galloping pattern test, a low one when<br />

implementing the marching bit test [10]. The level of the diagnostic coverage depends on the faults<br />

revealed by the test. Test with a high-level detect faults according to the DC-fault model [1] others only<br />

detect stuck-at faults.<br />

Tests of the nonvolatile read only memory rely on parity bits, checksums or CRCs whereas diagnostic<br />

coverage of the first is low and the last is high. In case of a SafetyLon node, the nonvolatile memory is<br />

grouped in blocks of 256 bytes since CRC polynomials do not guarantee a defined level of integrity for<br />

indefinite data length. Every block is used as input to calculate a CRC. The CRCs of the various blocks<br />

are stored in the nonvolatile memory at a predefined area. During run time, the CRC of every block is<br />

recalculated and compared to the stored one. Such an approach is an effective means to check integrity<br />

of data stored in the nonvolatile memory [8].<br />

Safety-related input/output module is responsible for testing the inputs and outputs and to provide<br />

functionality to set/reset an input and to get the value of an output. Testing of the safe I/Os has to be<br />

synchronized between the safety chips. In contrast to the aforementioned online self tests, safe I/O tests<br />

are performed in close cooperation between the safety chips. Hardware schematics are designed in such<br />

a way that inputs signal is received and output signal set by both chips and that test signals can be sent<br />

from one chip and received and evaluated by the other chip (cf. Figures 47.3 and 47.4). As a consequence,<br />

a software function of the module triggers a test pulse on the first safety chip and a software function on<br />

the other safety chip checks if the test pulse has been received.<br />

The objective of software monitoring is to ensure software integrity being part of the systematic integrity,<br />

in contrast to self tests that care for the hardware integrity. It is a means to detect if safety functions located<br />

in the volatile memory were executed according to specification or have been altered due to accidental<br />

modification. Such misbehavior is possible because of software faults during the design or implementation.<br />

Software monitoring can be distinguished between time-based and logic-based monitoring [11]. Both<br />

are integrated into the safety-related firmware. The first type uses a timer with an independent time<br />

© <strong>2011</strong> by Taylor and Francis Group, LLC

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!