It 443 lecture 1

63

Click here to load reader

Transcript of It 443 lecture 1

Slide 1

Embedded Computer System OverviewBy: A. CaparasIT443

1

Over the past decade, there has been a steady increase in the number of applications that demand customized computer systems that offer high performance at low cost. These applications are, more often than not, characterized by the need to process large amounts of data in real time. Examples include consumer electronics, scientific computing, and signal processing systems. Constraints on performance, cost and power make software implementations of data processing algorithms for such systems infeasible.

Non-programmable hardware, however, does not support modifications of algorithms. The solution to this dilemma has been to develop application-specific hardware that is flexible programmable these systems are commonly referred to as embedded systems Introduction

An embedded system is a "behind the scenes" computer which, when combined with resident software applications, provides functionality typically focused on a single, specialized purpose.

Embedded systems typically include embedded software that is burned into :Eraseable Programmable Read Only Memory (EPROM) or resident in memory, special-purpose hardware, and Field Programmable Gate Arrays (FPGAs);

often there are stringent requirements on power consumption, performance, and cost.

Embedded systems cannot be redesigned or removed easily once the device that incorporates the system has been built. Embedded systems development thus requires concurrent work on both hardware and software components. Introduction.

A system can be defined as a group of devices or artificial objects or an organization forming a network especially for distributing something or serving a common purpose. To embed a system into some object means to make that system an integral part of the object. When an engineer talks about an embedded system, he or she is usually referring to a system that satisfies a well-defined need at a specific instant in time.

The system is usually dedicated to that need, and its operational limits are clearly defined: lifetime, power consumption, performance, and so on. The system usually has limited capabilities for future development, simply because it is permanently installed in a device that provides a certain service to its user. Embedded system: the design

Examples include DSP processors in hand-held communication devices, programmable controllers installed in robots or cars, and video signal processors in television sets. the design. Because these systems cannot be redesigned or removed easily once the device that incorporates the embedded system is built, the development procedure must produce a correct system that meets all of its operational requirements.

An embedded system consists of both hardware and software components. The performance and cost constraints make it necessary for the design engineer to explore a combination of possible hardware architectures or custom hardware components and software or programmable parts that would best suit the nature of the application.Hence, the division between the programmable and non-programmable components and their interface can become a critical issue in the design. Embedded system: the design.

Embedded life cycle

First a need or opportunity to deploy new technology is identified. Then a product concept is developed. This is followed by concurrent product and manufacturing process design, production, and deploymentBut in many embedded systems, the designer must see past deployment and take into account support, maintenance, upgrades, and system retirement issues in order to actually create a profitable design.

Design considerations1 Component acquisition Because an embedded system may be more application-driven than a typical technology-driven desktop computer design, there may be more leeway in component selection.

Thus, component acquisition costs can be taken into account when optimizing system life-cycle cost 2 System certification

Embedded computers can affect the safety as well as the performance the system. Therefore, rigorous qualification procedures are necessary in some systems after any design change in order to assess and reduce the risk of malfunction or unanticipated sys system failure.

One strategy to minimize the cost of system recertification is to delay all design changes until major system upgrades occur.

Design considerations

Furthermore, each design change should be tested for compatibility with various system configurations, and accommodated by the configuration management database

3 Upgrades

Because of the long life of many embedded systems, upgrades to electronic components and software may be used to update functionality and extend the life of the embedded system with respect to competing with replacement equipment. .

While it may often be the case that an electronics upgrade involves completely replacing circuit boards, it is important to realize that the rest of the system will remain unchanged.

Therefore, any special behaviors, interfaces, and undocumented features must be taken into account when performing the upgrade. Also, upgrades may be subject to recertification requirements.

4.1 Military Communications, radar, sonar, image processing, navigation, missile guidance 4.2 Automotive

Engine control, brake control, vibration analysis, cellular telephones, digital radio, air bags, driver navigation systems

4.3 Medical

Hearing aids, patient monitoring, ultrasound equipment, image processing, Topography

Embedded applications

Embedded applications.4.4 Telecommunications Echo cancellation, facsimile, speaker phones, personal communication systems (PCS), video conferencing, packet switching, data encryption, channel multiplexing, adaptive equalization

4.5 Consumer Radar detectors, power tools, digital TV, music synthesizers, toys, video games, telephones, answering machines, personal digital assistants, paging

4.6 Industrial

