/
Serial Communications Interface (SCI) Serial Communications Interface (SCI)

Serial Communications Interface (SCI) - PowerPoint Presentation

celsa-spraggs
celsa-spraggs . @celsa-spraggs
Follow
406 views
Uploaded On 2016-02-18

Serial Communications Interface (SCI) - PPT Presentation

Michael Lennard Zachary Peters Bao Nguyen Overview Types of Data Transmission Michael Lennard Parallel Serial Serial Communication Synchronous Asynchronous Baud and Bit Rates Asynchronous Serial Transmission Zachary Peters ID: 223618

data bit serial presenter bit data presenter serial transmission start stop parity receiver bits asynchronous rate peters zachary nguyen

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Serial Communications Interface (SCI)" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

Serial Communications Interface (SCI)

Michael Lennard Zachary Peters Bao NguyenSlide2

Overview

Types of Data Transmission Michael Lennard

Parallel

Serial

Serial Communication

Synchronous

Asynchronous

Baud and Bit Rates

Asynchronous Serial Transmission Zachary Peters

Serial Communication With the HCS12 Bao Nguyen

Examples of data words are transmitted Slide3

Parallel Data Transmission

Simultaneous transmission

Requires separate data lines

Uses a clock to keep bits synchronized

Fast but Expensive

Requires short cables to prevent Cross-Talk/SkewingExample: Printer Cable

Presenter: Michael Lennard

Transmitter

Receiver

One

‘Word’Slide4

Serial Data Transmission

One bit sent at a time

Slow compared to Parallel

Requires only a single transmission line & port

Cheap!

Can often be clocked faster than parallel data Example: USB, Firewire, EthernetPresenter: Michael Lennard

Transmitter

Receiver

One WordSlide5

Serial Data Transmission

Two Basic Types of Serial Data Transmission

Synchronous

Asynchronous

Two solutions to same problem - Receiver needs to know

When data startsWhen data stops

If data was processed correctly

Presenter: Michael LennardSlide6

Synchronous Serial Communication

Transmitter and Receiver have synchronized clocks

Continuous data must be sent to maintain synchronization

Any data not on a clock cycle is considered noise

Establish transmission parameters before sending data

30% faster than asynchronous transmission for large continuous blocks of data

Presenter: Michael Lennard

Transmitter

Receiver

Data

Clock Ticks

1

23Slide7

Asynchronous Serial Communication

Transmitter & Receiver are independent

Transmitter sends ‘Start’, ‘Stop’ and ‘Parity’ bits with each word of data

Simpler to implement and less expensive than synchronous

Data received between a Stop bits and the next Start bit is ignored

Presenter: Michael Lennard

Transmitter

Receiver

Data Word

Parity

Stop

StartSlide8

Baud Rate vs. Bit Rate

Baud Rate (Bd) is the rate at which Symbols (Signaling Events) are transferred

Number of bits per Symbol is Hardware Specific

Our hardware uses just

1

’s and 0’s and thus just 1 bit/SymbolBit rate is the absolute rate at which bits are transmitted

Can be changed for each port

Presenter: Michael LennardSlide9

Baud Rate vs. Characters Per Second

Not all bits sent are data

Asynchronous Serial Communication has Start/Stop/Parity bits

Characters per Second (cps) is a measure of data throughput

Throughput = Rate of actual data sent

Standard character = 1

bitCharacters = Total bits – Overhead bits

 Presenter: Michael LennardSlide10

 

Example Problem

You have an asynchronous serial connection with 2 bits/Symbol and a 9600 bd line speed. You want to send data in an 8 bit data format with

1

parity,

1

start bit and

1 stop bit. Calculate the throughput in cps.Presenter: Michael LennardSlide11

Overview

Types of Data Transmission Michael Lennard

Parallel

Serial

Serial Communication

Synchronous

Asynchronous

Baud and Bit RatesAsynchronous Serial Transmission Zachary PetersSerial Communication With the HCS12 Bao NguyenExamples of data words are transmitted Slide12

Asynchronous Serial Communication

Transmitter and Receiver Operate independently

Transmitter sends data at any time

Receiver is always ready to accept data

No need for clock signals

However… format and transfer rate must match during transmissionPresenter: Zachary PetersSlide13

Asynchronous Transmission

Data word contains information before and after that specifies the beginning and end of word

This synchronizes transmitter and receiver during transmission

Bit transfer rate is determined by programmer, but limited by interfaces

Presenter: Zachary PetersSlide14

Data Format

Start bit – indicates the beginning of word

Data bit – data user is transmitting

Parity bit – checks integrity of data

Stop bit – indicates the end of the word

Presenter: Zachary PetersSlide15

Start Bit

Opposite polarity from idle bit state

Idle state for HCS12 = all 1’s so start bit = 0

Alerts receiver that the data transmission is about to begin

Accuracy verification methods to reduce noise (discussed later)

Presenter: Zachary PetersSlide16

Data Bits

Actual Data being sent or received plus parity bit

Most common mode: 8-bit transmission

Used for ASCII character transmission

(ASCII code is 7-bit + 1 parity bit = 8-bit)

Less common mode: 9-bit transmissionCan be used to send a full byte of data + parity bitExample: sending an addressLSB transmitted first

Presenter: Zachary PetersSlide17

Data Bits

Example:

8-bit mode:

1100010101111

ASCII Code in Data  “T”9-bit mode: 11011010100011 Hex equivalent in Data $2B

Presenter: Zachary PetersDataStart BitStop Bits

Parity BitData

Start BitStop BitsParity BitSlide18

Parity Bit

1 Bit

Located at end of data bits

Used as a method of ensuring proper data transmission

Even Parity

