An Embedded System is combination of hardware and software where hardware part is programmable through software and performs specific functions at specific time or action. A computer system with a dedicated function often with real-time computing constraints is called Embedded System. It is embedded as part of a complete device often including hardware and mechanical parts. By contrast, a general-purpose computer, such as a personal computer (PC), is designed to be flexible and meets a wide range of end-user needs. Embedded systems control many devices in common use today.
Modern embedded systems are often based on microcontrollers (i.e CPUs with integrated memory and/or peripheral interfaces) and ordinary microprocessors (using external chips for memory and peripheral interface circuits). These are very common, especially in more complex systems. The processor(s) used may range from general purpose to very specialized in certain class of computations or even custom designed for different applications e.g. common standard class of dedicated processors is the digital signal processor class (DSP in short).
Embedded systems range from portable devices such as digital watches and MP3 players, to large stationary installations like traffic lights, factory controllers, and largely complex systems like hybrid vehicles, MRI, and avionics. Complexity varies from low, with a single microcontroller chip, to very high with multiple units, peripherals and networks mounted inside a large chassis or enclosure.
Intel Corporation introduced 8051, an 8-bit microcontroller in 1981.This microcontroller had 128 bytes of RAM, 4K bytes of on-chip ROM, two timers one serial port and 4 ports (each 8 bits wide) all on a single chip. That is why it was also referred to as “system on-chip”. The CPU can work for only 8 bits of data at a time because 8051 is an 8-bit processor. In case the data is larger than 8 bits then it has to be broken into parts so that the CPU can process conveniently. Most manufacturers have put 4Kb of ROM even though the quantity of ROM can be extended up to 64 Kb.
8051 Micro controller has been in use in a wide number of devices, mainly because it is very easy to integrate it into a project or a new device. The following are the main areas of focus:
AVR was developed in the year 1996 by Atmel Corporation. The AVR architecture was conceived and developed by two students at the Norwegian Institute of Technology (NTH) Alf-Egil Bogen Blog (www.alfbogen.com) and Vegard Wollan. AVR derives its name from its developers and stands for Alf-Egil Bogen Vegard Wollan RISC microcontroller, also known as Advanced Virtual RISC. The AT90S8515 was the first microcontroller which was based on AVR architecture however the first microcontroller to hit the commercial market was AT90S1200 in the year 1997.
AVR microcontrollers are available in three categories:
The AVR Microcontroller is a modified Harvard architecture 8-bit RISC single chip microcontroller which was developed by Atmel in 1996. The AVR was one of the first microcontroller families to use on-chip flash memory for program storage, as opposed to one-time programmable ROM, EPROM, or EEPROM used by other microcontrollers at the time.
Note: "AVR" in this article generally refers to the 8-bit RISC line of Atmel AVR Microcontrollers.
PIC is a family of modified Harvard architecture microcontrollers made by Microchip Technology, derived from the PIC1650 originally developed by General Instrument's Microelectronics Division. The name PIC initially referred to "Peripheral Interface Controller" now it is "PIC" only.
PICs are popular with both industrial developers and hobbyists alike due to their low cost, wide availability, large user base, extensive collection of application notes, availability of low cost or free development tools, and serial programming (and re-programming with flash memory) capability.
PIC and PIC micro are registered trademarks of Microchip Technology. It is generally thought that PIC stands for Peripheral Interface Controller, although General Instruments' original acronym for the initial PIC1640 and PIC1650 devices was "Programmable Interface Controller". The acronym was quickly replaced with "Programmable Intelligent Computer".
The Microchip 16C84 (PIC16x84), introduced in 1993, was the first Microchip CPU with on-chip EEPROM memory. This electrically erasable memory made it cost less than CPUs that required a quartz "erase window" for erasing EPROM.
Architecture: Microprocessor has ROM, RAM, secondary storage memory I/O peripherals, timers; counters etc. placed on a board and connected through buses where as in the microcontroller all these peripherals are combined in a single integrated circuit (IC).
CPU SPEED: Processors are better in speed than controllers because of the clock. Processors can have high clock rate, even if they become heated due to over clock rate the heat sink will stop from overheating. Controllers may be slow when compared to the processors but they are reliably fast. The execution speed will always depend upon the clock. If we take the overall performance and application execution speed microcontroller will be faster because all the peripherals are inbuilt. Processors will be slow because it has to get every resource from outside of the cpu through buses
Design Time: To design an application microcontroller will take less time when compared to the processor. The interfacing between the peripherals and programming them will be easy when compared to the processor.
Protection: If you programmed the microcontroller it is hard to get the program from the Rom by other users. The rom will be locked and it is very hard to retrieve the program from the rom of microcontroller. Processor will not give that much protection to its program.
Cost: cost of microprocessors and implementing microprocessor based systems will be costly when compared to the microcontroller based system. The microprocessor system will never be a compact system. Most of the microcontroller based systems are compact systems.
Applications: processors are mainly used in computation systems, defense systems, network communications etc. microcontrollers are mainly used in embedded application like watches, mp3 player, keyboards, mouse, washing machine, digital cameras, pen drive, remote, microwave, cars, bikes, telephone, mobiles, etc.
Embedded C is a set of language extensions for the C Programming language by the C Standards committee to address commonality issues that exist between C extensions for different embedded systems. Historically, embedded C programming requires nonstandard extensions to the C language in order to support exotic features such as fixed-point arithmetic, multiple distinct memory banks, and basic I/O operations. Though C and embedded C appear different and are used in different contexts, they have more similarities than the differences. Most of the constructs are same; the difference lies in their applications.
Embedded systems programming is different from developing applications on a desktop computers. Key characteristics of an embedded system, when compared to PCs, are as follows:
Embedded devices have resource constraints (limited ROM, RAM, stack space, less processing power). Components used in embedded system and PCs are different; embedded systems typically uses smaller, less power consuming components. Embedded systems are more tied to the hardware. Two salient features of Embedded Programming are code speed and code size. Code speed is governed by the processing power, timing constraints, whereas code size is governed by available program memory and use of programming language. Goal of embedded system programming is to get maximum features in minimum space and minimum time.
Embedded systems are programmed using different type of languages:
Assembly language uses mnemonic words with the binary machine codes that the processor uses to code the instructions. Assembly language seems to be an obvious choice for programming embedded devices. However, use of assembly language is restricted to developing efficient codes in terms of size and speed. Also, assembly codes lead to higher software development costs and code portability is not there. Developing small codes are not much of a problem, but large programs/projects become increasingly difficult to manage in assembly language. Finding good assembly language programmers is a difficult task nowadays. Hence higher level languages are preferred for embedded systems programming.
Use of C in embedded systems is driven by following advantages:
RS-232 is asynchronous serial communication protocol widely used in computers and digital systems. It is called asynchronous because there is no separate synchronizing clock signal as they are in other serial protocols like SPI and I2C.
In telecommunications, RS-232 is a standard for serial communication transmission of data. It formally defines the signals connecting between a DTE (data terminal equipment) such as a computer terminal, and a DCE (data circuit-terminating equipment, originally defined asdata communication equipment), such as a modem. The RS-232 standard is commonly used in computer serial ports. The standard defines the electrical characteristics and timing of signals, the meaning of signals, and the physical size and pinout of connectors. The current version of the standard is TIA-232-F Interface between Data Terminal Equipment and Data Circuit-Terminating Equipment Employing Serial Binary Data Interchange, issued in 1997.
An RS-232 serial port was once a standard feature of a personal computer, used for connections to modems, printers, mice, data storage, uninterruptible power supplies, and other peripheral devices. However, RS-232 is hampered by low transmission speed, large voltage swing, and large standard connectors. In modern personal computers, USB has displaced RS-232 from most of its peripheral interface roles. Many computers do not come equipped with RS-232 ports and must use either an external USB-to-RS-232 converter or an internal expansion card with one or more serial ports to connect to RS-232 peripherals. RS-232 devices are widely used, especially in industrial machines, networking equipment and scientific instruments.
RS-232 was first introduced in 1962 by the Radio Sector of the EIA. The original DTEs were electromechanical teletypewriters, and the original DCEs were (usually) modems. When electronic terminals (smart and dumb) began to be used, they were often designed to be interchangeable with teletypewriters, and so supported RS-232. The C revision of the standard was issued in 1969 in part to accommodate the electrical characteristics of these devices.
Since the requirements of devices such as computers, printers, test instruments, POS terminals and so on were not considered by the standard; designers implementing an RS-232 compatible interface on their equipment often interpreted the requirements idiosyncratically. Common problems were non-standard pin assignment of circuits on connectors, and incorrect or missing control signals. The lack of adherence to the standards produced a thriving industry of breakout boxes, patch boxes, test equipment, books, and other aids for the connection of disparate equipment. A common deviation from the standard was to drive the signals at a reduced voltage. Some manufacturers therefore built transmitters that supplied +5 V and -5 V and labeled them as "RS-232 compatible".?
In RS232 there are two data lines RX and TX. TX is the wire in which data is sent out to other device. RX is the line in which other device put the data that is needed to be sent to the device.
Later personal computers (and other devices) started to make use of the standard so that they could connect to existing equipment. For many years, an RS-232-compatible port was a standard feature for serial communications, such as modem connections, on many computers. It remained in widespread use into the late 1990s. In personal computer peripherals, it has largely been supplanted by other interface standards, such as USB. RS-232 is still used to connect older designs of peripherals, industrial equipment (such as PLCs), console ports and special purpose equipment.
A digital sensor is an electronic or electrochemical sensor, where data conversion and data transmission are done digitally. Sensors are often used for analytical measurements, i.e. the measurement of chemical and physical properties of liquids.
Typical measured parameters are pH value, conductivity, oxygen, redox potentials and others. Such measurements are used in the industrial world and give vital input for process control. Sensors used to be of analogue type, but today more and more digital sensors are used.
Digital sensors have been developed to overcome the traditional disadvantages of analog sensors. Digital sensors are mainly used in water, waste water and industrial processes. They measure parameters such as pH, redox potential, conductivity, dissolved oxygen, ammonium, nitrate, SAC, turbidity. A digital sensor system also consists of the sensor itself, a cable, and a transmitter. The differences to analog sensor systems are: a) The sensor has an electronic chip. The measuring signal is directly converted into a digital signal inside the sensor. The data transmission through the cable is also digital. This digital data transmission is not sensitive to cable length, cable resistance or impedance, and is not influenced by electromagnetic noise. Standard cables can be used. b) The connection between sensor and cable can be contactless and done by inductive coupling. Humidity and related corrosion is no longer an issue. Alternative fibre optic cables may also be an option for long or electromagnetically hostile connections. c) The sensor can be calibrated apart from the system.
This is ARM7 family processor, which has:
T=Thumb instruction setARM9xx core.
Enhanced instruction set for DSP (Synthesizable).