ECE 371- Unit 11 Introduction to Serial I/O TWO MAJOR CLASSES OF SERIAL DATA INTERFACES • ASYNCHRONOUS SERIAL I/O - USES “FRAMING BITS” (START BIT AND STOP BIT(S)) WITH EACH CHARACTER Asynchronous Serial Data Format idle Start bit lsb msb Parity bit Data value transmitted is 0 0 1 1 1 0 1 1 Parity bit shown represents even parity option Stop bit(s) • SYNCHRONOUS SERIAL I/O - USES SINGLE “SYNCH” CHARACTER AT BEGINNNG OF DATA STREAM OR - USES SPECIAL CLOCK SIGNAL TO DEFINE BEGINNING OF EACH NEW CHARACTER Synchronous Serial Data Transmission Format Synch char Header information Data char Data char Data char Data char etc OR Data char Data char Data char Data char Data char Data char CLASSES OF SERIAL DATA APPLICATION • COMPUTER TO PERIPHERAL DEVICE • COMPUTER TO COMPUTER Half-duplex Serial Data Interface Between Computer and Peripheral Device Serial data Computer System Handshaking Signals Ground Peripheral Device Full-duplex Serial Data Interface Between Computer and Peripheral Device Serial data Computer System Handshaking Signals Ground Peripheral Device Serial Data Communication Between Computers, Using Modems Computer (DTE) RS-232 Standard Interface Modem Telephone System Modem DCE Data Communication Equipment DTE = Data Terminal Equipment RS-232 is a Standard Interface between DTE and DCE Computer (DTE) RS-232 Standard Interface Laptop COM1 Port CPU Asynchronous Serial Interface Inside PC Modem Telephone Line RS-232 Standard Interface • Defines a 25-bit Connector • Defines the function of each pin • Defines EIA RS-232 Logic Levels – Serial Data Physical Representation • Logic “1”: • Logic “0”: -25 volts ≤ V1 ≤ -5 volts +5 volts ≤ V0 ≤ +25 volts EIA RS-232 Signals of Interest DTE TXD RXD GND RTS CTS DCD DSR DTR RI DCE Primary RS-232 Signals • • • • • • • • • RxD -- Received Data TxD --Transmitted Data RTS – Request to Send CTS – Clear to Send DTR – Data Terminal Ready - DTE Ready DSR – Data Set Ready – DCE Ready RI – Ring Indicator DCD – Data Carrier Detect GND -- Ground EIA RS-232 Interface COM Connector on PC SERIAL COMMUNICATION INTERFACE (SCI) ON THE MC9S12DP256B MICROCONTROLLER • ASYNCHRONOUS SERIAL I/O • COMPATIBLE WITH RS232 STANDARD SCI Data Formats See p. 211, text, for def. Serial Data Format • • • • • • • Idle (no data being transmitted) = “1” Start = “0” Stop =“1” Each data bit is T seconds in length Baud = 1/T Least Significant Bit Sent First Most Significant Bit Sent Last ASCII Code for Letter A = 0b01000001 = 0x41 ASCII Code for Letter B = 0b01000010 = 0x42 ASCII Code for Digit 1 = 0b00110001 = 0x31 Idle A= 1 1 1 B= 1 1 1 1 = 1 1 1 Start LSB 0 0 0 1 0 0 1 1 0 MSB Stop 0 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 1 1 1 1 1 1 ASCII Character Set 7-bit Characters d6 d5 d4 d3 d2 d1 d0 0 0 x x x x x 0 1 x x x x x 1 0 x x x x x 1 1 x x x x x Control Characters Numbers and Punctuation Upper Case Characters Lower Case Characters Ctrl J = Line Feed Ctrl M = Carriage Return Ctrl Q = XON Ctrl S = XOFF Ctrl Z = End of File 2 Asynchronous Serial Ports SCI0 and SCI1 SCI0 – Uses Port S[1:0] SCI1 – Uses Port S[3:2] RS-232 TTL Level Converters TTL – RS-232 Conversion Channel 0 RTS = CTS DCD = DTR = DSR RI – No Connection Channel 1 Data Lines Only TTL – RS-232 Conversion DC to DC Power Supply