Elektronika

RS232 terminal

Wszyscy znamy port RS232. W dzisiejszych czasach wyszedł nieco z powszechnego użytku, ponieważ myszki na PS2 wyparły myszki na RS232, pozatym wszystko zostaje zastępowane nowszą szybszą i inteligentniejszą wesją łącza szeregowego jakim jest USB. Tym niemniej, z powodu prostoty, RS232 nadal powszechnie używa się w elektronice. Większość prostych procesorów ma wbudowany ten port, który można użyć zarówno do sterowania kontroli czy tez interfejsu.By wykorzystać rs232 jako terminal, należy coś mieć na drugim końcu. Prawdziwe terminale w tej chwili nie mają zastosowania, natomiast wykorzystuje się emulatory terminala. Ale o tym w dalszej części artykułu.

Schemat

Standard RS232 określa między innymi zakres napięć uznawanych jako 0 i jako 1. Poniżej przedstawiam tabelkę która obrazuje różnicę
Logic TTL RS232
0 0V -12V
1 5V 12V

Pomiędzy procesorem działającym w zakresie napięć TTL oraz portem RS232 zainstalowanym w komputerze musi być zatem konwerter napięć.Jednym z najbardziej znanych jest układ MAX232 którego typową aplikację przedstawiam na schemacie poniżej.

Poziomy napięć to nie jedyny problem. Uruchomienie go czasem sprawia dodatkowe trudności. Mianowicie Mamy linie TXD i RXD. Problem w tym że tak oznaczona linia nie pokazuje nam w którą stronę biegnie dany sygnał. Bowiem RXD na urządzeniu powinno być połączone z TXD terminala. Ustalenie czy kabel powinien być podłączony do TXD czy też jest TXD z drugiego urządzenia staje się nieoczywiste, mimo że cała zasada jest prosta. Ale w końcu mamy tylko 2 próby :P Dla ułatwienia można zewrzeć linie RXD i TXD wtedy sygnał wysłany z terminala powinien pojawiać się na nim. (łatwo w ten sposób znaleść) prawidłowe podłączenie MAX232 - zwiera się od strony procesora i sprawdza w której opcji sygnał przechodzi. Żeby zmniejszyć problem, wykorzystuję 3 pinowe goldpiny z masą w środku :D

VT100

Jest kilka programów któe emulują ten terminal.

Protokół

Najmniejszym problemem jest przesłać poprzez terminal znaki od ASCII a dokładniej od spacji(0x20H) po tyldę ~(0x7Eh) Te znaki poprostu wyświetlają się na ektanie terminala.

Sekwencje

sekwencja rozpoczynająca się od <ESC> {0x1Bh} oraz [ {0x5Bh}

Kolory

Aby zmienić kolory na terminalu potrzebna jest odpowiednia sekwencja.
Na podstawie href="http://linuxgazette.net/issue65/padala.html opracowałem szczegóły tej sekwencji.
wygląda ona tak: <ESC>[{attr};{fg};{bg}m
Przykład:
01Bh,05Bh,031h,03Bh,033h,034h,06Dh - zmienia kolor na niebieski
01Bh,05Bh,030h,03Bh,033h,039h,06Dh - resetuje kolor do standardowego