SoC (System on Chip Controllers)

Soc Contains

  • Multiple Processors (Digital Signal Processors may also be included)
  • Memories (which contributes to nearly 60% of the total Size of the chip)
  • IP Cores (Intellectual Property Cores) – Apart from gates, counter, register, FPU and ALU, a standard solution for synthesizing a higher level component by configuring FPGA core may be available as an IP Core. The copyright for the synthesized design is held by the designer or by the designing company.
  • Logic and Analog Circuits
  • DMA Controllers (DMAC)
  • Interrupt Controller
  • Network Protocol
  • Encryption And Decryption Unit
  • FPGA Cores, etc

Software tools for Embedded Systems

Final Machine Implementable Software

  • Its like a table of address and bytes at each address of the system memory
  • The table has to read as a ROM image for the targeted hardware.
  • bytes are allocated for Stack Space, Startup code, ISRs, Kernels,etc
  • If the system is updated, then the storage of bytes in the System ROM image also to be changed or updated.

Software for a Processor Specific Assembly Language

  • This technique is widely used now a days, in which the programmer should aware of the processor specfic assmebly language to program
  • Cross Assembler is one which creates object code for a target architecture in which the input is the assembly language
  • Cross Compiler is one which creates object code for a different target architecture in which the input is a high level language
  • Linker is an entity in which the linking files or libraries which are required to execute a program are linked during the runtime.
  • Loader loads the program from the secondary memory to main memory.
  • Locator also called as relocator deals with the addressing issues in the main memory.
  • Device programmer or program burner which downloads the exe file into the Chip or IC.

Software in High Level Languages

  • Mainly C, C++ and Java are the languages helpful in designing embedded systems,
  • C is major source language for embedded Systems.
  • C contains—– Preprocessing, Main function, Interrupt Service Routines, Tasks (number of tasks 1….N), Kernel or Scheduler, Standard Libraries or functions.

Embedded Systems Laboratory (RIDE)

Tools Used: Raisonance IDE (RIDE)

Microcontroller: Intel 8051, Atmel89C51 or Philips P80C51

Language to be used: “C Language”


Steps Used in using RIDE Tool

  1. Goto Menu bar “Project à New
  2. Name the project, Directory z:, Target is 80C51 and Type of Application is Application click next.
  3. Select the device “Philips P80C51and then click properties and select Harvard Architecture.
  4. Goto Menu bar “Fileà New à C Files”
  5. Type the C code and don’t forget to include “#include ”, since this header file contains all the ports bits and its address.
  6. Goto Menu bar “Project à Add Node Source/Application” and then select the C file which was typed in step 5.
  7. Goto Menu bar “Project à Build all”, if there are any errors during the compilation, then correct the errors and again the “Build all” or press Shift + F9.
  8. Goto Menu bar “Debug à Start ” or press “Ctl+D
  9. In the left side pane, under debugger pane you can see the Data Dump, Main Registers and Peripherals.
  10. For doing some simple programs, you can view the contents of any ports, timers, interrupt controllers, Main Registers.


(NB: the above steps is only for doing simple programs related to microcontroller 8051 and the raisonance IDE will not work for running Analog devices like Motor, sensors etc.)

Processors in Embedded Systems

Processors in Embedded Systems

A Processor in an Embedded Systems contains two essential parts

* Control Unit – Which fetches the instruction from the system memory

* Execution unit

Arithmetic and Logic Unit is also the part of Execution Unit

It performs Data Transfer and data conversion operations

Types of processors

General Purpose Processors (GPP)

  • Microprocessor

  • Microcontroller

  • Digital Signal Processors (DSPs)

  • Media Processors

    • useful for sound and image processing applications

Application Specific System Processors

The processors which are relevant to a particular application like

  • Digital TV

  • HDTV decoders

  • Set Top Boxes

  • DVD Player

Important considerations while selecting a processor

  • Instruction Set

  • Maximum bits in an operand like (8 or 16 or 32 bit)

  • Clock frequency in MHz and processing speed in MIPS (Millions of Instructions per second)

  • ability to solve the complex algorithms used in meeting the deadline for their processing

Microprocessors

It is a VLSI Chip which has a Central Processing Unit (CPU), which may have some optional components like Cache memory, Floating Point Unit (FPU),etc.

Microcontrollers

Microcontroller contains functional circuits and application specific circuits

Functional Circuits are

  • Microprocessor

  • Memory (RAM, ROM, Flash)

  • Timer (Also Watch Dog Timer)

  • Interrupt Controller

  • I/O Ports (Parallel Ports )

  • UART for Serial Communication.

