Embedded Systems: All about microprocessors
Embedded Computer Systems
I started learning about microprocessors a few years ago in college and quickly grasped the whole concept. I was in it for the programming and found out loads of cool things you could make them do.
I used to spend hours after college coding till my fingers were numb, there was just endless new ideas popping in my head. I got on well my embedded technology tutor and we both used to think of new challenges for each other. Some of the are real cool and I'll be writing about them soon! I'm sure you'll like them if you like this.
What is Embedded Systems?
An emdedded system is a circuit designed to carry out dedicated functions, usually running on a single board computer. They are often used to execute critical tasks in a real time operating system.
Modern "embedded systems" are powered by field programmable gate arrays (FPGA), microprocessors (MCU) or digital signal processors (DSP). They are often designed with other peripherals such as:
- sensors
- embedded ethernet,
- audio controllers
- graphics controllers
- flash memory
- rs232
- radio frequency (wifi, bluetooth, gps, gsm, fm/am)
Where it started
From the 1930's, engineers came up with many ways using programmable mechanical automation with electricity. These computers were designed to do only one thing, were very expensive to run and very large. The first well known computer was made of valve switches to calculate simple logic functions. Transistor switches were then invented, these worked similar to valves as they could be used as switches - they were also much smaller. In the space race, scientists from MIT university produced a single board computer made up of transistors to guide the Apollo rocket. In the early 60's, engineers figured a way to etch transistors in a "sandwich" of semi conductive material, known today as an IC (integrated circuit). This led to the mass production of programmable controllers dramtically bringing the cost down.
Uses for embedded devices
Embedded technology is used in most modern electronic devices and are found in many places, from the simplest household to the biggest industrial factory. They are used to control traffic systems, satellites, railway signals.............the list goes on forever!
Many devices that you use are powered by this type of hardware. The most popular is the pc! You can find them in cellphones, mp3 players, digital watches, set top box's and stereos.
The transportation sector depends on these computer systems to in order to function. Every modern car uses an ECU for engine management, relying on several sensors and controllers to operate. Airplanes rely on critical systems for flight, navigation and communication which have very high safety standards to adhere to. Some new advanced planes can take off, fly and then land safely with no human intervention at all. Train links also rely on the technology for signalling and satellite positioning, often with strict time rules and little or no margin for error.
Other industries include manufacturing, medical equipment, robotics, sound equipment and even agriculture.
Types of embedded devices
Microprocessor - These devices carry out all the functions of a central processing unit (CPU) all on one integrated circuit (IC).
4 bit processors
4 bit designs were the first generally available chips and were generally used in calculators. In 1969 Intel started a project to simplify the design of their 4 bit 4004 processor to a four in one chip design. They included ROM for custom firmware, RAM to process data and a 4 bit processor. With all these devices integrated on one chip, it was called the "microprocessor".
8 and 16 bit processors
16 and 8 bit designs were introduced in the early 70's. They were mainly used in personal computers and various gaming consoles. Among the famous ones were the Zilog Z80, Intel 8080 and the Motorola 6800. In 1973 National Semiconductor introduced the first 16 bit microprocessor, the IMP-16. Intel later upgraded the 8080 into a 16 bit 8086. Intel also introduced the x86 architechture on the chip at the same time. It was a great success as it was backward compatible with the 8080, allowing older softer to be used on the newer systems. It was a huge success thanks to the first IBM PC, the 5150.
32 bit processors
32 bit microprocessors came on the market not very long after the 16 bit versions were released, namely the MC68000 which was widely known as the 68K. Although it had a 32 bit architechture, the internal data lines were 16 bits and so was the external data bus. It became very popular and powered devices such as the Apple Lisa, AtariST and Commodore Amiga. Intels x86 later became very popular and was used in most computer systems throughout the world. They declined to license the Pentium line to other companies so AMD and Cyrix started building their own x86 based processors. This lead to increased competition resulting in major advances in transistor count and execution speeds, up to 3.ghz
64 bit processors
64 bit microprocessors are mostly used in modern PC and server applications. AMD was the first to introduce a 64 bit processor with its own architechture (x64), it was also backward compatible with the x86 architechture. Intel later followed suite and introduced their own line of 64 bit processors. Software did not exist for these platforms but still sold because of their backward compatitbility. Software designers later caught up revealing the true capability of these processors.
Dual and Quad Core processors
Dual and Quad core microprocessors contain more than microprocessor on a single chip. They are able to share the work between each other resulting in having the speed of more than one processor. High end desktops and laptops tend to have dual core processors while servers tend to have quad cores. Both Intel and AMD have these types on the market. Sun Microsystems have also introduced an 8 core processor.
FPGA - Field Programmable Gate Array
FPGA's are programmable embedded devices that use an array of logic gates. They are usually programmed in a language called VHDL. The 'V' in VHDL means Very High-Speed Integrated Circuit. The 'HDL' in VHDL means Hardware Description Language. The code, when compiled, breaks certain fuses inside of the chip. This creates a custom set of logic arrays resulting in real time calculations. Once programmed, they are forever dedicated to those instructions. They are usually found in medical devices, consumer electronics and aircraft. They can also be interfaced with other microcontrollers and microprocessors. In cases where FPGA's are combined with other chips in one package, they can refered to as 'system on a chip' (SOC) or 'application specific circuit' (ASIC).
DSP - Digital Signal Processor
These microprocessors are used to sample and process alot of data very quickly. They are mostly used in digital signal processing as the name suggests. They are used in place of microprocessors when sound and streaming data needs to be processed. A normal microprocessor requires an external chip to process sound and streaming data so are not suitable for mobile phones and pda's. A DSP chip can execute regular instructions and process both analog and digital signals making it ideal for such devices.
Embedded Software
Software developers usually use embedded C, C++, BASIC, assembler (ASM) and VHDL to program the different chips. Most microcontrollers are language specific although third party software developers create custom firmware allowing users to use custom IDE's, debugging tools and libraries.
Embedded Systems Development
Most companies who manufacture embedded systems sell development boards or single board computers for their devices. Many of them also offer training on how to use their products. The cost varies by chip type and manufacture. Just google you chip of interest!
Simple analog to digital tutorial
Good Luck!
Hope you found my article useful! Peace out :)