Szczerze mówiąc, dlaczego wszystkie komunikacyjne układy scalone (lub przynajmniej wiele z nich lub najbardziej znanych lub popularnych), takie jak Bluetooth, WIFI, GSM, itp. Obsługują zestaw poleceń AT? dlaczego nie mają prostego pinu do D / C (Data lub Command) do komunikacji? Jakie są zalety korzystania z zestawu poleceń AT?
Zestaw poleceń AT jest duży i zajmuje dużo czasu i miejsca w pamięci oraz utrudnia komunikację, podczas gdy zamiast tego można użyć zwykłego pinu D / C i wysłać liczbę całkowitą do ustawienia rejestrów lub wysłania danych.
Odpowiedzi:
brhans ma rację - Dziedzictwo.
W latach 80. Hayes zaczął produkować „Smartmodem 1200”. Stało się prawie natychmiastowo przestarzałe, a Hayes wypędził Smartmodem 2400. W tym pośpiechu nie było czasu na zmiany konstrukcyjne między modemami. W rezultacie Hayes jako pierwszy wyprodukował dwa różne modemy prędkości, które przyjmowały te same polecenia programowania! Każde oprogramowanie, które może skłonić Smartmodem 1200 do wybrania numeru telefonu, może również wybrać Smartmodem 2400.
W tym czasie każdy nowy modem wymagał miesięcy na napisanie zaktualizowanego sterownika. Kiedy Smartmodem 2400 pojawił się na rynku, był już działający sterownik dla Smartmodem 1200, więc nie trzeba było czekać miesięcy. Nagle inni producenci zauważyli zaletę nowych modemów mających taki sam zestaw poleceń, jak starsze modemy. W ciągu sześciu miesięcy dostawcy oferowali modemy „kompatybilne z Hayes” jako jedyny wybór. Co sprawiło, że zostali pozwani przez Hayesa. Wszyscy więc zaczęli nazywać swoje modemy „kompatybilnymi z zestawem poleceń AT”, ale nadal używali zestawu poleceń Hayesa.
W połowie lat 80. nie wyprodukowano modemów konsumenckich, które nie mogłyby korzystać z zestawu poleceń AT. W rezultacie każdy modem, taki jak system komunikacyjny, używa komend AT. Są też inne zalety - ponieważ zestaw poleceń to ASCII, każdy może ręcznie wpisać polecenia AT w oknie terminala, aby sterować modemem. Ponieważ mój modem miał kruche połączenie RJ11, każdą sesję w Procomm Plus zaczynałem od:
Aby się upewnić, że dostałem sygnał wybierania. Gdybym tego nie zrobił, kręciłbym się i trochę poruszał drutami!
źródło
Mówisz tylko o wadach zestawu poleceń. Rozważ zalety:
Za pomocą zestawu poleceń AT urządzenie komunikacyjne można natychmiast umieścić w dowolnej sieci IP za pośrednictwem implementacji PPP systemu operacyjnego . Alternatywą jest to, że oprócz zaprojektowania niestandardowego interfejsu protokołu musisz napisać własny sterownik urządzenia sieciowego dla każdego systemu operacyjnego, który chcesz obsługiwać, zanim ten system będzie mógł używać twojego urządzenia do łączenia się z Internetem.
Każdy kompetentny inżynier zna już ten protokół. Weź to od tego, którego codzienna praca wymaga od niego zrozumienia i wdrożenia dziesiątek niestandardowych protokołów szeregowych: lepszy jest jeden dobrze zaprojektowany wspólny protokół.
Chociaż prawdą jest, że protokół AT jest dość skomplikowany i zajmuje więcej pamięci do wdrożenia niż protokół specjalnie utworzony dla określonego zadania, zdarza się również, że ktoś, kto zdecyduje się na wdrożenie tego protokołu, uniknie spędzania czasu na wymyślaniu nowego idealnie dobre koło. Ma dziesięciolecia doświadczenia w projektowaniu. Wie, że to zadziała, zanim poświęci na to czas rozwoju. Dobry projekt protokołu jest zaskakująco trudny.
(Któregoś dnia zamierzam opublikować moje dzieło magnum, „Your Protocol Sucks”, w nadziei, że uda się zapobiec popełnieniu okropniejszych, na wpół uważanych protokołów jednorazowych).
źródło
ATS
polecenie ...Po drugiej stronie pytania rozwinę się ... dlaczego nie po prostu dodać kolejną linię sygnalizacyjną do interfejsu?
Może o to zapytać tylko ktoś, kto nie przeżył wszystkich permutacji linii sygnalizacyjnych na oryginalnym 25-pinowym interfejsie RS232. Oprócz TXD, RXD i Gnd, było już kilka innych par sygnałów, RTS / CTS (Gotowy do wysłania, Wyczyść do wysłania) DSR / DTR (Gotowy zestaw danych, Gotowy terminal danych) i sprzętowy pin rozłączający. I inni. I nie ma jednoznacznej uniwersalnej umowy między producentami, co dokładnie działało, jaką funkcję - dlaczego w pierwszej kolejności potrzebne były dwa zestawy sprzętowych sygnałów handshaking I programowy protokół XON / XOFF na dodatek) (I dlaczego drukarki Diablo nalegały - wyjątkowo, o ile mi wiadomo - na uzgadnianie na pinie 11?)
Niektóre urządzenia wymagały pełnego interfejsu. Niektórzy byli zadowoleni z TXD / RXD / Gnd. Niektórych można oszukać do pracy przez zwarcie styków 4 i 6 (w ten sposób zapętlając ich własny RTS do CTS). A niektóre, które powinny być DCE, były DTE lub odwrotnie i rozmawiałyby tylko z czymkolwiek innym za pośrednictwem kabla „zerowego modemu” przy każdej zamianie połączeń.
Następnie, aby uprościć to wszystko, IBM PC wprowadził nowy 9-pinowy interfejs dla RS232. Oznacza to, że cała istniejąca kolekcja kabli była przestarzała i trzeba było zacząć od nowa ...
Wszystko to utrudniało życie, nawet nie biorąc pod uwagę, że oba końce mogły być ustawione na różne prędkości transmisji ...
Wspierało to całą branżę opartą na modułach, kablach i narzędziach do testowania / debugowania RS232.
Dodanie kolejnego sygnału w tym kontekście prawdopodobnie nie będzie latać ...
źródło
Pierwszy modem Hayesa, który używał poleceń „AT”, wybrał „A” jako pierwszy znak przedrostka polecenia, ponieważ musiał obsługiwać wiele prędkości transmisji, a „A” w linii wygląda następująco:
-------_-_____-x----------
ma stosunek 5: 1 między najdłuższe i najkrótsze czasy „niskie” („x” może być wysokie lub niskie w zależności od ustawień parzystości). Żadna szybkość mniejsza niż 1200 bodów nie poradzi sobie z „krótkim” czasem 833us lub mniejszym, a żadna szybkość większa niż 2400 nie poradzi sobie z „długim” czasem 4,16 ms lub dłuższym, więc modem może bezpiecznie założyć, że jeśli zobaczy coś, co wygląda podobnie jak „A” 1200 bodów, i tak jest (i podobnie z 300 bodów itp.). „T” ma przeciwną parzystość niż „A”, więc jeśli drugi znak wygląda jak „T”,Urządzenia lub sterowniki, które używają poleceń „AT”, które działają podobnie lub analogicznie do poleceń modemu Hayesa (np. Akceptują
ATDTW192,168,254,123W4567
jako polecenie połączenia z portem 4567 z 192.168.254.123), robią to w celu zapewnienia zgodności z oprogramowaniem, które oczekuje na komunikację ze starym stylem modem lub kompatybilne urządzenie. Istnieje jednak wiele urządzeń, które używają poleceń zaczynających się od „AT”, zgodnie z teorią, że „zestaw poleceń AT” wydaje się przydatnym modnym hasłem marketingowym, mimo że urządzenia nie są zdolne do automatycznego wykrywania prędkości transmisji i mają polecenia odmienne cokolwiek na dowolnym innym urządzeniu. Użycie „AT” jako prefiksu polecenia w takich kontekstach nie dodaje wartości zgodności i nie służy żadnemu przydatnemu celowi; projektanci to robią, ponieważ widzieli, jak robią to inni projektanci,źródło