Goto page Previous 1, 2
Grzegorz Kurczyk
Guest
Thu May 28, 2009 12:34 pm
Użytkownik sundayman napisał:
Quote:
No to jest typowy konwerterek made in china , wyswietla mi sie toto jako
Profilic USB to serial bridge
i oczywiscie uzywam sterownika dostarczonego z tym dynksem...
Sterownik tak czy siak jest potrzebny. Problem w tym, że soft pewnie
gada z tym konwerterkiem jak ze zwykłym RS-em przez systemowe urządzenie
COM1:
Quote:
No też mam pewne podejrzenia co do tego, czy to się wyrabia... Ale to jak by
to obejść ? Bo przecież nie będę przerabiał softu...
Jedyne pewne wyjście to sprzętowy RS232. Co to za komputer ? Stacjonarny
- to dorzucić kartę PCI z RS-em. Jak notebook to są sprzetowe RS-y
PCMCIA lub Express Card.
Pozdrawiam
Grzegorz
J.F.
Guest
Thu May 28, 2009 12:50 pm
Użytkownik "Grzegorz Kurczyk" <grzegorz.usun.to@control.slupsk.pl>
napisał w wiadomości news:gvlamu$shu$1@nemesis.news.neostrada.pl...
Quote:
Jaki to konwerter USB<->RS232 i w jaki sposób obsługiwany ? Tzn.
Własne procedury korzystające z biblioteki .dll konwertera czy
poprzez urządzenie COM WinAPI ? Bo jeśli przez COM, to te 250kbps
jest mocno teoretyczne. Pojedyncze bajty są nadawane z zadaną
prędkością bitową tyle, że bajty nie lecą ciurkiem a z dość
pokaźnymi przerwami. Z tego co pamiętam, jak FTDI obsługiwałem
przez COM to wysłanie dłuższego bloku danych z "prędkością"
250kbps trwało mniej więcej tyle samo co przy 9600bps. Dopiero
odwołując się bezpośrednio do biblioteki .dll można było uzyskać
rzeczywiste 250kbps w obrębie całego wysyłanego bloku.
Komunikacja z urzadzeniem USB nastepuje co milisekunde, wiec jesli
wysylales po 1 znaku to nie dziwne.
Tu trzeba blokami po co najmniej 25 znakow .. choc Windows chyba i
tak powinien to jakos sam gromadzic ..
J.
Grzegorz Kurczyk
Guest
Thu May 28, 2009 1:27 pm
Użytkownik J.F. napisał:
Quote:
Komunikacja z urzadzeniem USB nastepuje co milisekunde, wiec jesli
wysylales po 1 znaku to nie dziwne.
Tzn. w jakim sensie po jednym znaku ?
Pozdrawiam
Grzegorz
sundayman
Guest
Thu May 28, 2009 2:11 pm
Komputer to normalny stacjonarny PC.
Zrobiłem taką zmianę. Podłączyłem ten "oscylosko na LPT

" bezpośrednio do
portu RXD procesora PIC17C42 modułu ściemniaczy. Poprzednie rozwiązanie było
o tyle gorsze, że po pierwsze sygnały szły przez ten nieszcześliwy konwerter
RS485<>Rs232 z transoptorami, które chyba nie wyrabiają, a do tego - nie
wiadomo co jest czym na magistrali - bo przecież moduły nadają - raz jeden
raz drugi, i na tym RS485 wszystko jest wymieszane...
A tu mam tylko to, co trafia bespośrednio do procesora z układu SP483 czyli
z magistrali.
I wygląda to czytelniej chyba
http://lh5.ggpht.com/_GKMox-Hkle0/Sh6K-u98hRI/AAAAAAAAAK0/GZLnLxRs4is/s912/RXD.jpg
Po pierwsze widać, że odległość od opadającego zbocza każdego bitu startu to
ok 74 - 76 us. Zaznaczyłem to czerwonymi markerami. Tak więc na rysunku mamy
chyba 8 bajtów ( jeden ma ciut więcej niż te 74 us). Sama ramka ma w
rzeczywistośći nieco mniej - ale pewnie pomiędzy poszczególnym ramkami jest
jakaś przerwa.
Najwęższy impuls ma natomiast średnio 4 us (max 6 us) - ale te różnice to
może wynikają z nierównego próbkowania przez PC.
Czyli, jeśli dobrze rozumiem - to by potwierdzało koncepcję, że to jest
125kb ?
Bo - przypominam - w tym zakresie mamy do wyboru tylko 250kb. 125kb, 62.5kb
No i teraz - żeby sprawdzić, czy to rzeczywiście to, to muszę skombinować
jakiś lepszy RS - czyli jak koledzy wspomnieli - na PCI ?
Czy taka karta z RS pozwoli na ustawienie takiej nietypowej szybkości ?
J.F.
Guest
Thu May 28, 2009 3:10 pm
Użytkownik "sundayman" <sundayman@poczta.onet.pl> napisał w
wiadomości news:gvm2io$gg6$1@news.onet.pl...
Quote:
Zrobiłem taką zmianę. Podłączyłem ten "oscylosko na LPT

