eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika › Opóźnienie w transmisji USB
Ilość wypowiedzi w tym wątku: 36

  • 11. Data: 2015-03-29 13:14:02
    Temat: Re: Opóźnienie w transmisji USB
    Od: Adam Górski <gorskiamalpawpkropkapeel_@xx>

    On 2015-03-28 08:40, s...@g...com wrote:
    > W dniu sobota, 28 marca 2015 07:45:19 UTC+1 użytkownik s...@g...com napisał:
    >> W dniu piątek, 27 marca 2015 16:30:06 UTC+1 użytkownik Adam Górski napisał:
    >>> On 2015-03-21 19:32, s...@g...com wrote:
    >>>> W dniu piątek, 20 marca 2015 14:19:06 UTC+1 użytkownik J.F. napisał:
    >>>>
    >>>>
    >>>>>
    >>>>> A predko tam ?
    >>>>> Bo z tego co piszesz to gdzies po drodze mogloby byc 30-80MB
    >>>>> zmagazynowane - a to na pewno nie FT2232, i pewnie nie w FPGA, tylko
    >>>>> gdzies w komputerze.
    >>>>
    >>>> No może nie aż tyle, bo cały mój "frame" zbierania danych to zaledwie 16KB.
    >>>> Z tych zaledwie 16KB muszę zrobić kupę postprocessingu i wyświetlić to jako
    wykres, obraz 2D, cokolwiek... Natomiast układ akwizycji może śmigać na 20MHz, ale
    cały "obraz" akwizycji mogę odebrać zgodnie z portokołem USB (1ms scheduling).
    Podejrzewam, że drajwery FTDI buforują dane na f=60MHz z sobie jedynie znanych
    powodów.
    >>>>
    >>>>>
    >>>>>
    >>>>> Na konwerterze RS-USB mozna sie chyba spodziewac opoznien o pare ms -
    >>>>> raz, ze jesli dobrze udaja 16550, to staraja sie same zbuforowac
    >>>>> troche znakow wejsciowych a nie meczyc systemu przerwaniami, dwa, ze
    >>>>> USB w podstawowym trybie jest przegladane co 1ms ..
    >>>>>
    >>>>
    >>>> A cóż to takiego "tryb podstawowy"? Nie ma nic takiego! Czy ja coś pisałem o
    konwerterze RS-USB? Chyba nie. Protokół USB to nie przerwania! Odpytuje jednak co 1ms
    chęć dostępu do urządzenia/transmisji. Jest to tzw. scheduled protocol, czy jak kto
    woli "planowany". W moim przypadku czas tworzenia kompletnego zestawu danych (16KB),
    to aż 60ms. Dodając do tego 1ms na "dobicie się" do transmisji mamy 61ms, co daje 16
    obrazów/s. Czas postprocessingu i samej transmisji jest pomijalny na byle jakim
    pececie. I faktycznie tak jest! Ale owego "przesunięcia fazowego" za cholerę nie
    rozumiem... Podejrzewam drajwery FTDI, a z tym już nic nie jestem w stanie
    nakombinować. Chyba trza będzie zastosować inne kostki. Tylko jakie, coby nie mieć
    tej samej checy ?
    >>>>
    >>>>
    >>>>
    >>> Czyli jeśli dobrze rozumiem robiąc np. "ping" PC->device->PC (albo
    >>> device ->PC-> device ) dostajesz odpowiedź mierzoną w sekundach ? No
    >>> to jakieś jaja by były.
    >>>
    >>> Gdybyś tak zechciał zmierzyć czas tego "ping" to coś by się dało
    >>> powiedzieć. Dziwnie 16kB co 60ms i taka latencja ... hm dziwne.
    >>>
    >>
    >> Źle mnie zrozumiałeś. 60ms to nie latencja, lecz czas akwizycji danych. Praw
    fizyki nie zmienię. Natomiast po zakończeniu akwizycji,
    transmisja+postprocessing+wyświetlenie tego na ekranie powinno być szybkie jak
    cholera, coby rozpocząć kolejny cykl akwizycji. I tak w koło Macieju...
    >> Czyli powinienem mieć jakieś 16 obrazów/s (1/60ms). I faktycznie tyle mam!
    >> Problem w tym, że jak warknę do swojego badziewia "Hallo", to owo badziewie czysto
    i wyraźnie mi odpowiada "Hallo", ale z opóźnieniem 1-2s. Ot takie "przesunięcie
    fazowe". Przeczytaj jeszcze raz główny wątek. Przykład panienki z TV chyba najlepiej
    to obrazuje.
    >>
    >
    > Upsss... Chyba jednak mnie dobrze zrozumiałeś. To ja nie załapałem Twojej
    odpowiedzi. Wniosek: po wybudzeniu należy najpierw wypić kawę i dopiero wtedy czytać
    i odpowiadać.
    >
    > Ano masz rację!! To są jaja!! Podejrzewam, że drajwery FTDI są jakie są, buforują
    dane i wypluwają je zgodnie z jakąś tam kolejnością. Albo coś przeoczyłem w
    dokumentacji softwarowej, albo te drajwery są o kant poopy rozbić.
    >
    > Bo cały mój hardware już normalnie "oddycha".
    >
    > Aha!! Ciekawy przykład:
    >
    > 1) Podpinam sygnał wejściowy do mojego badziewia.
    > 2) Na swoim sofcie klikam guzik "START". Pojawia się obraz po 1-2s, ale zasuwa
    dalej z prędkością ok. 16obr./s.
    > 3) Naciskam guzik "STOP" i odpinam sygnał wejściowy. Idę se zrobić kawę...
    > 4) Wracam, naciskam guzik "START" i jeszcze przez 1-2s widzę stare dane wejściowe
    na ekranie.
    >

    Jaja są ale nie powiedziałem że w driverach.

    Buforowanie może być w driverach a może wcale z IC nie jest to wypychane.

    Ale coś mi mówi że gdzieś flush-a brakuje.

    1. Czy za pierwszym razem ( po power up i włączeniu aplikacji )
    występuje ten problem ?
    2. Czy po zakończeniu przesyłania zamykasz w jakiś sposób połączenie ,
    może czekasz aż wszystkie dane dojdą ?
    Bo to trochę wygląda jakbyś przestawał dane wyciągać po stronie PC a po
    stronie device nadal zapychał dane właśnie przez 1-2 s.
    Te wysłane dane same nie znikną. Trzeba by je do odebrać i wywalać.

    Musiałbyś dokładnie opisać jak to działa, tzn mechanizm wznawiania i
    stopowania wysyłania danych.

    Adam



  • 12. Data: 2015-03-31 15:00:31
    Temat: Re: Opóźnienie w transmisji USB
    Od: Adam Górski <gorskiamalpawpkropkapeel_@xx>

    On 2015-03-29 13:14, Adam Górski wrote:
    > On 2015-03-28 08:40, s...@g...com wrote:
    >> W dniu sobota, 28 marca 2015 07:45:19 UTC+1 użytkownik
    >> s...@g...com napisał:
    >>> W dniu piątek, 27 marca 2015 16:30:06 UTC+1 użytkownik Adam Górski
    >>> napisał:
    >>>> On 2015-03-21 19:32, s...@g...com wrote:
    >>>>> W dniu piątek, 20 marca 2015 14:19:06 UTC+1 użytkownik J.F. napisał:
    >>>>>
    >>>>>
    >>>>>>
    >>>>>> A predko tam ?
    >>>>>> Bo z tego co piszesz to gdzies po drodze mogloby byc 30-80MB
    >>>>>> zmagazynowane - a to na pewno nie FT2232, i pewnie nie w FPGA, tylko
    >>>>>> gdzies w komputerze.
    >>>>>
    >>>>> No może nie aż tyle, bo cały mój "frame" zbierania danych to
    >>>>> zaledwie 16KB.
    >>>>> Z tych zaledwie 16KB muszę zrobić kupę postprocessingu i wyświetlić
    >>>>> to jako wykres, obraz 2D, cokolwiek... Natomiast układ akwizycji
    >>>>> może śmigać na 20MHz, ale cały "obraz" akwizycji mogę odebrać
    >>>>> zgodnie z portokołem USB (1ms scheduling). Podejrzewam, że drajwery
    >>>>> FTDI buforują dane na f=60MHz z sobie jedynie znanych powodów.
    >>>>>
    >>>>>>
    >>>>>>
    >>>>>> Na konwerterze RS-USB mozna sie chyba spodziewac opoznien o pare ms -
    >>>>>> raz, ze jesli dobrze udaja 16550, to staraja sie same zbuforowac
    >>>>>> troche znakow wejsciowych a nie meczyc systemu przerwaniami, dwa, ze
    >>>>>> USB w podstawowym trybie jest przegladane co 1ms ..
    >>>>>>
    >>>>>
    >>>>> A cóż to takiego "tryb podstawowy"? Nie ma nic takiego! Czy ja coś
    >>>>> pisałem o konwerterze RS-USB? Chyba nie. Protokół USB to nie
    >>>>> przerwania! Odpytuje jednak co 1ms chęć dostępu do
    >>>>> urządzenia/transmisji. Jest to tzw. scheduled protocol, czy jak kto
    >>>>> woli "planowany". W moim przypadku czas tworzenia kompletnego
    >>>>> zestawu danych (16KB), to aż 60ms. Dodając do tego 1ms na "dobicie
    >>>>> się" do transmisji mamy 61ms, co daje 16 obrazów/s. Czas
    >>>>> postprocessingu i samej transmisji jest pomijalny na byle jakim
    >>>>> pececie. I faktycznie tak jest! Ale owego "przesunięcia fazowego"
    >>>>> za cholerę nie rozumiem... Podejrzewam drajwery FTDI, a z tym już
    >>>>> nic nie jestem w stanie nakombinować. Chyba trza będzie zastosować
    >>>>> inne kostki. Tylko jakie, coby nie mieć tej samej checy ?
    >>>>>
    >>>>>
    >>>>>
    >>>> Czyli jeśli dobrze rozumiem robiąc np. "ping" PC->device->PC (albo
    >>>> device ->PC-> device ) dostajesz odpowiedź mierzoną w sekundach ? No
    >>>> to jakieś jaja by były.
    >>>>
    >>>> Gdybyś tak zechciał zmierzyć czas tego "ping" to coś by się dało
    >>>> powiedzieć. Dziwnie 16kB co 60ms i taka latencja ... hm dziwne.
    >>>>
    >>>
    >>> Źle mnie zrozumiałeś. 60ms to nie latencja, lecz czas akwizycji
    >>> danych. Praw fizyki nie zmienię. Natomiast po zakończeniu akwizycji,
    >>> transmisja+postprocessing+wyświetlenie tego na ekranie powinno być
    >>> szybkie jak cholera, coby rozpocząć kolejny cykl akwizycji. I tak w
    >>> koło Macieju...
    >>> Czyli powinienem mieć jakieś 16 obrazów/s (1/60ms). I faktycznie tyle
    >>> mam!
    >>> Problem w tym, że jak warknę do swojego badziewia "Hallo", to owo
    >>> badziewie czysto i wyraźnie mi odpowiada "Hallo", ale z opóźnieniem
    >>> 1-2s. Ot takie "przesunięcie fazowe". Przeczytaj jeszcze raz główny
    >>> wątek. Przykład panienki z TV chyba najlepiej to obrazuje.
    >>>
    >>
    >> Upsss... Chyba jednak mnie dobrze zrozumiałeś. To ja nie załapałem
    >> Twojej odpowiedzi. Wniosek: po wybudzeniu należy najpierw wypić kawę i
    >> dopiero wtedy czytać i odpowiadać.
    >>
    >> Ano masz rację!! To są jaja!! Podejrzewam, że drajwery FTDI są jakie
    >> są, buforują dane i wypluwają je zgodnie z jakąś tam kolejnością. Albo
    >> coś przeoczyłem w dokumentacji softwarowej, albo te drajwery są o kant
    >> poopy rozbić.
    >>
    >> Bo cały mój hardware już normalnie "oddycha".
    >>
    >> Aha!! Ciekawy przykład:
    >>
    >> 1) Podpinam sygnał wejściowy do mojego badziewia.
    >> 2) Na swoim sofcie klikam guzik "START". Pojawia się obraz po 1-2s,
    >> ale zasuwa dalej z prędkością ok. 16obr./s.
    >> 3) Naciskam guzik "STOP" i odpinam sygnał wejściowy. Idę se zrobić
    >> kawę...
    >> 4) Wracam, naciskam guzik "START" i jeszcze przez 1-2s widzę stare
    >> dane wejściowe na ekranie.
    >>
    >
    > Jaja są ale nie powiedziałem że w driverach.
    >
    > Buforowanie może być w driverach a może wcale z IC nie jest to wypychane.
    >
    > Ale coś mi mówi że gdzieś flush-a brakuje.
    >
    > 1. Czy za pierwszym razem ( po power up i włączeniu aplikacji )
    > występuje ten problem ?
    > 2. Czy po zakończeniu przesyłania zamykasz w jakiś sposób połączenie ,
    > może czekasz aż wszystkie dane dojdą ?
    > Bo to trochę wygląda jakbyś przestawał dane wyciągać po stronie PC a po
    > stronie device nadal zapychał dane właśnie przez 1-2 s.
    > Te wysłane dane same nie znikną. Trzeba by je do odebrać i wywalać.
    >
    > Musiałbyś dokładnie opisać jak to działa, tzn mechanizm wznawiania i
    > stopowania wysyłania danych.
    >
    > Adam
    >
    >

    I ?

    Adam


  • 13. Data: 2015-03-31 17:01:34
    Temat: Re: Opóźnienie w transmisji USB
    Od: s...@g...com

    W dniu niedziela, 29 marca 2015 13:14:04 UTC+2 użytkownik Adam Górski napisał:
    > On 2015-03-28 08:40, s...@g...com wrote:
    > > W dniu sobota, 28 marca 2015 07:45:19 UTC+1 użytkownik s...@g...com napisał:
    > >> W dniu piątek, 27 marca 2015 16:30:06 UTC+1 użytkownik Adam Górski napisał:
    > >>> On 2015-03-21 19:32, s...@g...com wrote:
    > >>>> W dniu piątek, 20 marca 2015 14:19:06 UTC+1 użytkownik J.F. napisał:
    > >>>>
    > >>>>
    > >>>>>
    > >>>>> A predko tam ?
    > >>>>> Bo z tego co piszesz to gdzies po drodze mogloby byc 30-80MB
    > >>>>> zmagazynowane - a to na pewno nie FT2232, i pewnie nie w FPGA, tylko
    > >>>>> gdzies w komputerze.
    > >>>>
    > >>>> No może nie aż tyle, bo cały mój "frame" zbierania danych to zaledwie 16KB.
    > >>>> Z tych zaledwie 16KB muszę zrobić kupę postprocessingu i wyświetlić to jako
    wykres, obraz 2D, cokolwiek... Natomiast układ akwizycji może śmigać na 20MHz, ale
    cały "obraz" akwizycji mogę odebrać zgodnie z portokołem USB (1ms scheduling).
    Podejrzewam, że drajwery FTDI buforują dane na f=60MHz z sobie jedynie znanych
    powodów.
    > >>>>
    > >>>>>
    > >>>>>
    > >>>>> Na konwerterze RS-USB mozna sie chyba spodziewac opoznien o pare ms -
    > >>>>> raz, ze jesli dobrze udaja 16550, to staraja sie same zbuforowac
    > >>>>> troche znakow wejsciowych a nie meczyc systemu przerwaniami, dwa, ze
    > >>>>> USB w podstawowym trybie jest przegladane co 1ms ..
    > >>>>>
    > >>>>
    > >>>> A cóż to takiego "tryb podstawowy"? Nie ma nic takiego! Czy ja coś pisałem o
    konwerterze RS-USB? Chyba nie. Protokół USB to nie przerwania! Odpytuje jednak co 1ms
    chęć dostępu do urządzenia/transmisji. Jest to tzw. scheduled protocol, czy jak kto
    woli "planowany". W moim przypadku czas tworzenia kompletnego zestawu danych (16KB),
    to aż 60ms. Dodając do tego 1ms na "dobicie się" do transmisji mamy 61ms, co daje 16
    obrazów/s. Czas postprocessingu i samej transmisji jest pomijalny na byle jakim
    pececie. I faktycznie tak jest! Ale owego "przesunięcia fazowego" za cholerę nie
    rozumiem... Podejrzewam drajwery FTDI, a z tym już nic nie jestem w stanie
    nakombinować. Chyba trza będzie zastosować inne kostki. Tylko jakie, coby nie mieć
    tej samej checy ?
    > >>>>
    > >>>>
    > >>>>
    > >>> Czyli jeśli dobrze rozumiem robiąc np. "ping" PC->device->PC (albo
    > >>> device ->PC-> device ) dostajesz odpowiedź mierzoną w sekundach ? No
    > >>> to jakieś jaja by były.
    > >>>
    > >>> Gdybyś tak zechciał zmierzyć czas tego "ping" to coś by się dało
    > >>> powiedzieć. Dziwnie 16kB co 60ms i taka latencja ... hm dziwne.
    > >>>
    > >>
    > >> Źle mnie zrozumiałeś. 60ms to nie latencja, lecz czas akwizycji danych. Praw
    fizyki nie zmienię. Natomiast po zakończeniu akwizycji,
    transmisja+postprocessing+wyświetlenie tego na ekranie powinno być szybkie jak
    cholera, coby rozpocząć kolejny cykl akwizycji. I tak w koło Macieju...
    > >> Czyli powinienem mieć jakieś 16 obrazów/s (1/60ms). I faktycznie tyle mam!
    > >> Problem w tym, że jak warknę do swojego badziewia "Hallo", to owo badziewie
    czysto i wyraźnie mi odpowiada "Hallo", ale z opóźnieniem 1-2s. Ot takie
    "przesunięcie fazowe". Przeczytaj jeszcze raz główny wątek. Przykład panienki z TV
    chyba najlepiej to obrazuje.
    > >>
    > >
    > > Upsss... Chyba jednak mnie dobrze zrozumiałeś. To ja nie załapałem Twojej
    odpowiedzi. Wniosek: po wybudzeniu należy najpierw wypić kawę i dopiero wtedy czytać
    i odpowiadać.
    > >
    > > Ano masz rację!! To są jaja!! Podejrzewam, że drajwery FTDI są jakie są,
    buforują dane i wypluwają je zgodnie z jakąś tam kolejnością. Albo coś przeoczyłem w
    dokumentacji softwarowej, albo te drajwery są o kant poopy rozbić.
    > >
    > > Bo cały mój hardware już normalnie "oddycha".
    > >
    > > Aha!! Ciekawy przykład:
    > >
    > > 1) Podpinam sygnał wejściowy do mojego badziewia.
    > > 2) Na swoim sofcie klikam guzik "START". Pojawia się obraz po 1-2s, ale zasuwa
    dalej z prędkością ok. 16obr./s.
    > > 3) Naciskam guzik "STOP" i odpinam sygnał wejściowy. Idę se zrobić kawę...
    > > 4) Wracam, naciskam guzik "START" i jeszcze przez 1-2s widzę stare dane wejściowe
    na ekranie.
    > >
    >
    > Jaja są ale nie powiedziałem że w driverach.
    >
    > Buforowanie może być w driverach a może wcale z IC nie jest to wypychane.
    >
    > Ale coś mi mówi że gdzieś flush-a brakuje.
    >
    > 1. Czy za pierwszym razem ( po power up i włączeniu aplikacji )
    > występuje ten problem ?

    Tak.

    > 2. Czy po zakończeniu przesyłania zamykasz w jakiś sposób połączenie ,
    > może czekasz aż wszystkie dane dojdą ?

    Nie zamykam i na nic nie czekam. Korzystam z funkcji z biblioteki DLL. Wywołuję te
    funkcję i od razu biorę się za obróbkędanych i wyświetlenie rezultatów na ekranie.



    > Bo to trochę wygląda jakbyś przestawał dane wyciągać po stronie PC a po
    > stronie device nadal zapychał dane właśnie przez 1-2 s.

    Niemożliwe, bo po pierwsze zabrakłoby mi pamięci w moim badźewiu, a po drugie dane by
    się tak "skaszaniły" pod względem synchronizacji, że od razu bym to zauważył.

    > Te wysłane dane same nie znikną. Trzeba by je do odebrać i wywalać.
    >
    > Musiałbyś dokładnie opisać jak to działa, tzn mechanizm wznawiania i
    > stopowania wysyłania danych.
    >

    Działa to tak:

    1) Układ akwizycji zbiera dane i zapisuje je do pamięci na FPGA(16KB) przez 60ms.
    2) Odczytuję pamięć funkcją FT_READ(FT_HANDLE,@Buffer,BytesToRead,@BytesRead).
    3) Obrabiam i wyświetlam dane. Trwa to pomijalnie krótko <1ms.
    4) Powrót do pkt.1


  • 14. Data: 2015-03-31 18:40:17
    Temat: Re: Opóźnienie w transmisji USB
    Od: Adam Górski <gorskiamalpawpkropkapeel_@xx>

    On 2015-03-31 17:01, s...@g...com wrote:
    > W dniu niedziela, 29 marca 2015 13:14:04 UTC+2 użytkownik Adam Górski napisał:
    >> On 2015-03-28 08:40, s...@g...com wrote:
    >>> W dniu sobota, 28 marca 2015 07:45:19 UTC+1 użytkownik s...@g...com napisał:
    >>>> W dniu piątek, 27 marca 2015 16:30:06 UTC+1 użytkownik Adam Górski napisał:
    >>>>> On 2015-03-21 19:32, s...@g...com wrote:
    >>>>>> W dniu piątek, 20 marca 2015 14:19:06 UTC+1 użytkownik J.F. napisał:
    >>>>>>
    >>>>>>
    >>>>>>>
    >>>>>>> A predko tam ?
    >>>>>>> Bo z tego co piszesz to gdzies po drodze mogloby byc 30-80MB
    >>>>>>> zmagazynowane - a to na pewno nie FT2232, i pewnie nie w FPGA, tylko
    >>>>>>> gdzies w komputerze.
    >>>>>>
    >>>>>> No może nie aż tyle, bo cały mój "frame" zbierania danych to zaledwie 16KB.
    >>>>>> Z tych zaledwie 16KB muszę zrobić kupę postprocessingu i wyświetlić to jako
    wykres, obraz 2D, cokolwiek... Natomiast układ akwizycji może śmigać na 20MHz, ale
    cały "obraz" akwizycji mogę odebrać zgodnie z portokołem USB (1ms scheduling).
    Podejrzewam, że drajwery FTDI buforują dane na f=60MHz z sobie jedynie znanych
    powodów.
    >>>>>>
    >>>>>>>
    >>>>>>>
    >>>>>>> Na konwerterze RS-USB mozna sie chyba spodziewac opoznien o pare ms -
    >>>>>>> raz, ze jesli dobrze udaja 16550, to staraja sie same zbuforowac
    >>>>>>> troche znakow wejsciowych a nie meczyc systemu przerwaniami, dwa, ze
    >>>>>>> USB w podstawowym trybie jest przegladane co 1ms ..
    >>>>>>>
    >>>>>>
    >>>>>> A cóż to takiego "tryb podstawowy"? Nie ma nic takiego! Czy ja coś pisałem o
    konwerterze RS-USB? Chyba nie. Protokół USB to nie przerwania! Odpytuje jednak co 1ms
    chęć dostępu do urządzenia/transmisji. Jest to tzw. scheduled protocol, czy jak kto
    woli "planowany". W moim przypadku czas tworzenia kompletnego zestawu danych (16KB),
    to aż 60ms. Dodając do tego 1ms na "dobicie się" do transmisji mamy 61ms, co daje 16
    obrazów/s. Czas postprocessingu i samej transmisji jest pomijalny na byle jakim
    pececie. I faktycznie tak jest! Ale owego "przesunięcia fazowego" za cholerę nie
    rozumiem... Podejrzewam drajwery FTDI, a z tym już nic nie jestem w stanie
    nakombinować. Chyba trza będzie zastosować inne kostki. Tylko jakie, coby nie mieć
    tej samej checy ?
    >>>>>>
    >>>>>>
    >>>>>>
    >>>>> Czyli jeśli dobrze rozumiem robiąc np. "ping" PC->device->PC (albo
    >>>>> device ->PC-> device ) dostajesz odpowiedź mierzoną w sekundach ? No
    >>>>> to jakieś jaja by były.
    >>>>>
    >>>>> Gdybyś tak zechciał zmierzyć czas tego "ping" to coś by się dało
    >>>>> powiedzieć. Dziwnie 16kB co 60ms i taka latencja ... hm dziwne.
    >>>>>
    >>>>
    >>>> Źle mnie zrozumiałeś. 60ms to nie latencja, lecz czas akwizycji danych. Praw
    fizyki nie zmienię. Natomiast po zakończeniu akwizycji,
    transmisja+postprocessing+wyświetlenie tego na ekranie powinno być szybkie jak
    cholera, coby rozpocząć kolejny cykl akwizycji. I tak w koło Macieju...
    >>>> Czyli powinienem mieć jakieś 16 obrazów/s (1/60ms). I faktycznie tyle mam!
    >>>> Problem w tym, że jak warknę do swojego badziewia "Hallo", to owo badziewie
    czysto i wyraźnie mi odpowiada "Hallo", ale z opóźnieniem 1-2s. Ot takie
    "przesunięcie fazowe". Przeczytaj jeszcze raz główny wątek. Przykład panienki z TV
    chyba najlepiej to obrazuje.
    >>>>
    >>>
    >>> Upsss... Chyba jednak mnie dobrze zrozumiałeś. To ja nie załapałem Twojej
    odpowiedzi. Wniosek: po wybudzeniu należy najpierw wypić kawę i dopiero wtedy czytać
    i odpowiadać.
    >>>
    >>> Ano masz rację!! To są jaja!! Podejrzewam, że drajwery FTDI są jakie są,
    buforują dane i wypluwają je zgodnie z jakąś tam kolejnością. Albo coś przeoczyłem w
    dokumentacji softwarowej, albo te drajwery są o kant poopy rozbić.
    >>>
    >>> Bo cały mój hardware już normalnie "oddycha".
    >>>
    >>> Aha!! Ciekawy przykład:
    >>>
    >>> 1) Podpinam sygnał wejściowy do mojego badziewia.
    >>> 2) Na swoim sofcie klikam guzik "START". Pojawia się obraz po 1-2s, ale zasuwa
    dalej z prędkością ok. 16obr./s.
    >>> 3) Naciskam guzik "STOP" i odpinam sygnał wejściowy. Idę se zrobić kawę...
    >>> 4) Wracam, naciskam guzik "START" i jeszcze przez 1-2s widzę stare dane wejściowe
    na ekranie.
    >>>
    >>
    >> Jaja są ale nie powiedziałem że w driverach.
    >>
    >> Buforowanie może być w driverach a może wcale z IC nie jest to wypychane.
    >>
    >> Ale coś mi mówi że gdzieś flush-a brakuje.
    >>
    >> 1. Czy za pierwszym razem ( po power up i włączeniu aplikacji )
    >> występuje ten problem ?
    >
    > Tak.
    >
    >> 2. Czy po zakończeniu przesyłania zamykasz w jakiś sposób połączenie ,
    >> może czekasz aż wszystkie dane dojdą ?
    >
    > Nie zamykam i na nic nie czekam. Korzystam z funkcji z biblioteki DLL. Wywołuję te
    funkcję i od razu biorę się za obróbkędanych i wyświetlenie rezultatów na ekranie.
    >
    >
    >
    >> Bo to trochę wygląda jakbyś przestawał dane wyciągać po stronie PC a po
    >> stronie device nadal zapychał dane właśnie przez 1-2 s.
    >
    > Niemożliwe, bo po pierwsze zabrakłoby mi pamięci w moim badźewiu, a po drugie dane
    by się tak "skaszaniły" pod względem synchronizacji, że od razu bym to zauważył.
    >
    >> Te wysłane dane same nie znikną. Trzeba by je do odebrać i wywalać.
    >>
    >> Musiałbyś dokładnie opisać jak to działa, tzn mechanizm wznawiania i
    >> stopowania wysyłania danych.
    >>
    >
    > Działa to tak:
    >
    > 1) Układ akwizycji zbiera dane i zapisuje je do pamięci na FPGA(16KB) przez 60ms.
    > 2) Odczytuję pamięć funkcją FT_READ(FT_HANDLE,@Buffer,BytesToRead,@BytesRead).
    > 3) Obrabiam i wyświetlam dane. Trwa to pomijalnie krótko <1ms.
    > 4) Powrót do pkt.1
    >

    Jaką masz rewizję FT2232H ?

    Adam


  • 15. Data: 2015-03-31 21:19:45
    Temat: Re: Opóźnienie w transmisji USB
    Od: s...@g...com

    W dniu wtorek, 31 marca 2015 18:40:23 UTC+2 użytkownik Adam Górski napisał:

    >
    > Jaką masz rewizję FT2232H ?
    >

    Za cholerę nie odczytam nic ze scalaka. Może jutro rano ktoś z lepszymi gałami da
    radę. Czyżbyś miał jakąś wiedzę tajemną w tym temacie?


  • 16. Data: 2015-04-01 12:02:12
    Temat: Re: Opóźnienie w transmisji USB
    Od: Adam Górski <gorskiamalpawpkropkapeel_@xx>

    On 2015-03-31 21:19, s...@g...com wrote:
    > W dniu wtorek, 31 marca 2015 18:40:23 UTC+2 użytkownik Adam Górski napisał:
    >
    >>
    >> Jaką masz rewizję FT2232H ?
    >>
    >
    > Za cholerę nie odczytam nic ze scalaka. Może jutro rano ktoś z lepszymi gałami da
    radę. Czyżbyś miał jakąś wiedzę tajemną w tym temacie?
    >
    Żadna wiedza tajemna. Rewizja A ma jakieś bliżej nieokreślone problemy z
    FIFO w trybie synchronicznym i czasem gubi bajty. Errata bardzo
    lakonicznie o tym wspomina. Mógłby to być jakiś trop.

    Adam


  • 17. Data: 2015-04-01 14:08:43
    Temat: Re: Opóźnienie w transmisji USB
    Od: s...@g...com

    W dniu środa, 1 kwietnia 2015 12:02:17 UTC+2 użytkownik Adam Górski napisał:
    > On 2015-03-31 21:19, s...@g...com wrote:
    > > W dniu wtorek, 31 marca 2015 18:40:23 UTC+2 użytkownik Adam Górski napisał:
    > >
    > >>
    > >> Jaką masz rewizję FT2232H ?
    > >>
    > >
    > > Za cholerę nie odczytam nic ze scalaka. Może jutro rano ktoś z lepszymi gałami da
    radę. Czyżbyś miał jakąś wiedzę tajemną w tym temacie?
    > >
    > Żadna wiedza tajemna. Rewizja A ma jakieś bliżej nieokreślone problemy z
    > FIFO w trybie synchronicznym i czasem gubi bajty. Errata bardzo
    > lakonicznie o tym wspomina. Mógłby to być jakiś trop.
    >

    Akurat mój młody dał radę odczytać ze scalaka. Są poza typem IC 2 dodatkowe wiersze:
    I245-C
    D6LT32

    Wracając do tematu, to opóźnienie wygląda tak, jakby w pamięci peceta tworzył się
    FIFO o n-krotnej pojemności rozmiaru pojedyńczego frame'a akwizycji (16KB).





  • 18. Data: 2015-04-01 15:14:07
    Temat: Re: Opóźnienie w transmisji USB
    Od: Adam Górski <gorskiamalpawpkropkapeel_@xx>

    On 2015-04-01 14:08, s...@g...com wrote:
    > W dniu środa, 1 kwietnia 2015 12:02:17 UTC+2 użytkownik Adam Górski napisał:
    >> On 2015-03-31 21:19, s...@g...com wrote:
    >>> W dniu wtorek, 31 marca 2015 18:40:23 UTC+2 użytkownik Adam Górski napisał:
    >>>
    >>>>
    >>>> Jaką masz rewizję FT2232H ?
    >>>>
    >>>
    >>> Za cholerę nie odczytam nic ze scalaka. Może jutro rano ktoś z lepszymi gałami da
    radę. Czyżbyś miał jakąś wiedzę tajemną w tym temacie?
    >>>
    >> Żadna wiedza tajemna. Rewizja A ma jakieś bliżej nieokreślone problemy z
    >> FIFO w trybie synchronicznym i czasem gubi bajty. Errata bardzo
    >> lakonicznie o tym wspomina. Mógłby to być jakiś trop.
    >>
    >
    > Akurat mój młody dał radę odczytać ze scalaka. Są poza typem IC 2 dodatkowe
    wiersze:
    > I245-C
    > D6LT32
    >
    > Wracając do tematu, to opóźnienie wygląda tak, jakby w pamięci peceta tworzył się
    FIFO o n-krotnej pojemności rozmiaru pojedyńczego frame'a akwizycji (16KB).

    Czyli raczej z hw strony nie ma się czego przyczepić.

    1. Ok. Czy masz jakiś alternatywny soft do odbioru danych ? Może FTDI
    coś dostarcza ?
    2. Inny PC, inne sterowniki ?

    Nie chcę mi się wierzyć że podstawowa funkcjonalność ma takie problemy.

    Adam


  • 19. Data: 2015-04-01 15:46:30
    Temat: Re: Opóźnienie w transmisji USB
    Od: "J.F." <j...@p...onet.pl>

    Użytkownik napisał w wiadomości
    >Wracając do tematu, to opóźnienie wygląda tak, jakby w pamięci peceta
    >tworzył się FIFO o n-krotnej pojemności rozmiaru pojedyńczego frame'a
    >akwizycji (16KB).

    Chyba jak najbardziej mozliwe, trzeba by sie doczytac opisu drivera.
    Z tym, ze powinies go tez szybko oproznic, skoro przetwarzanie jest
    szybkie.
    No i powinny byc dane od razu do dyspozycji, a o ile rozumiem po
    prierwszym uruchomieniu programu odbierajacego mamy sekunde czekania.

    Z drugiej banki - a moze urzadzenie za malo wysyla ?
    Jak rozumiem to w programie czytasz potrzebna ilosc bajtow ... i wedle
    opisu funkcja czeka az tyle naplynie.
    Jesli naplywa powoli, to czekamy.

    Tylko wtedy na koncu nie ma pobierania danych z bufora.

    J.










  • 20. Data: 2015-04-01 16:42:28
    Temat: Re: Opóźnienie w transmisji USB
    Od: s...@g...com

    W dniu środa, 1 kwietnia 2015 15:14:46 UTC+2 użytkownik Adam Górski napisał:

    > Czyli raczej z hw strony nie ma się czego przyczepić.
    >
    > 1. Ok. Czy masz jakiś alternatywny soft do odbioru danych ? Może FTDI
    > coś dostarcza ?

    Niestety nie. Pisałem do nich, ale ich tech. support odpisywał takie pierdoły, że
    dałem se spokój.

    > 2. Inny PC, inne sterowniki ?

    Na innym PC, to samo. Znalazłem też takie coś spoza FTDI, ale nie obsługuje akurat
    tej kostki.

    http://www.intra2net.com/en/developer/libftdi/

    >
    > Nie chcę mi się wierzyć że podstawowa funkcjonalność ma takie problemy.
    >
    To może być dobre do odtwarzania audio/video, ale w moim przypadku to "przesunięcie
    fazowe" jest niedopuszczalne.

strony : 1 . [ 2 ] . 3 . 4


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: