Disc analyser news update

Tony Duell ard at p850ug1.demon.co.uk
Tue Mar 23 14:27:18 CDT 2010

> On Mon, 22 Mar 2010 19:01:14 +0000 (GMT)
> ard at p850ug1.demon.co.uk (Tony Duell) wrote:
> > There are 2 reelated problems. With a modern-ish microprocessor (external=
> =20
> > program store, but things like instruction pipelines, prefetch buffers,=20
> > etc), you can't know what the CPU is actually doing at any point. If you=
> =20
> > have an internal cache, it is of course even worse.
> Well. If you need more compute power then a 8085 you have to apply
> advanced technics such as caches and superscalar CPUs. Even if you can

For an awful lot of applications you don't need more power than an old 8 
bit processor IMHO. Think of the large number of small PICs, 8051s, etc 
thatare are in use. 

> get away with a small 8 bit controller you want a high integrated
> single chip solution. At least I do. A single Atmel AVR with ISP
> programmer is so much more comfortable to use, cheaper and faster to
> deploy then a whole board filled with CPU, RAM, ROM, IO, ... A single
> chip solution will work out of the box. A discrete CPU, RAM, ROM,

No it doesn;t, you have to write the firmware :-). Amd that is the problem.

> IO, ... solution needs lots of debuging in itself before I can start to
> address the real problem.

Eh? A simple microcprocessor + ROM + RAM + a couple of I/O chips will 
work first time. It doesn't need to be debugged.

In any case, what I would prefer is a chip containing CPU + RAM + I/O + 
clock generator _but not program store_, and an external EPROM for that 
last function, That as I've said repeatedly makes firmware debugging a 
lot easier.

> Tony, I am afraid you have no clue what modern microcontrolers do. E.g.

I beg to differ.

> the controler in my washing machine can detect how much dirty laundry
> is in the machine. It does this by measuring the amount of soaked up

That statement is nonsense for the following reason. A microcontroller 
_on its own_ can't possibly know anything about water of laundry. What it 
can do is take inputs from sensors that measure physical quantiies in the 
washing machine and control other devices (watere inlet valve, etc) based 
on thase values.

The distinction ius importqant, because the first problem is 'what 
physical quantiities need to be measured'. In the case of a washing 
machine, the normal one is th water pressure at the bottom of the drum. 
This, of coruse depends on the water level, rather than the actual volume 
of water that's been let in. If your laundry absorbs a lot of water, you 
need to let in more water for the same level.

Now you don';t need a microcontroller for that. Our old washing machine 
had a water level sensor that consisted of a diaphragm linked by a tube 
to the bottom of the druve. Operating on the outside of the diaphragm was 
a spring, the tension of which could be adjusted by a user control. And 
therew as a quick make break swtich attacehd to it. When there was enough 
water in the drum, the swtich snapped over, turned off the water inlet 
valve, started the motor, and enabled the circuit to the heater element 
(so the heater couldn't run if there was no water in the machine). 

FWIWM that machine ran for well over 35 years with no major failures. I 
replaced rubber parts (hoses, seals) occasionally. I think I changed the 
bearings for the drum once. And a very minor repair on the cam-timer. 

The washing machine that replaced it has no more _useful_ features, it
doesn't get the laundry any cleaner. It doesn't sue significantly less
water (in fact it probably uses more, sicne there's no user control for
water level). And after 5 years I've already had to replace the motor
control module because the microcontroller on it haf failed (they
wouldn't sell just the chip :-(, and yes it was certainly the
microcontroller that had failed). 

> water. So the machine uses only as much water as is needed. I.e. if the
> machine isn't loaded to the max. it will use less water and thus less
> energy for heating and less detregent.

Every washing machine I've ever seen or used uses the amount of detergent 
that you put in it. I've never seen one where you put in an entire box of 
poweder and lt uses what it thinks it beeds.

> An other example. Modern car engine management systems do a closed loop
> simulation of the engine they control. (State observer a la Luenberger
> or Kalman filter.) This way the management system can estimate e.g.
> themperatures in various parts of the engine. This is needed to
> optimize ignition and fuel injection timing, ... and thus minimize fuel
> consumtion. A modern Disel common rail injection is a highly

I did say 'most' and not 'all' uses of microcntrollerss ;-)

Seriously, there are places where they are the right thing to use. And 
there are places where they are not. However, all to often so-called 
designmrs want to solcve every problem with a mircocontroller...

I've got a couple of almost indentcial (to the user) devices in front of 
me. One uses an 8-pin PIC and a motor controller IC. The other uses 10 
discrete transsitors (and no ICs at all). You can guess which one I prefer.

> sophisticated mechatronical system. Not to talk about anti-lock brake
> system... This is somthing I definitely want as it saves my money and
> enhances safety. But you can't do this with a 8085.

The total cost of a car is not primarily the cost of the fuel IMHO. 
Considerign the fuel economy from electronic engine management doesn't 
seem to be that great (based on the cars I've worked on -- I don't 
drive), and considerign they are much more expensive for me to repair, I 
am not at all convinced it will save me money in the end. 


More information about the cctalk mailing list