"
bezpośrednio do portu RXD procesora PIC17C42 modułu ściemniaczy.
Poprzednie rozwiązanie było o tyle gorsze, że po pierwsze sygnały
szły przez ten nieszcześliwy konwerter RS485<>Rs232 z
transoptorami, które chyba nie wyrabiają
Ja tam nie wiem - widziales krotkie impulsy, wiec chyba wyrabiaja
:-)
Quote:
http://lh5.ggpht.com/_GKMox-Hkle0/Sh6K-u98hRI/AAAAAAAAAK0/GZLnLxRs4is/s912/RXD.jpg
Po pierwsze widać, że odległość od opadającego zbocza każdego
bitu startu to ok 74 - 76 us. Zaznaczyłem to czerwonymi
markerami. Tak więc na rysunku mamy chyba 8 bajtów ( jeden ma
ciut więcej niż te 74 us). Sama ramka ma w rzeczywistośći nieco
mniej - ale pewnie pomiędzy poszczególnym ramkami jest jakaś
przerwa.
Najwęższy impuls ma natomiast średnio 4 us (max 6 us) - ale te
różnice to może wynikają z nierównego próbkowania przez PC.
Czyli, jeśli dobrze rozumiem - to by potwierdzało koncepcję, że
to jest 125kb ?
Bo - przypominam - w tym zakresie mamy do wyboru tylko 250kb.
125kb, 62.5kb
No i jest klopot. 125k to 8us na bit. Czyli 72 lub 80us, a nie 76.
Albo uzyjesz lepszego oscyloskopu, bo ten LPT-towy moze troche
przeklamywac, albo dorzuc 62500Hz czy podobna na drugi kanal w celu
kalibracji, albo tam jest 1.5 bitu stopu, a moze w ogole jeszcze
inaczej - bo przerwy miedzy znakami sa w zasadzie dowolne. Moze
nawet analogowy wystarczy - przyjrzec sie bitom, maja najkrotsze te
8us+/-3% czy wiecej .
IMO - to jest juz czas gdy trzeba zalozyc ze jest 125k, i trzeba
zaczac analizowac transmisje i ewentualnie zliczac bledy, a nie
dalej rozpoznawac problem.
Quote:
No i teraz - żeby sprawdzić, czy to rzeczywiście to, to muszę
skombinować jakiś lepszy RS - czyli jak koledzy wspomnieli - na
PCI ?
Czy taka karta z RS pozwoli na ustawienie takiej nietypowej
szybkości ?
Wiekszosc kart pecetowych bedzie miala z tym problem. Nastawione sa
raczej na wielokrotnosci 300, czyli 115200, co lepsze 230400,
460800 i 921600.
Zeby zmienic predkosc to najwygodniej byloby zmienic kwarca, co z
kolei moze doprowadzic do niedzialania PCI czy USB.
Mozna tez sprobowac zmienic kwarce na tych plytkach .. i liczyc na
to ze nie przeszkodzi im to w dzialaniu, co niestety nie takie
pewne, biorac pod uwage ze maja sterowanie fazowe na 50Hz
realizowac.
Jakis wlasnej produkcji interfejsik by sie tu przydal, moze FT232
da rade ?
J.
sundayman
Guest
Thu May 28, 2009 3:31 pm
Quote:
Ja tam nie wiem - widziales krotkie impulsy, wiec chyba wyrabiaja
No impulsy były, ale nierówne - może po prostu "jak tam zaskoczyło" tak było
:)
Quote:
No i jest klopot. 125k to 8us na bit. Czyli 72 lub 80us, a nie 76.
Nie wiadomo jak ten LPT łapie równo, rzeczywiście, zaraz zapodam na drugą
linię zegar jakiś i będzie wiadomo...
Quote:
IMO - to jest juz czas gdy trzeba zalozyc ze jest 125k, i trzeba zaczac
analizowac transmisje i ewentualnie zliczac bledy, a nie dalej rozpoznawac
problem.
Ano tak. Tyle, że teraz to nie wiem, czy ten pomysł USB<>RS jest ok. Bo niby
jak probowałem wysyłać loopbackiej jakieś testowe dane (typu ciąg
klikudziesięciu znaków) to wszystko było ok.
(mowa o tej chińszczyźnie której używałem).
Ale któryś z kolegów napisał, że przy dłuższych blokach danych może nie
wyrabiać ?
Co FT232 mam tu nawet jakiś interfejs USB<>RS na nim, ktory sobie robiłem
kiedyś - ale czy to się będzie różnić od takiego typowego "chińskiego"
badziewia ?
entroper
Guest
Thu May 28, 2009 5:08 pm
Użytkownik "J.F." <jfox_xnospamx@poczta.onet.pl> napisał w wiadomości
news:gvm60a$q7r$1@news.onet.pl...
Quote:
IMO - to jest juz czas gdy trzeba zalozyc ze jest 125k, i trzeba
zaczac analizowac transmisje i ewentualnie zliczac bledy, a nie
dalej rozpoznawac problem.
Z niepewnym sprzętem nie ma sensu. Poza tym jeśli pomyłka będzie w tę
stronę, że bajt słany będzie krótszy niż oczekiwany - może nie być żadnych
błędów. IMHO lepiej ponad wszelką wątpliwość raz a dobrze ustalić, jaka
jest tam prędkość i ilość bitów (jakimś cyfrowym oscyloskopem /
analizatorem z rozdzielczością przynajmniej 10 razy lepszą od długości
bitu) niż zakładać że jest ileśtam i potem mieć kwiatki w rodzaju
zmieniających się tajemniczo bitów. Jeśli ja słyszę tutaj wartości 4us,
6us, 7us na bit i _żadna_ z tych wartości nie jest do końca pewna, to
chyba przechodzenie teraz do etapu analizy danych jest zabieraniem się od
d.. strony do problemu. Z takim podejściem można miesiącami to analizować
bez wiążących wniosków.
Podsumowując: zmierzyć k..wa długość bitu. Jak nie ma czym zmierzyć,
załatwić sprzęt pomiarowy. Nie zgadywać.
e.
sundayman
Guest
Thu May 28, 2009 5:41 pm
Quote:
Podsumowując: zmierzyć k..wa długość bitu. Jak nie ma czym zmierzyć,
załatwić sprzęt pomiarowy. Nie zgadywać.
No, k..wa racja
Dobra , na razie zapodałem sygnał zegarowy (czyli 16Mhz) podzielone przez
CD4040
I mamy co następuje
http://picasaweb.google.pl/lh/photo/EG1i87i3j8N2Db1Am2DaNA?feat=directlink
Poszczególne kanały :
1. sygnał RXD
2. sygał TXD (czyli jak się moduł odszczekuje

- tu akurat nic nie widać
na tym rysunku, ale generalnie są odpowiedzi
3. sygnał Fosc / 64 = 250kHz (czyli okres 4 uS)
4. sygnał Fosc / 128 = 125 Khz (okres 8 uS)
5. sygnał Fosc / 256 = 62500 kHz (okres 16 uS)
Czyli zaznaczony markerem odcinek ma w rzeczywistośco 8 uS a nie - jak
twierdzi program =9.06 uS
Ponadto widać, jak nierówno program próbkuje - zwłaszcza na 3 kanale się
rzuca w oczy. Ale - wychodzi definitywnie, że bity startu są oddalone od
siebie o 64 uS.
No a jeden bit na RXD ma 4 uS - znaczy takie są najkrótsze "bity" na RXD.
Z tego jednak by wynikało, że transmisja chodzi na 250kb czyli maksymalnej
dla tego procesora, dobrze rozumiem ?
Znaczy tak (start + 8 bitów + stop) = 40us + 24 us pauza = 64 us ? To by się
jakby zgadzało, bo z tego wynika że w ciągu przynajmniej 24uS przed bitem
startu nie mają prawa się zadne dane pojawić - i faktycznie tak zasadniczo
jest - chociaż trafiłem na jeden wyjątek, ale może to jakiś błąd w
transmisji.
Myślę, że 8 bitów a nie 9 bo parzystość by musiała byc liczona prgoramowo w
tym PICu (ale nawet jakby to było 9 bitów to w sumie niewielka różnica).
Czy dobrze kombinuję ? No, teraz podstawowa sprawa, to jutro poprawię ten
konwerter tak, żeby miał szansę te 250kbit przejąć i się zobaczy...
J.F.
Guest
Thu May 28, 2009 5:48 pm
On Thu, 28 May 2009 18:08:08 +0200, entroper wrote:
Quote:
Użytkownik "J.F." <jfox_xnospamx@poczta.onet.pl> napisał w wiadomości
IMO - to jest juz czas gdy trzeba zalozyc ze jest 125k, i trzeba
zaczac analizowac transmisje i ewentualnie zliczac bledy, a nie
dalej rozpoznawac problem.
Z niepewnym sprzętem nie ma sensu. Poza tym jeśli pomyłka będzie w tę
stronę, że bajt słany będzie krótszy niż oczekiwany - może nie być żadnych
błędów. IMHO lepiej ponad wszelką wątpliwość raz a dobrze ustalić, jaka
jest tam prędkość i ilość bitów (jakimś cyfrowym oscyloskopem [...]
Podsumowując: zmierzyć k..wa długość bitu. Jak nie ma czym zmierzyć,
załatwić sprzęt pomiarowy. Nie zgadywać.
Troche zaufania do techniki :-)
Znasz kwarc, znasz procka, wiesz co wchodzi w gre, obserwacje w
przyblizeniu to potwierdzaja - to trzeba pojsc za ciosem i zabrac za
kolejny etap. Jak cos nie bedzie pasowac to sie cofnie, ale jest spora
szansa ze bedzie pasowac, to po co szukac dziury w calym ? :-)
J.
entroper
Guest
Thu May 28, 2009 7:34 pm
Użytkownik "J.F." <jfox_xnospamx@poczta.onet.pl> napisał w wiadomości
news:mnft1598j4ccuqvtkjroukcsulctas5nqa@4ax.com...
Quote:
Znasz kwarc, znasz procka, wiesz co wchodzi w gre, obserwacje w
przyblizeniu to potwierdzaja - to trzeba pojsc za ciosem i zabrac za
kolejny etap. Jak cos nie bedzie pasowac to sie cofnie, ale jest spora
szansa ze bedzie pasowac, to po co szukac dziury w calym ?
Jak się ma wyniki od 4 do 7us i na 99% zbocza HL i LH nie są odtwarzane
symetrycznie, to moim zdaniem nie ma się o co oprzeć, a przydałoby się np.
wiedzieć, ilu bitów danych się spodziewać. Bo możesz założyć źle, pomiary
wyjdą Ci dobrze a zorientujesz się, jak Ci nagle jakiś bit zacznie w
tajemniczy sposób skakać. I wtedy zagwozdka - nieznany feature sprzętu czy
błąd w założeniach. Jeśli można uniknąć takiej sytuacji należy jej unikać.
IMHO.
e.
entroper
Guest
Thu May 28, 2009 7:50 pm
Użytkownik "sundayman" <sundayman@poczta.onet.pl> napisał w wiadomości
news:gvmerd$hqm$1@news.onet.pl...
Quote:
No a jeden bit na RXD ma 4 uS - znaczy takie są najkrótsze "bity" na
RXD.
Z tego jednak by wynikało, że transmisja chodzi na 250kb czyli
maksymalnej > dla tego procesora, dobrze rozumiem ?
Quote:
Znaczy tak (start + 8 bitów + stop) = 40us + 24 us pauza = 64 us ? To by
się jakby zgadzało, bo z tego wynika że w ciągu przynajmniej 24uS przed
bitem startu nie mają prawa się zadne dane pojawić - i faktycznie tak
zasadniczo jest - chociaż trafiłem na jeden wyjątek, ale może to jakiś
błąd w transmisji.
Wygląda na to, że masz transmisję z takim bitratem jak mówisz a co
ciekawe, pojedyncze bajty są wysyłane z jakiegoś timera (bez buforowania),
stąd te wielkie odstępy do bitu stopu do startu. Temu jednemu wyjątkowi
raczej się przyjrzyj, bo błąd w transmisji to trochę naciągana hipoteza

