6 ECTS credits
150 h study time

Offer 1 with catalog number 4016991ENR for all students in the 2nd semester at a (E) Master - advanced level.

Semester
2nd semester
Enrollment based on exam contract
Impossible
Grading method
Grading (scale from 0 to 20)
Can retake in second session
Yes
Taught in
English
Partnership Agreement
Under interuniversity agreement for degree program
Faculty
Faculteit Ingenieurswetenschappen
Department
Electronics and Informatics
Educational team
Bruno Tiago da Silva Gomes (course titular)
Activities and contact hours
24 contact hours Lecture
12 contact hours Seminar, Exercises or Practicals
60 contact hours Independent or External Form of Study
Course Content

The course gives a broad view on the practical and technological aspects of embedded systems. This course covers modern software and systems engineering technology, methods and techniques for embedded systems. Students must have prior non-trivial programming experience, for example in C, C++ or other programming languages. The course's theoretical part (HOC) includes topics such as:

  • Embedded systems overview
    • Definition, characteristics and limitations
    • Design challenge – optimizing design metrics
    • Design technologies
    • Designer’s perspective
    • Requirements specification
    • Design
  • Formal models for system description
    • State Machine and Concurrent State Mode
    • Models vs. Languages
    • State Machine Model
    • Concurrent Process Model
    • Dataflow Model       
  • Processor technologies
    • Custom single-purpose processors
    • Custom single-purpose processor design
    • RT-level custom single-purpose processor design
    • General-Purpose Processors
    • Basic Architecture
    • ASIP
    • Standard Single Purpose Processors: Peripherals
      • Timers, counters, watchdog timers
      • PWM
      • A/D convertor
  • Memory
    • Memory Write Ability and Storage Permanence
    • Common Memory Types
    • Composing Memory
    • Memory Hierarchy and Cache
    • Advanced RAM
  • Power management
    • Static and dynamic power dissipation
    • Low-power operating modes
    • Optimizations for low-power consumption
    • Power management units
  • Communication
    • Interfacing     
    • Interfacing basics
    • Multilevel bus architectures
    • Microprocessor interfacing
    • Peripheral interfacing
    • Serial communication
      • UART
      • I2C
      • SPI
      • USB
    • Parallel communication
      • PCIe
      • AMBA BUS/AXI interface

 

 

  • Wireless communication
    • Wireless communication principles
    • ISO Layers
    • Wireless standards
      • Bluetooth/BLE
      • Zigbee/6LowPAN
      • Lora/Sigfox
    • Definition of edge/fog and cloud computing
  • Software for embedded systems
    • Debugging and testing
    • Verification: hardware/software co-simulation
    • Programmers’ view
    • Programming languages
      • C for embedded
      • Software development
    • Bare metal coding vs Operating Systems
  • Real-time operating systems
    • Real-time systems
    • Types of real-time systems
    • Task schedulers
    • Task periodicity
    • Definition of RTOS
    • Characteristics of RTOS
    • Advantages and limitations of RTOS
  • Advanced embedded systems
    • Characteristics and purposes
    • DSPs
    • FPGAs
    • System-on-Chip
    • SoC FPGAs
    • PSoC

The laboratory practical part (WPO) and the project (ZELF) support the theoretical part (HOC) course and they will target a concrete software platform and embedded device. Firstly, through a number of guided exercises, students learn the implementation aspects of some architectural constructions in an embedded system. Secondly, students are required to apply through a project the topics of analysis, architecture and design towards embedding a realistic application. Furthermore, the project has to be developed (programmed) and optimized. Special focus goes to architectural and multitasking design, which are very specific topics in embedded systems.

Course material
Digital course material (Required) : Slides of lecture and lecture notes available, http://emslab.vub.ac.be
Handbook (Recommended) : Embedded System Design, A Unified Hardware/Software Introduction, A Unified Hardware/Software Introduction, F. Vahid and T. Givargis, John Wiley & Sons, 9780471386780, 2002, 9780471386780, 2002
Handbook (Recommended) : Embedded System Design, S. Chattopadhyay, 2de, PHI Learning Pvt. Ltd., 2013., 9788120347304, 2013
Additional info

