SlideShare a Scribd company logo
Introduction to
    Embedded System Design



Babak Kia
Adjunct Professor
Boston University
College of Engineering
Email: bkia -at- bu.edu                                       ENG SC757 - Advanced Microprocessor Design




    Microcontrollers
                          A Microcontroller is essentially a small and self-
                          sufficient computer on a chip, used to control devices
                          It has all the memory and I/O it needs on board
                          Is not expandable – no external bus interface
                          Characteristics of a Microcontroller
                           • Low cost, on the order of $1
                           • Low speed, on the order of 10 KHz – 20 MHz
                           • Low Power, extremely low power in sleep mode
                           • Small architecture, usually an 8-bit architecture
                           • Small memory size, but usually enough for the type of
                             application it is intended for. Onboard Flash.
                           • Limited I/O, but again, enough for the type of application
                             intended for




    Microprocessors
                          A Microprocessor is fundamentally a collection of
                          on/off switches laid out over silicon in order to perform
                          computations
                          Characteristics of a Microprocessor
                          • High cost, anywhere between $20 - $200 or more!
                          • High speed, on the order of 100 MHz – 4 GHz
                          • High Power consumption, lots of heat
                          • Large architecture, 32-bit, and recently 64-bit architecture
                          • Large memory size, onboard flash and cache, with an
                            external bus interface for greater memory usage
                          • Lots of I/O and peripherals, though Microprocessors tend
                            to be short on General purpose I/O




                                                                                                           1
Harvard Architecture
       Harvard Architecture refers to a memory structure
       where the processor is connected to two different
       memory banks via two sets of buses
       This is to provide the processor with two distinct data
       paths, one for instruction and one for data
       Through this scheme, the CPU can read both an
       instruction and data from the respective memory
       banks at the same time
       This inherent independence increases the throughput
       of the machine by enabling it to always prefetch the
       next instruction
       The cost of such a system is complexity in hardware
       Commonly used in DSPs




Von-Neumann Machine
       A Von-Neumann Machine, in contrast to the Harvard
       Architecture provides one data path (bus) for both
       instruction and data
       As a result, the CPU can either be fetching an
       instruction from memory, or read/writing data to it
       Other than less complexity of hardware, it allows for
       using a single, sequential memory.
       Today’s processing speeds vastly outpace memory
       access times, and we employ a very fast but small
       amount of memory (cache) local to the processor
       Modern processors employ a Harvard Architecture to
       read from two instruction and data caches, when at the
       same time using a Von-Neumann Architecture to access
       external memory




Little vs. Big Endian
       Although numbers are always displayed in the same
       way, they are not stored in the same way in memory
       Big-Endian machines store the most significant byte of
       data in the lowest memory address
       Little-Endian machines on the other hand, store the
       least significant byte of data in the lowest memory
       address

       A Big-Endian machine         A Little-Endian machine
       stores 0x12345678 as:        stores 0x12345678 as:
           ADD+0:   0x12                ADD+0:   0x78
           ADD+1:   0x34                ADD+1:   0x56
           ADD+2:   0x56                ADD+2:   0x34
           ADD+3:   0x78                ADD+3:   0x12




                                                                 2
Little vs. Big Endian
       The Intel family of Microprocessors and processors
       from Digital Equipment Corporation use Little-Endian
       mode
       Whereas Architectures from Sun, IBM, and Motorola
       are Big-Endian
       Architectures such as PowerPC, MIPS, and Intel’s IA-
       64 are Bi-Endian, supporting either mode
       Unfortunately both methods are in prevalent use
       today, and neither method is superior to the other
       Interfacing between Big and Little Endian machines
       can be a headache, but this is generally only a concern
       for TCP/IP stack and other interface developers




Program Counter (PC)
       The Program Counter is a 16 or 32 bit register which
       contains the address of the next instruction to be
       executed
       The PC automatically increments to the next
       sequential memory location every time an instruction
       is fetched
       Branch, jump, and interrupt operations load the
       Program Counter with an address other than the next
       sequential location
       During reset, the PC is loaded from a pre-defined
       memory location to signify the starting address of the
       code




