-
1. Data: 2009-05-27 11:58:31
Temat: poglądanie RS485 ciąg dalszy - dziwny oscylogram...
Od: "sundayman" <s...@p...onet.pl>
Za poradą grupowiczów zmontowałem sobie (duże słowo :) wtyczkę do LPT (nie
mam cyfrowego oscyloskopu), i za pomocą programu Digitrace zacząłem
podglądać co się dzieje
na łączu RS485 (dla przypomnienia - próbuję wyczaić, jaka jest prędkość i
format transmisji pomiędzy modułami pewnego systemu, opartego na PIC17C42 z
zegarem 16Mhz).
No i prawdę mówiąc lekko jestem w polu, bo to co widać, wygląda chyba
dziwnie...
Tutaj można zobaczyć jak toto wygląda :
http://www.savefile.com/projects/808769424
(1 plik to dane z Digitrace, 2 i 3 to zrzut ekranu pokazujący przechwycone
dane).
Patrzę na toto i za cholerę nie widze w tym jakiegoś sensownego formatu typu
bit startu, bity danych, parzystosc, stop... i w dodatku ten pojedynczy
"bit" następujący po całej sekwecji.
Kiedy patrzę na to na oscyloskopie to wygląda podobnie (oscyloskop analogowy
więc trudno złapać, ale ogólnie to samo - czyli nie jest to raczej błąd
"przechwytywania" przez LPT).
USART w PIC17C42 jest do bólu standardowy. Tyle, że parzystość nie jest tam
generowana sprzętowo, co każe domniemywać, że pewnie nie jest uzywana, bo
musiałaby być obliczana
programowo. No ale to mniejsza. Prędkości transmisji też są do obliczenia
(Fosc / (64*(n+1)), gdzie n=0 do n=255.
Czyli max. 250 kbit dla tego kwarcu (16.000.000 / (64*1)) = 250.000
Może ktoś spojrzy i się wypowie, bo już nie wiem...
No nie chce mi się wierzyć, że program jakoś "ręcznie" manipuluje w
transmisji, bo to są dość proste moduły ("centralka" i moduły ściemniaczy do
żarówek).
Żaden kosmos.
Co myślicie ?
-
2. Data: 2009-05-27 12:01:38
Temat: Re: poglądanie RS485 ciąg dalszy - dziwny oscylogram...
Od: "sundayman" <s...@p...onet.pl>
zauważyłem że serwis na którym umieściłem zdjęcia dodaje do rozszerzenia
pliku "htm" nie wiadomo po co...zatem gdyby był po ściągnięci problem z
otworzeniem, trzeba zmienić rozszerzenie na jpg rzecz jasna :)
-
3. Data: 2009-05-27 13:30:44
Temat: Re: poglądanie RS485 ciąg dalszy - dziwny oscylogram...
Od: "entroper" <e...@C...spamerom.p0czta.on3t.pll>
Użytkownik "sundayman" <s...@p...onet.pl> napisał w wiadomości
news:gvj9t1$be9$1@news.onet.pl...
> Tutaj można zobaczyć jak toto wygląda :
> http://www.savefile.com/projects/808769424
Po pierwsze, nie wiem w którym miejscu zdejmujesz ten sygnał, ale wygląda
on jakby odwrotnie. W każdym razie to długie 0 jest lekko bez sensu. Poza
tym wszystko wygląda w miarę normalnie - jak dla mnie to, co zaznaczyłeś
znacznikami to pojedyncza transmisja wartości 0 (na nieznanej liczbie
bitów), przy czym bit stopu wygląda na przedłużony. Prędkości z tego nie
odczytasz, bo jeśli transmisja nie jest automatycznie buforowana, to czas
po bicie stopu może być dowolny. Ilość bitów danych też może być różna. Co
jakiś czas jednak pojawiają się krótciutkie impulsy i to one powiedzą Ci,
jaka jest prędkość transmisji. Musisz znaleźć najkrótszy z tych impulsów i
sprawdzić, czy dłuższe są jego wielokrotnością - z tego od razu wyjdzie
ilość bitów danych.
A serwis, w który to wrzuciłeś... delikatnie mówiąc mocno zniechęca do
zapoznania się z Twoim problemem...
e.
-
4. Data: 2009-05-27 13:42:14
Temat: Re: poglądanie RS485 ciąg dalszy - dziwny oscylogram...
Od: "sundayman" <s...@p...onet.pl>
> A serwis, w który to wrzuciłeś... delikatnie mówiąc mocno zniechęca do
> zapoznania się z Twoim problemem...
No tak, racja, tak na szybko szukałem, przepraszam za niewygodę...poprawię
się na przyszłość :)
Sygnał jest zdejmowany bezpośrednio z pinu 2 (RXD) złącza RS232 tego
konwertera RS485 <> RS232.
Zrobię jeszcze jedną rzecz za chwilę - odwróce polaryzację sygnałów na
Rs485, bo wcześniej mi to nie przyszło...
-
5. Data: 2009-05-27 14:06:01
Temat: Re: poglądanie RS485 ciąg dalszy - dziwny oscylogram...
Od: "sundayman" <s...@p...onet.pl>
No cóż, po odwróceniu polaryzacji odwrócił się po prostu sygnał :) Czyli
teraz tam gdzie była "1" jest "0" i na odwrót...
teraz wygląda tak
http://picasaweb.google.com/lh/photo/e4TDKTBoSw3z31Z
OeJRikw?authkey=Gv1sRgCKygrJDX6Njf8QE&feat=directlin
k
(mam nadzieję, że tutaj będzie lepiej z obrazkami :)
A co do szybkości...hmmm... wychodziłoby, że przy najwyższej dostępnej
szybkości czyli 250kb. to długość "bitu" to 40us. Czyli teoretycznie krótsze
impulsy nie mają prawa się pojawiać. A pojawiają się jak najbardziej - na
przykład 7uS :)
Może coś nie tak z tym konwerterem RS232<>RS485 ?
-
6. Data: 2009-05-27 14:10:06
Temat: Re: poglądanie RS485 ciąg dalszy - dziwny oscylogram...
Od: "J.F." <j...@p...onet.pl>
Użytkownik "sundayman" <s...@p...onet.pl> napisał w
wiadomości news:gvj9t1$be9$1@news.onet.pl...
> Za poradą grupowiczów zmontowałem sobie (duże słowo :) wtyczkę do
> LPT (nie mam cyfrowego oscyloskopu), i za pomocą programu
> Digitrace zacząłem podglądać co się dzieje
> na łączu RS485 (dla przypomnienia - próbuję wyczaić, jaka jest
> prędkość i format transmisji pomiędzy modułami pewnego systemu,
> opartego na PIC17C42 z zegarem 16Mhz).
> No i prawdę mówiąc lekko jestem w polu, bo to co widać, wygląda
> chyba dziwnie...
> http://www.savefile.com/projects/808769424
To co masz na dluzszym okresie sugeruje ze odczyt jest zanegowany -
tzn dolny stan na wykresie odpowiada 1 - bity stopu.
Na zblizeniu - to co zaznaczyles wyglada na jeden znak.
Jakby nadawali 00, ale troche szeroki ten krotki impuls - jakby dwa
bity, wiec moze 80 lub bit parzystosci, lub dwa bity stopu
77.52us na znak, to tak w zaleznosci od ilosci bitow na znak da
bodow:
9 116099
10 128998
11 141898
12 154798
Jesli dobrze odczytales kwarc, to obstawialbym ze predkosc wynosci
125k, choc niewykluczone ze dla kompatybilnosci z pecetem dali 115k
[o ile pic na to pozwala] i 7 bit znaku +start+stop , ewentualnie
160k - i np 8p2.
> Patrzę na toto i za cholerę nie widze w tym jakiegoś sensownego
> formatu typu bit startu, bity danych, parzystosc, stop... i w
> dodatku ten pojedynczy "bit" następujący po całej sekwecji.
FF, choc oczywiscie moze byc inaczej.
> No ale to mniejsza. Prędkości transmisji też są do obliczenia
> (Fosc / (64*(n+1)), gdzie n=0 do n=255.
> Czyli max. 250 kbit dla tego kwarcu (16.000.000 / (64*1)) =
> 250.000
no to jednak 125k ..
> No nie chce mi się wierzyć, że program jakoś "ręcznie" manipuluje
> w transmisji, bo to są dość proste moduły ("centralka" i moduły
> ściemniaczy do żarówek). Żaden kosmos.
A nie jest to przypadkiem DMX ?
J.
-
7. Data: 2009-05-27 14:17:12
Temat: Re: poglądanie RS485 ciąg dalszy - dziwny oscylogram...
Od: "J.F." <j...@p...onet.pl>
Użytkownik "sundayman" <s...@p...onet.pl> napisał w
wiadomości news:gvjhca$212$1@news.onet.pl...
> No cóż, po odwróceniu polaryzacji odwrócił się po prostu sygnał
> :) Czyli teraz tam gdzie była "1" jest "0" i na odwrót...
>
> A co do szybkości...hmmm... wychodziłoby, że przy najwyższej
> dostępnej szybkości czyli 250kb. to długość "bitu" to 40us. Czyli
> teoretycznie krótsze impulsy nie mają prawa się pojawiać. A
> pojawiają się jak najbardziej - na przykład 7uS :)
>
> Może coś nie tak z tym konwerterem RS232<>RS485 ?
Podziel jeszcze raz, ale tym razem skorzystaj z kalkulatora :-)
J.
-
8. Data: 2009-05-27 14:19:21
Temat: Re: poglądanie RS485 ciąg dalszy - dziwny oscylogram...
Od: "sundayman" <s...@p...onet.pl>
Kwarc ma na pewno 16 MHz, procesor jest wersji 20MHz, więc się zgadza.
Odwróciłem polaryzacją na RS485 i oczywiście się poziomy odwróciły - jednak
teraz na konwerterze cały czas świeci mi się led RXD - czyli na RS485 jest
jakby cały czas "1" - to jest ok ? Wydaje mi się to dziwne...
Całość nie jest przewidziana do połączenia z PC, stąd mogą bez problemu
używać nietypowego 125kb.
A czy to nie jest DMX ? Wątpię - syste, wygląda tak : centralka + panel
dotykowy LCD + moduły ściemniaczy (bardzo proste : PIC + 5 triaków
sterowanych PWM) + moduły przekaźników (jeszcze prostsze : pic + kilka
przekaźników). Wszystko to połączone tym RS485. I koniec. Oprócz tych
modułów nie jest przewidziane podłączanie czegokolwiek "obcego".
-
9. Data: 2009-05-27 16:33:25
Temat: Re: poglądanie RS485 ciąg dalszy - dziwny oscylogram...
Od: "sundayman" <s...@p...onet.pl>
a propos długości impulsów a szybkości, no faktycznie wygłupiłem się
chyba...
Bom po prostu podzielił 1 / 250000 :)
Tak, że tegooo
Co do ilości bitów - w grę wchodzi chyba tylko 8 albo 9 - wg. datasheeta
PIC17C42.
(tu link
http://www.alldatasheet.com/datasheet-pdf/pdf/74981/
MICROCHIP/PIC17C42.html)
I chyba tylko 1 bit stopu.
Ale ale, jest też taki problem, w interfejsie użyłem transoptorów CNY17. I
to może być wąskie gardło, bo one przy 250 kHz chyba już wysiadają...
Za datasheetem : czas włączenia 3 us, czas wyłaczenia 18 us (czasy minimalne
!). zatem obawiam się że cały ten konwerter można o kant d... rozbić.
Bo przy 250 kb czasy dla poszczególnych bitów są poniżej 10 us chyba jesli
tym razem dobrze policzyłem...
Ok, jutro spróbuję zrobić to bez transoptorów zatem i zobaczę co z tego
wyjdzie.
-
10. Data: 2009-05-27 16:45:33
Temat: Re: pogl?danie RS485 ci?g dalszy - dziwny oscylogram...
Od: Michał Baszyński <m...@g...ze.ta.pl>
sundayman wrote:
> Ale ale, jest te? taki problem, w interfejsie u?y?em transoptorów CNY17.
zapomnij
W porywach niektóre pracowały mi na RS-232 na 115,2kb/s, ale to tylko
niektóre ..
--
Pozdr.
Michał