Embedded Systems Engineering Armin Wasicek fileOne active master per cluster ... Each node has its...
Transcript of Embedded Systems Engineering Armin Wasicek fileOne active master per cluster ... Each node has its...
![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](https://reader030.fdocuments.us/reader030/viewer/2022041303/5e13ba9f9d27376b7e6779b2/html5/thumbnails/1.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022041303/5e13ba9f9d27376b7e6779b2/html5/thumbnails/2.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022041303/5e13ba9f9d27376b7e6779b2/html5/thumbnails/3.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022041303/5e13ba9f9d27376b7e6779b2/html5/thumbnails/4.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022041303/5e13ba9f9d27376b7e6779b2/html5/thumbnails/5.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022041303/5e13ba9f9d27376b7e6779b2/html5/thumbnails/6.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022041303/5e13ba9f9d27376b7e6779b2/html5/thumbnails/7.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022041303/5e13ba9f9d27376b7e6779b2/html5/thumbnails/8.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022041303/5e13ba9f9d27376b7e6779b2/html5/thumbnails/9.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022041303/5e13ba9f9d27376b7e6779b2/html5/thumbnails/10.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022041303/5e13ba9f9d27376b7e6779b2/html5/thumbnails/11.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022041303/5e13ba9f9d27376b7e6779b2/html5/thumbnails/12.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022041303/5e13ba9f9d27376b7e6779b2/html5/thumbnails/13.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022041303/5e13ba9f9d27376b7e6779b2/html5/thumbnails/14.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022041303/5e13ba9f9d27376b7e6779b2/html5/thumbnails/15.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022041303/5e13ba9f9d27376b7e6779b2/html5/thumbnails/16.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022041303/5e13ba9f9d27376b7e6779b2/html5/thumbnails/17.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022041303/5e13ba9f9d27376b7e6779b2/html5/thumbnails/18.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022041303/5e13ba9f9d27376b7e6779b2/html5/thumbnails/19.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022041303/5e13ba9f9d27376b7e6779b2/html5/thumbnails/20.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022041303/5e13ba9f9d27376b7e6779b2/html5/thumbnails/21.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022041303/5e13ba9f9d27376b7e6779b2/html5/thumbnails/22.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022041303/5e13ba9f9d27376b7e6779b2/html5/thumbnails/23.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022041303/5e13ba9f9d27376b7e6779b2/html5/thumbnails/24.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022041303/5e13ba9f9d27376b7e6779b2/html5/thumbnails/25.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022041303/5e13ba9f9d27376b7e6779b2/html5/thumbnails/26.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022041303/5e13ba9f9d27376b7e6779b2/html5/thumbnails/27.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022041303/5e13ba9f9d27376b7e6779b2/html5/thumbnails/28.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022041303/5e13ba9f9d27376b7e6779b2/html5/thumbnails/29.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022041303/5e13ba9f9d27376b7e6779b2/html5/thumbnails/30.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022041303/5e13ba9f9d27376b7e6779b2/html5/thumbnails/31.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022041303/5e13ba9f9d27376b7e6779b2/html5/thumbnails/32.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022041303/5e13ba9f9d27376b7e6779b2/html5/thumbnails/33.jpg)
Vielen Dank für Ihre Aufmerksamkeit!
Fragen?
TTP/A Smart Transducer Networks 33