logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

FT232RL - dlaczego działa o wiele szybciej przez hub usb ?

prokopcio 10 Lut 2014 16:58 1578 4
REKLAMA
  • #1 13294360
    prokopcio
    Poziom 29  
    Witam.
    Czym może być spowodowany fakt, że przy komunikacji USB/RS232 bezpośrednio podpięty ft232rl do portu komputera działa dużo wolniej niż w przypadku podpięcia przez dodatkowy hub USB? przesyłam małe paczki danych na zasadzie master - slave, komputer odpytuje urządzenie a urządzenie odpowiada. komputer po wysłaniu zapytania sprawdza przez określony czas w pętli czy nadeszły dane - i tutaj jest problem właśnie tych opóżnień - jeśli usb wtykam do portu usb bezpośrednio to odpoweidź wraca (przykład dla jednego bajtu) dopiero po ok 30-50ms a w przypadku podpięcia przez hub USB odpowiedź wraca bez żadnych opóźnień pomijając czas trwania samej ramki transmisyjnej.

    o co tutaj chodzi ?

    przy małych ramkach przez hub transmisja działa 3-krotnie szybciej....
    bez sensu :(

    używam dll'ki producenta FTDI (nie odwołuję się do wirtualnego portu com) ale próbowałem i efekt jest identyczny.
  • REKLAMA
  • #2 13295335
    ostrytomasz
    Poziom 24  
    Nie wiem dlaczego przez hub jest szybciej, natomiast 50ms to bardzo małe opóźnienie. Konwerter OTi na domyślnych ustawieniach potrafi trzymać dane w buforze przez ~5s. Opóźnienie wynika z zasady działania konwerterów, ramkowania i algorytmu sterującego opróżnianiem bufora, często (w tym FT chyba też) jest konfigurowalne przy użyciu narzędzi producenta.
  • REKLAMA
  • #3 13295362
    prokopcio
    Poziom 29  
    DLA mnie 50ms to dużo :-) a przez hub mam poniżej 5ms.
  • REKLAMA
  • #4 13295400
    ostrytomasz
    Poziom 24  
    Jeżeli to dużo, to chyba założenia są złe. Na 99% transfer FTDI jest typu bulk, bez gwarancji opóźnienia. Jeżeli opóźnienie wynika z tego o czym myślę, to szukaj pod hasłem RX buffer timeout (ustawienia sterownika a nie osobna aplikacja bodajże), ale po drodze jest tyle warstw, że wątpię by możliwe było gwarantowanie tego rzędu opóźnień.
    TL;DR: nie używaj małych ramek.
  • #5 13295928
    prokopcio
    Poziom 29  
    ostrytomasz napisał:
    nie używaj małych ramek.
    Dużych nie mam gdzie pomieścić. ;)
REKLAMA