Un UART (Universal Asynchronous Receiver / Transmitter) è il microchip con programmazione che controlla l'interfaccia di un computer con i suoi dispositivi seriali collegati. In particolare, fornisce al computer l'interfaccia DTE (Data Terminal Equipment) RS-232C in modo che possa "parlare" e scambiare dati con modem e altri dispositivi seriali. Come parte di questa interfaccia, l'UART inoltre:
- Converte i byte che riceve dal computer lungo circuiti paralleli in un singolo flusso di bit seriale per la trasmissione in uscita
- Alla trasmissione in entrata, converte il flusso di bit seriale nei byte che il computer gestisce
- Aggiunge un bit di parità (se è stato selezionato) sulle trasmissioni in uscita e controlla la parità dei byte in entrata (se selezionato) e scarta il bit di parità
- Aggiunge i delineatori di avvio e di arresto in uscita e li elimina dalle trasmissioni in entrata
- Gestisce gli interrupt dalla tastiera e dal mouse (che sono dispositivi seriali con porte speciali)
- Può gestire altri tipi di interruzione e gestione del dispositivo che richiedono il coordinamento della velocità di funzionamento del computer con la velocità del dispositivo
Gli UART più avanzati forniscono una certa quantità di buffering dei dati in modo che i flussi di dati del computer e dei dispositivi seriali rimangano coordinati. L'UART più recente, il 16550, ha un buffer di 16 byte che può essere riempito prima che il processore del computer debba gestire i dati. L'UART originale era l'8250. Se oggi acquisti un modem interno, probabilmente include un UART 16550 (anche se dovresti chiedere quando lo acquisti). Secondo il produttore di modem US Robotics, i modem esterni non includono un UART. Se hai un computer più vecchio, potresti voler aggiungere un 16550 interno per ottenere il massimo dal tuo modem esterno.