Strumień zer i jedynek
: niedziela 16 sie 2020, 15:01
Strumień zer i jedynek
Miało być coś o zerach i jedynkach, ale wcięło...
- płomyczek -
w splotach smużek dymu
utkanych z czerwieni
płomyk świecy niewielkiej
frywolnie się mieni...
Towarzysząca nuta, to „Temat Lary” zakończony uwerturą „Lekka Kawaleria”https://www.youtube.com/watch?v=2X4JlDC_WOo
Przysłowiowy strumień zer i jedynek, coś tak nieodzownego w komunikacji, to temat szeroki jak „Droga Mleczna”. Najszybciej można go dostrzec w transmisji szeregowej. Ta, jak wiadomo, jest generowania przede wszystkim przez procki. W zamierzchłych czasach do tego były używane specjalizowane układy, które pozwalały na wymianę informacji pomiędzy dwoma elementami. Dzisiaj te specjalizowane układy zostały wchłonięte przez procki stając się integralną ich częścią. Jednak wypuszczenie w świat bez właściwej ochrony nie jest dobrym pomysłem. Świat zewnętrzny jest siedliskiem różnych zagrożeń, które będą dążyć do zaszkodzenia, destabilizacji i wręcz ubicia układu. Tu z pomocą śpieszą układy różnych interfejsów, których podstawowym zadaniem jest zabezpieczenie bytu układów transmisji szeregowej oraz ochrona samej transmisji przed zakłóceniami. Wręcz powszechnie występujący standard RS232 z popularnym układem MAX232 (wcześniej, przynajmniej ja, wręcz masowo stosowałem układy MC1488/MC1489). Rozwiązanie jest wystarczająco popularne, by nad nim rozwodzić. Mniej znanym jest rozwiązanie RS485 z popularnym układem SN75176 (kompatybilnym z wieloma układami oferowanymi przez innych producentów). Ten układ, w przeciwieństwie do MAX232, jest jednokanałowy: może realizować funkcje nadajnika lub odbiornika. Kierunek transmisji jest definiowalny poziomem logicznym podanym na odpowiednie nóżki układu. Typowo na bazie tego układu tworzone są tory transmisyjne półdupleksowe (albo nadaje albo odbiera, nie jest możliwe jednoczesne nadawanie i odbieranie). Chcąc zbudować sobie środowisko o innych cechach, dupleksowe (umożliwiające jednoczesną komunikację w dwie strony) należy zastosować dwa układy. Choć, tu może warto zwrócić uwagę na pewien aspekt filozoficzny: układy interfejsów nie muszą obrabiać sygnału szeregowego, to może być dowolny sygnał logiczny transmitowany na duże odległości. Układ interfejsu zadba, by wszystko cało i zdrowo dotarło na drugi koniec.W układzie są wejścia DE i /RE (stanem logicznym H na DE włącza nadajnik do pracy oraz stanem logicznym L na /RE włącz odbiornik do pracy) i D (wejście transmitowanego sygnału) oraz wyjście R (wyjście sygnału odebranego). Wyjście R jest trójstanowe i jeżeli nie jest aktywowany odbiornik, to jest w trzecim stanie. Zwyczajowo wejścia DE i /RD łączy się razem i wtedy powstaje możliwość jednym sygnałem logicznym skonfigurować interfejs do nadawania lub odbierania. Inną alternatywą jest sterowanie niezależne. Jeżeli zostanie włączony nadajnik i odbiornik jednocześnie, to układ będzie nadawał sygnał i odbierał własne echo (to tak jakby wsłuchał się sam w to co mówi). Linie A i B to dwukierunkowa szyna transmisyjna na duże odległości. Tu w przeciwieństwie do układów MAX232 nie występuje sygnał odniesienia GND a sama transmisja jest różnicowa. Oczywiście współpraca z innymi układami wymaga pewnego konsensusu, łączy się wszystkie styki A ze sobą oraz wszystkie styki B ze sobą. Takie rozwiązanie pozwala na uzyskanie możliwości nadawania typu jeden do wielu. Komunikacja typu wielu do jednego, to … nie jest tematem tego komiksu.
Do zabawy i eksperymentów zbudowałem sobie następujące środowisko. Standardowy generator napędza licznik binarny CD4040. Jedno z wyjść licznika dostarcza sygnał do SN75176 (zmieniając „ zaczep” dla interfejsu możne zmieniać częstotliwość transmitowanego sygnału).Podłączyłem dwukanałowy oscylek do sygnałów jak na schemacie. Jak się można spodziewać, interfejs przenosił sygnał. Zmieniając częstotliwość można zaobserwować, że od pewnego poziomu, całość zaczyna wymiękać (gdzieś tak przy 1.4MHz).Wyjście różnicowe toPo tych eksperymentach zmieniłem układ interfejsu na PCA82C251 (układ od CAN).W układzie jest wejście transmitowanych danych cyfrowych D oraz wyjście danych odbieranych R. Dodatkowo występuje wejście sterujące RS, które kontroluje kształtowanie sygnału na magistrali połączeniowej. Dokumentacja zaleca wstawić tu rezystor 10kΩ .. 100kΩ, więc do eksperymentów daje 10kΩ, nie dyskutuję, robię jak każą. Wyjście transmisyjne to CANH i CANL i to wyjście jest również różnicowe.
Ponieważ ostatnio trochę naprawiam urządzeń (częstym uszkodzeniem jest uwalenie samego układu 82C251), to mam stały dostęp do różnych układów, z którymi normalnie nie miałbym styku. Właśnie takim przykładem jest PCA82C251. Skoro taki jest w szufladzie, to nic nie stoi na przeszkodzie trochę z nim poeksperymentować. Środowisko badawcze jest praktycznie identyczne jak wcześniej.No to do do dzieła. Idzie całkiem nieźle – transmituje i nawet całkiem chyżo. Obserwowałem sygnał w miejscach pokazanych na schemacie. Otóż układ interfejsu CAN zawsze daje własne echo.To by wiele wyjaśniało. Skoro filozofia CAN jest taka, że to komunikuje się w systemie wielu do wielu bez arbitrażu, to musi to jakoś ogarniać. By wiedzieć, że coś idzie w maliny, to konieczny jest odsłuch tego co się nadaje i porównanie w treścią nadawaną. Skoro jest identycznie, to znaczy, że nikt nie wnosi swoich trzech groszy i idzie lekko, łatwo i przyjemnie. Wtedy sam interfejs (ten kontroler zawarty w procku) już wie, że coś poszło nie tak i ma szanse coś z tym zrobić. No nie jest to rola dla układu interfejsu (tego konwertera sygnału, kurcze, jedno słowo ma wiele znaczeń).Podobnie na drugim końcu długiego druta jest tak samo, jest odtworzony sygnał nadawany. Na obrazku wyżej jest dla około 700kHz.No i przyszła do głowy szalona koncepcja. Skoro RS485 ma wyjście różnicowe oraz CAN ma wyjście różnicowe, to może z tych dwóch tak różnych elementów stworzyć parę. Jakoś nie znalazłem w literaturze informacji co z tego wyniknie, więc należy przeprowadzić własny eksperyment. Jak czegoś samemu się nie zbada, to nie wiadomo co z tego będzie. No i … niespodzianka – zadziałało. Już chciałem opatentować rozwiązanie, jak zaczęło być krzywo. Zacząłem od małych częstotliwości i powoli podkręcałem prędkość. Jakoś szło, ale po przekroczeniu pewnego progu zaczęło się kaszanić, no 350kHz to nie jest jakiś kosmos. No może trzeba jeszcze coś dopracować.
Miało być coś o zerach i jedynkach, ale wcięło...
- płomyczek -
w splotach smużek dymu
utkanych z czerwieni
płomyk świecy niewielkiej
frywolnie się mieni...
Towarzysząca nuta, to „Temat Lary” zakończony uwerturą „Lekka Kawaleria”https://www.youtube.com/watch?v=2X4JlDC_WOo
Przysłowiowy strumień zer i jedynek, coś tak nieodzownego w komunikacji, to temat szeroki jak „Droga Mleczna”. Najszybciej można go dostrzec w transmisji szeregowej. Ta, jak wiadomo, jest generowania przede wszystkim przez procki. W zamierzchłych czasach do tego były używane specjalizowane układy, które pozwalały na wymianę informacji pomiędzy dwoma elementami. Dzisiaj te specjalizowane układy zostały wchłonięte przez procki stając się integralną ich częścią. Jednak wypuszczenie w świat bez właściwej ochrony nie jest dobrym pomysłem. Świat zewnętrzny jest siedliskiem różnych zagrożeń, które będą dążyć do zaszkodzenia, destabilizacji i wręcz ubicia układu. Tu z pomocą śpieszą układy różnych interfejsów, których podstawowym zadaniem jest zabezpieczenie bytu układów transmisji szeregowej oraz ochrona samej transmisji przed zakłóceniami. Wręcz powszechnie występujący standard RS232 z popularnym układem MAX232 (wcześniej, przynajmniej ja, wręcz masowo stosowałem układy MC1488/MC1489). Rozwiązanie jest wystarczająco popularne, by nad nim rozwodzić. Mniej znanym jest rozwiązanie RS485 z popularnym układem SN75176 (kompatybilnym z wieloma układami oferowanymi przez innych producentów). Ten układ, w przeciwieństwie do MAX232, jest jednokanałowy: może realizować funkcje nadajnika lub odbiornika. Kierunek transmisji jest definiowalny poziomem logicznym podanym na odpowiednie nóżki układu. Typowo na bazie tego układu tworzone są tory transmisyjne półdupleksowe (albo nadaje albo odbiera, nie jest możliwe jednoczesne nadawanie i odbieranie). Chcąc zbudować sobie środowisko o innych cechach, dupleksowe (umożliwiające jednoczesną komunikację w dwie strony) należy zastosować dwa układy. Choć, tu może warto zwrócić uwagę na pewien aspekt filozoficzny: układy interfejsów nie muszą obrabiać sygnału szeregowego, to może być dowolny sygnał logiczny transmitowany na duże odległości. Układ interfejsu zadba, by wszystko cało i zdrowo dotarło na drugi koniec.W układzie są wejścia DE i /RE (stanem logicznym H na DE włącza nadajnik do pracy oraz stanem logicznym L na /RE włącz odbiornik do pracy) i D (wejście transmitowanego sygnału) oraz wyjście R (wyjście sygnału odebranego). Wyjście R jest trójstanowe i jeżeli nie jest aktywowany odbiornik, to jest w trzecim stanie. Zwyczajowo wejścia DE i /RD łączy się razem i wtedy powstaje możliwość jednym sygnałem logicznym skonfigurować interfejs do nadawania lub odbierania. Inną alternatywą jest sterowanie niezależne. Jeżeli zostanie włączony nadajnik i odbiornik jednocześnie, to układ będzie nadawał sygnał i odbierał własne echo (to tak jakby wsłuchał się sam w to co mówi). Linie A i B to dwukierunkowa szyna transmisyjna na duże odległości. Tu w przeciwieństwie do układów MAX232 nie występuje sygnał odniesienia GND a sama transmisja jest różnicowa. Oczywiście współpraca z innymi układami wymaga pewnego konsensusu, łączy się wszystkie styki A ze sobą oraz wszystkie styki B ze sobą. Takie rozwiązanie pozwala na uzyskanie możliwości nadawania typu jeden do wielu. Komunikacja typu wielu do jednego, to … nie jest tematem tego komiksu.
Do zabawy i eksperymentów zbudowałem sobie następujące środowisko. Standardowy generator napędza licznik binarny CD4040. Jedno z wyjść licznika dostarcza sygnał do SN75176 (zmieniając „ zaczep” dla interfejsu możne zmieniać częstotliwość transmitowanego sygnału).Podłączyłem dwukanałowy oscylek do sygnałów jak na schemacie. Jak się można spodziewać, interfejs przenosił sygnał. Zmieniając częstotliwość można zaobserwować, że od pewnego poziomu, całość zaczyna wymiękać (gdzieś tak przy 1.4MHz).Wyjście różnicowe toPo tych eksperymentach zmieniłem układ interfejsu na PCA82C251 (układ od CAN).W układzie jest wejście transmitowanych danych cyfrowych D oraz wyjście danych odbieranych R. Dodatkowo występuje wejście sterujące RS, które kontroluje kształtowanie sygnału na magistrali połączeniowej. Dokumentacja zaleca wstawić tu rezystor 10kΩ .. 100kΩ, więc do eksperymentów daje 10kΩ, nie dyskutuję, robię jak każą. Wyjście transmisyjne to CANH i CANL i to wyjście jest również różnicowe.
Ponieważ ostatnio trochę naprawiam urządzeń (częstym uszkodzeniem jest uwalenie samego układu 82C251), to mam stały dostęp do różnych układów, z którymi normalnie nie miałbym styku. Właśnie takim przykładem jest PCA82C251. Skoro taki jest w szufladzie, to nic nie stoi na przeszkodzie trochę z nim poeksperymentować. Środowisko badawcze jest praktycznie identyczne jak wcześniej.No to do do dzieła. Idzie całkiem nieźle – transmituje i nawet całkiem chyżo. Obserwowałem sygnał w miejscach pokazanych na schemacie. Otóż układ interfejsu CAN zawsze daje własne echo.To by wiele wyjaśniało. Skoro filozofia CAN jest taka, że to komunikuje się w systemie wielu do wielu bez arbitrażu, to musi to jakoś ogarniać. By wiedzieć, że coś idzie w maliny, to konieczny jest odsłuch tego co się nadaje i porównanie w treścią nadawaną. Skoro jest identycznie, to znaczy, że nikt nie wnosi swoich trzech groszy i idzie lekko, łatwo i przyjemnie. Wtedy sam interfejs (ten kontroler zawarty w procku) już wie, że coś poszło nie tak i ma szanse coś z tym zrobić. No nie jest to rola dla układu interfejsu (tego konwertera sygnału, kurcze, jedno słowo ma wiele znaczeń).Podobnie na drugim końcu długiego druta jest tak samo, jest odtworzony sygnał nadawany. Na obrazku wyżej jest dla około 700kHz.No i przyszła do głowy szalona koncepcja. Skoro RS485 ma wyjście różnicowe oraz CAN ma wyjście różnicowe, to może z tych dwóch tak różnych elementów stworzyć parę. Jakoś nie znalazłem w literaturze informacji co z tego wyniknie, więc należy przeprowadzić własny eksperyment. Jak czegoś samemu się nie zbada, to nie wiadomo co z tego będzie. No i … niespodzianka – zadziałało. Już chciałem opatentować rozwiązanie, jak zaczęło być krzywo. Zacząłem od małych częstotliwości i powoli podkręcałem prędkość. Jakoś szło, ale po przekroczeniu pewnego progu zaczęło się kaszanić, no 350kHz to nie jest jakiś kosmos. No może trzeba jeszcze coś dopracować.