Jakie są różnice między USB a RS232?

29

Czy ktoś może mi powiedzieć, dlaczego ludzie używają USB lub RS232. Oba są portami szeregowymi, prawda? Rozumiem, że USB jest znacznie szybszy (szczególnie USB 3.0), ale jeśli ludzie też tego chcą, jestem pewien, że mogliby zrobić następcę RS232 równie szybko.

Jakie są zalety i wady obu tych elementów?

Sponge Bob
źródło
4
RS232 naprawdę został zaprojektowany jako interfejs do modemu. Jest to dość jasne w przypadku sygnałów o nazwie „wskaźnik pierścieniowy” itp. Uzurpowano sobie, aby zapewnić prostą komunikację dwukierunkową 3-przewodową (GND, TX, RX) z wieloma urządzeniami. USB został zaprojektowany jako system interfejsu urządzenia z możliwością rozszerzenia protokołu. Biorąc pod uwagę możliwość rozbudowy, jest to znacznie bardziej skomplikowane i wymaga implementacji stosu oprogramowania po stronie urządzenia i hosta. USB ma nawet zamiennik RS232 o nazwie CDC.
kenny

Odpowiedzi:

20

Jakie są różnice między USB a RS232?

Znajdziesz tutaj znacznie więcej niż mogę powiedzieć o możliwościach i wadach RS232, zaczynając od wyszukiwania RS232, a następnie „wędrując po sieci” i podążając za wątkiem, w którym prowadzi. Żadna strona nie powie Ci wszystkiego, ale 10 lub 20 szybkich przeglądów pokaże, jak bardzo było to przydatne i jak straszne jednocześnie.

  • USB jest pomyślany jako rozszerzalny, w pełni znormalizowany interfejs wysokiej prędkości między 1 urządzeniem komputerowym korzystającym z jednego portu i N urządzeniami peryferyjnymi używającymi jednego portu, przy czym każde sterowanie odbywa się za pomocą sygnałów w strumieniu danych. USB jest niezwykle trudne do zapewnienia interfejsów niskiego poziomu. „Proste” interfejsy są powszechne, ale zapewniają i ukrywają bardzo duży stopień powiązanej złożoności.

  • RS232 został zaprojektowany jako częściowo znormalizowany interfejs 1: 1 o relatywnie niskiej prędkości między 1 urządzeniem komputerowym a 1 urządzeniem peryferyjnym na port, przy czym kontrola sprzętu jest integralną częścią działania. Interfejs RS232 jest stosunkowo łatwy do zapewnienia fizycznych interfejsów niskiego poziomu.


RS232

był (i do pewnego stopnia nadal jest) bardzo przydatnym, potężnym, elastycznym sposobem łączenia urządzenia komputerowego z urządzeniami peryferyjnymi.

Jednak [tm] [!!!] RS232 było przeznaczone jako niewielka odległość (maksymalnie kilka metrów) umiarkowanie niska prędkość (zwykle 9600 bps, w niektórych przypadkach do około 100 kbps, w niektórych przypadkach szybsza, w bardzo specjalistycznych sytuacjach), jedno urządzenie na port ( wyjątki potwierdzające regułę).

Sygnalizacja była niezrównoważona w stosunku do masy przy użyciu około +/- 12V z logicznym dla dfata = -V i logicznym dla sterowania = + V. Na oryginalnym 25-pinowym złączu było wiele, wiele sygnałów sterujących, co doprowadziło do bardzo szerokiego zakresu niestandardowych zastosowań i niekompatybilności. Późniejsza wersja zredukowała złącze do 9 pinów z wciąż wystarczającymi sygnałami sterującymi, aby ludzie mogli całkowicie zdestandaryzować konfiguracje.

Uruchomienie RS232 między losowo wybranym urządzeniem końcowym a komputerem lub podobnym MOŻE być kwestią podłączenia i uruchomienia lub potrzebować minut godzin lub dni grania, a w niektórych przypadkach po prostu nie działa.

RS232 NIE zapewnia zasilania jako takiego, chociaż wiele osób używało go do zasilania urządzeń na wiele różnych sposobów, żaden z nich nie jest standardem. Obserwacja linii danych umożliwi identyfikację sygnałów danych. (Pomogłyby w tym szybkie oczy i mózg działający z odpowiednią liczbą kb / s).

Transfer danych jest jednokierunkowy na linii nadawczo-odbiorczej i wykorzystuje asynchroniczne ramkowanie.

Projekt jest przeznaczony do połączenia 1: 1 bez możliwości multidroppingu w układzie 1: N bez niestandardowych aranżacji.

USB

do USB2 to 4-żyłowy system fizyczny z dwiema liniami zasilania i dwiema liniami danych. Nie ma fizycznych linii kontrolnych. USB3 wykorzystuje więcej linii, a szczegóły najlepiej zostawić na kolejne pytanie i odpowiedź.

