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?
Odpowiedzi:
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
Stąd mikroprzełącznik superszybki USB3 z kompatybilnością wsteczną USB 2 stąd
USB3.COM - USB3 SuperSpeed złącza kablowe stąd
Wikipedia RS232
USB kontra szeregowy
Wikipedia USB
Najczęściej zadawane pytania na temat prędkości USB3
Wikipedia USB3
USB.ORG - superszybkość
źródło
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.
źródło