czestotliwosc lpt?
-
Autor tematu - Specjalista poziom 1 (min. 100)
- Posty w temacie: 2
- Posty: 126
- Rejestracja: 04 lis 2005, 10:25
- Lokalizacja: Poznan
czestotliwosc lpt?
witam serdecznie,
moze mi ktos powiedziec jaka moge uzyskac maksymalna czestotliwosc wysylania sygnalow do portu lpt? chodzi o jego fizyczne mozliwosci
pozdrawiam
moze mi ktos powiedziec jaka moge uzyskac maksymalna czestotliwosc wysylania sygnalow do portu lpt? chodzi o jego fizyczne mozliwosci
pozdrawiam
Tagi:
-
- Specjalista poziom 3 (min. 600)
- Posty w temacie: 1
- Posty: 989
- Rejestracja: 01 sty 2005, 17:48
- Lokalizacja: Bełchatów
- Kontakt:
wedlug mnie to zalezy od predkosci procesora nie ma chyba ograniczenia w predkosci wysylania. oczywiscie nie mowie o komunikacji tylko samo wysylania bitow na port.berzer pisze:moze mi ktos powiedziec jaka moge uzyskac maksymalna czestotliwosc wysylania sygnalow do portu lpt? chodzi o jego fizyczne mozliwosci
Pozdrawiam PlotComplex.com
-
- Specjalista poziom 1 (min. 100)
- Posty w temacie: 1
- Posty: 243
- Rejestracja: 29 mar 2006, 23:24
- Lokalizacja: Laski, gm. Izabelin
Z tego, co udało mi się wyczytać, sygnał powinien trwać conajmniej 500ns, i przerwa między sygnałami też powinna trwać conajmniej 500ns, więc teoretycznie w sekundę można przepuścić do miliona bajtów. No i przewód łączący musi być jak najkrótszy. Nie słyszałem nigdy, żeby ktoś próbował uzyskać taką prędkość na PC. Komunikacja z drukarką przebiega wielokrotnie wolniej.
-
- Czytelnik forum poziom 2 (min. 20)
- Posty w temacie: 2
- Posty: 23
- Rejestracja: 22 lip 2005, 23:39
- Lokalizacja: pl
Ja właśnie przed chwilą testowałem możliwości mojego portu LPT. W programie na którym testowałem mój silnik krokowy mam zazwyczaj czas impulsu ustawiony w przedziałach do 5ms do 0,8 ms. Zdjąłem funkcję która zapewniała odpowiednie opóźnienie i testowałem jak max wykonuje sie funkcja wysyłająca dane na LPT i mi czas wyszedł w granicach 0,000043s, czyli sygnał był podawany z częstotliwością ok. 23kHz. Później zrobiłem prostszy programik, sama pętla wykonująca polecenie wysłania na port 10000 razy i tu mi czas wychodzi już 0,000009s czyli coś ponad 100kHz. Ale co to jest 100kHz dla 2,5 GHz procesora. Pewnie dało by się szybciej, tylko trzeba by pewnie napisać sterownik. Program był oczywiście uruchamiany jako wątek z najwyższym priorytetem. Przez dłuższy okres czasu nie da się uzyskać takich częstotliwości(bez napisania sterownika), ponieważ co chwilę Windows przełącza czas procesora na inne programy. Pętla wykonująca sie 10000 razy trwa bardzo krótko dlatego mi się udało uzyskać dość stałe sygnały. Przy dłuższych okresach czasu wygląda to mniej więcej tak: program wysyła z max prędkością kilka, kilkanaście ms, później przerwa zazwyczaj 1-4ms i tak w kółko. Tak więc bez sterownika sygnały będą przerywane. Procesor pewnie wykonuje polecenie wysłania impulsu z taką częstotliwością, ale nie jest pewne czy rzeczywiście wszystkie chipy na płycie zdołały podać impuls na port i na pewno występują niesamowite zakłócenia jak sie tam kabel podepnie.
-
- Czytelnik forum poziom 2 (min. 20)
- Posty w temacie: 2
- Posty: 23
- Rejestracja: 22 lip 2005, 23:39
- Lokalizacja: pl
jakoś straszne duże te opóźnienia, przecież przy opóźnieniu 2ms, masz 500 pps, to jest chyba bardzo mało, niektóre silniki można używać przy paru tysiącach pps. Ja miałem program z grafiką w opengl i miał dużo mniejsze opóźnienia, miałem coś poniżej 1ms (mogłbym ustawić znacznie mniej ale silniki szybciej się nie chciały kręcić). A jak pisałem wyżej program składający się z samej pętli wysyła sygnały z opóźnieniem 0,009 ms.
-
- Specjalista poziom 2 (min. 300)
- Posty w temacie: 2
- Posty: 441
- Rejestracja: 07 sie 2005, 18:22
- Lokalizacja: WLKP
Dobrze, zgadzam sie z Toba, ze sa mozliwosci uzyskania wyzszej czestotliwosci. Jak sadze w Twoim przypadku wiekszosc obciazenia przejal procecor z karty graficznej, a w moim przypadku sam procesor komputera. Jak sie wczesniej dowiedzialem, przed pisaniem programu pod Linuxem, to niestety tutaj z powodu przeplywu informacji przez same jadro systemu moge dostac dodatkowe mikro, czy tez milisekundy opoznienia. A w ogole to moj program uzalezniony jest od obciazenia pochodzacego z inego programu, ktory musi analizowac 30 klatek na sekunde strumienia video w celu wyszukania zmian etc... troche inna sprawa...