RS232 - dziwny błąd

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Polish to

Threaded View
Korzystam z konwertera USB-RS232 do komunikacji FPGA z komputerem.
UBF%ywam algorytmu asynchronicznego z 8 bitami danych, bez bitu
parzystoB6%ci i z jednym bitem stopu.
Gdy przesyB3%am bajt 249 lub 250 czasami zostaje przesB3%any poprawnie, a
czasami odbieram 0.
W przypadku innych liczb bB3%B1d nie wystEA%puje.
Kod po stronie komputera i FPGA jest raczej poprawny.
Co moBF%e byE6% przyczynB1%?
Wadliwy konwerter?

Re: RS232 - dziwny błąd
Quoted text here. Click to load it

    Prędzej niedopasowanie prędkości transmisji do taktowania procesora.
Ramka się rozjeżdża i bufor jest zerowany. Obadaj na wolniejszych pręściach
jak jest ze stabilnością transmisji.


Re: RS232 - dziwny błąd
ZmniejszyB3%em Baud Rate z 9600 do 4800 i dziaB3%a.
DziEA%ki. :)


Re: RS232 - dziwny błąd
Użytkownik "pbartosz"  napisał w wiadomości grup
Quoted text here. Click to load it

Ale jak - po obu stronach czy po jednej ?

RS-232 powinien chodzic znacznie szybciej - bledow nie ma i przy
115200, a nowsze to i na 920k potrafia.

J.


Re: RS232 - dziwny błąd
Quoted text here. Click to load it

    Zależy przy jakim zegarze. Różnie z tym bywa, ale najczęściej jest tak,
że na jeden bit danych musi przypadać minimum x cykli procesora. Poza tym do
uzyskania danej częstotliwości RS-232 używane są dzielniki i nie każdy zegar
się do danej częstotliwości nadaje, ale z tym problemy się zaczynają od
okolicy 57600 bodów i wyżej.


Re: RS232 - dziwny błąd
Użytkownik "Marcin Wasilewski"  napisał w wiadomości grup
dyskusyjnych:ja092t$h5e$ snipped-for-privacy@news.onet.pl...
Quoted text here. Click to load it


Ale kolega tam nie ma zadnego procesora :-)

Owszem, poniewaz transmisja jest asynchroniczna i moze sie zaczac w
dowolnym momencie, potrzebny jest szybki zegar, zeby probkowac czesto
linie, zareagowac na poczatek bitu startu szybko, odmierzyc pol bitu,
a potem juz mozna powoli :-)

Quoted text here. Click to load it

Owszem, moze byc problem z wygenerowaniem odpowiedniej czestotliwosci.
Ale to nie tylko przy dwoch kodach bedzie sie mylilo.

J.




Re: RS232 - dziwny błąd
Dnia Tue, 15 Nov 2011 22:32:29 +0100, Marcin Wasilewski napisał(a):
Quoted text here. Click to load it

Akurat 250 (FA) czy 249 (F9) maja duzo 1 i tak sie nie powinno zdarzac.
No chyba ze tak sie objawia "frame error".

Sprawdzilbym jeszcze inne wartosci ... ale rzecz warta podlaczenia
oscyloskopu i sprawdzenia.

J.



Re: RS232 - dziwny błąd
Quoted text here. Click to load it

Odbierasz 0x00 bez bledow (po stronie PC), czy oprocz znaku w buforze
masz tez jakies flagi bledow?

Pierwszy test - wysylac z dwoma bitami stopu.

--
Jerry1111

Re: RS232 - dziwny błąd
Quoted text here. Click to load it

Jednak bB3%B1d ciB1%gle wystEA%puje.
PrzetestowaB3%em czEA%stotliwoB6%ci od 110 bps do 9600 bps.
Bajty przesyB3%am z komputera na pB3%ytkEA%. CzEA%stotliwoB6%E6 na pB3%ytc=
e jest 16
razy wiEA%ksza.
Dwa bity stopy nic nie dajB1%

Re: RS232 - dziwny błąd

Quoted text here. Click to load it
    Tzn? Jakim zegarem poganiasz ten procek?

    W jaki sposób dokonujesz odczytu bufora? Przerwania, w pętli?
Jeśli w pętli, to używasz w ogóle przerwań do innych celów?


Re: RS232 - dziwny błąd
Quoted text here. Click to load it

Znaczy w VHDL trzeba szukac. Jak mocno jestes pewny ze nie ma tam
nigdzie bledu?

