CS452 - Real-Time Programming - Spring 2008

Lecture 21 - Serial Server


Questions & Comment

  1. 16550 UART

Serial Server

Policy issues

  1. One or two servers?
  2. How should screen echo be handled?
  3. How should the buffers in the UART be handled?
  4. Who will initialize the hardware?
  5. What traffic do I expect through the server?
  6. Should the be I/O units above the single character level?

As a general policy we would like to concentrate the hardware dependence

Hardware

RS232

Three-wire

  1. transmit
  2. receive
  3. ground

Seven-wire

Add

  1. DSR - terminal to computer, `I'm ready to communicate.'
  2. DTR - computer to terminal, `I'm ready to communicate.'
  3. CTS - terminal to computer, `I'm ready to receive a byte.'
  4. RTS -computer to terminal, 'I'm ready to receive a byte.'

Curiosity,

UART

Four interrupts

  1. Transmit buffer empty
  2. Receive buffer not empty
  3. Line status changed
  4. Modem status changed

Twelve registers.

Accessing the registers

Stubs

int Get( int port );

int Put( int port, int c );

Both are Sends to a serial server

Software

More than one Notifier

One (or more?) server(s)

What about guards?


Return to: