Strumień zer i jedynek

To nie jest miejsce tylko dla początkujących, wszyscy jesteśmy w czymś początkujący i wymieniamy się doświadczeniami.
Awatar użytkownika
gaweł
Geek
Geek
Posty: 1259
Rejestracja: wtorek 24 sty 2017, 22:05
Lokalizacja: Białystok

Strumień zer i jedynek

Postautor: gaweł » niedziela 16 sie 2020, 15:01

Strumień zer i jedynek

str01_il00.jpg


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.
str01_il02.png
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).
str01_il03.png
str01_il04.jpg
Podłączyłem dwukanałowy oscylek do sygnałów jak na schemacie. Jak się można spodziewać, interfejs przenosił sygnał.
str01_il05.jpg
Zmieniając częstotliwość można zaobserwować, że od pewnego poziomu, całość zaczyna wymiękać (gdzieś tak przy 1.4MHz).
str01_il06.png
Wyjście różnicowe to
str01_il07.png
Po tych eksperymentach zmieniłem układ interfejsu na PCA82C251 (układ od CAN).
str01_il08.png
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ć.
str01_il09.jpg
Środowisko badawcze jest praktycznie identyczne jak wcześniej.
str01_il10.png
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.
str01_il14.jpg
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ń).
str01_il11.png
Podobnie na drugim końcu długiego druta jest tak samo, jest odtworzony sygnał nadawany. Na obrazku wyżej jest dla około 700kHz.
str01_il15.jpg
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ę.
str01_il12.png
str01_il16.jpg
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.
str01_il13.png
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ć.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse

Awatar użytkownika
gaweł
Geek
Geek
Posty: 1259
Rejestracja: wtorek 24 sty 2017, 22:05
Lokalizacja: Białystok

Re: Strumień zer i jedynek

Postautor: gaweł » poniedziałek 17 sie 2020, 13:22

Przepraszam za pomyłkę. Na schematach jest napisane 1.84MHz a w rzeczywistym układzie jest 18.4MHz. Nie chce mi się poprawiać rysunków.

Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse

Awatar użytkownika
ZbeeGin
User
User
Posty: 492
Rejestracja: sobota 08 lip 2017, 17:16
Lokalizacja: Śląsko-Zagłębiowska Metropolia
Kontaktowanie:

Re: Strumień zer i jedynek

Postautor: ZbeeGin » poniedziałek 17 sie 2020, 17:36

gaweł pisze: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ć.

Czy terminujesz linię?

Awatar użytkownika
gaweł
Geek
Geek
Posty: 1259
Rejestracja: wtorek 24 sty 2017, 22:05
Lokalizacja: Białystok

Re: Strumień zer i jedynek

Postautor: gaweł » poniedziałek 17 sie 2020, 20:23

Dokładnie to przyszło mi do głowy, ale to było już po napisaniu tekstu, także to jeszcze nie koniec potyczek, badań i eksperymentów.

Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse

Awatar użytkownika
gaweł
Geek
Geek
Posty: 1259
Rejestracja: wtorek 24 sty 2017, 22:05
Lokalizacja: Białystok

Re: Strumień zer i jedynek

Postautor: gaweł » środa 19 sie 2020, 00:13

Nuta:
Fortuna, Tyche – w mitologii greckiej bogini i uosobienie przypadku,
„ślepego” losu, szczęścia (pomyślności, powodzenia).

https://www.youtube.com/watch?v=EJC-_j3SnXk


Ostatnie środowisko badawcze zostało zmodyfikowane do postaci jak na schemacie.
str01_il201.png
czyli
str01_il202.jpg
Znacząco pomogło.
str01_il203.png
Dla częstotliwości około 650kHz, przebiegi są dobre: na wejściu do interfejsu CAN oraz na wyjściu z interfejsu RS485. Wystarczyło dodać R=150Ω. Usunięcie rezystora (150Ω) pogorszyło transmisję.
str01_il204.png
Znaczy należy zrobić to co każą i nie dyskutować inaczej jest pod górkę.
Jednak dla częstotliwości dwa razy większej już nie chciało współdziałać.
str01_il205.png
Jeszcze jeden eksperyment dotyczący rezystorów w linii komunikacyjnej (chwyt często stosowany w RS485), jak na schemacie poniżej
str01_il206.png
to totalna porażka, sygnał na wyjściu z SN75176 zaginął (jest stan logicznego zera). Przyłączenie do +5V lub do GND dusi sygnał. Znaczy nie ma co eksperymentować, tylko zrobić jak każą (potrzebny jest tylko jeden rezystor między liniami transmisyjnymi).
str01_il207.jpg
Takie to są perypetie przebiegów zer i jedynek, delikatne i kruche, wymagają wiele starań, by bez przeszkól dotarły na drugi koniec świata, więc niech równie ostrożne będą przebiegi zwinnych jedynek ... i zer.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse

Awatar użytkownika
tasza
Geek
Geek
Posty: 1082
Rejestracja: czwartek 12 sty 2017, 10:24
Kontaktowanie:

Re: Strumień zer i jedynek

Postautor: tasza » środa 19 sie 2020, 08:32

Taki artykulik do poczytania, będzie wiadomo skąd problemy: :arrow: https://www.maximintegrated.com/content ... can-wp.pdf
______________________________________________ ____ ___ __ _ _ _ _
Kończysz tworzyć dopiero, gdy umierasz. (Marina Abramović)

Awatar użytkownika
gaweł
Geek
Geek
Posty: 1259
Rejestracja: wtorek 24 sty 2017, 22:05
Lokalizacja: Białystok

Re: Strumień zer i jedynek

Postautor: gaweł » środa 19 sie 2020, 11:57

tasza pisze:Taki artykulik do poczytania, będzie wiadomo skąd problemy:

Dziękuję za wsparcie :)

Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse

Awatar użytkownika
gaweł
Geek
Geek
Posty: 1259
Rejestracja: wtorek 24 sty 2017, 22:05
Lokalizacja: Białystok

Re: Strumień zer i jedynek

Postautor: gaweł » środa 02 wrz 2020, 17:39

Przepraszam szanownych Czytelników, ale w schematach powyżej wkradł się istotny błąd (którego jakoś nikt nie dostrzegł :D ). Ważne jest by poprawić własne błędy, więc... na niektórych rysunkach należy postawić krzyżyk. Początkowy błąd ma dalsze konsekwencje, gdyż powiela się.
Jest:
serial11.png
powinno być:
serial12.png

Jest:
serial13.png
powinno być:
serial14.png

Jest:
serial15.png
powinno być:
serial16.png

Jest:
serial17.png
powinno być:
serial18.png
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse


Wróć do „Podstawy elektroniki - teoria i praktyka”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 8 gości