33
Smart Transducer Networks Embedded Systems Engineering Armin Wasicek

Embedded Systems Engineering Armin Wasicek fileOne active master per cluster ... Each node has its own RODL (part of a ‘big picture’) RODL must be consistently defined over all

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Embedded Systems Engineering Armin Wasicek fileOne active master per cluster ... Each node has its own RODL (part of a ‘big picture’) RODL must be consistently defined over all

Smart Transducer Networks

Embedded Systems EngineeringArmin Wasicek

Page 2: Embedded Systems Engineering Armin Wasicek fileOne active master per cluster ... Each node has its own RODL (part of a ‘big picture’) RODL must be consistently defined over all

Overview

Motivation & Design Principles TTP/A Fieldbus Protocol Implementation Requirements Smart Transducer Interface Standard Conclusion

TTP/A Smart Transducer Networks 2

Page 3: Embedded Systems Engineering Armin Wasicek fileOne active master per cluster ... Each node has its own RODL (part of a ‘big picture’) RODL must be consistently defined over all

Definition

A smart transducer is the integration of an analog or digital sensor or actuator element, a processing unit, and a communication interface.

TTP/A Smart Transducer Networks 3

MCU

NetworkInterfacePhysical

TransducerDigitalCommunicationSystem

Smart Transducer

Page 4: Embedded Systems Engineering Armin Wasicek fileOne active master per cluster ... Each node has its own RODL (part of a ‘big picture’) RODL must be consistently defined over all

Motivation

Sensor/Actuators become more complex (e.g. providing various modes of interfacing, operation...)

Requirement for fault-tolerant and distributed systems -> networked sensors and actuators

Embedded microcontrollers can handle complexity at a fair price

Cheap mass-production of flexible general purpose smart transducers

TTP/A Smart Transducer Networks 4

Page 5: Embedded Systems Engineering Armin Wasicek fileOne active master per cluster ... Each node has its own RODL (part of a ‘big picture’) RODL must be consistently defined over all

Design Principles for ST (1)Two-Level Design Approach

TTP/A Smart Transducer Networks 5

• Node level:

– Transducer developer handles sensor- and actuator-specific details

– Functionality of transducer is exported via well-specified interface

• System level:

– System integrator can handle node as black boxes and build on exported services

• Composability principle guarantees that services, which are established at node level are maintained at system level

Page 6: Embedded Systems Engineering Armin Wasicek fileOne active master per cluster ... Each node has its own RODL (part of a ‘big picture’) RODL must be consistently defined over all

Three Interfaces of a Node

TTP/A Smart Transducer Networks 6

SPLIF … Service Providing Linking Interface

SRLIF … Service Requesting Linking Interface

Page 7: Embedded Systems Engineering Armin Wasicek fileOne active master per cluster ... Each node has its own RODL (part of a ‘big picture’) RODL must be consistently defined over all

Design Principles for ST (2)Real-Time Service

Knowledge about the exact instant of an event Predictable timing with low jitter (control loops) Guaranteed timing behavior under load and fault

hypotheses

TTP/A Smart Transducer Networks 7

Page 8: Embedded Systems Engineering Armin Wasicek fileOne active master per cluster ... Each node has its own RODL (part of a ‘big picture’) RODL must be consistently defined over all

Design Principles for ST (3)Diagnosis & Management Support

Diagnosis access to ST internals Not necessarily real-time capable Monitoring support without a probe effect on real-time

service

TTP/A Smart Transducer Networks 8

Page 9: Embedded Systems Engineering Armin Wasicek fileOne active master per cluster ... Each node has its own RODL (part of a ‘big picture’) RODL must be consistently defined over all

Design Principles for ST (4)Configuration & Planning Support

Machine-readable description of ST properties Automated configuration saves time Required qualification of personal can be lower Fewer configuration faults, since monotone and error-

prone tasks are done by computer

TTP/A Smart Transducer Networks 9

Page 10: Embedded Systems Engineering Armin Wasicek fileOne active master per cluster ... Each node has its own RODL (part of a ‘big picture’) RODL must be consistently defined over all

Overview

Motivation & Design Principles TTP/A Fieldbus Protocol Implementation Requirements Smart Transducer Interface Standard Conclusion

TTP/A Smart Transducer Networks 10

Page 11: Embedded Systems Engineering Armin Wasicek fileOne active master per cluster ... Each node has its own RODL (part of a ‘big picture’) RODL must be consistently defined over all

TTP/A Protocol (1)

One active master per cluster Up to 250 slaves Communication organized in rounds TDMA bus allocation

TTP/A Smart Transducer Networks 11

For details see:

TTP/A Smart Transducer Programming –A Beginner’s Guide