Application Specific Circuits

  • LAN Controllers

  • DMA Controller (Direct Memory Access)

  • Printer Controller

  • Analog to Digital Converter (ADC)

  • Digital to Analog Converter (DAC)

  • Modem

but now a days, lot of embedded systems comes with ADC, DAC,Modem and DMA Controllers.



Digital Signal Processors

  • They are useful in developing applications like Video, audio signal processing,
  • Analog signals like ECG, EEG, Seismic Signals, etc are all processed using Digital Signal Processors.
  • Most of the DSPs are inbuilt with MAC Units (Multiply and Accumulate Units)
  • Texas instruments TM series are some of the example of DSPs

Introduction to Embedded Systems

Definition:
The Combination of Software and Hardware in which the software controls the entire hardware for a dedicated application.

Components of an Embedded Systems
* Power Supply and Reset circuit
* Timer
* Watch Dog Timer or WDT
* Processor
* Memory
RAM Which stores the data (data Memory)
ROM Which stores the Program (Program Memory)
* Interrupt controllers
* IO Ports
* UART for Serial communication
* Parallel ports

Classification of Embedded Systems

Small Scale Embedded Systems
* Uses 8 or 16 bit microcontrollers
* Software and harware complexity is very less
* uses C as a programming language
* The codes are cross compiled and stored in the system memory.
* They sometimes may be battery operated.
Example processors : Intel 8051, Microchip PIC16f8X, Motorola 68HC05,08

Medium Scale Embedded Systems
* Uses 16 or 32 bit controllers or sometime uses DSPs(Digital Signal Processors) or RISC (Reduced Instruction Set Processors)
* They have great complexity.
* They use a Real Time Operating Systems (RTOS), SImulators, Debuggers, emulators, and IDE to develop all these functionalities.
Example: Intel 8051, 80251,80196 Motorola 68HCX11,12

Large Scale Embedded Systems
* They use 32 bit processors.
* They use CPLDs or FPGAs or ASICs
* They are System on Chip Controllers
* They go from initial design like co design and co analysis and co verification
* The Processing speeds are very high in these systems.
* They sometime may be proprietary systems in which the development tools may not be available at all.
Example: ARM7, IBM Power PC

Syllabus – 05BCE403-Embedded Systems

L T P C

3 0 0 3

Aim: The subject aims to cover the concepts of embedded systems, their design and applications, programming models and Interprocess communication.

Objectives: The student would be able to understand and use in embedded systems, device drivers, software engineering practices in embedded systems development and Inter process communication.

Introduction to Embedded Systems: Processor in the System – Software Embedded into a system – Exemplary Embedded Systems – Embedded System-On-chip and in VLSI Circuit Processor and Memory Organization – Structural Units in a Processor – Processor Selection for an Embedded System – Memory Devices – Memory Selection for an Embedded System – Allocation of Memory to Program Segments and Blocks and Memory Map of a System – Direct Memory Access – Interfacing Processor, Memories and I/O Devices.

Devices and Buses for Device Networks: I/O Devices – Timer and Counting Devices – Serial Communication Using the I2 C, ‘CAN’ and Advanced I/O Buses between the Networked Multiple Devices – Host System or Computer Parallel Communication between the Networked I/O Multiple Devices Using the ISA, PCI, PCI – X and Advanced Buses

Device Drivers and Interrupts Servicing Mechanism: Device Drivers – Parallel Port Device Drivers in a System – Serial Port Device Drivers in a System – Device Drivers for Internal Programmable Timing Devices – Interrupt Servicing (Handling) Mechanism – Context and the periods for Context – Switching, Deadline and Interrupt Latency

Program Modeling Concepts: Single and Multiprocessor Systems Software – Development Process- Modeling Processes for Software Analysis Before Software Implementation – Programming Models for Event Controlled or Response Time Constrained Real Time Programs – Modeling of Multiprocessor Systems

Software Engineering Practices: Embedded Software Development Process-Software Algorithm Complexity – Software Development Process Life Cycle and its Models – Software Analysis – Software Design – Software Implementation – Software Testing, Validating and Debugging – Real Time Programming Issues During the Software Development Process – Software Project Management – Software Maintenance –Unified Markup Language (UML) – Interprocess Communication & Synchronization of processes, Task & Threads – Multiple processes in an Application – Problems of Sharing Data by Multiple Tasks & Routines – Interprocess Communication.

TEXTBOOK:
1. Rajkamal, “Embedded Systems-Application, Practice & Design”, Tata McGraw Hill, 2003

REFERENCE BOOKS:

1. Arnold S. Berger, “Embedded Systems Design”, CMP Books, 1997