Goto page 1, 2 Next
BartekK
Guest
Fri Dec 07, 2007 7:29 pm
Mam urządzenie które komunikuje się z drugim na rs232. Chciałbym
przechwycić transmisję, a dokładnie rozszyfrować protokół. Prędkość i
parametry transmisji znam, ale chodzi o rozgryzienie zależności
czasowych - jak na jakie sekwencje urządzenie odpowiada, itp.
Podłączyłem się "równolegle" moim komputerem z rs (tzn linia RxD mojego
komputera do np RxD>TxD w urządzeniu) i widzę transmisję idącą w jedną
stronę. Przepinam się na drugą linię (TxD>RxD) i widzę odpowiedzi. Ale
nie mam nijak zachowanej chronologii co jest odpowiedzią na co...
Próbowałem takim fajnym darmowym programikiem pt. terminal.exe (można
włączyć dodawanie "timestampt") ale dodaje z dokładnością do 1sekundy, a
transmisji jest dużo i szybkiej, mam kilka-kilkanaście wierszy/znaków z
tym samym czasem nadania/odebrania...
Idealnym rozwiązaniem byłby program który umie otworzyć sobie 2 lub
więcej portów RS232/COM (mam kartę 8port rs232 na pci, oraz 2comy na
płycie, już o comach na usb nie wspomnę), i zrzucać taką transmisję z
kilku RxD "wielokanałowo" lub przynajmniej znakując kolorem skąd co
przyszło, efekt byłby conajmniej taki "czatowy": pytanie=odpowiedz w
okienku obok tuż zaraz po pytaniu itp...
Może ktoś zna taki program? Lub chciałby napisać (również za $)
--
| Bartlomiej Kuzniewski
| sibi@drut.org GG:23319 tel +48 696455098
http://drut.org/
|
http://www.allegro.pl/show_user_auctions.php?uid=338173
Maksymilian Dutka
Guest
Fri Dec 07, 2007 8:56 pm
BartekK pisze:
Quote:
Mam urządzenie które komunikuje się z drugim na rs232. Chciałbym
przechwycić transmisję,
(...)
http://www.programmersheaven.com/download/14066/download.aspx
Jest pod DOS-a, ale dzięki temu są zachowane dokładne czasy. Program
używa dwóch portów RS. Jest dosyć toporny ale działa chyba najlepiej ze
wszystkich.
--
Pozdrawiam
Maksymilian Dutka
BartekK
Guest
Fri Dec 07, 2007 9:23 pm
Maksymilian Dutka pisze:
Quote:
BartekK pisze:
Mam urządzenie które komunikuje się z drugim na rs232. Chciałbym
przechwycić transmisję,
(...)
http://www.programmersheaven.com/download/14066/download.aspx
Jest pod DOS-a, ale dzięki temu są zachowane dokładne czasy. Program
używa dwóch portów RS. Jest dosyć toporny ale działa chyba najlepiej ze
wszystkich.
Fajnie, tylko że tylko COM1 i COM2 po portach niskich... A ja mam COM1
na płycie real-hardware-0x378, com2 juz na pci, i 8 portów na karcie
Moxa... Pozatym - skąd ja teraz dosa wezme

Moze ruszy pod jakims
freedosem?
Jak nic innego sie nie znajdzie to postawie osobnego compaqa p2-350 do
tego softu, ale to troche przerost formy

Zwłaszcza późniejsze
przerzucanie wyników...
--
| Bartlomiej Kuzniewski
| sibi@drut.org GG:23319 tel +48 696455098
http://drut.org/
|
http://www.allegro.pl/show_user_auctions.php?uid=338173
BartekK
Guest
Fri Dec 07, 2007 9:40 pm
A. Grodecki pisze:
Quote:
Jak nic innego sie nie znajdzie to postawie osobnego compaqa p2-350 do
tego softu, ale to troche przerost formy

Zwłaszcza późniejsze
przerzucanie wyników...
W "systemie okienkowym" nie dostaniesz dokładnych czasów między
fragmentami transmisji. Tak samo aplikacją chodzącą pod windowsem nie
bedziesz w stanie kontrolować dokładnie czasów wysyłania i odbioru. To
nie jest system do przemysłowego zarzadzania hardware. Systemy
sterowania bardzo czesto muszą mieć specjalne konwertery do PC-ta, żeby
pecet był w stanie gadac z systemem. Ma to miejsce wtedy gdy relacje
czasowe sa ostre. Windows nie ma wtedy szans.
Zapewne masz rację. Ale w tym urządzeniu jest windows