Available at: (http://www.vmars.tuwien.ac.at/)

Publication & Research Reports

Page 12: Embedded Systems Engineering Armin Wasicek fileOne active master per cluster ... Each node has its own RODL (part of a ‘big picture’) RODL must be consistently defined over all

TTP/A Smart Transducers 12Time Division Multiple Access

TTP/A Protocol (2)

Page 13: Embedded Systems Engineering Armin Wasicek fileOne active master per cluster ... Each node has its own RODL (part of a ‘big picture’) RODL must be consistently defined over all

Interface File System (IFS) (1) Hierarchical distributed data structure Source and sink of each communication Unique addressing scheme:

Cluster (0..255)Node (0..255)

File (0..63)Record (0..255)

Byte (0..3) IFS maps all relevant properties (sensor and actuator

data, calibration parameters, configuration data, serial number, …)

TTP/A Smart Transducer Networks 13

Page 14: Embedded Systems Engineering Armin Wasicek fileOne active master per cluster ... Each node has its own RODL (part of a ‘big picture’) RODL must be consistently defined over all

Interface File System (IFS) (2)

Header Record

First record of each file contains status information (access permissions, file length, etc)

Special Files

Documentation file: physical name of node (similar to MAC address)

Configuration file: logical name of the node, current fireworks-byte, epoch-counter etc.

Round Descriptor List (RODL): holds information about actions performed by a node for a particular round

Round Sequence file (ROSE): specifies sequence of rounds, only implemented in the TTP/A master

TTP/A Smart Transducer Networks 14

Page 15: Embedded Systems Engineering Armin Wasicek fileOne active master per cluster ... Each node has its own RODL (part of a ‘big picture’) RODL must be consistently defined over all

Round Types Master-slave round: Master accesses a record by broadcasting its IFS address and a

tag indicating operation (read, write, …) Master-slave address (MSA) and master-slave data (MSD) part

Multipartner round: TDMA communication is predefined by RODL Up to 6 different modes (predefined schedules)

TTP/A Smart Transducer Networks 15

Page 16: Embedded Systems Engineering Armin Wasicek fileOne active master per cluster ... Each node has its own RODL (part of a ‘big picture’) RODL must be consistently defined over all

Round Description List (RODL)

For each slot in each round:

Operation (receive, send, receive and synchronize clock, execute)

Data source/sink (IFS address + message length)

Each node has its own RODL (part of a ‘big picture’)

RODL must be consistently defined over all nodes

RODL itself is accessible via IFS

TTP/A Smart Transducer Networks 16

Page 17: Embedded Systems Engineering Armin Wasicek fileOne active master per cluster ... Each node has its own RODL (part of a ‘big picture’) RODL must be consistently defined over all

Common Communication and Action Schedule

TTP/A Smart Transducer Networks 17

1 2 3 4

A Send Receive Receive ExecuteB Receive Send Receive SendC Receive Receive Send ReceiveD Receive Receive Execute Receive

slotnode

t

Page 18: Embedded Systems Engineering Armin Wasicek fileOne active master per cluster ... Each node has its own RODL (part of a ‘big picture’) RODL must be consistently defined over all

Realization of Three Interfaces (1) Real-Time Service (RS): Multipartner rounds

Configuration and Planning (CP) Interface Master-Slave rounds accessing RODL

Diagnostic and Maintenance (DM) Interface Master-Slave Rounds during operation

TTP/A Smart Transducer Networks 18

Page 19: Embedded Systems Engineering Armin Wasicek fileOne active master per cluster ... Each node has its own RODL (part of a ‘big picture’) RODL must be consistently defined over all

Realization of Three Interface (2)

RS Interface: IFS realizes Service Requesting Linking Interface (SRLIF) and Service Providing Linking Interface (SPLIF)

CP Interface: access via RODL

DM Interface: local data of individual TTP/A tasks (stored in service file)

SRLI

F SPLIF

CP DM

ServiceRT Input RT Output

Local Interfaces

TTP/A Smart Transducer Networks  19

Page 20: Embedded Systems Engineering Armin Wasicek fileOne active master per cluster ... Each node has its own RODL (part of a ‘big picture’) RODL must be consistently defined over all

TTP/A Example Three TTP/A nodes

Node 0 is the TTP/A master (synchronization of slaves via fireworks byte)

Node 3 executes in slot 0x03 a counter and broadcasts the actual value in slot 0x01

Node 2 receives the counter value in slot 0x01 and displays the new value in slot 0x03 (also by executing a TTP/A task)

Inter-round gap (end of round) in slot 0x07

In the following the code of node 3 is illustrated

The example is available on the Lab homepageTTP/A Smart Transducer Networks 20

Page 21: Embedded Systems Engineering Armin Wasicek fileOne active master per cluster ... Each node has its own RODL (part of a ‘big picture’) RODL must be consistently defined over all

TTP/A Example: IFS Layout

TTP/A Smart Transducer Networks 21

TTP/A specific include files

e.g. IFS access macros

name of the IFS file for the application

(suggested range 0x30 to 0x3d)

memory section for IFS storage (ifs_int_eep

… EEPROM)

(ifs_int_0 … zero initialized SRAM)

layout of the application file

IFS address

signed 8-bit int value for incr. value

unsigned 8-bit value for error code

declaration of TTP/A task

Page 22: Embedded Systems Engineering Armin Wasicek fileOne active master per cluster ... Each node has its own RODL (part of a ‘big picture’) RODL must be consistently defined over all

TTP/A Example: RODL Layout

TTP/A Smart Transducer Networks 22

TTP/A specific include files

e.g. IFS access macros

layout of the RODL (for node 3 only)

RODL filename (0x00 to 0x07); length of RODL; memory

section for storage (EEPROM)

operation: send

slot: 0x01

IFS addr: I/O file record 0x01, byte 0

length: 1 (len – 1 is stored)

operation: execute

slot: 0x03

IFS addr: specifies the task to execute

end of round: slot 0x07

Page 23: Embedded Systems Engineering Armin Wasicek fileOne active master per cluster ... Each node has its own RODL (part of a ‘big picture’) RODL must be consistently defined over all

TTP/A Example: Node Source-Code

TTP/A Smart Transducer Networks 23

application file with initialization

pointer to I/O file = I/O file

increment value = 1; error flag = 0

I/O file

parameters for file definition:

file number, variable name, TTPA/task, file length, memory section, and access mode

code for TTP/A task

code for initialization function

adding an initialization function:

task handle, function pointer to task, order, execution states

adding a background task is similar

Page 24: Embedded Systems Engineering Armin Wasicek fileOne active master per cluster ... Each node has its own RODL (part of a ‘big picture’) RODL must be consistently defined over all

Overview

Motivation & Design Principles TTP/A Fieldbus Protocol TTP/A Implementation / Case Study Smart Transducer Interface Standard Conclusion

TTP/A Smart Transducer Networks 24

Page 25: Embedded Systems Engineering Armin Wasicek fileOne active master per cluster ... Each node has its own RODL (part of a ‘big picture’) RODL must be consistently defined over all

Architectural Requirements

Standard UART (may be also a software UART)

About 2KB ROM for protocol code

About 32 byte RAM for protocol-specific variables (e.g., RODL memory)

Supports any serial bus

TTP/A Smart Transducer Networks 25

Page 26: Embedded Systems Engineering Armin Wasicek fileOne active master per cluster ... Each node has its own RODL (part of a ‘big picture’) RODL must be consistently defined over all

Case Study Hardware

TTP/A Smart Transducer Networks 26

Atmel AVR TTP/A nodes

PCMCIA Master/Gateway

Page 27: Embedded Systems Engineering Armin Wasicek fileOne active master per cluster ... Each node has its own RODL (part of a ‘big picture’) RODL must be consistently defined over all

Case Study Software

RODL design tool Written in Java => Platform-independent Connects to cluster via CORBA interface

Monitoring tool Displays contents of node’s IFS Refreshes data periodically Connects directly via RS232 Important for lab course

TTP/A Smart Transducer Networks 27

Page 28: Embedded Systems Engineering Armin Wasicek fileOne active master per cluster ... Each node has its own RODL (part of a ‘big picture’) RODL must be consistently defined over all

Overview

Motivation & Design Principles TTP/A Fieldbus Protocol TTP/A Implementation / Case Study Smart Transducer Interface Standard Conclusion

TTP/A Smart Transducer Networks 28

Page 29: Embedded Systems Engineering Armin Wasicek fileOne active master per cluster ... Each node has its own RODL (part of a ‘big picture’) RODL must be consistently defined over all

OMG Smart Transducer Standard

Specifies a CORBA interface for accessing the IFS contents of a TTP/A cluster remotely

Specifies IFS addressing scheme

Specifies real-time communication

CORBA can be used for configuration and monitoring

Access to real-time service interface possible, when a RT-CORBA is used

TTP/A Smart Transducer Networks 29

Page 30: Embedded Systems Engineering Armin Wasicek fileOne active master per cluster ... Each node has its own RODL (part of a ‘big picture’) RODL must be consistently defined over all

Example Architecture

TTP/A Smart Transducer Networks  30

Page 31: Embedded Systems Engineering Armin Wasicek fileOne active master per cluster ... Each node has its own RODL (part of a ‘big picture’) RODL must be consistently defined over all

Overview

Design Principles TTP/A Fieldbus Protocol Implementation Requirements Smart Transducer Interface Standard Conclusion

TTP/A Smart Transducer Networks 31

Page 32: Embedded Systems Engineering Armin Wasicek fileOne active master per cluster ... Each node has its own RODL (part of a ‘big picture’) RODL must be consistently defined over all

Conclusion Two-level design for ST applications

Node level: transducer details System level: integration to overall system

TTP/A: Master/Slave protocol supporting periodic real-time

traffic and sporadic diagnostic and management communication

Low-cost, highly-efficient (no addressing overhead)

Standardized CORBA interface supports remote tool access

TTP/A Smart Transducer Networks 32

Page 33: Embedded Systems Engineering Armin Wasicek fileOne active master per cluster ... Each node has its own RODL (part of a ‘big picture’) RODL must be consistently defined over all

Vielen Dank für Ihre Aufmerksamkeit!

Fragen?

TTP/A Smart Transducer Networks 33