Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

czym zmierzyć napięcie szczytowe na magistrali cyfrowej?

xntxnt 03 Feb 2019 17:45 522 10
  • #1
    xntxnt
    Level 14  
    Koledzy,
    Jest sobie magistrala cyfrowa, którą będę chciał zbadać prostym analizatorem stanów logicznych. Boję się, że go upiekę, bo nie wiem jakie napięcie opowiada logicznej "jedynce", a wiem, że maksymalne napięcie jakie może przyjąć analizator to jedynie 5,25V.
    Uprzedzam: nie mogę rozebrać urządzeń jakie są podpięte do magistrali - to nie mój sprzęt. W dodatku nie będę miał do niego nieograniczonego dostępu, chciałbym to załatwić za pierwszym-drugim razem.

    Jak zmierzyć ile wynosi napięcie "jedynki" w magistrali?
    Będę wdzięczny za pomysł.
  • Helpful post
    #3
    jozgo
    Level 41  
    Do napięcia Umax ładuje się prosty układ całkujący RC przez diodę.
    Nie wiem jakim prądem mozna to obciążyć? Przy 5V , R=10k to Imax 0,5mV.
    C bym dał parę uF.

    Dodano po 1 [minuty]:

    R miernika wchodzi do dzielnika napiecia.
  • #4
    Steryd3
    Level 33  
    jozgo wrote:
    Do napięcia Umax ładuje się prosty układ całkujący RC przez diodę.
    Nie wiem jakim prądem mozna to obciążyć? Przy 5V , R=10k to Imax 0,5mV.
    C bym dał parę uF.

    Dodano po 1 [minuty]:

    R miernika wchodzi do dzielnika napiecia.


    No właśnie...nie wiadomo ile można obciążyć...można w najlepszym razie (z tych złych scenariuszy) ubić transmisję lub ubić nadajnik linii.
    Trzeba by jeszcze spadek napięcia na diodzie uwzględnić. Do tego warto by wiedzieć jaka jest prędkość transmisji by dioda zdążyła się przełączyć...
    Czyli metoda tania i prosta, sporo niewiadomych, spore ryzyko a wynik niepewny.
    Reasumując...to może działać ale osobiście bym nie ryzykował.
  • #6
    xntxnt
    Level 14  
    Oscyloskop... fakt, trzeba się rozwinąć i kupić. Tylko ten czas na naukę + rozeznanie rynku by nie kupić bubla ... :/ . Ale jak nie będzie wyjścia...


    Steryd3 wrote:
    Może warto też rozpoznać co to za magistrala...znając jej typ nie trudno jest znaleźć jej specyfikację warstwy fizycznej.
    Nie znalazłem w sieci informcji na jej temat. Wiem tyle co widać - szeregowa i być może dwukierunkowa, bo jest Rx i Rx (choć używany jest tylko jeden kierunek).

    Na pewno nie ma tam więcej niż w instalacji samochodowej, czyli około 14V. Ale równie dobrze może być tam 12, 5 albo 3V. Nie jest to CAN.

    jozgo wrote:
    Do napięcia Umax ładuje się prosty układ całkujący RC przez diodę.
    Nie wiem czy dobrze łapię...
    Czy masz na myśli (z grubsza), że możnaby potraktować taką magistralę jak jedną połówkę sinusoidy, którą można wygładzić kondensatorem, a następnie zmierzyć do ilu się naładował?

    Steryd3 wrote:
    No właśnie...nie wiadomo ile można obciążyć...można w najlepszym razie (z tych złych scenariuszy) ubić transmisję lub ubić nadajnik linii.
    Czyli powyższe odpada.


    A taki pomysł: Regulowany dzielnik napięcia. Najpierw ustawiony na wariant pesymistyczny, czyli zakładający, że na magistrali jest 14V. Jeśli faktycznie będzie mniej, to najwyżej analizator stanów logicznych nic nie zarejestruje, bo nie przekroczy się progu. Potem schodzę coraz niżej aż zacznie łapać. Zda egzamin?

    Tylko jaki dzielnik? Np. 22k i 56k? Czy 220k i 560k? Wiem, że analizator ma wejście o impedancji 100kOhm.



    Tylko jeden problem... docelowo będę chciał poduczyć się mikrokontrolerów i podłączyć do tej linii własny nadajnik. Czyli i tak muszę się dowiedzieć jakie tam są napięcia :/ . Kurdę, a ja nie umiem nawet napięcia w magistrali zmierzyć... porwałem się z motyką na słońce...



    Czy mogę napisać wprost co to za układ?
    Sytuacja: Samochód nr 1 - Mercedes "okularnik", w którym przyciski kierownicy wielofunkcyjnej są podpięte do jakiegoś kodera nadającego do magistrali CAN. Magistrala była wpięta w fabryczne radio. Radio zostało zmienione na niefabryczne firmy Becker. Żeby działały guziki na kierownicy, między CAN a radio został dodany jakiś interfejs CAN-Becker, który przerabia dane z CAN na format zjadliwy dla magistrali radia.
    Do tego auta nie mam stałego dostępu - właśnie w nim chciałem "raz a dobrze" analizatorem sprawdzić na jakie sekwencje reagujeradio przy wciskaniu poszczególnych przycisków na kierownicy. Po co? A po to, bo:
    Samochód nr 2 - Opel, do którego zamontowałem takie samo radio, a do którego nie mam żadnego interfejsu tłumaczącego sygnał z pilota na sygnał zjadliwy dla radia. Docelowo chcę taki interfejs zrobić, a utknąłem na pomiarze magistrali :/ .
    Żeby nie było: radio nie współpracuje z pilotami typu drabinka rezystorowa, tylko na 100% ma swój format magistrali.


    Mam kawałek schematu radia (strona 15 pliku Schaltplane) - do tego miejsca dochodzą styki C15 i C16 ze złącza miniISO, opisane jako Service-BUS-TXD i Service-BUS-RXD:
    czym zmierzyć napięcie szczytowe na magistrali cyfrowej?

    Wychodzi na to, że jest na wejściu układ MAX3223EAP. A on ma szerokie napięcia wejściowe: http://www.elenota.pl/datasheet-pdf/123793/Maxim/MAX3223E
    Czyli może tam być wszelakie napięcie :( .
  • Helpful post
    #7
    _jta_
    Electronics specialist
    Może do sprawdzenia napięcia dioda + kondensator? Naładuje się do szczytowego minus napięcie przewodzenia diody.

    A poza tym można by zrobić układ "pośredniczący", który nie będzie się obawiał nawet sporych napięć, a na wyjściu da w zakresie 0-5V.
  • #8
    Steryd3
    Level 33  
    Jest kawałek schematu...jest o czym pisać.
    Jak można przeczytać w nocie katalogowej układu MAX3223 jest to układ do magistrali RS232. Standard napięć tej magistrali jest określony. Nie wiem co kolega wie o takiej magistrali-dość popularnej i już nie najmłodszej. Mówiąc w trzech słowach... taki układ przerabia poziomy napięć z takich typowych stosowanych w technice mikroprocesorowej ...a więc logiki 0-3,3V lub 0-5V (w szczegóły standardów nie będę tu brną) na takie poziomy napięcia od ± kilku do kilkunastu V (przy czym stan "1" to napięcie ujemne a "0" dodatnie). Można to też zobaczyć po tych diodach Zenera które mają zabezpieczać magistralę. Rzeczywiście zakres napięć dla poprawnych stanów logicznych jest dość szeroki dlatego też analiza tego co "biega" po liniach powinna się raczej odbyć za takim układem po stronie tych niższych napięć(zwłaszcza gdy kolega dysponuje raczej kiepskim słabo zabezpieczonym analizatorem stanów logicznych - pewnie chińską podróbka takiego na S). Jeżeli dostęp jest tylko do magistrali RS232 to można zastosować inny taki układ który będzie zamieniał poziomy napięć na te dla nas bezpieczne.

    Jednak by "podsłuchać" magistralę RS232 wystarczy tylko dysponować starym portem COM w komputerze lub przejściówką na USB/RS232 która go zastąpi w wypadku jego braku. To znacznie upraszcza całą zabawę.
  • #9
    xntxnt
    Level 14  
    _jta_ wrote:
    Może do sprawdzenia napięcia dioda + kondensator? Naładuje się do szczytowego minus napięcie przewodzenia diody.
    Ok, spróbuję dioda + kondzio. Hmm... nie wiem jaki baud rate ma ta magistrala... pewnie nie za duży. Czy zwykła 1N4007 da radę przy kilkunastu kHz? Musze sprawdzić tą metodę łącząc dwa kompy po RS232 - będę zmieniał prędkość i sprawdzał czy będzie to miało wpływ na napięcie maksymalne mierzone na kondensatorze.

    Steryd3 wrote:
    jest to układ do magistrali RS232. Standard napięć tej magistrali jest określony
    Niby określony, ale zakres spory. Ale zaraz! Czyli to jest zwykły RS-232? Przecież faktycznie mogę po prostu zwykłym portem szeregowym to potraktować :) . Ha! Są nawet programy do biernego słuchania portu:
    https://news.elektroda.pl/obserwacja-komunikacji-na-porcie-szeregowym-otwartym-przez-i-t477951.html

    Eh, na najprostsze rozwiązania najciężej wpaść :/ .

    Spróbuję jeszcze podpiąć się pod samo radyjko - jestem ciekaw czy na TX będzie coś nadawać gdy będzie na stole - jeśli tak, to przynajmniej poznam prędkość, żeby już w bojowych warunkach (w tym Mercu) łatwiej sczytać rozkazy wysyłane przez moduł CAN->radio.


    Jeszcze pytanko:
    Po dwa zenery na każdej linii... czemu na jednej linii są na 12V, a na drugiej 16? Na RX więcej żeby nie "zgasić" nadajnika w drugim urządzeniu?
  • Helpful post
    #10
    krzysiek_krm
    Level 40  
    xntxnt wrote:
    Wychodzi na to, że jest na wejściu układ MAX3223EAP

    Może podłącz sobie do magistrali taki sam MAX (dwa wejścia) i monitoruj "po stronie logiki cyfrowej".

    Dodano po 2 [minuty]:

    xntxnt wrote:
    faktycznie mogę po prostu zwykłym portem szeregowym to potraktować

    Nie bardzo, tam masz tylko jedno wejście.
    Właściwie wejść jest więcej ale pozostałe są do handshakingu i może być trudno je podsłuchać.

    Dodano po 12 [minuty]:

    xntxnt wrote:
    Jeszcze pytanko:
    Po dwa zenery na każdej linii... czemu na jednej linii są na 12V, a na drugiej 16? Na RX więcej żeby nie "zgasić" nadajnika w drugim urządzeniu?

    Rzuć okiem w dane katalogowe (Absolute Maximum Ratings): T_OUT maximum +/- 13.2 V a R_IN maximum +/- 25 V, zresztą te diody działają tylko w sytuacjach awaryjnych to znaczy przy jakichś przepięciach.
  • #11
    _jta_
    Electronics specialist
    Prosty sposób przetworzenia sygnału RS-232 na TTL: tranzystor NPN (BC548B), emiter do masy, wyjście z kolektora (tu zakładam, że obciążenie najwyżej około 3mA, czyli 1 bramka TTL, albo kilka TTL-LS, jeszcze opornik z 10k do +5V), baza przez diodę (1N4148) połączona z emiterem (dioda ma przewodzić w przeciwną stronę, niż złącze emiter-baza, czyli pasek do bazy), i z bazy opornik 120k do źródła sygnału (jak użyjesz opornika 1/2 W, to powinien wytrzymać choćby 230V~).

    Pewnym problemem może tu być szybkość - przy baud rate 9600 i mniejszej na pewno nie, ale przy większej ładowanie pojemności bazy przez opornik 120k może trwać zbyt długo. Jeśli potrzebna jest większa szybkość, to równolegle do tego opornika trzeba dać układ z szeregowego połączenia kondensatora (np. kilkanaście pF) i opornika (np. 10k - podaję te wartości "na wyczucie", może się okazać, że lepsze będą inne). Prościej byłoby użyć opornika 10k zamiast 120k, ale to by dawało większe obciążenie - w roli jedynego odbiornika mogłoby takie być, ale w roli dodatkowego lepiej tego unikać, żeby nie zakłócić łączności.

    Można też poszukać tranzystora o małej pojemności bazy (np. jakiś BF841, BF494, BF198, BF199, BF240), ale: (1) teraz trudno o takie tranzystory, sklepy mają mały wybór, albo nie mają wcale; (2) na ogół mają mniejsze wzmocnienie, więc zamiast 120k musiałby być mniejszy opornik.