Please let me know if you learn anything about ECP or EPP operation of the PC Parallel port. I'm keenly interested in this and have not been able to get anything to work correctly under MS Windows.... in DOS, simple tests seem to work, but not under Windows. I have a page of info at http://www.piclist.com/../io/parallel/port.htm which describes all the signals and how they are used in various modes with links to documents about the modes themselves. Please don't hesitate to fill out the little form so you can post questions, ideas or comments directly to these pages. To my knowledge, there is no open source documentation of this functionality. You would be opening new ground if you release what you discover. --- James Newton (PICList Admin #3) mailto:jamesnewton@piclist.com 1-619-652-0593 PIC/PICList FAQ: http://www.piclist.com or .org -----Original Message----- From: pic microcontroller discussion list [mailto:PICLIST@MITVMA.MIT.EDU]On Behalf Of Brent Brown Sent: Wednesday, November 08, 2000 01:45 To: PICLIST@MITVMA.MIT.EDU Subject: Re: [PIC]: PIC16F877 and 186 solenoids > Brent Brown wrote: > > > > My questions?:- > > > > - Can the PC parallel port in a fancy mode like ECP or EPP or > > something automatically generate a strobe pulse when 8 bits of > > data are output? This would reduce the PC overhead. > > > > - Has anyone used the TPIC6A595 from TI, or the A6A595 from > > Allegro with good or bad comments, hints or tips? Is the built in > > protection any good? > > > > - Any comments welcome. > > > You would still be limited by the OS of the PC as to how much data > transfer comes in/out of the parallel port. > > 186 bits, 1 for each solenoid = 24 bytes (worst case) of data to send > plus handshaking. Multiply this by 1000 changes / second and perhaps the > PC will not be able to cope reliably. Yep, thats what I'm afraid of. 1000 might be too high a figure to put on it, don't know exactly what it will be. To write one byte of a data to a standard parallel port you need one instruction to put out the data and two more instructions to toggle the strobe line. 3 instructions where 1 could do. I have been looking at EPP and ECP all day. Does pretty much what I want - at this stage it all looks a bit too complicated, but I'm keen to hear from anyone thats done this on a PIC. Another option is just writing 7 bits of data to a standard parallel port, with the 8th bit being 1 and 0 on alternate writes. From this changing bit I can generate a logic pulse to strobe the data into the latch (PSP port). One instruction on the PC and 7 bits of data is transferred. Solenoids will usually change one at a time, so rather than dump 24 bytes of data for all 186 solenoids in one go I'll just send the address of the solenoid that needs to be turned on. One mode of operation is to then get the PIC to turn off the solenoids a certain period of time after each one gets turned on. This cuts data traffic by a half. Think I can do that by having a one byte for each solenoid, counting down every millisecond until it gets to zero and the valve is turned off. Probably will have one PIC for each bank of 64 valves. Brent Brown Electronic Design Solutions 16 English Street Hamilton, New Zealand Ph/fax: +64 7 849 0069 Mobile/text: 025 334 069 eMail: brent.brown@clear.net.nz -- http://www.piclist.com hint: PICList Posts must start with ONE topic: "[PIC]:","[SX]:","[AVR]:" =uP ONLY! "[EE]:","[OT]:" =Other "[BUY]:","[AD]:" =Ads -- http://www.piclist.com hint: The list server can filter out subtopics (like ads or off topics) for you. See http://www.piclist.com/#topics