Port szeregowy

Port szeregowy

standardy szeregowe zapewniają wiele różnych prędkości roboczych, a także regulacje Protokołu w celu uwzględnienia różnych warunków pracy. Najbardziej znane opcje to prędkość, liczba bitów danych na znak, parzystość i liczba bitów stopu na znak.

w nowoczesnych portach szeregowych wykorzystujących układ scalony UART, wszystkie te ustawienia mogą być sterowane programowo. Sprzęt z lat 80. i wcześniejszych może wymagać ustawienia przełączników lub zworek na płytce drukowanej.,

konfiguracja portów szeregowych przeznaczonych do podłączenia do komputera stała się de facto standardem, Zwykle określanym jako 9600/8-N-1.

SpeedEdit

Porty Szeregowe używają dwupoziomowej (binarnej) sygnalizacji, więc szybkość danych w bitach na sekundę jest równa szybkości symboli w baud. Standardowa seria stawek opiera się na wielokrotnościach stawek dla teleprinterów elektromechanicznych; niektóre porty szeregowe pozwalają na wybór wielu dowolnych stawek, ale prędkości po obu stronach połączenia muszą się zgadzać, lub dane będą odbierane jako bełkot.,

możliwość ustawienia przepływności nie oznacza, że zostanie wywołane działające połączenie. Nie wszystkie przepływności są możliwe dla wszystkich portów szeregowych. Niektóre protokoły specjalnego przeznaczenia, takie jak MIDI do sterowania instrumentami muzycznymi, używają szeregowych szybkości transmisji danych innych niż standardy teleprinter. Niektóre implementacje portów szeregowych mogą automatycznie wybrać przepływność, obserwując, co podłączone urządzenie wysyła i synchronizuje się z nim.

całkowita prędkość zawiera bity do kadrowania (bity stopu, parzystość itp.), a więc efektywna szybkość transmisji danych jest niższa niż szybkość transmisji bitów., Na przykład, w przypadku ramki 8-N-1, tylko 80% bitów jest dostępnych dla danych; na każde osiem bitów danych wysyłane są kolejne dwa bity ramki.

powszechnie obsługiwane szybkości transmisji bitów obejmują 75, 110, 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600 i 115200 bit/S.

oscylatory Kryształowe o częstotliwości 1,843200 MHz są sprzedawane specjalnie do tego celu. Jest to 16 razy najszybsza szybkość transmisji, a obwód portu szeregowego może łatwo podzielić ją na niższe częstotliwości, zgodnie z wymaganiami.,

bitsedytuj

liczba bitów danych w każdym znaku może wynosić 5 (dla kodu Baudota), 6 (rzadko używany), 7 (dla prawdziwego ASCII), 8 (dla większości rodzajów danych, Ponieważ rozmiar ten odpowiada rozmiarowi bajtu) lub 9 (rzadko używany). 8 bitów danych jest prawie powszechnie używanych w nowszych aplikacjach. 5 lub 7 bitów na ogół ma sens tylko ze starszym sprzętem, takim jak teleprintery.

większość konstrukcji komunikacji szeregowej wysyła najpierw bity danych wewnątrz każdego bajtu LSB (najmniej znaczący bit). Standard ten jest również określany jako ” little endian.,”

również możliwe, ale rzadko używane, jest” big endian ” lub MSB (most significant bit) pierwszy; był używany na przykład przez IBM 2741 printing terminal.

kolejność bitów nie jest zwykle konfigurowalna w interfejsie portu szeregowego, ale jest określona przez system hosta. Aby komunikować się z systemami, które wymagają innej kolejności bitów niż domyślna lokalna, lokalne oprogramowanie może ponownie zamówić bity w każdym bajcie tuż przed wysłaniem i tuż po otrzymaniu.

Parzystośćedytuj

Główny artykuł: bit parzystości

parzystość jest metodą wykrywania błędów w transmisji., Gdy parzystość jest używana z portem szeregowym, dodatkowy bit danych jest wysyłany z każdym znakiem danych, ułożony tak, że liczba 1 bitów w każdym znaku, w tym bit parzystości, jest zawsze nieparzysta lub zawsze parzysta. Jeśli bajt zostanie odebrany z niewłaściwą liczbą 1s, to musi być uszkodzony. Jednak parzysta liczba błędów może przejść kontrolę parzystości.

Teleprintery elektromechaniczne były rozmieszczone tak, aby drukować znak specjalny, gdy odebrane dane zawierały błąd parzystości, aby umożliwić wykrywanie wiadomości uszkodzonych przez szum linii., Pojedynczy bit parzystości nie pozwala na implementację korekcji błędów na każdym znaku, a protokoły komunikacyjne pracujące nad łączami danych szeregowych będą miały mechanizmy wyższego poziomu, aby zapewnić poprawność danych i zażądać retransmisji danych, które zostały nieprawidłowo odebrane.

bit parzystości w każdym znaku może być ustawiony na jeden z poniższych:

  • None (N) oznacza, że żaden bit parzystości nie jest wysyłany.
  • Odd (O) oznacza, że bit parzystości jest ustawiony tak, że liczba „logicznych” musi być nieparzysta.,
  • Parzyste (E) oznacza, że bit parzystości jest ustawiony tak, że liczba „logicznych” musi być parzysta.
  • Parzystość Mark (M) oznacza, że bit parzystości jest zawsze ustawiony na warunek sygnału mark (logiczny 1).
  • Spacja (s) parzystość zawsze wysyła bit parzystości w stanie sygnału spacji (logiczne 0).

