Why do we need Embedded Systems?
The first reason why we need Embedded Systems is that general-purpose computers, like PCs, would be far too costly for the majority of products that incorporate some form of embedded system technology. Another reason why we need Embedded Systems is that general-purpose solution might also fail to meet a number of functional or performance requirements such as constraints in power-consumption, size-limitations, reliability or real-time performance etc.
The digital revolution started decades ago, has reached a stage that we cannot conduct our normal modern daily lives without this technology. Indeed, it is safe to say that we already own at least one piece of equipment, which contains a processor, whether it is a phone, a television, an automatic washing machine or an MP3 player.
The colossal growth of processing power in small packages has fuelled the digital revolution. All sectors of the economy have been influenced by the digital revolution and the industry has experienced tremendous developments in all aspects of engineering disciplines.
By using this embedded system technology the complexity of the circuits can be reduced to a great extent which further reduces the cost and size. Embedded system was primarily developed by Charles Stark for reducing the size and weight of the project circuitry.
to develop an interest let’s understand …………
What is IoT?
IoT refers to Internet of Things. This is the concept of basically connecting any device with an on and off switch to the Internet (and/or to each other). This includes everything from cell phones, coffee makers, washing machines, headphones, lamps, wearable devices and almost anything else you can think of. This also applies to components of machines, for example, a jet engine of an airplane or the drill of an oil rig. As I mentioned, if it has an on and off switch then chances are it can be a part of the IoT. The analyst firm Gartner says that by 2020 there will be over 26 billion connected devices… That’s a lot of connections (some even estimate this number to be much higher, over 100 billion). The IoT is a giant network of connected “things” (which also includes people). The relationship will be between people-people, people-things, and things-things.
Iot aspect of an embedded system.
so if we want to implement IoT we need something that works as an intermediator between the device and internet . Something which has the ability to do both , the internet talks and the device talks, at this point a microcontroller (or microprocessor )comes into the scenario. What it does is it establish a physical connection with the device and then connect itself physically or virtually with the internet and this results in enormous possibilities of changing the device configuration Like turning it on and off, checking device up time or checking for any errors/ faults in it etc!
So at this point, we can say this embedded system thing or to be more specific the microcontrollers are very interesting things.what are some of the really cool stuff you can create using embedded systems?
|Temperature Controlled DC Fan using Microcontroller:
|The main principle of the circuit is to switch on the fan connected to DC motor when the temperature is greater than a threshold value.This can be used in home applications and in CPU to reduce heat. Uses MCU, temp. sensor and relays.|
|Biometric Attendance System using Microcontroller:|| This finger print based attendance system is designed using AVR Microcontroller. This can be used in industries, schools, colleges, etc.
|Density Based Traffic Signal System using Microcontroller||In this system, we use IR sensors to measure the traffic density. We have to arrange one IR sensor for each road; these sensors always sense the traffic on that particular road. All these sensors are interfaced to the microcontroller. Based on these sensors, controller detects the traffic and controls the traffic system.|
Line Following /wall following /object detector / self-balancing / wrist controlled Robotic Circuit using ATMega16 Microcontroller
| These kinds of robots can easily be made using MCU and required sensors.
Line follower: -moves on a line
wall follower: moves along a wall
object detector: detects an object and turns on the buzzer
Self-balancing: balance itself on two tyres using the gyroscope.
Wrist controlled: robot can be moved with the motion of the wrist using accelerometer.
|Street Lights that Glow on Detecting Vehicle Movement:||This article describes about the circuit that switches the street lights on detecting vehicle movement and remains off after fixed time. This system controls the street lights using light dependent resistor and PIR sensor.|
|Auto Intensity Control of Street Lights||This is a simple circuit that automatically controls the intensity of street lights which is designed using microcontroller and LEDs.|
|RFID based Attendance System:||This simple RFID based attendance system is designed using ATmega8 Microcontroller and is mainly used in educational institutions, industries, etc. where authentication is needed.|
|Digital Temperature Sensor:||The main principle of this circuit is to display the digital temperature value. These are mainly used in environmental applications.|
|2 Digit Up Down Counter:||The main principle of this circuit is to increment the values on seven segment displays by pressing the button. This circuit can be mainly used in scoreboards.
|DTMF Based Home Automation System Circuit:||This is a simple and very useful circuit in our real life named DTMF controlled home appliances system. It helps to control the home appliances using DTMF technology.|
|Water Level Indicator||This Water Level Indicator project employs a simple mechanism which helps to detect and indicate the water level in an overhead tank or any other water container. It can be used in Hotels, Factories, Homes Apartments, Commercial Complexes, Drainage, etc.|
|Interfacing 16X2 LCD to AVR Microcontroller:
|This is a circuit which helps in interfacing 16X2 LCD with AVR Microcontroller. The Atmega16 belongs to the AVR microcontroller family.|
|automatic Railway Gate Controller with High Speed Alerting System:||The main aim of this project is to operate and control the unmanned railway gate in the proper manner in order to avoid the accidents in the unmanned railway crossing.|
|Boolean Algebra Calculator:||This Boolean algebra calculator is an interesting project which is more useful in our real life by working as a portable calculator to simplify the Boolean expression on the fly. In our circuit, we use Boolean algebra simplification methods like the Quine-McCluskey algorithm to simplify the Boolean expression and display the output on the display.|
And many more….
Now shifting towards a more technical way to get into the field of embedded systems and start creating your own projects..
What is an MCU?
First of all what is an IC..?
An integrated circuit (IC), sometimes called a chip or microchip, is a semiconductor wafer on which thousands or millions of tiny resistors, capacitors, and transistors are fabricated.
An IC can function as an amplifier, oscillator, timer, counter, computer memory, or microprocessor.
A particular IC is categorized as either linear analog or digital, depending on its intended application.
An IC according to its capabilities can be called as MCU
- A microcontroller is a self-contained system with peripherals, memory and a processor that can be used as an embedded system. Most programmable microcontrollers that are used today are embedded in other consumer products or machinery including phones, peripherals, automobiles and household appliances for computer systems. Due to that, another name for a microcontroller is “embedded controller.” Some embedded systems are more sophisticated, while others have minimal requirements for memory and programming length and a low software complexity. Input and output devices include solenoids, LCD displays, relays, switches and sensors for data like humidity, temperature or light level, amongst others. Another definition can be
It’s like a small computer on a single IC. It contains a processor core, ROM, RAM and I/O pins dedicated to perform various tasks. Microcontrollers are generally used in projects and applications that require direct control of the user. As it has all the components needed in its single chip, it does not need any external circuits to do its task so microcontrollers are heavily used in embedded systems and major microcontroller manufacturing companies are making them to be used in embedded market. A microcontroller can be called the heart of embedded system. Some examples of popular microcontrollers are 8051, AVR, PIC series of microcontrollers,.
A microcontroller is not a microprocessor..
MCU can be differentiated on the basis of power consumption, architecture, no of bits, no of clock cycles required to execute instruction, type of memory, size of memory, peripheral features like ADC , SPI, USART/UART, I2C, Timers etc.., oscillator support , I/o packages , output voltage,speed.
What is an MCPU(Microprocessor unit)?
The microprocessor has only a CPU inside them in one or few Integrated Circuits. Like microcontrollers it does not have RAM, ROM and other peripherals. They are dependent on external circuits of peripherals to work. But microprocessors are not made for specific task but they are required where tasks are complex and tricky like development of software’s, games and other applications that require high memory and where input and output are not defined. It may be called heart of a computer system. Some examples of microprocessor are Pentium, I3, and I5 etc.
Difference between MCU and MCPU?
- The key difference in both of them is the presence of external peripheral, where microcontrollers have RAM, ROM, EEPROM embedded in it while we have to use external circuits in case of microprocessors.
- As all the peripheral of microcontroller are on a single chip it is compact while the microprocessor is bulky.
- Microcontrollers are made by using complementary metal oxide semiconductor technology so they are far cheaper than microprocessors. In addition, the applications made with microcontrollers are cheaper because they need lesser external components, while the overall cost of systems made with microprocessors are high because of the high number of external components required for such systems.
- The processing speed of microcontrollers is about 8 MHz to 50 MHz, but in the contrary processing speed of general microprocessors is above 1 GHz so it works much faster than microcontrollers.
- Generally, microcontrollers have power saving system, like idle mode or power saving mode so overall it uses less power and also since external components are low overall consumption of power is less. While in microprocessors generally there is no power saving system and also many external components are used with it, so its power consumption is high in comparison with microcontrollers.
- Microcontrollers are compact so it makes them a favorable and efficient system for small products and applications while microprocessors are bulky so they are preferred for larger applications.
- Tasks performed by microcontrollers are limited and generally less complex. While task performed by microprocessors are software development, Game development, website, documents making etc. which are generally more complex so require more memory and speed so that’s why external ROM, RAM are used with it.
- Microcontrollers are based on Harvard architecture where program memory and data memory are separate while microprocessors are based on von Neumann model where program and data are stored in the same memory module.
Which is better?
We can’t say which is better, it totally depends on the type of job to be accomplished…..Our journey in this course will be up to MCU’s.
- Different types of MCU’s.
Atmega 16 by Atmel corp. , 8051 by Intel Corp, PIC MCU, Motorola/Freescale MCU’s, Texas Instruments s/c etc we will be using an AVR ATmega 16/32 in all of our projects instead of 8051 by intel due to following reasons…
- Difference Between 8051 and AVR.
|Bus width||8-bit for standard core||8/32-bit|
|Communication Protocols||UART, USART, SPI, I2C||UART, USART, SPI, I2C, (special purpose AVR support CAN, USB, Ethernet), ADC|
|Speed||12 Clock/instruction cycle||1 clock/ instruction cycle|
|Memory||ROM, SRAM, FLASH||Flash, SRAM, EEPROM|
|Memory Architecture||Von Neumann architecture||Modified|
|Families||8051 variants||Tiny, Atmega, Xmega, special purpose AVR|
|Manufacturer||NXP, Atmel, Silicon Labs, Dallas, Cyprus, Infineon, etc.||Atmel|
|Cost (as compared to features provide)||Very Low||Average|
|Other Feature||Known for its Standard||Cheap, effective|
|Popular Microcontrollers||AT89C51, P89v51, etc.||Atmega8, 16, 32, Arduino Community|
As we can see that ATmega 16/32 is quite advance than 8051 set of MCU we prefer to use AVR MCU…