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
program store, but things like instruction pipelines, prefetch buffers,
etc), you can't know what the CPU is actually doing at any point. If you
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
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,
IO, ... solution needs lots of debuging in itself before I can start to
address the real problem.
The other problem is that with microcontrollers, even
if it's a simple,
old-fashioned, CPU sturctur, the entire program memory is on the same
chip as the CPU itself. You simply don't have access to the program store
address and data buses. So you can't know what the CPU is actually trying
to execute, or even what program locations it's read.
I do seriously wonder about the real value of such chips used in control
systems. I'd rahter have something simpler that I can show is working
correctly. It seems to me that a lot of the time the extra power of these
modern microcontrollers doesn't at anything useful to the final product.
Tony,
I am afraid you have no clue what modern microcontrolers do. E.g.
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
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.
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
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.
--
tsch??,
Jochen
Homepage:
http://www.unixag-kl.fh-kl.de/~jkunz/