Reset Vector
       The significance of the reset vector is that it points the
       processor to the memory address which contains the
       firmware’s first instruction
       Without the Reset Vector, the processor would not
       know where to begin execution
       Upon reset, the processor loads the Program Counter
       (PC) with the reset vector value from a pre-defined
       memory location
       On CPU08 architecture, this is at location
       $FFFE:$FFFF
       A common mistake which occurs during the debug
       phase – when reset vector is not necessary – the
       developer takes it for granted and doesn’t program
       into the final image. As a result, the processor doesn’t
       start up on the final product.




                                                                    3
Stack Pointer (SP)
      The Stack Pointer (SP), much like the reset vector, is
      required at boot time for many processors
      Some processors, in particular the 8-bit
      microcontrollers automatically provide the stack
      pointer by resetting it to a predefined value
      On a higher end processor, the stack pointer is usually
      read from a non-volatile memory location, much like
      the reset vector
      For example on a ColdFire microprocessor, the first
      sixteen bytes of memory location must be
      programmed as follows:

                  0x00000000: Reset Vector
                  0x00000008: Stack Pointer




COP Watchdog Timer
      The Computer Operating Properly (COP) module is a
      component of modern processors which provides a
      mechanism to help software recover from runaway
      code
      The COP, also known as the Watchdog Timer, is a free-
      running counter that generates a reset if it runs up to a
      pre-defined value and overflows
      In order to prevent a watchdog reset, the user code
      must clear the COP counter periodically.
      COP can be disabled through register settings, and
      even though this is not good practice for final firmware
      release, it is a prudent strategy through the course of
      debug




The Infinite Loop
      Embedded Systems, unlike a PC, never “exit”
      an application
      They idle through an Infinite Loop waiting for
      an event to happen in the form of an
      interrupt, or a pre-scheduled task
      In order to save power, some processors
      enter special sleep or wait modes instead of
      idling through an Infinite Loop, but they will
      come out of this mode upon either a timer or
      an External Interrupt




                                                                  4
Interrupts
       Interrupts are mostly hardware mechanisms
       which tell the program an event has occurred
       They happen at any time, and are therefore
       asynchronous to program flow
       They require special handling by the
       processor, and are ultimately handled by a
       corresponding Interrupt Service Routine (ISR)
       Need to be handled quickly. Take too much
       time servicing an interrupt, and you may miss
       another interrupt.




Designing an Embedded System
       Proposal
       Definition
       Technology Selection
       Budgeting (Time, Human, Financial)
       Material and Development tool purchase
       Schematic Capture & PCB board design
       Firmware Development & Debug
       Hardware Manufacturing
       Testing: In-Situ, Environmental
       Certification: CE
       Firmware Release
       Documentation
       Ongoing Support




System Design Cycle
       Writing code conjures up visions of
       sleepless nights and stacked up boxes
       of pizza
       And if not done correctly, that is
       exactly what the outcome will be!
       The purpose of the design cycle is to
       remind and guide the developer to step
       within a framework proven to keep you
       on track and on budget




                                                       5
System Design Cycle
      There are numerous design cycle
      methodologies, of which the following
      are most popular
       •   The Spaghetti Model
       •   The Waterfall Model
       •   Top-down versus Bottom-up
       •   Spiral Model
       •   GANTT charts




The Spaghetti Model



            Not in this course, thank you.




The Waterfall Model
      Waterfall is a software development model in which
      development is seen flowing steadily through the
      phases of
       •   Requirement Analysis
       •   Design
       •   Implementation
       •   Testing
       •   Integration
       •   Maintenance
      Advantages are good progress tracking due to clear
      milestones
      Disadvantages are its inflexibility, by making it difficult
      to respond to changing customer needs / market
      conditions




                                                                    6
Top-down versus Bottom-up
      The Top-Down Model analyses the overall
      functionality of a system, without going into
      details
      • Each successive iteration of this process then
        designs individual pieces of the system in greater
        detail
      The Bottom-Up Model in contrast defines the
      individual pieces of the system in great detail
      • These individual components are then interfaced
        together to form a larger system




