[sci.electronics] A/D converter ==> PC parallel port?

billq@ms.uky.edu (fill in blank) (12/13/90)

I am playing with a simple ADC0804 A/D converter.  But I don't have much
data about it. I have enough schematics to let me know what the pin outs
are but thats it.  I am trying to use my PC(XT)'s paralle port to read the
8-bits information from the chip.  I have had some luck reading in from the
OUTPUT lines on the parallel port (i.e. I am breaking some rules ... I guess?).
But this is not working perfectly yet.  I am using transisitors to drive the
port (letting the A/D drive the transistors as switches, then use these to
drive the tri-state parallel port).  Its acting like when it see more then 4
or 5 0 bits, well ... it starts messing up, like maybe its drawing too much
current or somthing?

Any body beed doen this road before?  Any body got a better way of designing
an A/D ==> pc system?

Thanks!

-- 
    Billy Quinn (billq@ms.uky.edu)
                (pr01527@ukpr.uky.edu)
                (home phone: 606-233-1568)

grege@gold.gvg.tek.com (Greg Ebert) (12/13/90)

In order to read-in through a PC's parallel port, you need to either:

	(1) Disable (ie, tristate) the output driver. If your card
	uses an ASIC, it might be difficult. I think the 16452 from
	VLSI Technology has an output-enable function.

	If there is a genuine 74xx374, you can put a switch on the OE
	pin. I would be very cautious about using an unused bit on the
	control port to drive OE because some wacko software [about 99%
	of what's out there :-{ ] might disable your port.

	(2) Or, 'backdrive' the output driver. Try writing 'FF' to the data
	port (278h, 378h, or 3BCh) and use a beefy driver to yank-down
	the lines. Be careful, because there are several types of RC filter
	topologies for slew-rate/spike protection; if the readback buffer
	is *between* the resistor and the port connector pin, you might
	have some trouble.

----- Boycott redwood products ---------------------------- Recycle -----
                                                                 #####
{uunet!tektronix!gold!grege}     Register to vote, then        ##  |  ##
grege@gold.gvg.tek.com           vote responsibly             #    |    #
							      #   /|\   #
Support high oil prices, waste tax $$ on war, evade domestic   #/  |  \#
problems, and die young on foreign soil- Just say YES to Bush   #######

tengdahl@niksula.hut.fi (Tomi Holger Engdahl) (12/13/90)

In article <billq.661025394@s.ms.uky.edu> billq@ms.uky.edu (fill in blank) writes:


 I am trying to use my PC(XT)'s paralle port to read the
   8-bits information from the chip.  I have had some luck reading in from the
   OUTPUT lines on the parallel port (i.e. I am breaking some rules ... I guess

Maybe you are braking some rules but I have not noticed that this causes any
damage to hardware. Parallel port (in most PC machines) can withstand
those short circuits.

  But this is not working perfectly yet.  I am using transisitors to drive the
   port (letting the A/D drive the transistors as switches, then use these to

I have used 74LS245 chip to drive those OUTPUT lines succesfully. It has
has worked without any problems. 

   drive the tri-state parallel port).  Its acting like when it see more then 4
   or 5 0 bits, well ... it starts messing up, like maybe its drawing too much
   current or somthing?

There is some kind of current limiting system in the parallel port. I have
measured that the parallel port in my AT can supply about 40mA when short 
circuited tp ground.

   Any body beed doen this road before?
  Any body got a better way of designing
   an A/D ==> pc system?

I have designed an A/D system to PC using ADC0809 A/D converter. It 
uses the parallel port output lines as input for 8 bit data. My system
can make about 22 000 conversions / second, because I have boosted 
ADC0809 by using clock frequency of over 2 MHz. I have used this
circuit for about 1/2 years for sampling audio signals.

I have my information in computer format: text and GIF pictures.
Unfortunately it is not available in any ftp site. It has only been
downloadable in some BBSs here in Finland.
Please e-mail if interrested in getting more information.


--
                                                
     ------  /  /  /---                   ---------------------------------
       /    /--/  /--                    !  Mail: Tomi Engdahl             !
      /    /  /  /---                    !        Kalliom{entie 8bF        !
 E-mail: tengdahl@niksula.hut.fi         !        01800 Klaukkala, Finland !
         tengdahl@otax.tky.hut.fi         ---------------------------------
	 d39060t@puukko.hut.fi            Helsinki University of Technology 

cjp@megatek.UUCP (Christopher J. Pikus) (12/14/90)

From article <billq.661025394@s.ms.uky.edu>, by billq@ms.uky.edu (fill in blank):
> I am playing with a simple ADC0804 A/D converter.  But I don't have much
> data about it. I have enough schematics to let me know what the pin outs
> are but thats it.  I am trying to use my PC(XT)'s paralle port to read the
> 8-bits information from the chip.  I have had some luck reading in from the
> OUTPUT lines on the parallel port (i.e. I am breaking some rules ... I guess?).
>
>     Billy Quinn (billq@ms.uky.edu)
>                 (pr01527@ukpr.uky.edu)
>                 (home phone: 606-233-1568)
	The original PC/XT and PC/AT had printer ports that were WRITE ONLY. you


couldn't read them. (The original designers thought that no one would want to
READ from a PRINTER.)

	The PS/2 series now has the bi-directional ports.

	some attachment cards that have a parrelell port (LPT1) have the ability
to read. Some of them merely read back the information that you just wrote to the
port.

	The moral of the story is that you shouldn't be too dissapointed if 
you cannot input from your printer port. If you are determined to do this then
you will need the schematic of the port from the manufacutrer of the LPT port.

-- 
That is all ...
Christopher J. Pikus,               Megatek Corp.
INTERNET:     cjp@megatek.uucp      San Diego, CA
UUCP:         uunet!megatek!cjp or ucsd!megatek!cjp

corwin@ghoti.lcs.mit.edu (Jonathan L. Coburn) (12/29/90)

Although the IBMPC parallel port is not designed to be bidirectional,
it can read what it just wrote back out the port.  The way it does
this is by sampling the output latches on the data lines.  Therefore,
if you first write a 0 to the port and then put your data on the
lines and do a read, you will get the data you want.  You have to
be careful not to pull or push too much current when you do this, but
I have done it and it does work, kludgy though it may be.

corwin