Robotics, numeric control, security access, visual inspection, lathe control, computer aided manufacturing (CAM), noise cancellation.

Embedded internet

Used in everything from consumer electronics to industrial equipment, embedded systems small, specialized computer systems stored on a single microprocessor are playing a major role in the growth of the Internet and the boom of wireless communication channels.

Due in part to embedded systems, more and more consumer products and industrial equipment are becoming Internet-friendly.

The future of embedded Internet in an unlimited array of appliances and applications designed to create, connect and make smarter the things that people use everyday.

Operating in the background embedded Internet will connect home appliances to each other and to the homeowner, shop floor tools will connect to data gathering systems and hospitals will connect to laboratories.

This ubiquitous computing environment is becoming a reality, with embedded systems starting to be connected to the Internet, creating a new market category of embedded Internet systems.

One feature of embedding devices is the ability of appliances to send their own e-mails. For example, a fetal monitor could routinely call a hospital's computer system and transmit a daily log of fetal activity. Or a home security system could send an email to both a security service and a homeowner, informing them of a possible problem. Another feature is Web serving, where a machine tool's web page served-up information on interrupts and maintenance records.Embedded internet.

Embedded internet.How embedded communications is going to be accomplished is part of the excitement in the unfolding of the concept.

Obviously, applying lessons learned from the PC and networking will speed the adoption of embedded Internet. First, standards are key. Second, use of the Web browser as the universal interface will speed deployment and acceptance because it is familiar, requires little training and can be programmed for rich content.

Third is the truth of "Metcalf's law," which states that the value of a node on a network increases exponentially as the number of nodes on that network increases.

Device-to-device communications will take network connectivity into thousands of everyday items. Many businesses are already using embedded technology to innovate with voice, video, and data traffic, hoping to set the stage for a competitive advantage in the future.

Embedded systems are designed to do some specific task, rather than be a general-purpose computer for multiple tasks. Some also real time haveperformance constraints that must be met, for reasons such as safety and usability; others may have low or no performance requirements, allowing the system hardware to be simplified to reduce costs.

Embedded systems are not always standalone devices. Many embedded systems consist of small, computerized parts within a larger device that serves a more general purpose.For example, theGibson Robot Guitar features an embedded system for tuning the strings, but the overall purpose of the Robot Guitar is, of course, to play music.Similarly, an embedded system in anautomobile provides a specific function as a subsystem of the car itself.

Characteristics

The program instructions written for embedded systems are referred to asfirmware, and are stored in read-only memory orFlash memory chips. They run with limited computer hardware resources: little memory, small or non-existent keyboard and/or screen.

Characteristics.

Embedded systems are designed to perform simple, repeatable task often with little or no input form the user. Since the first microprocessor was introduced into pocket calculators there has been a concerted drive to reduce the size and complexity of computerized systems in electronic devices.

Microcontrollers make integrated systems possible by combining several features together into what is effectively a complete a computer on a chip, including:Central Processing UnitInput / Output interfaces (such as serial ports)Peripherals ( such as timers )ROM, EEPROM or Flash memory for program storageRAM for data storageClock generator

Simplification, miniaturization and cost reduction

16

Size and Weight: Microcontrollers are designed to deliver maximum performance for minimum size and weight. A centralized on-board computer system would greatly outweigh a collection of microcontrollers.

Efficiency: Microcontrollers are designed to perform repeated functions for long periods of time without failing or requiring service. Other computer systems are prone to software and hardware failure as well as a whole host of other problems recognizable to the users of any home computer. Above all other considerations, computer systems must be 100% reliable when trusted to control such functions as braking in an automobile.

Uses of embedded system

Embedded systems are not designed for user interaction, so the majority of embedded system are just that embedded within the product, with no easy method of updating or repairing their software.

Downfall of embedded system

Embedded System I/O

19

Embedded Systems are widely spread and commonly used nowadays.

Almost every electronically device implements an embedded system, like for instance a washing machine or a microwave oven.

Given this vast number of possible application areas, input and output is an important topic concerning embedded systems, for almost every embedded system has to communicate with its environment, either the one or the other way.1. Introduction

data is given to a processing unit, which processes the data end gives out the results.

Concerning embedded systems it is basically the same.

Data is measured by sensors, passed to the processing unit and then given out.

Usually memory chips are used to buffer that data, so in most cases the data is copied from the sensors into a buffer, than processed and then copied back into another buffer.1. 2 Implementation

