Communication protocols - Embedded Systems

Preview:

DESCRIPTION

Communication protocols in Embedded Systems. This presentation focused mainly on lower level protocols. Ideal for the beginner to build understanding on these protocols like I2C, USB, SPI etc.

Citation preview

Team Emertxe

Communication Protocols 1

CommunicationProtocols I

● Introduction

● UART

● SPI

● I²C

● CAN

● USB

Introduction

Introduction

● What do mean by Communication?

● Mode of Communications

● Type of Communications

● Why Protocols?

IntroductionModes of Communication

● Simplex

● Half Duplex

● Duplex

UART

UART

Serial Peripheral Interface

SPI

● Introduction

● Interface

● Hardware Configurations

● Data Transmission

– Data Propagation

– Data Validity

SPIIntroduction

● Synchronous

● Full Duplex

● Master / Slave

SPIInterface

● SCLK● MOSI● MISO● nSS

SPIHardware Configuration

SPIHardware Configuration

SPIHardware Configuration

SPIData Transmission

SPIData Transmission

SPIData Transmission

SPIData Transmission

SPIData Transmission

SPIData Transmission

SPIData Transmission

SPIData Transmission

SPIData Transmission

SPIData Validity

Inter Integrated Circuits

● Introduction to I²C

● I²C Bus Features

● The I²C Bus Protocol

● Bus Speeds

I2C

● Synchronous

● Half Duplex

● Multi Master / Slave

I2CIntroduction

● Two Line Interface

● Software Addressable

● Multi Master with CD

● Serial, 8 bit Oriented, Bidirectional with 4 Modes

● On Chip Filtering

I2CBus Features

● Example

● Signals

● A Complete Data Transfer

I2CProtocol

I2CExample

● Two-wired Interface

– SDA

– SCL● Wired-AND

● Conditions and Data Validity

● Transmission

I2CSignals

I2CSignals – Wired-AND

I2CSignals – Conditions and Data Validity

I2CSignals – Transmission

● Data on SDA

● Clocking on SCL

● Clock Synchronization

● Data Arbitration

I2CSignals – Data on SDA

I2CSignals – Data on SDA

I2CSignals – Data on SDA

I2CSignals – Data on SDA

I2CSignals – Data on SDA

I2CSignals – Clocking on SCL

I2CSignals – Clock Synchronization

I2CSignals – Data Arbitration

I2CA Complete Data Transfer

I2CBus Speeds

● Bidirectional Bus

– Standard Mode - 100 Kbit/s

– Fast Mode - 400 Kbits/s

– Fast Mode Plus - 1 Mbits/s

– High Speed Mode - 3.4 Mbits/s● Unidirectional Bus

– Ultra Fast Mode – 5 Mbits/s● Uses Push-Pull Drivers (No Pullups)

Controller Area Network

● Introduction to CAN● Basic Concepts● Message Transfer● Message Filtering● Message Validation● Coding● Error Handling● Fault Confinement● Oscillator Tolerance● Bit Timing Requirement

Controller Area Network

● Asynchronous● Half Duplex● Multi Master / Slave

CANIntroduction

● Example

● Versions

● Absence of node addressing

– Message identifier specifies contents and priority

– Lowest message identifier has highest priority

● Non-destructive arbitration system by CSMA with collision detection

● Simple Transmission Medium

– Twisted pair – CAN H and CAN L

● Properties

● Layered Architecture

CANBasic Concepts

CANBasic Concepts - Example

CANBasic Concepts - Versions

NOMENCLATURE STANDARDMAX SIGNALING

RATE IDENTIFIER

Low Speed CAN ISO 11519 125 kbps 11 bit

CAN 2.0A ISO 11898:1993 1 Mbps 11 bit

CAN 2.0B ISO 11898:1995 1 Mbps 29 bit

● Prioritization of Messages

● Guarantee of Latency Times

● Configuration of Flexibility

● Multicast Reception with Time Synchronization

● System wide Data Consistency

● Multi master

● Error Detection and Error Signaling

● Automatic Retransmission

● Distinction between temporary errors and permanent failures of nodes and autonomous switching off of defect nodes

CANBasic Concepts - Properties

CANBasic Concepts - Layered Architecture

CANBasic Concepts - Layered Architecture

CANBasic Concepts - Layered Architecture

CANMessage Transfer

● Frame Formats

– Standard Frame - 11 bits Identifiers

– Extended Frame - 29 bits Identifiers● Frame Types

– Data Frame

– Remote Frame

– Error Frame

– Overload Frame● Frame Fields

CANMessage Transfer - Frame Formats

CANMessage Transfer – Data Frame

● A data frame consists of seven fields: start-of-frame, arbitration, control, data, CRC, ACK, and end-of-frame.

CANMessage Transfer – Remote Frame

● Used by a node to request other nodes to send certain type of messages

● Has six fields as shown in above figure

– These fields are identical to those of a data frame with the exception that the RTR bit in the arbitration field is recessive in the remote frame.

CANMessage Transfer – Error Frame

● This frame consists of two fields.

– The first field is given by the superposition of error flags contributed from different nodes.

– The second field is the error delimiter.● Error flag can be either active-error flag or passive-error flag.

– Active error flag consists of six consecutive dominant bits.– Passive error flag consists of six consecutive recessive bits.

● The error delimiter consists of eight recessive bits.

CANMessage Transfer – Overload Frame

● Consists of two bit fields: overload flag and overload delimiter

● Three different overload conditions lead to the transmission of the overload frame:

– Internal conditions of a receiver require a delay of the next data frame or remote frame.

– At least one node detects a dominant bit during intermission.

– A CAN node samples a dominant bit at the eighth bit (i.e., the last bit) of an error delimiter or overload delimiter.

