Emulace připojené tiskárny na LPT port

Počítače stolní, notebooky, tablety, tiskárny, scanery a vše, co nějak souvisí s PC

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
tomasjedno
Příspěvky: 5634
Registrován: 11 říj 2008, 02:00
Bydliště: ZZ9 Plural Z Alpha

#16 Příspěvek od tomasjedno »

Osmdesat píše:Když jsem uzemnil ještě ERROR, už to nefungovalo.
Jestli mluvíš o pinu 15 na DB25 konektoru, tak ten je aktivní v 0.

Uživatelský avatar
Osmdesat
Příspěvky: 1497
Registrován: 19 led 2016, 01:00
Bydliště: Liberecko

#17 Příspěvek od Osmdesat »

Mluvím. No to jsem nevěděl, v dokumentaci není psáno, že je invertovaný.

Ještě otázka - jak rozchodím ECP režim? I když je v biosu nastavený režim ECP a ve windows ovladač ECP portu, když zapisuju na port data, stejně to jde přes CPU (CPU jede na 100 %).

Uživatelský avatar
tomasjedno
Příspěvky: 5634
Registrován: 11 říj 2008, 02:00
Bydliště: ZZ9 Plural Z Alpha

#18 Příspěvek od tomasjedno »

No jestli sypeš do toho portu nějaký velký objem, tak pokud to jede přes DMA, tak po tu dobu stejně procesor nemůže dělat nic užitečného. Wokňousy to asi vyhodnotí jako 100% vytížení, ne?

Uživatelský avatar
rnbw
Příspěvky: 32312
Registrován: 21 bře 2006, 01:00
Bydliště: Bratislava

#19 Příspěvek od rnbw »

Cez DMA to moze ist len v ECP mode.

Uživatelský avatar
lesana87
Příspěvky: 3296
Registrován: 20 zář 2014, 02:00

#20 Příspěvek od lesana87 »

Proč by při DMA nemohl procesor nic dělat? Od toho přece je DMA, aby mohl procesor něco dělat a nemusel se starat o přenos dat mezi periferií a pamětí.

Uživatelský avatar
jardafiala
Příspěvky: 1414
Registrován: 20 čer 2010, 02:00
Bydliště: Česká Lípa

#21 Příspěvek od jardafiala »


Uživatelský avatar
tomasjedno
Příspěvky: 5634
Registrován: 11 říj 2008, 02:00
Bydliště: ZZ9 Plural Z Alpha

#22 Příspěvek od tomasjedno »

lesana87 píše:Proč by při DMA nemohl procesor nic dělat? Od toho přece je DMA, aby mohl procesor něco dělat a nemusel se starat o přenos dat mezi periferií a pamětí.
Já bych to formuloval spíš tak, že DMA je od toho, aby přenos mohl probíhat rychle, nebržděn procesorem.
Aby mohl procesor dělat něco užitečného, tak si musí občas šáhnout do paměti. Což během souvislého přenosu velkého bloku dat jaksi nemůže, ne?

Uživatelský avatar
lesana87
Příspěvky: 3296
Registrován: 20 zář 2014, 02:00

#23 Příspěvek od lesana87 »

Dneska mají procesory megabajty cache a ten přenos určitě nepoběží burstem na frekvenci sběrnice, to by ta tiskárna a hlavně kabel k ní nedaly. Kdysi se psalo, že ECP umožňuje rychlosti až 1MB/s, jak rychle běhají dnešní sběrnice?

Uživatelský avatar
tomasjedno
Příspěvky: 5634
Registrován: 11 říj 2008, 02:00
Bydliště: ZZ9 Plural Z Alpha

#24 Příspěvek od tomasjedno »

Na dnešních mašinách se LPT porty moc nevyskytují.
No ale to už jsme u toho, že víme kulové o tom, na jaké mašině to běží a co s tím 80 vyvádí.
Naposledy upravil(a) tomasjedno dne 13 bře 2021, 20:38, celkem upraveno 1 x.

Uživatelský avatar
lesana87
Příspěvky: 3296
Registrován: 20 zář 2014, 02:00

#25 Příspěvek od lesana87 »

Čtyřjádrový Xeon nebo P4.

Uživatelský avatar
Osmdesat
Příspěvky: 1497
Registrován: 19 led 2016, 01:00
Bydliště: Liberecko

#26 Příspěvek od Osmdesat »

Trochu se mi to pod Win 7 na Xeonu podařilo rozhýbat - souborovým zápisem bajt za 8 us.
Taky jsem zkoušel bitbanging pomocí ovladače inpout32.dll - zápis bajtů na vv bránu LPT portu ve smyčce. Tam je to zajímavější - v případě xeonu bajt za 2 us, u P4 bajt za 5 us.
Zátěž CPU je podobná jak v případě souborového zápisu, tak bitbangingu.

Zajímavé je, že když nainstaluju ve windows na LPT port obecnou textovou tiskárnu, souborový zápis pak proběhne asynchronně - data si ode mé aplikace při zápisu do souboru LPT1 asi načte printspooler, příkaz zápisu do souboru se vrátí prakticky okamžitě, ale zápis na port pokračuje dál.

ECP režim bude podle mě vyšší dívčí - vyžaduje na straně zařízení speciální handshake a asi speciální příkazy ve Win api. ECP zatím tedy nechám stranou, spokojím se s SPP režimem.

Uživatelský avatar
rnbw
Příspěvky: 32312
Registrován: 21 bře 2006, 01:00
Bydliště: Bratislava

#27 Příspěvek od rnbw »

Rychlost prenosu pri PIO je obmedzena frekvenciou ISA, resp. LPC zberniice.

Uživatelský avatar
lesana87
Příspěvky: 3296
Registrován: 20 zář 2014, 02:00

#28 Příspěvek od lesana87 »

A co EPP režim? Ten je celkem jednoduchej, to se jen zapisuje na jinou adresu LPT portu, navenek se ty zápisy chovají jako sběrnicové cykly se signálama RD/WR. Dá se to ven hrnout instrukcema pro řetězcovej přenos na port (OUTSB/OUTSW/OUTSD).

Uživatelský avatar
Osmdesat
Příspěvky: 1497
Registrován: 19 led 2016, 01:00
Bydliště: Liberecko

#29 Příspěvek od Osmdesat »

Já už vyšší rychlost ani nepotřebuji. Kdybych byl v dosu, si myslím, že by se dalo dosáhnout ještě vyšších rychlostí, protože bych měl přímý přístup k HW. Takhle mi to ale v podstatě stačí.
Ale EPP režim bych si mohl možná zkusit. Tam se používá DMA?

Uživatelský avatar
lesana87
Příspěvky: 3296
Registrován: 20 zář 2014, 02:00

#30 Příspěvek od lesana87 »

Ne, to je PIO.

Odpovědět

Zpět na „Výpočetní technika“