.
Quote:
Myślę, że 8 bitów a nie 9 bo parzystość by musiała byc liczona
prgoramowo
w tym PICu (ale nawet jakby to było 9 bitów to w sumie niewielka
różnica).
Akurat w PICu jest łatwo zrealizować 9 bitów, więc musisz to wziąć pod
uwagę.
e.
J.F.
Guest
Thu May 28, 2009 9:59 pm
On Thu, 28 May 2009 18:41:18 +0200, sundayman wrote:
Quote:
Podsumowując: zmierzyć k..wa długość bitu. Jak nie ma czym zmierzyć,
załatwić sprzęt pomiarowy. Nie zgadywać.
No, k..wa racja
No to musze jednak przyznac entroperowi racje - mocno przeklamuje ten
digitrace
Quote:
http://picasaweb.google.pl/lh/photo/EG1i87i3j8N2Db1Am2DaNA?feat=directlink
1. sygnał RXD
3. sygnał Fosc / 64 = 250kHz (czyli okres 4 uS)
4. sygnał Fosc / 128 = 125 Khz (okres 8 uS)
5. sygnał Fosc / 256 = 62500 kHz (okres 16 uS)
Ponadto widać, jak nierówno program próbkuje - zwłaszcza na 3 kanale się
rzuca w oczy. Ale - wychodzi definitywnie, że bity startu są oddalone od
siebie o 64 uS.
No a jeden bit na RXD ma 4 uS - znaczy takie są najkrótsze "bity" na RXD.
Czy mozna w nie wierzyc to osobny problem - akurat na dwoch widac ze
sie przy okazji z sygnalem 3 dzieja cuda, cos tam gubi.
Quote:
Znaczy tak (start + 8 bitów + stop) = 40us + 24 us pauza = 64 us ? To by się
jakby zgadzało, bo z tego wynika że w ciągu przynajmniej 24uS przed bitem
startu nie mają prawa się zadne dane pojawić - i faktycznie tak zasadniczo
jest
Troche to dziwne, bo zasadniczo wysyla sie dane czesciej w transmisji
szeregowej, ale moze tak im bylo wygodniej, albo wszystko w jednym
przerwaniu obslugiwane ...
J.
Sundayman
Guest
Fri May 29, 2009 4:23 pm
Z tym 9 bitem to jest tak, co już wspomnialem, że PIC17C42 nie liczy
sprzetowo parzystosci, wiec - musieliby to robicz na piechote. Stad
podejrzewam ze bez parzystosci, no ale pewnosci nie mam. No w kazdym razie
dziekuje kolegom za zaangażowanie

bede po niedzieli dalej walczyl z tym.
I z pewnoscia jeszcze sie odezwe w tej materii...
Zobaczymy, czy mi sie uda to rozgryzc... No i oprocz odczytania transmisji
jeszcze kwestia samej zawartosci

ale to zupelnie inna bajka bedzie...
Dam znac, co mi wyszlo z proby odczytania tych 250kb.
pozdr.
Goto page Previous 1, 2