Serial communications interface sci l.jpg
This presentation is the property of its rightful owner.
Sponsored Links
1 / 32

Serial Communications Interface (SCI) PowerPoint PPT Presentation


  • 201 Views
  • Uploaded on
  • Presentation posted in: General

Serial Communications Interface (SCI). Michael LennardZachary PetersBao Nguyen. Overview. Types of Data TransmissionMichael Lennard Parallel Serial Serial Communication Synchronous Asynchronous Baud and Bit Rates Asynchronous Serial TransmissionZachary Peters

Download Presentation

Serial Communications Interface (SCI)

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Serial communications interface sci l.jpg

Serial Communications Interface (SCI)

Michael LennardZachary PetersBao Nguyen


Overview l.jpg

Overview

  • Types of Data TransmissionMichael Lennard

    • Parallel

    • Serial

  • Serial Communication

    • Synchronous

    • Asynchronous

  • Baud and Bit Rates

  • Asynchronous Serial TransmissionZachary Peters

  • Serial Communication With the HCS12Bao Nguyen

  • Examples of data words are transmitted


  • Parallel data transmission l.jpg

    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/Skewing

    • Example: Printer Cable

    Receiver

    One ‘Word’

    Transmitter

    Presenter: Michael Lennard


    Serial data transmission l.jpg

    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, Ethernet

    Receiver

    One Word

    Transmitter

    Presenter: Michael Lennard


    Serial data transmission5 l.jpg

    Serial Data Transmission

    • Two Basic Types of Serial Data Transmission

      • Synchronous

      • Asynchronous

    • Two solutions to same problem - Receiver needs to know

      • When data starts

      • When data stops

      • If data was processed correctly

    Presenter: Michael Lennard


    Synchronous serial communication l.jpg

    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

    Data

    Receiver

    Transmitter

    3

    2

    1

    Clock Ticks

    Presenter: Michael Lennard


    A s ynchronous serial communication l.jpg

    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

    Data Word

    Receiver

    Transmitter

    Start

    Stop

    Parity

    Presenter: Michael Lennard


    Baud rate vs bit rate l.jpg

    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/Symbol

    • Bit rate is the absolute rate at which bits are transmitted

      • Can be changed for each port

    Presenter: Michael Lennard


    Baud rate vs characters per second l.jpg

    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 bit

    • Characters = Total bits – Overhead bits

    Presenter: Michael Lennard


    Example problem l.jpg

    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 Lennard


    Overview11 l.jpg

    Overview

    • Types of Data TransmissionMichael Lennard

      • Parallel

      • Serial

  • Serial Communication

    • Synchronous

    • Asynchronous

  • Baud and Bit Rates

  • Asynchronous Serial TransmissionZachary Peters

  • Serial Communication With the HCS12Bao Nguyen

  • Examples of data words are transmitted


  • Asynchronous serial communication l.jpg

    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 transmission

    Presenter: Zachary Peters


    Asynchronous transmission l.jpg

    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 Peters


    Data format l.jpg

    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 Peters


    Start bit l.jpg

    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 Peters


    Data bits l.jpg

    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 transmission

      • Can be used to send a full byte of data + parity bit

      • Example: sending an address

    • LSB transmitted first

    Presenter: Zachary Peters


    Data bits17 l.jpg

    Data Bits

    • Example:

      • 8-bit mode:

        1100010101111 ASCII Code in Data  “T”

      • 9-bit mode:

        11011010100011 Hex equivalent in Data $2B

    Stop Bits

    Stop Bits

    Data

    Data

    Start Bit

    Start Bit

    Parity Bit

    Parity Bit

    Presenter: Zachary Peters


    Parity bit l.jpg

    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 Parity

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

    Presenter: Zachary Peters


    Stop bit l.jpg

    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 = 1

    Presenter: Zachary Peters


    Noise detection l.jpg

    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 bit

    • RT3, RT5, RT7 are recorded

    Presenter: Zachary Peters


    Noise detection for start bit l.jpg

    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 Peters


    Overview22 l.jpg

    Overview

    • Types of Data TransmissionMichael Lennard

      • Parallel

      • Serial

  • Serial Communication

    • Synchronous

    • Asynchronous

  • Baud and Bit Rates

  • Asynchronous Serial TransmissionZachary Peters

  • Serial Communication With the HCS12Bao Nguyen

  • Examples of data words are transmitted


  • Sci baud rate registers scibdh schbdl 00c8 00c9 l.jpg

    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 Nguyen


    Sci control register 1 scicr1 00ca l.jpg

    SCI Control Register 1SCICR1 - $00CA

    • 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: Odd

    Presenter: Bao Nguyen


    Sci control register 2 scicr2 00cb l.jpg

    SCI Control Register 2SCICR2 - $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: enables

    • TE (transmit enable) – 0: disable transmitter, 1: enable

    • RE (receiver enable) – 0: disable receiver, 1: enable

    Presenter: Bao Nguyen


    Sci status register 1 scisr1 00cc l.jpg

    SCI Status Register 1SCISR1 - $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 Nguyen


    Sci status register 2 scisr2 00cd l.jpg

    SCI Status Register 2SCISR2 - $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 Nguyen


    Sci data registers scidrh scidrl 00ce 00cf l.jpg

    SCI Data RegistersSCIDRH &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 Nguyen


    Asynchronous data transmission l.jpg

    Start Bit

    Data Bit 0

    Data Bit 1

    Parity Bit

    Stop Bit

    Stop Bit

    Data Bit 2

    Data Bit 3

    Data Bit 4

    Data Bit 5

    Data Bit 6

    Data Bit 7

    0

    1

    1

    1

    0

    0

    1

    0

    1

    0

    0

    1

    Asynchronous Data Transmission

    • Example 1:

      • Hex# 4A16 is to be sent with one start bit, even parity, 8-bit data length and two stop bits

      • 4A16 = 0100 10102

      • Note: Little endian communication used (LSB sent first)

    Presenter: Bao Nguyen


    Asynchronous data transmission30 l.jpg

    Start Bit

    Data Bit 0

    Data Bit 1

    Parity Bit

    Stop Bit

    Stop Bit

    Data Bit 2

    Data Bit 3

    Data Bit 4

    Data Bit 5

    Data Bit 6

    Data Bit 7

    1

    0

    1

    1

    0

    0

    0

    1

    0

    1

    1

    0

    Asynchronous Data Transmission

    • Example 2:

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

      • B416 = 1011 01002

    Presenter: Bao Nguyen


    Asynchronous data transmission31 l.jpg

    Start Bit

    Data Bit 0

    Data Bit 1

    Parity Bit

    Stop Bit

    Stop Bit

    Data Bit 2

    Data Bit 3

    Data Bit 4

    Data Bit 5

    Data Bit 6

    Data Bit 7

    1

    1

    1

    1

    0

    0

    0

    1

    0

    1

    1

    0

    Asynchronous Data Transmission

    • Example 3:

      • Hex# B416 is to be sent with one start bit, odd parity, 8-bit data length and two stop bits

      • B416 = 1011 01002

    Presenter: Bao Nguyen


    Thank you l.jpg

    Thank You!

    Any Questions?


  • Login