0% found this document useful (0 votes)
32 views19 pages

CO3053 - Lecture 3 - Embedded Systems Development Process

Uploaded by

vi.dao03
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views19 pages

CO3053 - Lecture 3 - Embedded Systems Development Process

Uploaded by

vi.dao03
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

CO3053 – Embedded Systems

3. Embedded System
Development Process
CO3053 – Lecture Notes 2

Learning Outcome
§ Students are expected to be able to …
Describe each step in the process
Sort the steps in the process in correct order

[email protected]
CO3053 – Lecture Notes 3

Embedded System Design – Challenges


§ Increasing application complexity
Large systems with legacy functions
Flexibility requirements
Examples: multimedia, automotive, mobile communication

§ Increasing target system complexity


Mixture of different technologies, processor types, and design styles
Large systems-on-a-chip combining components from different sources (IP market)

§ Numerous constraints and design objectives


Examples: cost, power consumption, timing constraints, dependability

§ Reduced and overlapping design cycles


[email protected]
CO3053 – Lecture Notes 4

Embedded System Requirements


§ Reactive systems
The system never stops.
The system responds to signals produced
by the environment.

§ Real-time systems
Timing constraints on task execution.
Hard and soft constraints.

[email protected]
CO3053 – Lecture Notes 5

Embedded System Development Process

[email protected]
CO3053 – Lecture Notes 6

Requirements Gathering
§ Understand the problem statement and scope definition.

§ Identify Functional and nonfunctional requirements


Multimode or multifunctional system
Size, cost, weight, etc.

§ Determine deployment parameters


Application domain and operational environment
Legal and regulatory requirements

[email protected]
CO3053 – Lecture Notes 7

Requirements Analysis
§ Identify the variables in performance, hardware, firmware, software, …

§ Estimate cost, complexity

§ Determine tradeoff

[email protected]
CO3053 – Lecture Notes 8

System Design
§ System architecture
Block diagram

§ Hardware-software partitioning

§ Hardware and software selection


Hardware platform
Programming language
Operating system
Development tools

§ Prototyping and testing strategy


[email protected]
CO3053 – Lecture Notes 9

Data Owner
Data Owner
Off-chain Storage
Off-chain
Storage 1 FireBase

4
Eth-Crypto
Blockchain
8
Web3.js Ethereum
5 Raspberry Pi3
Smart
IoT Gateway 3 Contract Prototyping Nodejs Express
Smart
Contract
IoT Gateway

5 Johnny-Five
7 6 2
Ethereumjs-wallet
Ethereumjs-util
Arduino Nano, Web3.js
IoT end-devices
Eth-Crypto
DHT11 Sensor

Data Consumer
IoT end-devices

Data Exchange
Data Consumer
Data Collection

[email protected]
CO3053 – Lecture Notes 10

System Implementation
§ Hardware Implementation (if needed) & Coding

§ Cross-platform development
Usually, the ES is not strong enough ➠ need another platform to build application (usually use
PC), and the application/OS is executed on ES.
Cross: developed on one platform, run on another platform

§ Cross-compiler: the compiler run on one platform (PC), and it produce


executable file to run on another platform (ES)

§ Porting: reproduce an application/OS which is developed for a platform to run


on another platform
Ex: We want to reproduce a Linux distribution to run on our ARM platform
[email protected]
CO3053 – Lecture Notes 11

Testing
§ Unit & Integration testing

§ Verify the Software on the Host System


Compile and assemble the source code into object file
Use a simulator to simulate the working of the system

§ Verify the Software on the Target System


Download the program using a programmer device
Use an Emulator or on chip debugging tools to verify the software

[email protected]
CO3053 – Lecture Notes 12

Integration & Optimization


§ System integration
Involve the actual integration of the hardware and software modules to
produce the full working system.

§ System optimization (if required)


Optimize trade-off parameters such as cost or performance.

[email protected]
CO3053 – Lecture Notes 13

Deployment and Maintenance

[email protected]
CO3053 – Lecture Notes 14

Example: Engine Control Unit (ECU)


§ Task: control the torque produced by the engine by the timing fuel
injection and spark.
Control Injection Time

§ Major constraints
Low fuel consumption
Low exhaust emission

[email protected]
CO3053 – Lecture Notes 15

ECU Control Injection Time – Analysis


§ 3 Sub Tasks
Compute air flow
Compute injection time
Control actuators (torque)

Air Flow Compute injection Injection


Compute air flow Time
Control actuators
time

§ Engine speed § Engine temperature Control


§ Air temperature § Look-up table Signal
§ Air pressure
[email protected]
CO3053 – Lecture Notes 16

ECU – Design Option #1


§ Use a single CPU to
Process input data
Compute outputs
Control actuators

Analog A/D
inputs Actuations

32 bit CPU
Digital
inputs

May not meet timing requirements


[email protected]
CO3053 – Lecture Notes 17

ECU – Design Option #2


§ Combine CPU and FPGA
Use CPU to
– Process input data
– Compute outputs
Use FPGA to control actuators

Analog A/D
inputs Actuators
16 bit CPU FPGA

Digital
inputs

[email protected]
CO3053 – Lecture Notes 18

ECU – Design Option #3


§ Combine DSP, CPU, FPGA
§ Use DSP to process input data
§ Use CPU to computes outputs
§ Use FPGA to control actuators

Analog
inputs A/D DSP
Actuators

Digital
8 bit CPU FPGA

inputs

[email protected]
CO3053 – Lecture Notes 19

Question and Discussion

[email protected]

You might also like