410 likes | 522 Views
Explore the fundamental concepts and architectures of embedded communication systems for real-time applications. Learn about network resources, communication protocols, event-based vs state-based systems, and advanced communication principles. Understand the importance of communication layers and network reliability.
E N D
Embedded System Communication Setha Pan-ngum
Introduction • Embedded & Real-time systems could be standalone or connected • A real-time system is often composed from a number of periodic (time triggered) and sporadic (event triggered) tasks which communicate their result by passing messages. • In a distributed real-time systems these messages are sometimes sent between processors across a communication device. (from Urban Bilstrup)
Introduction (cont.) • To guarantee that the timing requirements of all tasks are met, the communications delay between a sending task and a receiving task being able to access that message must be bounded. For examples • Control systems: between sensors and actuators via central computer • Multiprocessors: between processors, tasks communicating
Open System Interconnection • Intended for computers • Designed to solve compatibility problem • Layers provide standard interface and services • Embedded systems use some standardisation ideas • Higher layers require lower layers to work
OSI Layers • Application – user interface e.g. Internet explorer • Presentation – data formatting e.g. compression and encoding • Session – handle overall connection e.g. OS, scheduling programs • Transport – ensures data transfer, error checking e.g. TCP • Network – logical addressing, routing e.g. IP (from TCP/IP)
OSI cont. • Data link – prepares data for transfer, physical addressing such as Media Access Control (MAC) • Physical – wires and cables, hubs, repeaters.
Embedded Communication • Point-to-point networks • Each node connected to every node • Simple and reliable • Dedicated links make it easy to meet real-time deadlines • Costly due to many wires required • Shared media networks • Nodes are connected via bus or other topologies • Less wiring and hence cheaper • Easily extendable by adding new nodes to network • Complex network protocol • Being the system of focus from now on
P1 P2 P1 P2 P1 P2 P1 P2 Internet memory P3 P4 P3 P4 P3 P4 P3 P4 Basic network architectures From Urban Bilstrup
External Wireless Communication System InternalWireless Communication System GREEN CAN LIN HMI Gateway MOST Audio modules Tuners Playback Audio modules Audio modules Audio module RED CAN Complex distributed architecture From Urban Bilstrup
Concepts • Event based communication • E.g. alarm, user inputs, requests for data from other systems • State based communication • E.g. regular sensor readings • Predictability
Network resources & qualitative parameters • Network resources • Bandwidth • Buffer space • Protocol efficiency (data bits/bandwidth). Depends on • Message overhead • Media access overhead • Determinacy (ability to calculate worst-case response time) • Robustness • cost
Event based system • Efficient use of network resource • Needs high reliability (event based data comes once in a while) • May need acknowledgement • Hard to predict delay in case of overloading (e.g. alarm)
State based system • Messages sent at predefined, regular intervals. • Less efficient due to regular occupation of communication channel by nodes. • More tolerance. Missed message may be ok, since the next one will be coming. • Transient data problem. Sending node has to keep data long enough for other to see. E.g. button pressed may need to be repeated.
Protocol • No best protocol, depends on applications. • Embedded systems tends to focus on level 1 and 2 of OSI model, for simplicity and overhead reduction. • Physical link (Layer 1) – transmission medium • Data link (Layer 2) provides Media Access Control (MAC)
Advanced communication principles [6] • Layering • Break complexity of communication protocol into pieces easier to design and understand • Lower levels provide services to higher level • Lower level might work with bits while higher level might work with packets of data • Physical layer • Lowest level in hierarchy • Medium to carry data from one actor (device or node) to another • Parallel communication • Physical layer capable of transporting multiple bits of data • Serial communication • Physical layer transports one bit of data at a time • Wireless communication • No physical connection needed for transport at physical layer
Parallel communication [6] • Multiple data, control, and possibly power wires • One bit per wire • High data throughput with short distances • Typically used when connecting devices on same IC or same circuit board • Bus must be kept short • long parallel wires result in high capacitance values which requires more time to charge/discharge • Data misalignment between wires increases as length increases • Higher cost, bulky
Serial communication [6] • Single data wire, possibly also control and power wires • Words transmitted one bit at a time • Higher data throughput with long distances • Less average capacitance, so more bits per unit of time • Cheaper, less bulky • More complex interfacing logic and communication protocol • Sender needs to decompose word into bits • Receiver needs to recompose bits into word • Control signals often sent on same wire as data increasing protocol complexity
Wireless communication [6] • Infrared (IR) • Electronic wave frequencies just below visible light spectrum • Diode emits infrared light to generate signal • Infrared transistor detects signal, conducts when exposed to infrared light • Cheap to build • Needline of sight, limited range • Radio frequency (RF) • Electromagnetic wave frequencies in radio spectrum • Analog circuitry and antenna needed on both sides of transmission • Line of sight not needed, transmitter power determines range
Media Access Control (MAC) • Many protocols are taken from computer networks • Connection oriented protocols • CSMA/CD • CSMA/CA • Polling • Token passing • TDMA • Binary countdown (Bit dominance)
Connection oriented protocols [5] • 2 nodes per each connection only • If nodes are not directly connected, data is relayed • Deterministic delay between directly connected nodes, high delay for indirectly connected nodes
Connection oriented protocols cont. • Suitable to systems with low communication requirements. • Node with pass-through traffic can be fully occupied. • E.g. telephone network service
Polling [5] • Simple and deterministic • Needs a master node • Master periodically polls slave nodes • Consumes bandwidth • E.g. military aircraft communication • Simple slave nodes, complex master
Time Division Multiple Access (TDMA) [5] • Masters broadcasts sync signal to synchronise all clocks • Then each node sends data on its time slot. • Similar but more efficient than polling (synchronise once vs polling all nodes individually. • more complex nodes due to timing requirements.
TDMA cont. • Fixed length messages (inflexible) • E.g. satellite communications
. Token ring [5] • Ring shape network • Token (signal) is passed from node to node • Node can hold token, send message all the way round the ring, and pass token on • Deterministic under heavy load
Token ring cont. • Some token overhead • Can add priority by having extra field in token • More complexity in detecting token lost • Cable break disrupts network (needs dual ring) • E.g. many Wide Area Networks (WANs)
Token bus [5] • Similar to token ring • Token is passed via bus simultaneously • Cable break can be dealt with by reconfiguration (like when a node is added to or taken off the network. • Applied in manufacturing
Binary countdown (Bit Dominance) • All nodes wait for channel to be free before sending. • Simultaneous channel access (contention) resolved by detecting broadcasting signal for unique identification • Bus must provide dominance bit e.g. ‘1’ can override ‘0’ • A node stop transmitting when seeing dominance bit opposite to its own broadcasting. • Hence messages require priority as IDs rather than node IDs. • Good throughput & high efficiency (no contention loss)
Binary countdown cont. • Heavy load can cause long delay for low priority messages (no bound) • Applied in industrial and automotive Controller Area Network (CAN) and SAE standard J 1850
Carrier Sense Multiple Access with Collision Dectection (CSMA/CD) [5] • Nodes wait for idle channel before transmitting. • When simultaneously transmission is detected, each node stops and waits for random time before resending.
CSMA/CD cont. • Easy to add or take off new nodes without initialisation and configuration • Low overhead at light traffic • Unbound overhead at heavy traffic (messages keeps colliding) hence low determinacy and efficiency. • Requires detection circuit
Carrier Sense Multiple Access with Collision Avoidance (SCMA/CA) [5]
CSMA/CA cont. • Hybrid between light traffic efficiency of CSMA/CA and heavy traffic efficiency of token-based protocols. • Nodes waits for free network before sending. • When collision happens, jam signal is sent to notify all nodes, synchronises clocks and start contention time slot. • Unique time slot is assigned to each node • Rotate time slot for fairness • Network return to normal state when all slots are unused.
CSMA/CA cont. • Variations • Reservation CSMA – no. of slots equal to no. of nodes • Not practical if networks has many nodes. • No. of slots less than no. of nodes – randomly allocate slots to nodes.
Automotive standards [7] • Controller Area Network (CAN) • Event triggered, Arbitration • Time Triggered Protocol (TTP) • Time triggered, TDMA • Local Interconnect Network (LIN) • Time triggered, master-slave • Media Oriented System Transport (MOST)
Manufacturing Automation Standards [7] • Controller Area Network (CAN) • Arbitration • Process Network (P-NET) • Token passing and master-slave • PROcess Field Bus (PROFIBUS) • Token passing and master-slave • Factory Instrumentation Protocol (World FIP) • Centralised arbitration
Military Standards [7] • MIL-STD 1553 • The current 1553 data bus is widely used in military applications, with a nominal throughput of 1 Mb/s. • MIL-STD 1773 • Mil-Std-1773 defines a fiber optic bus. This system is widely used for on-board command and telemetry transfer between military spacecraft components, subsystems and instruments, and within complex components themselves. 1773 AS, has a dual rate of 1 Mb/s or 20 Mb/s. • ARINC 429 • A commercial aircraft data bus. It is widely implemented in the commercial aircraft avionics industry. Performance is 100Kb/s or 12.5Kb/s.
References • Upender B, Koopman P, Embedded communication protocol options, Proc. to the 5th annual embbeded system conference, 1993 • Rollins L, Embedded communication • Kopetz H, Real-time system design principles for distributed embedded applications, Kluver, 1997 • Liu J, Real-time systems, Prentice-Hall, 2000 • Upender B, Koopman P, Communication protocols for embedded systems, Embedded systems programming, Nov 1994. • Vahid F, Givargis T, Embedded system design a unified hardware/software introduction, Wiley, 2002 • Bilstrup U, Real-time communication