The Spiral Model
      Modern software design practices such as
      the Spiral Model employ both top-down and
      bottom-up techniques
      Widely used in the industry today
      For a GUI application, for example, the Spiral
      Model would contend that
       • You first start off with a rough-sketch of
         user interface (simple buttons & icons)
       • Make the underlying application work
       • Only then start adding features and in a
         final stage spruce up the buttons & icons




The Spiral Model
      In this course, we won’t focus on the
      aesthetic qualities of the application -
      only the underlying technology




                                                             7
GANTT Chart
      GANTT Chart is simply a type of bar chart
      which shows the interrelationships of how
      projects and schedules progress over time




Design Metrics
      Metrics to consider in designing an
      Embedded System
      • Unit Cost: Can be a combination of cost to
        manufacture hardware + licensing fees
      • NRE Costs: Non Recurring Engineering costs
      • Size: The physical dimensions of the system
      • Power Consumption: Battery, power supply,
        wattage, current consumption, etc.
      • Performance: The throughput of the system, its
        response time, and computation power
      • Safety, fault-tolerance, field-upgradeability,
        ruggedness, maintenance, ease of use, ease of
        installation, etc. etc.




Schematic Capture




                                                         8
PCB Layout




       PCB Board




Portions of this power point presentation may have been taken from relevant users and technical manuals. Original content Copyright © 2005 – Babak Kia




                                                                                                                                                         9

More Related Content

What's hot (20)

PDF
Introduction to Microcontroller
Pantech ProLabs India Pvt Ltd
 
PPT
Embedded system design process
Rayees CK
 
PPT
Choosing the right processor
Pantech ProLabs India Pvt Ltd
 
PPTX
Classification OF Microprocessor
Pundra university Science and technology
 
PPTX
Processors selection
Pradeep Shankhwar
 
PPT
Lecture1 - Computer Architecture
Volodymyr Ushenko
 
PDF
27 multicore
ssuser47ae65
 
PDF
Introduction To Embedded Systems
anishgoel
 
PPTX
Embedded System
Sneha Chopra
 
PPT
Three Central Processing Unit
MISY
 
PPT
Introduction to Computer Architecture
Ankush Srivastava
 
PPTX
Computer architecture
International Islamic University
 
PPT
Design of embedded systems
Pradeep Kumar TS
 
PPTX
Introduction to embedded system
Revathi Subramaniam
 
PPTX
Cpu
RabiaIdrees
 
PPT
Arm processor
SHREEHARI WADAWADAGI
 
PPTX
Trends in computer architecture
muhammedsalihabbas
 
PPTX
Microprocessor and microcontrollers
Hiran Gabriel
 
PPT
Embedded Systems : introduction
Anant Shrivastava
 
PPT
Computer architecture
Rishabha Garg
 
Introduction to Microcontroller
Pantech ProLabs India Pvt Ltd
 
Embedded system design process
Rayees CK
 
Choosing the right processor
Pantech ProLabs India Pvt Ltd
 
Classification OF Microprocessor
Pundra university Science and technology
 
Processors selection
Pradeep Shankhwar
 
Lecture1 - Computer Architecture
Volodymyr Ushenko
 
27 multicore
ssuser47ae65
 
Introduction To Embedded Systems
anishgoel
 
Embedded System
Sneha Chopra
 
Three Central Processing Unit
MISY
 
Introduction to Computer Architecture
Ankush Srivastava
 
Computer architecture
International Islamic University
 
Design of embedded systems
Pradeep Kumar TS
 
Introduction to embedded system
Revathi Subramaniam
 
Arm processor
SHREEHARI WADAWADAGI
 
Trends in computer architecture
muhammedsalihabbas
 
Microprocessor and microcontrollers
Hiran Gabriel
 
Embedded Systems : introduction
Anant Shrivastava
 
Computer architecture
Rishabha Garg
 

Viewers also liked (10)

PDF
Electronic bicycle lock
viv3ksharma
 
PDF
Flashing cum running light
viv3ksharma
 
ODP
Project: Electronic circuit
asgslide
 
PDF
AUTOMATIC DOORBELL WITH OBJECT DETECTION USING ULTRA SONIC TRANSMITTER AND RE...
AKSHAT GANGWAR
 