Początkowa prędkość wynosiła 12 Mb / s, zwiększona do 480 Mb / s przy użyciu USB2 i do 5 Gb / s w trybie „Szybkości” z USB3.

Kontrola i konfiguracja odbywa się za pomocą oprogramowania wykorzystującego sygnały danych, które są całkowicie nieodłączną częścią interfejsu. Obserwacja strumienia danych za pomocą oscyloskopu nie ujawni rzeczywistej składowej danych systemu.

Przesyłanie danych wykorzystuje zrównoważoną różnicową sygnalizację napięcia 0 / + 5.

Transfer danych jest dwukierunkowy, a własność „magistrali” stanowi integralną część protokołu.

Połączenie prawie zawsze odbywa się fizycznie w stosunku 1: 1, ale na jednym porcie można umieścić wiele urządzeń logicznych. Połączenie N urządzeń fizycznych z jednym portem nadrzędnym zwykle odbywa się za pomocą „koncentratora”, ale jest to zasadniczo widoczny przejaw wewnętrznego układu 1: N, który jest integralną częścią projektu.


Będzie kilka interesujących problemów ze złączami :-):

USB2 / USB3 Stąd

wprowadź opis zdjęcia tutaj

Stąd mikroprzełącznik superszybki USB3 z kompatybilnością wsteczną USB 2 stąd

wprowadź opis zdjęcia tutaj

USB3.COM - USB3 SuperSpeed złącza kablowe stąd

wprowadź opis zdjęcia tutaj


Wikipedia RS232

USB kontra szeregowy

Wikipedia USB

Najczęściej zadawane pytania na temat prędkości USB3

Wikipedia USB3

USB.ORG - superszybkość

Russell McMahon
źródło
1
Warto zauważyć, że RS232 jest znacznie lepszy od USB, gdy jitter i opóźnienia mają znaczenie. Nie można niezawodnie podawać sygnału impulsu na sekundę do komputera przez USB. Możesz to zrobić za pomocą RS232
dfc
18

Port USB jest znacznie bardziej zaawansowany niż port szeregowy RS-232.

Zasadniczo RS-232 ma styk TX i styk RX, w których dana strona transmituje i odbiera dane (odpowiednio), a druga strona ma te same dwa skrzyżowane, więc jeden TX łączy się z drugim RX i odwrotnie (oczywiście).

Istnieją inne piny do kontroli, ale niekoniecznie są używane. Ich główną funkcją jest kontrola retencji bufora. Protokół w RS-232 jest dość prosty. Zakłada się, że obie strony początkowo milczą (każda TX jest niska), a następnie, gdy strona chce przesłać bajt, wykonuje jeden lub więcej wysokich impulsów („bitów początkowych”), wysyła każdy bit bajtu przesyłany sekwencyjnie i następnie kończy z kilkoma dodatkowymi impulsami („bit stop”). Opcjonalnie może być bit parzystości. Zakłada się, że obie strony poprzednio miały tę samą konfigurację bitów startu i stopu oraz czas wysyłania każdego bitu (szybkość transmisji).

Może być więcej sygnałów do korekcji błędów, ale nie jest to wymagane. Tak więc port RS-232 może być łatwo wykonany za pomocą pinów I / O w dowolnym mikrokontrolerze, jedyne czego potrzebujesz to konwersja napięcia, ponieważ linie RS-232 mają napięcie 12V, a mikrokontrolery zwykle pracują na 3,3 V.

USB wykorzystuje parę linii różnicowych, w których bit jest wysoki przez umieszczenie różnicy napięć między nimi w jednym kierunku, a niski przez umieszczenie tej samej różnicy w drugim kierunku. Jest to o wiele bardziej skuteczne w tłumieniu szumów, dlatego USB może przenosić większe odległości i mieć znacznie wyższe pasma. Obie strony transmitują i odbierają za pośrednictwem tej samej pary, a złożony protokół danych wykrywa kolizję, dokonuje korekcji błędów, odkrywa cechy urządzenia itp., Nie wspominając już o wsparciu w specyfikacji dla standardowych protokołów specyficznych dla urządzenia, takich jak myszy, klawiatury, itp. Krótko mówiąc, aby mieć port USB, potrzebujesz do tego dedykowanego układu scalonego lub oprogramowania układowego w mikrokontrolerze, którego pisanie nie jest wcale trywialne, szczególnie jeśli chcesz obsługiwać określone możliwości urządzenia.

fceconel
źródło
2
Ładna odpowiedź, ale prawdopodobnie powinieneś usunąć słowo „para” z opisu RS232, ponieważ zwykle używa się go częściej w kontekście sygnalizacji różnicowej (tj. „Skrętka”).
Chris Stratton,