Serial communications interface sci
Download
1 / 32

Serial Communications Interface (SCI) - PowerPoint PPT Presentation


  • 244 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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha

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?


    ad
  • Login