Opis układu "WD2123" - dwukanałowy UART, montowany w komputerach "TIMEX FDD 3" oraz "TIMEX FDD 3000". Poniższe informacje są zebrane na podstawie analizy działających programów (TIMEX CP/M i CONFIGUR.COM), artykułu R. Magdziaka (Bajtek 12/97, strona 24) oraz badań empirycznych układu. WD2123 posiada sześć portów: -status/komenda kanału A; -dane kanału A; -prędkość w kanale A (tylko zapis); -status/komenda kanału B; -dane kanału B; -prędkość w kanale B (tylko zapis); Obydwa kanały sterowane są w ten sam sposób. Z wyjątkiem ustawiania prędkości, każdy z kanałów wydaje się odpowiadać funkcjonalnie układowi 8251A. Aby zaprogramować kanał łącza szeregowego należy wpisać kolejno następujące wartości (ustalone na podstawie badań empirycznych): do portu komendy, #40 - komendę kasującą do portu komendy, komendę ustawiającą parametry do portu prędkości, prędkość do portu komendy, komendę sterującą. Komenda ustawiająca parametry ustala parametry ramki łącza szeregowego. Bity 7 i 6 określają ilość bitów stopu: %00 - działanie nieznane, %01 - 1 bit, %10 - 1.5 bitu, %11 - 2 bity. Bity 5 i 4 określają parzystość. %00 - brak (NONE), %01 - nieparzysta (ODD), %10 - brak (NONE), %11 - parzysta (EVEN). Bity 3 i 2 określają ilość bitów na bajt: %00 - 5, %01 - 6, %10 - 7, %11 - 8. Bit 1 jest ustawiony, a bit 0 wyzerowany (brak informacji dlaczego). W układzie 8251A odpowiada to ustawieniu wewnętrznego podzielnika na 1/16 częstotliwości sygnału zegarowego. Prędkość jest określona przez bity 0..3 (brak informacji o znaczeniu bitów 4..7, wydają się być ignorowane), w bitach na sekundę (bps): #00 - 50, #01 - 75, #02 - 110, #03 - 134.5, #04 - 150, #05 - 200, #06 - 300, #07 - 600, #08 - 1200, #09 - 1800, #0A - 2400, #0B - 3600, #0C - 4800, #0D - 7200, #0E - 9600, #0F -19200. Komenda sterująca określa stan linii wyjściowej RTS oraz kasuje błąd. Bity 0..2 są ustawione, ustawiony bit 4 kasuje błąd, bit 5 steruje linię RTS (ustawiony - odbiór możliwy), pozostałe bity wyzerowane. Status określa aktualny stan kanału: bit 0 - stan bufora nadajnika: =0 zapełniony, =1 pusty; bit 1 - stan bufora odbiornika: =0 pusty, =1 zawiera odebrany bajt; bit 2 - ? (8251A - stan nadajnika: =0 wysyła dane, =1 pusty); bity 3..6 - sygnalizacja błędów (brak informacji jakich) =1 wykryty błąd. bit 3 - (8251A - błąd parzystości) bit 4 - (8251A - błąd przepełnienia odbiornika) bit 5 - (8251A - błąd ramki, brak bitu STOP) bit 6 - (8251A - błąd ramki, brak bitu STOP, nadal RxD=0) bit 7 - stan linii CTS =0 nie można nadawać, =1 można. Układ może generować przerwania przez pin 39 (stanem wysokim). Brak informacji o rodzajach możliwych przerwań oraz sposobie ich wyłączania. Brak informacji o możliwości ustawienia TXD w stan niski ("send BREAK"), jak i również detekcji takiego stanu na RXD. 2003-09-18 konwersja tektu na HTML, bez zmian 1999-10-22 uzupełnienie własnościami układu 8251A 1997-08-17 (C) Jarek Adamski