View
2.692
Download
28
Category
Tags:
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