Electrical Engineering as Programming
Go find your favorite electronic gadget. We’ll wait. Okay, open it up, and what you will undoubtedly see are a bunch of small black boxes attached to a board.
Most of the black plastic things are integrated circuits. Odds are pretty good that the biggest one is some sort of microprocessor or microcontroller – basically, a computer on a chip. The rest is probably stuff the micro needs to operate, or to talk to the outside world.
The curious thing is that the people who “design” these electronic things are mostly buying parts out of a catalog, and hooking them together, often just as diagrammed on some datasheet.
Part of the “design” was in choosing the right parts, but lots of companies use very similar, if not identical parts. What often distinguishes an electronic product is not its hardware, but its software! Remember the micro, the computer inside? It is a great deal easier and cheaper to write software than to design and build hardware. So the intellectual capital largely goes into the software.
How did we get to this state of affairs? Call it the digital revolution, if you like.
Micros got irresistibly cheap. At the time of this writing, 8-bit micorcontrollers are just starting to fall below $0.50/unit. So rather than designing some tricky circuit to perform some control function, you buy some mass produced micro, interface it to your stuff, and simply program it to do whatever you want. This accurately describes a vast array of modern electronic products. Not everything, but a lot of stuff.
This is the question we will really be addressing in this text.
Some of you might be wondering about those people who design the chips – they must really be doing some serious electrical engineering. Ironically, these chips have gotten so complex that they are physically laid out by electronic design automation software. How do you tell the software what you want the chip to do?
You write programs in a hardware description language. So even here, the problem is largely reduced to programming.
This is a class in electrical engineering, not programming. But it is very difficult to talk about building modern circuits without doing some programming. And, as we implied earlier, programming a micro can be tedious.
|Title:||A pragmatic introduction to the art of electrical engineering – Paul H. Dietz|
|Download:||Right here | Get Download Updates | Get Technical articles|