-
21. Data: 2009-08-14 07:20:09
Temat: Re: Graniczna prędko?ć machania LPT
Od: Sebastian Biały <h...@p...onet.pl>
Adam Dybkowski wrote:
> Jak na USB to polecam [de]serializer ze stajni FTDI: FT3232 lub nowsze
> (np. FT4232H).
Tak, dokladnie o tym myslę.
> SPI/JTAG/UART serializuje sprzętowo - po początkowych ustawieniach
> wysyłasz tylko opakowane specjalnie bajty przez USB, a po drugiej
> stronie wychodzi np. ładna transmisja SPI.
A da się zrobić SPI 9 bit z ustawionym na stale ostatnim bitem na ileś ?
Bo jakiś $%^#*@ zrobił mi wlaśnie coś takiego...
-
22. Data: 2009-08-14 07:22:30
Temat: Re: Graniczna prędkość machania LPT
Od: Sebastian Biały <h...@p...onet.pl>
Adam Dybkowski wrote:
> Jest bardzo duży rozrzut na różnych komputerach, nie zależy to prawie
> wcale od częstotliwości procesora a raczej od chipsetu (do którego
> dochodzi port LPT), ew. chipu na karcie PCI LPT.
> 290kHz to rzeczywiście słabo, powinno dać się wyciągnąć 500-800kHz na
> większości komputerów.
Wszystjo wskazuje na to że to koniec przydatności LPT :/ Chyba jednak
poświęcę chwilkę i zrobie coś na USB.
-
23. Data: 2009-08-14 07:34:38
Temat: Re: Graniczna prędkość machania LPT
Od: Waldemar Krzok <w...@z...fu-berlin.de>
Sebastian Biały schrieb:
> Waldemar Krzok wrote:
>> a to, że na Linuksie też musisz przejść przez port mapping.
>
> Co to jest port mapping w tym kontekście?
to, że program w User Space nie widzi hardware tylko HAL (hardware
abstraction layer). Wchodzisz na wirtualnym porcie, a wychodzisz na
hardware. Po drodze jest driver HAL.
>> Jak chcesz szybciej machać, to musisz napisać sterownik, który będzie
>> machał bezpośrednio nóżką.
>
> A czy on przypadkiem nie będzie robił z grubsza tak samo? outb ...
dokładnie tak. Tylko to outb nie będzie na wirtualnym porcie, jak w
programach w User Space, tylko idzie bezpośrednio na hardware. Każde
twoje outb prowadzi do zmiany kontekstu w obie strony, a to chwilkę trwa.
Waldek
-
24. Data: 2009-08-14 07:40:12
Temat: Re: Graniczna prędkość machania LPT
Od: J.F. <j...@p...onet.pl>
On Fri, 14 Aug 2009 09:22:30 +0200, Sebastian Biały wrote:
>Wszystjo wskazuje na to że to koniec przydatności LPT :/ Chyba jednak
>poświęcę chwilkę i zrobie coś na USB.
Zalezy co chcesz osiagnac .. ale tak - koniec przydatnosci LPT, i
koniec LPT w ogole. Jesli nie jest to cos doraznego - czas na USB,
a i w doraznych latwiej opanowac jakiegos procka z USB i sie nie
meczyc z windowsami :-).
J.
-
25. Data: 2009-08-14 07:41:49
Temat: Re: Graniczna prędkość machania LPT
Od: Sebastian Biały <h...@p...onet.pl>
Waldemar Krzok wrote:
>> Co to jest port mapping w tym kontekście?
> to, że program w User Space nie widzi hardware tylko HAL (hardware
> abstraction layer). Wchodzisz na wirtualnym porcie, a wychodzisz na
> hardware. Po drodze jest driver HAL.
Jesteś w stanie ocenić ten narzut? czy HAL w tym wypadku nie robi po
prostu outb->real_outb ? Bo tutaj traci się za dużo mocy procesora i
prędkośc tej operacji prawie nie zalezy od predkości CPU.
-
26. Data: 2009-08-14 07:47:58
Temat: Re: Graniczna prędko?ć machania LPT
Od: Sebastian Biały <h...@p...onet.pl>
J.F. wrote:
> Zalezy co chcesz osiagnac .. ale tak - koniec przydatnosci LPT, i
> koniec LPT w ogole. Jesli nie jest to cos doraznego - czas na USB,
> a i w doraznych latwiej opanowac jakiegos procka z USB i sie nie
> meczyc z windowsami :-).
Ale ja pod innym kątem: zamiast męczyć się z debugowaniem w uC kodu wole
napisać go i przetestować na PC. Czesto wsad po wrzuceniu w uC działa mi
od razu poprawnie, a przyjemnośc debugowania na PC jest znaczna. Dlatego
czasem coś podpinam pod LPT "na szybko" zeby sprawdzić komunikacje z
jakims scalakiem i znaleźć buga. Po to mi LPT. Ale własnie mam w tej
chwili problem, bo urzadzenie wymaga szybkiej komunikacji a LPT nie
wyrabia się dostatecznie. Więc zaczynam się rozglądać za FTDI jakimś co
by mi pasowal do potrzeb.
-
27. Data: 2009-08-14 07:55:07
Temat: Re: Graniczna prędkość machania LPT
Od: Sebastian Biały <h...@p...onet.pl>
Zbych wrote:
> Zrobiłem test na WinXP. [...]
> Wygenerował mi częstotliwość 400kHz, co daje zmianę stanu co 1,25us.
Mi wygenerowal 290kHz :D
Wygląda na to że:
a) mam badziewny hardware
b) hal-e windowsa i linuxa są identyczne :)
c) czas kupić coś na USB
-
28. Data: 2009-08-14 08:11:34
Temat: Re: Graniczna prędkość machania LPT
Od: Waldemar Krzok <w...@z...fu-berlin.de>
Sebastian Biały schrieb:
> Waldemar Krzok wrote:
>>> Co to jest port mapping w tym kontekście?
>> to, że program w User Space nie widzi hardware tylko HAL (hardware
>> abstraction layer). Wchodzisz na wirtualnym porcie, a wychodzisz na
>> hardware. Po drodze jest driver HAL.
>
> Jesteś w stanie ocenić ten narzut? czy HAL w tym wypadku nie robi po
> prostu outb->real_outb ? Bo tutaj traci się za dużo mocy procesora i
> prędkośc tej operacji prawie nie zalezy od predkości CPU.
w zależności od implementacji jaja może być dużo. Kompletne przełączenie
kontekstu z user na kernel i na oborot trochę może potrwać, rzędu
kilkadziesiąt ns do pojedynczych mikro-s. Możesz poszukać jakiegoś
rt-kernela, ale tu chyba nie będzie szybciej, ale za to z definiowalnym
opóźnieniem. Wszystkie SO multitasking lepiej sobie radzą z pakietami
danych: sterownik operuje bezpośrednio na nóżkach, a dane dostaje (i ew.
wysyła) w pakietach. Wtedy ograniczasz zmiany kontekstu do minimum.
Spróbuj napisać mały sterowniczek z twoim programem i zobacz ile
hardware naprawdę może. Albo ściągnij sobie free-dos z sieci i
przetestuj na real-mode w DOSie.
Aha, USB też pracuje najlepiej przetwarzając dane pakietami, więc dużo
chyba nie zyskasz, oprócz tego, że USB ma teraz każda husteczka do nosa,
a LPT jest dinozaurem ;-).
Waldek
-
29. Data: 2009-08-14 08:11:39
Temat: Re: Graniczna prędkość machania LPT
Od: Sebastian Biały <h...@p...onet.pl>
Waldemar Krzok wrote:
> Albo ściągnij sobie free-dos z sieci i
> przetestuj na real-mode w DOSie.
Jak znajdę gdzieś TurboC w wygodnej wersji to z ciekawości sprawdze.
> Aha, USB też pracuje najlepiej przetwarzając dane pakietami, więc dużo
> chyba nie zyskasz, oprócz tego, że USB ma teraz każda husteczka do nosa,
> a LPT jest dinozaurem ;-).
Ja mam wlasnie pakietowo - najczęsciej to dane SPI. Jesli tylko scalak
bedzie w stanie mi przygarnąć cała ramkę i wypluć ją na SPI to luksus.
-
30. Data: 2009-08-14 09:02:07
Temat: Re: Graniczna prędkość machania LPT
Od: Waldemar Krzok <w...@z...fu-berlin.de>
Sebastian Biały schrieb:
> Waldemar Krzok wrote:
>> Albo ściągnij sobie free-dos z sieci i przetestuj na real-mode w DOSie.
>
> Jak znajdę gdzieś TurboC w wygodnej wersji to z ciekawości sprawdze.
>
>> Aha, USB też pracuje najlepiej przetwarzając dane pakietami, więc dużo
>> chyba nie zyskasz, oprócz tego, że USB ma teraz każda husteczka do
>> nosa, a LPT jest dinozaurem ;-).
>
> Ja mam wlasnie pakietowo - najczęsciej to dane SPI. Jesli tylko scalak
> bedzie w stanie mi przygarnąć cała ramkę i wypluć ją na SPI to luksus.
no to spróbuj z driverem Linuxowym. Tu ło masz artykuł:
http://www.freesoftwaremagazine.com/articles/drivers
_linux
Na stronie 11 jest listing drivera LPT. Musisz go przerobić tak, by brał
twój cały pakiet i wypluwał za jednym zamachem. A najpierw zrobić tylko
driver testowy, który przy init_module startuje mruganie a przy
exit_module zwalnia port.
Waldek