Devices for Networks and Communication Input

Graphics I/O

Storage I/O

Debugging I/O Real time & Miscellaneous1. 3 Type of I/O devices

The data rates of the I/O devices: the actual amount of data that is delivered from the I/O device. Commonly it is measured in data per timeslice, Mbits per second for example.

How to synchronize the speed of the master processor with the speed of the I/O: The speed of the processing unit should be designed that it can handle all data delivered by the I/O devices (or vice versa)1.4 I/O Performance

The speed of the master processor: the clock rate of the processing unit, usually measured in Mhz. If the processing unit is fast and the I/O device slow the it can process way more data then deliver and might run idle must of the time, whereas the other way round it might occur that the master processor is not able to process all the data delivered by the I/O device1.4 I/O Performance

Interrupts are the common way of I/O devices communicating with the processing unit. There are other ways like polling or memory mapping, though.

An interrupt is an event which stops the master processor executing its current instruction and handling the interrupt with a predefined handling mechanism.1.5 Interrupts

Managing data is also one of the most important fields dealing with input/output.

Basically, there are two main types of managing data:

Managing data serially and Managing data parallely.2. Managing Data

If I/O hardware is supposed to deal with data serially, it usually consists of the components mentioned in 1.3 and also includes the following:

Serial port Serial interface, responsible for sending / receiving dataIn serial communication, there are different ways in which communication can occurComponents of a serial I/O Hardware

Serial Simplex Communication

Serial Half Duplex Communication

Serial Full Duplex CommunicationAsynchronous Full DuplexSynchronous Full Duplex

All major components on a system-board which have to exchange data are connected via buses.

On hardware level a bus is nothing else than a bundle of wires which carry all various kinds of data.2.3 Buses

The CAN Bus is an asynchronous serial bus developed by Robert Bosh GmbH.

Its purpose is to connect control units in cars, send data in real time at the highest possible level of transmission security and reducing the amount of cables used.

This was necessary since more and more electronically devices were installed in vehicles.3. The CAN (Controller Area Network) Bus in detail

A CAN is actually very similar to a common peer to peer network.

Every node in this network is connected with the other nodes, and if a node wants to send a message to another node it simply sends a CAN-Frame to all other nodes. Communication via a CAN Bus

High-speed CAN

Low-Speed /Fault tolerant CAN

Single Wire CANTypes of CAN - Buses

Real Time Operating System(RTOS)

33

A real-time operating system (RTOS) is an operating system that guarantees a certain capability within a specified time constraint.

Learning the difference between real-time and standard operating systems is as easy as imagining yourself in a computer game.

In RTOS the keyword is determinism. Violation of the specified timing constraints is (normally) considered catastrophic.

Some people make a distinction between soft and hard RTOS, but in fact there's no such strict distinction possible.

Real-time operating systems are often required in small embedded operating systems that are packaged as part of micro devices.

In general, real-time operating systems are said to require:

MultitaskingProcessthreads that can be prioritizedA sufficient number ofinterruptlevels

Perfect Definition:An RTOS is an operating system designed to meet strict deadlines.

An RTOS may be either event-driven or time-sharing.

Event-driven RTOSis a system that changes state only in response to an incoming event.

Time-sharing RTOSis a system that changes state as a function of time.

The heart of a real-time OS (and the heart of every OS, for that matter) is thekernel. A kernel is the central core of an operating system.

Issues in Real Time System Design

Scheduling tasksFailureResources and servicesComplexity

Scheduling of TaskIts essential that the sequence is determined in a deterministic way, but the scheduler might not suffice here.

FailureTo detect failure the system designer should implementwatchdogsystems.

If the main program neglects to regularly service thewatchdog, it can trigger a system reset.

Resources and ServicesIn the context of resources and services the term Quality of Service (QoS) is important.

The programmer should take into account worst case scenarios

Complexity

C1 has centralized hardware and a centralized state.

C2 is an intermediate level and it has decentralized hardware and a centralized state.

C3 has decentralized hardware and a decentralized state.

Introduction to Embedded Software Development: The Host-Target dichotomy

WHAT IS EMBEDDED SYSTEM

Embedded System is a Computer hardware, Software, other parts designed to perform a Specific function and a component within larger system - cars, air/spacecraft.

Each embedded system is unique, with specialized hardware and specialized software