● Format of the overload frame is shown in above fig

● The overload flag consists of six dominant bits.

● The overload delimiter consists of eight recessive bits.

● Control Field

● Arbitration Field

● Data Field

● CRC Field

● ACK Field

CANMessage Transfer – Frame Fields

● The first bit is IDE bit for the standard format but is used as reserved bit r1 in extended format.

● r0 is reserved bit.

● DLC3…DLC0 stands for data length and can be from 0000 (0) to 1000 (8).

CANFrame Fields – Control Field

● The identifier of the standard format corresponds to the base ID in the extended format.

● The RTR bit is the remote transmission request and must be 0 in a data frame.

● The SRR bit is the substitute remote request and is recessive.

● The IDE field indicates whether the identifier is extended and should be recessive in the extended format.

● The extended format also contains the 18-bit extended identifier.

CANFrame Fields – Arbitration Field

● May contain 0 to 8 bytes of data

CANFrame Fields – Data Field

● It contains the 16-bit CRC sequence including CRC delimiter.

● The CRC delimiter is a single recessive bit.

CANFrame Fields – CRC Field

● Consists of two bits● The first bit is the acknowledgement bit. ● This bit is set to recessive by the transmitter,

but will be reset to dominant if a receiver acknowledges the data frame.

● The second bit is the ACK delimiter and is recessive.

CANFrame Fields – Ack Field

CANError Handling

● Error Detection

– Bit Error

– Stuff Error

– CRC Error

– Form Error

– Acknowledgment Error● Error Signaling

CANFault Confinement

● Counters– Transmit Error Counter & Receive Error Counter

Universal Serial Bus

● Introduction

● Technical Overview

● Interfaces

● Architecture

● Power Managment

● Communication Overview

● Extensions

– OTG

– Wireless

Universal Serial Bus

● Asynchronous

● Half Duplex

● Master / Slave

● Offers simple connectivity

● Low cost

● Ease of use

● Manages power efficiently

● Supports all kinds of Data

USBIntroduction

● Upstream Connection and Downstream Connection

● Device Speeds

– Low Speed cables at 1.5 Mbps

– Full Speed cables at 12 Mbps and

– High Speed cables at 480 Mbps

– Super Speed upto 5.0 Gbps (Raw throughput)

● Two types of Connectors

– Type A and Type B

– Sizes

● Standard, Mini, Micro

USBTechnical Overview

● USB 1.X and 2.0

– Vcc

– D-

– D+

– GND

● USB 3.0

– Older USB interface line plus

– SSTX+/-

– SSRX+/-

USBInterfaces

● Follows a Tiered star Topology and consists of

– Host controller

– Hubs

– Peripherals

USBArchitecture

USBArchitecture - Bus Topology

● Host recognizes the peripheral through a process called Enumerations

● Host communicates with the peripheral to learn its identity and identifies which device driver is required

● Host supplies the peripheral with an address

● Host is the controller of the entire network. e.g. PC

USBArchitecture - Host

● Allows many USB devices to share a single USB port

● USB devices with some incorporated intelligence

● Increase the logical and physical fan out

● Single upstream connection and one-many down stream connection

● Smart wire passing data between the peripheral and Host ● Direct connection exists between host and peripherals ● Two kinds of Hubs:

– Bus Powered Hub: Draws power from the host computers USB interface

– Self Powered Hub: Has a built in power supply.

USBArchitecture - Hubs

● Receive and respond to the commands from the host. E.g. Mice, Keyboard, Joysticks

● Two types of Peripherals – Standalone– Compound Device

USBArchitecture - Peripherals

● Peripherals connected regardless of the power state

● A pair of wires to supply power to the peripherals

● Manage power by enabling and disabling power to devices

● Removes electrically ill behaved systems from the network

USBPower Management

● End point is a unique point in the device which is the source or the receiver of the data

● End point has a definite address associated with it

● Codes indicate the type of transfer

● 16 end points within each device each end point has a 4 bit address

● End point “0” reserved for control transfers

USBCommunication Overview

● Transactions between the host and end point take place through virtual pipes

● Pipes are logical channels which connect the host to the end points

● Once the communication is established the end points return a descriptor

● Descriptor is a data structure tells the host about the end points configuration and expectations

USBCommunication Overview

USB supports four transfer types of data:

● Control Transfers: – Exchange information such as configuration, command

information , set up between host and end point

● Bulk Transfers:– Supports bulk amounts of data when timely delivery isn’t critical.

– e.g. Printers and Scanners

● Isochronous transfers: – Handle transfers like streaming data

● Interrupt transfers:– Poll devices to see if they need service

USBCommunication Overview

● USB 2.0

● PictBridge Standard to communicate imaging devices

● Microsoft X box console

● IBM Ultraport

● USB 1.0 OTG

● USB 1.0a supplement OTG

● Wireless USB

USBExtensions

● USB On-The-Go Technology is used to provide dual role to the peripherals

● Enables direct communication between the hosts without involving the processor

● Incorporates Mini A , Mini B, Mini AB plugs and receptacles

● Highly complex design

USBOTG

Advantages:

● Provides Dual Role Devices

● Introduces new connector types, Mini A, Mini B, Mini AB

● Provides with Aggressive Power Management

On the Go Functionality of the USB can be implemented:

● Using a Full solution Approach

● Using a USB microcontroller

● Designing a custom IC

USBOTG

● A Paradigm developed by Cypress that allows devices to be connected but appear as if they are connected to the host over normal USB connectivity

● Addresses many of the Design issues of Wireless networking

● An evolution that relies on familiar and existing technologies

● Desirable for point to point devices

● Features of Wireless USB are its Ease of use, simple connectivity and conservation of the battery power

USBWireless

Thank You

Recommended