Embedded Systems: Part 1

Embedded Systems: Part 1

Embedded Systems are everywhere. From your TV remote to the Cars that you drive, the lift that takes you up and down, the phones and other gadgets that are your part of life, the invisible router that provides connectivity to your homes and offices , Embedded Systems is deciding how we interact with our surroundings. In this article ( first part of a five series write-up ) I will attempt to explain how to go about designing an embedded system.

The design process can be concisely broken down into the following components:

  • A requirement gathering phase [ Product Exploration ]
  • A constraint gathering phase [ Product Limitations ]
  • A high level design phase including block diagrams / UML [ HLD ]
  • A component selection phase [ Product BOM ]
  • A design verification phase using SPICE/ other simulators [ Product SIM ]
  • A schematic design and layout phase [ PCB Design / LLD ]
  • A firmware design phase [ Firmware ]
  • A product testing phase [ Testing ]
  • A product integration phase [ Integration ]

Unlike many pure software projects , Embedded Systems does not typically follow an agile development method mostly because hardware, once manufactured , is expensive to change. If you make an error at any stage it costs 10x more than the previous phase of design so it is very important to follow a waterfall mode of development and freeze requirements at each stage before subsequent stages.

Each phase is important and it typically requires people with different skill-sets to produce a device worth using.

One of the major questions you have to answer while doing component selection is whether to use a micro-controller or micro-processor for your product. One easy way of deciding is asking the following questions:

  • Is the compute on the device going to be heavy?
  • Does the device need a lot of memory for applications ?
  • Are many different , independently developed applications going to run on this device?
  • Is the device cost constrained?

If the answer to a majority of questions above is a "NO" then you use a micro-controller else a micro-processor.

Another major question to answer is the selection of an Operating System [ for micro-processor ] or Real Time Operating System [ for micro-controller ]. This is more involved than the above and requires expertise. This is also dependent on the teams skill and confidence on a particular flavour.

The following are the major choices:

  • OS:

  1. Linux
  2. Windows
  3. Android

  • RTOS:

  1. FreeRTOS
  2. Nuttx
  3. ucLinux
  4. ChibiOS
  5. uC/OS

Once you have made the call on the processor type and OS type next phase is to set up a development environment for firmware. More on that in the next article.

These are my personal views and any feedback is appreciated to my gmail ID.        

要查看或添加评论,请登录

Subhojit Basu的更多文章

  • Embedded Systems : Part 2

    Embedded Systems : Part 2

    The eternal debate : Microprocessor vs Micro-controller In any embedded systems requiring sufficient computing…

  • IoT 101

    IoT 101

    Internet of Things by definition require the internet. By definition "things' are lightweight so we can rule out Mobile…

    4 条评论
  • The rise of Embedded Systems

    The rise of Embedded Systems

    Disclaimer: The following are stricly my personal views and opinions. Any feedback / brickbats can be directed to my…

  • An Open Source Gaming Console Ecosystem : A wishlist

    An Open Source Gaming Console Ecosystem : A wishlist

    An open source gaming console ? Doesn't that exist already ? Nope! What about Steam , Ouya and Gamestick ? Closed…

    1 条评论
  • Starting up in India : The first Phase

    Starting up in India : The first Phase

    Kolkata 2009 The Market had just crashed, along with it employment opportunities. People were busy saving their own…

    9 条评论
  • Why I left my startup after raising a Govt. grant

    Why I left my startup after raising a Govt. grant

    Almost 2 years ago I happened to visit a lecture by an Arm Amputee from France. His lecture was inspiring as he had…

    14 条评论
  • Innovator Vs Entrepreneur

    Innovator Vs Entrepreneur

    There was a great deal of confusion in my mind about whether I am an Innovator or an Entrepreneur or both ( or none !…

    13 条评论
  • Data : The new form of cash

    Data : The new form of cash

    Commerce has been traditionally based on providing a service or a product to consumers. Earlier it was about manual…

  • Where's Hardware heading ?

    Where's Hardware heading ?

    A lot is happening in hardware, but not at the fundamental level. We are still pushing Silicon to its limits pursuing…

社区洞察