-
11. Data: 2015-03-29 21:35:07
Temat: Re: przestawiona kolejność znaków odebranych z portu szeregowego
Od: "J.F." <j...@p...onet.pl>
Dnia Sat, 28 Mar 2015 17:16:24 +0100, Jakub Rakus napisał(a):
> Mam robocika, którego mózgiem jest FPGA, wysyłam z niego dane do kompa
> UARTem. Robot wysyła paczki o rozmiarze 32 bajtów z prędkością 115200.
> Na chwilę obecną idzie to po kablu: FPGA (UART 3.3V) -> konwerter
> poziomów 3.3/5V -> PL2303 -> USB. Na kompie mam prosty programik w C,
> który odbiera dane z ttyUSB, przelicza pomiary i zapisuje do pliku
> tekstowego. Do tej pory robot wysyłał dane 5 razy na sekundę i wszystko
> było cacy, ale chwilowo potrzebuje zobaczyć szybkie zmiany i zwiększyłem
> częstotliwość wysyłania do 100Hz. Dane ładnie sobie spływają, ale
> zauważyłem, że co kilkadziesiąt-kilkaset ramek jest jakiś kwas. Po
> obejrzeniu surowych danych odczytanych z ttyUSB okazuje się, że w
> błędnych ramkach jeden bajt zmienia swoje położenie, jakby coś się
> gdzieś buforowało i nagle wypluwało później.
> tak, że FPGA wysyła ramkę powiedzmy:
> 0 1 2 3 4 5 6 7 8 9,
> ale po jej odebraniu robi się:
> 0 1 2 7 3 4 5 6 8 9
> Czyli w tym przypadku bajt wysłany jako 7 nagle znalazł się między
> odebranymi 2 a 3.
> O co tu może chodzić?
No coz, jakies bledne realizacje fifo moze by i potrafily cos takiego
zrobic, ale ... a nie jest to tak, ze wiele bajtow wypada z
transmisji? odbierasz 012 z jednej ramki, 7 z drugiej, 345689 z
trzeciej ?
Jeszcze mozliwa drobna niezgodnosc zegarow i odbiornik gubi bity ..
J.
-
12. Data: 2015-03-29 22:45:50
Temat: Re: przestawiona kolejność znaków odebranych z portu szeregowego
Od: Marek <f...@f...com>
On Sun, 29 Mar 2015 20:30:20 +0200, Jakub Rakus <s...@o...pl>
wrote:
> Po przyjrzeniu się dokładnie scalakowi stwierdzam, że to chyba
jednak
> nie jest oryginał. Mam takiego gotowca z ebaya wciskanego w usb z
> wyprowadzonymi goldpinami, na scalaku PL2303HX, jak się zajrzy na
stronę
> Prolifica i w noty to wychodzi, że to rewizja A, o której
ostrzegają, że
> jest dużo podróbek. No i ta moje też chyba jest oszukana bo ma
jakiś
> dziwny kod daty produkcji, niezgodny z wzorcem zamieszczonym w
dataszicie.
> Na razie robię próby na przejściówce RS232/USB z układem HL340 i
> wygląda, że teraz jest dobrze, nie zauważam poprzestawianych ramek.
> Chyba jednak trzeba będzie tego PL przelutować na oryginała.
Moje podróby mają oznaczenia AS8303.
Tutaj opisują inne możliwe oznaczenia podróbek pll2303:
http://sparcher.blogspot.com/2012/11/some-notes-abou
t-serial-ports-usb-to.html
--
Marek
-
13. Data: 2015-03-30 08:22:01
Temat: Re: przestawiona kolejność znaków odebranych z portu szeregowego
Od: MiSter <U...@w...pl>
> Jeszcze mozliwa drobna niezgodnosc zegarow i odbiornik gubi bity ..
No właśnie, ile w tym FPGA masz domen zegarowych?
MiSter
-
14. Data: 2015-03-30 21:47:21
Temat: Re: przestawiona kolejność znaków odebranych z portu szeregowego
Od: Jakub Rakus <s...@o...pl>
On 29.03.2015 21:35, J.F. wrote:
>
> No coz, jakies bledne realizacje fifo moze by i potrafily cos takiego
> zrobic, ale ... a nie jest to tak, ze wiele bajtow wypada z
> transmisji? odbierasz 012 z jednej ramki, 7 z drugiej, 345689 z
> trzeciej ?
>
> Jeszcze mozliwa drobna niezgodnosc zegarow i odbiornik gubi bity ..
>
> J.
>
Nie, odbieram każdą paczkę, wiem to gdyż w każdej paczce jest bajt
będący kręcącym się w kółko licznikiem. Jeśli akurat w błędnej paczce
wypadnie, że to bajt licznika zostanie przesunięty to dostaję po prostu
jakąś bzdurę między dwoma wartościami prawidłowymi. Ale jak już
napisałem wyżej - problem rozwiązany, to podróbka PL2303 kaszani sprawę.