logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

pomiar nieznanej prędkości RS485 i zrzut transmisji i jej 'zdekodowanie'

grisha75 17 Paź 2012 18:45 2637 11
  • #1 11421727
    grisha75
    Poziom 12  
    Od pewnego czasu mam problem ze podejrzeniem, zapisaniem i zasymulowaniem transmisji na urządzeniu RS485, do którego nie posiadam dokumentacji.
    Próbuję zrobić zamiennik urządzenia z lat '80, które pracuje na RS485 w nieznanym mi protokole, bez dostępu do jakiejkolwiek dokumentacji opisu komunikacji tego urządzenia.
    Żeby takie urządzenie zrobić, trzeba wiedzień jaka jest prędkość transmisji, a następnie jaki protokół.
    Jak na razie próbowałem zgrać transmisję m.in. programem realterm.
    Predkość transmisji można zmierzyć oscyloskopem, jeżeli w transmisji idą pojedyncze bity....
    Czy macie jakieś pomysły jakim sprzętem zmierzyć prędkość (oscyloskopy jakie mam to stary tektronix i nowy rigol DS1052E) oraz jakim programem zgrać transmisję i ewentualnie zdekodować protokół, jeżeli jest tam jakiś zdefiniowany protokół.
    Na pewno "master" co chwila przesyła czas do badanego przeze mnie "slave" więc dane jakie obserwuję są mało powtarzalne.
    Jakiej prędkości bym nie wybrał w realterm to mam prawie ciągle error ramki (dolny kwadracik na czerwono w programie).
  • #2 11422248
    Pawel2420
    Poziom 31  
    Czy jesteś pewien, że jest to transmisja RS485 ?
    Czy wypróbowałeś różne formaty ramki ?
  • #3 11422374
    grisha75
    Poziom 12  
    RS485 to jest na pewno, mam schemat aplikacyjny urzadzenia.
    Problemem jest "ugryzienie" komunikacji. Ramki rozne sprawdzalem, jednak spodziewam się 8 bitow danych, to raczej stardard, choc wszystko mozliwe.
    Czy jest jakis sprzet lub oprogramowanie pomocne przy rozpracowaniu takiego problemu? Moze przystawki do oscyloskopow ? Albo jakies progrAmy do detekcji rodzaju transmisji?
  • #4 11422479
    eljarkos
    Poziom 21  
    Może powiedz co to za urządzenia? Może ktoś z forumowiczów miał z tym do czynienia?
  • #5 11422656
    grisha75
    Poziom 12  
    Nisza, sprzet na 100% nieznany. Ale nie to jest wazne.
    Czy mozecie podpowiedziec wg moich powyzszych pytan jak taki problem ugryzc ?
  • #6 11422806
    Pawel2420
    Poziom 31  
    Jeśli transmisja jest wolna to wczytaj ją np. przy pomocy karty dźwiękowej. Jeśli jest szybka to konieczny będzie analizator stanów logicznych lub odpowiedni oscyloskop.
  • #7 11422831
    grisha75
    Poziom 12  
    A samo wychwycenie predkosci transmisji oscyloskopem i nastEpnie zapis transmisji poprzez np. Realterm to niewiele tak? W czym moze pomoc analizator stanow logicznych? Czy mozna za jego pomoca rozkodowac transmisje ?
    Co rozumiesz przez "odpowiedni oscyloskop" ?
  • #8 11423031
    Pawel2420
    Poziom 31  
    grisha75 napisał:
    A samo wychwycenie predkosci transmisji oscyloskopem i nastEpnie zapis transmisji poprzez np. Realterm to niewiele tak?

    Napisałeś na początku, ze tak zrobiłeś ale nic nie udało się wykryć.
    1. Mogłeś popełnić błąd sprzętowy
    2. Nie jest to transmisja RS485
    3. Nie potrafiłeś określić prawidłowej prędkości transmisji lub jest to niestandardowa prędkość.

    Jeśli wczytasz i wyświetlisz to co dzieje się na magistrali to:
    1. Określisz czas trwania jednego bitu (określisz prędkość transmisji)
    2. Zobaczysz czy występują bity startu i stopu (potwierdzisz że jest to RS485)
    3. Określisz ilość bitów w ramce i dowiesz się czy występuje np. bit parzystości.

    Wczytać fragment transmisji możesz przy pomocy karty dźwiękowej, analizatora stanów logicznych lub oscyloskopu z odpowiednią funkcjonalnością.
  • #9 11423468
    grisha75
    Poziom 12  
    Pawel2420 napisał:
    Wczytać fragment transmisji możesz przy pomocy karty dźwiękowej, analizatora stanów logicznych lub oscyloskopu z odpowiednią funkcjonalnością.
    właśnie problem okreslenia predkości jest niewielki, w porównaniu z problemem określenia stosowanego protokołu...
    Tu byłby przydatny jakiś analizator programowy lub sprzetowy (np. analizator logiczny) protokołów albo oscyloskop który potrafi zidentyfikować to co widzi, albo program na PC, jednak takiego nie mam - niestety nie inwestując w sprzet i oprogramowanie niewiele można zdziałać "na piechotę", to już bardziej liczenie w kategoriach "szczęścia" na to że zrzut transmisji do oscyloskopu wystarczy żeby rozpracować problem.
  • #10 11423493
    Pawel2420
    Poziom 31  
    Raczej nie znajdziesz żadnych programów, które potrafią automatycznie zidentyfikować protokół. To może zrobić tylko człowiek.
  • #11 11423506
    grisha75
    Poziom 12  
    a oscyloskopy z możliwością analizy transmisji ? Są programy i sprzęt - analizatory modbus itp.
  • #12 11427891
    victoriii
    Poziom 19  
    Sprawdź temat Saleae Logic. To powinno rozwiązać problem.
REKLAMA