Minor Degree:Time-Triggered Reliable Systems Engineering
About Lesson

Course No.:2

Course (Category)

Code

Course Name

Teaching Scheme (Hrs/week)

Credits Assigned

L

T

P

O

E

L

T

P

Total

MDM2

Foundations of Time Triggered architectures 

3

0

2

3

8

3

0

1

4

Examination Scheme

Component

ISE (%)

MSE (%)

ESE (%)

Total

 

MDEC25

Theory

20

20

60

100

Laboratory

80

20

100

                             

 

Pre-requisite Course Codes, if any.

Programming ARM : The bare metal way

Course Objective: To develop the ability to create code that is safe and reliable by creating a simple scheduling mechanism

Course Outcomes (CO): At the end of the course students will be able to

MDEC25.1

Apply the idea of safe coding techniques in C programming language for designing mission critical applications

MDEC25.2

Determine that the written ‘C’ code is modular in nature using ideas similar to OOP’s concepts.

MDEC25.3

Understand the need for time triggered scheduling mechanisms by evaluating the need for such mechanisms

MDEC25.4

Create a simple embedded OS and apply this scheduler for designing systems

MDEC25.5

Understand how to make the code safe and reliable

MDEC25.6

Analyze and fix timing issues in embedded ‘C’ code

     

 CO-PO Correlation Matrix (3-Strong, 2-Moderate, 1-Weak Correlation)

 

PO1

PO2

PO3

PO4

PO5

PO6

PO7

PO8

PO9

PO10

PO11

PO12

MDEC25.1

2

 

3

 

 

3

 

 

 

 

 

 

MDEC25.2

3

 

 

 

3

 

 

 

 

 

 

 

MDEC25.3

3

3

 

3

 

 

 

 

 

 

 

 

MDEC25.4

2

 

3

 

 

 

3

 

 

 

 

 

MDEC25.5

3

 

 

 

 

3

 

 

 

 

 

 

MDEC25.6

2

2

 

3

 

 

 

 

 

 

 

 

 BLOOM’S Levels Targeted (Pl. Tick appropriate)

Remember

Understand√

Apply√

Analyze√

Evaluate√

Create√

 Theory Component

Module No.

Unit No.

Topics

Ref.

Hrs.

1

 

Title

Introduction and Overview of Embedded Systems

1

04

1.1

What is an embedded system?, Embedded Systems metrics,

Defining reliability and developing software for reliable embedded systems, Why use the C language for designing reliable systems,

The super-loop software architecture, Reading and writing to the PORT pins of the microcontroller, Reading and writing data to the PORTS, Changing or Reading a single PORT bit ,Reading and writing a byte to the PORT, Strengths and weaknesses of software delays

1.2

Case study: Central heating controller

2

Title

Hardware issues affecting reliability and CMSIS

1

06

2.1

What is an Oscillator? ,Crystal oscillator stability issues,

Improving oscillator stability to improve reliability ,Oscillator frequency and machine cycle period, What is CMSIS and some CMSIS functions related to clock and power saving, Driving DC loads and low power loads

2.2

Switch interface (Reliably reading a switch)

Case study : Code for counting goats on a milking station with a switch sensor

3

Title

Adding structure to your code and Real-time behavior

1

06

3.1

Object Oriented programming with C, Creating file based classes in C without imposing significant memory or  CPU load, Example code of O-O-C with project header, Common datatypes and creating user aliases, The purpose of the project header, The purpose of the PORT header, Creating  the first structured C code, Restructuring the Goat counting example, The meaning of public, private, static, extern  keywords and their implications on reliability of code.

3.2

Meeting real-time Constraints                                                           Software requirements while designing an embedded application for an automobile .What are real-time constraints? Implications of real-time systems. Understanding problems associated with the while statement when handling real-time systems. Creating hardware delays. Generating a precise 50ms delay. Creating a portable hardware delay. What is a timeout? The need for timeout. Creating loop timeouts. Testing loop timeouts. Analyzing loop timeouts in the performance analyzer. Using the timeout to make reliable switch interface. Creating hardware timeouts

4

Title

Creating and using a simple Embedded Operating System

1

10

4.1

Hard real time systems, The need for accurate timing, Understanding tasks, Communication between tasks, What are event triggered and time triggered interrupts, Comparison of the event triggered and time triggered system, How do we implement a time triggered design, SysTick timer based interrupt at the core of the OS. Using the SysTick interrupt routine, Introducing the simple embedded OS, Setting the tick interval, Saving power using software, Scalability of the simple embedded OS, Characterization of the simple embedded OS

4.2

Case study: Implementing animatronic dinosaur

5

Title

RS232

1

12

5.1

Asynchronous data transmission and baud rates, Software architecture ,Why not to use printf, Strengths and weaknesses, Designing a software real-time clock using the simple embedded OS and sending data to terminal using the serial port

5.2

Case study: Intruder Alarm system

6

Title

Watchdog timer

1

04

6.1

What is a watchdog timer, Using a watchdog timer to make a system safe

7

Self-Study

Material in the Online resources has to be read as told by the instructor for understanding the implementation details of the peripherals.

Online resource-1 and 2

*42

Total(Does not include*)

42

Laboratory Component. 

Sr. No.

Title of the Experiment

1

Hello world

2

Switch debounce

3

Switch press count

4

Reliable switch test

5

Loop timeout

6

Software PWM

7

Software PWM multiple duty cycle

8

SysTick implementation

9

Timer delay

10

Traffic lights

11

Watchdog

12

Real time clock with RS232

13

There are two coding exercises here related to port programming

14

An early prototype of a control system for lowering an aircraft undercarriage

 Text Books 

Sr. No

Title

Edition

Authors

Publisher

Year

1

Embedded C

1st

Michael J. Pont

Pearson education

2007

 Reference Books 

Sr. No.

Title

Edition

Author

Publisher

Year

1

The C programming Language

2nd

Dennis Ritchie and Brian Kernighan

Pearson education

2015

Online Resource:

        1.    https://developer.arm.com/documentation/dui0552/a/preface/about-this-book

  1. https://www.st.com/resource/en/reference_manual/cd00171190-stm32f101xx-stm32f102xx-stm32f103xx-stm32f105xx-and-stm32f107xx-advanced-arm-based-32-bit-mcus-stmicroelectronics.pdf
  2. https://www.keil.arm.com/cmsis

You cannot copy content of this page