PDF
Friendly charger for mobile phones
viv3ksharma
 
PPT
Ch 1 microwave fundamentals
zarinamdamin
 
PDF
Embedded Systems: Lecture 2: Introduction to Embedded Systems
Ahmed El-Arabawy
 
PDF
Introduction to embedded system design
Mukesh Bansal
 
PPT
Microwave Antenna
zarinamdamin
 
PDF
The Programmer
Kevlin Henney
 
Electronic bicycle lock
viv3ksharma
 
Flashing cum running light
viv3ksharma
 
Project: Electronic circuit
asgslide
 
AUTOMATIC DOORBELL WITH OBJECT DETECTION USING ULTRA SONIC TRANSMITTER AND RE...
AKSHAT GANGWAR
 
Friendly charger for mobile phones
viv3ksharma
 
Ch 1 microwave fundamentals
zarinamdamin
 
Embedded Systems: Lecture 2: Introduction to Embedded Systems
Ahmed El-Arabawy
 
Introduction to embedded system design
Mukesh Bansal
 
Microwave Antenna
zarinamdamin
 
The Programmer
Kevlin Henney
 
Ad

Similar to 01. introduction to embedded systems (20)

PPT
Microprocessor & microcontroller
Nitesh Kumar
 
PPTX
Introduction to embedded System.pptx
Pratik Gohel
 
PDF
microprocessormicrocontrollerbysanat-140107013112-phpapp02.pdf
MECHANICALENGINEERIN19
 
PPTX
introduction to embedded-converted new one
DrVikasMahor
 
PPTX
Micro controller and dsp processor
ShubhamMishra485
 
PPTX
1 microcontroller 8051 detailed explanation
nachiketthakare101
 
PPTX
Micro controller
Devi Prasad
 
PPT
Microprocessor
Embeddedbvp
 
DOCX
8051 microcontroller
snehapvs
 
PPTX
esunit1.pptx
AmitKumar7572
 
PPTX
Intel 8th generation and 7th gen microprocessor full details especially for t...
Chessin Chacko
 
PPTX
AEC 8051 controller.pptxmicrocontroller notes
samarthwali91
 
PPTX
Embedded systems 101 final
Khalid Elmeadawy
 
PPTX
Ca lecture 03
Haris456
 
PDF
Introduction to Embedded System
Zakaria Gomaa
 
PDF
MC_Module_1 (2).pdf MICROCONTROLLER VTU. MODULE 2
ssuser8f6b1d1
 
PPTX
1. Introduction to Microprocessor.pptx
ISMT College
 
PPTX
Unit-1.pptx
sidhantkulkarni1
 
PPT
Ajal mod 1
AJAL A J
 
Microprocessor & microcontroller
Nitesh Kumar
 
Introduction to embedded System.pptx
Pratik Gohel
 
microprocessormicrocontrollerbysanat-140107013112-phpapp02.pdf
MECHANICALENGINEERIN19
 
introduction to embedded-converted new one
DrVikasMahor
 
Micro controller and dsp processor
ShubhamMishra485
 
1 microcontroller 8051 detailed explanation
nachiketthakare101
 
Micro controller
Devi Prasad
 
Microprocessor
Embeddedbvp
 
8051 microcontroller
snehapvs
 
esunit1.pptx
AmitKumar7572
 
Intel 8th generation and 7th gen microprocessor full details especially for t...
Chessin Chacko
 
AEC 8051 controller.pptxmicrocontroller notes
samarthwali91
 
Embedded systems 101 final
Khalid Elmeadawy
 
Ca lecture 03
Haris456
 
Introduction to Embedded System
Zakaria Gomaa
 
MC_Module_1 (2).pdf MICROCONTROLLER VTU. MODULE 2
ssuser8f6b1d1
 
1. Introduction to Microprocessor.pptx
ISMT College
 
Unit-1.pptx
sidhantkulkarni1
 
Ajal mod 1
AJAL A J
 
Ad

Recently uploaded (20)

PDF
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
Advancing WebDriver BiDi support in WebKit
Igalia
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
Advancing WebDriver BiDi support in WebKit
Igalia
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 

