Download
serial communications interface sci n.
Skip this Video
Loading SlideShow in 5 Seconds..
Serial Communications Interface (SCI) PowerPoint Presentation
Download Presentation
Serial Communications Interface (SCI)

Serial Communications Interface (SCI)

373 Views Download Presentation
Download Presentation

Serial Communications Interface (SCI)

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Serial Communications Interface (SCI) Michael Lennard Zachary Peters Bao Nguyen

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

  23. 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

  24. 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

  25. 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

  26. 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

  27. 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

  28. 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

  29. 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

  30. 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

  31. 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

  32. Thank You! Any Questions?