Inny test - jak masz drugi konwerter to, zebys wyeliminowal wszystko co
mozliwer, podlacz go do wyjscia RX MAX232 ktory jest po stronie FPGA i
wsadz to na innego COMa. Jesli bedzie OK, to znaczy ze problem lezy
pomiedzy tym pinem i miejscem ktore Ci wyswietla HEX.


--
Jerry1111

Re: RS232 - dziwny błąd
ZrobiB3%em kilka testF3%w i sytuacja wyglB1%da nastEA%pujB1%co:
- w komunikacji PC->FPGA z uBF%yciem portu RS232 w komputerze
stacjonarnym bB3%B1d nie wystEA%puje,
- bB3%B1d przy przesyB3%aniu PC->FPGA przez konwerter objawia siEA% tym, =
BF%e
czasami
zostaje wysB3%ana! wartoB6%E6 0 zamiast 249 lub 250 - bB3%B1d jest po str=
onie
wysyB3%ajB1%cej,
- na innym komputerze i z innym sterownikiem konwertera bB3%B1d nadal
wystEA%puje.
StB1%d wnioskujEA%, BF%e konwerter jest wadliwy.

ZauwaBF%yB3%em jeszcze, BF%e na drugim komputerze, wysyB3%anie danych z PC =
nie
dziaB3%aB3%o (pojawiaB3% siEA% falstart lub framing error), jeB6%li pomiEA%
dzy
kolejnymi wywoB3%aniami funkcji WriteFile nie byB3%o odpowiednio dB3%ugiej
przerwy (musiaB3% byE6% np. Sleep(5)). W pierwszym komputerze ten problem
nie wystEA%puje.

Jutro postaram siEA% sprawdziE6% inny konwerter.

Re: RS232 - dziwny błąd
W dniu 16.11.2011 23:36, pbartosz pisze:
Quoted text here. Click to load it
Sprawdzałeś analizatorem stanów logicznych, że wiesz, ze została wysłana?

Quoted text here. Click to load it
Wszystkie inne bajty są ok? Robiłeś prosty test polegający na echo po
stronie FPGA i sprawdzaniu jak często to co wraca jest różne od tego co
wychodzi?

Quoted text here. Click to load it
Ja bym obstawiał na problem FPGA - np z synchronizowaniem zegara.

Skoro masz 16 razy większą częstotliwość to "off by one error" mógłby
powodować przesunięcie ponad pół bajtu. W skrajnej sytuacji
potraktowanie bitu stopu jako kolejnego bitu startu.

--
Pozdrawiam
Michoo

Re: RS232 - dziwny błąd
W dniu 2011-11-15 22:16, pbartosz pisze:
Quoted text here. Click to load it

Oscyloskop w łapę i sprawdź czasy trwania bitów i poziomy napięć między
FPGA a konwerterem USB.

Re: RS232 - dziwny błąd

Quoted text here. Click to load it

Powiem, jak ja uruchamiałem swoje pierwsze packet-radio.
Kupiłem modem, wg SP5MXH, zestawiłem układ, odbiera, próbuję się łączyć, ale
adresat nie odpowiada. Poproszeni o podpowiedź koledzy zajmujący się
tematyką po zademonstrowaniu im sygnału (jedna z pierwszych rzeczy,
sprawdzić co i jak wychodzi) mówili, że sygna wygląda na zawierający
nienaturalnie dużo wysokich tonów. Jako, że kluczowanie jest sygnałem TTL
przez transoptory (dlatego bezpieczne dla C64) galwanicznie izolujące
komputer od radia, to pomyślałem, że coś musi zniekształcać przebieg.
Szczęśliwie, dysponowałem oscyloskopem i bingo, Sygnał zamiast być
prostokątny, przypominał piłę ze stępionymi zębami. Powodem kłopotu był
kondensator blokujący linię kluczowania 0/1, postawienie stanu 1 odbywało
się prawidłowo, ale powrót do zera tragicznie, zamiast poprawnego prostokąta
jakbym pilnikiem ściął, przez to modem kluczował generator w złym momencie i
odbiorca głupiał - zero pojawiao się po rozładowaniu kondensatora, klucz
dając zero pozostawał w stanie izolacji i kondensator rozładowywał się przez
linię.
Usunąłem kondensator i ruszyło jak z kopyta, przekazałem uwagi
konstruktorowi modemu, co się działo, co zbadałem i jak rozwiązałem.

Czemu o tym piszę? Może tam podobny problem, co u mnie - doszedłem do źródła
i załatałem problem...
Kondensator, pojemności pasożytnicze? I przebieg zniekształcony na tyle, że
się chrzani?

