I cannot even begin to agree that "A carburettor engine .... easily pass current emission standards".
Lambda value (to start with)?
659.
|
I cannot even begin to agree that "A carburettor engine .... easily pass current emission standards". Lambda value (to start with)? 659.
It will if running on LPG - the emissions are so low as to be virtually unmeasurable.
|
But won't an LPG car be tested when running on petrol for MOT purposes?
|
What about that electric car they built on Top Gear a week or two back with a TVR chassis and the engine out of a milkfloat (and not enough batteries James).
It was road legal (by declaring it as a van apparently) - was there really any software in that?
It was a stupid car and you wouldn't mass manufacture such a thing but in principle it would mean you can indeed have a road legal "car" without software, as the OP asked, I'd have thought.
|
Anybody remember that "Car for Africa" project ?
|
Yes-they spent a fortune to find that every old 2CV in Africa overtook them!!!
Edited by jc2 on 13/01/2010 at 16:14
|
A car may pass on the emission values but the regulations contain a number of other requirements.
|
Yes, the 'Africar', glued marine-ply body/chassis with Citroen GS running gear (but not the oleo-pneumatic suspension I think). The idea was that the main structure could be built anywhere and easily repaired using local materials and skills, and bought-in 'last year's model' running gear could easily be sourced.
It was a visionary idea but no one wanted it. Its inventor/promoter ran into quite bad financial trouble.
Edited by Lud on 13/01/2010 at 16:14
|
|
But won't an LPG car be tested when running on petrol for MOT purposes?
No. It is tested on whatever fuel it is running on when presented.
|
|
|
|
A carburettor engine with old fashioned contact-breaker ignition and a basic LPG conversion with open-loop mixer system will easily pass current emmision standards.
Maybe, maybe not. But EU rules mandate that all new cars (excepting SVA etc as mentioned above) must be fitted with EODB diagnostics (if you forgive the pleonasm), so it would still need to have software regardless.
|
>> But EU rules mandate that all new cars (excepting SVA etc as mentioned above) must be fitted with EODB diagnostics (if you forgive the pleonasm) so it would still need to have software regardless.
Oh well, that would be the snag then. But perhaps if there is nothing to diagnose, the diagnostics need consist only of a light and switch? If you push the button and the light comes on, everything is OK.
|
Nice idea, I suppose it depends whether or not the rules state that the EODB connector has to do anything other than say, "yes I'm here" or not? :)
|
What about... Top Gear... electric car... in principle it would mean you can indeed have a road legal "car" without software
It was based on an L reg TVR, IIRC. The OP's question was relating to "today's world", which I take to mean complying with all current technical legislation for new car manufacture and registration.
I would imagine that it is possible as long as the question of emissions can be dealt with, and mandatory ABS, and as long as the owner didn't want any of the more modern creature comforts such as heaters which turn to recirculate when you wash the windscreen! Of course a non-software car would have a pretty dire Euro-NCAP crash test score, with no airbags, seat belt pretensioners or such like.
|
I would imagine that it is possible as long
No, it isn't. EU Type Appoval *requires* that EODB is fitted to the car and some basic functions are available, e.g. VIN number, engine rpm, standard fault codes, etc.
You can't have a working EODB port without software behind it.
|
LPG fuelled car would do it.
Also you could build a car using an ECU that did not incorporate any software. The algorithms would be executed in hardware (design the system using pseudocode, convert into algorithmic state machine charts and them implement in logic).
|
Beware of pedantry in this post... :)
An algorithm *is* software by another name... ;) Or more accurately, software that performs a set of pre-determined operations is known as an algorithm.
Whether it's hard-coded into the chips, set as firmware that can be overwritten or loaded from a storage device, it's all still software.
I would say the definition of software is a set of instructions that perform a set of definable operations on hardware. So what you propose is still software, no matter what state the instructions are stored and implemented in.
|
All new cars require ABS. ABS requires software.
|
Is having ABS a legal requirement now?
|
I think all new cars in the UK need ABS now.
|
New homologations from 2004-new registrations from 2005 IIRC.
|
I think that is correct re ABS but I have a feeling in my water that it does not have to be fitted to very low volume models such as Caterhams / Westfields etc. Might be wrong of course. Has been known.
Edited by Humph Backbridge on 14/01/2010 at 16:14
|
I would say the definition of software is a set of instructions that perform a set of definable operations on hardware. So what you propose is still software no matter what state the instructions are stored and implemented in.
I think you are wrong. I may only be a semi literate humble grease monkey But I have studies books about microprocessors and computers. What I proposed above would not have instructions as such, it would be a set of logic gates that produce a certain output in response to a certain set of inputs. I believe such things are used where very very fast data processing is required (like in military signal analysis). there is no processor or set of instructions stored. there is no 'fetch-execute' cycle as in a CPU. It is purely logic that produces an output in response to a set of inputs and the speed of processing is just the sum of the propagation dealays through the logic gates.
|
It is purely logic that produces an output in response to a set of inputs and the speed of processing is just the sum of the propagation dealays through the logic gates.
Aye, but that's all computer software does. Simple logic that has inputs and outputs. When it comes down to it, that's all there is, more or less. Have you ever seen the lowest level of code for computers? Very simple push data, pull data, add, subtract and compare. Not a lot else really.
You don't need the fetch-execute cycle to be software, that's just one processing paradigm, and happens to be the most common one. You can remove the push and pull of data from storage, but it's still a program, even if it all it does it test input, make decisions and produce outputs.
I would argue that the algorithm that determines how the logic gates work in your example is technically a program, and therefore is software and vulnerable to software defects (i.e. bugs) just like any other program, which I think is what the OP was concerned about when asking about cars without software.
I have the slight advantage of a software engineering degree, but as I spent most of my study time quite drunk and staggered out with a 2:2, I am happy to be corrected! :)
|
If the logic is hard wired into hardware as in logic gates, then that is hardware.
The answer to the original question would be yes it is theoretically possible to do this but not practical. Any change/update found to be needed to the algorithms used would need new hardware. We all know ECUs get updated with new software often.
|
If the logic is hard wired into hardware as in logic gates then that is hardware.
Quite a lot of the software that gets written in my company ends up being implemented in hardware (for speed), but it's still software, at least as far as we are concerned.
|
I have the slight advantage of a software engineering degree but as I spent most of my study time quite drunk and staggered out with a 2:2 I am happy to be corrected! :)
Won't be by me then (3rd). And I wasn't even drunk :-(
Interesting question - I wonder what a court would make of it.
|
I would argue that the algorithm that determines how the logic gates work in your example is technically a program and therefore is software and vulnerable to software defects (i.e. bugs) just like any other program which I think is what the OP was concerned about when asking about cars without software. I have the slight advantage of a software engineering degree but as I spent most of my study time quite drunk and staggered out with a 2:2 I am happy to be corrected! :)
I am only a relatively uneducated grease monkey, I admit, and I'm sure youre a lot smarter than me, but I still think I'm right. I think the word software implies a set of instructions that are executed by something like an Arithmetic_Logic Unit in a CPU. The istructions made be hard-wired into, say, a ROM, but the operation of the device could altered by a change of intructions.
What I am talking about in the state machine is a set of logic gates wired in such a way that they give a predetermined output in response to a particular instantaneous set of inputs and the HISTORY of those inputs (Mealy-Moore state machine). In other words its just transistors (logic gates) wired together in a particular way. You might argure that the wiring is the 'program', but on that basis you could argue that the two-way light switch for your hall-and-landing light is 'software'. I think there is a big difference between a device which is built purely from sequential and combination logic with no stored data or instructions, and a device which is effectively reconfiguable by changing numbers (instriutions) held in storage (which is what a computer is).
I might be wrong though, I was in high school when the first microprocessors were invented and not had the advantage of any education in computers.
Edited by WorkshopTech on 14/01/2010 at 17:51
|
WT, you're being too self deprecating. I really enjoy reading your posts, you're full of good knowledge.
The distinction alluded to above is combinatorial vs sequential logic. Combinatorial is what WT describes (minus the flip-flops / state machine part) - you apply an input and get a deterministic output with no "memory" of previous states factoring into the equation.
This approach has no software, but it's not much use because we need the ability to store now and then values (history) and also operate on this data.
WT suggested using flip-flops, a primitive computation device. For those we need a clock (could be a simple switch on the dashboard labeled "move state machine to next state" doesn't have to be a typical autonomous clock input). This addition of a clock makes it sequential logic.
Because they become sequential circuits you couldn't use them to qualify in a look-ma-no-software car. A sequential circuit is programmed and can operate differently for the same applied inputs, based on processing current & historical data. Although the processing is primitive in the extreme, it's still achieved through programming (in this case laying out logic gates rather than typing code).
All this said though, we'd describe the combinatorial hardware in verilog or VHDL (hardware definition language == programming language) then after some testing and optimisation we'd burn a chip based on this (analogous to compiling a program in the software world).
In effect the chip, whilst having "no moving parts" is the result of "programming" the VHDL code to describe the chip and its behaviour and all the bugs that entails.
As OilBurner said, it's non trivial to deploy a bug fix in the case that the algorithms implemented in an ASIC (application specific integrated circuit).
Edited by CraigP on 14/01/2010 at 18:18
|
If Focus is referring to getting their programs to run on say an ASIC, then that is still programming. The ASIC needs to be setup. Still faster running than on a generic processing unit.
What WT suggests would not be practical at all though.
|
If Focus is referring to getting their programs to run on say an ASIC then that is still programming. The ASIC needs to be setup.
No - this is actually sent to the chip manufacturers to be built into the silicon, so big (and expensive) problem if you get it wrong.
|
No - this is actually sent to the chip manufacturers to be built into the silicon so big (and expensive) problem if you get it wrong.
If you're interested: www.picochip.com/page/42/multi-core-dsp-architectu...e
See the entries of type 'accelerator' (and the 'engines' I think) in the table.
|
If Focus is referring to getting their programs to run on say an ASIC, then that is still programming. The ASIC needs to be setup. Still faster running than on a generic processing unit.
rt70 Are you maybe talking about an FPGA (Field Programmable Gate Array) rather than an ASIC?
Edited by CraigP on 14/01/2010 at 18:50
|
Are you maybe talking about an FPGA (Field Programmable Gate Array) rather than an ASIC?
Probably most of the code is indeed loaded into the device at initialisation, but a significant amount is already burnt into the silicon (see link above).
|
I think the problem lies in the NBG/TLAs and FLAs being used in the calculations.
|
I think the problem lies in the NBG/TLAs and FLAs being used in the calculations
Haha! I tried to avoid 'em, i defined em when i used 'em too!
|
Still blinkin' Swahili to me I'm afraid. Sometimes I feel very humbled here.....
:-(
Edit - I was OK with the Flip Flops
;-)
Edited by Humph Backbridge on 14/01/2010 at 19:05
|
First ASIC I came across/used would have been the ULA (Uncommitted Logic Array) in the ZX81 :-)
|
Ah - but what is 'software'? One could argue that the rot set in when they automated the 'advance and retard' of petrol engine ignition systems by way of vacuum!!
|
First ASIC I came across ... ... in the ZX81 :-)
Would it make you feel old if i said that was launched way before my time :-P (well 3 years before anyway...)
I feel like i've missed out on some things being young though. I was fortunate enough to grow up in the best years of computing but i missed the best years of cars.
Everywhere i read about tuning carburetors and smacking starter motors with hammers [1] and water in the dizzy cap... but everything was fuel injected by the time i got out of napies what chance do i get to play with "proper" engines!
I will, one day, own a non fuel injected ford capri. And i will spray the inside of the dizzy with WD40 while hammering the starter motor in howling wind & rain whilst adjusting the jetting screw on the carb... one day! :-)
[1] -- First car needed this so not totally missed out on the fun
|
WT suggested using flip-flops a primitive computation device. For those we need a clock (could be a simple switch on the dashboard labeled "move state machine to next state" doesn't have to be a typical autonomous clock input). This addition of a clock makes it sequential logic. Because they become sequential circuits you couldn't use them to qualify in a look-ma-no-software car. A sequential circuit is programmed and can operate differently for the same applied inputs based on processing current & historical data. Although the processing is primitive in the extreme it's still achieved through programming (in this case laying out logic gates rather than typing code).
I agree that you would need to program the state machine - the wiring would be the programming - this is rather like setting up a pattern on a knitting machine. But it would have no software. My understanding is that software is the set of instructions that a computer executes and these can be changed.
Anyway, I am getting a little out of my depth so Ill lleave it there.
|
Why the desire not to have software?
Having software which can be updated is one of the great things about modern cars. Improvements in the software which can be updated in the service environment is surely a flexibility not to be sniffed at. Having all the functions hard coded or burnt into FPGAs is a major pain in the backside - once you've written to the chip, that's it, fixed forever.
|
>Why the desire not to have software?
I think that there is still a perception that software in vehicles is inherently buggy and a source of unnecessary problems. The benefits go un-noticed.
As far as the OP's original question goes, it really depends on what the definition of software is (as Bill Clinton would say). I tend to agree with WT's intepretation.
I can't think of any reason why it would not be possible to build an EOBD compliant engine management system using hardwired thermionic valves. Does a soldering iron and a set of truth tables count as software?
Kevin...
|
|
|