czestotliwosc lpt?

Na tym forum rozmawiamy o elektronice nie związanej bezpośrednio z tematem CNC

Autor tematu
berzer
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 2
Posty: 126
Rejestracja: 04 lis 2005, 10:25
Lokalizacja: Poznan

czestotliwosc lpt?

#1

Post napisał: berzer » 02 sie 2006, 16:30

witam serdecznie,

moze mi ktos powiedziec jaka moge uzyskac maksymalna czestotliwosc wysylania sygnalow do portu lpt? chodzi o jego fizyczne mozliwosci

pozdrawiam



Tagi:

Awatar użytkownika

webserver
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 1
Posty: 989
Rejestracja: 01 sty 2005, 17:48
Lokalizacja: Bełchatów
Kontakt:

#2

Post napisał: webserver » 02 sie 2006, 16:47

berzer pisze:moze mi ktos powiedziec jaka moge uzyskac maksymalna czestotliwosc wysylania sygnalow do portu lpt? chodzi o jego fizyczne mozliwosci
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.
Pozdrawiam PlotComplex.com


Autor tematu
berzer
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 2
Posty: 126
Rejestracja: 04 lis 2005, 10:25
Lokalizacja: Poznan

#3

Post napisał: berzer » 02 sie 2006, 17:07

no jakies ograniczenie musi byc, no bo jakby nie bylo to chyba bylby to najlepszy port ;]

zakladajac, ze mam kupiony sterownik na l297\298 i jego ogrniaczenie to 10kHz. gdzies czytalme, ze lpt i tak tyle nie pociagnie wiec jaka jest graniczna wartosc jaka max. moglby uzyskac?

Awatar użytkownika

x
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 1
Posty: 243
Rejestracja: 29 mar 2006, 23:24
Lokalizacja: Laski, gm. Izabelin

#4

Post napisał: x » 02 sie 2006, 21:00

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.


ggg1986
Czytelnik forum poziom 2 (min. 20)
Czytelnik forum poziom 2 (min. 20)
Posty w temacie: 2
Posty: 23
Rejestracja: 22 lip 2005, 23:39
Lokalizacja: pl

#5

Post napisał: ggg1986 » 03 sie 2006, 16:36

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.


yoyer
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 2
Posty: 441
Rejestracja: 07 sie 2005, 18:22
Lokalizacja: WLKP

#6

Post napisał: yoyer » 05 sie 2006, 13:16

Ja u siebie, w swoim programie pisanym w C pod Linuxa uzyskalem jakies 1,9ms opoznienia pomiedzy kolejnymi sygnalami wyslanymi do LPT, w stanie bardzo obciazonego systemu, czas opoznienia zwieksza sie cos ponad 2,5ms.


ggg1986
Czytelnik forum poziom 2 (min. 20)
Czytelnik forum poziom 2 (min. 20)
Posty w temacie: 2
Posty: 23
Rejestracja: 22 lip 2005, 23:39
Lokalizacja: pl

#7

Post napisał: ggg1986 » 06 sie 2006, 18:44

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.


yoyer
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 2
Posty: 441
Rejestracja: 07 sie 2005, 18:22
Lokalizacja: WLKP

#8

Post napisał: yoyer » 06 sie 2006, 21:10

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...

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Elektronika ogólna”