Mi nie chodzi nawet o to czy jest wysylane "DA", 18.2ms przerwy,
odpowiedz "ACK" i 245ms przerwy, mi chodzi o to "co leci po kolei w
którą stronę" - przerwy/odstępy między transmisjami to sobie na
oscyloskopie cyfrowym ładnie obejrzę, ale dekodować bajt po bajcie z
ekranu - to mi się nie chce ;)
--
| Bartlomiej Kuzniewski
| sibi@drut.org GG:23319 tel +48 696455098
http://drut.org/
|
http://www.allegro.pl/show_user_auctions.php?uid=338173
A. Grodecki
Guest
Fri Dec 07, 2007 9:42 pm
BartekK napisał(a):
Quote:
Jak nic innego sie nie znajdzie to postawie osobnego compaqa p2-350 do
tego softu, ale to troche przerost formy

Zwłaszcza późniejsze
przerzucanie wyników...
W "systemie okienkowym" nie dostaniesz dokładnych czasów między
fragmentami transmisji. Tak samo aplikacją chodzącą pod windowsem nie
bedziesz w stanie kontrolować dokładnie czasów wysyłania i odbioru. To
nie jest system do przemysłowego zarzadzania hardware. Systemy
sterowania bardzo czesto muszą mieć specjalne konwertery do PC-ta, żeby
pecet był w stanie gadac z systemem. Ma to miejsce wtedy gdy relacje
czasowe sa ostre. Windows nie ma wtedy szans.
--
Pozdrawiam,
A. Grodecki
"Wszystkie zwierzęta sa równe.
Ale te, które mają futerko w trzykolorowe pasy, są równiejsze."
Maksymilian Dutka
Guest
Fri Dec 07, 2007 9:49 pm
BartekK pisze:
Quote:
Maksymilian Dutka pisze:
BartekK pisze:
Mam urządzenie które komunikuje się z drugim na rs232. Chciałbym
przechwycić transmisję,
(...)
http://www.programmersheaven.com/download/14066/download.aspx
Jest pod DOS-a, ale dzięki temu są zachowane dokładne czasy. Program
używa dwóch portów RS. Jest dosyć toporny ale działa chyba najlepiej
ze wszystkich.
Fajnie, tylko że tylko COM1 i COM2 po portach niskich...
Niestety...
(...)
Quote:
Pozatym - skąd ja teraz dosa wezme

Moze ruszy pod jakims
freedosem?
Sprawdzałem tylko na dos-ie z Win95 i Win98.
Quote:
Jak nic innego sie nie znajdzie to postawie osobnego compaqa p2-350 do
tego softu, ale to troche przerost formy