poza rzadko spotykanymi aplikacjami, które używają ostatniego bitu (Zwykle dziewiątego) do jakiejś formy adresowania lub sygnalizacji specjalnej, parzystość znaczników lub spacji jest rzadka, ponieważ nie dodaje informacji o wykrywaniu błędów.,

Parzystość nieparzysta jest bardziej użyteczna niż parzystość parzysta, ponieważ zapewnia co najmniej jedno przejście stanu w każdym znaku, co czyni go bardziej niezawodnym w wykrywaniu błędów, takich jak te, które mogą być spowodowane niedopasowaniem prędkości portu szeregowego. Najczęstszym ustawieniem parzystości jest jednak „none”, z wykrywaniem błędów obsługiwanym przez protokół komunikacyjny.

bit Stopuedytuj

bity stopu wysyłane na końcu każdego znaku pozwalają sprzętowi Odbierającemu sygnał wykryć koniec znaku i zsynchronizować go ze strumieniem znaków. Urządzenia elektroniczne zwykle używają jednego bitu stopu., Jeśli stosowane są powolne elektromechaniczne teleprintery, wymagane są półtorej lub dwa bity stopu.

zapis Konwencjonalnyedytuj

zapis konwencjonalny data/parzystość/stop (D/P / S) określa ramkowanie połączenia szeregowego. Najczęściej używanym na mikrokomputerach jest 8 / N / 1 (8N1). Określa 8 bitów danych, brak parzystości, 1 bit stopu. W tej notacji bit parzystości nie jest zawarty w bitach danych. 7 / E / 1 (7E1) oznacza, że bit parzystości jest dodawany do 7 bitów danych w sumie 8 bitów między bitami start i stop., Jeśli odbiornik strumienia 7/E/1 oczekuje strumienia 8/N/1, połowa możliwych bajtów będzie interpretowana jako mająca ustawiony wysoki bit.

Sterowanie Przepływem

sterowanie przepływem jest stosowane w sytuacjach, w których nadajnik może wysyłać dane szybciej niż odbiornik jest w stanie je przetworzyć. Aby sobie z tym poradzić, linie szeregowe często zawierają metodę handshakingu, Zwykle rozróżnianą między sprzętowym i programowym handshakingiem.

sprzętowy handshaking odbywa się za pomocą dodatkowych sygnałów, często obwodów sygnałowych RS-232 RTS/CTS lub DTR / DSR., Ogólnie rzecz biorąc, RTS i CTS są wyłączane i włączane z alternatywnych końców, aby kontrolować przepływ danych, na przykład gdy bufor jest prawie pełny. DTR i DSR są zwykle włączone przez cały czas i, zgodnie ze standardem RS-232 i jego następcami, są używane do sygnalizowania z każdego końca, że inne urządzenia są rzeczywiście obecne i zasilane. Jednak producenci na przestrzeni lat zbudowali wiele urządzeń, które wdrożyły niestandardowe odmiany standardu, na przykład drukarki, które używają DTR jako sterowania przepływem.,

oprogramowanie handshaking odbywa się na przykład za pomocą znaków sterujących ASCII XON / XOFF, aby kontrolować przepływ danych. Znaki XON i XOFF są wysyłane przez odbiorcę do nadawcy, aby kontrolować, kiedy nadawca wyśle dane, to znaczy, znaki te idą w przeciwnym kierunku do wysyłanych danych. Obwód rozpoczyna się w stanie „dozwolone wysyłanie”. Gdy bufory odbiornika zbliżają się do pojemności, odbiornik wysyła znak XOFF, aby powiedzieć nadawcy, aby przestał wysyłać dane., Później, gdy odbiornik opróżni bufory, wysyła znak XON, aby powiedzieć nadawcy, aby wznowił transmisję. Jest to przykład sygnalizacji in-band, gdzie informacje sterujące są przesyłane przez ten sam kanał, co jego dane.

zaletą sprzętowego handshakingu jest to, że może być niezwykle szybki; nie narzuca żadnych szczególnych znaczeń, takich jak ASCII na przesyłanych danych; i jest bezpaństwowy. Jego wadą jest to, że wymaga więcej sprzętu i okablowania, a te muszą być kompatybilne na obu końcach.,

zaletą oprogramowania handshaking jest to, że można to zrobić z nieobecnymi lub niekompatybilnymi sprzętowymi układami handshaking i okablowaniem. Wadą, wspólną dla wszystkich in-band control signaling, jest to, że wprowadza złożoność w zapewnieniu, że a) komunikaty sterujące przedostają się nawet wtedy, gdy wiadomości danych są zablokowane, i b) dane nigdy nie mogą być mylone z sygnałami sterującymi., Pierwszy z nich jest zwykle obsługiwany przez sterownik systemu operacyjnego lub urządzenia; drugi zwykle poprzez zapewnienie, że kody sterujące są „uciekające” (takie jak w protokole Kermit) lub pominięte przez projekt (takie jak w ANSI terminal control).

Jeśli nie zostanie zastosowany handshaking, odbiornik przekroczony może po prostu nie odbierać danych z nadajnika. Metody zapobiegania temu obejmują zmniejszenie prędkości połączenia, aby odbiornik zawsze mógł nadążyć; zwiększenie rozmiaru buforów, aby mógł nadążyć przez dłuższy czas; wykorzystanie opóźnień po czasochłonnych operacjach (np., w termcap) lub wykorzystując mechanizm ponownego wysyłania uszkodzonych danych (np. TCP).

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *