Sunday, November 5, 2017

Embedded System Podcast - Episode 1 Introduction





Trying out something new. Like the new INTERNET standard try it out before ruling it out. Welcome to the podcast where i discuss about concepts, architecture problems and probably solution to various problems faced in the embedded domain.

Give it a thumbs up if you like it and share your feedback.

Thanks.


Key points in this episode

Episode - 1 (What are Embedded Sytems)

To start with,In this episode, i will talk about what are embedded system. There are many definitions out there that helps classify systems that can be called or labeled as an embedded system.

A morderm smartphone is considered to be an embedded system Even though it has much powerful computing architecture than those that were used in the 1960's US and USSR space programs. A raspberry pi is another example of an embedded system even though it basically a full blown computer. Other examples include a modem, a smart watch, an mp3 player a dvd player and many more.

What do you think is the reason that these things are called embedded system and not my PC on which i am doing this recording.

The commonality between all the mentioned embedded system is that computation is not separate from the device but is an integral part of it.

There is no fixed definition for an embedded system.

So what should be in a system for it to be called an embedded system?

I share my own opinion on what I believe as the three main components that can be used to distinguish embedded system.


  1. The embedded systems may have an architecture similar to that of a computer but it doesn't need to have any form of secondary storage. All the laptops and desktop have their primary storage where they define there Basic Input and Output but they require secondary storage for installation of Operating System and working set of applications.
  2. The embedded system have the main application embedded inside of it. But this application can perform a single dedicated task like a modem or can perform multitude of task just like a smart phone.
  3. The embedded system usually have a Real Time Operating Systems that supervises the application software running on it. This is also responsible to provide the embedded processor with a mechanism to allot resources based on priority, and  allow scheduling of various processes. 


The embedded system usually consists of some basic components.
Apart from the main processor there is:

  1. Power Supply System
  2. Reset Circuit
  3. Oscillator Circuit
  4. Timers
  5. Interrupt Controllers
  6. ADC and DAC
  7. Some Input Output Components
  8. Memory


The supply system.


  • Embedded system either have their own supply or take the supply from the systems that they are connected to. 
  • Whole of embedded system runs on the 4 power ranges. 5V , 3.3V 2V and 1.5 V.
  • Embedded systems in power electronics usually tend to work on higher voltages as the delay in gates is inversely proportional to the operational voltage. 
  • Higher voltages are preferred in high performance embedded systems.
  • On the lower voltage side we have the mobile devices that requires longer battery life. 
  • Lower voltage devices need to reduce the heat dissipation and reduce the power usage to deliver the application they are designed for. 


Rest Circuit


  • Power up reset that does a processor reset during power up.
  • Low voltage detection reset circuity that does a reset when the supply voltage drops below certian level. 
  • External reset circuit which requires either a human input or a reset signal from an external device. 
  • Basically what reset does is force the processor to restart its execution from the starting address. 
  • Based on the system it can either restart the application, restart to boot up sequence or restart to some user defined initialization sequence. 
  • A Power Converter hit with a reset it goes in to the reinitialization state where all the peripherals are forced to turned off so no accidental operation happens and sometimes are also equipped for a safe turn off sequence that saves the current data and then does reset.


Oscillator Circuit


  • This circuitry is a clock that will control how fast the execution will happen. 
  • This basically controls the executing time of the instruction that are being run on the embedded system processor.
  • This is also required to sync the timing among all the components in the embedded system.


Timers


  • These are the system timers or the Real Time Clocks. 
  • These systems timers are responsible for generating the periodic ticks and periodic interrupts. 
  • These ticks are used by the schedulers and real time programs and also for saving the date and time in the system.
  • Most of the modern controllers have a timer circuit inside them that allows them to keep time and count during their operation. 


Interrupt Controllers


  • For a complex embedded system there can be multiple hardware and software interrupts for the system. 
  • Interrupt basically makes the processor jumps to a specific memory location and starts executing instruction from that location. 
  • This is used cleverly in system to protective action or any action that is deemed fit for that system to do in case of that particular interrupt.
  • This also allows system to prioritize sources and service them accordingly. 
  • Then there is also a concept of maskable and non maskable interrupt. Some having a realtime priority and others having very low priority.
  • Most of the modern 32bit microcontrollers come with their onboard interrupt controller such as Nested Vector Interrupt Controller for 32bit Cortex Architecture Microcontrollers. These can be programmed according to the application and requirement.
  • When the application is running on an operating system it is expected for the OS to handles these interrupts and serve them with appropriate service routine. 


ADC and DAC


  • Analog Converter read the real world signals coming from the real world sensor or a simulated sensor. 
  • A physical voltage value is read from these ADC and converted to the equivalent digital values. 
  • Opposite to them are on board Digital to Analog converter that takes these digital values and convert them to real world physical signals.


Some input output components


  • Embedded systems may have some sort of physical input output devices. 
  • Example of Smartphone has a touch screen display acting both, as a touch input and output display device. 


Memory


  • Focus on two major types of memory Random Access Memory(RAM) and Read Only Memory (ROM)
  • There is on board internal RAM for microcontrollers for registers, temporary data and stack usage.
  • This RAM can be extended by having an external RAM connect to the microcontroller through some interface bus.
  • Apart from RAM there is Flash or EEPROM memory that stores the application that needs to be loaded into the RAM. These ROMs are also used to store the program data for the application to access it.


Listen on iTunes
Listen on Stitcher

3 comments:

  1. Microcontroller is an electronic piece of digital system that is discovered and developed after a computer. It saves a set of commands, Programming that is subject to it before use. Unlike the analogue circuitry that is designed to perform a certain fixed function, and if you want to modify it requires a change in connections and in most cases this also requires changing the components. The microcontroller is used to perform a variety of different functions, and is used in factories and machines that are working on a set of steps and orders or instructions.

    ReplyDelete