PC's and EFI
Mike Dillon
mdill at lsil.com
Thu Mar 19 18:43:27 GMT 1998
Hi Ray ,
I think you should reevaluate your approch to the problem,
using a 100Mhz Pentium to process events happening at most in the
1-3 Khz range and running out of proceess power does not seem right.
It seems you may be trying to use a hammer where a screwdriver is
more suited to the task.
Mike D.
> From diy_efi-owner at esl.eng.ohio-state.edu Thu Mar 19 00:12 CST 1998
>> From: cosmic.ray at juno.com (Raymond C Drouillard)
>
> On Wed, 18 Mar 1998 01:23:15 -0600 "Terrie S. Watts"
>
> >Careful here. I'm a pretty good programmer myself and I actually tried
> to
> >write a fuel injection (plus ignition control) on a 100 MHz Pentium
> laptop in
> >straight assembly code and still found by way of the O-scope that I
> wasn't
> >servicing multiple events quick enough. It's much tougher than it would
> >first appear. It can still be done but one needs to throw a little more
> >hardware at the problem to really get it working correctly. The big
> problem
> >is that the CPU executes but a single instruction at a time and there is
> >quite a bit of things having to do with the engine all happening
> simultaneously.
> >I found myself in a priority battle trying to determine what absolutely
> has
> >to happen next and what could wait several clock cycles to get around
> to.
> >This strategy shows up on the scope and leads to quite a bit of head
> >scratching when the engine just doesn't seem to run up to snuff.
>
> I would be the last one to try to argue my theory against your
> experience. I based my information on the fact that someone made a
> usable system with a 4.77 MHZ PC running BASIC. Based on what you said,
> I suspect that he got away with it because he was running a TBI system
> with no spark control. Also, a 386/25 is many times faster than a PC.
>
> The method I had in mind for controlling eight injecters wouldn't take
> much more processer time than running one. The part of the program that
> controlls the would send a string of 1s and 0s to another routine that
> would send 00000000 to the parellel port when it receives a 0, and
> 00000001 or 00000010 or whatever (depending on which injecter is being
> fired) to the parellel port.
>
> How did you control the time sharing? If necessary, some custome device
> drivers could be written.
>
> I saw some comments on using SCSI or IDE controllers. That would
> certainly work. The approach I'm going with, howeverl, is the KIS (keep
> it simple) approach. I want to use the devices that are designed to talk
> to something outside of the computer. That saves some potential for
> hassle.
>
> If you want to control eight spark coils, for instance, you could have
> the computer send out a couple bytes of data through a serial or parellel
> port. The computer would instruct the controller which plug to fire and
> when to fire it. The computer could then go on to other things.
>
> The real trick is to not require the microprocessor to actually fire
> something at a specific time. It should calculate when and how much,
> then load that data to something else.
>
> A sound card could easily create a waveform that'll fire an injecter.
> Just route it to the correct injecter (perhaps based on input from an
> RS232 port), and amplify it. If you use a sound card with a programmable
> wave table, you can set up a variety of duty cycles and durations.
> That'll offload a lot of processing from the microprocesser.
>
> I don't know how much goofing around it would take to get the computer to
> read two game ports at once, but it shouldn't be too difficult. It might
> just be a matter of assigning addresses for each one. You'll need
> several analog inputs. The output of the various sensors can be
> conditioned with op-amps and fed into the game port and sound card. This
> would give you a total of six analog inputs. You will need an input for
> the coolant temperature, the air intake charge temperature, MAP (or MAF),
> and TPS. Digitan inputs would be some kind of knock sensor (sound or
> ionization) and crank position.
>
> Now you guys did it! Got me thinking about a project that I don't really
> intend to undertake. Sometimes, it's tough being a compulsive engineer.
>
> Ray Drouillard, BSEE
>
> _____________________________________________________________________
> You don't need to buy Internet access to use free Internet e-mail.
> Get completely free e-mail from Juno at http://www.juno.com
> Or call Juno at (800) 654-JUNO [654-5866]
>
>
>
More information about the Diy_efi
mailing list