Parity bit = 1, if # of ones in the set is odd (makes the total # of ones even)Odd ParityParity bit = 1, if # of ones in the set is even (makes the total # of ones odd)

Presenter: Zachary PetersSlide19

Stop Bit

1 or 2 bits

Only used due to asynchronous nature (Synchronous transmitters/receivers don’t need start/stop bits)

Occurs directly after the parity bit

Bit is the same as the polarity of the data-line’s idle state

Idle state for HCS12 = all 1’s so stop bits = 1Presenter: Zachary PetersSlide20

Noise Detection

Problem:

A premature bit (1 or 0) can cause the receiver to think it is receiving data before it should be, or receive incorrect data

Solution: Sample at higher freq than baud rate and take “average” of samples

RT Clock = Baud rate * 16

16 samples of each bitRT3, RT5, RT7 are recorded Presenter: Zachary PetersSlide21

Noise Detection for Start Bit

Samples taken after the signal falls to 0 to verify if it is indeed a start bit

If two ‘1’s in sample then not a start bit

If one ‘1’ in sample then noise bit flagged

Presenter: Zachary PetersSlide22

Overview

Types of Data Transmission Michael Lennard

Parallel

Serial

Serial Communication

Synchronous

Asynchronous

Baud and Bit RatesAsynchronous Serial Transmission Zachary PetersSerial Communication With the HCS12 Bao NguyenExamples of data words are transmitted Slide23

SCI Baud Rate Registers

SCIBDH & SCHBDL - $00C8-$00C9

13-Bit register determines SCI Baud rate

Baud rate generator is Disabled until TE or RE bit is set for the first time after reset.

Baud rate generator is turned off when this register contains $0000

Note: Writing to SCIBDH has no effect w/out writing to SCIBDL

Presenter: Bao NguyenSlide24

SCI Control Register 1

SCICR1 - $00CA

Presenter: Bao Nguyen

LOOPS (loop operation enable) – 0: Normal, 1: Loop Operation

SCISWAI (SCI wait mode enable) – 0: Off 1: On

M (data format mode) – 0: 8 data bits, 1: 9 data bits. Both use 1 start bit and 1 stop bit

PE (parity enable) – 0: Off, 1: On

PT (parity type) – 0: Even, 1: OddSlide25

SCI Control Register 2

SCICR2

- $

00CB

TIE (transmit interrupt enable) – 0: disables interrupts for transmit data register empty, 1: enables

TCIE (transmit complete interrupt enable) – 0: disables interrupts for transmit complete, 1: enables

RIE (receiver interrupt enable) – 0: disables interrupts for receiver full and overrun , 1: enables

ILIE (idle line interrupt enable) – 0: disables interrupts for idle line, 1: enablesTE (transmit enable) – 0: disable transmitter, 1: enable

RE (receiver enable) – 0: disable receiver, 1: enablePresenter: Bao NguyenSlide26

SCI Status Register 1

SCISR1 - $00CC

Read only register

Can be used to provide input to the microcontroller for generation of SCI interrupts

TDRE (transmit data register empty) – 0: No byte transferred,1: byte successfully transferred to transmit shift register

TC (transmit complete flag) – 0: transmission in progress, 1: no transmission in progress

RDRF (receive data register full) – 0: no data in data register, 1: data in data register

IDLE (idle flag) – 0: receiver input is active, 1: receiver input has become idle

Presenter: Bao NguyenSlide27

SCI Status Register 2

SCISR2 - $00CD

BK13 (break transmit character length) – 0: 10 or 11 bit, 1: 13 or 14 bit

TXDIR (transmitter pin direction) – 0: TXD pin used as input, 1: TXD pin used as output. (used only in single wire mode)

RAF (receiver active flag) – 0: no reception in progress, 1: reception in progress

Presenter: Bao NguyenSlide28

SCI Data Registers

SCIDRH &SCIDRL - $00CE - $00CF

SCIRDL contains incoming bytes of data from serial port

R8 – bit 8 of received 9-bit data

T8 – bit 8 of transmitted 9-bit data

Presenter: Bao NguyenSlide29

Asynchronous Data Transmission

Example 1:

Hex# 4A

16

is to be sent with one start bit, even parity, 8-bit data length and two stop bits

4A

16

= 0100 1010

2

Note: Little endian communication used (LSB sent first)

Start Bit

Data Bit 0

Data Bit 1

Data Bit 2

Data Bit 3

Data Bit 4

Data Bit 5

Data Bit 6

Data Bit 7

Parity Bit

Stop Bit

Stop Bit

0

0

1

0

1

0

0

1

0

1

1

1

Presenter: Bao NguyenSlide30

Asynchronous Data Transmission

Example 2:

Hex# B4

16

is to be sent with one start bit, even parity, 8-bit data length and two stop bits

B4

16

= 1011 0100

2

Start Bit

Data Bit 0

Data Bit 1

Data Bit 2

Data Bit 3

Data Bit 4

Data Bit 5

Data Bit 6

Data Bit 7

Parity Bit

Stop Bit

Stop Bit

0

0

0

1

0

1

1

0

1

0

1

1

Presenter: Bao NguyenSlide31

Asynchronous Data Transmission

Example 3:

Hex# B4

16

is to be sent with one start bit,

odd

parity, 8-bit data length and two stop bits

B4

16

= 1011 01002

Start Bit

Data Bit 0

Data Bit 1

Data Bit 2

Data Bit 3

Data Bit 4

Data Bit 5

Data Bit 6

Data Bit 7

Parity Bit

Stop Bit

Stop Bit

0

0

0

1

0

1

1

0

1

1

1

1

Presenter: Bao NguyenSlide32

Thank You!

Any Questions?