This course will be taught in English.

Learning Outcomes

Algemene competenties

Know background of and modern software engineering methods and techniques for embedded systems.  

Apply software engineering methods and techniques (analysis, architecture and design) for embedded systems.
Present an embedded project in a structured way and argue choices made. Apply software and system engineering methods and techniques for embedded systems including functional and non-functional requirements. 

This course contributes to the following programme outcomes of the Master in Applied Computer Sciences:

MA_A: Knowledge oriented competence

2. The Master in Engineering Sciences has in-depth knowledge and understanding of integrated structural design methods in the framework of a global design strategy
3. The Master in Engineering Sciences has in-depth knowledge and understanding of the advanced methods and theories to schematize and model complex problems or processes
4. The Master in Engineering Sciences can reformulate complex engineering problems in order to solve them (simplifying assumptions, reducing complexity)
5. The Master in Engineering Sciences can conceive, plan and execute a research project, based on an analysis of its objectives, existing knowledge and the relevant literature, with attention to innovation and valorization in industry and society
7. The Master in Engineering Sciences can present and defend results in a scientifically sound way, using contemporary communication tools, for a national as well as for an international professional or lay audience
8. The Master in Engineering Sciences can collaborate in a (multidisciplinary) team
10. The Master in Engineering Sciences can develop, plan, execute and manage engineering projects at the level of a starting professional
11.The Master in Engineering Sciences can think critically about and evaluate projects, systems and processes, particularly when based on incomplete, contradictory and/or redundant information

MA_B:  Attitude

13. The Master in Engineering Sciences has a critical attitude towards one’s own results and those of others
15. The Master in Engineering Sciences has the flexibility and adaptability to work in an international and/or intercultural context

MA_C:  Specific competence

17. The Master in Applied Computer Sciences has a thorough understanding of the underlying physical principles and the functioning of electronic and photonic devices, of sensors and actuators and is able to use them to conceive information processing systems and more specifically systems of systems
18. The Master in Applied Computer Sciences is able to design and use systems for efficient storage, access and distribution of digital information
20. The Master in Applied Computer Sciences is able to design (distributed) systems of systems and execute performance assessment of the designed product
21. The Master in Applied Computer Sciences has a thorough knowledge of programming concepts and can apply them in smart systems of systems
22. The Master in Applied Computer Sciences has a thorough knowledge of hardware platforms, operating systems, firmware and their impact on smart systems of systems
23. The Master in Applied Computer Sciences is aware of data privacy and security aspects
24. The Master in Applied Computer Sciences is able to manage complex multidisciplinary projects on systems of systems and, as a consequence, can take educated, well-researched decisions on the technologies involved
25. The Master in Applied Computer Sciences has a profound knowledge of modeling and simulation of systems of systems including consideration for maintainability, reliability and adaptability
26. The Master in Applied Computer Sciences can apply his/her acquired knowledge and skills for designing smart city or digital health dedicated systems of systems.

Grading

The final grade is composed based on the following categories:
Other Exam determines 100% of the final mark.

Within the Other Exam category, the following assignments need to be completed:

  • exam with a relative weight of 1 which comprises 100% of the final mark.

Additional info regarding evaluation

The exam itself is an execution of a project in a team context. Production of a technical report describing the work and findings. Oral defense of the theoretical part and presentation of the work performed including a defense.

Allowed unsatisfactory mark
The supplementary Teaching and Examination Regulations of your faculty stipulate whether an allowed unsatisfactory mark for this programme unit is permitted.

Academic context

This offer is part of the following study plans:
Master of Applied Sciences and Engineering: Applied Computer Science: Standaard traject (only offered in Dutch)
Master in Applied Sciences and Engineering: Applied Computer Science: Standaard traject