01. introduction to embedded systems

  • 1. Introduction to Embedded System Design Babak Kia Adjunct Professor Boston University College of Engineering Email: bkia -at- bu.edu ENG SC757 - Advanced Microprocessor Design Microcontrollers A Microcontroller is essentially a small and self- sufficient computer on a chip, used to control devices It has all the memory and I/O it needs on board Is not expandable – no external bus interface Characteristics of a Microcontroller • Low cost, on the order of $1 • Low speed, on the order of 10 KHz – 20 MHz • Low Power, extremely low power in sleep mode • Small architecture, usually an 8-bit architecture • Small memory size, but usually enough for the type of application it is intended for. Onboard Flash. • Limited I/O, but again, enough for the type of application intended for Microprocessors A Microprocessor is fundamentally a collection of on/off switches laid out over silicon in order to perform computations Characteristics of a Microprocessor • High cost, anywhere between $20 - $200 or more! • High speed, on the order of 100 MHz – 4 GHz • High Power consumption, lots of heat • Large architecture, 32-bit, and recently 64-bit architecture • Large memory size, onboard flash and cache, with an external bus interface for greater memory usage • Lots of I/O and peripherals, though Microprocessors tend to be short on General purpose I/O 1
  • 2. Harvard Architecture Harvard Architecture refers to a memory structure where the processor is connected to two different memory banks via two sets of buses This is to provide the processor with two distinct data paths, one for instruction and one for data Through this scheme, the CPU can read both an instruction and data from the respective memory banks at the same time This inherent independence increases the throughput of the machine by enabling it to always prefetch the next instruction The cost of such a system is complexity in hardware Commonly used in DSPs Von-Neumann Machine A Von-Neumann Machine, in contrast to the Harvard Architecture provides one data path (bus) for both instruction and data As a result, the CPU can either be fetching an instruction from memory, or read/writing data to it Other than less complexity of hardware, it allows for using a single, sequential memory. Today’s processing speeds vastly outpace memory access times, and we employ a very fast but small amount of memory (cache) local to the processor Modern processors employ a Harvard Architecture to read from two instruction and data caches, when at the same time using a Von-Neumann Architecture to access external memory Little vs. Big Endian Although numbers are always displayed in the same way, they are not stored in the same way in memory Big-Endian machines store the most significant byte of data in the lowest memory address Little-Endian machines on the other hand, store the least significant byte of data in the lowest memory address A Big-Endian machine A Little-Endian machine stores 0x12345678 as: stores 0x12345678 as: ADD+0: 0x12 ADD+0: 0x78 ADD+1: 0x34 ADD+1: 0x56 ADD+2: 0x56 ADD+2: 0x34 ADD+3: 0x78 ADD+3: 0x12 2
  • 3. Little vs. Big Endian The Intel family of Microprocessors and processors from Digital Equipment Corporation use Little-Endian mode Whereas Architectures from Sun, IBM, and Motorola are Big-Endian Architectures such as PowerPC, MIPS, and Intel’s IA- 64 are Bi-Endian, supporting either mode Unfortunately both methods are in prevalent use today, and neither method is superior to the other Interfacing between Big and Little Endian machines can be a headache, but this is generally only a concern for TCP/IP stack and other interface developers Program Counter (PC) The Program Counter is a 16 or 32 bit register which contains the address of the next instruction to be executed The PC automatically increments to the next sequential memory location every time an instruction is fetched Branch, jump, and interrupt operations load the Program Counter with an address other than the next sequential location During reset, the PC is loaded from a pre-defined memory location to signify the starting address of the code Reset Vector The significance of the reset vector is that it points the processor to the memory address which contains the firmware’s first instruction Without the Reset Vector, the processor would not know where to begin execution Upon reset, the processor loads the Program Counter (PC) with the reset vector value from a pre-defined memory location On CPU08 architecture, this is at location $FFFE:$FFFF A common mistake which occurs during the debug phase – when reset vector is not necessary – the developer takes it for granted and doesn’t program into the final image. As a result, the processor doesn’t start up on the final product. 3
  • 4. Stack Pointer (SP) The Stack Pointer (SP), much like the reset vector, is required at boot time for many processors Some processors, in particular the 8-bit microcontrollers automatically provide the stack pointer by resetting it to a predefined value On a higher end processor, the stack pointer is usually read from a non-volatile memory location, much like the reset vector For example on a ColdFire microprocessor, the first sixteen bytes of memory location must be programmed as follows: 0x00000000: Reset Vector 0x00000008: Stack Pointer COP Watchdog Timer The Computer Operating Properly (COP) module is a component of modern processors which provides a mechanism to help software recover from runaway code The COP, also known as the Watchdog Timer, is a free- running counter that generates a reset if it runs up to a pre-defined value and overflows In order to prevent a watchdog reset, the user code must clear the COP counter periodically. COP can be disabled through register settings, and even though this is not good practice for final firmware release, it is a prudent strategy through the course of debug The Infinite Loop Embedded Systems, unlike a PC, never “exit” an application They idle through an Infinite Loop waiting for an event to happen in the form of an interrupt, or a pre-scheduled task In order to save power, some processors enter special sleep or wait modes instead of idling through an Infinite Loop, but they will come out of this mode upon either a timer or an External Interrupt 4
  • 5. Interrupts Interrupts are mostly hardware mechanisms which tell the program an event has occurred They happen at any time, and are therefore asynchronous to program flow They require special handling by the processor, and are ultimately handled by a corresponding Interrupt Service Routine (ISR) Need to be handled quickly. Take too much time servicing an interrupt, and you may miss another interrupt. Designing an Embedded System Proposal Definition Technology Selection Budgeting (Time, Human, Financial) Material and Development tool purchase Schematic Capture & PCB board design Firmware Development & Debug Hardware Manufacturing Testing: In-Situ, Environmental Certification: CE Firmware Release Documentation Ongoing Support System Design Cycle Writing code conjures up visions of sleepless nights and stacked up boxes of pizza And if not done correctly, that is exactly what the outcome will be! The purpose of the design cycle is to remind and guide the developer to step within a framework proven to keep you on track and on budget 5
  • 6. System Design Cycle There are numerous design cycle methodologies, of which the following are most popular • The Spaghetti Model • The Waterfall Model • Top-down versus Bottom-up • Spiral Model • GANTT charts The Spaghetti Model Not in this course, thank you. The Waterfall Model Waterfall is a software development model in which development is seen flowing steadily through the phases of • Requirement Analysis • Design • Implementation • Testing • Integration • Maintenance Advantages are good progress tracking due to clear milestones Disadvantages are its inflexibility, by making it difficult to respond to changing customer needs / market conditions 6
  • 7. Top-down versus Bottom-up The Top-Down Model analyses the overall functionality of a system, without going into details • Each successive iteration of this process then designs individual pieces of the system in greater detail The Bottom-Up Model in contrast defines the individual pieces of the system in great detail • These individual components are then interfaced together to form a larger system The Spiral Model Modern software design practices such as the Spiral Model employ both top-down and bottom-up techniques Widely used in the industry today For a GUI application, for example, the Spiral Model would contend that • You first start off with a rough-sketch of user interface (simple buttons & icons) • Make the underlying application work • Only then start adding features and in a final stage spruce up the buttons & icons The Spiral Model In this course, we won’t focus on the aesthetic qualities of the application - only the underlying technology 7
  • 8. GANTT Chart GANTT Chart is simply a type of bar chart which shows the interrelationships of how projects and schedules progress over time Design Metrics Metrics to consider in designing an Embedded System • Unit Cost: Can be a combination of cost to manufacture hardware + licensing fees • NRE Costs: Non Recurring Engineering costs • Size: The physical dimensions of the system • Power Consumption: Battery, power supply, wattage, current consumption, etc. • Performance: The throughput of the system, its response time, and computation power • Safety, fault-tolerance, field-upgradeability, ruggedness, maintenance, ease of use, ease of installation, etc. etc. Schematic Capture 8
  • 9. PCB Layout PCB Board Portions of this power point presentation may have been taken from relevant users and technical manuals. Original content Copyright © 2005 – Babak Kia 9