Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

very high speed parallel port

Status
Not open for further replies.

hisham_galal

Newbie level 3
Newbie level 3
Joined
Dec 3, 2004
Messages
3
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
27
1mhz parallel port

I am working on DAQ project and i need to communicate withh parallel port with max speed .
I read that we reach 2M/s with epp or ecp mode but we cant reach even 400k/s
I want to know:
1-choose epp/ecp??
2-can this work with all operating systems??
3-which programing lang will give best result??
4-can u give me a simple code that show this speed??

Thanks in advance
 

parallel port speed

Go to **broken link removed**
It has all information you need.

Ace-X.
 

ecp port programming

I have read the link you said before but i really cant get how to reach the 2M speed that they say we can reach i need one to explain high speed dealing with parallel port
 

information in this site mabe answer your questions
**broken link removed**
 

I had a similar project and stuck a very fast HP sampling scope onto the ECP and EPP mode parallel port. Best I could get was 1MHz just toggling 1 bit of the port. Even used Assembly language - nothing better that 1MHz.
Eventually used a Fast PIC18F452 which did the sampling and fed the results to the PC by serial link.
 

Why you want to use Parallel port ?, why don't you use USB for example, it will provide a very high data rate for you which will be more than enough ..
 

The documents I have read about this indicate that there is *no way* you will get the speed you want if running under a big operating system (especially Windows!). The O/S just interferes too much.

The fastest way (can't remember the max possible) is assembly language under MS/DOS.

Buffering the input or using USB as mentioned already are your best choices. I would go for the USB. There are plenty of MCU's and modules to handle this easily.

FoxyRick.
 

Listen Friend ..
Is going to be hard to garantee a minimum HIGH SPEED flow with a parallel PORT.
on windows operating OS .. linux can probably be better , You also need to be aware is that you need to send or receive in BURST MODE (32 bit)to switch the port state machine to ECP otherwise it will be slow speed (8 bits).
As somebody already advice you . Is better to go with USB ..

Cheers
 

I've made some experiment on "high speed" on parallel port.
**broken link removed**
(sorry it's in french). To sum up I reach 1.1Mo/s using a driver (explainantion in the text, the table relate thing that have been directly mesured, but that are not true)

I will distinguish 2 things :

-obtain a time critical behaviour even with relatively low speed
here, you wil have OS related problem. With Windows you need a realtime layer (like RTX). With Linux it's the same (for example with RTAI)

-obtain a (the) high(est) speed transfer. Here OS isn't the last problem. If you want to have no OS problem, a driverunder Windows will do the job. You are at the lowest level. It's the same things with Linux.
If you want to reach 2Mo/s you need to use all trick, the major one is to send 32 bits of data at a time (that will be split in four eight bit cycle). And solve a part of I/O slow. You need to do 32 bits I/O port. Thiongs that need a library or asm statement.
Be carfeul under Windows all solution where there is one driver call per I/O is catastrophic (in regards of perf).
The last problem will be the bridge between I/O chipset and PCI bus, bridge that is often include in the chipset of the motherboard. With old PC (with no PCI bus you haven't this level and perharsp better perf).

I don't have tried with DMA, that is pehrarps the ultimate method that make 2Mo/s possible.
 

With Windows NT/2000/XP you can also get maximal speed with driver like giveio. This driver opens for application real access to hardware port with instructions _inp and _outp (for C). You can easy check it with SoftIce.
 

hisham_galal said:
1-choose epp/ecp??
EPP is faster in single transfers, but I've found some parallel-port cards having different behaviour and high error rate in EPP, so I'd choose ECP mode.

hisham_galal said:
2-can this work with all operating systems??
If you access the port directly in user-mode you may practically use a same C/C++ snippet on any OS, but hardware access is restricted in some OS like WinNT and Win2K, so a kernel-mode driver is mandatory. In this case, TVichW32 is an affordable option (around u$s 100). Jungo stuff its very interesting but more expensive.

hisham_galal said:
3-which programing lang will give best result??
Use inline assembly on any efficient C/C++ compiler for accessing the port directly in user-mode (of course, if your OS grants doing it).
If you go with TVichw32, it may be interlocked with several programming languages. Always use 32-bit transfers to obtain maximum throughput.
 

Check these sites:

**broken link removed**
**broken link removed**

and you will know why your speed is as it is...
It looks like there is no way you will be near 2M/s.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top