parallellport

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
PG74
Inlägg: 20
Blev medlem: 5 juli 2004, 00:18:22

parallellport

Inlägg av PG74 »

denan fråga ligger på forumet "projekt" också, men det va nog fel forum så jag provar här...

ska använda parallellporten för att ta emot data i ca 100kB/s, har hört att den ska klara upp till 1.5 MB/s i Epp mode. men när jag provar att läsa in data från en adomvandlare kommer jag bara upp i 6.25KB/s. kan det kianske bero på den den kerner-drive och dll-fil som man måste använda för att kommunicera genom parallellporten i windows xp??
Användarvisningsbild
erixon
Inlägg: 380
Blev medlem: 27 augusti 2003, 10:21:58

Inlägg av erixon »

Du kommer nog upp 100kB/s i dos. Program för att komma åt parallellporten i windows brukar vara slö,
dock kan du skriva en drivrutin samt ha ett korrekt interface mot parallellporten så kan du komma upp 1.5MB/s

Men det är svårt att komma up i någon högre hastighet genom att bit banga, för jag antar att det är det du tänker göra?
PG74
Inlägg: 20
Blev medlem: 5 juli 2004, 00:18:22

Inlägg av PG74 »

Har skrivit ett program i VB.net som läser av parallellportens dataregistret.
Det är denna avläsning jag inte kan få att gå snabbare än 6250 gånger/s.
Vad menar du med drivrutin och korrekt interface? och vad är bit banga?
PatrikB
Inlägg: 185
Blev medlem: 24 maj 2004, 11:19:32
Ort: Borås

Inlägg av PatrikB »

Använder du MSCOMM för att snacka med porten ?
matseng
Inlägg: 2360
Blev medlem: 16 september 2003, 17:18:13
Ort: Dubai, United Arab Emirates
Kontakt:

Inlägg av matseng »

Om du inte använder dig av all handskakning och liknande som finns i dom mer avancerade moderna för paralellporten så kanske det räcker att helt enkelt sätta porten i in-läge och sedan bara läsa datat från port 0x378.

Med io.dll från http://www.geekhideout.com/iodll.shtml kan jag läsa av porten ungefär 1 000 000 gånger per sekund från VB6 på min laptop.
Användarvisningsbild
SvenPon
Utsparkad, på semester
Inlägg: 724
Blev medlem: 26 augusti 2004, 10:53:39
Ort: Haninge

DlPortIO.dll

Inlägg av SvenPon »

Handskakning är inte relevant på parallellport,gäller com 1 mfl.

Du skall hämta och installera DlPortIO.dll när du kör på parallellporten
Då kommer du upp i dom hastigheter som du vill ha.

http://www.driverlinx.com/DownLoad/DlPortIO.htm

Återkom om du vill ha mer hjälp

Kolla gärna mitt program om du vill testa och experimentera
http://www.pellesoft.se/communicate/use ... spx?tid=53
PG74
Inlägg: 20
Blev medlem: 5 juli 2004, 00:18:22

Inlägg av PG74 »

använder en dll som heter inpout32.dll (http://www.logix4u.net/inpout32.htm) och den innehåller en kerner drive som ger mig tillgång till IO på parallellporten. Så det funkar fint att skriva och läsa på parallellportens register, men inte i dom hastigheter som jag vill. Menar du att om jag använder en annan dll, tex DlPortIO.dll så går det fortare?
matseng
Inlägg: 2360
Blev medlem: 16 september 2003, 17:18:13
Ort: Dubai, United Arab Emirates
Kontakt:

Re: DlPortIO.dll

Inlägg av matseng »

SvenPon skrev:Handskakning är inte relevant på parallellport,gäller com 1 mfl.
Huh? Är inte handskakning relevant på en paralellport? Nu tror jag nog att du får lov att läsa på lite.

Redan den gamla stenålders-paralellporten handskakar med skrivaren med ack/strobe/busy/pe-linjerna. Dom nya enchanched bidirectionella portarna har ju ännu mer avancerad handskakning.

Handskakning är mycket mer än den XON/XOFF som du förmodligen refererar till.
PG74
Inlägg: 20
Blev medlem: 5 juli 2004, 00:18:22

Inlägg av PG74 »

inte bråka pojkar!! :) ni ska ju hjälpa mig...
hansdkakningen är väl relevant om du väljer att använda den, har du inget behov av att verifiera att du läser av rätt data så kan du ju hoppa över den. Den handskakningen som moderna parallellportar använder för att öka hastigheten sker väl över databussen när du tex ska läsa av värdet på portens register?! tex så gör hårdvara att det i epp mode bara går en klockcykel av bussens klocka när du läser av registret mot fyra cykler i spp mode. och denna handskakning är ju inget man kan påverka...
eller har jag helt fel?
Åter till mitt problem! :)
jag vill inte använda handskakning i kommunicationen med min applikation, utan vill bara läsa av värden på parallellportens dataregister i en hastighet av 100 000 gånger/s.
kan denna hastighet påverkas av vilken dll man använder? eller kan det vara mitt program jag skrivit i vb.net som av någon anledning inte kan hämta data så snabbt?
matseng
Inlägg: 2360
Blev medlem: 16 september 2003, 17:18:13
Ort: Dubai, United Arab Emirates
Kontakt:

