Freescale Coldfire i Kinetis od środka
Universal Asynchronous Receiver/Transmitter (UART)
Moduł uniwersalnego transceivera asynchronicznego pozwala na w pełni dupleksową, asynchroniczną komunikację w wielu formatach. Podstawowe cechy tego modułu to:
- standardowy format NRZ (Non-Return-to-Zero), w wersjach mark i space,
- obsługa formatu RZI (Return-to-Zero-Inverted) używanego w IrDA 1.4,
- obsługa protokołu ISO 7816, do komunikacji z kartami chipowymi (smartcard) i SIM (obsługiwane tylko w jednym module UART),
- 13-bitowa konfiguracja przepływności (baud rate) z dzieleniem przez 32,
- programowalny 8- lub 9-bitowowe formaty danych,
- możliwość wyboru kolejności transmisji (od MSB lub LSB),
- obsługa sprzętowego sterowania przepływem za pomocą sygnałów request to send (RTS) i clear to send (CTS),
- osobne kolejki FIFO, z możliwością wystawiania żądań DMA, dla nadawania i odbioru (obsługiwane tylko przy dwóch modułach UART).
Rys. 34. Schemat blokowy układu logicznego nadajnika UART
Tab. 14. Zestawienie podstawowych cech modułu UART
Kluczowe cechy | Korzyści dla użytkownika |
Obsługa protokołu ISO 7816 | Możliwość komunikacji z kartami chipowymi (smartcard) oraz kartami SIM |
Duża liczba obsługiwanych formatów komunikacji | Elastyczność, możliwość implementacji wielu protokołów komunikacji szeregowej |
Bufory FIFO z możliwością wystawiania żądań DMA | Zmniejszone obciążenie CPU |
Jeden z modułów UART obsługuje standard ISO 7816, pozwalając na komunikację z kartami chipowymi (smarcard) oraz SIM. Podstawowe właściwości tej funkcji to:
- obsługa protokołów T=0 i T=1,
- automatyczna retransmisja pakietów przy otrzymaniu komunikatu o niedostarczeniu (NACK), z programowalnym progiem powtórzeń,
- obsługa transferów 11 i 12 ETU,
- wykrywanie początkowego pakietu i automatyczne programowanie parametrów transmisji,
- praca sterowana przerwaniami, z siedmioma rodzajami specyficznych przerwań ISO-7816:
- przekroczenie czasu oczekiwania (wait time violated),
- przekroczenie czasu oczekiwania na znak (character wait time violated),
- przekroczenie czasu oczekiwania na blok (block wait time violated),
- wykrycie początkowego znaku (initial charakter detected),
- przekroczenie progu błędów nadawania (transmit terror threshold exceeded),
- przekroczenie progu błędów odbioru (receive terror threshold exceeded),
- przekroczenie czasu ochronnego (guard time violated).
Rys. 35. Przebiegi czasowe dla różnych formatów standardu ISO 7816
Rys. 36. Schemat blokowy układu logicznego odbiornika UART
UART daje wiele możliwości, jeśli chodzi o rozmiar i format danych oraz ustawienia nadawania i odbioru. Mnogość opcji umożliwia implementację szerokiej gamy różnych protokołów komunikacji szeregowej. Użytkownik może skonfigurować:
- 8- lub 9- bitowy format danych, z obsługą parzystości wszystkich 9 bitów,
- rozpoczęcie transmisji od MSB lub LSB,
- biegunowość wyjścia nadajnika,
- biegunowość wejścia odbiornika.
Rys. 37. Formaty danych UART