What about a PC

From DIY contraptions to sophisticated FreeEMS-specific designs! Plus general hardware development!
Post Reply
senator29
TO92 - Vaguely active
Posts: 1
Joined: Mon May 19, 2008 11:16 am

What about a PC

Post by senator29 »

Why not try a pc with i/o interface cards?

run an embedded version of linux with software that monitors outputs and provides inputs. it would require an adaptor board between the car and the i/o card. if done right it could handle any car, the software is what would be changed based on car. also the number of i/o ports and cards needed would be determined by what you want the system to see and control.

this would allow full integration of a pc into a vehicle. an easy addon would be a touchscreen gauge cluster as some have done before. add outputs for a heads up display. it could do the newer suspension and brake monitor and controls along with driveline.

some of the new high end luxury cars have embedded windows running them. i have heard some stories about it too but its windows.

a linux pc environment is more known by the community. i/o cards are not too difficult. and building a circuit with adjustable paths for output ranges isnt terribly difficult and would mainly contain common components everyone could get a hold of.

computers are faster and smaller. some are the size of a floppy drive. i am sure some custom arrangement could be constructed, not a mid tower.

i dont know. seems like this would be easier to bring together. the next step would be the open hardware ecu design and software package.

is there anyone out there doing this kind of pc ecu? i have searched google only to find pages and pages of running cars on hydrogen.
User avatar
ababkin
LQFP112 - Up with the play
Posts: 215
Joined: Tue Jan 15, 2008 5:14 pm

Re: What about a PC

Post by ababkin »

your question reminds me of myself about 2 yrs ago :D

there are a few compelling reasons not to use PC for EMS/ECU:
- reliability: you don't want the ECU to crash when you're boosting 20psi - a lean spike can cause an engine meltdown
- response to hardware interrupts - haven't dealt personally with those on a pc, but multiple people told me reaction time to hw interrupts on a PC is inferior to that of an embedded device
- environment: temperature ranges and vibrations/g-forces tolerance
- boot time: ECU has to be operational within milliseconds

the fact that some car maker puts an embedded windows in a car computer doesn't mean anything. Did you know that there are actually about 80 ECUs in a modern luxury BMWs? I seriously doubt any car manufacturer would put windows CE on anything that is time critical or that has to be super-reliable.

Now, with this knowledge at hand, i suggest you look into the world of embedded devices. I wish i did long time ago.
Legal disclaimer for all my posts: I'm not responsible for anything, you are responsible for everything. This is an open and free world with no strings attached.
GartnerProspect
LQFP112 - Up with the play
Posts: 160
Joined: Tue Apr 08, 2008 9:14 pm

Re: What about a PC

Post by GartnerProspect »

Absolutely.

There is a LOT to be said about having dedicated hardware. Virtually everything in every car now is computerized running on dedicated hardware. The big change in the last 5-10 years has been CAN bus connecting virtually everything in the vehicle. But that is just a big fat annoyance IMO.
toalan
Wideband Wizard
Posts: 241
Joined: Tue Jun 10, 2008 2:53 am
Location: Toronto Canada
Contact:

Re: What about a PC

Post by toalan »

The big problem is that windows (CE,xp,vista,etc..) and linux are not real time operating systems. There is no hard limit as to the system response to a time critical event. The linux 2.6 kernel does alot to address the issue, and the system response to time critical events have improved significantly WRT to the previous linux kernel, but there is still no hard limit. I think something in the order of single ms is the typical response time, which is not good enough for automotive applications.

Another problem is the interface. Ideally you want to use PCI express, but PCI express is very expensive and challenging to develop for. I am not sure about PCI, it might be much easier to work with and have a low enough latency to work. I do not think ISA has a low enough latency. USB will definitely not work, the latency is atleast 1ms. PCMCIA is similar to PCI/PCI express, probably alot of work.

Bootup is not a huge issue, linux can boot under 2s if you cripple it enough.

Right now embedded Oses are used primarily for multimedia stuff for high end cars, I have not heard of any auto manufacturer using it for actual engine control.

Now is the right time to tackle a problem like this as the small form factor laptops/desktops become popular and cheap. But I am guessing you will spend more time developing a custom version of linux to tackle real time events then you would writing EMS code.
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: What about a PC

Post by Fred »

EMS code would be trivial to write with that much horsepower really. As you say though, there are some major hazards.

Fred.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
toalan
Wideband Wizard
Posts: 241
Joined: Tue Jun 10, 2008 2:53 am
Location: Toronto Canada
Contact:

Re: What about a PC

Post by toalan »

With that much horsepower I would not even write vanilla EMS code. I would try to build a engine model in matlab and run simulink in realtime to control my engine, maybe some FFT to do knock detection in realtime, fuzzy logic sounds cool, and neural networks looks like it would be useful for knock detection. I am not sure what I would do but I a certain I would find some use for it.

The initial investment will be higher than MS, but for many additions it would cost next to nothing. If you want more processing power then overclock your comp or get a new CPU, pop in another stick of DDR2 ram, put in a wireless card for wireless communications. You would not need a hardware debugger as the pc is both the target and development machine.

I have an AVR32 board running linux that I bought 1.5 years ago to investigate the possibility of using embedded linux for EMS. I did not make much progress as embedded linux is more complex than I anticipated and there was no GPL real-time kernel available. Right now it still is not practical but maybe in a year or two it will be practical, I am waiting for that day.

I bought an FPGA kit last month to start making a PCI express bridge but that is alot of work.
Post Reply