Inlägg av matseng »

För att se vart flaskhalsen sitter:

Vad händer med hastigheten om du kommenterar bort dll-anropet i ditt program och ersätter det med ett typ 'value=47'? Kan programet "sampla" 10 ggr fortare då?
Användarvisningsbild
SvenPon
Utsparkad, på semester
Inlägg: 724
Blev medlem: 26 augusti 2004, 10:53:39
Ort: Haninge

Parallellport

Inlägg av SvenPon »

Oki om du kallar tex Ack mfl handskakning så ok.

Med min DlPortIO.dll läser jag porten så det bara "visslar" i en Loop
Tycker du skall ta hem den och testa och kolla på deras bifogade program.
I NT och XP måster du ha en extra driver i System32/Driver.

Den drivern som slutar på .sys kan vara skriven på ett felaktigt sätt.
finns olika lösningar. Min DlPortIO.sys är helt Ok.

Hur reglerar du loopen så att du märker att det bara blir 6.... ?
Senast redigerad av SvenPon 7 september 2004, 13:27:02, redigerad totalt 1 gång.
Användarvisningsbild
SvenPon
Utsparkad, på semester
Inlägg: 724
Blev medlem: 26 augusti 2004, 10:53:39
Ort: Haninge

Parallellport Driver

Inlägg av SvenPon »

Har nu läst om den . dll du använder.Tydligen är kernel / drivern
inbyggd i dll :en. Ganska säker på att den är boven.

Porta om till och Installera DlPortIO.dll den mest korrekta lösningen jag känner till
http://www.driverlinx.com/DownLoad/DlPortIO.htm

Du måste installera som Administratör på din XP

PS
Jag är väldigt intresserad av att se din AD omvandlarlösning,sugen på ett
eget sampler projekt mot PC .Oscilliscope mm.
PG74
Inlägg: 20
Blev medlem: 5 juli 2004, 00:18:22

Inlägg av PG74 »

Vad händer med hastigheten om du kommenterar bort dll-anropet i ditt program och ersätter det med ett typ 'value=47'? Kan programet "sampla" 10 ggr fortare då?
bara för att kolla om det är loopen i VB-programmet som är slött och inte själva hämtningen från registret, menar du så?

SvenPo:
jag låter en ad-omvandlare sampla en given ramp-signal, och kan på så vis se hur lång tid som förflutit mellan avläsningarna av registret. ad-omvandlaren är 8-bitars med parallell utgång som jag kopplar direkt på datorns parallellport.

hur funkar "din" dll? måste det inte ingå en kernel-drive för att "lura" os att det handlar om kommunikation i kernel-mode och inte i user-mode som inte går i xp?
matseng
Inlägg: 2360
Blev medlem: 16 september 2003, 17:18:13
Ort: Dubai, United Arab Emirates
Kontakt:

Inlägg av matseng »

"bara för att kolla om det är loopen i VB-programmet som är slött och inte själva hämtningen från registret, menar du så?"

Jo, det var så jag tänkte.
Användarvisningsbild
SvenPon
Utsparkad, på semester
Inlägg: 724
Blev medlem: 26 augusti 2004, 10:53:39
Ort: Haninge

Inlägg av SvenPon »

>hur funkar "din" dll? måste det inte ingå en kernel-drive för att "lura" os

Men för helvete läs vad jag skriver och testa vad jag föreslår

Du installerar en äkta Drivrutin som lägger sig i System32/Driver/DlportIo.sys

Installera den och kör så funkar det,jag har kört samplers med 48 000 byte stereo utan problem.Drivern klarar mer än din loop.
Skriv svar