--
Alanné mba yi woma... wé :) (...)
Né ma ka ni kaso, Né ma pané ka, (...)
We've slightly trimmed the long signature. Click to see the full one.
Re: RS232 - dziwny błąd
Wg Twojego przypadku przeklamana bylaby cala transmisja.
Watkotworca ma inne objawy.

Re: RS232 - dziwny błąd

Quoted text here. Click to load it

Przepraszam Jacku, komu odpisujesz? Ani nie zaznaczyłeś komu, ani nie
zacytowałeś, a raczej mało kto ma "wróżka" w rubryce zawód wpisane. (a
przepraszam, po "references" szukać nie będę, nie mam na to czasu ani chęci)
Domyśliłem się jedynie, że chodzi o mnie. W takim razie odpowiem, choć nie
powinienem, nie mając pewności, że dotyczy to mnie.

Skoro są problemy z transmisją, pierwsze co bym zrobił, to sprawdził, czy
przebieg jest prawidłowy, niezależnie, jaki to problem. Jak ma być dokładnie
sprawdzone, to nawet mało prawdopodobne "opcje". Zniekształcenie przebiegu
może być tak minimalne, że zwykle idzie, ale coś czasem kichnie i nie
pójdzie, zaś, gdy transmisja nie jest zbyt dobrze zabezpieczona (np. jedynie
zwykła suma CRC, czy wręcz bajt modulo, lub parzystości), łatwo może ulec
przekłamaniu zarówno blok danych, jak i bajt(y) kontrolny(-e). Kilkakrotnie
zdarzyło mi sięna Packet-Radio już ze sporawnym przebiegiem, ale za to
zaszumionym sygnałem, zakłócenie spowodowało przekłamanie pakietu i CRC tak,
że kontrola to puściła. Akurat wiem, co dokładnie miało przyjść,a jeden znak
jednak był inny. O tym, że nadawca wysyłał pakiet prawidłowo, wiedziałem z
podglądu - były pewne problemy - za słaby sygnał i trochę powtórek. Jedna
okazała się błędna...
W momencie, gdy jest to np. komenda coś sterująca, to może ją źle wykonać,
albo w ogóle pójść w maliny.
Dlatego opisałem swój przypadek ze zniekształconym przebiegiem, aby kolega z
kłopotem sprawdził też pod tym kątem.

--
Alanné mba yi woma... wé :) (...)
Né ma ka ni kaso, Né ma pané ka, (...)
We've slightly trimmed the long signature. Click to see the full one.
Re: RS232 - dziwny błąd
Quoted text here. Click to load it

Przepraszam, że się wtrącę, ale skoro jest References, to IMO nie ma dużego
problemu, bo każdy sensowny czytnik wątkuje. Oczywiście z cytatem byłoby
kulturalniej.

--
Grzegorz Niemirowski
http://www.grzegorz.net /
We've slightly trimmed the long signature. Click to see the full one.
Re: RS232 - dziwny błąd
In the darkest hour on Wed, 16 Nov 2011 23:32:47 +0100,
Quoted text here. Click to load it
duĹźego
Quoted text here. Click to load it

Chyba, że się wraca do wątku później i przeczytanego cytowanego artykułu
nie widać (jak to robi np. slrn).

--
[ Artur M. Piwko : Pipen : AMP29-RIPE : RLU:100918 : From == Trap! : SIG:218B ]
[ 08:39:00 user up 12989 days, 20:34,  1 user, load average: 0.00, 0.18, 0.19 ]

We've slightly trimmed the long signature. Click to see the full one.
Re: RS232 - dziwny błąd

Quoted text here. Click to load it

Dobrze gadasz, masz u mnie browara :)
Tak, właśnie, nie miałem pewności, czy to była odpowiedź na moje, czy na
czyjeś w odpowiedzi na moje, czy wręcz, czy bralem w tym udział, czy nie, a
wątek był tylko podobny do tego, co pisałem wcześniej. Zapamiętałem jednak
co poruszyłem - i po tym doszedłem, że to do mojej wypowiedzi było.
Bardzo są kłopotliwe posty bez zaznaczenia kto komu - bo także innym nie
daje to szansy szybkiego zorientowania się w ciągu dyskusji.

--
AlannĂŠ mba yi woma... wĂŠ :) (...)
NĂŠ ma ka ni kaso, NĂŠ ma panĂŠ ka, (...)
We've slightly trimmed the long signature. Click to see the full one.

Site Timeline