Embedded software in almost every electronic device.(eg. watches, VCRs, Cellular phones, microwaves, thermostats)

STEPS IN EMBEDDED SOFTWARE DEVELOPMENT

Steps involved in preparing embedded software similar to general programming .

Follow a Software Design Process (eg. SDLC,RAD,etc)

Use Spiral Model.

Know the specifications of hardware requirements of the program.

. (in any software development there are always risk of getting wrong. And this model used to reduce that risk.)52

HOST TARGET DICHOTOMY

DICHOTOMY?

A dichotomy is any splitting of a whole into exactly two non-overlapping parts, meaning it is a procedure in which a whole is divided into two parts.

Therefore Host and Target are subsets of a set. And to make it whole. The two must link to each other. This link is called of Host-Target Communications.

HOST TARGET COMMUNICATIONSThere a 6 types of Host/Target communications. This communications link.

Direct ConnectionUsing EmulatorIndirect Connection using removal mediasoftware Transfer using PROMTarget Display OptionA Second Interface

CONT HOST TARGET COMMUNICATIONSDirect ConnectionThe host is connected directly to Target. Software from the host is downloaded to the target usually through a serial interface or a LAN.

(The speed of communications is an important consideration when selecting host and target development environments. A LAN connection is usually a better choice, because the communication is faster and many host can easily share a single target.)

55

CONT HOST TARGET COMMUNICATIONSUsing Emulator The used of an emulator to connect a target, with the interface from the host environment to the emulator being SERIAL, LAN or PARALLEL.

Where a target environment does not support a direct connection with the host environment, or at levels of testing where a direct connection to the host environment is precluded, indirect connections have to be used. Figure A.2 shows the use of an emulator to connect to a target, with the interface from the host environment to the emulator being serial (a), LAN (b), or parallel (c).56

CONT HOST TARGET COMMUNICATIONSIndirect Connection using removal mediaThe transfer of software using removable media such as floppy disc and tape cartridges. Removable media is often the method of choice when the target is a general purpose computer.

CONT HOST TARGET COMMUNICATIONSSoftware Transfer using PROMThe use of Programmable Read Only Memory (PROM) to transfer software to the target, is usually the final stage of embedded system development. at this stage in the life cycle the main activity is system testing and acceptance testing, with the real world input and output.

58

CONT HOST TARGET COMMUNICATIONSTarget Display OptionA display in the target environment being simulated by the host, with the associated display appearing in a window on the host display

(Some embedded systems will not have a display or keyboard, or any means of attaching a display or keyboard should one be needed.) 59

CONT HOST TARGET COMMUNICATIONSCont Target Display Option

60

CONT HOST TARGET COMMUNICATIONSA Second InterfaceSometimes it will not be possible to use a single host-target interface for both downloading the target test software and for returning test results to the host. The simple solution is a second interface, The second interface need not be the same type of interface as the download interface. an emulator could be used to download and run target test program, with the results being returned to the host through a serial interface.

NDI LANG 6 ANG tyPES NA HOST TARGET COMMUNICATIONS MARAMI PA PERO ALTHOUGH NDI Q NA MASASABI LAHAT ng TYPES OF Host- target COMMUNICATIONS.ang lahat naman ng 6 na ito ay applicable sa iba pang types at very similar din sila dito.

61

Embedded Software Development toolsHost and Target are tools in Embedded Software Development. Software Development is performed on a Host computer (Compiler, Assembler, Linker, Locator, and Debugger).Produces executable binary image that will run on Target Embedded system.

Embedded sotfware dev. ToolsAng host at tart are tools in embedded software dev. Which on host computer software dev is performed e.g compiler, assembler, linker, locator, and debugger.At ang lahat ng ma proproduces nitong task at pdeng executed sa binary image na mag ru2n sa target embedded system.62

PROGRAMMING EMBEDDED SYTEMSEmbedded systems Programming requires more complex software build process. Target hardware platform is different from development platform. Development platform, called Host Computer, is typically a general purpose computer Host computer runs compiler, assembler, linker, locator to create a binary image that will run on the target embedded system.

Konting intro lang sa programming ng embedded systemsEmbedded system programming requires complex software build process.

Target hardware platform kase ay iba sa development platform an sabe ay ang development platform ay tinatawag na host computer karaniwan purpose computer host computer ang tawag dito, na nag ru2n ng complier assembler linker locator para makagawa ng binary image 63