Zwłaszcza późniejsze
przerzucanie wyników...
Przypomnisz sobie co to dyskietka
Mozę znajdziesz coś lepszego to chętnie bym też skorzystał, ja te co
testowałem to albo nie pokazywały czasów, albo działały na zasadzie
monitorowania jednego portu w komputerze.
Znalazłem właśnie coś takiego:
http://www.brothersoft.com/free-serial-port-monitor-38565.html
Jeszcze tego nie testowałem.
--
Pozdrawiam
Maksymilian Dutka
BartekK
Guest
Fri Dec 07, 2007 9:57 pm
Maksymilian Dutka pisze:
Quote:
BartekK pisze:
Maksymilian Dutka pisze:
BartekK pisze:
Mam urządzenie które komunikuje się z drugim na rs232. Chciałbym
przechwycić transmisję,
(...)
Znalazłem właśnie coś takiego:
http://www.brothersoft.com/free-serial-port-monitor-38565.html
Jeszcze tego nie testowałem.
Niestety, praca na 2 portach jest możliwa tylko w Serial Monitor (DMS)
Pro za 84.99$ (albo 33.99$ na 3miesiące). Jeśli mam tyle zapłacić -
wolałbym dać tą kasę "naszym" i niech powstanie jakiś program GNU. Ale
nie wierzę że już nie istnieje, przecież nie ja pierwszy mam taki
problem/potrzebę, a nie kazdy ma megaanalizator cyfrowy z debugerem
transmisji szeregowych...
--
| Bartlomiej Kuzniewski
| sibi@drut.org GG:23319 tel +48 696455098
http://drut.org/
|
http://www.allegro.pl/show_user_auctions.php?uid=338173
A. Grodecki
Guest
Fri Dec 07, 2007 9:59 pm
BartekK napisał(a):
Quote:
Zapewne masz rację. Ale w tym urządzeniu jest windows
Mi nie chodzi nawet o to czy jest wysylane "DA", 18.2ms przerwy,
odpowiedz "ACK" i 245ms przerwy, mi chodzi o to "co leci po kolei w
którą stronę" - przerwy/odstępy między transmisjami to sobie na
oscyloskopie cyfrowym ładnie obejrzę, ale dekodować bajt po bajcie z
ekranu - to mi się nie chce
Prędkość transmisji też nie musi być standardowa i CZĘSTO NIE JEST. Do
tego dochodzi kodowanie znaków (czasem jest) i sumy kontrolne
posługujące się mechanizmem, którego nie rozwikłasz zanim osiwiejesz.
Powodzenia

))
--
Pozdrawiam,
A. Grodecki
"Wszystkie zwierzęta sa równe.
Ale te, które mają futerko w trzykolorowe pasy, są równiejsze."
BartekK
Guest
Fri Dec 07, 2007 10:02 pm
A. Grodecki pisze:
Quote:
BartekK napisał(a):
Zapewne masz rację. Ale w tym urządzeniu jest windows
Mi nie chodzi nawet o to czy jest wysylane "DA", 18.2ms przerwy,
odpowiedz "ACK" i 245ms przerwy, mi chodzi o to "co leci po kolei w
którą stronę" - przerwy/odstępy między transmisjami to sobie na
oscyloskopie cyfrowym ładnie obejrzę, ale dekodować bajt po bajcie z
ekranu - to mi się nie chce ;)
Prędkość transmisji też nie musi być standardowa i CZĘSTO NIE JEST. Do
tego dochodzi kodowanie znaków (czasem jest) i sumy kontrolne
posługujące się mechanizmem, którego nie rozwikłasz zanim osiwiejesz.
Powodzenia

))
Ale w tym przypadku jest wszystko standartowe. 19200/n/8/1 i sterowanie
czystym tekstem/ascii (tzn ACK to przeslanie znakow "A","C","K") i
wszystko widze jak na dloni w pojedyńczym terminalu oglądając transmisję
w jedną stronę. Komendy "proste" typu "zresetuj się" udaje mi się
zasymulować moim hardware, ale komendy bardziej złożone niestety nie,
gdzie idzie (prawdopodobnie z tego co podejrzałem) komenda, ack,
parametry, zwrotne parametry + ack, ack z mastera i czasem jeszcze cos,
i tak w kolko az dojdzie do konca danej sekwencji...
Dwa terminale otwarte w 2 okienkach na 2 portach działają bardzo fajnie,
ale nie mam możliwości zobaczyć co jest odpowiedzią na co... za szybko
to leci
--
| Bartlomiej Kuzniewski
| sibi@drut.org GG:23319 tel +48 696455098
http://drut.org/
|
http://www.allegro.pl/show_user_auctions.php?uid=338173
groszek
Guest
Fri Dec 07, 2007 10:49 pm
BartekK wrote:
Quote:
Może ktoś zna taki program? Lub chciałby napisać (również za $)
poszukaj sysinternals portmonitor, ma wszystko czego potrzebujesz
Dariusz Zolna
Guest
Fri Dec 07, 2007 11:29 pm
groszek pisze:
Quote:
poszukaj sysinternals portmonitor, ma wszystko czego potrzebujesz
Tak? A od kiedy obsługuje RS232?
Dariusz Żołna
LukaszS
Guest
Sat Dec 08, 2007 11:55 am
W pracy (większość czasu ślęczę nad RS-232) używam tego urządzenia:
http://www.yuko.com.pl/vt24.html
plus programik napisany przez kolegę z pracy do takich właśnie celów:
www.hobbyarea.pl/files/comtest.zip
Pod Windows, tak, jak p. Andrzej napisał nie masz zbyt dokładnego pomiaru czasu
z powodu wielowątkowości. Jesli chodzi o czysto softwareowe rozwiązania, to
bawiłem się kiedyś portmonitorem Sysinternals-a. Wydał się niezły, ale się nie
zagłębiałem.
BartekK
Guest
Sat Dec 08, 2007 1:14 pm
LukaszS pisze:
Quote:
ver1.0 Ledy 2kolorowe 2nóżkowe (zielone/czerwone zależnie od
polaryzacji) z opornikiem ~1k do każdej z linii portu - widać stan, brak
podłączenia danego sygnalu itp. Wszystko mieści się w przejściówce
DB9m-DB9f 1=1 więc można podłączyć praktycznie wszędzie jako przelotka
ver2.0 większa obudowa, ledy niebieskie osobno na stan 0 (+5 do +12v) i
1 (-5 do -12v), bo pojedyńcze peaki/bity/bajty ciężko było zobaczyć na
jednym ledzie (nie było widać szybkiej zmiany koloru). połączenie 220ohm
+ 1kohm (i równolegle do niego kondensator 470nF smd) - stan stabilny
daje słabe świecenie leda, szybkie impulsy dają niezłe blyski.
ver3.0 najmądrzejsza, bo z prockiem, który mierzy najmniejszą szerokość
stanu 0 i/lub 1 na liniach RxD i Txd, czyli szerokość 1 bitu, z czego
oblicza prędkość transmisji (przy ustawieniu ilości bitów
stopu/startu/parzystosci i bitów w bajcie, ale zawsze lepsze to niż nic
nie wiedzieć lub sledzić z oscyloskopem), w dodatku obserwuje linie
cts/rts dsr/dtr i wyswietla czy zmiany rxd/txd zaleza od stanu tych
linii (czy jest sprzetowa kontrola przeplywu). Niestety ciągle nie mam
czasu skończyć softu, na razie faza alfa ;)
Quote:
plus programik napisany przez kolegę z pracy do takich właśnie celów:
www.hobbyarea.pl/files/comtest.zip
Jako pojedynczy terminal - proste a skuteczne, aczkolwiek ja używam "
terminal v1.9b by Br@y++ " - obsługuje com1-7, custom baudrate, troszke
więcej konfiguracji
http://www.hw-group.com/download/utils/bray_termimal.zip
--
| Bartlomiej Kuzniewski
| sibi@drut.org GG:23319 tel +48 696455098
http://drut.org/
|
http://www.allegro.pl/show_user_auctions.php?uid=338173
LukaszS
Guest
Sat Dec 08, 2007 1:59 pm
Quote:
Fajne, już coś takiego sobie dawno majstrowałem:
Ja byłem za leniwy :)
Quote:
Fajny, fajny. Widać stan sygnałów, ale jak w nim wysyłać ciąg bajtów, a nie
znaków?
Chodzi mi o coś takiego, jak w moim:
\1B\FF\Dupa wolowa\0D
Jeśli się da, to ciekawa alternatywa do mojego.
Natomiast jeśli chodzi o podglądanie tego, co wysłae i odebrane, to chodzi mi po
głowie taka przeróbka, żeby w zależności od tego, czy jest to bajt wysyłany, czy
odbierany odpowiednio ustawiać jakiś rzadki sygnał (np. RI). Odpowiednia
przeróbka aplikacji i wówczas można byłoby rozdzielić wizualnie to co wysłane od
tego, co odebrane. Choćby zaznaczając innym kolorem.
BartekK
Guest
Sat Dec 08, 2007 2:02 pm
LukaszS pisze:
Quote:
terminal v1.9b by Br@y++ " - obsługuje com1-7, custom baudrate,
troszke więcej konfiguracji
http://www.hw-group.com/download/utils/bray_termimal.zip
Fajny, fajny. Widać stan sygnałów, ale jak w nim wysyłać ciąg bajtów, a
nie znaków?
Chodzi mi o coś takiego, jak w moim:
\1B\FF\Dupa wolowa\0D
Jeśli się da, to ciekawa alternatywa do mojego.
W nim sie wysyla takie rzeczy jako $1B$FF

Quote:
Natomiast jeśli chodzi o podglądanie tego, co wysłae i odebrane, to
chodzi mi po głowie taka przeróbka, żeby w zależności od tego, czy jest
to bajt wysyłany, czy odbierany odpowiednio ustawiać jakiś rzadki sygnał
(np. RI). Odpowiednia przeróbka aplikacji i wówczas można byłoby
rozdzielić wizualnie to co wysłane od tego, co odebrane. Choćby
zaznaczając innym kolorem.
A co gdy sygnaly na RxD i Txd lecą równocześnie? Nikt nie mówi, że nie
może być duplexu...
--
| Bartlomiej Kuzniewski
| sibi@drut.org GG:23319 tel +48 696455098
http://drut.org/
|
http://www.allegro.pl/show_user_auctions.php?uid=338173
Goto page 1, 2 Next