For Embedded Systems Designer wannabe’s
Evolution of Embedded Systems
Time Shared Main Frames
In the 1960.s and 1970’s computers were used extensively for mathematical or commercial computation. It was seen that the computers could be used for monitoring, control and Logging of data. The computers were very expensive and so they had to be time shared for meeting the requirements of diverse applications. There should (USED ?) to be one computer in the campus of Industry or University. The Apollo series of lunar probes were monitored & Controlled by computers which were huge machines drawing heavy power and still shared by many other applications. Then came the microprocessors- CPU on Chip- this was early 1970. Soon by late 1970’s the expertise on using Microprocessors increased and so did the range of microprocessors. The available system software, like compilers and operating systems, also evolved and the late 1970 and early 1980 saw the rise of the PC(Personal Computer). The PC was affordable from the cost, power and size aspects. The Main Frame campus computers were now the Goliath while the PC turned out to be the David- in no way was it inferior to the Main Frame apart from the size and Power consumption. Thus the era of affordable General purpose computers began and vast application areas were resolved.
The PC and Dedicated Computers
At this stage the Industry and Scientific community thought of making computers which perform specific tasks and so the costs would be lower than of the general purpose computers. This was so as the PC needed offline and on line storage drives, an elaborate operating system and a full fledged keyboard and display. In contrast the specific application Computer needed less peripheral devices, less memory capacity, fixed and limited keyboard and display to suit the application. The only special requirement was that the applications had to be rom-ed and so special approaches were needed for coding the application for the purpose of rom-ing. These were the dedicated computer systems which would be placed alongside an existing equipment and provide the necessary intelligent control and computation needed to improve the operation of the equipment.
Like for instance a printer mechanism would be cabled to a dedicated computer and perform as an integrated system.
Enter the Microprocessors & Microcontroller
The VLSI technology bought about reduction in size and price of Microprocessors and also allowed inclusion of peripheral chips to the package of the microprocessor. This was the early 1980’s and at this point of time there were telephones with separate attachments like Answering machines, Phone Number logging and Predictive dialing. Due to the size, power, cost reductions in microprocessors and associated components these were extensively used in special purpose computers like wireless communications, televisions, radio scanners, TV Games. The microprocessors now got loaded with lots of peripherals and had on chip RAM, ROM, I/O’s and so they got termed as microcomputers. However these single chip microcomputers were not exactly replacements for the PC as they did not have sufficient on chip ram to do data processing. Data processing applications need a relatively small program but a large amount of RAM for data operations. These microcomputers proved to be suitable for applications needing a relatively large program but small RAM, these applications are for control purposes. The microcomputers were now renamed as micro controllers and were being packed with features.
Intelligence to the products
In the late 1980’s the microcontrollers were being introduced in products to enhance the products functionality. One of the first products to be realized were telephones with built in answering and recording machines, caller line identification. These were telephone instruments with computers built in to them when these telephones are seen the internal computer is not seen but the internal presence of the computer is registered by the functional enhancement. Thus began the era of embedded system. The word embedded is understood as in the sentence “this ring has been embedded with a beautiful diamond”. where the diamond is installed in the ring and brings a sparkle to it but the ring remains a ring. The choice of the diamond should so chosen to enhance the functionality of the ring rather than obscure the ring. Imagine embedding a Kohinoor diamond in the ring- the rings functionality to decorate the hand is overshadowed by the Kohinoor. Thus the rings functionality is impaired and the purpose of embedding the diamond (Huge and Heavy Kohinoor) is defeated. Thus an embedded system is one which is built into the equipment whose functionality is improved by its presence. For example take the cases of these products Photocopying Machine, Washing Machine, the cell-phone, TV’s with PIP, Set Top Boxes, Modern Automobiles and they still retain their looks, appearance and utilities – only now they have greater functionality over their pre-embedded versions. This is how embedded systems have revolutionized the same products.
I wanna do it..
The budding embedded systems designer will start by understanding the Microprocessor, and its Architecture, the instruction set, and the signals. The next step is to program it in assembly language keeping simple programs in mind but involving variety of addressing modes and peripheral Interfacing.
Adopt a RISC microcontroller 8 or 6 bit which is available locally and has a provision for In System Programming(ISP). A few choices are AT90S2313 or ATmega8 from ATMEL corporation or 16F877 from MicroChip incorporated. Pick a GNU compiler and ISP Program downloader. Start with a simple Blinky program which will blink an LED and this will be the first embedded program. Keep practicing by connecting an LCD module, Keyboard, Analog to Digital Converter, Serial Communication and a Wireless transceiver link to PC. This will clearly get One started. Try making simple applications needed in an around the neighbor-hood and the confidence boosts up. The applications at this level will need brushing up of subjects like ‘C and DS’ , Linear Integrated Circuits, Computer Organisation, Microprocessor & Interfacing.
The next Big step is for one to get familiar with an operating system like UNIX or LINUX through a good GURU and understand and practice these- Command Line operations-Process Management-Memory Management- I/O management- Inter Process Communication – Network programming (understand the Internet protocols used-TCP/UDP and Socket Programming) –Device Drivers.
Procure a Real Time operating System (RTOS) from a free down load source for example there’s VxWorks from WindRiver Systems and also RTLinux from FSM labs. The RTOS are similar to the General Operating Systems like UNIX & Linux only they have small foot print and are single User(Application) multi tasking. One should make sure that the GURU will take them through all this steps.
This step is optional as now one is ready to take on the embedded systems industry however Pick up an ARM 7 or 9 Microcomputer board from a manufacturer near by. Make sure that the board has an Ethernet interface in addition to free IO ports an ADC would be interesting to have though not essential..Use the RTOS’s previously downloaded to write programs and make a web server for a local network and later get connected to the www.
Those who skipped the previous step may prepare their resumes and venture out to the wonderful world of Embedded Systems. Usually this group of engineers would be developers and those who have gone through the previous step would have evolved into designers.
This article author uses this knowledge professionally and also as a hobby… just like the proverb says “A rich mans occupation is change of relaxation while a Technical mans relaxation is change of occupation”. Wishing the budding embedded system designers all the best in their venture into this wonderful area and in acquiring a knowledgeable GURU.